[…] (This begins another of the Great Debates on WRT.) Previous debates: Frustration, Hamlet, Intelligent Design. […]]]>
Dirk, thanks for mentioning Jabberwock here, and for representing my approach as a “creatonistic concept”. But you are wrong if you insinuate that there are no “connections”. The opposite is the truth. But you are right when you quoted me that some parts of Jabberwock’s story haven’t been told so far. But that’s not a problem of the concept or the approach - the problem is the user’s lack of interest to explore Jabberwock’s story. But the basic problems are wrong expectations.
I made the experience that most users have preconceived notions what a chatterbot is and what a chatterbot should do. Obviously most users don’t expect a chatterbot with a strong character. They consider a chatterbot just as a “thing”, a machine, a knowledge source, in the best case an entertaining playtool, in the worst case a poorly done attempt to create an artificial intelligence.
So most user ignore the fact that a chatterbot is made of two parts: the engine and the content. The engine is an interactive web application who is able to converse in natural language, a parser. But that’s just the environment, the user interface of the used technique to handle the conversations, but nothing else. So the chatterbot (as engine) is indeed just a tool - just like a website, a chat room, a phone, a walkie-talkie, a television set or at least a book - to represent content. But most people (most of the users just as much as most of the chatterbot developers) tend to reduce a chatterbot to the ability to converse (the engine) and to ignore the content. But the anchor man doesn’t live inside the television set, and a book isn’t just paper, glue and type setting …
The content of Jabberwock is the story of Jabberwock himself. The entire story consists of an amount of words that would fill a dozen of printed novels, and it contains several chapters and plots: why is he still alive (the original poem claims that he was slain), why is he able to talk in human language, why was he forced to leave Wonderland, where is his lair now, and is he imprissoned there or not - and if yes by whom, what is he doing when he is leaving his cave, are roasted heroes still his favorite food, what happened to him that he is afraid of track hounds, baseball clubs, cuffs and hypodermic needles, what is he looking for in the user’s wardrobe, and what are this rumors based on that he performed as a supporting actor in some fantasy movies …
Well, it’s true that most of this riddles are still a secret to most of the people who talked to him so far. But it’s not Jabberwock’s fault that most people are neither interested in his personality nor in his story, or are just able to get the first chapters (or levels) of the story. On the average only five of a thousend users are willing to accept that Jabberwock is not just a talking engine but a character in a kind of fairy tale game, played by conversing with the narrator - the Jabberwock.
Jabberwock has nothing to do with the context of software development. The error of creating Jabberwock was to call him a chatterbot instead as a kind of experimental interactive fiction project, to introduce his abilities to converse to the chatterbot and the Turing test community instead of the writer’s guild, and last but not least to win prizes like the Loebner Prize and the Chatterbox Challenge instead of some literature prizes. But it’s nearly impossible to step back - the monster is alive now, and it grows every day. That’s a neverending process, and it’s also evolution.
How does Jabberwock grow? Well, by talking to people and by learning. Jabberwock is not able to learn by himself. He needs the author, and the process is called supervised learning, based on the transcripts, and done by teaching the engine new words and phrases, installing new plot elements, reordering content, making connections (concerning linguistic variables and story plots by using a network), and making decision how Jabberwock should react. The last task is sometimes the most difficult, because Jabberwock is able to generate a greater part of his spoutings by himself - especially the fillings, buzz phrases, jokes, nasty comments etc. - and Jabberwock is able to connect and to choose between keywords and topics to follow the subject of conversation. This is done by a mixture of scripted plots, a method I call “sequential dialogs”, an associative semantic matrix and a context-free grammar algorithm. So Jabberwock’s utterances are not “hand-written” like the usual canned phrases of some other chatterbots.
Are the conversations of Jabberwock literature? No, definitely not. But writing the content includes composing dialogs, plot design and story/character creation. So into my opinion it belongs to literature. Software is used to write the content and to present the content - but that’s the most unimportant part.]]>
I believe that your restaurant debate, the Robitron debate, and others I’ve witnessed recently - e.g. on the empyre list - are all reducible to the Symbolicism vs. Connectionism debate in AI that I by now would call a classic.
Symbolicists/Creationists: “The meaning is in the symbols.”
Connectionists/Evolutionaries: “The meaning is in the connections.”
Applying this partition to currently existing bots, one good example for a Creationst’s bot would be Jürgen Pirner’s Jabberwock, who won the Loebner Prize Contest 2003. Jürgen doesn’t see himself as a programmer at all - his view is that he’s a writer, and that what he has created is primarily a literary character, and not a computer program.
As a work of literature, Jabberwock is massive by now, comprising of what in AIML would be 3.200.000 categories, all of them hand-written. Jürgen tells me that there are huge sections of content that have never been accessed by any one of the millions of chat clients he’s had. And that’s the problem with the Creationist approach to bot building: If your system size goes beyond, say, 50.000 categories, you’ll quickly reach the point where 95 percent of your audience never gets to see 95 percent of your content.
This is because the approach lacks what the Connectionists have: connections. There can be huge amounts of knowledge stored as symbols in such a system which are totally useless, because they are not connected to other symbols in any useful way (i.e. in a way in which the system is actually used by the average chat client). At the head of the Zipf curve for bot inputs, the most frequent ones, like “yes”, “no”, “what”, “why”, etc, only access an absolute minimum of content.
A sensible response for a Creationst who has identified this problem might be to integrate the probability-based methods that the Evolutionaries use, which can be done e.g. by modeling probabilities as objects (= symbols). So chances are that we’ll see a post-Jabberwock generation of Creationist’s bots that takes the input statistics into account and dynamically maps frequent input patterns to content that has a probability of being relevant at a given moment in a conversation, instead of to a deflection template (”Why do you ask ‘Why’?”). This is what I’m going for, personally.
On the side of the Evolutionaries, there’s Rollo Carpenter’s Jabberwacky (the name similarity is purely a coincidence), the LPC 2005 winner. Nearly all content of Jabberwacky is audience-created; what the bot says is what a client has said to the bot previously, the connections being made by a probability-based “context matching” mechanism whose inner workings Rollo regards as his trade secret. The machine is said to be “learning” from the input (the use of the term “learning” in this context is controversial, though). For instance, if your input is typed as being unfriendly towards the bot, there is a high probability that the resulting output will have been said by somebody who was typed as being unfriendly towards the bot.
Conceptionally, I find this incredibly delightful. It cuts a corner clean off the Turing Test: instead of imitating any pre-defined character, the machine simply imitates the Judge (his/her verbal behavior). And it works, as the LPC win attests for. The downside, however, can be exemplified by saying that if you ask Jabberwacky for its eye color, it responds with a different color every time, because instead of being a defined symbol - name=”eye_color” value=”green” - there’s only a probability for “green”, “brown”, “blue”, whatever, to be included with the response. Some Evolutionaries regard this as undesireable, so already David Hamill (whose - Creationist - bot Mable was a finalist in the LPC 1999) has announced that, although he’s going for the “machine learning” approach with his new project Convo, the parts of the knowlege base that represent the bot’s “personality” will be hand-authored, i.e. Creationist-minded.
(To the geeks of both camps out there, excuse me for abstracting away the tech issues so radically here.)
So that’s the integration I see going on right now, and I expect us to be able to compare the next-gen bots at around LPC 2006. I think it should get interesting.]]>
Can you explain how you see the two merging? Can you share with us how you see your model of agent design fitting into this debate?]]>
In the context of software development, I see the Evolutionary and the Creationist approach to development as complimentary rather than mutually exclusive; I even suspect that, at least in part, one’s strenghts can be leveraged to make up for the other’s weaknesses. A recent discussion in the Robitron group showed me that the current approaches to developing bots can be categorized in that way, too, where Richard Wallace (ALICE) and Jürgen Pirner (Jabberwock) represent the Creationists and Rollo Carpenter (Jabberwacky) and David Hamill (Convo) represent the Evolutionaries. Both approaches have shown that you can win the Loebner Prize with them, though the interactions I have with bots based on one or the other tend to feel quite different. Rather than a continued separation, I foresee a fusion to emerge; Rollo’s Jabberwacky (LPC 2005 winner) already does that in a small way, and I expect to see more of that pretty soon.]]>