How it works
Powered by the same technology as Alexa, Amazon Lex provides you with the tools to tackle challenging deep learning problems, such as speech recognition and language understanding, through an easy-to-use fully managed service. Amazon Lex integrates with AWS Lambda which you can use to easily trigger functions for execution of your back-end business logic for data retrieval and updates. Once built, your bot can be deployed directly to chat platforms, mobile clients, and IoT devices. You can also use the reports provided to track metrics for your bot. Amazon Lex provides a scalable, secure, easy to use, end-to-end solution to build, publish and monitor your bots.
Amazon Lex provides automatic speech recognition and natural language understanding technologies to create a Speech Language Understanding system. Amazon Lex uses the same proven technology that powers Alexa. Amazon Lex is able to learn the many different ways someone could express their intent based on the sample utterances provided by the developer. The speech language understanding system takes natural language speech and text input, understands the intent behind the input, and fulfills the user intent by invoking the appropriate response.
Amazon Lex bots provide the ability for multi-turn conversations. Once an intent has been identified, users will be prompted for information that is required for the intent to be fulfilled (for example, if “Book hotel” is the intent, the user is prompted for the location, check-in date, number of nights, etc.). Amazon Lex gives you an easy way to build multi-turn conversations for your chatbots. You simply list the slots/parameters you want to collect from your bot users, as well as the corresponding prompts, and Amazon Lex takes care of orchestrating the dialogue by prompting for the appropriate slot.
As the conversation develops, being able to classify utterances requires managing context across multi-turn conversations. Amazon Lex supports context management natively, so you can manage the context directly without the need for custom code. As initial prerequisite intents are filled, you can create “contexts” to invoke related intents. This simplifies bot design, and expedites the creation of conversational experiences.
Amazon Lex provides two types of prompts: confirmation prompts that enable you to confirm an action before fulfilling it; and error-handling prompts, that request the user to repeat input for additional clarity. Confirmation prompts allow you to confirm the intent of the user before executing back-end business logic (for example, "Would you like to confirm your reservation now?"). Error-handling prompts address scenarios where the user input is not understood, allowing for a graceful handling of error scenarios. For example, if a user’s speech input is not clear or audible, or doesn’t map to a known intent, you can configure Amazon Lex to prompt the user to repeat information, for example, “Sorry I didn’t get that.” or “Can you please repeat that?”. You can set the number of retries and also specify the goodbye message before your app stops prompting the user.
Amazon Lex natively supports integration with AWS Lambda for data retrieval, updates, and business logic execution. The serverless compute capacity allows effortless execution of business logic at scale while you focus on developing bots. From Lambda, you can access various AWS services, such as Amazon DynamoDB for persisting conversation state and Amazon SNS for notifying end users.
You can also use AWS Lambda to easily integrate with your existing enterprise applications and databases. You just write your integration code and AWS Lambda automatically runs your code when needed to send or retrieve data from any external system.
Amazon Lex allows you to easily publish your bot to chat services directly from the Amazon Lex console, reducing multi-platform development efforts. Rich formatting capabilities provide an intuitive user experience tailored to chat platforms like Facebook Messenger, Slack, and Twilio SMS.
Amazon Lex lets you apply versioning to Intents, Slot Types, and Bots that you create. Versioning enables you to easily maintain code as you test and deploy in a multi-developer environment, including implementation of rollback mechanisms. You can create multiple aliases for each Amazon Lex bot and associate different versions to each - for example, “production”, “development” and “test”. This enables you to continue to make improvements and changes to the bot and release new versions to associate them with the same alias, rather than making changes to all clients whenever a new version of the bot is deployed. Versioning and alias support together allow you to easily build and manage a bot through its lifecycle.
An intent performs an action in response to natural language user input. Amazon Lex can transfer control dynamically from one intent to another based on end user input. This enables you to simplify complex conversations by breaking them into smaller components. For example, in a travel bot, after a user has booked a flight, you can build your bot to subsequently ask if the user also wants to make a hotel or a car reservation. The user response could then result in either making additional reservations, or decline any additional bookings. Amazon Lex will handle the flow accordingly.
The Amazon Lex speech recognition engine has been trained on telephony audio (8 kHz sampling rate), providing increased speech recognition accuracy for telephony use-cases. When building a conversational bot with Amazon Lex, the 8 kHz support allows for higher fidelity with telephone speech interactions, such as through a contact center application or helpdesk. Amazon Lex is natively integrated with Amazon Connect, enabling developers to build voice based conversational bots that can handle customer queries over the phone. You can integrate Amazon Lex into any call center application using the APIs.