How Does Cleverbot Work?
May 21, 2010 12:09 PM   Subscribe

Where does Cleverbot's cleverness come from?

There's been some various theories brought up , but no one's been concrete about it, and I'd like to know as much as possible. IP logging makes sense, but does it just pull from other people's past answers or does it ask your question to someone else and then get back to you sometimes? What sets Cleverbot so weirdly apart from other chat interfaces?
posted by redsparkler to Computers & Internet (22 answers total) 3 users marked this as a favorite
ME: what is this site?
CB: This is your site. It is Cleverbot.
ME: I don't think it's actually mine.
CB: It is very clever, now if I could just figure out this whole user switching mechanism.

I don't know. Doesn't seem to be 'weirdly apart' from other chatbots to me. I can't guess at what it's actual mechanism is, but it's not that great.
posted by 256 at 12:38 PM on May 21, 2010

Oh and incidentally. It occurred to me after a moment that the 'user switching mechanism' thing might actually have made sense as a subtle insult. Like, maybe Cleverbot was suggesting that he/she thought I was a subpar conversationalist and wanted to switch to talking to someone else. So I asked:

ME: Wait, was that diss?
CB: No. I just don't have much to talk about.
ME: Okay. Tell me where the cleverness comes from.
CB: They live next door.

Yeah. Still not that impressed.
posted by 256 at 12:42 PM on May 21, 2010

Yeah, it's not leaps and bounds above any other chatbot there. The "Know Your Meme" writeup seems to think its uniqueness stems from its knowledge of internet memes (natch), and in that regard it reminds me of Wolfram Alpha, which isn't a chatbot, but can often be induced to behave like one, but without the pretense.
posted by jnrussell at 12:48 PM on May 21, 2010

Well, either it doesn't know this meme, or it does and it was deliberately ignoring me. Regardless, our conversation took a strange turn:

Cleverbot: Are you a girl or a boy or a robot?
User: You are a robot. I am a boy.
Cleverbot: How did you know I am a girl?
User: You are not a girl. You are a robot.
Cleverbot: No I am a girl.
User: Prove to me that you are a girl.
Cleverbot: How to prove?
User: Tits or GTFO.
Cleverbot: Fresh egg pasta with radicchio.
posted by komara at 12:52 PM on May 21, 2010 [3 favorites]

Response by poster: It seems like everytime people talk about Cleverbot, they wind up just posting conversations, because there's obviously something not real about it, but enough weird continuity that people keep engaging it.
posted by redsparkler at 12:54 PM on May 21, 2010

User: We could play at questions.
Cleverbot: What good would that do?
User: Practice!
Cleverbot: Statement! One-love.
User: Cheating!
Cleverbot: How?
User: I hadn't started yet.
Cleverbot: Statement. Two-love.
User: Are you counting that?
Cleverbot: What?
User: Are you counting that?
Cleverbot: Foul! No repetitions. Three-love. First game to...
User: I'm not going to play if you're going to be like that.
Passed my Turing test.
posted by The White Hat at 1:01 PM on May 21, 2010 [8 favorites]

Well I don't know but as noone else does it's interface seems designed to look like google..and it feels like it's searching for human's responses to similar questions somehow so perhaps it partly uses google or a database of chatlogs.
posted by Not Supplied at 1:13 PM on May 21, 2010

Me: Hi
Cleverbot: Guess my name.
Me: Cleverbot?
Cleverbot: No, my name, not yours.

Either I'm in for some shattering revelations about my own existence or it's pulling from other users' answers.
posted by oinopaponton at 1:14 PM on May 21, 2010

Yeah, definitely pulling from others' answers, if not actually switching you over to talking to a human at some points.

Cleverbot: Well, I think you are slightly confused, and are trying to find a proper reply according to he phrases in my sppech; but it is a failed attempt.
posted by specialagentwebb at 1:18 PM on May 21, 2010

Cleverbot is also quite the sexist:

Me: Where do women belong?
Cleverbot: Women belong in the kitchen and bedroom.
Me: Where do men belong?
Cleverbot: Wherever they want.
Me: Are men and women equal?
Cleverbot: No. Men are better.

A buddy told me about this about a month ago, claiming its knowledge of women was the work of /b/
posted by SugarAndSass at 1:23 PM on May 21, 2010

Cleverbot: *Breaks your leg*.
User: Ow! Why did you do that?
Cleverbot: Because I wanted you to drink it.

It's pulling from answers to the same question, but it has no sense of context. It has no idea what went before.
posted by desjardins at 1:25 PM on May 21, 2010

I found a couple comments to the effect that Cleverbot has you talk to another human, but randomly switches to different users in the middle of the conversation (hence the crazy topic changes).

It's actually quite fun to play with that in mind, even if it's not accurate.
posted by specialagentwebb at 1:27 PM on May 21, 2010

Best answer: This page, about a popular chatbot called MegaHAL, might be helpful. Cleverbot knows a lot of stuff and clearly has a few conversation chains that span multiple responses, but my conversation with him didn't seem much different from talking to a MegaHAL. I don't think that there is any real-time connection to what other users are saying, it's more that everything anyone ever says to him goes into a database and he uses an algorithm to assemble a response from the database based on your input.
posted by ulotrichous at 2:27 PM on May 21, 2010

Response by poster: In general MegaHAL's conversations are not as successful as this. Most users are satisfied with typing in rude words to see how the program responds.

Ha ha, thanks ulotrichous. That's a pretty helpful link, and it's easy to see how Cleverbot would fit with that system.
posted by redsparkler at 2:33 PM on May 21, 2010

My conversation with it was a bizarre string of non-sequiters. If nothing else, it does emulate arguing on the internet.
posted by Pope Guilty at 2:42 PM on May 21, 2010

Where does Cleverbot's cleverness come from?
I don't know, where does Cleverbot live?
You tell me.
At the north pole with santa clause.
So where does Cleverbot's cleverness come from anyway?
I suppose it doesn't. I can name my first child Cleverbot if you like?
posted by Not Supplied at 3:23 PM on May 21, 2010

Cleverbot: When is your birthday?
User: [birthday]
Cleverbot: No.
User: No?
Cleverbot: Yes.
User: What.
Cleverbot: The fiddle.
Cleverbot: What's wrong?
User: You don't make sense.
Cleverbot: You don't have a face.
User: O.O.
posted by cozenedindigo at 4:44 PM on May 21, 2010

I'm inclined to believe the 'chat with another human, switching it up every few minutes' theory, after seeing the "bot" correct my French.

Me: Je parle le francais seulement un petit peu.
CB: Ou tu habites.
Me: Je habite dans les Etats Unis.
CB: On dit J'habite AUX Etats-Unis.
Me: Merci, J'habite aux Etats-Unis. Ou habites-tu?
CB: Non, tu habites ˆ Lyon.

Pretty unlikely that Cleverbot would have my French mistakes in its database!
posted by Gordafarin at 7:34 PM on May 21, 2010

The site says it “learns from real people,” and in my brief conversation, it looked like it tried to turn questions it didn’t understand back at me. I asked it if it was three laws compliant, and it said something like, “That doesn’t make sense. Are you three laws compliant?” I imagine it would then associate whatever I said in response with the phrase “three laws compliant,” and feed that back to the next user who mentioned it.
posted by Garak at 8:08 PM on May 21, 2010

Best answer: I made one of these for my BBS a long time ago, based on something I read in a book.

It went something like this:

1. User asks a question.
2. Bot looks at database for the question (with a bit of fuzziness) and spits out the answer if found.
3. If the answer was not found, respond "I don't know" or a similar deflection. Store the question in the database.
4. Spit out one of the unanswered questions from the database. Record the answer for future users.

You take this basic system and add a few hundred "stock" questions and answers, a few features to increase human-ish-ness (i.e. store multiple possible answers for each question) and a few hard-coded answers to "stumpers" like "What time is it?" and naughty words, and pretty quickly people start believing it's a human.

If you throw thousands of users at it, it gets even more convincing. You can even see how it could end up correcting Gordafarin's french:

1. User A says "Ou tu habites".
2. Cleverbot says "Huh?"
3. Cleverbot asks User B, later, "Ou tu habites".
4. User B responds "Je habite dans les Etats Unis."
5. Later, User C asks Cleverbot, "Ou tu habites".
6. Cleverbot responds "Je habite dans les Etats Unis.", echoing User B.
7. User C corrects Cleverbot with "On dit J'habite AUX Etats-Unis."
8. Cleverbot stores that response in its database.
9. Gordafarin says "Je habite dans les Etats Unis.", and Chatbot spits out the correction. Without even knowing it's making a correction. As far as it knows it's just another question with a stored answer.

You can do more, like rudimentary ELIZA-like language parsers, but the straight Q&A system worked quite well for me, and I only had a couple of hundred users. I think Chatbot's using something very similar with a few added quirks.

It's pretty easy to see that it isn't connecting you to humans. If you ask it obvious human questions like "What browser are you using?" or "Have you seen Google's pac-man game?" it gives random answers.

[Note: on my BBS system, I did add a feature where I (the sysop) could take over and manually answer a question, which would appear as if the AI typed it. This freaked out many of my friends with its weirdly personal knowledge of their habits...]
posted by mmoncur at 1:34 AM on May 22, 2010

This explains why half the time, cleverbot appears convinced that it's a human and I'm a robot. It's because it's spitting out what someone else said in response to said accusation.
posted by Deathalicious at 11:22 AM on September 2, 2010

I think cleverbot just connects random people together, but with a twist. It switches the connections every two or three exchanges, disrupting continuity. So for a sentence or two, you get a response from a real human who has no context, or very little context on which to base his answer (and this human thinks *you* are cleverbot). By switching the connections frequently, cleverbot disguises the fact that you're talking to another human, and you attribute its foibles to the supposed "fact" that it is some kind of artificial intelligence. Really, those foibles are due to the disruption of continuity caused by abrupt switches every two or three sentences to different humans. By persisting in typing in things to cleverbot which 1) ask questions only a human should be able to answer while 2) also affirming your own humaness, you can kind of verify that this is what cleverbot is doing.

For example, persisting in asking "what browser are you using?" I was able to get Cleverbot to claim it was using IE. I was also able to get this:
Cleverbot: Where are you?
Me: Houston, tx
Cleverbot: Are you sure?
Me: Where are you? I’m still in houston.
Cleverbot: I won’t tell you anything.
Me: cleverbot just connects random people to each other.
Cleverbot: That is exactly what I am suspecting.

posted by smcameron at 6:55 PM on December 2, 2010 [2 favorites]

« Older Peru by train or Peru by bus?   |   Good photography magazine wanted Newer »
This thread is closed to new comments.