AWS User Group Singapore / Amazon Lex -- JAWSDAYS 2017

Preview:

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

Recommended