Amazon Alexa: our successes and fails

Preview:

Citation preview

AMAZON ALEXAour successes and fails

15 Sep 2017

DevBDay

Viachaslau Lialkin

EPAM Systems

vlialkin

2

3

Introduction toAmazon Alexa

4

Amazon Alexa is the cloud-based "brain" behind

Amazon voice assistant devices.

5

Music & Entertainment

News & Information

Calling & Messaging

Help Around the House

Shopping experience

Custom Skills

Assists with

6

// Information & Help

7

// Music

8

// Smart home

9

There is also store for Alexa Skills …

11

Echo Dot$49.99

Amazon Echo$179.99

Echo Show$229.99

// Devices

12

Amazon Alexa engine

Amazon Echo Amazon Echo Dot devicesAmazon Echo Show

13

How phrasesare built?

14

Alexa, ask Uber to request a ride

15

KeywordFirst word in every requestRequired to wake up the device

Alexa, ask Uber to request a ride

16

Skill invocation nameDefined by Skill developerPhrase is sent to the concrete Skill

Alexa, ask Uber to request a ride

17

Intent from the Uber SkillShould be defined by Skill developer

Multiple utterances of single action are possible

Alexa, ask Uber to request a ride

18

Alexa, set timer for 20 minutes

No skill invocation name, becauseit is built-it Alexa functionality

19

20

// How to create Skill

- Set Invocation Name (string)

- Build Interaction Model (json)

- Implement Speechlet interfacevoid onSessionStarted(SessionStartedRequest, Session)void onSessionEnded(SessionEndedRequest, Session)SpeechletResponse onLaunch(LaunchRequest, Session)SpeechletResponse onIntent(IntentRequest, Session)

21

// How to test

- Use devices (thanks, Captain!)

- Use text emulator

- Use voice emulator

Story #1: Alexa Office

23

Alexa, ask Office where is Viachaslau Lialkin

24

Alexa, ask Office where is Viachaslau Lialkin

Viachaslau Lialkin is on the meeting till 17:00

Viachaslau Lialkin is on vacation till September 22

Unfortunately Viachaslau Lialkin is on sick leave today

25

// How does it work

HTTPSWeb-app

(Java)Telescope API

MS Exchange API

Amazon Developer web-interface

"office" EmployeeAvailabilityIntent- "where is {EmployeeName} now",- "is {EmployeeName} free now",- "is {EmployeeName} available now",- "is {EmployeeName} busy now",- "to find {EmployeeName}"

Heroku

EndpointType

(our URL)

SkillName

External APIs

InvocationName

("office")

26

// What did we do well

- Integration w/ external systems

- Synonyms in Interaction Model (voice-to-text)

- Synonyms in web-app (text-to-identifier)

- Transcription of names in web-app (text-to-voice)

OK

OK

OK

OK

27

- Bad recognition and pronunciation of names (voice-to-text and text-to-voice)

- Not convenient to ask Alexa and better to check manually

ERR

ERR

// Known problems

Story #2: Alexa Question

29

Alexa, ask Question

30

Java Core - Could you please describe, what is happening during adding element into LinkedList?

Spring - What is DispatcherServlet?

Alexa, ask Question

Design Patterns - Could you please compare patterns Facade and Adapter?

31

// How does it work

%

Amazon Developer web-interface

"question" QuestionIntent- "question",- "please",- "next",- "repeat",- "from {tag}",- "about {tag}"

TXT-filewith 60+questions

SkillName

InvocationName

("question")

33

34