Stock Assistant Voice Interface Design
Voice search and conversation capabilities for a Fortune 50 bank client.* *name of client omitted due to non-disclosure agreement
Role: Wireframe a conversational framework with multiple utterances based on market and user insights, and collaborate decision tree solutions with the development team. The duration of the project was 8 weeks.
Client Goal
With the growth of voice interfaces within home and vehicle environments, a Fortune 50 bank client needed to engage with their users outside the desktop and mobile environment.
Our client had a partnership with a luxury vehicle brand that has integrated voice capabilities. This provided a unique challenge researching different use cases with many factors for safety.
The User Problem
I am consistently on the go and spend a lot of time in the car between client visits, I need to keep myself updated without distractions in order to develop my market strategy.
How to verbally display stock information with users who primarily engage by visual imagery and text.
Solution Overview
Our team's developed a series of Amazon Echo and Google Home prototypes that was presented to our Fortune 50 client. Product in development for release in 2019-2020.
Building the Framework
Based on the team’s market and user research insights, I developed an outline of user expectations and scenarios while they interact with a voice interface product.
Where is the user located?In their home (kitchen, office, living room, bedroom), In their car (driver, passenger)
Location of user will determine likelihood of level of awareness, mood, and surrounding activity.
What do they want to know?Stock Prices, Opening/Closing Price, High/Low Price
Will they have more than one query?Additional info on stock, Requesting another stock
Will they need to repeat their request?User may not retain information on first request.
Will the user be understood?User may request something that is unfamiliar or out of scope.
What happens during a period of silence?Remind the user or close the interaction.
Duration of silence should determine whether the user is deliberating to answer or they are ending interaction.
Prototyping the Conversation
I assembled snippets of potential interactions with variations in input and duration. With the account manager, we determined the stock information terminology and natural language. Key words are categorized by intents (intentions of the end-user) and entities (subcategory that specifies intent) that are to be trained. Intents in this case include greeting, closing, and types of stock prices. Entities are company names that will have stock information related to the intents.
Simple Interactions
User seeks one stock price: User: “What is the stock price for Amazon?” StockAssistant: “The stock price for Amazon is $1538.88 up by $103.44 or 6.56% as of 2:00pm today.” (end of interaction)
User seeks multiple stock prices: User: “What is the stock price for Amazon?” StockAssistant: “The stock price for Amazon is $1538.88 up by $103.44 or 6.56% as of 2:00pm today.” User: “What is the stock price for Netflix?” StockAssistant: “The stock price for Netflix is $310.23 down by $7.23 or 2.37% as of 2:00pm today.” StockAssistant: “Would you like another stock price?” User: “No thank you.” Or (no response) (end of interaction)
Complex Interactions
User requests name that has multiple results: User: “What is the stock price for American National?” StockAssistant: “Are you looking for American National Bankshares Inc or American National Insurance Company?” User: “American National Insurance Company.” StockAssistant: “The stock price for American National Insurance Company is $29.86 up by $0.34 or 1.15% as of 2:00pm today.” (end of interaction)
VUI does not understand the user’s request or request is incomplete: User: “What is the stock price for Amerefjiasifas?” StockAssistant: “I’m sorry, I could not understand that, could you repeat your request?” User: “What is the stock price is for American National Insurance Company.” StockAssistant: “The stock price for American National Insurance Company is $29.86 up by $0.34 or 1.15% as of 2:00pm today.” (end of interaction)
Clarifying what the user may have requested, but user meant a different stock: User: “What is the stock price for Amerefjiasifas?” StockAssistant: “Are you looking for American National Bankshares Inc or American National Insurance Company?” User: “No, Amazon.” StockAssistant: “The stock price for Amazon is $1538.88 up by $103.44 or 6.56% as of 2:00pm today.” (end of interaction)
Additional information from same stock: User: "What is the stock price of Google?" StockAssistant: “The stock price for Google is $1538.88 up by $103.44 or 6.56% as of 2:00pm today.” User: "What was the opening price?" StockAssistant: "Today's opening price for Google was $1932.29." User: "What was the high price?" StockAssistant: "Today's high price for Google is $1972.38." (end of interaction)
User Testing Discovery: Our user testing method for this round was a combination of "Wizard of Oz" and scripted dialog. I noticed in our tester's speech, there were natural pauses, moments to think about what to request or respond, and use of slang/abbreviated terminology. Users also wanted to be able to retain the information given, and asked our "bot" to repeat their response.
Utterances
Users may mean one thing, but might use another term or phrase to reach the same goal. Along with each interaction, I tested synonyms, pronouns, and other prepositions that should trigger the same response. The development requires a vast amount of utterance data in order to train the system and cater to a variety of user speech. Intonation of human speech is also in consideration as user requests can be question or a statement.
User Initiates Conversation with Specific Request What is the latest stock information on {company}? What's the latest stock info on {company}? What is the stock price of {company}? Tell me the stock price of {company}. How is {company} doing today? Give me a quote for {company}. And how about {company}. Can you give me a quote for {company}? Quote for {company}. How about {company}?
Decision Tree
I pulled sample conversations into the team decision tree model to collaborate with the development team. Each branch connects potential scenarios, considers errors, and by case redirects to help the user navigate their request.
Notable Branches
- Requesting a stock price
- Requesting additional information of same stock
- Requesting another stock price
- Asking for help
- Error redirection