I’ve always been fascinated with chatterbot technology and the possibilities of using it for online learning. (If you don’t know what a chatterbot is, it’s easier to experience than to explain. Try talking to Brian, Ella or, if you’re in the mood for the bizarre and macabre, a simulation of John Lennon’s personality.) Basically, a big part of the magic that makes a chatterbot work is a scripting language that parse natural language and identifies ways of asking the same questions (e.g., “How much does it cost? is the same as “What’s the price?”). You build up a library of questions that it can answer and then try to set up the conversational situation such that the person interacting with the “bot” is unlikely to ask questions that you haven’t thought of. This last piece is critical; unless you want to spend your whole life debugging and fine-tuning, or unless you don’t care if your simulation is highly unconvincing (which is what inevitably happens with the “ask me anything”-type demos like the ones linked above) then you absolutely must create a situation in which you’re pretty confident that you know what kinds of questions the user (or learner) is likely to ask.
I tried to use a chatterbot in about 1998 to create a simulation of a client who needs retirement planning for a financial planning course, but the technology at the time wasn’t quite up to it and the customer wasn’t patient enough (read: lacked funding) to let us work our way through the problem. I still think it’s a good idea, though; if anybody out there has tried this, please email me and tell me about it. In the meantime, if you’re interested in learning more about chatterbots, then here’s a good place to start.