ERIC: an embodied real-time intelligent commentary agent

ERIC is an intelligent embodied agent framework that can provide running commentary on a continuous event in real-time. It is currently implemented to commentate a horse race provided by the RaceSim system used in GALA '07; with minimal modification the system is configurable to commentate on any live continuous event (for example, sports matches, news as-it-happens, computer games, etc).

ERIC is able to generate real-time commentary for a dynamic environment, responding to ongoing events and unforseen facts. It has a sophisticated affect model, with a simulated personality, moods and emotion events. The agent performs template-based natural language generation, using topic and context information for macro-level discourse structure, and affective state information for lexical selection. It has a highly modular architecture based on parallel rule-based reasoning engines, implemented in Java and Jess, a rule-based system itself implemented in Java. The agent also follows a strict separation of general and domain-specific knowledge, for easy re-use across event domains. In addition, The agent's personality, and the goals and desires used to generate emotions, are configurable.

ERIC brings together a number of different components for knowledge representation and reasoning, natural language generation, affective appraisal, gesture and facial expression generation, and output selection. The output is sent to a Charamel embodied character, depicted by the CharaVirld player. The overall system contains 300 deduction rules as well as 70 NLG templates, and at any time each component handles several hundred facts.

For more information on the architecture and individual components, see below.

ERIC is developed by Martin Strauss as part of his Masters thesis at the Intelligent User Interfaces group (Prof. Wahlster) at the German Research Center for Artificial Intelligence (DFKI), under the supervision of Michael Kipp and Patrick Gebhard.

Many thanks to Charamel for providing the 'Paul' character, and Nuance for providing the 'Tom' voice.