Site Archive (Complete)
Email
Print
Reprint

add to:
Del.icio.us
Digg
Google
Furl
Slashdot
Y! MyWeb
Blink
July 09, 2003
AI Expert Newsletter - July 2003

Dennis Merritt
AI Expert Newsletter is all about artificial intelligence in practice. Features include case studies, technology tutorials, product reviews and AI news-plus classic articles from the original AI Expert magazine! Keep up with the latest in logic programming, expert systems, neural networks, genetic algorithms, and fuzzy logic.
Dr. Dobb's AI Expert Newsletter - 7/09/03

AI - The art and science of making computers do interesting things that are not in their nature.


As always, feedback is welcome. dennis@ddj.com

Can Machines Think?

Turing Test

In 1950 Alan Turing published Computing Machinery and Intelligence in the quarterly journal Mind. Thanks to the Internet, it's now easy to read this original article that is still to this day one of the defining works in AI. It is a great read.

In it he asked the question "Can machines think?" And he proposed a simple test. If a human conversed, via keyboard, with a machine and with a human, and could not tell which was which, then that machine could be called "intelligent." This is the famous Turing Test.

Over 50 years later, intelligent people are still debating whether or not the Turing Test has anything to do with machine intelligence.

Loebner Prize

In 1990 Hugh Loebner offered $100,000 and a neat gold medal to the first person to write a computer program that passed the Turing Test. There is an annual competition at which various software authors compete for the prize.

A panel of judges carry on dialogs with a number of humans and machines. They then rate each on a scale from most machinelike (low) to most humanlike (high). The machine with the highest score wins the competition. If its score is competitive with the scores received by the humans, then the authors claim the medal and the money. If not, they get $2,000 and everyone tries again next year.

So far, the prize has not been claimed. Some claim it can't be won without the giant ontologies of common sense discussed last month; others claim it requires perfecting natural language understanding; and still others say a learning program is needed. But the best entries so far have been based on a very simple idea.

Can Machines Converse?

ELIZA

In 1966 Joseph Weizenbaum described his program ELIZA. It was a very simple pattern-matching program that generated realistic responses to its input. It was designed to mimic a psychiatrist. (Weizenbaum, Joseph “ELIZA—A Computer Program for the Study of Natural Language Communication between Man and Machine,” Communications of the ACM, Vol. 9. No. 1 (January 1966).)

For example, here's one of the rules from one implementation of ELIZA. (See the links for source code in a number of languages.)

	rules([[dream,3],[
	[1,[_],0,
	[what,does,that,dream,suggest,to,you,?],
	[do,you,dream,often,?],
	[what,persons,appear,in,your,dreams,?],
	[do,you,believe,that,dreaming,has,something,to,do,with,your,problem,?],
	[newkey]]]]).
 
If the input had the word 'dream' in it, this rule would generate the response, using one of the four choices. It doesn't matter what the rest of the input was.

Think about this a second. These are pretty much the kinds of responses one would get in a conversation when bringing up a dream.

Another powerful idea in ELIZA was pronoun swapping. In the input, all first person pronouns became second person and vice-versa. So an input like "I remember Alaska" would match the patterns in this rule (the 'Y' in the rules is a wild card):

	rules([[remember,5],[
	[1,[_,you,remember,Y],0,
	[do,you,often,think,of,Y,?],
	[does,thinking,of,Y,bring,anything,else,to,mind,?],
	[what,else,do,you,remember,?],
	[why,do,you,remember,Y,just,now,?],
	[what,in,the,present,situation,reminds,you,of,Y,?],
	[what,is,the,connection,between,me,and,Y,?]],
	[2,[_,do,i,remember,Y],0,
	[did,you,think,'I',would,forget,Y,?],
	[why,do,you,think,i,should,recall,Y,now,?],
	[what,about,Y,?],
	[equal,[what,0]],
	[you,mentioned,Y,.]],
	[3,[_],0,
	[newkey]]]]).
 
And generate a response like "Do you often think of Alaska?"

Weizenbaum was horrified by how many people enjoyed chatting with ELIZA and that fact that even some therapists thought ELIZA was a useful therapeutic tool. He wrote ELIZA in part to prove that machines can NOT think. Yet people were interacting with the program as if it could.

But who do you enjoy talking to the most? Isn't it the person who listens, and ask questions prompting you to go on and on about yourself? ELIZA just follows the user's lead, letting him/her talk about whatever he/she wants. What more could someone want in a conversationalist? What more does a therapist do?

Can People Think?

Richard Wallace, one of the developers of A.L.I.C.E., which won the Loebner competition (not the prize; it was just the most human-like of the machine contestants), observes that the majority of casual human dialog is really just simple pattern-matching response. He argues that people aren't really paying attention to each other and just spit back responses based on what's on their mind and maybe a trigger or two from what they just heard.

The disturbing part of the debate on ELIZA is not whether it is intelligent or not. Clearly it's not.

The disturbing question is whether ELIZA is human-like or not. Clearly it is.

Chat Bots

ELIZA was fun, and prompted all sorts of derivative works, generically called chat bots.

A.L.I.C.E.

A.L.I.C.E. won the Loebner prize twice. It's really just a more sophisticated version of ELIZA with a much larger set of patterns. The development of the patterns is made easy by a standardized AI Markup Language (AIML) that is a well-formed XML. AIML can be used by anyone to create any sort of chat bot.

Here's some of the AIML from the winning version of A.L.I.C.E.

 
	<category>
	<pattern>HOW AM I SUPPOSED *</pattern>
	<template>
	<random>
	<li>Carefully.</li>
	<li>Think about it.</li>
	<li>Don't just give up.</li>
	</random>

	<think>
	<set name="it">
	<set name="topic">
	<person/>
	</set>
	</set>
	</think>
	</template>
	</category>
 
This, of course, fits the definition of AI used in this newsletter, which is the creation of a virtual machine to run programs written in a language well suited for a particular domain. In this case AIML is a perfect language for creating chat bots and an AIML runtime makes it go.

MGonz

Maybe it's not significant, but I thought it was funny. Mark Humphrys wrote a chat bot to stand in his place when he was away from his computer. Here are some rules from it that are triggered by the keyword 'Mark' in the input:

 ( (member 'mark input)
   (delve '(
   (mark isnt here and hes left me to deal with
   cretins like you)
   (forget mark i will destroy him like the others)
   (mark doesnt want to talk to you fishface
   why do you think im here)
   (listen leave that jerk out of it talk to me)
   )))
 

Failing the Turing Test

Dave: Open the pod bay door, HAL.
HAL: I'm sorry Dave, I'm afraid I can't do that.

That scene from 2001 brilliantly captures all our fears of AI, the horror of unfeeling machines empowered to run our lives.

I recently installed anti-spam software and was experiencing the very human emotion of frustration trying to get the software to work. I'd clearly done something wrong, but couldn't figure out what. So I contacted tech support.

It was a Web site. The FAQ didn't have the answer. But they recommended Chat with a technical support person. Sounded good, so I tried it:

Technical Support Chat: You have been connected to Sam Borg [name changed to protect the person, if any, with whom I was conversing].

Sam (S): Dennis, thank you for contacting McAfee. How can I assist you today?
Me (D): I just installed spam killer and don't seem to be able to get it to work.

S: Are you receiving any error message?
D: No, I got it to work once, but it didn't filter anything. I ran it over night, and it didn't find anything, yet when I ran Eudora, I had tons of spam, like usual.

S: Dennis, if I understand correctly, you have the SpamKiller not filtering mesages. Is this correct?
D: That is almost right. It found one message a little while ago. The blue arrow in on now

S: I would be happy to assist you with that.
D: OK, so give me a starting point. Is your name ELIZA?

S: No. What is the version of SpamKiller that is installed on the system?
D: I just installed it from your Web site yesterday, so its the latest version.
...
S: Based on the information you have provided, I can now provide the steps that should resolve your issue. If at any time there is something you do not understand, will you please stop me and let me know?
D: You didn't just type that did you? There's something non-human on your end.

S: No, I am a real person here.
D: You sound like ELIZA, give me some slang to prove you're human.

S: I am going to send you some instructions that will open a new window.
D: I'm reading them now, but I also do an AI newsletter and would like to write about you.

S: Okay. [I followed the instructions, still didn't work.]
D: I've been pretty frustrated, if we can't get it going I'd like to know how to get a refund.

S: Could you please tell me the country you are in?
D: USA

S: This issue or concern is supported by our Customer Service group. You may call 1-972-963-8000, select the option that best meets your needs, and they will be able to assist you.
D: What is wrong with my installation of Spam Killer?

S: Nothing is wrong. You will just need to follow a few steps to configure the spamkiller using the instructions that I sent you.
D: But I did that! It doesn't work.

[Called phone number, just recorded menu items, referring me back to Web page that gives me the option of this chat again or paying $39 to talk to someone.]

The instructions S sent me were just how to re-install, which of course didn't work, and subsequent passes through the same loop gave the same answer, so I did the logical thing and threw my mouse across the room -- and made a note not to get another radio controlled mouse.

Conferences

The 5th IFAC/CIGR Workshop on Artificial Intelligence in Agriculture will be held in Cairo on March 8-10, 2004. Deadline for submitting an extended abstract is Sept. 30, 2003. More Information can be found at www.claes.sci.eg/aia04.

Links

http://www.abelard.org/turpap/turpap.htm#the_imitation_game - Abelard's Web site has a full reprint of Turing's original paper, Computing Machinery and Intelligence, originally published in Mind. It's a fascinating read.

http://cogsci.ucsd.edu/~asaygin/tt/ttest.html - Ayse Pinar Saygin's Web site on the Turing Test. It has a number of interesting links to background and related material.

http://www.loebner.net/Prizef/loebner-prize.html - The home page for the Loebner Prize, which will be awarded to the first computer that can fool a panel of judges into thinking it is as human as humans also talking to the judges.

http://www-ai.ijs.si/eliza-cgi-bin/eliza_script - An implementation of ELIZA on the Web.

http://www.compapp.dcu.ie/~humphrys/eliza.html - Mark Humphrys' humorous, and somewhat crude, variation on ELIZA, called MGonz. The site includes a long dialog with the system from someone who apparently thought it was real and full source code in Lisp and REXX.

http://www-2.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/classics/eliza/0.html - CMU's AI repository page with numerous ELIZA implementations in a variety of languages.

http://www.alicebot.org/anatomy.html - Dr. Richard Wallace's excellent overview of chat bot technology in general, A.L.I.C.E., which won the Loebner competition in 2000 and 2001, in particular, and what this all says about human intelligence. (Most of casual human conversation is non-understanding pattern-matching response. Hmmmm.)

http://www.alicebot.org/ - The Web site for A.L.I.C.E.

http://www.botspot.com/search/s-chat.htm - A directory of a number of chat bots.

http://www.loebner-atlanta.org/LPCindex.html - The home page for the 2002 Loebner competition.

http://www.ellaz.com/ - And the 2002 winner is Ella, beating out notables like A.L.I.C.E. and Kurzweil's entry.

Until next month,

Dennis Merritt
dennis@ddj.com

TOP 5 ARTICLES
No Top Articles.
DR. DOBB'S CAREER CENTER
Ready to take that job and shove it? open | close
Search jobs on Dr. Dobb's TechCareers
Function:

Keyword(s):

State:  
  • Post Your Resume
  • Employers Area
  • News & Features
  • Blogs & Forums
  • Career Resources

    Browse By:
    Location | Employer | City
  • Most Recent Posts:
    MEDIA CENTER  more
    NetSeminar
    Creating Common and Scalable SOA Solutions for the Enterprise Leveraging an Enterprise Service Router (ESR)
    Creating Common and Scalable SOA Solutions for the Enterprise Leveraging an Enterprise Service Router (ESR) Despite the many emerging instances of SOA today, the ability to leverage common services and a common metadata layer in a secure and scalable manner is paramount, but rarely addressed. In this webinar, Intel discusses the core issues and opportunities behind the quest to provide a common services and information management layer, and explore a new architectural component called an Enterprise Service Router. Thursday, November 13, 2008. 11AM PT/2PM ET
    Next Generation ALM: Automating the Entire Build and Release Process
    As more and more software development shops adopt Agile processes, fully automating the build and release management processes becomes a critical element of Application Lifecycle Management (ALM) strategy. Join Forrester Senior Analyst Jeffrey Hammond and Anders Wallgren, CTO from Electric Cloud, as they discuss release management best practices and how to get started. Wednesday, November 19, 2008. 11AM PT/2PM ET
    Pain Relievers for Continuous Integration and Agile Development
    You're the build manager. You actually build the product that ships. Yet you get no respect. You're on your own to build your toolset. You're expected to provide a Continuous Integration environment - even though you have developers all over the world and a build that takes 14 hours to run. You're expected to be agile. Learn how in a Free webinar on December 3rd at 11am PST from Electric Cloud. Wednesday, December 3, 2008. 11AM PT/2PM ET
                                   
    EVENTS

    Nominations for the Jolt Awards - the “Oscars” of the software development industry - are now open!
    INFO-LINK

    Resource Links:




    Related Sites: DotNetJunkies, SD Expo, SqlJunkies