Make a robot talk to you
Amazon Lex is used by developers to make chatbot programs that hold natural voice conversational interactions.
Lex uses the back-end services used by Amazon’s Alexa Echo and its natural language understanding running Amazon Lamba (serverless) programs.
The marketing page for Lex is at:
Hira Niranjan, Lex Product Manager shows this diagram in Introducing Amazon Lex: Service for Building Voice/Text Chatbots [20:20] Mar 6, 2017
Lex provides developers pre-integration with Amazon’s other services:
- Security (IAM) for authentication and authorization
- Authentication Cognito
- Mobile Hub connectors to business applications
Video: Enhance Your Mobile Apps with AI Using Amazon Lex [36:17] (MBL307) at AWS re:Invent 1 Dec 2016 by Rohan Despande, Sr. Software Engineer
Amazon Pinpoint for targeted push notifications on mobile phones
Rekognition is Amazon’s image recognition service video to recognize faces, objects, and scenes so it can search, verify, and organize images. It outputs names of objects with a confidence level.
Amazon charges 75 cents per 1,000 text messages and $4 per 1,000 speech messages.
New customers the first year get free the equivalent of:
- 10,000 text / 1,000 x .75 = $75
- 5,000 speech / 1,000 x $4 = $20
Systems similar to Amazon lex include:
Use Cases for Conversational Commerce
- Rovi, How big is Mars?
- Rovi, drive forwards
- Information kiosks
- Front-end to IOT (RaspPi)
Building Serverless Chat Bots Sep 8, 2016 by Leo Zhandanovsky, Amazon Solutions Architect says “ChatOps is an approach to communicate that allows teams to collaborate and manage their (work) from a chat room”.
Instead of using an Alexa program name, users can invoke a specific intent (program) by saying:
- “Alexa, I would like to book a hotel”
- “Alexa, I would like to pick up flowers”
- “Alexa, I would like to order a ride”
- “Alexa, I would like to see a dentist”
From video Announcing Amazon Lex - January 2017 [28:32] by Vikram Anbazhagan in AWS Online Tech Talks
- News updates
- Weather information
- Game scores
- Buy tickets
- Order food
- Manage bank accounts
Enterprise productivity bots:
- Sales numbers
- View performance of marketing
- Inventory status
IDEA: Provide predictions on the above.
Create a Lex chatbot
This video walks through use of the Lex Console to create a voice conversational chatbot while it was in preview mode:
Alternately, from among a list of all Amazon’s services, Lex is within AI services: https://aws.amazon.com/amazon-ai
Add Some Personality
IDEA: I’d like to put in some personality, like I’m having a conversation with a comic:
- An encouraging response like a grandma.
- Insults from Don Rickles or Sheakespeare or Mark Twain.
- Self-Deprecating humor like Rodney Dangerfield.
- Funny Observerations like from Jerry Seinfeld or Sarah Silverman or other comics.
Adjustment of tone in voice would enable:
- Sexual inuendos like from Mae West.
- A British (butler) accent with sarcasm as I’m doing a banking task.
- Dead-pan like that “Bueller” guy.
Slots - Usage
Slots are input data.
Amazon provides a City slot that has the world’s major cities.
Lex remembers the user’s context (what occurred before and user’s perferences).
The initial release of Lex are in English US voices, a subset of voices from Amazon Polly is a Text-to-Speech (TTS) cloud service that converts text into lifelike speech.
Among Polly’s 47 voices in 24 languages are these American English voices:
- Joanna sounds the most natural to me [Google]
- Salli I can’t describe other than “girl next door” [Amazon]
- Kimberly has a bit of a raspy voice [Azure]
- Kendra is a deeper voice, the most “authoratative” to me. [IBM]
- Ivy sounds like a girl (about 10 years old is my guess)
- Justin sounds like a young boy
IDEA: Having a child voice can enhance a bot to help shopping for children.
IDEA: Have different voices present information for a competitive comparison. For example, make calls to APIs in Google, Amazon, IBM, and Azure clouds.
Used on website https://germanverbs.lang.global/
Write a long sentence of your own and hear it pronounced and saved into an mp3 file on:
QUESTION: Can additional custom lexicons be specified like in https://console.aws.amazon.com/polly/home/Lexicons
“Channels” send data to other applications, such as Facebook, Slack, or Twilio to send SMS or email.
These all use IAM Role AWSServiceRoleForLexChannels
Do this first. This is free. And you can keep it private. It’s not behind a firewall/VPN. It’s better and easier than IRC. It has built-in archival of communications.
- Get the mobile app for Slack:
Pick an outgoing Slack webhook
They make use of normal HTTP requests with a JSON payload.
Integrate Slack with integrations
When there is a commit to GitHub, send to Slack.
PagerDuty, JIRA, NewRelic, DataDog.
- Meekan.com - schedule meetings
- Yeobot for SQL queries against AWS account metadata
- Burnerapp.com SMS/voicemail to slack, two-way
- Statuspage.io - integrate public and private status feeds
Create a Slack channel to receive incoming Slack webhooks:
Secure your Slack with two-factor authentication
Scope AWS IAM policies
Facebook doesn’t charge for this.
“Build a Chatbot with Amazon Lex for Facebook” 1 Dec 2017 by Craig Golightly (@seethatgo, seethatgo.com) teaches how to setup Amazon Lex to build a custom customer service chatbot in Facebook Messenger. The sample bot answers questions about shipping address and hours.
Twilio to send SMS or email
This costs money.
Twitter? Skype? LinkedIn? Yammer? WhatsApp?
IAM role AWSServiceRoleForLexBots
Traffic by channel
Missed utterances count