Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Alexa Adds Conversations and Deep-Linking Based Control for Mobile Apps

Alexa Adds Conversations and Deep-Linking Based Control for Mobile Apps

This item in japanese

Alexa Conversations, recently launched in beta, aim to enable the creation of custom skills with fewer code thanks to a new AI-based approach. Alongside Alexa Conversations, Amazon has also announced Alexa for Apps, which allows Alexa users to interact with their mobile phones using Alexa.

Alexa Conversations is a new AI-driven approach to dialog management that enables you to create skills that customers can interact with in a natural, less constrained way - using the phrases they prefer, in the order they prefer – while freeing you to focus on the highest value parts of your experience.

With some simplification, the main issue that Alexa Conversations try to solve is the combinatorial explosion of conversation states and code required to manage all possible dialog paths in a natural conversation. To feel natural, skills should allow users to provide multiple answers in one utterance, to correct or override part of their inputs seamlessly, to handle changes of contexts back and forth, and so on.

Alexa Conversations, says Amazon, are able to extrapolate the full range of dialog paths and phrasing variations from a few developers-provided samples. This is accomplished through the use of AI-based techniques that also take care of context variations and state management. Using the sample dialogs, Alexa Conversations generate tens of thousands of dialogs, according to Amazon, including happy paths, phrasing variations, and uncommon alternatives. This large dataset is used then to train a variety of deep-learning neural networks, including deep transformer based encoders, recurrent neural networks, and attention-based pointer networks.

The trained model can predict the next steps in the dialog based on the entire conversation’s history, the current state, and the capabilities of the developer’s APIs. It can take action to drive the conversation forward, such as confirming inputs, eliciting missing information, retrieving information through an API call through your skill, or gracefully following the customer’s direction.

Defining a skill with Alexa Conversations requires developers to write dialogs, then organizing possible user utterances into sets, and finally define responses. At first glance, utterance sets are what is specifically new for Conversations, enabling to classify utterances into four distinct categories: affirm, deny, inform args, and invoke APIs. This information is part of what makes Conversations able to handle all different paths a real conversation might take.

As mentioned, Alexa for Apps is a new feature that Amazon is bringing to its Alexa ecosystem to enable voice-based interaction with mobile apps. This new feature leverages deep-linking and can be thus used to control any existing mobile app supporting deep-links.

According to Amazon, typical use cases include using voice to launch a search, accessing additional information, or controlling an app. For example, users could ask the Alexa Twitter skill to provide a list of trending topics, then ask it to launch Twitter on their mobile phones and search for a given hashtag. Similarly, users could book a ride with Uber using their Alexa skill, then could ask it to show the driver's location on a map on their phone.

While still in beta, Alexa Conversations are available to all Alexa developers through their Alexa developer console. Alexa Conersations can be added to already existing apps. Alexa for Apps instead is still in preview stage, and interested developers can request early access.

Rate this Article