Elizabeth

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 or 2.07

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.07 is the very latest version, incorporating a number of significant improvements, but it has not yet been fully documented, so some gaps or discrepancies might be found in its Help file etc.

Each version of the program is provided in two forms, first as a standard ZIP archive, and then as a self-extracting ZIP file:

Using the System

Having downloaded the ZIP archive, extract it into an appropriate directory (e.g. "C:\Elizabeth") and start the system by running the file "Elizabeth.exe". 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, choose "Contents of help file" (the very first option), double-click the first line in the "Contents" tab (which should say "Elizabeth Conversation Program") and then on "Illustrative Script and Conversation". This will explain what you have seen.

Alternatively, you might prefer to read through the help file more systematically, starting from the "Overview of the System".

Documentation

A PowerPoint presentation is provided in the package, developed from one that was used at the University of Leeds in 2002-03 (with Elizabeth 2.01, though the differences are relatively minor). 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 Help file included in the package. The table of contents is as follows:

  • Elizabeth Conversation Program
    • Overview of the System
    • Starting Up, and the System Menus
    • The Script Editor
    • Illustrative Script and Conversation
    • Self-Teach Exercises
  • Basic Script Commands
    • Introduction to Script Commands
    • Simple Message Selection Commands
    • The Input/Keyword/Output/Final Transformation Process
    • Phrase Memorisation and Recall
    • Saving Text Files Dynamically
  • Pattern Matching and Recursion
    • Pattern Matching
    • Recursion and Text Splitting
    • The Power of Recursion
  • Advanced Script Processing
    • Implementing Grammatical Rules
    • Dynamic Script Processing
    • Control of Scripts using Command Index Codes
    • Giving Direction to a Conversation
    • Defining and Using Conditional Commands
    • Implementing Propositional Logic
  • Technical and Reference
    • Capitalisation and Transformations
    • Iteration and Cycling of Input/Output/Final Transformations
    • Technical Note on Pattern Matching
    • Sequencing and Timing of Dynamic Commands
    • Command Syntax Reference Guide
    • Built-In String Functions
    • Alphabets and Special Symbols
    • System Files and Predefined Scripts
Joseph Weizenbaum

Joseph Weizenbaum

Inventor of ELIZA, the first chatterbot