ELIZA and DOCTOR: Pattern Matching Behind the Conversation
Trace the 1965 ELIZA listing and 1966 paper to see how the DOCTOR script turned keywords and response rules into a convincing conversational surface.
ELIZA is often remembered as an early conversational program, but the most useful historical detail is its division of labor. Joseph Weizenbaum’s program supplied a general mechanism for processing text; a script supplied the vocabulary, patterns, and responses for a particular conversational role. The DOCTOR script made the result resemble a Rogerian-style psychotherapy exchange. That design is more specific and more revealing than saying that a 1960s computer “understood” a user.
Two primary records anchor the chronology. MIT’s digital collection describes a 1965 printout of the ELIZA source in MAD-SLIP, with the DOCTOR script attached at the end. Weizenbaum’s 1966 Communications of the ACM paper then presented ELIZA as a program for studying natural-language communication between people and machines. The code listing and paper are related artifacts, not a single release event.
Separate the interpreter from its conversational script
The MIT archive record is unusually useful because it identifies both pieces in the same 1965 artifact: a complete source-code listing and a DOCTOR script appended to it. The distinction matters. The engine was not a collection of hard-coded psychotherapy sentences; the script described the domain-specific response behavior consumed by the program.
At a high level, a turn followed a rule-driven path. The program inspected the input for recognized keywords, selected applicable rules, tried a decomposition pattern against the text, and assembled a response from the matched parts. If no useful rule applied, the conversation could continue through a fallback response. The exact ordering and transformations belong to the source and published script; they should not be reduced to a claim that ELIZA simply replaced pronouns or randomly chose a sentence.
A conceptual, not verbatim, rule can be written like this:
keyword: [a recognized topic word]
decomposition: [prefix] [topic word] [suffix]
reassembly: "Tell me more about [suffix]."
The pattern does not need a statistical model of the sentence. It needs a way to identify a cue, divide the text into reusable pieces, and place selected pieces into a response template. Other script rules can redirect a match or provide alternatives, but the conversation remains bounded by the script’s vocabulary and rule forms.
DOCTOR supplied a recognizable conversational role
The script’s therapist-like voice matters because it shaped how people interpreted the program’s replies. A question that reflects a user’s own words can feel attentive even when it was produced by a transformation rule. The interface therefore created an important distinction between the apparent social meaning of a response and the mechanism that generated it.
That distinction is not a dismissal of the program. A rule-based system can be technically interesting, expressive, and influential without demonstrating general language comprehension. Weizenbaum’s paper was explicitly framed as a study of communication between people and machines; it should not be retroactively described as a neural language model, a medical tool, or a modern assistant. DOCTOR’s scripted role also does not make the program a therapist or a source of clinical advice.
Read the dates and artifacts carefully
The MIT record dates the listing to 1965 and identifies Weizenbaum as its creator. The paper’s title page identifies it as a January 1966 Communications of the ACM article in volume 9, number 1. Those are direct documentary anchors for the source listing and the article. They support an account of the artifacts’ chronology; they do not prove that one was the first conversational program or that every contemporary ELIZA implementation behaves like the preserved listing.
The script also illustrates why “the ELIZA algorithm” is an incomplete description. An engine can interpret the script’s rule format, while different scripts define different vocabularies and conversational behavior. When examining a later reproduction, ask which engine and script it uses, whether it preserves the published DOCTOR rules, and what changes were made for the new language or interface.
A small software-archaeology exercise
For a primary-source reading, start with the MIT collection record and obtain the associated listing. Locate the boundary between the MAD-SLIP program and the appended DOCTOR material. Then compare that artifact with Weizenbaum’s 1966 paper, including its script material. Record which observations come from the program listing, which come from the paper, and which are your interpretation.
When testing a reproduction, keep a short, non-sensitive transcript with the engine and script versions. Change one rule at a time and observe whether the same input selects a different response. Such a test demonstrates the behavior of that reproduction; it does not establish the behavior of every historical copy or show that the program inferred the user’s intent.
ELIZA’s historical lesson is not that a machine had to understand language to sustain a conversation. It is that a relatively compact rule engine, a carefully chosen script, and a human listener’s expectations could combine to produce an interaction that felt richer than the underlying mechanism. The code and the 1966 paper let us study that gap directly.
Related:
- The Mother of All Demos: 90 Minutes That Reframed Interactive Computing
- How to Explore Historically Significant Source Code Directly
Sources:
- MIT Digital Collections: Computer conversations, 1965 - archival record for Weizenbaum’s MAD-SLIP source listing and appended DOCTOR script.
- Joseph Weizenbaum’s 1966 ELIZA paper, full text hosted by UMBC - primary article text and published script material.