Amazon Lex is a service for building conversational interfaces into any application using voice and text. Lex provides the advanced deep learning functionalities of automatic speech recognition (ASR) for converting speech to text, and natural language understanding (NLU) to recognize the intent of the text, to enable you to build applications with highly engaging user experiences and lifelike conversational interactions. With Amazon Lex, the same deep learning technologies that power Amazon Alexa are now available to any developer, enabling you to quickly and easily build sophisticated, natural language, conversational bots (“chatbots”).
Speech recognition and natural language understanding are some of the most challenging problems to solve in computer science, requiring sophisticated deep learning algorithms to be trained on massive amounts of data and infrastructure. Amazon Lex democratizes these deep learning technologies by putting the power of Alexa within reach of all developers. Harnessing these technologies, Lex enables you to define entirely new categories of products made possible through conversational interfaces.
As a fully managed service, Lex scales automatically, so you don’t need to worry about managing infrastructure. With Amazon Lex, you pay only for what you use. There are no upfront commitments or minimum fees.
Amazon Lex is now Generally Available
Try Amazon LexYou can try Amazon Lex for free.
From the date you get started with Amazon Lex, you can process up to 10,000 text requests and 5,000 speech requests per month for free for the first year.
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.
![Diagrams_lex_bookhotel Diagrams_lex_bookhotel](http://web.archive.org./web/20170420134509im_/https://d0.awsstatic.com/diagrams/product-page-diagrams/Diagrams_lex_bookhotel.png)
Amazon Lex provides automatic speech recognition and natural language understanding technologies to create a Speech Language Understanding system. 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.
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 also includes built-in connectors for popular SaaS applications like Salesforce, Microsoft Dynamics, Marketo, Zendesk, QuickBooks and Hubspot.
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 is also integrated into AWS Mobile Hub, so you can quickly build your own mobile app to access your Amazon Lex chatbot.
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.