

Albert Einstein bot that you can extend (click "chat" near the top to talk to him) - amichail
http://chatbotgame.com/?cmd=chat_b&mode=einstein

======
unalone
This is nothing new. This is a typical customizable chat bot with random
Albert Einstein quotes.

 _Albert Einstein: Everything is relative you know... You: Hi, there. Albert
Einstein: Hi, I am Albert Einstein You: No, you're not. Albert Einstein: Write
"Tell me something" and I will tell you something You: You are a computer.
Albert Einstein: You are right. What gave me away? You: You are stupid. Albert
Einstein: Oh yeah? Well, you are ugly, and I can learn._

Clever, but it still needs a lot of work. Why haven't linguists ever
approached this problem? I'm sure you could analyze _how_ famous people talk,
and really learn how to simulate their talking patterns, and make a bot that
sounds like a specific human.

~~~
amichail
I think what's different here is that submitting a chat rule is so simple that
anyone can do it.

Moreover, it's kind of fun to submit a chat rule and see how well it works out
in actual chats.

~~~
unalone
Yeah, but that's an old thing. A friend did this with Trillian for a group of
us: it's neat at first, but it's simply preprogramming responses, even if the
web site in question says it's teaching the computer to think.

~~~
amichail
Sometimes simple methods can work well. For example, Deep Blue brute-forced it
with speed in chess.

The idea here is to accumulate a large database of chat rules to provide
convincing conversation.

~~~
unalone
Chess is far less complex than conversation, though. For conversation, the
opening line alone will have trillions of possible permutations. Brute-forcing
it won't work for something that incredibly complex. A more subtle solution is
needed.

~~~
amichail
Humans are predictable though. That makes it tractable via brute-force.

~~~
unalone
They're not so much predictable as anticipatable. You can't determine what
they're going to to. You can only track the most likely conversation threads
and attempt to meet them as readily as possible.

The problem is, unlike in chess, there are no restrictions in a conversation.
The trick with programming a really believable bot, I think, is not to brute-
force it, but to create some sort of emotive simulator. Something that shifts
the bot's mood as time goes on. That way, you're able to make the responses
more believable, even if you don't anticipate responses to each line.

The reason brute force doesn't work is because the _human_ mind can't always
anticipate things. However, we know why we don't anticipate things. We're able
to tell when other people's responses are absurd and don't make sense; we can
choose not to follow threads. Look at the snippet I posted above: the computer
responds to everything as if it's logical conversation, which it's not. If a
robot can't tell that, then the next step is to teach it how to tell. And you
can't brute force that.

