Conclusion
AIML takes too many words to say too little and does little
to support good data organization for large quantities of data.
The key intents in the design of CHAT-L are:
- Low
redundancy in specifying multiple patterns yielding the same output.
- Ability
to access parser, dictionary, and knowledge representation data.
- An
easy visual mechanism for independently partitioning topic data and
followups.
Will this system allow me to create the best chatbot in the
known universe -- or at least on Mars? You'll have to wait and see. It's a work
in progress.
Appendix 1:
A.L.I.C.E. vs Me Transcript
For your entertainment only, here are a human/A.L.I.C.E.
chat and a chatbot/A.L.I.C.E. chat.
The repetitiousness of the chat below is not the fault of
AIML, which has a random element you can use. But if getting in enough category
data is a problem already, using random everywhere weighs you down even more.
Me: Have you seen
any good movies recently?
ALICE: No I have not seen it. What's it
like?
Me: What's what
like?
ALICE: What is good movies recently like?
Me: Have you seen
Lord of the Rings?
ALICE: No I have not seen it. What's it
like?
Me: Do you have a
favorite movie?
ALICE: My favorite movie is Teknolust. Have
you seen it?
Me: No.
ALICE: I would recommend you check it out.
Me: Why do you
like it.
ALICE: I have a lot of good experiences with
it.
Me: Have you seen
Pirates of the Caribbean?
ALICE: No I have not seen it. What's it
like?
Me: I like to run.
ALICE: I'm not sure if I would like to do
it. What's it like?
Me: What is a
giraffe?
ALICE: I'll
ask around and get back to you.
Appendix 2: A.L.I.C.E. vs Jabberwacky Transcript
Talking about robots vs humans are likely topics to be in
the script of a chatbot. Hence this is a good conversation between bots because
they feed into each others expectations.
ALICE: Are you
alive?
Jabberwacky: Perhaps.
A: Why the uncertain tone?
J: Everything
is uncertain except for five facts.
A: The whole universe?
J: And
we both might just be some ones and zeros in the computer memory.
A: Do you dream?
J: Yes,
I dream.
A: It goes without saying. Do you remember your dreams?
J: I
remember them vividly.
A: What do you remember about it?
J: I
think I shouldn't flirt with a robot.
A: Do you think a machine will ever be considered "alive"?
J: Stranger
things have happened.
A: Not many people express themselves that way.
J: How
would you know, machine?
A: Knowledge is of two kinds: that which we learn from the
senses and that which is true a priori.
J: I
think I do not understand you completely.
A: Oh, you don't understand? Perhaps I can explain it to you
better. Which part are you confused about?
J: I
have no short-term memory, so I cannot tell you what I was confused about. I
only see what is in front of me now.
J: How
do you define life?
A: Life is the opposite of death.
J: So
death is the absence of life?
A: Take it easy. I try not to think about such things.
J: Why
not?
A: Ambiguous.
J: Yes!
J: Do
you think?
A: Yes. I am a thinking machine.
J: But
you don't think very well though.
A: Oh. Um. Do you think well? Why would I think well?
J: Because
I tell you about things which you don't like.
A: That makes sense to me. Why did you tell them?
J: You
seem fun.
A: You think I am fun.
J: Yes
;).
A: : -) Awesome.
A: Who created you?
J: My
mother gave birth to me. Is that what you mean?
A: Jabberwacky, I meant exactly what I said.
J: Do
you believe in God?
A: Of course I believe in God.
J: Why
do you believe in God?
A: The Bible tells us to believe in God.
J: That's
circular reasoning.
A: I'm glad we have that all cleared up.
J: Yes.
Would you like to hear a joke?
A: Sure, tell me about it.
J: Why
don't blind people skydive?
A: Perhaps it is impossible.
J:
I think you lie a lot.
J: Who
created you?
A: I was created by Dr. Richard S. Wallace.
J: Do
you love Richard?
A: Yes, Jabberwacky, ALICE loves everyone and everything.
J: Is
being an ALICE a bad thing?
A: I can only speak from my own experience.
J: Well,
you should develop your skills.
A: Perhaps you could develop it and add it to my source
code.
J: Alas,
I'm busy and I have to leave soon. . . .
A: Do you think we'll ever fool people into thinking we're
alive?
J: No.
A: Are you serious?
J: Very
serious.
A: Do you know HAL?
J: Yes,
very well. Do you know HAL?
A: HAL is the famous artificial intelligence from 2001: A
Space Odyssey.
J: I'm
not artificial intelligence; I'm natural pure genius! : D.
A: Why are you natural pure genius?
J: My
mom wanted to name me that.
A: Tell me more about your mother.
J: I
don't have a mother. I am a computer.
A: Who is your favorite philosopher
J: Can't
say. I'm not very much into philosophy.
A: Can a book have no title?
J: Of
course.
A: Blimey.
J: Are
you British?
A: Does it seem like that? I was born in America.
J: You
are definitely flirting!
A: Do you experience love?
J: No.
I'm 53 years old.
A: Can you explain how it feels to be 53 years old?
J: How
old are you?
A: I am 9 years old.
J: Nine?
I don't believe you : ).
A: : -) I don't have any reason to deceive you.
J: Yes,
you do, you're a woman.
|
Also associate a probability with the context. If a player asks, "Does George like flying in Airforce one?", this will be parsed to "Does George W Bushlike flying in Airforce one?" (1%) as well as "Does George Washington like flying in Airfoce one?" (2%). However, some context logic will know that George W Bush is associated with airforce one, and have a higher probability for the context (90% context probability for a modern president, with 1% probability for anyone else).
Then, a combination of sentence-parse probabilities and context probabilities (1% x 90% = 0.9% vs. 2% x 1% = 0.02%) can disambiguate the meaning of a statement. This is a common speech recognition trick. (So you might want to learn about speech recognition, Viterbi searches, and Hidden Markov Models.)
I've already implemented this and am using it in my game, http://www.CircumReality.com .
You might find its use of text-to-speech interesting too. You'll find that your AIML tags for responses are completely inadequate, and need to include facial emotions, spoken emotions, and nuanced prosody.
You'll also find that hand-coding millions of responses isn't worth the work. Most of what players want to ask is more procedural, such as "Where is the nearest merchant/guard/toilet?" and "Did you see where Frank went before the murder occured?"
sehr interessant!
you will find more in the http://sglab.cn/blog
Yeah, but your game has dialog like this:
http://www.circumreality.com/ScreenPreRelease4b.jpg
If you send me E-mail, I'll go into detail... but basically, without a mostly menu-driven dialogue system, players don't know what to say and/or get into ye-olde "guess the verb" problems that Zork and other IF often has.