Project (CS 1573, Spring 2004)
Project Information
You may propose any programming project that can be considered
an Artificial Intelligence Application, as long as you have the necessary
resources to work on the project, and you can complete something by
the end of the term.
The project will be evaluated based on
both an oral presentation to the class (with question answering), and a written report.
Project Timeline
-
March 16 or earlier: Provide me with an email or hardcopy project proposal, no longer than ONE PAGE. The proposal should contain:
(1) a clear, concise description of what you plan to do,
(2) the general approach you'll use (e.g., FSA dialog, decision-tree learning),
(3) an explicit, coherent plan for quantitatively and/or qualitatively evaluating the system.
-
April 1: Submit a one-page status report.
- April 13 and/or 15: Present a 5-10 minute presentation of your project
to the class and turn in your report. The report should motivate the
problem and your approach, then describe the programming experiments
and results.
Project Suggestions
The following ideas are only suggestions. You are encouraged to
devise projects that relate to your other classes, work or
experience. Many projects are also suggested in the R&N webpage,
and exercises in the R&N textbook and in the handouts.
- Use machine learning and NLP to classify email as one of
urgent/non-urgent, personal/non-personal, or spam/non-filter (using
the email
corpus used in last year's class).
-
The natural language community has a regular
competition for various tasks such as word sense disambiguation.
Write a machine learning project that could enter this competition.
-
Write an intelligent agent for a particular task, using multiple
agent architecutres.
Empirically compare the scaling properties of these different architectures.
Can you come to some conclusions of circumstances under which each agent
would be best?
-
Create an implementation of the famous SHRDLU system to
work with sentences describing actions in the ``blocks
world''. English commands are parsed by a parser. An
interpreter module converts the parsed form into action commands. The
actions are then carried out in a simulated environment.
-
Recreate from its specifications the reinforcement learning
system (Tesauro, 1992) that learns to play backgammon by playing
games against itself.
- Write or use a dialogue system shell to create a dialogue system
to solve a real task, or to talk to a robot.
- Build a "softbot" (a software agent) that you communicate with by typing in speech acts (in your own formal notion), that then infers what you want done and does it. The softbot may live in a simple simulated world (e.g. the blocks world) or the Unix world (e.g., it has the ability to run some commands such as "cp" and "lpr").
- Your own idea here. (Almost) anything goes.