LING 575 - Spoken Dialog Systems
Spring 2013
Homework #1
Due: May 1, 2013
Overview
This assignment aims to help you familiarize yourself with VoiceXML
and develop improved understanding of basic spoken dialog systems through
implementation and application. Please review the tutorial and class
lectures on VoiceXML and introduction to spoken dialog systems.
Goals:
Through this assignment, you will:
- Gain additional experience with VoiceXML.
- Develop a simple spoken dialog system for access to weather information.
- Experiment with system-directed finite-state and mixed-initiative frame-based systems.
- Develop small spoken dialog grammars.
Q1: Exploring VoiceXML (30 free pts)
Sign up for an account with a VoiceXML service. One good option is Voxeo. You can do this as you set up your first toy VoiceXML application.
- Follow the instructions in the QuickStart Guide to :
- Sign up for a free developer account.
- Follow the VoiceXML Tutorial to create your Hello World application.
- Install the VoiceXML file on a website and use the Application Manager to link to it. You'll receive an email message shortly with the phone number to
access your application.
- Give the above change a few minutes to propagate and then call your application to test it, while monitoring it in the debugger as the tutorial
suggestions.
- Explore the XML example applications in the tutorial and also online at
the Voxeo site.
Q2: Create a simple VoiceXML Weather interface (40 pts)
Create a VoiceXML application that provides a spoken interface to
weather forecast information.
- Your system should elicit (at least) the following information from the user:
- Location: a city, state pair, and
- Forecast time: current, short-term, or long-term
- Your system should be a system-initiative finite-state style
interface, eliciting one piece of information at a time from the user.
- Your system should include a grammar to accept a variety of utterances, ranging from the telegraphic (i.e., bare "Seattle, Washington") to more 'conversational' (i.e., "Give me the weather for Seattle, Washington").
- Your system should implement appropriate 'universals'.
- Your system should perform basic grounding of the input.
- Your system feed back the complete information request to the user.
- Since it's impractical to do this for a large database within the
intended scope of this assignment, you may identify a small set of locations
for your grammar (3-4) and hard-code weather forecasts for them, using
conditionals. If you have some experience
with Javascript and RESTful APIs, you are welcome to use them to draw
forecast data from a live weather API, like the one at www.wundeground.com.
- You may use either the simpler but proprietary Nuance-gsl format or the
public GRXML to specify your grammars.
Q3: Writing a mixed-initiative Weather interface (30 pts)
Adapt the interface you created in Q2 to mixed-initiative to allow the
user to enter the location and forecast time in either order or all at
once in a single utterance. To do this, you will need to at minimum:
- Modify your grammar to handle joint input of location and forecast
information.
- Modify your prompts and fields to support mixed initiative.
Handing in your work
All homework should be handed in using the class CollectIt.
You should include the phone numbers to access your applications and
any additional usage notes in a file named hw1.(pdf|txt|doc). Please include your name in this file.
You should also submit the VoiceXML files for your implementations of
Q2 and Q3, named hw1_q2.xml and hw1_q3.xml
Use the tar command to build a single hand-in file, named
hw#.tar where # is the number of the homework assignment and
containing all the material necessary for your assignment.
For example, in your top-level directory, run:
$ tar cvf hw1.tar *