MAKING YOUR OWN ALEXA SKILL SHRIMAI PRABHUMOYE, ALAN W BLACK

Similar documents
Teachers: Use this checklist periodically to keep track of the progress indicators that your learners have displayed.

Knowledge based expert systems D H A N A N J A Y K A L B A N D E

Fluency YES. an important idea! F.009 Phrases. Objective The student will gain speed and accuracy in reading phrases.

Chapter 2. Intelligent Agents. Outline. Agents and environments. Rationality. PEAS (Performance measure, Environment, Actuators, Sensors)

Speak Up 2012 Grades 9 12

Lab 1 - The Scientific Method

Detailed Instructions to Create a Screen Name, Create a Group, and Join a Group

Appendix L: Online Testing Highlights and Script

Computer Science is more important than Calculus: The challenge of living up to our potential

Eduroam Support Clinics What are they?

ReinForest: Multi-Domain Dialogue Management Using Hierarchical Policies and Knowledge Ontology

a) analyse sentences, so you know what s going on and how to use that information to help you find the answer.

November 17, 2017 ARIZONA STATE UNIVERSITY. ADDENDUM 3 RFP Digital Integrated Enrollment Support for Students

CS 100: Principles of Computing

Citrine Informatics. The Latest from Citrine. Citrine Informatics. The data analytics platform for the physical world

Agents and environments. Intelligent Agents. Reminders. Vacuum-cleaner world. Outline. A vacuum-cleaner agent. Chapter 2 Actuators

Common Core State Standards

LEGO MINDSTORMS Education EV3 Coding Activities

Compositional Semantics

#MySHX400 in Your Classroom TEACHING MODULE What s your Shakespeare story?

Planning a Webcast. Steps You Need to Master When

Academic Choice and Information Search on the Web 2016

Intelligent Agents. Chapter 2. Chapter 2 1

Case study Norway case 1

Lectora a Complete elearning Solution

preassessment was administered)

UNIT IX. Don t Tell. Are there some things that grown-ups don t let you do? Read about what this child feels.

Computers Change the World

5 Guidelines for Learning to Spell

Kelli Allen. Vicki Nieter. Jeanna Scheve. Foreword by Gregory J. Kaiser

Function Junction. Student Book Achieve Functional Skills in Mathematics

UC Santa Cruz Graduate Research Symposium 2016

Synchronous Blended Learning Best Practices

The Nature of Exploratory Testing

On Human Computer Interaction, HCI. Dr. Saif al Zahir Electrical and Computer Engineering Department UBC

Individual Component Checklist L I S T E N I N G. for use with ONE task ENGLISH VERSION

Function Tables With The Magic Function Machine

Section 7, Unit 4: Sample Student Book Activities for Teaching Listening

Functional Skills Mathematics Level 2 assessment

K5 Math Practice. Free Pilot Proposal Jan -Jun Boost Confidence Increase Scores Get Ahead. Studypad, Inc.

PROVIDING AND COMMUNICATING CLEAR LEARNING GOALS. Celebrating Success THE MARZANO COMPENDIUM OF INSTRUCTIONAL STRATEGIES

Learning Optimal Dialogue Strategies: A Case Study of a Spoken Dialogue Agent for

READ 180 Next Generation Software Manual

ODS Portal Share educational resources in communities Upload your educational content!

Five Challenges for the Collaborative Classroom and How to Solve Them

2014 Free Spirit Publishing. All rights reserved.

Operations and Algebraic Thinking Number and Operations in Base Ten

Online Testing - Quick Troubleshooting Tips

SIE: Speech Enabled Interface for E-Learning

success. It will place emphasis on:

MyUni - Turnitin Assignments

CREATING SHARABLE LEARNING OBJECTS FROM EXISTING DIGITAL COURSE CONTENT

Planet estream Supporting your Digital Learning Strategy

Multimedia Courseware of Road Safety Education for Secondary School Students

Shockwheat. Statistics 1, Activity 1

K 1 2 K 1 2. Iron Mountain Public Schools Standards (modified METS) Checklist by Grade Level Page 1 of 11

PROJECTS FOR HAPPINESS 2015

Development of an IT Curriculum. Dr. Jochen Koubek Humboldt-Universität zu Berlin Technische Universität Berlin 2008

MAILCOM Las Vegas. October 2-4, Senior Director, Proposal Management BrightKey, Inc.

The Process of Evaluating and Selecting An Option

Use the Syllabus to tick off the things you know, and highlight the areas you are less clear on. Use BBC Bitesize Lessons, revision activities and

Nutrition 10 Contemporary Nutrition WINTER 2016

FAU Mobile App Goes Live

END TIMES Series Overview for Leaders

Alberta Police Cognitive Ability Test (APCAT) General Information

Best Practices in Internet Ministry Released November 7, 2008

Algebra 2- Semester 2 Review

Intel-powered Classmate PC. SMART Response* Training Foils. Version 2.0

Exams: Accommodations Guidelines. English Language Learners

TEACH WRITING WITH TECHNOLOGY

Europeana Creative. Bringing Cultural Heritage Institutions and Creative Industries Europeana Day, April 11, 2014 Zagreb

Radius STEM Readiness TM

EUROPEAN DAY OF LANGUAGES

GIS 5049: GIS for Non Majors Department of Environmental Science, Policy and Geography University of South Florida St. Petersburg Spring 2011

ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY DOWNLOAD EBOOK : ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY PDF

COMMUNICATION STRATEGY FOR THE IMPLEMENTATION OF THE SYSTEM OF ENVIRONMENTAL ECONOMIC ACCOUNTING. Version: 14 November 2017

Number of Items and Test Administration Times IDEA English Language Proficiency Tests/ North Carolina Testing Program.

Pod Assignment Guide

WiggleWorks Software Manual PDF0049 (PDF) Houghton Mifflin Harcourt Publishing Company

University of Waterloo School of Accountancy. AFM 102: Introductory Management Accounting. Fall Term 2004: Section 4

COMMUNITY ENGAGEMENT

Teaching Reproducible Research Inspiring New Researchers to Do More Robust and Reliable Science

Summary BEACON Project IST-FP

Coding II: Server side web development, databases and analytics ACAD 276 (4 Units)

Making Smart Choices for Us We STOP D

Laboratorio di Intelligenza Artificiale e Robotica

1. Lesson and Activities. a. Power Point Agenda i. A great means of keeping things organized and keeping your rehearsal or class running smoothly

Cognitive Thinking Style Sample Report

Top US Tech Talent for the Top China Tech Company

SECTION 12 E-Learning (CBT) Delivery Module

What Teachers Are Saying

While you are waiting... socrative.com, room number SIMLANG2016

Faculty Schedule Preference Survey Results

A Coding System for Dynamic Topic Analysis: A Computer-Mediated Discourse Analysis Technique

Contents. Foreword... 5

M55205-Mastering Microsoft Project 2016

Strengthening assessment integrity of online exams through remote invigilation

Thesis-Proposal Outline/Template

Spring 2015 Achievement Grades 3 to 8 Social Studies and End of Course U.S. History Parent/Teacher Guide to Online Field Test Electronic Practice

Math-U-See / Gamma Teacher Kit (Complete Kit) By Steven P. Demme

Transcription:

MAKING YOUR OWN ALEXA SKILL SHRIMAI PRABHUMOYE, ALAN W BLACK

WHAT IS ALEXA? Alexa is an intelligent personal assistant developed by Amazon. It is capable of voice interaction, music playback, making to-do lists, setting alarms, streaming podcasts, playing audiobooks, and providing weather, traffic, and other real time information, such as news. Alexa can also control several smart devices using itself as a home automation system.

INSIDE ALEXA

ALEXA SKILL Alexa skills are like apps. You can enable and disable skills, using the Alexa app. Skills are voice-driven Alexa capabilities Alexa Skills Kit (ASK) is a collection of self-service APIs, tools, documentation, and code samples. We will use ASK to create a skill, define intents, define slots and connect to our python program.

INTENTS AND SLOTS Intents: actions that the user wants the system to perform. Slots: possible types of actions Sample Utterrances: A set of likely spoken phrases mapped to the intents. Intent Open Slots Door, jar Sample Utterances Open door Open jar Open the door Open the jar Yes - Yes Yeah Sure Agreed

HOW TO BUILD A SKILL ASK + Lambda ASK + local computer ASK + Lambda + Ec2 Note: Lambda is an event-driven, serverless computing platform provided by Amazon as a part of the Amazon Web Services.

HOW WE WILL BUILD A SKILL Filled out request Speak Slots Our Computer Intents Amazon Servers Sample Utterances Python program Text response

FLASK-ASK AND NGROK We will create a Alexa skill using Flask-ask and ngrok. Flask-Ask is a Flask Extension. Helps construct ask responses. Has decorators to map Alexa requests and intent slots to view functions. Makes session management easy. Ngrok lets you expose a local server behind a NAT or firewall to the internet.

SIMPLE EXAMPLE from flask import Flask from flask_ask import Ask, statement app = Flask( name ) ask = Ask(app, '/') @ask.intent('hellointent') def hello(firstname): speech_text = "Hello %s" % firstname return statement(speech_text).simple_card('hello', speech_text) if name == ' main ': app.run()

MEMORY GAME The computer agent will generate 3 random integers and will ask you to repeat the three numbers in the reverse order. If you memorize the numbers correctly and repeat them in the reverse order, you are right otherwise you are wrong.

MEMORY GAME Launch Intent Enter the Skill Welcome Message Yes Intent Generate Numbers Present the numbers Answer Intent Evaluate Response Right/Wrong

MEMORY GAME Flask-Ask lets you separate code and speech with templates. Create a memory_game.py Create a file named templates.yaml in the same location as memory_game.py

MEMORY GAME Launch Intent @ask.launch def new_game(): welcome_msg = render_template('welcome') return question(welcome_msg) Enter the Skill Welcome Message {welcome: "Welcome to memory game. I'm going to say three numbers for you to repeat backwards. Ready? }

MEMORY GAME Generate Numbers Yes Intent Present the numbers @ask.intent("yesintent") def next_round(): numbers = [randint(0, 9) for _ in range(3)] round_msg = render_template('round', numbers=numbers) session.attributes['numbers'] = numbers[::-1] return question(round_msg) {round: "Can you repeat the numbers {{ numbers join(", ") }} backwards? }

MEMORY GAME @ask.intent("answerintent", convert={'first': int, 'second': int, 'third': int}) def answer(first, second, third): Answer Intent winning_numbers = session.attributes['numbers'] if [first, second, third] == winning_numbers: msg = render_template('win') else: msg = render_template('lose') return statement(msg) { win: "Good job!", lose: "Sorry, that's the wrong answer. } Evaluate Response Right/Wrong

MEMORY GAME - INTENTS { } "intents": [{ "intent": "YesIntent" },{ "intent": "AnswerIntent", "slots": [{ "name": "first", "type": "AMAZON.NUMBER" }, { "name": "second", "type": "AMAZON.NUMBER" }, { "name": "third", "type": "AMAZON.NUMBER" }] }]

MEMORY GAME - LANGUAGE Yes Sure Yes Intent Answer Intent {first}{second}{third} {first}{second} and {third}

SKILL AS A GRAPH A skill can be represented as graph A session consists of the conversation moving from state to state The transitions between states are taken on the basis of what the human speaks Spoken input is an intent and is typically prompted by a question spoken by the system New_game() Next_round() Evaluate() Together this describes the conversation that a skill can handle end

STEPS TO BUILD A SKILL Define what the skill should do, its purpose/goal. What are some interactions/scenarios you d handle? Mock up the system and try it! Does it work like you thought it would? Define the intents required by your skill. (Intents and Slots) Brain storm the language you expect people to use. (Sample Utterances) Figure out the language Alexa will use. (template.yaml) Construct the Action part of the skill

PRESENTATION Idea: need for your idea Scenarios you can handle Intents Slots Sample Utterances Failures of the skill Demo What you learnt from workshop.

USEFUL LINKS https://developer.amazon.com/blogs/post/tx14r0iyygh3skt/flask-ask-anew-python-framework-for-rapid-alexa-skills-kit-development https://github.com/johnwheeler/flask-ask