Discourse Module
Function
Take a sequence of logical events
representing
user or tutor actions,
and construct a model of the state of the discourse.
Input(s)
- Logical event stream
- Direct calls to set the discourse state and the focus word
- Current time
Output(s)
- Discourse state
- Word in focus
- Event history
- Event timers
A set of timers, one for each
logical event, and
a few special timers (length of user turn, dead air, idle time).
Algorithm
The tutor object directly sets the discourse state
and the focus word.
Given a new logical event,
the discourse module
- resets the timer corresponding to the event
- resets the timer at any event classes containing this event.
Thus the discourse module can capture concepts such as
"how long has it been since the user did anything."
If the event was a completed reading attempt,
the discourse module also updates the model of the student's
performance on the task of reading the sentence.
- The output from the speech recognizer is aligned against
the text using a standard dynamic programming algorithm
- The student receives credit for each word in the text that
has been aligned with an identical word from the ASR output.
- This credit persists across attempts (persistent credit).
When either the student or the Tutor decides to move
to a new sentence,
the Discourse Module generates an
event history file.
These files are used for analyzing student-tutor interactions.