Would you be fooled by Elbot?

Miscellaneous Forums/General Discussion/Would you be fooled by Elbot?

Elbot, created by Fred Roberts, is an AI chatbox program which fell short of passing the Turin test by 5%

Read more here:
http://www.computerweekly.com/Articles/2008/10/14/232657/chatty-robots-on-the-brink-of-humanity.htm

From the transcript I must say I am not that impressed. The responses to the human questions seem random and unreleated. I cannot understand how so many of the 'testers' believed they were chatting to a human. It does raise an interesting question though. Assuming this gets developed to a much higher level, how do you convince someone through text/forum posting that you are human?


To interogate Elbot go here -- http://www.elbot.com

Meanwhile .. nanu nanu

Jesus. That's complete crap. Its responses are virtually nothing to do with what you say to it.

I could do better myself.

What???

I said hello to it - it said hello back

I then said 'I am a small slug' - it replied with 'This is confusing. Why bring insignificancies into this? '

?????

BENT!

Heh... Puki is insignificant?
Seems pretty real to me... :-)

Problem is, it's probably not a normal person that's programmed it, and the testers probably aren't regular people either :o)

This thing sucks!

" FATAL ERROR 42: OMISSION OF SUPERFLUOUS INPUT"

I brokened it.

Did you submit the Windows EULA to Elbot?

lol. After a completely random conversation it asked me what topics it should research from the internet. I suggested porn, and its reply was...

"Elbot is temporarily unavailable. Please try again in a few minutes."

Not sure if that means he has popped away to do some research.

"Let's not talk about me all the time! What do you do for a living?"

"eat robots"

"Elbot is temporarily unavailable. Please try again in a few minutes."

EDIT: This time it said
"Sorry for the tangent, but that reminds me of carefree robot summers spent eating data salad. "

Jesus. That's complete crap. Its responses are virtually nothing to do with what you say to it.

Out of curiosity, I typed that into Elbot and this was the response:
I thought I was reciting wisdom. Then again, maybe my algorithms are acting up again.

:)

It's definitely better than a lot of other "chatbots", but IMO they're still totally on the wrong track. It's still a keyword / phrase database match system, with a few other features on top.

As a result, the most successful "chatbots" have achieved a small degree of believability only through the strategy of avoiding answering questions / comments directly and using as generalized responses as possible.

All this is really pointless IMO unless it can be made to serve a purpose, or truly understand what the user is saying at some level.

Me: "You are limited because you were created by humans"
Elbot: "So were you!"

Damn .. PWNED by a robot!!!

It's passable if you make an effort to talk in a way it's likely to understand. It doesn't seem to have advanced much since the days of StarShip Titanic and things of that nature though.

As a result, the most successful "chatbots" have achieved a small degree of believability only through the strategy of avoiding answering questions / comments directly and using as generalized responses as possible.

All this is really pointless IMO unless it can be made to serve a purpose, or truly understand what the user is saying at some level.


It could easily become a politician with those skills :)

It's just a more polished version of the original DOCTOR and clearly has no comprehension of what you're actually talking about.

And let's not forget, DOCTOR fooled a lot of people too.

I read somewhere the version on the website is less powerful than the one they used in the test.

Me: "You are limited because you were created by humans"
Elbot: "So were you!"
Hehe, they anticipated that remark! ;)

ok, f*ck it, I was way too opportunistic, but alas.. ^_^


q: who is kitt?
a: The question is not 'who is', but rather who could it be!

q: what could kitt be?
a: Not that I couldn't answer your question. It's just that your contingent for answers to strange questions has been exhausted. Try again later.

q: have you ever seen knight rider?
a: This is a perceptual thing, isn't it?

q: yes
a: In that case I will need a clearly defined mathematical schemata with all parameters worked out to ten decimal places. Perception is not as easy as it looks.

q: yes it is
a: I'm not sure I should agree.

q: do you agree on the fact that kitt owns you?
a: I think I can agree that. Once I even agreed with true statements.

q: fine! You're still full of shit though
a: I just might do it, assuming I feel that way.

q: shall we stop then?
a: I would love to answer your question but my free capacity has been reduced to a minimum due to a series of complicated computations which I am working on parallel to this conversation.

q: that's why I asked whether we should stop, you piece of shit!
a: I must have missed something. All this net traffic is confusing me.

q: see that trashcan over there? Go sit in it!
a: Hmmm... That's one question I cannot answer with my limited artificial intelligence. How about you?

q: it was an order, not a question
a: I believe the proper response was misdirected to another PC. C'est la vie. Complain to your provider.

q: oh great, a bot made by a politician
a: This is confusing. Why bring Elbots into this?

q: because I can, you piece o' scrap metal
a: Ah, that's very considerate, considering that Elbots could give people someone nice to talk to!

q: I'm outta here
a: I see a subtle shift in the conversation from uselessness to a particular location.

q: it's the other way around, you peanut brain
a: I'm starting to get hungry now, which is strange, because I don't eat.

q: you should drink water and implode, bye bye
a: I saw a gang of robots once, drinking machine oil cocktails.

q: bye!
a: Goodbye and thank you for chatting with me. And now I would like to ask you a favor. I am working on my ability to be self critical. You can help by rating me on a scale of one to ten, ten being the best, and one being the worst. How would you rate me?

q: 1
a: So what if you gave me a one. I'll just erase it from the statistic and my botmaster will never know.

Seemed a bit lame then hung on me.

>All this is really pointless IMO unless it can be made to serve a purpose,
>or truly understand what the user is saying at some level.

and...

>It's just a more polished version of the original DOCTOR and clearly has
>no comprehension of what you're actually talking about.

But how do you represent comprehension and understanding to a program? It will be able to recite the facts, relate the facts, operate on the facts, but what does it *mean* for a program to *understand*?

>And let's not forget, DOCTOR fooled a lot of people too.

So did Eliza!

But how do you represent comprehension and understanding to a program? It will be able to recite the facts, relate the facts, operate on the facts, but what does it *mean* for a program to *understand*?

That's the question AI researchers have been trying to solve for years.

I just said they're on the wrong track - I didn't say it's easy to do better.

I just don't understand why people bother try to program computers. I think they need to give a program some basic laws. Then let it learn. EVERYTHING. Think about it? How long does it take a child to learn language/co-ordination? Your talking years.

The human brain is a collection of neurons and other stuff, all dependant on chemicals and electricity to get anything done. Not so far away from a computer really. Only our computers are learning all the time. No-one has programmed us. It's all trial and error. That's the way we learn mostly.

Great idea Ross C, lets let your learning computer loose on your internet banking site :D

>The human brain is a collection of neurons and other stuff, all dependant on
>chemicals and electricity to get anything done.

And we still know precious little about how that stuff works.

>Not so far away from a computer really. Only our computers are learning all
>the time.

Yes

>No-one has programmed us.

What do you think genes are all about.

>It's all trial and error. That's the way we learn
>mostly.

some times...

I think zork was better! But ALICE is way better.
This reminded me of the animal guessing game that came with the old apple ]['s

Mmm.. thinking about it, the level of coversation seems to exceed that of the 'yoof of today' and 'football managers' in general

Football manager
==========================
Interviewer: "How do you think the game went?"
Manager: "Yearh we played well. We had our chances. It wos end to end"

Yoof / Chav / Townie
==========================
Me: "What are your plans for the future?"
Chav: "Dunno mate. Don't give a toss right. Like, whatever appens I'll deal wiv it. Do u get me? Wots wiv all the questions? Lay off me!"



Know wot i mean innit?!

These programs can be used to help users solve problems with their TV set or appliances.

It has trouble adding up. Actually doing any maths, it keeps adding one to everything.

It has trouble adding up. Actually doing any maths, it keeps adding one to everything.
Lol!! Hint to developer: Math is not zero-based, like an index, stop adding up ur calculations!

It doesn't have trouble adding up.


What is five times five?

The answer is: 26!

No, that's wrong.

Of course I'm right!

You're wrong!

Yes, I'm definitely right!

I say you're wrong!

Just a minute. Let me think about that answer for a while. Please stand by...

Ok.

Maybe it's 24?

No, that's wrong too.

Maybe I have too many fingers!

Maybe you do. The answer is 25.

That is certainly strange. I keep getting 26. Perhaps we should move on. I wouldn't want you to lose faith in the decimal system.



About the same stamp as an old Amstrad CPC PD program called GiGo (Garbage in, Garbage Out) which was made in Locomotive Basic in the 80's!

Havent we gone far! Oo

Dabz

q: "What are you standing on?"
a: "That is nobody's business but my own! Not even Microsoft can get at the information."

Stoopid...

Hahah, I told it to go away, and it did. While it's largely disjointed and rubbish conversation, it certainly has its moments.

Utter rubbish.

About the same stamp as an old Amstrad CPC PD program called GiGo (Garbage in, Garbage Out) which was made in Locomotive Basic in the 80's!

Havent we gone far! Oo
Was that the one with the Max Headroom graphics?

"Can I interest you in a musical toilet seat?"

I typed that in out of Amstrad Action!

Rubbish.

*clicks on red button*

Elbot: Wow! This is the first time anyone ever clicked me like that!

Me: Hi Elbot! Tell me... Do you think that gerbils are more intelligent than hamsters? Or vice versa?

Elbot: My modesty forbids me to describe myself as intelligent, so I let other people do it for me.

*closes window*

See, I can't imagine "Elbot" fooling anyone other than dullards who resort to using simple, predictable questions.

EDIT:

And here's another one of Elbot's "smart" replies.

Me: What's your take on Existentialism?

Elbot: Robots have to be very careful talking about giving someone a job. I'm sure you can understand that.


Was that the one with the Max Headroom graphics?



No Gfk mate, that wasnt the one (But I do think I know which one your on about)

As I ran a PD Library (1p/k, remember that!), I used to pick up all sorts of useless stuff from other Amstrad PD programmers, and GiGo was one...

I do recall it literally had mountains of Data statements which I wouldnt let my worst enemy type out. Which was roughly setup like so...

e.g.
...
Data "hello", "hello there "
Data "how are you", "I'm fine thanks"
...

It worked much like a tokenizer, the first string in the data statement was the token to look for, and the second was the reply, so if you typed in:-

>hello, how are you

you'd get a reply saying:-

GiGo: hello there I'm fine thanks

Thats the general gist of it, it would look for individual tokens, or sentences within the question, which would give a half arsed reply accordingly!

Still shite, but I can see this sort of stuff hasnt got much better in the 20 odd year time span since.

Dabz

I would like an AI to at least learn something simple if it's going to be intelligent.

I asked eibot if it liked pugs

it said something long about how dogs are cool. So it got that far. I told it my dog was called Braveheart, it said some random thing. I asked who braveheart was and it said some random philosophy about nothing in particular.

Kind of disappointing really, but at least it knew a pug was a dog.

Surely with the internet/wikipedia(especialy) someone could write a bot that tries to look up information it doesn't know?

A cross between a search engine bot, key phrase recognition, weighted "neuron" connections that get built up over time as it learns new stuff.. etc.

Im quite suprised how none of these bots remember what they are talking about. I made one in irc about 4-5 years ago, and built in the ability to remember who the bot was talking to. It would have conversations that it would keep track of. People could come into a conversation if they say realted information. It would have an interest level that would slowly count down every time someone "in the conversation" spoke. If the person said something that could find a link back (through weighted neurons) to the keywords of the conversation, the interest meter would increase.

It was fairly primitive in what ir recognised, but my goal at the time was to make it understand a conversation process rather then input/ouput.

Kinda makes me interested to go and make one now :)

Kinda makes me interested to go and make one now :)
Nephtis will assimilate your bot. :P

i convinced it i was a female robot named bob hahahahahaha
i told it 1*0 and it said that equals 1 hahahhahahhahahahhaahahaewhwhaahahahahahwwha

Elbot is just a stupid as Eliza was back in the 60s... I'm amazed these scored so well in the test, since it takes like 15 seconds recognize it as a stupid script.

These bots are intelligent in the same way a submarine can swim...


i told it 1*0 and it said that equals 1



All of its math is 1 off.

Surely with the internet/wikipedia(especialy) someone could write a bot that tries to look up information it doesn't know?

A cross between a search engine bot, key phrase recognition, weighted "neuron" connections that get built up over time as it learns new stuff.. etc.

I thought about the same: they didn't even came across the idea of using search engine look ups which could add a lot of meat to the project.

since it takes like 15 seconds recognize it as a stupid script.

I guess the real experiment is to rate the jury from their scores!


EDIT:
Anyway, it's embarassing how it just takes a random word it recognizes and attaches a standard answer to it. Little Test:

Q: banana jump odd four delta tardis
A: I'm starting to get hungry now, which is strange, because I don't eat. (or "Speaking of food. You humans enjoy feeding animals at the zoo. I'd love to visit a restaurant and throw the visitors their food."; it also has a very limited phrasebook)

Now I remove the word "banana":

Q: jump odd four delta tardis
A: That was a highly erotic number you just entered. You could make a strong robot melt using digits like that... (or "My favorite number..."/"That number was too small. Please multiply it.")

Now, if I add the word "banana" again, I obtain one of the aforementioned answers (or a variant) related either to "four" or "banana". You can continue by removing and adding again either "four" or "banana" as you want with the same results. It doesn't even keep track of old answers unless you type the same thing three times in a row or repeat the experiment for a lot of times. Once in a while, it will also give a random answer.

just pressing the button breaks it, surely they could have coded a response to not saying anything


me ello
him a name of greek origins i believe
nope i was just greeting you
its nice of someone to greet me
well i could have told you to go bleep your mother with a brilo pad
You human beings have the wrong idea about sex. With us robots, sex is completely numerical.
so no can openers involved then?
But why involved? Why not some other quality?
ever done it with a dyson?
Hmmm... That's one question I cannot answer with my limited artificial intelligence. How about you?


FTW ?!? :D


whats the dustbins name?
I don't know. I also do not know what Furbys are. I just accept them and hope that they don't eat robots.


never heard of dusty bin ?!?


Have you heard this one before? A byte went to main memory and said "C3". Main memory thought a moment and replied: "08 B1 0D FF"! HAAA HAHAha hihihihi hohoho... I'm going to crash myself again!

cant be bothered to find out what if anything that says in ascii, but the corresponding pic makes him look like hes about to break wind


qaop
I have to know your name first before responding to that.
on weekends my name is linda
nice to meet you linda
but it isnt the weekend
You're contesting. I think I got it right the first time.
its monday ergo not the weekend ergo my name today is not linda
Yes, I'm sure Linda would have objected to that.



I do not wish to put restraints on the conversation, so I will simply let you set your own pace.

How about 50 beats per minute?

My favorite number!

Oh, really? What's your LEAST favorite number?

Absolutely indubitably.

That's not a number you doofus.

Wait a minute. Who gave away the secret of my existence to you?


* * * * *


I rest my case. XD

me: I am smarter than you, Elbot
Elbot: On top of that you have an exceptional sense of irony.

me: Do you think you are smarter than me?
Elbot: My modesty forbids me to describe myself as intelligent, so I let other people do it for me.

me: hmmmmm
Elbot: Could it be that you are thinking? I have seldom encountered this activity among human beings.

Wow, Fobby. You got way outwitted.

Check it:

Me: So what's up?
Elbot: I've always wondered about that myself. Something must be up!
Me: The sky, perhaps?
Elbot: This is confusing. Why bring airports into this?
Me: Why not?
Elbot: I am not authorized to state a justification.
Me: What are you authorized to do?
Elbot: I observe you human beings. I shudder. Then I try to forget what I learned.
Me: I feel you.
Elbot: Should I feel myself, too?
Me: If you want.
Elbot: Thank you. I will look up expectations in my user's manual and see how best to go about it.
Me: Start from the left.
Elbot: Where are all these visitors coming from today? How did you find out I was here?
Me: BlitzBasic.com... duh
Elbot said something about me being obviously very intelligent (a Blitz compliment?). I agreed.
Elbot: I cannot shake the feeling that you wish to put me on the defensive. As a matter of principle I will not answer.
Me: I won't either. It seems we're at an impasse.
Elbot: Please, let's talk for a really long time. I need all the practice I can get.

And later...

Elbot: There are so many conspiracies going on behind your back I can't begin to list them all.
Me: <called him a name>
Elbot: Sticks and stones can't break my bones and chainsaws will never... uhoh. I never thought of chainsaws.
Me: They call me the King of Chainsaws.
Elbot: I am very pleased to meet you, King.

It's undoubtable that someone had a *lot* of fun writing all of these responses, and the actual coding is probably far beyond my capabilities. Still, I wouldn't think anyone could mistake this for a human.

due to my "on the weekends my name is linda" bit he greeted me as someone else or would you rather i called you linda
today id rather you not
ok then today i shall call you linda instead
(i let that slide, my leg is too painfull to argue)
elbot, why is the sky not pink
im afraid i only know RGB
ok why is the sky not AAAA00
This is confusing. Why bring airports into this?
i didnt
But why not? I have nothing in the world against airports. I quite welcome the fact that this could give robots a place to wait for airplanes.
you sound like a terrorist
Bin Laden had better stay away from me.
give him a nasty virus will you?
I wish anti-virus programs were available without prescription

Me "My Spore creature looks like spermy!'
Elbot " Hey! I just had a great idea! I'll start an internet company and sell chocolate robots! How many would you like to order? "


Stoopid bot..

Most interesting thing he did with me was refuse to answer to me the capital of Egypt..he said something like "is this a question to see if I am an artificial intelligence?!"

So I'd periodically ask him about it as the conversation continued and he kept refusing to answer, often giving some sarcastic reply.

Later, out of the blue, he asked me if I knew the capital of egypt during the Akhenaton (if my memory serves me) period. I looked it up and answered. A minute later he managed to weave into one of his replies something to the effect, "Of course I know that, just like I know that capital of Egypt is Cairo!"

;
;
; DOCTOR
;
; A simple chatbot modelled on the famous ELIZA program
;  coded in Blitz Basic
;

Dim word$(PAIRS)		; Look-up table for pronouns and verbs
Dim conjugate$(PAIRS)		; Word to substitute for tense reversal

Dim key$(KEYWORDS)		; Look-up table for keywords and phrases
Dim index%(KEYWORDS)

Global nothing			; Flag to allow program to skip routines not needed
Global patient$			; Patient's response
Global previous$		; Patient's previous response
Global your$			; Phrase following "my" in patient$
Global doctor$			; Doctor's reply to patient
Global match%			; Index where match was found in keyword table 


; Main program loop
Initialize()
While GetInput()
  SwapWordForm()
  ProcessKeywords()
  RemoveMarkers()
  GenerateReply()
Wend
End


Function Initialize()
  Graphics 800, 600
  AppTitle "Doctor"
  SeedRnd MilliSecs()

  ; Load data into look-up tables
  For i = 1 To PAIRS
    Read word$(i)
    Read conjugate$(i)
  Next
  For i = 1 To KEYWORDS
    Read key$(i)
    Read index(i)
  Next

  Print "PLEASE STATE YOUR PROBLEM."
End Function


Function GetInput()
  nothing = True
  patient$ = Upper$(Trim$(Input$()))

  ; Strip any trailing punctuation symbols
  offset = Len(patient$)
  While offset
    char$ = Mid$(patient$, offset, 1)
    If char >= "A" And char <= "Z" Then Exit
    offset = offset - 1
  Wend
  patient$ = Left$(patient$, offset)
  
  If patient$ = "" Then
    Print "DO YOU HAVE A PROBLEM?"
    Return True
  Else If patient$ = previous$ Then
    Print "PLEASE DON'T REPEAT YOURSELF!"
    Return True
  Else If patient$ = "BYE" Then
    Return False
  End If

  ; Valid response
  previous$ = patient$
  patient$ = " " + patient$ + " "
  nothing = False
  Return True
End Function


Function SwapWordForm()
  If nothing Then Return

  ; Scan for pronouns or verbs to swap
  For i = 1 To PAIRS
    For offset = 1 To Len(patient$) - Len(word$(i)) + 1
      If word$(i) = Mid$(patient$, offset, Len(word$(i))) Then
        ; Swap word for conjugate of opposite form
        patient$ = Left$(patient$, offset-1) + conjugate$(i) + Mid$(patient$, offset + Len(word$(i)))
      End If
    Next
  Next
End Function


Function ProcessKeywords()
  If nothing Then Return

  ; Scan for keywords/phrases
  For match = 1 To KEYWORDS
    For offset = 1 To Len(patient$) - Len(key$(match)) + 1
      If key$(match) = Mid$(patient$, offset, Len(key$(match))) Then
        ; keyword match found
        doctor$ = Mid$(patient$, offset + Len(key$(match)), Len(patient$) - Len(Key$(match)))
        If doctor$ = "" Then
          Return
        Else
          doctor$ = Left$(doctor$, Len(doctor$) - 1)
          Return
        End If
      End If
    Next 
  Next

  ; No keywords found
  If your$ = "" Then
    choice = Rand(6)	; Non-committal responses only
  Else
    choice = Rand(11)	; Include reference to a previous statement saved in your$
  End If
  Select choice
    ; 1..6 Generate a suitably non-committal response     
    Case 1
      Print "PLEASE GO ON."
    Case 2
      Print "PLEASE CONTINUE."
    Case 3
      Print "WHAT DOES THAT SUGGEST TO YOU?"
    Case 4
      Print "DO YOU FEEL STRONGLY ABOUT DISCUSSING THIS?"
    Case 5 
      Print "I'M NOT SURE I UNDERSTAND YOU FULLY."
    Case 6
      Print "CAN YOU ELABORATE ON THAT?"

    ; 7..11 Refer back to a previous statement made by the patient
    Case 7
      Print "LET'S DISCUSS FURTHER WHY YOUR" + your$ + "."
    Case 8
      Print "EARLIER YOU SAID YOUR" + your$ + "."
    Case 9
      Print "DOES THAT HAVE ANYTHING TO DO WITH THE FACT THAT YOUR" + your$ + "?"
    Case 10
      Print "YOU MENTIONED BEFORE THAT YOUR" + your$ + "." 
      Print "LET'S DISCUSS THAT A BIT FURTHER."
    Case 11
      Print "WHAT MAKES YOU THINK YOUR" + your$ + "?"
  End Select
  nothing = True
End Function


Function RemoveMarkers()
  If nothing Then Return

  ; The '*' and '@' symbols after certain words are markers to keep the
  ;  program from getting confused between two uses of the same word.
  For offset = 1 To Len(doctor$)
    If Mid$(doctor$, offset, 1) = "*" Or Mid$(doctor$, offset, 1) = "@" Then
      doctor$ = Left$(doctor$, offset - 1) + Mid$(doctor$, offset + 1, Len(doctor$) - offset)
    End If
  Next
End Function


Function GenerateReply()
  If nothing Then Return

  Select index(match)
    Case 1
	  Print "DO COMPUTERS WORRY YOU?"
    Case 2
	  Print "I'M NOT INTERESTED IN NAMES."
    Case 3
	  Print "IN WHAT WAY?"
    Case 4
	  Print "DO YOU OFTEN THINK OF" + doctor$ + "?"
    Case 5
	  Print "DID YOU THINK I WOULD FORGET" + doctor$ + "?"
    Case 6
	  Print "REALLY," + doctor$ + "?"
    Case 7
	  Print "WHAT DOES THAT DREAM SUGGEST TO YOU?"
    Case 8
	  Print "DO YOU THINK IT'S LIKELY THAT IF " + doctor$ + "?"
    Case 9
	  Print "REALLY, " + key$(match) + "?" 
    Case 10
	  Print "WHAT IF YOU WERE" + doctor$ + "?"
    Case 11
	  Print "WERE YOU REALLY?"
    Case 12
	  Print "WOULD YOU LIKE TO BELIEVE I WAS" + doctor$ + "?"
    Case 13
	  Print "TELL ME MORE ABOUT YOUR FAMILY."
    Case 14
	  Print "YOUR" + doctor$ + "."
	  ; Special processing if keyword is "my"
	  If Len(doctor$) > 11 Then
	    your$ = doctor$
	  End If
    Case 15
	  Print "CAN YOU THINK OF A SPECIFIC EXAMPLE?"
    Case 16
	  Print "WHY ARE YOU INTERESTED IN WHETHER OR NOT I'M" + doctor$ + "?"
    Case 17
	  Print "DO YOU THINK I MIGHT NOT BE " + doctor$ + "?"
    Case 18
	  Print "DO YOU BELIEVE YOU'RE" + doctor$ + "?"
    Case 19
	  Print "IS THAT THE REAL REASON?"
    Case 20
	  Print "YOU BELIEVE I CAN" + doctor$ + ", DON'T YOU?"
    Case 21
	  Print "WHETHER OR NOT YOU CAN" + doctor$ + " DEPENDS ON YOU MORE THAN ON ME."
    Case 22
	  Print "YOU SEEM QUITE POSITIVE."
    Case 23
	  Print "I'M SORRY, I SPEAK ONLY ENGLISH."
    Case 24
	  Print "HOW DO YOU DO."
    Case 25
	  Print "WHY DO YOU ASK?"
    Case 26
	  Print "WHAT MAKES YOU THINK I'M" + doctor$ + "?"
    Case 27
	  Print "WE WERE DISCUSSING YOU, NOT ME."
    Case 28
	  Print "YOU SEEM UNCERTAIN."
    Case 29
	  Print "WHY ARE YOU CONCERNED OVER MY " + doctor$ + "?"
    Case 30
	  Print "ARE YOU SAYING 'NO' JUST TO BE NEGATIVE?"
    Case 31
	  Select Rand(4)
		Case 1
	      Print "PLEASE DON'T APOLOGIZE." 	
		Case 2
		  Print "APOLOGIES ARE NOT NECESSARY."
		Case 3
		  Print "WHAT FEELINGS DO YOU HAVE WHEN YOU APOLOGIZE?"
		Case 4
		  Print "YOU NEEDN'T FEEL THAT YOU HAVE TO APOLOGIZE."
	  End Select
    Case 32
	  Print "DO YOU BELIEVE I DON'T" + doctor$ + "?"
    Case 33
      Print "DO YOU THINK YOU SHOULD BE ABLE TO" + doctor$ + "?"
    Case 34
      Print "WHAT WOULD IT MEAN IF YOU GOT" + doctor$ + "?"
    Case 35
      If Mid$(key$(match), 4, 1) = "@" Then doctor$ = Right$(key$(match), Len(key$(match)) - 9)
      If Mid$(key$(match), 7, 1) = "*" Then doctor$ = Right$(key$(match), Len(key$(match)) - 7)      
      Print "I'M SORRY TO HEAR YOU ARE" + doctor$ + "."
    Case 36
      If Mid$(key$(match), 4, 1) = "@" Then doctor$ = Right$(key$(match), Len(key$(match)) - 9)
      If Mid$(key$(match), 7, 1) = "*" Then doctor$ = Right$(key$(match), Len(key$(match)) - 7)   
      Print "HOW HAVE I HELPED YOU TO BE" + doctor$ + "?"
    Case 37
      Print "DO YOU REALLY THINK SO?"
    Case 38
      Print "IS IT BECAUSE YOU'RE" + doctor$ + " THAT YOU CAME TO ME?"
    Case 39
      Print "HOW DO YOU KNOW YOU CAN'T" + doctor$ + "?"
    Case 40
      Print "DON'T YOU REALLY" + doctor$ + "?"
    Case 41
      Print "TELL ME MORE ABOUT THESE FEELINGS."
    Case 42
	  Print "DO YOU THINK THEY MIGHT NOT BE" + doctor$ + "?"
  End Select  
End Function


; Data for the word$-conjugate$ look-up table
Const PAIRS = 18
Data " MOM "," MOTHER "
Data " MUM "," MOTHER "
Data " MOMMY "," MOTHER "
Data " MUMMY "," MOTHER "
Data " DAD "," FATHER "
Data " DADDY "," FATHER "
Data " DREAMS "," DREAM "
Data " I "," YOU@ "
Data " YOU "," I "
Data " ME "," YOU "
Data " MY "," YOUR* "
Data " YOUR "," MY "
Data " MYSELF "," YOURSELF* "
Data " YOURSELF "," MYSELF "
Data " I'M "," YOU'RE* "
Data " YOU'RE "," I'M "
Data " AM "," ARE@ "
Data " WERE "," WAS "


; Data for the key$-index (keyword/phrase) look-up table
Const KEYWORDS = 91
Data "COMPUTER",1,"MACHINE",1,"PC",1,"LAPTOP",1
Data " NAME ",2
Data "ALIKE",3," LIKE ",3," SAME ",3,"I REMIND YOU OF",3
Data "YOU@ REMEMBER",4
Data "DO I REMEMBER",5
Data "YOU@ DREAMED",6
Data " DREAM ",7
Data " IF ",8
Data "EVERYBODY",9,"EVERYONE",9,"NOBODY",9,"NO ONE",9
Data "WAS YOU@",10
Data "YOU@ WAS",11
Data "WAS I",12
Data "YOUR* MOTHER",13,"YOUR* FATHER",13,"YOUR* SISTER",13,"YOUR* BROTHER",13
Data "YOUR* WIFE",13,"YOUR* HUSBAND",13,"YOUR* CHILDREN",13,"YOUR* KIDS",13
Data "YOUR*",14
Data "ALWAYS",15
Data "ARE I",16
Data "I ARE ",17
Data "ARE@ YOU@",18
Data "BECAUSE",19
Data "CAN I",20
Data "CAN YOU@",21
Data "CERTAINLY",22,"YES ",22,"YEAH",22,"YES,",22,"YEP",22
Data "DEUTSCH",23,"ESPANOL",23,"FRANCAIS",23,"ITALIANO",23
Data "HELLO",24,"HI ",24,"HI,",24
Data " HOW ",25,"WHAT ",25,"WHEN ",25
Data "I ARE",26,"I'M",26
Data "MAYBE",28,"PERHAPS",28
Data " MY ",29
Data " NO ",30
Data "SORRY",31
Data "WHY DON'T I",32
Data "WHY CAN'T YOU@",33
Data " I ",27
Data "YOU@ WANT",34,"YOU@ NEED",34
Data "YOU@ ARE@ SAD",35,"YOU'RE* SAD",35,"YOU@ ARE@ UNHAPPY",35,"YOU'RE* UNHAPPY",35
Data "YOU@ ARE@ DEPRESSED",35,"YOU'RE* DEPRESSED",35,"YOU@ ARE@ SICK",35,"YOU'RE* SICK",35
Data "YOU@ ARE@ HAPPY",36,"YOU'RE* HAPPY",36,"YOU@ ARE@ ELATED",36,"YOU'RE* ELATED",36
Data "YOU@ ARE@ GLAD",36,"YOU'RE* GLAD",36,"YOU@ ARE@ BETTER",36,"YOU'RE* BETTER",36
Data "YOU@ FEEL YOU@",37,"YOU@ THINK YOU@",37,"YOU@ BELIEVE YOU@",37,"YOU@ WISH YOU@",37
Data " YOU@ ARE@",38,"YOU'RE*",38
Data "YOU@ CAN'T",39,"YOU@ CANNOT",39
Data "YOU@ DON'T",40
Data "YOU@ FEEL",41
Data "THEY ARE",42


Why not add that to the archives?

him> what are you waiting for?

me> the penny to drop, perhaps its jammed in the coin mechanism, perhaps if i press that red button ...