Bots and Intelligent Agents
by Bryan Bergeron, Editor
I’m writing this editorial with the assistance of a software robot or bot that I coded in AppleScript. This particular bot completes words, suggests sentence fragments, automates document formatting, and, in general, supercharges Word. The bot is autonomous in that it works in the background without my direct supervision. My goal, however, is to create an intelligent agent that can respond to my keyed or voice commands, such as “Write a summary paragraph based on information in Wikipedia/robots” and have the agent obediently extract the information from the web, construct sentences, and assemble the sentences into a coherent paragraph that matches the style and level of the other paragraphs in my editorial. No mean task.
The point in discussing bots and intelligent agents is that I believe they are key to the success of socially interactive mechanical robots. One obvious use for bots is in automating the learning process. Bots and intelligent agents can tirelessly comb through the Web in search of patterns in data, perfecting searches of the Web on their own. Wouldn’t it be great if your robot could learn new words, phrases, and perhaps even objects by plugging into the Web?
Another application of this technology in robotics is communications. Chatter Bots, which have evolved significantly since Eliza was introduced in the 1960s, can form the basis of apparently intelligent dialogue between robots and humans. Research has shown that the elderly respond positively to the tactile and audible feedback from soft and furry mechanical pets, such as the PARO baby seal robot (www.mahalo.com/paro-robot). I strongly suspect that a social robot with more meaningful dialog would be even more appreciated by elderly users.
In addition to generating content for text-to-speech dialogues, Chatter Bots tied to video animation have been developed to exhibit appropriate facial expressions during voice recognition and speech synthesis. The benefit of this technology to mechanical robotics is obvious. Once you know the appropriate facial expression, displaying that expression on an animatronic face is relatively straightforward.
If you want to explore bots and intelligent agents, a good place to start is with one of the open source Chatter Bots. A relatively up-to-date website is AliceBot (alicebot.blogspot.com) which features an online Chatter Bot, as well as links to open source software. You might want to explore the rules for the Loebner Prize while you’re at it (www.loebner.net). Each year, the Cambridge Center for Behavioral Studies awards $3K and a bronze medal for the most human-like computer. If you want the grand prize — a gold medal and $100K — your Chatter Bot will have to pass the Touring test. By the way, if you manage to create a bot that’s indistinguishable from a human, you can count on space in this magazine for an interview.
Back to my relatively trivial AppleScript Bots ... you can also gain insight into various means of training or programming new behaviors in a mechanical robot by working with simple scripting languages. If you use the Unix OS, then you’re probably intimately familiar with dozens of bots available for automating repetitive tasks. As you’ll discover, scripting is good when you have a known endpoint and fixed process to get there. Problems arise in robotics when decisions aren’t clear cut, when there are no specific rules that apply to a novel situation, and when the process becomes non-deterministic. You may ultimately have to rely on genetic algorithms, neural networks, and various Bayesian techniques to create something that can begin to pass the Touring test. However, you can use simple scripting and script generators to test your algorithms and overall approach to adding interactive intelligence to your next robot project. SV