CSE 472/572, Spring 2002

Programming Project 1
NATURAL-LANGUAGE PROCESSING BY PATTERN MATCHING

  1. Read the following:

  2. You might also want to play with an Eliza implementation. Try these:

  • In this project, you are to create your own convincing mini-Eliza. You may do this in one of three ways:

  • You should provide test runs on a variety of interesting and appropriately chosen pairs (e.g., you could try to implement Weizenbaum's original "Doctor" script or develop a "help" system for Unix).

  • In addition, you must design your system so that it has the following recognition-response pair:
    'My 1 is 2 -> What if your 1 were not 2'
    If this is applied to the sentence 'My left arm is about to fall off', it should produce 'What if your left arm were not about to fall off'.

    (a) Try your mini-ELIZA on the following inputs:

    (i) My head is on my shoulders.
    (ii) My problem is that you hate me.
    (iii) My problem is how to pay you.
    (iv) My brother said your car is bigger than mine.
    (v) My job is working in the mine.

    (b) In each case, discuss why the response is inappropriate, and describe the changes to the procedure that would be needed to produce responses that are syntactically and/or semantically appropriate (i.e., grammatical and/or meaningful) (don't worry about their therapeutic appropriateness!:-).

    (c) Experiment with at least one of these changes. Provide sample runs and a discussion of any problems that arise.

  • Your report should include a brief description of what you have done and a discussion of Eliza-like natural-language processing. In particular:

    Following both the requirements for projects as stated in the syllabus and the requirements for this project, there are 4 major items of roughly equal importance:

    Here's a breakdown: