aws re:invent 2016: from vui to qa: building a voice-based adventure game for alexa (alx305)

73
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Andy Huntwork Paul Cutsinger December 2, 2016 From VUI to QA: Building a Voice-Based Adventure Game for Alexa Anatomy of “The Magic Door” ALX305

Upload: amazon-web-services

Post on 16-Apr-2017

1.003 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Andy Huntwork

Paul Cutsinger

December 2, 2016

From VUI to QA: Building a Voice-Based

Adventure Game for Alexa

Anatomy of “The Magic Door”

ALX305

Page 2: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

What to Expect from the Session

• What are Amazon Alexa and Alexa skills?

• What is Magic Door?

• Key aspects of an engaging skill

• Tooling for testing, analytics, and continuous deployment

Page 3: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 4: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Alexa, ask Skill Master what are skills?

wake word utteranceskill namelaunch slot value

Utterances, Slots, and Intents

Page 5: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Alexa, ask Skill Master what are skills?

wake word utteranceskill namelaunch slot value

Tell me more about what skills are.

utterance slot value

Utterances, Slots, and Intents

Page 6: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Alexa, ask Skill Master what are skills?

wake word utteranceskill namelaunch slot value

DefinitionIntent {value: “skills”}

slot valueintent

Tell me more about what skills are.

utterance slot value

Utterances, Slots, and Intents

Page 7: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 8: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 9: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Demo

Page 10: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Demo

Page 11: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Start

Land Of Gods

RainbowTropical Island (end)

Forest

Pine Needles Path

Forest

Cloud Tower

Page 12: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Statistics

• Development started: 11/14/2015

• Launched: 2/9/2016

• 100+ production code changes

• 11 certified versions published

Page 13: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Statistics

• 3MM utterances

• 80,000 customers

• 60,000 completed adventures

• 60,000 items picked up

• 1

• 627 Facebook likes

Page 14: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 15: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 16: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Story Workbench

User State

User

Alexa

Launches / Intents

Speech / Sounds / Cards

Graph API

Sounds

www.themagicdoor.org

login.themagicdoor.org

Sound Conversion Reactor

JSJSJSJS

Custom Analytics

Event Stream

Lambda

The Magic Door

JSJSJSStories

Page 17: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Statistics

• 5,537 lines JS (including 2,509 lines of tests)

• 4,533 lines story XML

• < $10/month

Page 18: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

•Building V1•Working Backward•Recognizing User Speech•Managing Conversational State•Generating Speech

•Continuous Delivery•Voice Testing•Making Users Happy

Page 19: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Working Backward (from the story)

ALEXA OPEN THE MAGIC DOOR

The door is open. In front of us are two paths. One is a dirt path leading into the forest. The other is a stone path leading to a flower garden.

Would you like to take the forest path or the garden path?

GARDEN PATH

Ok, follow me into the flower garden. The stone path wanders past colorful flowers and takes a turn, leading to a wooden fence with an open gate. Should we go through the gate or stay in the garden?.

GO THROUGH THE GATE

Transition

Launch phase

PromptChoice

Description

Scene

Page 20: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 21: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

•Building V1•Working Backward•Recognizing User Speech•Managing Conversational State•Generating Speech

•Continuous Delivery•Voice Testing•Making Users Happy

Page 22: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

User

Alexa

Lambda

Launches / Intents

Speech / Sounds / Cards

ASK Custom Voice Skills

Page 23: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 24: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

OperateDoor {doorType} doorOperateDoor check out the {doorType} doorOperateDoor explore the {doorType} doorOperateDoor go to the {doorType} doorOperateDoor go through {doorType} doorOperateDoor look at the {doorType}

ExploreBench explore the benchExploreBench explore the bench more

WalkDownPathToBoat walk down the pathWalkDownPathToBoat walk to the boatWalkDownPathToBoat walk down the bluffWalkDownPathToBoat walk on the path

OperateDoor open the doorwayOperateDoor open the doorway with the keyOperateDoor the doorwayOperateDoor what's behind doorwayOperateDoor what's inside doorway… (64 total lines)

Complex or FrequentSimple or Infrequent

Page 25: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

•Building V1•Working Backward•Recognizing User Speech•Managing Conversational State•Generating Speech

•Continuous Delivery•Voice Testing•Making Users Happy

Page 26: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

User

Alexa

Lambda

Launches / Intents

Speech / Sounds / Cards

ASK Custom Voice Skills

Page 27: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Start

Land Of Gods

RainbowTropical Island (end)

Forest

Pine Needles Path

Forest

Cloud Tower

Page 28: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 29: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

•Building V1•Working Backward•Recognizing User Speech•Managing Conversational State•Generating Speech

•Continuous Delivery•Voice Testing•Making Users Happy

Page 30: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Working Backward (from the story)

ALEXA OPEN THE MAGIC DOOR

The door is open. In front of us are two paths. One is a dirt path leading into the forest. The other is a stone path leading to a flower garden.

Would you like to take the forest path or the garden path?

GARDEN PATH

Ok, follow me into the flower garden. The stone path wanders past colorful flowers and takes a turn, leading to a wooden fence with an open gate. Should we go through the gate or stay in the garden?.

GO THROUGH THE GATE

Page 31: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

SSML

Page 32: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

<speak>

Wait. look! Did you just see that? A figure moved

past that third-floor window. Someone's up there.

Let's go up the steps and knock on the door.

</speak>

<speak>

Wait. <break time="1s"/> look! <break time="1s"/>

Did you just see that? A figure moved past that third-floor window.

<break time="1s"/> Someone's up there. Let's go up the steps

and knock on the door.

</speak>

Page 33: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

<speak>

Oh my. Do you feel that cold wind?

It sure is getting dark. We hear wolves

howling. I don’t like that.

</speak>

<speak>

Oh my. Do you feel that cold wind? It sure is getting dark.

<audio src="https://s3.amazonaws.com/[…]/creepywolves.mp3"/>

I don't like that.

</speak>

Page 34: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

<speak>

Her ethereal face suddenly turns monstrous as she

stands up and yells, “Everything is not OK. It’s a nightmare.”

</speak>

<speak>

Her ethereal face suddenly turns monstrous as she

stands up and yells.

<audio src="https://s3.amazonaws.com/[…]/monstrouswoman2.mp3"/>

</speak>

Page 35: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 36: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 37: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 38: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 39: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 40: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Lambda

The Magic Door

JSJSJSStories

Page 41: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Story Workbench

User State

User

Alexa

Launches / Intents

Speech / Sounds / Cards

Graph API

Sounds

www.themagicdoor.org

login.themagicdoor.org

Sound Conversion Reactor

JSJSJSJS

Custom Analytics

Event Stream

Lambda

The Magic Door

JSJSJSStories

Page 42: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

•Building V1•Working Backward•Recognizing User Speech•Managing Conversational State•Generating Speech

•Continuous Delivery•Voice Testing•Making Users Happy

Page 43: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Laptops

Lambda

S3 Bucket

HuntworkFamily

code /stories /

modelsarchive

models

Page 44: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

1. mocha2. jshint3. XML syntax4. missing sounds

5. Validate Interaction Model6. grunt-aws-lambda7. grunt-aws-s3

http://github.com/ashuntwo/grunt-alexa-interaction-model

Page 45: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Laptops FFMPEG

reactor

Incoming

sounds

HuntworkFamily

Public

sounds

Sound

EffectsBucket

Events

Finished

Audio

http://github.com/ashuntwo/sounds-reactor

Page 46: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

•Building V1•Working Backward•Recognizing User Speech•Managing Conversational State•Generating Speech

•Continuous Delivery•Voice Testing•Making Users Happy

Page 47: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

“Alexa, set debug on”http://github.com/ashuntwo/alexa-debug-mode

Page 48: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

“Would you like to go to the mountains, to the sea, or to the portal?”

“Crown”

Page 49: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

"If you have a bronze key, use it now to unlock this gate.”

Page 50: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Certification Testing

• Do you handle a wide variety of possible user input?• Do your prompts ask a question?• Do you stop when the user asks you to?• Do you provide help?• Do you provide a meaningful description of your skill for the Alexa

Skill Store?• Do your image URLs work?• Is your interaction model consistent?

(http://amzn.to/2gN8rfZ)

Page 51: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

•Building V1•Working Backward•Recognizing User Speech•Managing Conversational State•Generating Speech

•Continuous Delivery•Voice Testing•Making Users Happy

Page 52: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 53: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 54: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Analytics Stream

Page 55: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 56: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 57: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

“For tips and tricks, visit us on Facebook at facebook.com/AlexaMagicDoor.”

Page 58: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

“Alexa, who am I?”“You are G X U Q 5 C”

http://github.com/ashuntwo/alexa-whoami

Page 59: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

What’s next?

• Analytics

• Social

• Scaling content creation

• Payment

Page 60: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Takeaways

• Work backward from the customer.

• Manage conversational state

• Obsess over SSML

• Test and deploy continuously

• Continuously improve user experience using custom skill analytics

• Get started by building a Decision Tree Skill (http://amzn.to/2gZLkBO)

Page 61: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 62: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Thank you!

Andy Huntwork

@PaulCutsinger

December 2, 2016

Page 63: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Remember to complete your evaluations!

Page 64: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Other Alexa SessionsTh

urs

day

11:30am ALX202: How Amazon is enabling the future of Automotive Venetian, Level 3, Lido 3003

1pm ALX303: Building a Smarter Home with Alexa Venetian, Level 3, Murano 3203

3:30 ALX307: Voice-enabling Your Home and Devices with Amazon Alexa and AWS IoT Venetian, Level 2, Opaline Theatre

5pm ALX302: Build a Serverless Back End for Your Alexa-Based Voice Interactions Venetian, Level 2, Opaline Theatre

9:30am ALX304: Tips and Tricks on Bringing Alexa to Your Products Venetian, Level 1, Marco Polo 806

11am ALX305: From VUI to QA: Building a Voice-Based Adventure Game for Alexa Venetian, Level 1, Marco Polo 806

Frid

ay11am ALX203: Workshop: Creating Voice Experiences with Alexa Skills: From Idea to Testing in

Two HoursMirage, Jamaica B

1pm ALX306: State of the Union: Amazon Alexa and Recent Advances in Conversational AI Venetian, Level 2, Sands Showroom

11:30am and 2:30pm

ALX204: Workshop: Build an Alexa-Enabled Product with Raspberry Pi Mirage, Antigua B

5pm ALX301: Alexa in the Enterprise: How JPL Leverages Alexa to Further Space Exploration with Internet of Things

Venetian, Level 2, Venetian B

Wed

ne

sday

Page 65: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Utterances Per Week

0

20000

40000

60000

80000

100000

120000

140000

160000

180000

1/31/16 3/21/16 5/10/16 6/29/16 8/18/16 10/7/16

Chart Title

Page 66: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Takeaways

• Work backward from the customer.

• Manage conversational state

• Test and deploy continuously

• Continuously improve user experience using custom skill analytics

Page 67: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Facebook -- Response

• “Alexa, ask the magic door who am I”

• “You are G X U Q 5 C”

• Adding hints.

• Restructuring scenes

• 1 story idea

Page 68: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

How to get more players?

Page 69: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

Ideas

• Weekly email to Alexa customers

• Skill store main page

• Reddit

• Facebook

• CNN

• Alexa developer forums

• Blogs

Page 70: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

“Alexa, share my achievement.”

Page 71: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 72: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)
Page 73: AWS re:Invent 2016: From VUI to QA: Building a Voice-Based Adventure Game for Alexa (ALX305)

What’s next for The Magic Door?

• More traffic

• Make Cloud Tower more fun

• Halloween

• Improve the lobby

• Story test framework

• Reduce accidental exits, impossible choices, reprompt failures

• Money

• Better production

• Infinite worlds

• Improved intent matching

• Rewrite JS eval as custom grammar

• Background sound

• Knight support