What is a chatbot? er, chatterbot?
Published by Mark Marino January 15th, 2006 in bots, Text Art, Criticism, HAI.The terms for discussing chatbots are starting to solidify on this site, thanks to the work of Jeremy and Christy.? I wanted to take some time to open up the discussion to more people and to try to formalize some of our basic terms, especially as I find myself getting to the point in my writing where I need to define them.? The definitions which follow build upon a number of important posts on this site, most notably: Bots, Demons & Dolls.?Also, useful informative was the discussion thread here. (These definitions represent my current use of these terms and do not reflect official WRT standards).
Conversation Agents: The broad class of agent programs written to simulate conversation through symbolic exchange.
Chatbot: A type of conversation agent that centers on keyword matching often in combination with other strategies; Conversational Reflex Agents (as defined in Russell and Norvig 41); Chat robot. ?Chat relates to “chat mode” in the Loebner Prize and Internet conversations, known as “chat.”
Here I am moving away from only “simple” reflex agents, since some of the bots I consider chatbots do save state.? I am also reluctant to?merely use the term “conversation agents” because it seems more of a broader classification.? Chatbot seems to be an historically bound category, tied to a particular type of program.??Technically, by this measure, some conversation agents, such as Rollo Carpenter’s ?Jabberwacky, might not be considered chabots, but a different class of conversation agent,?since it operates on learning mechanisms.
Why not Chatterbot? As Christy points out (via Andrew Leonard), Chatterbot is specifically traced to Mauldin’s?project,?Julia, and may be the more scholarly term, but I don’t believe it captures the relationship between these kinds of programs and the material, if digital, practice of networked communication via chat.? Though ELIZA predates the practice, it seems natural to include it, since much of the architecture builds on ELIZA’s original illusion.? These other programs seem broadly tied to the function of “chat” as enacted through networked textual exchange.
In developing this definition, I draw upon the OED:
Computingand Telecomm. A facility for the online exchange of messages in real time by two or more simultaneous users of a computer network (esp. the Internet) whereby text keyed by one participant appears immediately on the monitors of all. Also: (an instance of) this form of online communication. Freq. attrib. Earliest in chat line; see also chat room.?
And this particular usage:
1985 Today’s Computers Mar. 26/3 Chat, a mode [of computers connected as a Local Area Network] in which two or more users may type messages on each other’s terminals, enabling back-and-forth conversations through the network without waiting for electronic mail to be sent and received. So by using chatbots, I’m tying?them to this historical cultural practice of chat rather than Mauldin’s terminology and the chatbots living in MUDs and MOOs, which I suppose would be a subset of chatbots.
Chatbots are popular: In a google search for pages, Chatbot is used many times more than “Chatterbot” (see GoogleFight): Chatbot: 642,000?? vs. Chatterbot: 390,000?
A sampling of online sites finds both in usage:?
A-I Research: Chatbot?
ALICEbot (Richard Wallace) Chat robot
Botworld: Chat bot
Pandorabots: Chatbot
Robot Soul (Dirk Scheuring): Chatbots (aka chatterbots…and other names)
Simon Laven: Chatterbot
Wikipedia: Chatterbot (also chatbot, chatterbox)
Zabaware: Chatterbot?
Something tells me a search of many more sites might turn up conflicting use, and this is part of the problem.?? Why care at all? Good question, except at some point we need to choose terms and it occasionally helps to have a reason.This said, I’m leaning towards calling “chatbot” that version of “conversation agents” that makes use of keyword matching with or without other processes such as Case Based Reasoning, Naive Bayes Estimation, Markov Chains, et cetera.? I see this as a technology whose name will change as it evolves into other algorithmic structures, rather than?a nominclature following commercial advances that seek?their trademark (the satirized Vactors–Virtual Actors in S1m0ne).??
Russell, Stuart J. and Peter Norvig. Artificial Intelligence: A Modern Approach. Upper Saddle River, N.J.: Prentice Hall, 1995.
10 Responses to “What is a chatbot? er, chatterbot?”
- 1 Pingback on Apr 21st, 2006 at 12:24 am
What about ‘bot’? I use bot more than chatbot. I use chatterbot when I’m explaining to someone what they are; chatbot when I’m not sure how much they know; and bot if I think they do know. The trouble with bot is that it is also short for robot. I think bot should be for chatbots only!
That’s interesting. I wonder if others use bot that way? Though I am almost only talking about chatbots, it seems like we’d be excluding a lot of software bots that seem to be more generally known by that name. In what I’ve seen, bot seems to be a kind of suffix, used for most of these.
In my experience as a researcher in the field, “chatbot” is more specific in terms of application rather than method. A chatbot is something that holds a more-or-less open ended conversation, largely for the purposes of entertainment (”chatting”).
A “conversational agent” (more common than “conversation agent”) is any kind of AI agent that can engage in dialogue with a human. Thus chat bots are conversational agents, but so are air-ticket reservation systems, if they have sufficient flexibility in handling natural language.
“Chat bots” (and especially “chatterbots”) are mildly disparaged in academia as being shallow toys, while “conversational agents” are serious research projects. This is probably just a case of linguistic snobbery, but if you want your work to be taken seriously, you should call them “conversational agents”. Whether you wish to play that game, I leave up to you.
Malcolm,
I appreciate your input on this question. I see what you mean about the difference in method. I am trying to come up with a name for a particular type of program, however, based on its processes. So, as you point out, these are different approaches to the question of definitions.
You say
I guess by defining these terms in this way I am and am not playing the game. I am playing the game by using a more restrictive definition of chatbots, similar to the one that is disparaged. However, I take very seriously the project of analyzing and characterizing programs. I do not sit around and poke fun at the Quicksort because it is more or less than the Bubblesort. There is something about chatbots that earns a particular kind of scorn even by those who develop them.
Nonethelesss, if we pretend chatbots are more than what they are, we probably deserve some mockery. If we dismiss them altogether, neglecting the role they have played in the cultural imagination, in the history of the Web, and even in other applications, we also deserve some mockery.
I made the experience that most of the developers (like myself) prefer to use the term “chatterbot” - especially the developers who call themself “author” (in contrast to “programmer”). “Chatbot” is mostly used by the users, the audience. “Bot” is mostly used by people talking to a chatterbot, and then “bot” is often intended to be a contemptuous naming, just as a synonym to “thing”, “machine”, “object” in contrast to “person” or “character”. Calling a chatterbot a “bot” is an insult.
In general the term “bot” is the least useful naming here, because it’s not only just the short form of “robot”, but it’s mostly associated with so called “bots” in first person shooter computer games. So a “bot” is something which can fight and move, but it doesn’t need to have the ability to talk or to converse.
Eventually I agree with Malcolm - the different namings are just liguistic snobbery. And this snobbery doesn’t reflect the skills or abilities of a talking system but the opinions about them. So you can understand the different namings as an instrument to observe of which “school” or “field” a particular person is coming from. Let’s have a subjective look:
The term “conversational agent” is mostly used by scientists, linguists, researchers in the field of behaviorism, students, teachers or any other researchers who believe that they are talking about a serious field of technology. Sometimes it’s just an effort to be serious. But this effort seems to be necessary and political correct because the term also suggests a conjunction to “artificial intelligence” - not matter if there is in fact any intelligence or not.
Nevertheless this term is probably the most neutral because it just describes a device that can converse in human language. This device can be a piece of software (program), a hardcoded computer chip, or any other technical black box including any form of hoax. A “conversational agent” can use a text based communication, or voice recognition, and voice output.
The term “lingo bot” (talking agent, web agent) is mostly used by marketing and PR managers, IT-specialists and in general by companies who are developing and selling “talking web applications”. Commercial talking web applications mostly consists of two or three parts: an avatar (animated character), the lingo bot engine (the program, including the web interface to get the user queries and to present the replies), and in some/most cases a speech/voice output system.
So the accentuation of the term “lingo bot” points here to “talking”. It means that a “lingo bot” can’t necessarily conduct a conversation, but it can talk (understand questions, give answers). A lingo bot is mostly a program, but rarely a device. Lingo bots are mostly experts in a limited domain - selling products, answering customer questions, offering lexical information.
The term “chatterbot” is mostly used - as I mentioned before - by developers. Especially if the goal of this developer is to create a virtual character, a software based entity, a convincing simulation of a personality, by using a text based form of communication between the character and the interlocutor. A chatterbot is always a program, but not a device. It can be a web application or a stand alone application.
The term “chatterbot” also refers to terms like “chatterbox”, “chatterer”, “motormouth”, but not in a belittling form. It just means that “chatterbots” are generalists, they can have a chit-chat about nearly every subject, there goal is to chat and to entertain.
So chatterbot designers consider themself as game designer or authors. Some of them (like me) have roots in literature, story telling, screenplay, interactive fiction and fantasy role playing. Chatterbot developers always know that they are just developing toys - otherwise they deceive themself.
The term “chatbot” (chat bot, chatting bot, talking bot, chatbox, chat robot etc.) refers in most cases to an instrument to administrate a chatroom. The chatbot sometimes mimics as an user or as the admin, but it’s goal is to observe the conversations. Chatbots have admin status, they can kick, ban and block abusive or unwanted users. They serves as a help desk to answer user questions regarding the content, the chatroom, other users, how to switch to another channel etc. Therefore several commands (keywords) are available to trigger the chatbot’s activities.
Most chatbots are silent and don’t talk without invitation - they are just spouting administration messages. But some chatbots are also chatterbots, and it’s possible to talk to them - mostly in a private conversation.
In general the term “chatbot” is used by everybody, and it includes all of the meanings mentioned above. So it’s the most weak term here (beside of “bot”), because a chatbot could be nearly everything.
Into my opinion a “chatterbot” consists of five parts: the chat engine (parser), the programmer of the chat engine, the personality (brain file, knowledge, character), the author of the personality, the interlocutor - but that’s a different story …
Bot is also used by programmers, though is the public domain. And there are also “botmasters”, another common term. I always use “bot” affectionately, and never mean it as an insult and haven’t come across people who use it as an insult. Perhaps it is in insult when used by people who prefer “chatterbot” or “conversational agent”?!
I agree though, that “bot is the least useful naming here”.
Here is another use for “bot”, bot as zombie army for illegal activity… A recent article in Reuters details the crime:
In the taxonomy I use, Bot is one of the two subclasses of Actor, the other one being Client. Any actor plays a character, and it’s important to me that, conceptually, I can treat bots and clients the same, as actors playing characters. This makes it able for me to take a bird’s eye view on the control flow of a conversation: which actor is in control at which moment, and what the other actor could do about it.
More linguistic snobbery:
ACE = artificial conversational entity
First introduced in paper “A.L.I.C.E.: an ACE in Digitaland” (in computational linguistics track of European Conference on Computing & Philosophy, Vasteras, Sweden, June 2005).
Why? To distinguish between the ‘naturals’ - the Confederates (hidden humans) from the artificial machines/programmes participating in Loebner’s Contests for Artificial Intelligence.