Theory and Practice in Discourse and Dialogue for Interactive Systems
 
leftside_space.gif (66 bytes)
[ Summary] [Schedule] [ Assignments ] [Bibliography] [Resources] [Requirements] [ Weekly Question Submission ]
[1 ] [ 2 ] [ 3 ] [4 ] [5 ] [6 ]

Assignment 3
Due: October 12

Part I: Introduction to Midiki

  1. Midiki is a toolkit for building information state based dialogue systems that is being developed by MITRE. The system is written in Java and still pretty experimental. So, you should form groups to do this assignments such that there is at least one person with Java programming experience in each group.
  2. Download Midiki from its sourceforge web site (you should get the CVS version as it comes with a viewer of the information state that isn't included in the current release).
  3. You also need a Java compiler (http://java.sun.com/) and ant (http://ant.apache.org/). (Should be installed on most machines in the lab.)
  4. To compile Midiki do 'ant compile-midiki'.
  5. To run an example domain do
    'java -cp target/classes org.mitre.dm.qud.domain.diagnosis.diagnosis_dm'.
  6. The relevant files are in midiki/src/java/org/mitre/dm/qud/domain/diagnosis. diagnosis_domain.java is the specification of the domain, i.e., of the dialogue plans. diagnosis_english_lexicon.java is a lexicon that maps user input to dialogue acts and dialogue acts to system output. (Don't worry about diagnosis_dm.java and DomainAgent.java.) The update algorithm that the system uses are defined in midiki/src/java/org/mitre/dm/qud/DmeAgent.java and the update rules are defined in midiki/src/java/org/mitre/dm/qud/rules.
  7. Replace the file diagnosis_dm.java with this version of the file, and compile and run again. Now, you should see a representation of the information state.
  8. Design your own simple dialogue system with Midiki.
  9. Further info:
    1. The Jurafsky and Martin Chapter includes a description of information state based dialogue managers.
    2. An overview paper of what an information state based dialogue manager looks like.

Part II: Introduction to Festival (and RUTH)

  1. Festival is a speech synthesis system developed originally at the University of Edinburgh. Its web site (where you can download it) is http://www.cstr.ed.ac.uk/projects/festival/. Festival comes with some voices, but you can get more and nicer ones from the TTS group at CSLU. The Festival Manual.

    You can use Festival together with RUTH, a talking head developed by Matthew Stone and Doug DeCarlo at Rutgers. It can be downloaded here: http://www.cs.rutgers.edu/~village/ruth. You can also find a manual there.
  2. Download and install Festival and possibly RUTH.
  3. Start festival.

    festival> (voice_rab_diphone)
    festival> (require 'tobi_rules)
    festival> (setup_tobi_f0_method)
    festival> (utt.play (utt.synth (Utterance Words (I like cookies))))

  4. Each word may be (but need not be) annotated with an accent and/or tone. E.g.,
    festival> (utt.play (utt.synth (Utterance Words (I (like ((accent H*))) cookies))))
    festival> (utt.play (utt.synth (Utterance Words (I like (cookies ((accent H*)(tone L-H%)))))))
    For an explanation of the accents and tones check out the tobi webpage and the annotationg conventions.
  5. Write different utterance specifications for the sentence Bill is reading the newspaper such that the utterance is answering the following questions:
    1. What is Bill doing?
    2. What is Bill reading?
    3. Peter is reading a book. What is Bill reading?
    4. Who is reading the newspaper?
    (We will get back to this phenomenon in the lecture on Intonation and Information structure.)



Hand in: all files necessary for your Midiki example domain accompanied by a short description and the specification of your utterances accompanied by a short description.

For this assignment, email your work to Kris (kris AT northwestern DOT edu) no later than class time.