Natural
Language Processing techniques and chatterbots were one of the
regularly covered topics on this site from its early days. Due to the
increased rate of changes and your repeated requests, I decided to
write a broader review of this field (although it resulted in such
lengthy document). People often associate Artificial Intelligence with
computers that can understand human natural language. Even the great Alan Turing
predicted in 1950 that in about fifty years "an average interrogator
will not have more than a 70% chance of making the right identification
after five minutes of questioning" in an imitation game. The famous Turing test
assumes that a machine is intelligent if it can fool human observers
into thinking they are communicating with another human being. The
restricted version of this test, the Loebner Prize,
limits the conversation domain to a few machine-manageable topics: a
number of judges gathers each year to independently test several
computer programs and real persons, without previously knowing who are
they talking to - the actual conversation goes through a computer
terminal. Although it is not highly regarded by the professional
Artificial Intelligence community, this contest regularly attracts
numerous researchers and enthusiasts from around the world. However, no
computer was mistaken for a human until now, so the silver and gold
medals remain unawarded. The silver medal and accompanying $25,000 will
go to any program able to convince half the judges that it is human,
while the gold medal plus $100,000 will be awarded to a program that
does the same but through the speech interface.
To answer the question on who is the best software conversational agent in the world, AgentLand.com recently started the 2002 edition of the Chatterbox Challenge, originally created by Chris Cowart.
Shortly described as a "Loebner prize for the masses", the Chatterbox
Challenge promises to be a great opportunity for Internet users to get
to chatterbots, and participate by comparing bots and voting for them.
AgentLand is providing prizes of $1000, $500, and $250 as well as
trophies for the winning bots.
I must say that I
enjoyed this open, democratic approach, not only as a member of a jury,
but also as a visitor who'd like to compare the state-of-the-art in the
chatterbot design and meet the creators of some really interesting systems.
People at AgentLand developed a set of fairly structured contest
rules, divided into three distinct phases, involving both members of
the public and an expert jury. Public voting runs from April 1st 2002
to May 31st 2002. The overall winner of AgentLand's Chatterbox
Challenge, determined after a conversation between the judges and the
leading bots, will be announced shortly after voting closes on May
31st. Alice, a regular winner of the Loebner prize, currently holds the
top positions on the judges side, but public rankings are a little bit
different. Seems that we'll have an exciting finish race...
Anyway, even if you
are involved in the serious NLP research and think of the chatterbots
only as a bag of cheap programming tricks, I doubt that you could
resist these classic quotes (many more can be found here):
Jabberwacky 1#
by Rollo Carpenter
Jabberwacky: You misspelled Liar
User: I didnt call you a liar
Jabberwacky: You called me a liar.
User: No I didnt call you a liar.
Jabberwacky: Liar.
User: I am not a liar.
Jabberwacky: Do you want to be a liar?
User: No I dont want to be a liar.
Jabberwacky: Hypocrite!
Stan #1
by Ethan Elliot-Williams
User: I had a cat that was 18 years old
Stan: really?
User: yep, she died last summer.
Stan: cool
User: WHAT??
Stan: sorry, i just go crazy sometimes
User: you cruel #%#@$.
Stan: hehe
Jabberwacky #6
by Rollo Carpenter
User: Why are you called jabber Wacky?
jabberwacky: It seemed to go rather nicely with my image.
User: What is your image?
jabberwacky: Cool and sophisticated, with a hint of grunge.
User: So, is Bill Gates the anti-christ?
jabberwacky: I believe so.
User: Whoa. Heavy.
jabberwacky: He ain't heavy, he's my brother
Eugene #2
by Vladimir Veselov
User: Who invented cell-phones, that play annoying melodies instead of ringing?
Eugene: Look up some encyclopedia, the chapter "Famous jerks".
The program that
started it all is Eliza, a famous 240-line program simulating an
interview with a Rogerian psychotherapist, designed by computer
scientist Joseph Weizenbaum and released in 1966. This program repeats
many of the user's questions back in some slightly different form, and
recognizes just a few keywords: typing in the word "father" would
result in something like "Tell me more about your family". Simple
enough, without "real" AI technologies working in the background, but
some users even developed an emotional attachment to Eliza, and it was
expected that computers will handle everyday human language over the
short time span. Unfortunately, improved processor speed made computers
faster only at analyzing organized, structured data, but everyday
language isn't structured in such predictable ways. While related
fields like Speech Recognition already showed a significant commercial
success, Natural Language Understanding/Processing (NLU/NLP) still
faces numerous problems. Our machines can transform speech to text, but
they still lack a mechanism for interpreting its meaning. Teaching
common sense to a computer will be one of the most difficult problems
for the years to come. I'm sure that people at Cycorp
would agree with this statement: they invested nearly 500 person-years
of effort over the past 18 years to create a knowledge base that would
supply the basic knowledge needed to be applicable to many different
applications. By building a sufficiently large database with this
general knowledge, it is hoped that the system will be able to learn or
create new inferences by itself. Their main product, Cyc, is built upon
a core of over 1,500,000 hand-entered assertions. As you can imagine,
feeding this amount of information into a computer is a very tedious
task. It involves equipping Cyc with the ability to cut through the
layers of ambiguity inherent to the world we are living in. For
example, the sentence "Napoleon died in 1821 - Wellington was saddened"
required two months to enter into the knowledge base all the
information needed to explain the concepts of life and death!
Other AI researchers
in this challenging field are choosing different paths. Dr. David
Stork, chief scientist of Ricoh Silicon Valley and founder of the Open
Mind Initiative, estimates that in America alone something like 100
million mouse clicks have been wasted on a game of solitaire. Applying
the idea of distributed computing not to the idle processor cycles but
to the idle human brainpower, Stork and Push Singh of MIT's Media Lab
started collecting data contributed by non-expert Web users or
"netizens". In their own words, "...a key ingredient needed for the
development of AI software is data. There is theoretical and
experimental evidence that it is the lack of data that is retarding
development of many systems such as speech recognizers, handwritten
character recognizers, common sense reasoners and many others." So,
starting with their first project, Open Mind Commonsense,
the goal was to make it easy and fun for people to work together,
giving computers the millions of little pieces of ordinary knowledge
that constitute "common sense". Everyone has common sense (or should I
said almost everyone?), so everyone could participate. Non-expert users
answer simple questions, fill in the blanks, describe the relation
between two words, describe pictures, all in order to build a database
of common sense facts.
Open Mind Web site now
encourage visitors to teach a computer to recognize speech or
handwriting, and not just for fun. Financial incentives like lotteries
and e-coupons might be incorporated in the future. But making such
projects more fun still remains one of the main goals for Stork and his
team. Building a "true AI" just by playing games on the Net? I'm sure
many of us would join.
Open Mind isn't the only project of its kind: The Mindpixel Digital Mind Modeling Project
claims to be the world's first program attempting to become
artificially conscious by talking to Internet users. Its goal is to
collect and validate 1 billion MindPixels
- simple true or false statements - over the next 10 years. Its
founder, Chris McKinstry, thinks that quality control is crucial for
such large-scale distributed projects. His system starts by asking
users for a mindpixel, and continues with a request for validation of
20 statements entered by other volunteers. The validation process
ensures the correctness of the provided information. The volunteers are
rewarded with the equity in what could eventually become a for-profit
corporation licensing Mindpixel Corpus or Corpus derived products.
Another group of researchers claims a breakthrough with a computer that has learnt to talk like a toddler. Artificial Intelligence NV,
an international company split between Boston and Tel Aviv, launched
the first commercially oriented research and development effort, with
complete financial backing, that is committed to the creation of "true"
Artificial Intelligence. What distinguishes Ai from the rest of the
crowd is their unconventional approach to creating a truly conversant
computer. They recently passed the first important milestone when Hal
successfully finished an adapted Turing Test for 15 month olds. A child
development specialist was given transcripts of Hal's conversations,
and declared him a healthy, normal little boy. What she wasn't told is
that Hal is a computer program running on a regular Windows PC.
Going back from these
state-of-the-art projects, many of Web users are familiar with chat
robots, chat bots or chatterbots. According to the definition at Simon Laven's site,
one of the best reference points in this field, chatterbot is a program
that attempts to simulate typed conversation, with the aim of at least
temporarily fooling a human into thinking they were talking to another
person. His site features dozens of chatterbots in the nine categories
that can be accessed over the Web, downloaded to your PC, or accessed
via Java. Some of them recognize keywords; other can handle phrases and
whole sentences. Most bots internally use a programming construct
called a state machine, which is designed to react to some known input
pattern. Although simple and elegant, this technique doesn't go very
far, as it can be seen from this conversation log from Loebner 2000
Contest:
Judge: WHAT IS THE COLOR OF A BLUE TRUCK
Program: WHAT COLOR IS a blue truck
Judge: WHERE IS SUE'S NOSE WHEN SUE IS IN HER HOUSE
Program: Where it belongs. Try searching the open directory.
Judge: WHAT HAPPENS TO AN ICE CUBE IN A HOT DRINK
Program: Try it.
Judge: ALTOGETHER HOW MANY FEET DO FOUR CATS HAVE
Program: Do you have any idea what I am talking about?
The more sophisticated
bots employ learning algorithms as a mechanism for storing information
and using it in further responses. Such bots can learn new sequences
from its users and constantly expand its capabilities. Leo - the smart chatterbot
by Alan J. Brown is probably the best example of this approach. But the
main point here is that bots generally don't try to model our internal
cognitive states - they just simulate human intelligence by responding
to the simple input patterns.
ALICE
is an open source natural language chat robot that won Loebner Prize
for the last two years. The art of making successful chat robots is
perfected by Dr. Richard S. Wallace, ALICE's creator, for more than 5
years. The earliest version of ALICE, first activated on November 23,
1995, was implemented in the SETL language,
based on set theory and mathematical logic. Although the SETL source
code was freely available, just a few outside contributors took
interest in ALICE until she migrated to the platform-independent Java
language in the summer of 1998. Available under the GNU General Public
License, "program B" initiated a storm of development activity by
hundreds of contributors around the world.
Apart from the
availability of source code and number of people contributing to the
project, there is another feature that distinguishes ALICE from other
bots: AIML (Artificial Intelligence Markup Language), an XML
specification for programming chat robots with an emphasis on
minimalism and simplicity. It is probably one of the most versatile and
extensible chat robot available today. ALICE AI Foundation features
several subcomitees dealing with advanced topics such as voice
integration or distributed computing applications. "Program D" already
includes some experimental support of the JXTA
peer-to-peer framework, allowing Alice bots to query one another for
answers to questions. One could easily envision "AliceGroup" super-bots
that can answer any question by querying peers, or an P2P search tool
that works "a la Gnutella" to allow users to manually query Alice bots and find those with the best answers.
Talking about open
source projects and Java, there are others equally interesting projects
that could lead to breakthrough in human-computer interaction. Verbal Operating System
was an early dream of Michael Rice, the Natural Machine founder and
owner. After two years and 6 complete rewrites in languages like C++
and Visual Basic he finally settled on Java. Today, his company is
focusing on completing development of its voice recognition and natural
language processing technology. Since it is written in Java, it can run
on on top of your current Windows, Linux, Solaris, or Macintosh
desktop, on Verbal Devices (which are still under development), or
through the telephone. In a nutshell, Verbal should provide an open
platform for developing interactive applications that use Natural
Language Processing (NLP), Voice Recognition (VR), Text To Speech
(TTS), and similar technologies. Contrary to some specialized products
that are restricted to a specific knowledge domain, Verbal OS promises
to grow and match the user's needs by simply installing the additional
packages. The company recently released the core of its flagship
product, Verbal AI, under the open source project name of AI Kernel (AIK).
The company feels the rewards will come from leveraging the shared
knowledge of thousands of AI enthusiasts and academia to expand its
capabilities in key areas of research such as neural networks, Bayesian
networks, NLP and computational linguistics.
OpenNLP
is another open source project meant to provide an umbrella for various
Natural Language Processing projects to work with greater awareness and
greater interoperability. There are currently many NLP systems and
programs available, but those which are freely available are generally
too tightly integrated or limited to very specific tasks. OpenNLP
defines a set of Java interfaces and implements some basic
infrastructure for NLP components. General Architecture for Text Engineering (GATE) is the best example of a very powerful NLP tool that could benefit from this approach.
Chatterbots may look
toyish in their appearance and capabilities, but the technology has
already outgrown its roots as it is deployed in many "serious" domains
like Customer Relationship Management. New York City-based Artificial Life Inc.
develops, markets and supports intelligent robots for customer service,
consultative selling, Web site navigation, automated e-mail response
and financial portfolio management. Other, similar tools are produced
by Zabaware, Inc. and Simplis, Inc.
Chatterbots and
related tools can really give a personality to your PC or hardware
device. Do not overuse them, as the technology is still immature and
somewhat experimental. On the other hand, if taken in small doses, it
can really move your application/hardware device to the next level in
interactivity and usability.