fit 2002 > Computer als (Kommunikations-) Partner > Konzepte und Techniken > Chatbots

Chatbots

   
Der erste Chatbot, ELIZA, wurde von Joeseph Weizenbaum 1966 am MIT entwickelt.
Chatbots sind Programme die dem Benutzer eine natürlichsprachliche Konversation mit dem Computer vorgaukeln. Chatbots werden in IRC (Internet Relay Chat), Online Spielen, ICQ und auf Webseiten eingesetzt.

Men are all alike.

IN WHAT WAY?

They're always bugging us about something or other.

CAN YOU THINK OF A SPECIFIC EXAMPLE?

Well, my boyfriend made me come here.

YOUR BOYFRIEND MADE YOU COME HERE

He says I'm depressed much of the time.

I AM SORRY TO HEAR YOU ARE DEPRESSED

It's true. I am unhappy

DO YOU THINK COMING HERE WILL HELP YOU NOT TO BE UNHAPPY

I need some help, that much seems certain.

WHAT WOULD IT MEAN TO YOU IF YOU GOT SOME HELP

 

Unterhaltung mit ELIZA, Antworten des Bots sind großgeschrieben[ELIZA]

Chatbots arbeiten grundsätzlich nach dem Stimulus-Response Prinzip. Die Eingabe des Users wird eingelesen und auf das Vorhandensein von Reizwörtern untersucht.

Wird ein Reizwort gefunden, wird die Antwort nach einen bestimmten Regeln generiert und ausgegeben. Reizwörter und die dazugehörenden Regeln bilden das Skript eines Chatbots. Dieses Skript ist nicht Teil des Programms, es kann extern in einer Datenbank oder einer Datei gespeichert werden. Weizenbaums Definition der größten Probleme bezüglich Chatbots lautet wie folgt:

The fundamental technical problems with which ELIZA must be preoccupied are the following:

  1. The identification of the "most important" keyword occurring in the input message.
  2. The identification of some minimal context within which the chosen keyword appears; e.g., if the keyword is "you", is it followed by the word "are" (in which case an assertion is probably being made).
  3. The choice of an appropriate transformation rule, and, of course, the making of the transformation itself.
  4. The provision of a mechanism that will permit ELIZA to respond "intelligently" when the input text contained no keywords.
The provision of machinery that facilitates editing, particularly extension, of the script on the script writing level “[WEIZ66]

A.L.I.C.E ein 1995 mittels SETL und 1998 nach Java portierter Chatbot verwendet für seine Skripts AIML (Artifical Intelligence Markup Language), eine Erweiterung von XML.
  

ALICE CAN YOU PLEASE TELL ME WHAT LINUX IS RIGHT NOW

an AIML category with the pattern "_ RIGHT NOW" matches first,
reducing the input to:

ALICE CAN YOU PLEASE TELL ME WHAT LINUX IS

Another pattern ("<bot name="name"/> *") reduces it to:

CAN YOU PLEASE TELL ME WHAT LINUX IS

And then:

PLEASE TELL ME WHAT LINUX IS

reduces to:

TELL ME WHAT LINUX IS

and finally to:

WHAT IS LINUX

 

Reduktion eines Satzes mittels der Regeln des AIML-Skripts[ALICE]

Weitere Tricks der Chatbots zeigt Julia, ein Bot der auf MUDs (Multi User Dungeons) zugeschnitten ist:

Julia repeats the user’s input in the response. This is the same principle ELIZA uses and is very useful to trick the user into thinking that the bot is actually listening to them. It is also useful when the input string contains no keywords.

Julia sometimes admits ignorance. This also tricks the user into believing they are chatting to a human being.

Julia simulates human typing. We believe the trick of delaying output and introducing typing errors is the most convincing of all. This is achieved by buffering the output. However, as we knew we were talking to a bot, its effect was not as noticeable.  

Julia’s responses are selected at random. This is similar to the way humans respond. We will incorporate a number of responses for each keyword, varying in detail. This will mimic the response of a human.

Another example shows how Julia can "understand" the conversation.

User whispers: `how are you feeling?' to Julia.
Julia whispers: `Terrible.'
User whispers:`why, julia?' to Julia.
Julia whispers: `I have PMS today.'

In the user’s second response there is no reference to the first response. The reference was implicit. The user simply asks "Why Julia?" This required the understanding of the conversation. If Julia did not have this discourse model the input would simply have been parsed and not carried the conversation on"[CHAT]


[WEIZ66] Joseph Weizenbaum - ELIZA--A Computer Program For the Study of Natural Language Communication Between Man and Machine

[ELIZA] http://web.mit.edu/STS001/www/Team7/eliza.html

[ALICE] AIML - Primer

[CHAT] Research into Chatterbots - http://members.fortunecity.com/ikarydis/research.htm
  

>Entstehungskontext | Konzepte und Techniken | Entwicklung und Auswirkungen | Praxis | Bewertung