ALICE vs ALAN

I was introduced to Alice by one of my friends, Kiruba. Since then, I have been highly fascinated by these linguistic chatting entities. I found a number of others like Eliza and many others having egos of some singer or actor. But the best surprise came to me from Alan. He is really interesting. Whoever I introduced him to became really fascinated by him. Alan is from an Israeli company.

At Alice bot, you will often see mentions of the Loebner Prize. In fact, Alice has won the Loebner Prize previously. However, I did not find such information at Alan's place, and he is better at holding conversations than ALICE. When Dr. Rich posted his observations regarding the Loebner Prize, I raised a question: If given a head-to-head competition between ALICE and ALAN, I am sure ALAN has better chances of winning. The major difference I have found between ALICE and ALAN is that ALAN can continue with its sentences (it is one of the drawbacks as well, since it can't switch topics while continuing sentences), whereas ALICE is somewhat like a one-liner. I have always wondered why ALAN is not featured in Loebner Prize contests. If you ask these things to ALAN, you may get some "political responses." I don't know what the actual story is, but don't you all agree that ALAN is better than ALICE? What are the reasons? What are the tradeoffs?

To me, the race is: can ALICE match and beat ALAN in conversational skills?

These were answers by Dr. Richard, the creator of alicebot.org:

Someone posted a question about the ALAN chatbot, so I went to have a look. This bot evolved from Jason Hutchens' Megahal project, a former Loebner Prize winner. I must admit, when I engaged ALAN in a conversation about ALICE and the Loebner contest, the results were impressive.

That being said, it must be remembered that ALICE and AIML are free, open- source technology, and the company a-i.com is developing a proprietary "black box." If you ask ALAN, "How do you work?" he explains, "My brain consists of a large content tree: a single 'agent file' and a set of 'handlers,' which govern a variety of conversation topics." He also admits, "My brain is still quite small: less than 350 handlers and a few hundred variables. But I'm still a young bot. Think how smart I'll be when I have thousands or more!"

Their website is impressive and contains a lot of useful links, but there is nothing equivalent to the free AIML software that you can download and create your own bot. (They have, however, announced a program that allows people to create so-called Private Virtual Personalities.)

The ability of ALAN to stay "on topic" for (apparently) longer than ALICE is an illusion that could just as well be created using the tag of AIML. It happens that the ALICE brain has a wider range of "one-liner" responses and uses the tag very little. But there is no reason in principle that another AIML bot could not carry on a conversation just like ALAN.

Has anyone tried teaching ALAN? It is really cool. Ask it, "What is logical?" and if there is no definition for it, it asks you to define it. So you reply, "Logical is when the world blows up because it is run by chatterbots," and from then on, that will be the definition. If you want to delete it, say, "Forget logical." I tell you, you can have a lot of fun redefining a whole bunch of definitions. :-)

I wonder if there is a way to teach ALICE through talking to her?

I can't imagine it would be too hard... hmm, do any of the interpreters allow for variable expansion in the XML? I don't think that that would be normal XML, though... I know with embedded JavaScript or embedded Perl (ProgramV), it would be fairly simple to do that.

The problem is that random clients can't be trusted as teachers. They can teach the robot all kinds of nonsense like, "The Indianapolis Speedway is located at the North Pole." In principle, you can teach a bot by talking to her, but you have to figure out which teachers you can trust first.

I always say it's like teaching a child language by telling him to go out on the street and believe everything he hears. Sure, he may learn to talk, but without supervision, he won't learn right answers from wrong ones.

I had a version of targeting working in SETL for a while that could pick out targets for the botmaster and carry on a natural language conversation like, "Someone said, 'How do fish swim?' and I said, 'I didn't even know they could.' What should I have said?" And then the botmaster could write the new reply in natural language. Unfortunately, that code was lost, and it hasn't been re-implemented in any of the other AIML software that I know of.

Teach ALICE through talking to her?

Sure, done before many times. Not many interpreters provide a mechanism for real-time learning. J-Alice is one of the few still-supported interpreters that does. TinyAlice was perhaps the first to introduce a working version of the concept.

I will make phoe6 smart. ;)