Amazon Alexa: our successes and fails
-
Upload
vyacheslav-lyalkin -
Category
Technology
-
view
264 -
download
0
Transcript of Amazon Alexa: our successes and fails
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