Professional Documents
Culture Documents
Sem 1, 2015
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.
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.