all about socialbot   

Intuitive Interface

Just type and get a response from Socialbot. Socialbot isn't designed to fool people, like many "chatbots." Fooling isn't easy, and it's not very useful. Instead Socialbot uses animation and natural dialog to give and receive socially relevant information such as learning and remembering your name.

Figure 1. Socialbot does math.

Figure 2. Socialbot works from a rough map of world geography and estimates distances the way a person would.

Figure 3. Socialbot initiates conversation to get data. He can recall it later.

Figure 4. Socialbot makes inferences and categorizes.

Sample Conversation

Socialbot can do many things. The dialog below exemplifies how Socialbot can respond to and recall user demographic information. Other uses might include exchanging goods and services and chatting as a character in a virtual world, or performing movement actions and reporting sensor observations when embodied in the ER1. personal robot. Notice how much is gathered, queried, inferred and recalled.


Socialbot relies on "behaviors." Each behavior is a short set of instructions designed to handle a specific task. Usually, a behavior is triggered when the user's input contains something it can understand and use. If triggered, the behavior will invoke inferences, do calculations, remember facts and perform other "functions" before generating output. Socialbot has access to a library of common knowledge as well, such as typical names, countries, animals, and so on. Here is an example formatted in XML (eXtensible Markup Language) for learning and recalling the user's age:

Besides processing factual information, behaviors orient Socialbot's identity and agenda. Or a behavior may be "hidden" - over time, for example, a behavior might quietly track a pattern in the user's personal values. Socialbot comes pre-configured with hundreds of behaviors, including behaviors for use with the Internet and supervised and autonomous function of the ER1 robot. It is worth the time to create your own behaviors for Socialbot.

Conversational Dynamics

Executing behaviors is one thing; holding a coherent conversation is another. This is particularly important if many behaviors (immediate and queued) compete for attention. When a user inputs something, all behaviors are tested in linear order from first to last. In the full version of Socialbot, all triggered behaviors are processed but Socialbot only visibly outputs a few. Socialbot automatically juggles, integrates and paces itself. This weaving process relies on proprietary algorithms. Thus, behaviors you script are the "pieces" that Socialbot puts together. In the limited version, the first triggered behavior that procudes a response is output, and that's it.

Legal Notice

The approach described here for the Socialbot scripting language is the exclusive property of Dario Nardi. It is illegal to use this approach for any purpose other than with Socialbot without the express consent of Dario Nardi.

Copyright Dario Nardi 2003, April 2005. All content of this site, including user posted content, and all downloadable software and media (eg video), is the property of Dario Nardi.