ELIZA
This is the original Chatterbot and was written by Weizenbaum
in 1976. ELIZA�s main trick is to answer questions with
questions.
Our Chatterbot has to hold a conversation on a subject of our
choice. We have decided to implement a slot and frame parser,
which matches keywords with responses. This is the only way that
we have been able to provide a knowledge base to our program.
However, The C++ function strstr() is used to locate a known
phrase within the input string. Using a slot and frame parser can
limit the conversation drastically. We therefore decided to
implement the same trick that ELIZA uses, that is, to answer
questions with questions.
Our primary goal is to build a conversational agent that will
answer questions, instead of ignoring them, and that would be
able to maintain a sequence of appropriate responses, instead of
relying on unrelated responses.
In the following transcript we used ELIZA to compare it�s
responses to questions that our Chatterbot can initially answer.
Enter QUIT to quit chatting
ELIZA: so how are you doing today?
GROUP: fine thank you, what does he like?
ELIZA: you're not really talking about me, are you?
GROUP: no, what does she like?
ELIZA: what answer would please you the most?
GROUP: let me ask a question.
ELIZA: i see.
GROUP: do you like the big blue
ELIZA: oh, i like the big blue?
GROUP: yes, do you know what the big blue is?
ELIZA: what difference does it make if i know what the
big blue is?
GROUP: can you sing?
ELIZA: does it matter to you if i can sing?
GROUP: what does he sing?
ELIZA: what do you think?
GROUP: who created you?
ELIZA: what difference does it make if i ?
GROUP: if you what?
ELIZA: oh, i what?
GROUP: this makes no sense whatsoever!
ELIZA no sense whatsoever?
GROUP: no
ELIZA: you are being a bit negative.
GROUP: our bot can handle what
ELIZA: have you asked such questions before?
GROUP: why not answer my questions
ELIZA: your questions.
GROUP: that's what I said
ELIZA: what do you think?
ELIZA responds to "what questions" simply by
matching the string "what" with a random selection of
responses. It is our aim that our Chatterbot will be able to
handle the verb "what" more realistically, and use the
template to respond in a more human-like way.
ELIZA does not seem to have any responses to frequently used
phrases such as "Who are you?" We intend to incorporate
these common phrases into our slot and frame parser to trick the
user into thinking they are talking to a human.
ELIZA failed when we entered "Who created you?" and
responded "What difference does it make if I?" It seems
to have picked up "you" and responded "I" but
has made no attempt to understand the question. It is responding
to these anticipated inputs that can really trick the user. 
�
|