Home | About | Goals | Concepts | Tools | Resources |
The Dialog Engine | |||
Overview: For the most part, synthetic character systems are either programmed directly in code, or they are entirely scripted in advance, and systems that claim to be dynamic often are no more than keyword matching programs. The Dialog Engine project is developing a system that allows the authoring of synthetic characters without the need for the author to learn an obscure coding system and without all of the resultant interaction ending up pre-scripted. We are investigating computational linguistics, natural language understanding and textual analysis methods to produce a system that can be authored in plain English, and then used to provide dynamic interaction in conversations with guests. Proposed Feature Set:
Technical Description: The system will be based on two core technologies: an open-source natural language parsing system (we are currently using the Link-Grammar Parser), and the WordNet lexical database. We wish to avoid writing our own natural language parsing system because of time constraints and the existence of a huge body of work already in existence on this subject. Implementation Thoughts: We have been doing a large amount of research into currently existing character systems and "bots", along with research into the existing NLP systems, text-analysis and learning systems to get a sense of what tools we can pull from previous research, and what parts of the dialogue engine we will have to build ourselves. NLP is a known hard problem, but systems exist which, for the level of interaction we expect between guests and characters, are good enough to use for our purposes. The features we have been looking for in an NLP system include: grouping of related terms in sentences, the ability to determine if a given sentence is well-formed, determination of the subject and action words of sentences, and the ability to provide multiple possible mappings of ambiguous inputs. Our approach is going to concentrate on the ability to match guest inputs to topics of conversation stored within the character's database of responses. Using WordNet to find semantic associations between the guest's input and the topics we will attempt to find the best possible response from the set of available responses. On top of this, we will add memory and predictive algorithms to help guide and control the conversation. |
Home | About | Goals | Concepts | Tools | Resources |