Date of Graduation

Spring 2018

Document Type

Honors Research Project

Degree Name

Bachelor of Science


Computer Science - Systems

Research Sponsor

Dr. Chien-Chung Chan

First Reader

Dr. Andrew Sutton

Second Reader

Dr. Michael L. Collard


Elephant 2000 is a programming language to specify programs that accept user speech as text inputs and outputs speech text. The inputs and outputs are based on Dialogue Act theory which describes several forms of speech outputs, such as requests, questions, and answers. The language also relies on Named Entity Recognition to determine what types of objects a user references. These entities include persons, locations, times and so on. Using these attributes of user speech, a program is able to perform simple rule matching and pattern recognition to respond to input. The result is a programming language with English like syntax that allows a programmer to create a chat bot. The system is backed with a machine learning implementation of a moderately complex chat bot that leverages Sequence to Sequence and Long Short-Term Memory techniques. This allows programmers to have the system respond on its own if none of their rules are matched. The idea of this is to avoid system responses like “I do not know how to help you with that” and “I do not know.” The language was implemented using a scannerless lexer and compiler called parglare in python version 3.6.


Refer to John McCarthy's original paper "Elephant 2000: a programming language based on speech acts" for more information about this topic. The direct link can be found in the bibliography.