Home | About | Goals | Concepts | Tools | Resources

Dialog Engine Parts
The Dialog Engine is made up of many pieces used together to analyze and respond to guest input. The main parts of the system are: the parser and analyzer, the topic matcher, and the text synthesizer. The parsing and analyzing steps are performed by the Link Grammar parser we are using, the other parts are described below.

Topic Matching Concepts

The topic matcher is the heart of the DialogEngine system. It uses the semantic mapping abilities of the WordNet database to find the response that has the closest "meaning" to the guest's input.

The system determines a semantic "cost" between the important words of the guest's input and the different topics that the character has in its database. That cost is a value that determines how closely a response is to the intention of the guest. The section of text in the database that ends up having the lowest cost is the one our system chooses to respond to the guest with.

The algorithm we are currently using to determine this semantic "cost" is explained in more detail here.

There are, of course, many exceptions and problematic situations that we are investigating how to deal with in an effective manner. Here are some of our current ideas on how to combat these issues:
  • Use previously discussed topics to influence the choice of response to help prevent repetition and increase the reliability of the topic matcher.
  • Preventing the semantic matcher from attempting to match too generally and therefore offer unrealistic responses.
  • Using automated techniques to suggest and expand topic sets for the available responses.
Text Synthesizer Concepts

The synthesis portion of the system we are building is an additional way to add dynamic features to a synthetic character. Conceptually similar to the music synthesizers and sequencers that musicians use to produce new musical forms, the synthesizer takes authored text and modifies it in different ways to produce new forms.

1. Noun-as-verb substituter - substitute verbs for a list of nouns based on semantic meaning

2. Rhyme generator

3. Poetry/rap generator

4. New Language Tools - gibberish generator, syllabic regenerator, word synthesizer

5. Non-Repeating Phrase Generator

6. Paraphraser - generate simplified versions of longer segments of dialog


Concept Research >>

Home | About | Goals | Concepts | Tools | Resources