Assignment 2

This is a group assignment. This assignment is marked out of 55 points, plus an additional 20 points towards peer evaluations.

Due Date

February 07, 2014, 3:30PM.

Overview of the Programming Project

The output of this programming project will serve as a starting point for your A3 (which will continue into the course project). All the programming will be done in Java.

Generally, develop an interactive conversational agent that responds to user input. The agent will need to "understand" sentences typed in by the user. (This is an open research problem, so don't worry if your system doesn't seem to understand very much, or doesn't do the understanding in an "intelligent" way. Find a way to develop an agent that *mimics* understanding, such as pattern matching.)

In response to the user, the agent will need to generate sentences as output. (Consider using a wide variety of "canned" responses with variable substitutions to keep the scope of the project simple and manageable.)

To give a more realistic context to the conversational agent, you should assign it a "role" so that the agent speak according to that role. Example roles may include:

In your conversation, you may pick a specific topic to focus on, in order to limit the scope of the language understanding part. Example of topics to use include: For example, if your agent is a psychiatrist, the user testing the program can act as a patient, and their dialogue can focus on a topic such as depression.

Requirements for this Assignment

For this assignment, you will focus on getting a basic agent setup, and dividing up the project into workable sizes among your team members. Specifically:

Design Considerations: Before you start coding, think about how your agent is going to determine what it should say next. For example, let's say the agent has 10 canned sentences in its repertoire, and some reasonable set of vocabulary. After a user enters "Hi", what will the agent output? How will it decide which of the 10 sentences to output? Next, after a user enters "What is your favourite sport?", what will the agent output? How is this decision different from the one responding to a greeting? Think about different things that a user may say in a conversation, and consider how your agent may respond to them the same or differently in each case.

Project Presentation

During the class presentation for this assignment, give a short presentation on what you have done. Specifically:

Peer Evaluations

Both A1 and A2 involved team work. As such, we want to increase awareness of the importance of team work, your own understanding of how well you work in a team, and your own understanding of what works well for you in a team environment and what doesn't. Sometimes, even if it seems frustrating, there are still good points to focus on. The purpose of these peer evaluations is to help you recognize all these points.

Evaluation Criteria

Specific evaluation criteria are:

What to Submit

The project report in PDF (submit on Connect).

Be sure to include your full names in your project submission and the peer evaluations.