You are on page 1of 2

COMP SCI 1201 Introduction to Programming for Engineers

Sem 1, 2015

MATLAB Assignment: Create your own chatterbot


Weight: 6%
Due: week 10

Note: this assignment is only for the students enrolled in


COMP SCI 1201 as per course outline

What is a chatterbot?

A chatterbot is a program that attempts to maintain a typed conversation (similar to
an online chat) with a user.

Such programs are often designed to engage in small talk with the aim of passing the
Turing test by fooling the conversational partner into thinking that the program is a
human. However, chatterbots are also used in dialog systems for various practical
purposes such as customer service or information acquisition.

Note that writing programs that can interact naturally with humans has a very long
history. For some information on a breakthrough in 2014, see the following page:
http://www.huffingtonpost.com/2014/06/09/turing-test-eugene-
goostman_n_5474457.html


Assignment Aim
Your goal for this assignment is to design your own chatterbot in Matlab.

You must give your chatterbot a personality, ie friendly, grumpy, bored etc, and like
any other human will have favourite topics and direct its conversation towards them.

Your script should start a conversation by introducing itself and asking a simple
question, ie what is your name, or similar. The user will type a string input as their
reply and the conversation should continue from there.

Start your design early, and keep expanding and improving your code as you learn
more programming skills.

The website http://www.simonlaven.com has a large collection of chatterbots
including ELIZA, which was created in the early 1960's by MIT scientist Joseph
Weizenbaum to replicate the conversation between a psychoanalyst and a patient.
You may want to explore them for inspiration (avoid the MeBot under Friendly
chatterBots tag, as it triggered a malware alarm when I visit the page).

Assignment submission details will be posted soon.



COMP SCI 1201 Introduction to Programming for Engineers


Sem 1, 2015

Assessment criteria
Your chatterbot will be assessed on the following criteria:

Interaction (30%): your chatterbot should be able to engage with the user and
use their input on its replies. It should also remember some of the early inputs
and use them in later replies.
Creativity (30%): your chatterbot should have its own personality and this
should come across in the way they talk. It should also adapt well to very
different styles of conversation.
Quality of your algorithm (40%): your chatterbot should use the whole range
of programming constructs to make its dialogue varied and not too predictable.

You might also like