We present a new framework called KorraAI for conceiving and building
embodied conversational agents (ECAs). Our framework models ECAs' behavior
considering contextual information, for example, about environment and
interaction time, and uncertain information provided by the human interaction
partner. Moreover, agents built with KorraAI can show proactive behavior, as
they can initiate interactions with human partners. For these purposes, KorraAI
exploits probabilistic programming. Probabilistic models in KorraAI are used to
model its behavior and interactions with the user. They enable adaptation to
the user's preferences and a certain degree of indeterminism in the ECAs to
achieve more natural behavior. Human-like internal states, such as moods,
preferences, and emotions (e.g., surprise), can be modeled in KorraAI with
distributions and Bayesian networks. These models can evolve over time, even
without interaction with the user. ECA models are implemented as plugins and
share a common interface. This enables ECA designers to focus more on the
character they are modeling and less on the technical details, as well as to
store and exchange ECA models. Several applications of KorraAI ECAs are
possible, such as virtual sales agents, customer service agents, virtual
companions, entertainers, or tutors