|
Part I: Introduction to Midiki
- 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.
- 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).
-
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.)
-
To compile Midiki do 'ant compile-midiki'.
-
To run an example domain do
'java -cp target/classes org.mitre.dm.qud.domain.diagnosis.diagnosis_dm'.
-
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.
-
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.
-
Design your own simple dialogue system with Midiki.
-
Further info:
-
The Jurafsky and Martin Chapter includes a description of
information state based dialogue managers.
-
An
overview paper of what an information state based dialogue
manager looks like.
Part II: Introduction to Festival (and RUTH)
- 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.
-
Download and install Festival and possibly RUTH.
-
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))))
-
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.
-
Write different utterance specifications for the sentence
Bill is reading the newspaper such that the utterance is
answering the following questions:
- What is Bill doing?
- What is Bill reading?
- Peter is reading a book. What is Bill reading?
- 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.
|