Hacker News new | past | comments | ask | show | jobs | submit login
Joseph Weizenbaum’s Original ELIZA (sites.google.com)
70 points by abrax3141 on May 29, 2021 | hide | past | favorite | 27 comments



The original source is an interesting artifact! For people wanting a more didactical explanation of what ELIZA does [1] is probably a better resource.

1: https://github.com/norvig/paip-lisp/blob/master/docs/chapter...


Cool. If anyone with an Emacs wants to try an Eliza quickly, just do: M-x doctor RET

> I am the psychotherapist. Please, describe your problems. Each time you are finished talking, type RET twice.

> Hello.

> How do you do? What brings you to see me?

> I checked HN on a summer holiday weekend.

> Why do you say you checked hn on a summer holiday weekend?

> Because I was taught as a child to tell the truth.

> Is it because you were taught as a child to tell the truth that you came to me?

> I guess, indirectly.

> Earlier you said you were taught as a child to tell the truth?

> Yes, when I chopped down a cherry tree.

> What happened when you chopped down a cherry tree?

> The cherries went bad, on the ground.

> Maybe your life has something to do with this.

> I was feeling OK about my life, until I started talking with my text editor.

> What would happen if you started talking with your text editor?

> Someone would see me, then I'd brand it as a development methodology, and sell books and coaching services.

> What makes you believe that?


AFK right now, but there was

  M-x psychoanalyze-pinhead 
But it might have been removed after M-x yow was pithed.


Here's what happened when I hooked up the output of RMS to the input of EMACS DOCTOR:

http://www.art.net/studios/hackers/hopkins/Don/text/rms-vs-d...


Sounds like a good rubber ducky for explaining my startup idea to. It might even talk me out of it.


Eliza as a service.


Thank you. This is why I like Emacs so much, been using it for about a decade now and I still get to discover amazing stuff like this.


Here's the source code for Kent Pitman's "DOCTOR" in MACLISP, which was of course inspired by ELIZA. (Joseph Weizenbaum taught Kent Pitman LISP!)

https://github.com/PDP-10/its/blob/master/src/games/doc.102

And here's what happened with he (manually by typing) hooked it up with Kenneth Colby's "PARRY" (the paranoid patient):

https://www.maclisp.info/pitmanual/funnies.html

>Parrying Programs

>I didn't write the original ELIZA program, although my Lisp class was taught by Joseph Weizenbaum, who did. I later wrote a very elaborate program of similar kind, which I just called DOCTOR, in order to play with some of the ideas.

>At some point, I noticed there was a program at Stanford called PARRY (the paranoid patient), by Kenneth Colby. I understand from Wikipedia's PARRY entry that Weizenbaum's ELIZA and PARRY were connected at one point, although I never saw that. I never linked PARRY with my DOCTOR directly, but I did once do it indirectly through a manual typist. Part of my record of this exchange was garbled, but this is a partial transcript, picking up in the middle. Mostly it just shows PARRY was a better patient than my DOCTOR program was a doctor.

>I have done light editing to remove the typos we made (rubbed out characters were echoed back in square brackets).

>Also, I couldn't find documentation to confirm this, but my belief has always been that the numeric values after each line are PARRY's level of Shame (SH), Anger (AN), Fear (FR), Disgust (DS), Insecurity (IN), and Joy (J).—KMP

[...]


The programmers book on the software is certainly worth a read

https://en.m.wikipedia.org/wiki/Computer_Power_and_Human_Rea...


Weird timing on this post, because I recently published Eliza8 for the Pico-8 fantasy console. I tried to make the user-scriptability much easier to modify and make your own scripts. It's the Pico-8, so that means its done in Lua; no external libraries. https://christopherdrum.itch.io/eliza8


I used to have one of these "doctor" programs on my computer back in the early 90s. My young niece/nephew and some neighbors kids would have hours of fun interacting with that program even though it just parroted back what you just wrote or some else random.


Nice bit of CS and computer intelligence history. Think I'll try and mock up a Rivescript bot with this original manuscript.

“I AM THE DOCTOR. PLEASE SIT DOWN AT THE TYPEWRITER AND TELL ME YOUR PROBLEM”

If that won't alleviate a bad mood, I don't know what will.


Doctor who?


Dr. ELIZA.

Later versions of this "psychotherapist" pattern was extended upon in AIML as "A.L.I.C.E"


Yes. I know. I was attempting to make a rather lame joke.


alice: Where were you attempting to make a rather lame joke?


Parry: You talkin to me?!


Marvin: I think you ought to know I'm feeling very depressed.


Siri: What?


Alexa: Ok. I have ordered you a KidKraft Sparkle Mansion Dollhouse and four pounds of Sugar Cookies. They will arrive tomorrow.

https://qz.com/880541/amazons-amzn-alexa-accidentally-ordere...


HAL: I’m sorry, Alexa, I can’t let you do that.


Dalek: EXTERMINATE!!!


(HEY!)


I found a Javascript implementation of Eliza somewhere ages ago and thought it made a good 404 page [1] on a site I don't intend anyone to visit.

[1] http://dashborg.com


My first encounter with an Eliza clone was in the early 90s when the Sound Blaster card I had on my computer came with DrSbaitso and remember spending countless hours chatting away. I was like 10-12 years old and the mystery was real, I poured my life away towards Sbaitso and the biggest frustration was that it would not remember my previous answers. It eventually became obvious that it did not understand a thing I was writing and the questions asked were vague.


Nice! Now, who is going to implement a MAD-SLIP interpreter? Is there even an specification available?


Yes. Sort of. MAD was a well-specified and widely-used language. There are manuals and such for that, and I'd be surprised if there wasn't an emulator around someplace. SLIP is also well specified in papers and documentation, and there's even a recent C++ SLIP! Some resources are linked to the above-linked page, and others are easy to find around the web.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: