Alexa Conversations is the latest tool kit out of Amazon’s bandwagon. They have put forth this tool to make the life of an Alexa skill developer easier. They say, with the use of Alexa Conversations, skill building can be automated to a great extent and user experiences can be made more natural while boosting skill discovery.
Amazon claims that it is a tool for building Alexa skills with
“less effort, fewer lines of code, and less training data than before.”
Within the Alexa Skills Kit, Alexa Conversations is one module, or one tool chain, that lets you automatically induct the dialog flow instead of hard coding it, there is a new capability to estimate the dialog flow automatically rather than a developer writing all possible structures.
Improving Alexa Skill Discovery
Skills using Alexa Conversations will also be eligible for new types of organic discovery. When a user makes general requests about a task, skills built using Alexa Conversations may be automatically invoked for fulfillment, without the user needing to know the skill name or even that it exists.
New features coming from Alexa Conversations represent an exciting new development for both developers and end users. This could help improve discoverability and usability while decreasing development work for third-party skill developers.
Dramatic Code Base Reduction
Using Alexa Conversations becomes an entirely different experience for developers because the AI automatically defines much of the dialog flow required to execute a task along with many of the common utterances. Developers usually are not required to define those elements when using Alexa Conversations.
A flow diagram that usually the Alexa skill developers had to create had multiple steps, while in the Alexa Conversations version it is reduced by three times because with conversations, Alexa gathers information from the user about their preferences in advance of passing the experience along to the skill for fulfillment.
Steven Arkonovich, an independent developer with the most popular third-party Alexa skill for weather queries, Big Sky, echoes a strong sentiment for the change. To Arkonovich, it appears Alexa Conversations could eventually shift skill development from an imperative approach, where all the details of the user experience are defined by the developer to a declarative model where the logic is defined, but not all of the control flow.
Pragmatic Voice feels that Alexa Conversations is very promising and, depending on the details of implementation, could alleviate several major problems such as context, discovery, and invocation names. Some aspects of ‘conversation’ won’t require any input at all in fact from the developer other than the logic, likely.
For example, which other skills your skill might be connected to—Alexa will decide what overall plan you [as a user] might be trying to implement with when you make, say, a weather request.
Alexa Conversations marks the start of a new era of what it means to build for Alexa. It feels like the current paradigm of interaction model design will soon feel very quaint.
Who’d Control the User Experience?
Some Alexa developers feel that handing much of the dialog flow and sample utterance creation over to Alexa’s AI may save time, but also could result in less control over the user experience.
There will be aspects of skill experience that developers may not be able to predict. In addition, it raises questions about how to develop test scripts if some of the functional performance of a skill is not known by the developer.
These concerns can be addressed with tools that will be provided to developers. Developers can always add more control. Existing things like adding logic that overwrite the models will be brought in. This is why Amazon is going into preview so they can learn what level of flexibility developers want at their end or what kind of controls they want.
Who will use Alexa Conversations and When?
It is noteworthy that the feature benefits behind Alexa Conversations will not apply equally to all skill types.
In certain scenarios, like very structured games where you want complete determinism, where you want certain actions to always happen in a certain order, you may not use this. We think anything which has a lot of different steps in completing an action—there are many of these skills like Expedia, they built a massive skill with so many different examples and many different hand codings. Those are the right ones to immediately get on and the other end of the spectrum is very directed games and that we think may want to not have ambiguity of any sort.
Whether you consider this a significant shift in Alexa skill development or simply a way to reduce the lines of code required to achieve a result, Alexa Conversations as a development model will not be common anytime soon. Developers that are interested in using Alexa Conversations may apply to use the tools during a preview period.
It will likely be some time before Amazon has enough developer feedback, production data, and new tools to support the model for Alexa Conversations to become generally available. If successful, however, it will likely usher in the most significant change in Alexa skill development since the introduction of Alexa Skills Kit in 2015.
Example of Build Natural Dialogs Faster, Easier, and with Less Training Data
Alexa Conversations helps you quickly create interactions that are more conversational, and not forced into strict patterns or sequential workflows. In the past, developers scripted every potential turn, built an interaction model, managed dialog rules, wrote back-end business logic, and analyzed logs to test and iterate. No more of that routine.
Now, you provide dialog samples and Alexa Conversations predictively models the dialog path using a deep, recurrent neural network. At runtime this neural network takes the entire session’s dialog history into account and predicts the optimal next action or step in the dialog, improving accuracy and reducing your design and code efforts.
It is trained to interpret dialog context in order to handle multiple user workflows, accommodate natural user input (like out-of-sequence information or corrections), address common business transaction errors, and proactively recommend additional API functionality. The Atom Tickets skill built with Alexa Conversations shrank almost 70%, to just 1,700 lines of code, and needed only 13 customer dialog samples.
In summation, Alexa Conversations is a new deep learning-based approach that developers can use for creating natural voice experiences on Alexa with less effort, fewer lines of code, and less training data than before. This new model helps developers create natural, flexible dialogs within a single skill and in the upcoming releases brings multiple skills into a single conversation.
Alexa Conversations combines an AI-driven dialog manager with an advanced dialog simulation engine that automatically generates synthetic training data. You provide API(s), annotated sample dialogs that include the prompts that you want Alexa to say to the customer, and the actions you expect the customer to take. Alexa Conversations uses this information to generate dialog flows and variations, learning the large number of paths that the dialogs could take.
We have been trying to get our feet wet in getting our Alexa Skill developers to get going with using Alexa Conversations to develop our GuestVoice Hotel Concierge App. Incase you are a voice app company and want to experiment creating a skill with Alexa Conversations, you can get in touch with us at firstname.lastname@example.org