AI (CITS4211) Lab Sheet One
You Talkin' to Me?
The first lab provides a bit of fun with one of the best known early AI programmes, while at the same time refreshing some old skills and introducing some new ones. The aims of this lab are to:
-
1. Familiarise yourself with the programming environment used in the labs.
-
2. Refresh your knowledge of Java.
-
3. Think about and experiment with the kinds of competencies you might need to develop a natural language agent capable of solving the Turing Test.
What is your Problem?
The following tasks provide some Java refresher, practice using your IDE, insights into one of AI's most famous early programs, Eliza, and some food for thought on the Turing Test.
There is an implementation of Weizenbaum's original Eliza program by Charles Hayden
here.
-
Spend a little time talking to the Doctor about your problems.
- Once you feel that psychoanalysis has sufficiently solved all of your problems, have a go at writing your own Eliza program in Java. The idea is for you to think about and experiment with what would be required to build such a programme to different levels of competency, and ultimately what would be required to pass the Turing Test. Rather than psychotherapy you may like to focus your program on a particular domain that interests you, for example one of your hobbies.
(If you have read the notes for lecture 2,) See if you can structure your code according to our agent-based view of AI. What represents a percept? an action? the agent function?
- Joe Weizenbaum wasn't trying too hard to pass the Turing Test when he wrote Eliza - in fact he picked the domain of psychotherapy for a reason. Read Wikipedia's account of Eliza.
- The source code of a Java implementation of Weizenbaum's original program by Charles Hayden can
also be found here.
Have a look at the files, and in particular the Instructions on how to modify the script file.
This describes the techniques and tricks used to try to give a somewhat believable conversation with very little in the way of deep natural language processing.
See if there are any ideas, tips or code that you can use to improve your own program.
If you feel you have a good (or at least entertaining) program you might like to post it on help4211 for others to try!
Copyright © 2010,
School of Computer Science & Sofware Engineering
The University of Western Australia.