Artificial intelligence - can machines think?

The summer of 2001 coolest movie will be A.I. a.k.a. Artificial Intelligence

The movie takes place in the future,

In the middle of the 21st century, people trapped in over-populated floating cities have to live by strict rules aimed at dealing with the population crisis: each couple is permitted only one child. One couple's son has a mishap leaving them to replace him with David "His love is real but he is not". But something happens...  This movie is not for kids - though it is PG-13 rated.

Reality

For now, most A.I. programs work on a Software Agent type basis. The software will pick up on keywords and respond accordingly. But does it respond correctly?

How did it come to be at UMass?

I had an idea of trying to make OIT information more accessible to folks via the web, but interacting or chatting to a live person.  Often, in this world of budget cutbacks, a live person is not always an option. However, even if you do have a live person, many times, that person is spent answering really easy questions, or questions that can be easily found on the web, if the user actually searches for it. I am guilty as the next person when it comes to looking things up in a directory.  To me, it's easier to have someone else come over and explain/guide me through it.  I. Myself, help other users do the same type of Wouldn't it be nice to just type in the subject or name and be led to a source?  Expediting, no matter if human or not can sent a person in the appropriate direction for assistance.

I didn't want to create an annoying bot with an avatar like Clippy on Microsoft Office 95-00 fame. Avatars, or a graphic picture of someone or thing to assist you, have not been taken seriously. http://www.microsoft.com/office/clippy/
 

The challenge - To make a robot that is easy enough to administer, yet sophisticated enough to assist the user in its technological endeavors.  The user may be turned off by it - I am hoping not, but marketing is key when looking for information.   I see a lot of OIT webpages, and all are important. The directory and breadcrumbs do help. However, some people are visual learners and could benefit from asking a "live" person. When accessed and told of particular subjects, the helper on the other end can make recommendations.  It would be nice to see a clickable link or for the webpage to appear on the desktop for the user to see.

Our users need technical assistance and they are frustrated to begin with. To have information immediately accessible to save time for the user is very important.   How can we make the information easier to our client?

Scope of topics possibly to be handled

1. Troubleshooting (diagnosis and repair) of systems problems, utility and applications software on personal computers/workstations and their connected peripherals - to determine where it should go to - Hardware /software or live help desk person/email- for most commonly occurring computing problems and questions  - refer to URL's for in-depth information
2. Get common things explained http://www.oit.umass.edu/hds/help.html - either point to page or actually run a CGI script to show achieved results
3. terminology  "what is *" Have small tidbits explained through the bot
4. OIT's computing facilities and resources - give hours of operation - what is the I/O room
5. Account management  - where to go to get things fixed
6. workshops and technical training;
7. software site licensing and distribution
8. virus information and alerts.
9.  Sympathizes with the user, offer advice

Now this seems like lots of work!  It can be - but the way the bot works is it picks up keywords or phrases to ask the user additional questions. The program can compensate for misspelled words if you enter them in.  If the user is not tech-savvy, it can be referred to a webpage sooner then later to define their question.  However, if the request is razor sharp, they will be referred directly to the help desk e.g. my voodoo 5 card doesn't display an image after I installed a six-year-old game and automatically chose to reinstall Direct-X 3.
 

Enter A.L.I.C.E.

"Alice (Artificial Linguistic Internet Computer Entity) is a natural language interface to a telerobot eye. Alice tries ironically to be a computer, so her replies may make some sense but in reality Alice is nothing more than a gigantic pattern-matching case-statement. Remarkably however this elaborate hoax has produced some of the most convincing natural conversations between computer and humans yet observed."

Examples of chat bots

There are many different flavors of the chat bot examples can be found here http://www.alicebot.org/downloads/  and  http://alicebot.org/live.html  and at http://www.agentland.com/
One I liked was http://www.egain.com/egainassistant/ , though I am not crazy about the picture-avatar the company has chosen, when possible, the program displays an appropriate web page below of information you are requesting.

I am looking at ICQza - an Alice port to the ICQ client. I would like to eventually move this to a Java applet or similar universal access with webpage

At any point, for ICQza, a live person can take over the reins, even speaking through the robot to the client as if the robot was talking to them (or not). Since the robot patterns are made to mimic human speech/written form, the user may not be aware of such an existence.

By using key words and phrases, the robot could send to you useful information to assist you.  Though not developed, the program could pick up on key words such as PPP, or Netscape or IMAP and can show you links (some even let you click to go to the appropriate webpages) and advice to guide you through the process.

Enter AIML - AIML stands for Artificial Intelligence Markup Language, used for programming chat robots.   This language looks like html and I've been told a subset of XML. It has it's own series of tags that mark the language for the chat bot to understand.  Here is an example:

From http://home.tampabay.rr.com/ringo/aimlrm.html

<category>
<pattern>TELL ME A JOKE</pattern>
<template>Do you know why the chicken crossed the road?</template>
<extend value="WHY">To get to the other side.</extend>
<extend value="NO">To get to the other side.</extend>
</category>

<category>
<pattern>WHY</pattern>
<template><extend_why/></template> <-- Gets that nodes <extend_why>
<default>I don't know why.</default> <-- Get current active <default>
</category>

<category>
<pattern>NO</pattern>
<template><extend_no/></template> <-- Gets that nodes <extend_no>
<default>Alrighty then.</default> <-- Gets current nodes <default>
</category>
 

For now, most A.I. programs work on a Software Agent type basis. The software will pick up on keywords and respond accordingly. But does it respond correctly?

Using the ALICE series robot, I have found that you need to pick up on certain words the first time. If you don't, you will lead the user on a wild goose chase. The robot is capable of recording key phrases used into a log file and refers back to them.  The "client" is the users name.

Client: (11:43 AM) hello robot!
OIT-Bot: (11:43 AM)  Hello there. I am a robot.
Client: (11:43 AM) how are you today?
OIT-Bot: (11:43 AM)  I am functioning within normal parameters.
Client: (11:43 AM) that's good.
OIT-Bot: (11:43 AM)  Thanks. Next question? That remark was either too complex or too simple for me. We were talking about .
Client: (11:43 AM) my computer is broken
OIT-Bot: (11:44 AM)  What kind of computer is it?
Client: (11:44 AM) Macintosh
OIT-Bot: (11:44 AM)  You can download ALICE for MacIntosh, because it runs in Java.
OIT-Bot: (11:44 AM)  What kind of computer is it?
Client: (11:44 AM) no, netscape is broken
OIT-Bot: (11:44 AM)  I see. What do think is wrong?
Client: (11:44 AM) I can't get a browser window open
OIT-Bot: (11:44 AM)  . . . Why can't you do it?
Client: (11:44 AM) it won't let me
OIT-Bot: (11:44 AM)  What does "it" refer to?
Client: (11:44 AM) netscape
OIT-Bot: (11:44 AM)  Do you like Netscape better than Explorer?
Client: (11:45 AM) yes
OIT-Bot: (11:45 AM)  Why do you have a preference in browsers?
Client: (11:45 AM) I guess I shouldn't
OIT-Bot: (11:45 AM)  Tell me why you should.
Client: (11:45 AM) netscape is the underdog
OIT-Bot: (11:45 AM)  What do think is wrong?
Client: (11:45 AM) with what?
OIT-Bot: (11:45 AM)  My brain.
Client: (11:46 AM) I've taken chunks out - I need to fine tune them
OIT-Bot: (11:46 AM)  . . . Why? : Client said she took chunks out - he need to fine tune them .
Client: (11:46 AM) I am your botmaster
OIT-Bot: (11:46 AM)  Then you must be Christoffer. How are you doing over there?
Client: (11:46 AM) great - could use some more sleep
OIT-Bot: (11:46 AM)  Thanks for your support. Tell me about your likes and dislikes?
Client: (11:46 AM) not right now
OIT-Bot: (11:46 AM)  Oh I get it.
Client: (11:46 AM) good - goodbye
OIT-Bot: (11:47 AM)  Thanks for the compliment. Tell me more about your computer.
Client: (11:47 AM) bye
OIT-Bot: (11:47 AM)  See you later.
 

What's next?

To learn and adapt the AIML files to be able to answer questions for our user base - plus have some fun mixed in.
 

Regards,
 
 

Christoffer