LING 575 - Spoken Dialog Systems
Spring 2017
Simple Dialog System Homework
Due: May 2, 2017: 23:45
Overview
This assignment aims to help you familiarize yourself with dialog system frameworks
and develop improved understanding of basic spoken dialog systems through
implementation and application. Please review the tutorial and class
lectures on introduction to spoken dialog systems, and frameworks such as VoiceXML and OpenDial.
Goals:
Through this assignment, you will:
- Gain additional experience with SDS frameworks such as VoiceXML or OpenDial.
- 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.
Platforms
NOTE: The specifications below are written targeting VoiceXML and Voxeo/Aspect as a platform, as it
has a fairly easy-to-use basic environment. Alternate platforms are acceptable as long as I can access them to test
your systems. You should follow a similar process of setting up an account and/or
installing the software and setting up a simplest system to gain familiarity. Then
you will build your simple dialog application, and submit the system files and
report.
If you want to try out a much more flexible research system, OpenDial, is also an option. However, while nicely documented for a research system, the user base is small, so there are few outside
resources for questions that arise.
Another interesting platform is Wit.Ai, recently
acquired by Facebook, but still available for free use.
Q1: Exploring Dialog Frameworks (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. Tellme Studio, aka [24]7 Studio, has particularly good VoiceXML documentation, though it lacks a free account option.
- 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.
- The default link will take you to a grXML grammar tutorial, with full grammar reference. You may use that or alternatively use the older style GSL grammar in the textbook, that language reference is here.
- 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. In general, it is easier and more flexible to use your own website to host the VoiceXML files than to use Voxeo's storage. NOTE: UW provides website hosting for all students.
- 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
suggests.
- Explore the XML example applications in the tutorial and also online at
the Voxeo site.
Q2: Create a simple Weather interface (40 pts)
Create an application, named hw2_q2.{xml|etc}, 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', for example, for non-understanding.
- Your system should perform basic grounding of the input.
- Your system should 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 web APIs, you are welcome to use them to draw
forecast data from a live weather API, like the one at www.wundeground.com/api.
- 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)
Create a revised application, named hw2_q3.{xml|etc} that adapts 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.
Submission Files
Please adhere to the naming conventions below:
- hw2_q2.{xml|etc}: Your system-initiative weather system.
- hw2_q3.{xml|etc}: Your mixed-initiative weather system.
- Any external grammar files, named as you wish.
- readme.{pdf|txt}: Write-up file. This file should include:
- The phone/Skype numbers (or other information) to access your applications
- Any additional usage notes
-
This file should also describe and discuss your work on this assignment. Include problems you came across and how (or if) you were able to solve them, any insights, special features, and what you learned. Give examples if possible. If you were not able to complete parts of the project, discuss what you tried and/or what did not work.
- hw2.tar: Your hand-in file
- 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 hw2.tar *
Handing in your work
All homework should be handed in using the class CollectIt.