How do I talk to PARRY?
June 11, 2012 12:10 AM   Subscribe

How can I chat with PARRY, the paranoid schizophrenic chatterbot?

I've been experimenting with chatterbots recently, and I am curious about some of the older ones, particularly PARRY, developed by Kenneth Colby in 1972. I've seen some links to the source code, but I don't know how to use it, I'm on Windows and kind of computer illiterate, although I do know a few things. Ideally, I would like to talk to this bot on the internet if such a thing exists. Here's a link to PARRY's wikipedia page. Thanks for help.
posted by dargerpartridge to Technology (7 answers total) 7 users marked this as a favorite
This says that PARRY is written in MLISP running on WAITS. You can find a PDP-10 emulator but I don't know where you might find an implementation of WAITS. Maybe there are sources to WAITS buried somewhere on the SAIL backup files but I'm doubtful that you could get a working system out of that. Unless there's another version of PARRY around or you can find someone running a version of PARRY online I think you're out of luck. This is all based on a few minutes of googling so I could very easily be wrong.
posted by rdr at 1:08 AM on June 11, 2012

If you can't find a way to load PARRY, it looks like his text files can help you imagine what chatting with him is like. The .tgz archive has a bunch of LISP and grammar files in it.

I just stuck a couple of them online to look at. Files like this one and this one lay out basic sentence structure for PARRY. He then fills in the blanks like the old Mad Libs. It looks like PARRY is combative and obsessed with the Mob.
posted by steinsaltz at 8:33 AM on June 11, 2012

I would really love for this to happen.
posted by Evilspork at 3:11 PM on June 11, 2012

According to Martin Frost at the Stanford PARRY code repository,
"Parts of it are written in PDP-10 assembly code (e.g., *.fai and *.lap file."
Any PDP coders in the audience here? Any idea of how difficult to port PARRY to a modern environment?
posted by exphysicist345 at 5:36 PM on June 11, 2012

Lisp code:

Lisp intepreters:
posted by damn dirty ape at 6:20 PM on June 11, 2012

I don't know LISP or PDP-10 assembler, but:

I don't think that Common LISP interpreters are going to be much help with this.

With WAITS seemingly completely unavailable at this point, probably the easiest way to resurrect PARRY would be to analyze the program logic and reimplement it in a modern language. There's at least a chance that this isn't quite possible: for example, the project to reimplement the AI SHRDLU wasn't quite able to match the original implementation's behavior, at least in part because it used a framework that accessed the operating system by way of direct memory locations, and the specific version of ITS that it was trying to interact with is no longer available; thus, there's no way to know what that code was trying to do. I'm not saying PARRY has this problem too, I'm just saying it might.

Regarding the assembly code: I only see one *.FAI file in there, and it appears to be heavily commented, so that's good. The *.LAP files are assembler in some sort of LISPish syntax, and appear to be compiled code - most of them are adjacent to files with the same name but no extension, which define the same functions in a language I don't recognize. Unfortunately, the biggest one, FRONT.LAP, has no such corresponding source file. With no comments, and truly unhelpful code labels, that's going to be a truly tedious piece of reverse engineering.

And keep in mind: we may well be disappointed by the results. I've seen PARRY's published dialogues, and they really are impressive, but they're the dialogues that were chosen to be published. There's a good chance they were cherry-picked out of a sea of mediocre chats where PARRY didn't even make the paranoid sort of sense it's meant to.

Despite all that, though, I would like to see PARRY brought back. It's often discussed alongside ELIZA in the history of AI, and it seems a shame that PARRY got left behind when ELIZA has been remade everywhere. I guess that's mainly just because ELIZA is so simple to implement.
posted by reprise the theme song and roll the credits at 11:42 PM on June 11, 2012

Oh, and I forgot to mention: the readme linked above says "This batch of files comprises probably most of the source code of PARRY" and "There is no guarantee that parts of the Parry source are not missing from here." So that might present another reimplementation challenge.
posted by reprise the theme song and roll the credits at 1:56 AM on June 12, 2012

« Older How to plead not guilty for trespassing?   |   This job is killing me. Newer »
This thread is closed to new comments.