Upload
alex-smith
View
151
Download
3
Embed Size (px)
Citation preview
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Alex Smith – Amazon Web ServicesJo-Anne Tan – Gowild.sg
JAWS DAYS 2017
Singapore AWS User GroupAmazon Lex
AWS User Groups
AWS User Groups – ASEAN
ASEAN
10 Member States• SG, TH, VN, ID, PH, MY,
MM, KH, LA, BN
https://aws.amazon.com/usergroups/
AWS User Groups – ASEAN
Jakarta (Indonesia)Kuala Lumpur (Malaysia)Manila (Philippines)SingaporeBangkok (Thailand)Hanoi (Viet Nam)
https://aws.amazon.com/usergroups/
AWS User Group - Singapore
The “Little Red Dot”
5.75 Million• 3.9m Citizen/PR• 1.6m Other
!= China
AWS User Group - Singapore
4 Languages (-and more)
Asia Pacific Hub
“Kiasu”
Restarted regular meetings
Restarted regular meetings
Passed 1000 members(2016-01-08)
Restarted regular meetings
Passed 1000 members(2016-01-08)
Changed to a better quality pizza shop
What worked well
Regularity of meetings
Good venue & AV
Engineers.sg
Engineers.sg
• Oct 2013 – PHP UG
• >1200 videos
• 40 Strong Team
• More info: https://alexjs.co/engineershttp://engineers.sg
What worked well
Regularity of meetings
Good venue & AV
Engineers.sg
What worked well
Regularity of meetings
Good venue & AV
Engineers.sg
Beer
What didn’t work well
AWS driven group
Huge variance in talk quality
Attendance/RSVP discrepancy
What’s next?
AWS User Group SG links:
https://www.facebook.com/groups/awsugsg/
https://www.meetup.com/AWS-SG/
https://engineers.sg
What didn’t work well
AWS driven group
Huge variance in talk quality
Attendance/RSVP discrepancy
Attendance vs RSVP Discrepancy
User intent vs intended usage
The trash can analogy
Reduce the effort to comply
Amazon Lex
Why Did We Build Amazon Lex?
Advent of Conversational Interactions
1st Gen: Punch Cards & Memory Registers
2nd Gen: Pointers & Sliders
3nd Gen: Conversational Interfaces
Conversational Access
On-Demand
Accessible
Efficient
Natural
Conversational Access
On-Demand
Accessible
Efficient
Natural
Developer Challenges
Speech Recognition Language
Understanding
Business Logic
Disparate Systems
Authentication
Messaging platforms
Scale Testing
Security
Availability
Mobile
Conversational interfaces need to combine a large number of sophisticated algorithms and technologies
Amazon Lex: New service for building conversational interfaces using voice and
text
Amazon Lex - FeaturesText and Speech language understanding: Powered by the same technology as Alexa
Enterprise SaaS Connectors: Connect to enterprise systems
Deployment to chat services
Designed for Builders: Efficient and intuitive tools to build conversations; scales automatically
Versioning and alias support
Text and Speech Language Understanding
SpeechRecognition
Natural Language Understanding
Powered by the same Deep Learning technology as Alexa
Amazon Lex – Use Cases
Informational BotsChatbots for everyday consumer requests
Application BotsBuild powerful interfaces to mobile applications
• News updates• Weather information• Game scores ….
• Book tickets• Order food• Manage bank accounts ….
Enterprise Productivity BotsStreamline enterprise work activities and improve efficiencies
• Check sales numbers• Marketing performance• Inventory status ….
Internet of Things (IoT) BotsEnable conversational interfaces for device interactions
• Wearables• Appliances• Auto ….
Amazon Lex - Benefits
High quality Text and Speech Language Understanding
Built-in integration with the AWS platform
Seamlessly deploy and scale
Easy to use
Cost effective
Lex Bot Structure
UtterancesSpoken or typed phrases that invoke your intent
BookHotelIntentsAn Intent performs an action in response to natural language user input
SlotsSlots are input data required to fulfill the intent
FulfillmentFulfillment mechanism for your intent
User input Response
Lex Bot Structure: Utterances
Attend the user group
Come to the meet up
User inputs:
I want to come to the nextmeetup
Could I attend the next usergroup please
Maps to RegisterUserForEvent intent
RegisterUserForEvent intent
UTTERANCES
Lex Bot Structure: Utterances
Attend the user group on {eventDate}
Come to the meet up on {eventDate}
User inputs:
I want to come to the nextmeetup on 12 March 2017
Could I attend the user grouptomorrow please
Maps to RegisterUserForEvent intent;eventDate=2017-12-03
RegisterUserForEvent intent
UTTERANCES
SLOTS
eventDate AMAZON.DATESLOT NAME SLOT TYPE
Lex Bot Structure: Fulfilment
RegisterUserForEvent
eventDate=2017-03-12SLOT
INTENT
AWS Lambda Integration
Intents and slots passed to AWS
Lambda function for business logic
implementation.
Return to Client
Lambda input event
{ ..., "invocationSource": "FulfillmentCodeHook or DialogCodeHook", "userId": "user-id", "bot": {...}, "outputDialogMode": "Text or Voice”, "currentIntent": { "name": "intent-name", "slots": { "slot-name": "value", "slot-name": "value", "slot-name": "value" }, "confirmationStatus": "None, Confirmed, or Denied" }}
Lambda response object{ ..., "dialogAction": { "type": "ElicitIntent, ElicitSlot, ConfirmIntent, Delegate, or Close", "fulfillmentState": "Fulfilled or Failed", "message": { "contentType": "PlainText or SSML", "content": "message to convey to the user" }, "intentName": "intent-name", "slots": { "slot-name": "value", "slot-name": "value", "slot-name": "value" }, "slotToElicit" : "slot-name",}
Response card
{ ..., responseCard: { "version": 1, "contentType": "application/vnd.amazonaws.card.generic", "genericAttachments": [ { "title": "Flowers", "subTitle": “Pick a flower”, "imageUrl: "…", "buttons": [ {"text": "tulips","value": "tulips"}, {"text": "lilies","value": "lilies"}, {"text": "roses","value": "roses"} ] } ]}
Pick a flower
“Attend an Event”
Attend event
12 March
“Attend the event on 12 March”
Automatic Speech Recognition
Natural Language Understanding
Intent/Slot Model
Utterances
“You are now confirmed for the next event on 12th March” Polly
the
on RegisterUserForEvent
eventDateSLOT
INTENT
Validate eventDateslot value
“You are now confirmed for the event on 12th March”
Update DB
“Attend an Event”
Attend event
12 March
“Attend the event on 12 March”
Automatic Speech Recognition
Natural Language Understanding
Intent/Slot Model
Utterances
“You are now confirmed for the next event on 12th March” Polly
the
on RegisterUserForEvent
eventDateSLOT
INTENT
Validate eventDateslot value
“You are now confirmed for the event on 12th March”
Update DB
“Attend an Event”
Attend event
12 March
“Attend the event on 12 March”
Automatic Speech Recognition
Natural Language Understanding
Intent/Slot Model
Utterances
“You are now confirmed for the next event on 12th March” Polly
the
on RegisterUserForEvent
eventDateSLOT
INTENT
Validate eventDateslot value
“You are now confirmed for the event on 12th March”
Update DB
“Attend an Event”
Attend event
12 March
“Attend the event on 12 March”
Automatic Speech Recognition
Natural Language Understanding
Intent/Slot Model
Utterances
“You are now confirmed for the next event on 12th March” Polly
the
on RegisterUserForEvent
eventDateSLOT
INTENT
Validate eventDateslot value
“You are now confirmed for the event on 12th March”
Update DB
Event Manager Bot: Flow of Information
GetUpcomingEventINTENT
GetUpcomingEventAgenda
eventDateSLOT
INTENT RegisterUserForEvent
eventDateSLOT
INTENTList summary of all events
Show details for event on{eventDate}
Register user for event on eventDate}
Event Manager Bot: Flow of Information
GetUpcomingEventINTENT
GetUpcomingEventAgenda
eventDateSLOT
INTENT RegisterUserForEvent
eventDateSLOT
INTENT
Do you want to hear more?
YESNO
“Okay. Bye!”
?
Thank You!http://aws.amazon.com/lex