An Educational Chatterbot for Windows

Welcome to the home page of Elizabeth, an automated conversation and natural language processing program designed to provide an enjoyable and easy way in to natural language processing, but with sufficient power to enable it to handle complex grammatical transformations and even resolution theorem-proving, as well as straightforward pattern-match/substitution responses. Elizabeth can be thought of as an adaptation of Joseph Weizenbaum's ELIZA program, in which the various selection, substitution, and phrase storage mechanisms have been enhanced and generalised to increase both its flexibility and its potential adaptability. The system also incorporates analysis tables to show exactly what processing has taken place, thus providing a learning tool that can give insights into some of the fundamental methods and issues of artificial intelligence within an entertaining context.

Download Elizabeth 2.04, 2.07, or 2.20

This program is freeware for educational use, but please respect the copyright, and ensure that if you pass it on you do so without charge, make clear its authorship, and leave all documentation intact. Elizabeth 2.20 is the very latest version, incorporating a number of significant improvements, and including a comprehensive PDF manual of over 80 pages. It is provided as a structured ZIP archive (with the appropriate directory structure stored internally):

Previous versions of the software provided documentation through the traditional Windows Help system, which is not standardly supported by Windows 10 and therefore considered obsolete. However these can still be downloaded from the following links: Version 2.04; Version 2.07. Elizabeth 2.07 incorporated various improvements over 2.04, but without updates to the Help file. Scripts produced with either system will mostly work in the same way with version 2.20, to which users are strongly advised to switch, as this will be maintained into the future.

Using the System

Having downloaded the ZIP archive, extract it into an appropriate root directory (e.g. "C:\Elizabeth") – this should contain the files Elizabeth.exe (the executable program file), Elizabeth.pdf (the PDF manual), and Elizabeth.ppt (a PowerPoint which can be used to introduce the system to students). The root directory should also contain two subdirectories, called Illustrative Scripts (a library of standard scripts that can be loaded from the Help menu) and My Scripts (for the individual user's own scripts). Initially, the only file within My Scripts will be the inital illustrative script Elizabeth.txt (which is editable, and automatically executed on startup), but other scripts will be copied there (and thus also become editable by the user) if they are chosen from the Help menu. If the user deletes Elizabeth.txt entirely at any point, it will automatically be replaced by the original illustrative script, so there is never any risk of losing access to this (or the other standard scripts) by incautious editing.

Note for school administrators: see Section 6.4 of the manual if you wish to set the system up so that each user has a "My Scripts" directory in their own area of a network.

To run the program, simply execute Elizabeth.exe (e.g. by double-clicking on the file within Windows explorer). The program will immediately start a conversation – try responding in the ways shown in the screenshot below, and see what happens!

Elizabeth screenshot

Now go to the Help menu and choose "Open Help file" (the very first option). When the file opens in your PDF viewer, scroll to Section 1.4, "Illustrative Script and Conversation". This will explain what you have seen.

Alternatively, you might prefer to read through the PDF manual more systematically, starting from Section 1.1, "Overview of the System".


A PowerPoint presentation is provided in the package, developed from one that was used at the University of Leeds in 2002-03. This presentation is intended to give a straightforward introduction to the system in a manner suitable for private study, or an introductory taught course on Artificial Intelligence or Natural Language Processing. Use PowerPoint to print out handouts (six slides per page) for a useful quick-reference guide.

Full documentation is provided in the comprehensive PDF manual, which can of course be printed out for reference. The main sections are as follows:

  • 1. Introduction to the Elizabeth System
    • 1.1 Overview of the System
    • 1.2 Configuration, Starting Up, and the System Menus
    • 1.3 The Script Editor
    • 1.4 Illustrative Script and Conversation
    • 1.5 Weizenbaum's Original DOCTOR Script
    • 1.6 Self-Teach Exercises
  • 2. Basic Script Commands
    • 2.1 Introduction to Script Commands
    • 2.2 Simple Message Selection Commands
    • 2.3 The Input/Keyword/Output/Final Transformation Process
    • 2.4 Phrase Memorisation and Recall
    • 2.5 Saving Text Files Dynamically
  • 3. Pattern Matching and Recursion
    • 3.1 Pattern Matching
    • 3.2 Recursion and Text Splitting
    • 3.3 The Power of Recursion
  • 4. Advanced Script Processing
    • 4.1 Implementing Grammatical Rules
    • 4.2 Dynamic Script Processing
    • 4.3 Control of Scripts using Command Index Codes
    • 4.4 Giving Direction to a Conversation
    • 4.5 Defining and Using Conditional Commands
    • 4.6 Implementing Propositional Logic
    • 4.7 Implementing a Turing Machine
  • 5. Technical Details
    • 5.1 Capitalisation and Transformations
    • 5.2 Iteration and Cycling of Input/Output/Final Transformations
    • 5.3 Technical Note on Pattern Matching
    • 5.4Sequencing and Timing of Dynamic Commands
  • 6. Reference Section
    • 6.1 Command Syntax Reference Guide
    • 6.2 Built-In String Functions
    • 6.3 Alphabets and Special Symbols
    • 6.4 Directory Usage, System Files, and Predefined Scripts
    • Script Directives
    • Copyright, and Versions of the Software
Joseph Weizenbaum

Joseph Weizenbaum

Inventor of ELIZA, the first chatterbot