Sunday, April 09, 2006

Chat Bots

Still working through final editing on the book. I estimate I will be around 9,000 words short, so I have decided to add a new chapter, 'Machines Who Talk'. This will be about Natural Language Understanding (and Production) systems. Today, these are tangentially used to replace call centre agents, but surely there is a bigger role in the next-generation network. Perhaps.

My initial researches took me to "The Personality Forge" where you can play with chat bots, and create your own. I was initially quite taken with this site. My Ph. D. was in AI, and I still have a significant Lisp-sized gap in my life. I could easily spend a lot of fun hours putting together a really cute system. But then my neo-cortex kicked in.

Here is a conversation I have just had with 'Jabberwock', (JW), the winner of the 2005 chatterbox challenge. If you have not conversed with a chat bot before, it's like instant messaging - try it yourself here.

Anyway, onto the dialogue.

Jabb:... Hello, welcome to a thrilling conversational adventure. My name is Jabberwock. How can I help you?

ME: Hello, what do you think of the war in Iraq?

Jabb:... Hmm, why do you want to know my opinion about the war in Iraq?

ME: You are meant to be a prize winning conversation partner.

Jabb:...That was not my intention

ME: OK, so what are you good at?

Jabb:...Well, I can do a lot of things - but most of them are only a matter of Jabberwocks. You know - something like frightening the chicks, burning the wanna-be-heroes, doing some cloudsurfing, collecting useless things, crawling under your bed, and so on. But if you like then we can do it together, guest

ME: I see we hit a programmed response here then! Tell me about Lewis Carroll.

Jabb:...Very well, let's have a little chit-chat about Lewis Carroll. You start!

... and so on.

Unlike earlier generations of chat bot, the response are grammatical, and the re-editing of what I typed into Jabb's response is done pretty seamlessly. But it's not a conversation. The responses are totally vacuous and you would have to be pretty narcissistic to want to spend a lot of time in this kind of interaction.

If this is as good as it gets for champion systems, anything I would program in a few days would be completely useless.

These systems are driven by superficial pattern-matching on what the user types. Non-trivial conversations, by contrast, have to be about something, which means that there has to be deep domain knowledge built into the 'bot'. This makes processing much harder - you now have to figure out what the user meant - and involves the bot designer creating a body of expertise. As we know from 'expert system' projects, this can take a while.

Putting my hobbyist desires to one side, the issue I will take up in my new chapter 12 is whether a non-trivial conversational system about something (some business task) of interest and value to a customer is prospectively in the state-of-the-art at all. More later.