Machine Learning | Amazon Lex Flashcards
What is Amazon Lex?
General
Amazon Lex | Machine Learning
Amazon Lex is a service for building conversational interfaces using voice and text. Powered by the same conversational engine as Alexa, Amazon Lex provides high quality speech recognition and language understanding capabilities, enabling addition of sophisticated, natural language ‘chatbots’ to new and existing applications. Amazon Lex reduces multi-platform development effort, allowing you to easily publish your speech or text chatbots to mobile devices and multiple chat services, like Facebook Messenger, Slack, Kik, or Twilio SMS. Native interoperability with AWS Lambda, AWS MobileHub and Amazon CloudWatch and easy integration with many other services on the AWS platform including Amazon Cognito, and Amazon DynamoDB makes bot development effortless.
How can I get started with Amazon Lex?
General
Amazon Lex | Machine Learning
To start using Amazon Lex, simply sign into the AWS Management Console and navigate to “Lex” under the “Artificial Intelligence” category. You must have an Amazon Web Services account to start using Amazon Lex. If you do not already have one, you will be prompted to create one during the sign-up process. Please refer to the Amazon Lex Getting Started Guide for more information.
What are the most common use cases for Amazon Lex?
General
Amazon Lex | Machine Learning
The most common use-cases include:
- Informational bot – build an automated customer support agent or bot that answers questions
- Application/Transactional bot – build a stand-alone pizza ordering agent or a travel bot
- Enterprise Productivity bot – build custom bots to connect to enterprise data resources
- Device Control bot– use Amazon Lex to issue control commands to connected devices
How does Amazon Lex work with other AWS services?
General
Amazon Lex | Machine Learning
Amazon Lex leverages AWS Lambda for Intent fulfillment, Amazon Cognito for user authentication, and Amazon Polly for text to speech. In addition, AWS Mobile Hub can be used to automatically provision bots from a template.
Do I have to be a machine learning expert to use Amazon Lex?
General
Amazon Lex | Machine Learning
No machine learning expertise is necessary to use Amazon Lex. Developers can declaratively specify the conversation flow and Amazon Lex will take care of the speech recognition and natural language understanding functionality. Developers provide some sample utterances in plain English and the different parameters (slots) that they would like to collect from their user with the corresponding prompts. The language model gets built automatically.
In which AWS regions is Amazon Lex available?
General
Amazon Lex | Machine Learning
For a list of the supported Amazon Lex AWS regions, please visit the AWS Region Table for all AWS global infrastructure. Also for more information, see Regions and Endpoints in the AWS General Reference.
What is the maximum bandwidth supported on Amazon Lex?
General
Amazon Lex | Machine Learning
Amazon Lex scales to your needs and does not impose bandwidth constraints.
Is Amazon Lex a managed service?
General
Amazon Lex | Machine Learning
Amazon Lex is a completely managed service so you don’t have to manage scaling of resources or maintenance of code. Your interaction schema and language models are automatically backed up. We also provide comprehensive versioning capability for easy rollback. Amazon Lex architecture does not require storage or backups of end user data.
When do I use Amazon Polly vs. Amazon Lex?
General
Amazon Lex | Machine Learning
Amazon Polly converts text inputs to speech. Amazon Lex is a service for building conversational interfaces using voice and text.
Does Amazon Lex get more intelligent over time?
General
Amazon Lex | Machine Learning
Yes. Amazon Lex uses deep learning to improve over time.
I was in the Amazon Lex preview program. Now that Amazon Lex is GA, what happens to my account?
Bot Structure
Amazon Lex | Machine Learning
On April 19, 2017, Amazon Web Services announced that Amazon Lex exited Preview and entered General Availability. As such, we will be terminating the Amazon Lex Preview Program on May 1, 2017. Usage will be charged as per the pricing plan starting May 1st. Your first 12 months for the free tier will start on May 1st. Please note that Amazon Lex is now supported under Developer Support, Business Support and Enterprise Support plans. You can also post your queries on the public Amazon Lex forums.
How do I create a bot in Amazon Lex?
Bot Structure
Amazon Lex | Machine Learning
To create a bot, you will first define the actions performed by the bot. These actions are the intents that need to be fulfilled by the bot. For each intent, you will add sample utterances and slots. Utterances are phrases that invoke the intent. Slots are input data required to fulfill the intent. Lastly, you will provide the business logic necessary to execute the action. An Amazon Lex bot can be created both via Console and REST APIs.
Can I implement business logic on the client?
Bot Structure
Amazon Lex | Machine Learning
Yes. Amazon Lex provides the option of returning parsed intent and slots back to the client for business logic implementation.
How can I validate user input?
Bot Structure
Amazon Lex | Machine Learning
Amazon Lex provides deep integration with AWS Lambda and you can validate user input using the initialization and validation codeHook. This code gets executed at every turn of the conversation. The codehook can be used to set up session parameters, validate user input and customize responses.
What is an Intent?
Bot Structure
Amazon Lex | Machine Learning
To build an Amazon Lex bot, you will need to identify a set of actions - known as ‘intents’ – that you want your bot to fulfill. A bot can have multiple intents. For example, a ‘BookTickets’ bot can have intents to make reservations, cancel reservations and review reservations.
What is an utterance?
Bot Structure
Amazon Lex | Machine Learning
An ‘utterance’ is the spoken or typed phrase to invoke an intent. For example, to invoke the intent to make reservations, you would provide a sample utterance such as, “Can I make a reservation?”
What are slots?
Bot Structure
Amazon Lex | Machine Learning
To fulfill an intent, the Amazon Lex bot needs information from the user. This information is captured in ‘slots’. For example, you would define show name and time as slots for intent to make reservations.
What are prompts?
Bot Structure
Amazon Lex | Machine Learning
Amazon Lex elicits the defined ‘slots’ by using the ‘prompts’ provided. For example, to elicit value for the slot ‘time’ you will define a prompt such as “What show time would you like to reserve?”. Amazon Lex is capable of eliciting multiple slot values via a multi-turn conversation.
How is an action fulfilled?
Bot Structure
Amazon Lex | Machine Learning
Amazon Lex integrates with AWS Lambda for ‘fulfillment’ of the action or business logic. Alternately, you can configure Amazon Lex to return parsed intent and slot values to the client for action fulfillment.
How do I monitor and track my bot?
Build and Test
Amazon Lex | Machine Learning
You can track metrics for your bot on the ‘Monitoring’ dashboard in the Amazon Lex Console. Currently, you can track the number of missed utterances, request latency and traffic by channel for your bot. You can view list of utterances that were not recognized by your bot, aka ‘missed utterances’. With these monitoring capabilities, you view how your users are interacting with the bot and make improvements over time.
What happens when I ‘build’ a bot?
Build and Test
Amazon Lex | Machine Learning
Building a bot triggers machine learning and creates the models for your bot. A new version of your intents and slot types is created. Once created a version is immutable.