If you have been following the AI chat bot news/world then you would have heard the name ELIZA come up. Eliza was the world’s first chatbot created over 60 years ago by MIT professor Joseph Weizenbaum and was the first language model which a user could interact with. It had a significant impact on the AI world (Actual AI research not the LLM wanna be AI we have right now) and was the first to attempt the Turing test. It was originally written in a programming language invented by Weizenbaum called the Michigan Algorithm Decoder Symmetric List Processor (MAD-SLIP) and the pattern matching directives were provided as separate scripts. Shortly after the initial release it was rewritten in LISP which went viral. Unfortunately the original code in MAD-SLIP went missing till recently soon after that.
One of the most famous ELIZA scripts was called Doctor that emulated a psychotherapist of the Rogerian school (in which the therapist often reflects back the patient’s words to the patient). Much to his surprise Weizenbaum found that folks attributed human-like feelings to the computer program. Wikipedia explains how the software worked:
ELIZA starts its process of responding to an input by a user by first examining the text input for a “keyword”.[5] A “keyword” is a word designated as important by the acting ELIZA script, which assigns to each keyword a precedence number, or a RANK, designed by the programmer.[15] If such words are found, they are put into a “keystack”, with the keyword of the highest RANK at the top. The input sentence is then manipulated and transformed as the rule associated with the keyword of the highest RANK directs.[20] For example, when the DOCTOR script encounters words such as “alike” or “same”, it would output a message pertaining to similarity, in this case “In what way?”,[4] as these words had high precedence number. This also demonstrates how certain words, as dictated by the script, can be manipulated regardless of contextual considerations, such as switching first-person pronouns and second-person pronouns and vice versa, as these too had high precedence numbers. Such words with high precedence numbers are deemed superior to conversational patterns and are treated independently of contextual patterns.[citation needed]
Following the first examination, the next step of the process is to apply an appropriate transformation rule, which includes two parts: the “decomposition rule” and the “reassembly rule”.[20] First, the input is reviewed for syntactical patterns in order to establish the minimal context necessary to respond. Using the keywords and other nearby words from the input, different disassembly rules are tested until an appropriate pattern is found. Using the script’s rules, the sentence is then “dismantled” and arranged into sections of the component parts as the “decomposition rule for the highest-ranking keyword” dictates. The example that Weizenbaum gives is the input “You are very helpful”, which is transformed to “I are very helpful”. This is then broken into (1) empty (2) “I” (3) “are” (4) “very helpful”. The decomposition rule has broken the phrase into four small segments that contain both the keywords and the information in the sentence.[20]
The decomposition rule then designates a particular reassembly rule, or set of reassembly rules, to follow when reconstructing the sentence.[5] The reassembly rule takes the fragments of the input that the decomposition rule had created, rearranges them, and adds in programmed words to create a response. Using Weizenbaum’s example previously stated, such a reassembly rule would take the fragments and apply them to the phrase “What makes you think I am (4)”, which would result in “What makes you think I am very helpful?”. This example is rather simple, since depending upon the disassembly rule, the output could be significantly more complex and use more of the input from the user. However, from this reassembly, ELIZA then sends the constructed sentence to the user in the form of text on the screen
Now after over 60 years the original code written in MAD-SLIP has been resurrected by Jeff Shrager, a cognitive scientist at Stanford University, and Myles Crowley,an MIT archivist, who found it among Weizenbaum’s papers back in 2021. Which is when they started working on getting the code to run, which was a significant effort. They first created an emulator that approximated the computers available in the 1960’s and then cleaned up the original 420-line ELIZA code to get it to work. They published a paper: ELIZA Reanimated: The world’s first chatbot restored on the world’s first time sharing system on 12th Jan where they explain the whole process.
ELIZA, created by Joseph Weizenbaum at MIT in the early 1960s, is usually considered the world’s first chatbot. It was developed in MAD-SLIP on MIT’s CTSS, the world’s first time-sharing system, on an IBM 7094. We discovered an original ELIZA printout in Prof. Weizenbaum’s archives at MIT, including an early version of the famous DOCTOR script, a nearly complete version of the MAD-SLIP code, and various support functions in MAD and FAP. Here we describe the reanimation of this original ELIZA on a restored CTSS, itself running on an emulated IBM 7094. The entire stack is open source, so that any user of a unix-like OS can run the world’s first chatbot on the world’s first time-sharing system.
You can try it out: here.
Source:
- Slashdot: World’s First AI Chatbot, ELIZA, Resurrected After 60 Years
- Live Science: ‘ELIZA,’ the world’s 1st chatbot, was just resurrected from 60-year-old computer code
– Suramya