CSE 472/572, Spring 2002
In this project, you are to create your own convincing mini-Eliza.
You may do this in one of three ways:
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).
Either implement and fully test the pattern-matching procedure
whose specification is given in the material from Winograd with the
modifications of exercises 2.1 and 2.13.
or else implement and fully test the mini-Eliza whose
specification is given in Shapiro's
text, in the exercises marked '(p1)'
(i.e., 12.1-12.2, 13.13-13.14, 14.7-14.8,
16.15, 17.29-17.32 (hint: read 26.9 before doing 17.31!),
18.25-18.27, 24.9-24.10, 26.8-26.14, 29.32
(unless I missed some)).
for this book.)
- or else translate /projects/rapaport/Doctor to
Common Lisp and fully document your code.
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,
why the response is inappropriate, and
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
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:
the project description
annotated sample runs
the Eliza question (part 5 of the project handout)
description of project
description of Eliza-like NLP
optional: bug report (if your program doesn't work, you can recoup lost
points by explaining your problems and how you might solve them with more time)
annotated sample runs:
implementation of the pattern in part 5
5a: responses to the 5 sentences (either computer-generated or hand-done)
5b: discussion of the 5 sentences
5c: changes to code
|DUE AT START OF LECTURE, MON, FEB 18|
Copyright © 2002 by
William J. Rapaport