CMSC 421 - Spring (believe it or not) 2003

Project 1
Recursive Pattern Matching
a/k/a/ ChatBot Madness


Due Date Change: The project is now due Thursday, March 6. There is also a Change in Late Policy! Here's the deal:


Assignment Details:

In class we discussed a recursive pattern matching algorithm, and how it can be applied to an Eliza-like conversation program. A modern instantiation of such Eliza programs is the "chatbot." Your assignment is to write a fully functional pattern-matcher-based program that can participate both in a one-to-one and group chat.

For your assignment, you must choose a domain in which you wish it to imitate a person, and build a set of patterns (and the pattern-matcher and control code) for your chatbot. You must demonstrate an ability to handle patterns that contain the following special codes

There is no set rule for how many patterns are needed for a good conversation, however, we are requiring a minimum of about 20 patterns, including at least 2 examples of each of the above constructs. You must also have several responses for at least a few of your key patterns.

You will submit (see below) your code, your patterns, the log of an example of a one-to-one chat with your chatbot (showing off the capabilities, including examples of answers using the special codes with the bound variables), and a log of your chatbot in multiple conversation with at least three other participants (it can by many more), but you need to have at least a few examples in it of YOUR bot responding to things. In the unlikely case that you are unable to find other people in the group to test your bots against, we suggest making several clones of your bot (they'll need different names) and showing that working.


Submission/Programming Details

Details of how to submit your program, and which programming languages can be used, are available at http://www.cs.umd.edu/class/spring2003/cmsc421/project.html

Web Accessibility