The Naked Scientists

The Naked Scientists Forum

Author Topic: How can they make Cleverbot more clever?  (Read 3472 times)

Offline cheryl j

  • Neilep Level Member
  • ******
  • Posts: 1460
  • Thanked: 1 times
    • View Profile
How can they make Cleverbot more clever?
« on: 13/03/2014 21:23:51 »
I just discovered Cleverbot, which made my 15 year old daughter roll her eyes, because everyone has known about Cleverbot, like, forever, and she and her friends spent much of her childhood bickering with Smarterchild.

Anyway, as dumb as I am, it didn't take me too many sentences for it to fail a turing test, and figure out it was saying things that had been said to it many times. It can't reference back than a single sentence, and it has no core identity. But it is a bit fun and amusing. After a bit of conversation, it said, "I think you are a bot." I said "Well, I will take that as a compliment." It said "You shouldn't"

I always thought that grammar and syntax would be the sticking point, but in a way, Cleverbot has found a way around that problem, by answering stock English responses to English assertions. although it often answers a "why" question with a "where" answer.

Any way, what do you think a conversational bot should be able to do, and if you know anything about AI, how hard would it be to make them do that? I am a walrus Coo coo ca choo. Well, I'm not. Are you sure? What are you talking about? Yes, but sometimes I ask myself why I even bother. Really? Me too. I thought you said you lived in New Jersey.
« Last Edit: 13/03/2014 21:31:02 by cheryl j »


 

Offline David Cooper

  • Neilep Level Member
  • ******
  • Posts: 1505
    • View Profile
Re: How can they make Cleverbot more clever?
« Reply #1 on: 14/03/2014 18:08:56 »
Cleverbot simply stores responses that people give to it in return for things that it says, and to work out what to say to the things said to it, it simply says them to someone else and records their answer. It's then a "simple" matter of finding the nearest equivalent in the database to anything that's just been said to it and then supplying the appropriate reply for that. The result is that it can hold a conversation, although a rather empty one.

For a machine to hold a proper conversation with you it would need to design a system that "understands" what it's hearing and saying properly so that it can hold a co-operative conversation. Making that happen is hard. The biggest barrier to it is untangling the tangled mess of complexity that words and ideas are made up of. Once you've got on top of that task, you then need to do something else, but that's what I'm working on at the moment and I don't want to describe it in any detail at all - not even a hint.
 

Offline cheryl j

  • Neilep Level Member
  • ******
  • Posts: 1460
  • Thanked: 1 times
    • View Profile
Re: How can they make Cleverbot more clever?
« Reply #2 on: 14/03/2014 20:25:36 »
On a related note, or maybe it isn't, why are Bing's translations of Chinese so incomprehensible?
 

Offline evan_au

  • Neilep Level Member
  • ******
  • Posts: 4128
  • Thanked: 247 times
    • View Profile
Re: How can they make Cleverbot more clever?
« Reply #3 on: 15/03/2014 00:32:34 »
One goal of a conversation is to construct a model of the other person's motivations, priorities, presumptions and feelings about issues (at least, as far as the other party will reveal this). This process is sometimes called "mind reading" (but not in the ESP sense). If this is done well, you should be able to predict the decisions of the other party, to some extent.

Some parts of this model will be common across all people. This is what cleverbot is doing - creating a mashed-up model of the whole population of cleverbot users (somewhat impaired by the fact that people will intentionally say ridiculous things to cleverbot, which are then assumed to be normal responses).

However, to do it well, a conversational agent needs to be able to:
  • Identify individuals, and to build up a model of that person (and not just assume that everyone lives in New Jersey, for example).
  • It needs to identify gaps in its knowledge about this person, and ask about them. (Knowing what questions are not appropriate is also important - but this may be less of a concern if someone knows they are conversing with a robot.)
  • Include information from earlier interactions (in the same session, or previous sessions)
  • It also needs to deduce likely actions from what it knows, and confirm these assumptions by asking questions.
  • Be able to estimate a confidence in its observations - some people will have a consistent attitude on some topic, but other people will change their attitude depending on context.
  • Clarifying these seeming inconsistencies is important (without making it sound like an interrogation)
  • The agent needs to have a similar, consistent, and slowly changing model about itself. Many questions in a normal conversation are about the other party.
  • There are significant context changes outside our conversations - perhaps that's why (in English) we ask how someone is going, after not seeing them for a while.

There are conversational agents that sometimes cause frustration and/or laughter, such as the predictive text on your mobile phone.
  • This starts off with some factual information like common words in your language, and their probabilities - but this is a population-wide model, and its initial proposals are often quite different from your intent.
  • By observing your individual pattern of accepting or rejecting proposed words, modern versions develop a custom model of word usage for their owner (including slang and jargon terms), and should improve their predictions with time.
  • It is another step to move from single-word interactions up to applying the rules of grammar to predict the next likely word based on the content of the sentence so far.
  • It is yet another step to analyse the topic of an individual conversation, and to propose words most relevant to that conversation.
It is also important to identify if there is a defined context for a conversation, eg
  • "Have a conversation with this person, and work together to determine information X (perhaps a short-term goal for AI), or accomplish task X (perhaps a longer-term task for AI)." This provides an initial context for the conversation.
  • "Have a conversation with this person that you don't know, and may never see again". This doesn't really have a goal, and is much more open-ended. Part of a good conversation is identifying mutual goals, and exploring them.
  • I think Apple's "Siri" has been a fairly successful example of a conversational agent, with the goal of becoming a personal assistant.
    • It includes a great deal of factual knowledge about the phone owner, including a directory of commonly called numbers, a diary of events, etc.
    • It also includes considerable factual information about the world, through its link with Wolfram Alpha
    • The text <-> speech conversion seems to work fairly well
    • Parsing the text into actions seems to work OK
    • It often proposes a hypothetical interpretation for confirmation.
 

Offline cheryl j

  • Neilep Level Member
  • ******
  • Posts: 1460
  • Thanked: 1 times
    • View Profile
Re: How can they make Cleverbot more clever?
« Reply #4 on: 16/03/2014 18:14:47 »
A lot of that does sound pretty complex, but I wouldn't think it would be as hard to provide some kind of short term memory within a single session about what was said a few sentences ago. It would prevent repeating questions that had already been answered, or making certain contradictory statements (Cleverbot doesn't just forget what I said earlier, he forgets what he said as well.) It might also duplicate the recursive nature of discussions, where one responds not just to the content of the very last statement but makes a deduction (or says something relevant) based on the information in several statements. That never happens with Cleverbot, as far as I can tell.
« Last Edit: 16/03/2014 18:16:33 by cheryl j »
 

Offline cheryl j

  • Neilep Level Member
  • ******
  • Posts: 1460
  • Thanked: 1 times
    • View Profile
Re: How can they make Cleverbot more clever?
« Reply #5 on: 17/03/2014 13:49:11 »
One thing I also noticed looking at conversations with Cleverbot that people saved and posted else where, is that people don't always seem to be bothered by Cleverbots quirkiness or even spontaneously irrelevant comments. It seems viewed as kind of whimsical, humorous, and actually a kind of indication that like a person, Cleverbot has internally generated motivations. And it's interesting too, that slight mismatches in content relevancy often take the form of amusing "puns."

If you completely got rid of these things, you'd have to go back and re-install a sense of humor in Cleverbot.
 

The Naked Scientists Forum

Re: How can they make Cleverbot more clever?
« Reply #5 on: 17/03/2014 13:49:11 »

 

SMF 2.0.10 | SMF © 2015, Simple Machines
SMFAds for Free Forums