Chatterbots - spinfo.phil-fak.uni-koeln.de · - Der Algorithmus, mit dem der Chatterbot läuft -...

76
09.06.2010 Chatterbots Chatterbots Chatterbots - - Seminarprojekt von Jan Bigalke, Jannes Ganzel Seminarprojekt von Jan Bigalke, Jannes Ganzel Xaver Hetzenegger Xaver Hetzenegger Veranstaltung: Künstliche Intelligenz - Prolog Veranstaltung: Künstliche Intelligenz - Prolog Dozent: Stephan Schwiebert Dozent: Stephan Schwiebert Seminar: Sprachliche Informationsverarbeitung Seminar: Sprachliche Informationsverarbeitung Semester: Sommersemester 10 Semester: Sommersemester 10

Transcript of Chatterbots - spinfo.phil-fak.uni-koeln.de · - Der Algorithmus, mit dem der Chatterbot läuft -...

09.06.2010 Chatterbots

ChatterbotsChatterbots --

Seminarprojekt von Jan Bigalke, Jannes GanzelSeminarprojekt von Jan Bigalke, Jannes GanzelXaver HetzeneggerXaver Hetzenegger

Veranstaltung: Künstliche Intelligenz - PrologVeranstaltung: Künstliche Intelligenz - PrologDozent: Stephan SchwiebertDozent: Stephan Schwiebert

Seminar: Sprachliche InformationsverarbeitungSeminar: Sprachliche InformationsverarbeitungSemester: Sommersemester 10Semester: Sommersemester 10

09.06.2010 Chatterbots

Bestandteile eines ChatterbotsBestandteile eines Chatterbots

1. Das Programm1. Das Programm

2. Die Wissensbasis2. Die Wissensbasis

3. Der Avatar3. Der Avatar

09.06.2010 Chatterbots

Das ProgrammDas Programm

- Der Algorithmus, mit dem der Chatterbot läuft- Der Algorithmus, mit dem der Chatterbot läuft

- Liest den eingegebenen Satz ein und zerlegt ihn - Liest den eingegebenen Satz ein und zerlegt ihn in einzelne Worte in einzelne Worte

- Vergleicht die einzelnen Worte mit - Vergleicht die einzelnen Worte mit Schlüsselworten in der WissensbasisSchlüsselworten in der Wissensbasis

09.06.2010 Chatterbots

Die WissensdatenbankDie Wissensdatenbank

- Gespeichertes Wissen des Chatterbots- Gespeichertes Wissen des Chatterbots

- Innerhalb dieser gibt es Schlüsselworte unter - Innerhalb dieser gibt es Schlüsselworte unter denen Antworten stehen, die der Chatterbot denen Antworten stehen, die der Chatterbot ausgibtausgibt

- Können eine einfache Struktur haben, aber auch - Können eine einfache Struktur haben, aber auch sehr umfangreich werdensehr umfangreich werden

09.06.2010 Chatterbots

Der AvatarDer Avatar

- Kein richtiger Programmteil- Kein richtiger Programmteil

- Einfachste Form: eine durch Einträge in die - Einfachste Form: eine durch Einträge in die Wissensdatenbank gespeicherte PersönlichkeitWissensdatenbank gespeicherte Persönlichkeit

- Simulation von Emotionen durch bestimmte - Simulation von Emotionen durch bestimmte Reaktionen auf Eingaben vom NutzerReaktionen auf Eingaben vom Nutzer

- Komplexere Formen haben Bilder und sogar - Komplexere Formen haben Bilder und sogar AnimationenAnimationen

- Ist grundsätzlich optional- Ist grundsätzlich optional

- Beispiel: - Beispiel: http://www.xandra-chatbot.de/produkte.htmlhttp://www.xandra-chatbot.de/produkte.html

09.06.2010 Chatterbots

Entstehung/Entwicklung von ElizaEntstehung/Entwicklung von Eliza

- 1966 vom Psychologen und Programmierer - 1966 vom Psychologen und Programmierer Joseph WeizenbaumJoseph Weizenbaum entwickelt, um die entwickelt, um die Möglichkeiten der Kommunikation zwischen Mensch und Computer über Möglichkeiten der Kommunikation zwischen Mensch und Computer über natürliche Sprache aufzuzeigen natürliche Sprache aufzuzeigen

Joseph Weizenbaum: Joseph Weizenbaum:

- 1923 in Berlin geboren, wanderte mit seiner jüdischen Familie in die USA - 1923 in Berlin geboren, wanderte mit seiner jüdischen Familie in die USA ausaus

- studierte Mathematik (Wayne Universität)- studierte Mathematik (Wayne Universität)

- Assistent an der Wayne Universität, führend am Entwurf und Bau eines - Assistent an der Wayne Universität, führend am Entwurf und Bau eines Computers beteiligtComputers beteiligt

- 1963 als Professor zum - 1963 als Professor zum MIT MIT (Massachusetts Institute of Technology) berufen, (Massachusetts Institute of Technology) berufen, um dort Computerwissenschaften zu lehren.um dort Computerwissenschaften zu lehren.

- Zwischen 1964 und 1967 arbeitete Weizenbaum an Sprach-Analyse-Programmen - Zwischen 1964 und 1967 arbeitete Weizenbaum an Sprach-Analyse-Programmen und entwickelte dabei Elizaund entwickelte dabei Eliza

- Weizenbaum wurde damit durch die oberflächliche Simulation eines - Weizenbaum wurde damit durch die oberflächliche Simulation eines Psychotherapeuten bekannt Psychotherapeuten bekannt

09.06.2010 Chatterbots

Namensgebung: Namensgebung:

Der Name ELIZA wurde wegen der Ähnlichkeit mit dem später als „MyFairLady“ Der Name ELIZA wurde wegen der Ähnlichkeit mit dem später als „MyFairLady“ bekannten Schauspiel gewählt. Dort geht es um eine einfache Frau von der bekannten Schauspiel gewählt. Dort geht es um eine einfache Frau von der Straße, Eliza Doolittle, die von einem Professor für Linguistik die Straße, Eliza Doolittle, die von einem Professor für Linguistik die Sprache der gehobenen Gesellschaft beigebracht bekommt.Sprache der gehobenen Gesellschaft beigebracht bekommt.

→ → Ebenso „lehrt“ Weizenbaum dem Computer mit einem menschlichen Ebenso „lehrt“ Weizenbaum dem Computer mit einem menschlichen Benutzer zu kommunizieren Benutzer zu kommunizieren

Entwicklung und Reaktionen:Entwicklung und Reaktionen:

-- ELIZA wurde mit dem ELIZA wurde mit dem MAC time-sharing systemMAC time-sharing system realisiert realisiert

- Skripte simulieren verschiedene Gesprächspartner Skripte simulieren verschiedene Gesprächspartner

- Weizenbaums Skript bestand damals als eines der ersten KI-Programme einen Weizenbaums Skript bestand damals als eines der ersten KI-Programme einen eingeschränkten Turingtesteingeschränkten Turingtest

→ → trotz seiner einfachen Programmstruktur nahm die Öffentlichkeit Eliza trotz seiner einfachen Programmstruktur nahm die Öffentlichkeit Eliza außerordentlich euphorisch auf. außerordentlich euphorisch auf.

- Joseph Weizenbaum hatte sein Programm nie für den Einsatz als - Joseph Weizenbaum hatte sein Programm nie für den Einsatz als Ersatzpsychiatererschaffen, sondern nur um zu demonstrieren, wozu eine Ersatzpsychiatererschaffen, sondern nur um zu demonstrieren, wozu eine Maschine fähig sein kann Maschine fähig sein kann

- er war erschüttert über die Reaktionen auf sein Programm- er war erschüttert über die Reaktionen auf sein Programm

09.06.2010 Chatterbots

Funktionweise Funktionweise

Grundmuster:Grundmuster:

- Grundmuster von Eliza ist die Simulation eines Gesprächs zwischen einem - Grundmuster von Eliza ist die Simulation eines Gesprächs zwischen einem (computergenerierten) Psychotherapeuten auf der einen und einem (computergenerierten) Psychotherapeuten auf der einen und einem menschlichen Patienten auf der anderen Seite menschlichen Patienten auf der anderen Seite

- Beispiel: Konzept - Beispiel: Konzept klientzentrierten Gesprächsführungklientzentrierten Gesprächsführung mit Techniken aktiver mit Techniken aktiver Gesprächsführung im Sinne des Spiegelns und des Paraphrasierens von Gesprächsführung im Sinne des Spiegelns und des Paraphrasierens von Aussagen des Patienten durch den Therapeuten verknüpft:Aussagen des Patienten durch den Therapeuten verknüpft:

Eliza: Hello. I am ELIZA. How can I help you?Eliza: Hello. I am ELIZA. How can I help you?

NUTZER: MyNUTZER: My best friend hates me. best friend hates me.

Eliza: Why do you say your best friend hates you?Eliza: Why do you say your best friend hates you?

NUTZER: HNUTZER: He's not happy to see me any more.e's not happy to see me any more.

Eliza: Can you elaborate on that?Eliza: Can you elaborate on that?

NUTZER: NUTZER: She steals my lunch money.She steals my lunch money.

Eliza: Why do you say your lunch money?Eliza: Why do you say your lunch money?

NUTZER: NUTZER: Because that's what she takes from me.Because that's what she takes from me.

Eliza: Do any other reasons not come to mind?Eliza: Do any other reasons not come to mind?

NUTZER: Bla.NUTZER: Bla.

Eliza: I see.Eliza: I see.

09.06.2010 Chatterbots

grundlegende Funktionsweise des Programms:grundlegende Funktionsweise des Programms:

- - Programm liest zunächst die Nutzereingaben und sucht nach Programm liest zunächst die Nutzereingaben und sucht nach Schlüsselwörtern,Schlüsselwörtern, welche nach ihrer Wichtigkeit in Ranglisten welche nach ihrer Wichtigkeit in Ranglisten definiert sinddefiniert sind

→ → wurden Schlüsselwörter gefunden, wird die Antwort nach wurden Schlüsselwörter gefunden, wird die Antwort nach festgelegten Transformationsregeln gebildet und ausgegebenfestgelegten Transformationsregeln gebildet und ausgegeben

Beispiel: Benutzereingabe Beispiel: Benutzereingabe „My best friend hates me“„My best friend hates me“::

- Eliza untersucht die Eingabe des Nutzers zuerst auf im Skript - Eliza untersucht die Eingabe des Nutzers zuerst auf im Skript abgelegte Schlüsselwörter, wie etwa auf das Wortabgelegte Schlüsselwörter, wie etwa auf das Wort „ „hatehate””

- Im - Im Anschluss Anschluss lösen Ersatzschlüssel einen Austausch der ersten und lösen Ersatzschlüssel einen Austausch der ersten und zweiten bzw. ersten und dritten Person auszweiten bzw. ersten und dritten Person aus

- Um die Aussage des Nutzers durch das Programm zu spiegeln, werden - Um die Aussage des Nutzers durch das Programm zu spiegeln, werden das Possessivpronomendas Possessivpronomen mymy und das Reflexivpronomenund das Reflexivpronomen meme in ihre in ihre EntsprechungenEntsprechungen youryour undund youyou für die Antwort für die Antwort des Programms des Programms verwandeltverwandelt

→ → Auf diese Weise erfolgt eine Überführung der AussageAuf diese Weise erfolgt eine Überführung der Aussage "My "My best best friend hates friend hates me"me" des Nutzers in die Frage Elizas des Nutzers in die Frage Elizas "Why do you say"Why do you say your your best friend hates best friend hates you?you?

- per Zufallsgenerator wird eine passende Antwort aus der per Zufallsgenerator wird eine passende Antwort aus der Gesamtmenge aller möglichen Antworten ausgewählt. Gesamtmenge aller möglichen Antworten ausgewählt.

→ → diese zufällige Auswahl der Antwortmuster soll Wiederholungen diese zufällige Auswahl der Antwortmuster soll Wiederholungen seitens des Programms während des Dialogs vermeiden seitens des Programms während des Dialogs vermeiden

09.06.2010 Chatterbots

Grundlegende Probleme, mit denen Eliza konfrontiert ist:Grundlegende Probleme, mit denen Eliza konfrontiert ist:

• Erfassung von SchlüsselwörternErfassung von Schlüsselwörtern

• Erfassung des InhaltsErfassung des Inhalts

• die Wahl der geeigneten Transformationdie Wahl der geeigneten Transformation

• Erzeugung von Antworten, wenn keine Schlüsselwörter Erzeugung von Antworten, wenn keine Schlüsselwörter gefunden werdengefunden werden

• Kapazität der ElizascriptsKapazität der Elizascripts

09.06.2010 Chatterbots

Psychologische Ansätze zur Psychologische Ansätze zur Erzeugung von KI? Erzeugung von KI?

- Erfolg von ELIZA als „künstliche Intelligenz“ durch - Erfolg von ELIZA als „künstliche Intelligenz“ durch Nachahmung eines Therapeuten, um die perfekte Simulation Nachahmung eines Therapeuten, um die perfekte Simulation einer KI zu umgeheneiner KI zu umgehen

– Die Versuchspersonen in den Experimenten waren zu Die Versuchspersonen in den Experimenten waren zu einem großen Teil sogar überzeugt, dass der einem großen Teil sogar überzeugt, dass der „Gesprächspartner“ ein tatsächliches Verständnis für „Gesprächspartner“ ein tatsächliches Verständnis für ihre Probleme aufbrachteihre Probleme aufbrachte

– Experiment zeigt, dass es tatsächlich, zumindest Experiment zeigt, dass es tatsächlich, zumindest teilweise gelungen ist, eine künstliche Intelligenz teilweise gelungen ist, eine künstliche Intelligenz vorzutäuschen, trotz Fehlverhaltens des Programms in vorzutäuschen, trotz Fehlverhaltens des Programms in bestimmten Situationen bestimmten Situationen

09.06.2010 Chatterbots

aus KI I:aus KI I:

4 Typen von „Künstlicher Intelligenz“ definiert:4 Typen von „Künstlicher Intelligenz“ definiert:

1. Systeme, die wie Menschen denken1. Systeme, die wie Menschen denken

2. Systeme, die rational denken2. Systeme, die rational denken

3. Systeme, die rational agieren3. Systeme, die rational agieren

4. Systeme, die wie Menschen agieren 4. Systeme, die wie Menschen agieren

„„Die Kunst, Maschinen zu schaffen, dieDie Kunst, Maschinen zu schaffen, die

Funktionen erfüllen, die, werden sie vonFunktionen erfüllen, die, werden sie von

Menschen ausgeführt, der Intelligenz bedürfen.“Menschen ausgeführt, der Intelligenz bedürfen.“

(Kurzweil, 1990)(Kurzweil, 1990)

„„Die Studie, wie man Computer dazu bringt,Die Studie, wie man Computer dazu bringt,

Dinge zu tun, bei denen ihnen momentan derDinge zu tun, bei denen ihnen momentan der

Mensch noch überlegen ist.“ (Rich und Knight,1991)Mensch noch überlegen ist.“ (Rich und Knight,1991)

=> Eliza täuscht KI durch Simulation eines sich unwissend => Eliza täuscht KI durch Simulation eines sich unwissend stellenden Psychologen vor. Nur so funktioniert die Illusion, und stellenden Psychologen vor. Nur so funktioniert die Illusion, und nur solang sich der Benutzer auf diese Art von Gespräch einlässt, nur solang sich der Benutzer auf diese Art von Gespräch einlässt, funktioniert das Programm!funktioniert das Programm!

09.06.2010 Chatterbots

Der Turing TestDer Turing Test

- 1950 von Alan Turing entwickelt- 1950 von Alan Turing entwickelt

- Test ob eine Maschine ein gleichwertiges - Test ob eine Maschine ein gleichwertiges Denkvermögen wie ein Mensch haben kannDenkvermögen wie ein Mensch haben kann

-Computer A und Person B sind von Person C räumlich getrennt -A und B versuchen C davon zu überzeugen das sie menschlich sind- C versucht festzustellen, wer der Computer ist- Kann C nicht genau sagen wer der Computer ist, hat A den Test bestanden

09.06.2010 Chatterbots

KritikKritikdie Intelligenz bei Computern anzweifelt:die Intelligenz bei Computern anzweifelt:

1.Simulation einer Unterhaltung bedeutet 1.Simulation einer Unterhaltung bedeutet nicht Intelligenz, sondern ist nur nicht Intelligenz, sondern ist nur Untersuchung eines Teils der IntelligenzUntersuchung eines Teils der Intelligenz

2.Turing Test würde ein Durchsuchen riesiger 2.Turing Test würde ein Durchsuchen riesiger Datensätze schon als Intelligenz wertenDatensätze schon als Intelligenz werten

3.Das chinesische Zimmer3.Das chinesische Zimmer

09.06.2010 Chatterbots

KritikKritikdie die Fähigkeit des Turing Test Intelligenz zu die die Fähigkeit des Turing Test Intelligenz zu

erkennen anzweifelterkennen anzweifelt

1.Intelligenz muss nicht direkt menschliche 1.Intelligenz muss nicht direkt menschliche Kommunikation bedeutenKommunikation bedeuten

2.Kinder, oder beeinträchtigte Menschen würden 2.Kinder, oder beeinträchtigte Menschen würden den Test nicht bestehenden Test nicht bestehen

3.Nicht Kooperieren würde keine Intelligenz 3.Nicht Kooperieren würde keine Intelligenz nachweisennachweisen

09.06.2010 Chatterbots

Allgemeine KritikAllgemeine Kritik

- Jeder Mensch ist anders, daher keine - Jeder Mensch ist anders, daher keine Verallgemeinerung des Tests möglichVerallgemeinerung des Tests möglich

09.06.2010 Chatterbots

Das chinesische ZimmerDas chinesische Zimmer

- Von John Serle erstelltes Gedankenmodell- Von John Serle erstelltes Gedankenmodell

- Eine Person, die kein Chinesisch kann sitzt in einem - Eine Person, die kein Chinesisch kann sitzt in einem geschlossenen Raum und hat Kärtchen auf denen chinesische geschlossenen Raum und hat Kärtchen auf denen chinesische Schriftzeichen abgebildet sind und ein Buch das Schriftzeichen abgebildet sind und ein Buch das Schriftzeichen in Zusammenhang bringtSchriftzeichen in Zusammenhang bringt

- Sie bekommt weitere Kärtchen mit Schriftzeichen, die sie - Sie bekommt weitere Kärtchen mit Schriftzeichen, die sie mit Hilfe des Buches in Zusammenhang mit den mit Hilfe des Buches in Zusammenhang mit den Schriftzeichen bringen kannSchriftzeichen bringen kann

- Dann bekommt sie wieder Kärtchen gereicht, zu denen sie - Dann bekommt sie wieder Kärtchen gereicht, zu denen sie mit Hilfe des Buches einen Zusammenhang zu den 1. Zeichen mit Hilfe des Buches einen Zusammenhang zu den 1. Zeichen ziehen kann und angegeben bekommt welche Kärtchen sie ziehen kann und angegeben bekommt welche Kärtchen sie heraus reichen sollheraus reichen soll

- Eine Person die draußen steht, kann jetzt denken, dass die - Eine Person die draußen steht, kann jetzt denken, dass die Person im Raum Chinesisch versteht, dabei hat sie nur die Person im Raum Chinesisch versteht, dabei hat sie nur die Schriftzeichen verglichen, jedoch nicht verstandenSchriftzeichen verglichen, jedoch nicht verstanden

09.06.2010 Chatterbots

Loebner PreisLoebner Preis

- Von Hugh Gene Loebner 1991 gegründet- Von Hugh Gene Loebner 1991 gegründet

- Goldmedaille und 100.000$ für das Programm das den Turing-- Goldmedaille und 100.000$ für das Programm das den Turing-Test zu 100% bestehtTest zu 100% besteht

- 1999 wurde die Silbermedaille und ein Preisgeld von 25000$ - 1999 wurde die Silbermedaille und ein Preisgeld von 25000$ eingeführt wenn 50% der Jury überzeugt wurdeneingeführt wenn 50% der Jury überzeugt wurden

- Bis heute hat noch kein Chatterbot die Silbermedaille - Bis heute hat noch kein Chatterbot die Silbermedaille gewonnengewonnen

09.06.2010 Chatterbots

Loebner PreisLoebner PreisAnforderungenAnforderungen

- Juristen dürfen so lange und so oft sie wollen über - Juristen dürfen so lange und so oft sie wollen über vorgegebene Themen mit dem Chatterbot redenvorgegebene Themen mit dem Chatterbot reden

- Seit 1995 wurde die Themenrestriktion aufgehoben- Seit 1995 wurde die Themenrestriktion aufgehoben

- Seit 2000 müssen sie auch Audiovisuelle Daten - Seit 2000 müssen sie auch Audiovisuelle Daten verarbeiten und ausgebenverarbeiten und ausgeben

-> Da bisher kein Chatterbot die Anforderungen erfüllt -> Da bisher kein Chatterbot die Anforderungen erfüllt hat, wurde ein Trostpreis in Form einer hat, wurde ein Trostpreis in Form einer Bronzemedaille und 2000$ eingeführtBronzemedaille und 2000$ eingeführt

09.06.2010 Chatterbots

Tricks der Jury Chatterbots zu Tricks der Jury Chatterbots zu enttarnenenttarnen

- Für diesen Moment gültige Fragen:- Für diesen Moment gültige Fragen:

„ „How about the weather this morning?“How about the weather this morning?“

- Offensichtlich falsche Behauptungen:- Offensichtlich falsche Behauptungen:

[2008-10-12 [2008-10-12 08:59:2608:59:26]“Good afternoon,[..]“]“Good afternoon,[..]“

- Fragen über Themen die schon besprochen wurden an - Fragen über Themen die schon besprochen wurden an neuer Stelleneuer Stelle

- Fragen über Spezialwissen die sich selbst - Fragen über Spezialwissen die sich selbst beantworten: beantworten: „In welchen Jahr sind die Siedler von 1820 „In welchen Jahr sind die Siedler von 1820 gelandet?“gelandet?“

- Im Text eingebundene Rechtschreibfehler oder sinnlose - Im Text eingebundene Rechtschreibfehler oder sinnlose Zeichen: Zeichen: „He~~~llo“„He~~~llo“

09.06.2010 Chatterbots

Tricks Chatterbots menschlicher Tricks Chatterbots menschlicher Wirken zu lassenWirken zu lassen

1. Einbinden eines Avatars1. Einbinden eines Avatars

2. Verschiedene Antwortmöglichkeiten auf Schlüsselwörter, eventuell mit 2. Verschiedene Antwortmöglichkeiten auf Schlüsselwörter, eventuell mit random-Funktionrandom-Funktion

3. Rechenaufgaben länger bearbeiten zu lassen, gar nicht zu lösen oder mit 3. Rechenaufgaben länger bearbeiten zu lassen, gar nicht zu lösen oder mit Fehlern behaftenFehlern behaften

Bsp: Bsp: http://elbot.de/htm/elbot/frame.htmhttp://elbot.de/htm/elbot/frame.htm

4. Tippfehler4. Tippfehler

5. Audioausgabe5. Audioausgabe

6. Emotionen darstellen6. Emotionen darstellen

Bsp: Bsp: http://www.yellostrom.dehttp://www.yellostrom.de

Problem: können keine Ironie oder Gefühle erkennenProblem: können keine Ironie oder Gefühle erkennen

09.06.2010 Chatterbots

A.L.I.C.E (A.L.I.C.E (Artificial Artificial Linguistic Internet Computer Linguistic Internet Computer

Entity)Entity)- ist ein Chatbot für natürliche Sprachen- ist ein Chatbot für natürliche Sprachen

- A.L.I.C.E hat bisher 3 mal den Loebner Preis - A.L.I.C.E hat bisher 3 mal den Loebner Preis gewonnen (2000,2001 und 2004)gewonnen (2000,2001 und 2004)

- nie den Turingtest bestanden- nie den Turingtest bestanden

- wurde entwickelt vom US-amerikanischen Informatiker - wurde entwickelt vom US-amerikanischen Informatiker Richard WallaceRichard Wallace

09.06.2010 Chatterbots

FunktionsweiseFunktionsweise

- A.L.I.C.E basiert auf einer Wissensbasis die AIML - A.L.I.C.E basiert auf einer Wissensbasis die AIML genannt wirdgenannt wird

- AIML (Artificial Intelligence Markup Language) ist - AIML (Artificial Intelligence Markup Language) ist eine auf XML basierende Auszeichnungsspracheeine auf XML basierende Auszeichnungssprache

<alice><alice>

<category><category>

<pattern>Guten Morgen * </pattern> <pattern>Guten Morgen * </pattern>

<template>Hallo und schönen guten Tag. Wie geht es Ihnen heute?<template>Hallo und schönen guten Tag. Wie geht es Ihnen heute? <template> <template>

</category> </category>

</alice> </alice>

- in jeder Datei gibt es eine Reihe von Statements: - in jeder Datei gibt es eine Reihe von Statements: <category> </category><category> </category>

09.06.2010 Chatterbots

- das <pattern> - Tag ist der Eingabeteil des - das <pattern> - Tag ist der Eingabeteil des StatementsStatements

- das <pattern> - Tag ist Ausdruck einer - das <pattern> - Tag ist Ausdruck einer formellen Sprache, die folgende Bestandteile formellen Sprache, die folgende Bestandteile haben darf:haben darf:

- Wörter einer natürlichen Sprache in UPPER - Wörter einer natürlichen Sprache in UPPER CASE CASE

- Das Symbol *, dass einer beliebigen Sequenz - Das Symbol *, dass einer beliebigen Sequenz einer oder mehrerer Wörter entspricht einer oder mehrerer Wörter entspricht

- Beispiel: HELLO * -> "Hello, how are you?"- Beispiel: HELLO * -> "Hello, how are you?"

- AIML erlaubt hierbei nur ein * pro <pattern>- AIML erlaubt hierbei nur ein * pro <pattern>

09.06.2010 Chatterbots

- das <template> - Tag ist der Ausgabe- oder Antwortteil des - das <template> - Tag ist der Ausgabe- oder Antwortteil des Statements:Statements:

- die einfachste Ausführung eines <template> ist ein unmakierter - die einfachste Ausführung eines <template> ist ein unmakierter TextText

- AIML bietet Funktionen um die Anwort auf die entsprechende - AIML bietet Funktionen um die Anwort auf die entsprechende Eingabe zuzuschneidenEingabe zuzuschneiden

- <srai> ist in der Lage im <template> Bezug auf ein <template> - <srai> ist in der Lage im <template> Bezug auf ein <template> einer anderen <category> zu nehmeneiner anderen <category> zu nehmen

- <star/> ist im <template> das Korrelat des * aus dem <pattern>- <star/> ist im <template> das Korrelat des * aus dem <pattern>

- Beispiel:- Beispiel:

<category> <category>

<pattern>Kannst Du *</pattern> <pattern>Kannst Du *</pattern>

<template><star/>? Nein, willst Du es mir <template><star/>? Nein, willst Du es mir erklären</template> erklären</template>

</category> </category>

Kannst Du fliegen? Wird von Alice mit "Fliegen? Nein, willst Kannst Du fliegen? Wird von Alice mit "Fliegen? Nein, willst Du es mir erklären" beantwortet Du es mir erklären" beantwortet. .

09.06.2010 Chatterbots

- das <that> - Tag ermöglicht den Bezug auf die - das <that> - Tag ermöglicht den Bezug auf die vorhergehende Frage:vorhergehende Frage:

- sollte diese Bestandteil des Gespräches gewesen - sollte diese Bestandteil des Gespräches gewesen sein, so wird ein angepasstes <template> sein, so wird ein angepasstes <template> ausgegeben ausgegeben

- wenn nicht, wird das "normale" <template> zu - wenn nicht, wird das "normale" <template> zu diesem <pattern> ausgegeben diesem <pattern> ausgegeben

- <random> gibt eine Zufallsauswahl einer mit <li> - <random> gibt eine Zufallsauswahl einer mit <li> gekennzeichneten Liste von möglichen Antworten ausgekennzeichneten Liste von möglichen Antworten aus

- <think> ermöglicht ALICE sich das <template> zu - <think> ermöglicht ALICE sich das <template> zu merken verhindert jedoch dessen Ausgabemerken verhindert jedoch dessen Ausgabe

09.06.2010 Chatterbots

- auch ALICE basiert auf dem Verfahren des "pattern-- auch ALICE basiert auf dem Verfahren des "pattern-matching"matching"

- "pattern-matching" oder musterbasierte Suche ist ein - "pattern-matching" oder musterbasierte Suche ist ein symbolverarbeitendes Verfahren, das symbolverarbeitendes Verfahren, das Strukturen oder Strukturen oder Teilmengen der Strukturen anhand vorgegebener Teilmengen der Strukturen anhand vorgegebener Regeln/Muster identifiziertRegeln/Muster identifiziert

- ALICE durchsucht die "categories" in umgekehrter, - ALICE durchsucht die "categories" in umgekehrter, alphabetischer Reihenfolge, um die alphabetischer Reihenfolge, um die Antwort die als Antwort die als spezifischste angesehen wird als erste anzutreffenspezifischste angesehen wird als erste anzutreffen

- hierbei ist natürlich zu gewährleisten, dass die - hierbei ist natürlich zu gewährleisten, dass die AIML eine entsprechende Struktur einhältAIML eine entsprechende Struktur einhält

- sollte das "pattern matching" keinen Treffer - sollte das "pattern matching" keinen Treffer aufweisen, so geht ALICE davon aus, dass <pattern> = aufweisen, so geht ALICE davon aus, dass <pattern> = * ist und gibt eine Frage aus, die das Gespräch in * ist und gibt eine Frage aus, die das Gespräch in Gange hält und eine erhöht so Gange hält und eine erhöht so die die Wahrscheinlichkeit, dass das "pattern matching" beim Wahrscheinlichkeit, dass das "pattern matching" beim nächsten Durchlauf erfolgreich istnächsten Durchlauf erfolgreich ist

09.06.2010 Chatterbots

REA (real estate engine):REA (real estate engine):

- ist ein ECA (Embodied Conversational Agent)- ist ein ECA (Embodied Conversational Agent)

- Projekt der "Gesture and Narrative Language Group" - Projekt der "Gesture and Narrative Language Group" (MIT Media Laboratory)(MIT Media Laboratory)

- soll ein möglichst natürlicher Kommunikationspartner - soll ein möglichst natürlicher Kommunikationspartner seinsein

- reagiert auf verbale und nonverbale Eingaben und - reagiert auf verbale und nonverbale Eingaben und tätig ebenfalls verbale und nonverbale tätig ebenfalls verbale und nonverbale AusgabenAusgaben

- sollte in der Lage sein "turn-taking" und "turn-- sollte in der Lage sein "turn-taking" und "turn-giving" zu beherrschengiving" zu beherrschen

- gibt "turn" ab, wenn Benutzer anfängt zu sprechen - gibt "turn" ab, wenn Benutzer anfängt zu sprechen oder seine Aufgabe eroder seine Aufgabe er

- übernimmt "turn", wenn der Benutzer eine Pause macht- übernimmt "turn", wenn der Benutzer eine Pause macht

09.06.2010 Chatterbots

Architektur von REA:Architektur von REA:

09.06.2010 Chatterbots

- Input-Manager: - Input-Manager:

- übernimmt die Erkennung von Anfang und Ende einer - übernimmt die Erkennung von Anfang und Ende einer sprachlichen Äußerung sprachlichen Äußerung

- Informationen, wie die Position des Nutzers vor - Informationen, wie die Position des Nutzers vor der Kamera, werden direkt an den Action Scheduler der Kamera, werden direkt an den Action Scheduler weitergegeben, der z.B. den Benutzer mit den weitergegeben, der z.B. den Benutzer mit den Augen verfolgt Augen verfolgt

- Understanding Module:- Understanding Module:

- hat primär die Aufgabe den Benutzereingaben - hat primär die Aufgabe den Benutzereingaben bekannte Funktionen zuzuordnen bekannte Funktionen zuzuordnen

- den erhaltenen Texthypothesen werden nun - den erhaltenen Texthypothesen werden nun Einträgen einer Wissenbasis zugeordnet Einträgen einer Wissenbasis zugeordnet

- zudem werden Informationen über die Präsenz des - zudem werden Informationen über die Präsenz des Benutzers und seinen Sprachzustand bestimmten Benutzers und seinen Sprachzustand bestimmten Funktionen des Diskursmodells zugeordnet Funktionen des Diskursmodells zugeordnet

09.06.2010 Chatterbots

- diese Informationen werden geschlossen an das - diese Informationen werden geschlossen an das Decision Module weitergegebenDecision Module weitergegeben

09.06.2010 Chatterbots

- Decision Module:- Decision Module:

- ist in zwei verschiedene Bereiche aufgeteilt- ist in zwei verschiedene Bereiche aufgeteilt

- interaktionale Berechnung:- interaktionale Berechnung:

- berechnet aus dem übergebenen Zustand des - berechnet aus dem übergebenen Zustand des Diskursmodells alle möglichen folgenden Zustände des Diskursmodells alle möglichen folgenden Zustände des Diskurses Diskurses

- so kann berechnet werden, dass aus dem Zustand "not present" - so kann berechnet werden, dass aus dem Zustand "not present" direkt der Zustand "present" oder "user turn" hervorgehen direkt der Zustand "present" oder "user turn" hervorgehen

- REA wird erst reagieren, wenn der Benutzer eine Eingabe - REA wird erst reagieren, wenn der Benutzer eine Eingabe tätigt tätigt

- propositionale Berechnung:- propositionale Berechnung:

- umfaßt die Sprache und unterstützende Gestik- umfaßt die Sprache und unterstützende Gestik

- Sprechakt des Benutzers wird mit der - Sprechakt des Benutzers wird mit der dynamischen Wissensbasis abgeglichen dynamischen Wissensbasis abgeglichen

- diese enthält Bestandteile der Unterhaltung, die bereits - diese enthält Bestandteile der Unterhaltung, die bereits vorkamen und auf die wieder Bezug genommen werden kann vorkamen und auf die wieder Bezug genommen werden kann

09.06.2010 Chatterbots

- Generation Module:- Generation Module:

- die Funktion wird in angemessene Verhaltensweisen - die Funktion wird in angemessene Verhaltensweisen übersetzt übersetzt

- Hauptkomponente dieses Modules ist der SPUD- - Hauptkomponente dieses Modules ist der SPUD- Server (Sentence Planer Using Descriptions) Server (Sentence Planer Using Descriptions)

- nutzt eine Gramatik (LTAG), die in einer - nutzt eine Gramatik (LTAG), die in einer Baumstruktur Syntax und Semantik der einzelnen Baumstruktur Syntax und Semantik der einzelnen Wörter und möglicher Sätze definiert und durch Wörter und möglicher Sätze definiert und durch Ersetzung einen Satz erzeugt Ersetzung einen Satz erzeugt

09.06.2010 Chatterbots

- Action Scheduler:- Action Scheduler:

- ist für die Umsetzung der - ist für die Umsetzung der Verhaltensbeschreibungen in Bild und Ton um Verhaltensbeschreibungen in Bild und Ton um

- wiederum in 3 Untereinheiten unterteilt:- wiederum in 3 Untereinheiten unterteilt:

- externen Spracherzeuger: gibt den zu - externen Spracherzeuger: gibt den zu sprechenden Text in einem wave-file zurück sprechenden Text in einem wave-file zurück

- plant welche Aktion zu welchem Zeitpunkt - plant welche Aktion zu welchem Zeitpunkt ausgeführt wird, orientiert sich hierbei ausgeführt wird, orientiert sich hierbei anhand von Prioritäten anhand von Prioritäten

- Motor Skill: übernimmt die Berechnung der - Motor Skill: übernimmt die Berechnung der Animation, die eine bestimmte Mimik mit der Animation, die eine bestimmte Mimik mit der sprachlichen Ausgabe verknüpft sprachlichen Ausgabe verknüpft

09.06.2010 Chatterbots

BeispielBeispiel::

Lee erreicht den Projektbereich. Rea ist derzeit im „Stand-By“ und Lee erreicht den Projektbereich. Rea ist derzeit im „Stand-By“ und erwartet eine Eingabe. Als Lee in die Nähe der beiden Kameras kommt, erwartet eine Eingabe. Als Lee in die Nähe der beiden Kameras kommt, dreht Rea sein Gesicht zu ihm und fragt:dreht Rea sein Gesicht zu ihm und fragt:

REA> Hello. How can I help you?REA> Hello. How can I help you?

LEE> I´m looking to buy a place near MIT.LEE> I´m looking to buy a place near MIT.

Rea nickt, und zeigt damit an, dass es Lee folgt.Rea nickt, und zeigt damit an, dass es Lee folgt.

REA> I have a house to show you.REA> I have a house to show you.

Ein Bild eines Hauses erscheint auf dem Bildschirm hinter Rea, Rea Ein Bild eines Hauses erscheint auf dem Bildschirm hinter Rea, Rea zwinkert und schaut erst zum Hauszwinkert und schaut erst zum Haus und und dann zu Lee. dann zu Lee.

REA> It´s in Somerville.REA> It´s in Somerville.

LEE> Tell me about it.LEE> Tell me about it.

Rea schaut durch die Gegend, während es seine nächste Aussage plant.Rea schaut durch die Gegend, während es seine nächste Aussage plant.

REA> It´s big.REA> It´s big.

Rea macht eine Geste mit den Fingern, die zeigen soll, das Haus ist Rea macht eine Geste mit den Fingern, die zeigen soll, das Haus ist teuer.teuer.

09.06.2010 Chatterbots

Alternativen zu REA:Alternativen zu REA:

Semaine 2.0 - Projektseite:Semaine 2.0 - Projektseite:

http://www.semaine-project.euhttp://www.semaine-project.eu

Semaine 2.0 – Wiki mit Installationsanleitung:Semaine 2.0 – Wiki mit Installationsanleitung:

http://semaine.opendfki.de/wiki/SEMAINE-2.0-Distributedhttp://semaine.opendfki.de/wiki/SEMAINE-2.0-Distributed

09.06.2010 Chatterbots

Quellenangaben:Quellenangaben:

• http://de.wikipedia.org/wiki/Eliza (Stand: 06.06.2010)http://de.wikipedia.org/wiki/Eliza (Stand: 06.06.2010)

• www.logic.at/lvas/185170/11-Nowak.pdfwww.logic.at/lvas/185170/11-Nowak.pdf (Stand: 06.06.2010) (Stand: 06.06.2010)

• www.ib.hu-berlin.de/~kumlau/handreichungen/h222/h222.pdfwww.ib.hu-berlin.de/~kumlau/handreichungen/h222/h222.pdf (Stand: 06.06.2010)(Stand: 06.06.2010)

• http://www.uniklinik-http://www.uniklinik-freiburg.de/augenklinik/live/homede/mit/bach/ops/turi-d.html?freiburg.de/augenklinik/live/homede/mit/bach/ops/turi-d.html?raw=true&layout=weiss&szsrc= raw=true&layout=weiss&szsrc= (Stand: 06.06.2010)(Stand: 06.06.2010)

• AIML Overview - Dr. Richard S. Wallace: AIML Overview - Dr. Richard S. Wallace: http://www.pandorabots.com/pandora/pics/wallaceaimltutorial.htmlhttp://www.pandorabots.com/pandora/pics/wallaceaimltutorial.html

• AIML Reference Manual – Thomas Ringate: AIML Reference Manual – Thomas Ringate: http://www.alicebot.org/documentation/aiml-reference.htmlhttp://www.alicebot.org/documentation/aiml-reference.html

• Don't Read Me – A.L.I.C.E and AIML Documentation – Dr. Richard S. Wallace: Don't Read Me – A.L.I.C.E and AIML Documentation – Dr. Richard S. Wallace: http://alicebot.org/articles/wallace/dont.htmlhttp://alicebot.org/articles/wallace/dont.html

• Clive Thompson: Approximating Life, The New York Times Magazine, July 7, Clive Thompson: Approximating Life, The New York Times Magazine, July 7, 20022002

09.06.2010 Chatterbots

Quellenangaben:Quellenangaben:

[Cassell et al. 2000] J. Cassell, J.Sullivan, S. Prevost, E. Churchill, [Cassell et al. 2000] J. Cassell, J.Sullivan, S. Prevost, E. Churchill, Embodied Embodied Conversational Agents, Kap. 2. The MIT Press, 2000.Conversational Agents, Kap. 2. The MIT Press, 2000.

Die Homepage von Matthew Stone (SPUD):Die Homepage von Matthew Stone (SPUD):http://www.cs.rutgers.edu/~mdstone/nlg.htmlhttp://www.cs.rutgers.edu/~mdstone/nlg.html (Stand: 04.06.2010) (Stand: 04.06.2010)

09.06.2010 Chatterbots

ChatterbotsChatterbots --

Seminarprojekt von Jan Bigalke, Jannes GanzelSeminarprojekt von Jan Bigalke, Jannes GanzelXaver HetzeneggerXaver Hetzenegger

Veranstaltung: Künstliche Intelligenz - PrologVeranstaltung: Künstliche Intelligenz - PrologDozent: Stephan SchwiebertDozent: Stephan Schwiebert

Seminar: Sprachliche InformationsverarbeitungSeminar: Sprachliche InformationsverarbeitungSemester: Sommersemester 10Semester: Sommersemester 10

09.06.2010 Chatterbots

Bestandteile eines ChatterbotsBestandteile eines Chatterbots

1. Das Programm1. Das Programm

2. Die Wissensbasis2. Die Wissensbasis

3. Der Avatar3. Der Avatar

09.06.2010 Chatterbots

Das ProgrammDas Programm

- Der Algorithmus, mit dem der Chatterbot läuft- Der Algorithmus, mit dem der Chatterbot läuft

- Liest den eingegebenen Satz ein und zerlegt ihn - Liest den eingegebenen Satz ein und zerlegt ihn in einzelne Worte in einzelne Worte

- Vergleicht die einzelnen Worte mit - Vergleicht die einzelnen Worte mit Schlüsselworten in der WissensbasisSchlüsselworten in der Wissensbasis

09.06.2010 Chatterbots

Die WissensdatenbankDie Wissensdatenbank

- Gespeichertes Wissen des Chatterbots- Gespeichertes Wissen des Chatterbots

- Innerhalb dieser gibt es Schlüsselworte unter - Innerhalb dieser gibt es Schlüsselworte unter denen Antworten stehen, die der Chatterbot denen Antworten stehen, die der Chatterbot ausgibtausgibt

- Können eine einfache Struktur haben, aber auch - Können eine einfache Struktur haben, aber auch sehr umfangreich werdensehr umfangreich werden

09.06.2010 Chatterbots

Der AvatarDer Avatar

- Kein richtiger Programmteil- Kein richtiger Programmteil

- Einfachste Form: eine durch Einträge in die - Einfachste Form: eine durch Einträge in die Wissensdatenbank gespeicherte PersönlichkeitWissensdatenbank gespeicherte Persönlichkeit

- Simulation von Emotionen durch bestimmte - Simulation von Emotionen durch bestimmte Reaktionen auf Eingaben vom NutzerReaktionen auf Eingaben vom Nutzer

- Komplexere Formen haben Bilder und sogar - Komplexere Formen haben Bilder und sogar AnimationenAnimationen

- Ist grundsätzlich optional- Ist grundsätzlich optional

- Beispiel: - Beispiel: http://www.xandra-chatbot.de/produkte.htmlhttp://www.xandra-chatbot.de/produkte.html

09.06.2010 Chatterbots

Entstehung/Entwicklung von ElizaEntstehung/Entwicklung von Eliza

- 1966 vom Psychologen und Programmierer - 1966 vom Psychologen und Programmierer Joseph WeizenbaumJoseph Weizenbaum entwickelt, um die entwickelt, um die Möglichkeiten der Kommunikation zwischen Mensch und Computer über Möglichkeiten der Kommunikation zwischen Mensch und Computer über natürliche Sprache aufzuzeigen natürliche Sprache aufzuzeigen

Joseph Weizenbaum: Joseph Weizenbaum:

- 1923 in Berlin geboren, wanderte mit seiner jüdischen Familie in die USA - 1923 in Berlin geboren, wanderte mit seiner jüdischen Familie in die USA ausaus

- studierte Mathematik (Wayne Universität)- studierte Mathematik (Wayne Universität)

- Assistent an der Wayne Universität, führend am Entwurf und Bau eines - Assistent an der Wayne Universität, führend am Entwurf und Bau eines Computers beteiligtComputers beteiligt

- 1963 als Professor zum - 1963 als Professor zum MIT MIT (Massachusetts Institute of Technology) berufen, (Massachusetts Institute of Technology) berufen, um dort Computerwissenschaften zu lehren.um dort Computerwissenschaften zu lehren.

- Zwischen 1964 und 1967 arbeitete Weizenbaum an Sprach-Analyse-Programmen - Zwischen 1964 und 1967 arbeitete Weizenbaum an Sprach-Analyse-Programmen und entwickelte dabei Elizaund entwickelte dabei Eliza

- Weizenbaum wurde damit durch die oberflächliche Simulation eines - Weizenbaum wurde damit durch die oberflächliche Simulation eines Psychotherapeuten bekannt Psychotherapeuten bekannt

09.06.2010 Chatterbots

Namensgebung: Namensgebung:

Der Name ELIZA wurde wegen der Ähnlichkeit mit dem später als „MyFairLady“ Der Name ELIZA wurde wegen der Ähnlichkeit mit dem später als „MyFairLady“ bekannten Schauspiel gewählt. Dort geht es um eine einfache Frau von der bekannten Schauspiel gewählt. Dort geht es um eine einfache Frau von der Straße, Eliza Doolittle, die von einem Professor für Linguistik die Straße, Eliza Doolittle, die von einem Professor für Linguistik die Sprache der gehobenen Gesellschaft beigebracht bekommt.Sprache der gehobenen Gesellschaft beigebracht bekommt.

→ → Ebenso „lehrt“ Weizenbaum dem Computer mit einem menschlichen Ebenso „lehrt“ Weizenbaum dem Computer mit einem menschlichen Benutzer zu kommunizieren Benutzer zu kommunizieren

Entwicklung und Reaktionen:Entwicklung und Reaktionen:

-- ELIZA wurde mit dem ELIZA wurde mit dem MAC time-sharing systemMAC time-sharing system realisiert realisiert

- Skripte simulieren verschiedene Gesprächspartner Skripte simulieren verschiedene Gesprächspartner

- Weizenbaums Skript bestand damals als eines der ersten KI-Programme einen Weizenbaums Skript bestand damals als eines der ersten KI-Programme einen eingeschränkten Turingtesteingeschränkten Turingtest

→ → trotz seiner einfachen Programmstruktur nahm die Öffentlichkeit Eliza trotz seiner einfachen Programmstruktur nahm die Öffentlichkeit Eliza außerordentlich euphorisch auf. außerordentlich euphorisch auf.

- Joseph Weizenbaum hatte sein Programm nie für den Einsatz als - Joseph Weizenbaum hatte sein Programm nie für den Einsatz als Ersatzpsychiatererschaffen, sondern nur um zu demonstrieren, wozu eine Ersatzpsychiatererschaffen, sondern nur um zu demonstrieren, wozu eine Maschine fähig sein kann Maschine fähig sein kann

- er war erschüttert über die Reaktionen auf sein Programm- er war erschüttert über die Reaktionen auf sein Programm

09.06.2010 Chatterbots

Funktionweise Funktionweise

Grundmuster:Grundmuster:

- Grundmuster von Eliza ist die Simulation eines Gesprächs zwischen einem - Grundmuster von Eliza ist die Simulation eines Gesprächs zwischen einem (computergenerierten) Psychotherapeuten auf der einen und einem (computergenerierten) Psychotherapeuten auf der einen und einem menschlichen Patienten auf der anderen Seite menschlichen Patienten auf der anderen Seite

- Beispiel: Konzept - Beispiel: Konzept klientzentrierten Gesprächsführungklientzentrierten Gesprächsführung mit Techniken aktiver mit Techniken aktiver Gesprächsführung im Sinne des Spiegelns und des Paraphrasierens von Gesprächsführung im Sinne des Spiegelns und des Paraphrasierens von Aussagen des Patienten durch den Therapeuten verknüpft:Aussagen des Patienten durch den Therapeuten verknüpft:

Eliza: Hello. I am ELIZA. How can I help you?Eliza: Hello. I am ELIZA. How can I help you?

NUTZER: MyNUTZER: My best friend hates me. best friend hates me.

Eliza: Why do you say your best friend hates you?Eliza: Why do you say your best friend hates you?

NUTZER: HNUTZER: He's not happy to see me any more.e's not happy to see me any more.

Eliza: Can you elaborate on that?Eliza: Can you elaborate on that?

NUTZER: NUTZER: She steals my lunch money.She steals my lunch money.

Eliza: Why do you say your lunch money?Eliza: Why do you say your lunch money?

NUTZER: NUTZER: Because that's what she takes from me.Because that's what she takes from me.

Eliza: Do any other reasons not come to mind?Eliza: Do any other reasons not come to mind?

NUTZER: Bla.NUTZER: Bla.

Eliza: I see.Eliza: I see.

09.06.2010 Chatterbots

grundlegende Funktionsweise des Programms:grundlegende Funktionsweise des Programms:

- - Programm liest zunächst die Nutzereingaben und sucht nach Programm liest zunächst die Nutzereingaben und sucht nach Schlüsselwörtern,Schlüsselwörtern, welche nach ihrer Wichtigkeit in Ranglisten welche nach ihrer Wichtigkeit in Ranglisten definiert sinddefiniert sind

→ → wurden Schlüsselwörter gefunden, wird die Antwort nach wurden Schlüsselwörter gefunden, wird die Antwort nach festgelegten Transformationsregeln gebildet und ausgegebenfestgelegten Transformationsregeln gebildet und ausgegeben

Beispiel: Benutzereingabe Beispiel: Benutzereingabe „My best friend hates me“„My best friend hates me“::

- Eliza untersucht die Eingabe des Nutzers zuerst auf im Skript - Eliza untersucht die Eingabe des Nutzers zuerst auf im Skript abgelegte Schlüsselwörter, wie etwa auf das Wortabgelegte Schlüsselwörter, wie etwa auf das Wort „ „hatehate””

- Im - Im Anschluss Anschluss lösen Ersatzschlüssel einen Austausch der ersten und lösen Ersatzschlüssel einen Austausch der ersten und zweiten bzw. ersten und dritten Person auszweiten bzw. ersten und dritten Person aus

- Um die Aussage des Nutzers durch das Programm zu spiegeln, werden - Um die Aussage des Nutzers durch das Programm zu spiegeln, werden das Possessivpronomendas Possessivpronomen mymy und das Reflexivpronomenund das Reflexivpronomen meme in ihre in ihre EntsprechungenEntsprechungen youryour undund youyou für die Antwort für die Antwort des Programms des Programms verwandeltverwandelt

→ → Auf diese Weise erfolgt eine Überführung der AussageAuf diese Weise erfolgt eine Überführung der Aussage "My "My best best friend hates friend hates me"me" des Nutzers in die Frage Elizas des Nutzers in die Frage Elizas "Why do you say"Why do you say your your best friend hates best friend hates you?you?

- per Zufallsgenerator wird eine passende Antwort aus der per Zufallsgenerator wird eine passende Antwort aus der Gesamtmenge aller möglichen Antworten ausgewählt. Gesamtmenge aller möglichen Antworten ausgewählt.

→ → diese zufällige Auswahl der Antwortmuster soll Wiederholungen diese zufällige Auswahl der Antwortmuster soll Wiederholungen seitens des Programms während des Dialogs vermeiden seitens des Programms während des Dialogs vermeiden

09.06.2010 Chatterbots

Grundlegende Probleme, mit denen Eliza konfrontiert ist:Grundlegende Probleme, mit denen Eliza konfrontiert ist:

• Erfassung von SchlüsselwörternErfassung von Schlüsselwörtern

• Erfassung des InhaltsErfassung des Inhalts

• die Wahl der geeigneten Transformationdie Wahl der geeigneten Transformation

• Erzeugung von Antworten, wenn keine Schlüsselwörter Erzeugung von Antworten, wenn keine Schlüsselwörter gefunden werdengefunden werden

• Kapazität der ElizascriptsKapazität der Elizascripts

09.06.2010 Chatterbots

Psychologische Ansätze zur Psychologische Ansätze zur Erzeugung von KI? Erzeugung von KI?

- Erfolg von ELIZA als „künstliche Intelligenz“ durch - Erfolg von ELIZA als „künstliche Intelligenz“ durch Nachahmung eines Therapeuten, um die perfekte Simulation Nachahmung eines Therapeuten, um die perfekte Simulation einer KI zu umgeheneiner KI zu umgehen

– Die Versuchspersonen in den Experimenten waren zu Die Versuchspersonen in den Experimenten waren zu einem großen Teil sogar überzeugt, dass der einem großen Teil sogar überzeugt, dass der „Gesprächspartner“ ein tatsächliches Verständnis für „Gesprächspartner“ ein tatsächliches Verständnis für ihre Probleme aufbrachteihre Probleme aufbrachte

– Experiment zeigt, dass es tatsächlich, zumindest Experiment zeigt, dass es tatsächlich, zumindest teilweise gelungen ist, eine künstliche Intelligenz teilweise gelungen ist, eine künstliche Intelligenz vorzutäuschen, trotz Fehlverhaltens des Programms in vorzutäuschen, trotz Fehlverhaltens des Programms in bestimmten Situationen bestimmten Situationen

09.06.2010 Chatterbots

aus KI I:aus KI I:

4 Typen von „Künstlicher Intelligenz“ definiert:4 Typen von „Künstlicher Intelligenz“ definiert:

1. Systeme, die wie Menschen denken1. Systeme, die wie Menschen denken

2. Systeme, die rational denken2. Systeme, die rational denken

3. Systeme, die rational agieren3. Systeme, die rational agieren

4. Systeme, die wie Menschen agieren 4. Systeme, die wie Menschen agieren

„„Die Kunst, Maschinen zu schaffen, dieDie Kunst, Maschinen zu schaffen, die

Funktionen erfüllen, die, werden sie vonFunktionen erfüllen, die, werden sie von

Menschen ausgeführt, der Intelligenz bedürfen.“Menschen ausgeführt, der Intelligenz bedürfen.“

(Kurzweil, 1990)(Kurzweil, 1990)

„„Die Studie, wie man Computer dazu bringt,Die Studie, wie man Computer dazu bringt,

Dinge zu tun, bei denen ihnen momentan derDinge zu tun, bei denen ihnen momentan der

Mensch noch überlegen ist.“ (Rich und Knight,1991)Mensch noch überlegen ist.“ (Rich und Knight,1991)

=> Eliza täuscht KI durch Simulation eines sich unwissend => Eliza täuscht KI durch Simulation eines sich unwissend stellenden Psychologen vor. Nur so funktioniert die Illusion, und stellenden Psychologen vor. Nur so funktioniert die Illusion, und nur solang sich der Benutzer auf diese Art von Gespräch einlässt, nur solang sich der Benutzer auf diese Art von Gespräch einlässt, funktioniert das Programm!funktioniert das Programm!

09.06.2010 Chatterbots

Der Turing TestDer Turing Test

- 1950 von Alan Turing entwickelt- 1950 von Alan Turing entwickelt

- Test ob eine Maschine ein gleichwertiges - Test ob eine Maschine ein gleichwertiges Denkvermögen wie ein Mensch haben kannDenkvermögen wie ein Mensch haben kann

-Computer A und Person B sind von Person C räumlich getrennt -A und B versuchen C davon zu überzeugen das sie menschlich sind- C versucht festzustellen, wer der Computer ist- Kann C nicht genau sagen wer der Computer ist, hat A den Test bestanden

09.06.2010 Chatterbots

KritikKritikdie Intelligenz bei Computern anzweifelt:die Intelligenz bei Computern anzweifelt:

1.Simulation einer Unterhaltung bedeutet 1.Simulation einer Unterhaltung bedeutet nicht Intelligenz, sondern ist nur nicht Intelligenz, sondern ist nur Untersuchung eines Teils der IntelligenzUntersuchung eines Teils der Intelligenz

2.Turing Test würde ein Durchsuchen riesiger 2.Turing Test würde ein Durchsuchen riesiger Datensätze schon als Intelligenz wertenDatensätze schon als Intelligenz werten

3.Das chinesische Zimmer3.Das chinesische Zimmer

09.06.2010 Chatterbots

KritikKritikdie die Fähigkeit des Turing Test Intelligenz zu die die Fähigkeit des Turing Test Intelligenz zu

erkennen anzweifelterkennen anzweifelt

1.Intelligenz muss nicht direkt menschliche 1.Intelligenz muss nicht direkt menschliche Kommunikation bedeutenKommunikation bedeuten

2.Kinder, oder beeinträchtigte Menschen würden 2.Kinder, oder beeinträchtigte Menschen würden den Test nicht bestehenden Test nicht bestehen

3.Nicht Kooperieren würde keine Intelligenz 3.Nicht Kooperieren würde keine Intelligenz nachweisennachweisen

09.06.2010 Chatterbots

Allgemeine KritikAllgemeine Kritik

- Jeder Mensch ist anders, daher keine - Jeder Mensch ist anders, daher keine Verallgemeinerung des Tests möglichVerallgemeinerung des Tests möglich

09.06.2010 Chatterbots

Das chinesische ZimmerDas chinesische Zimmer

- Von John Serle erstelltes Gedankenmodell- Von John Serle erstelltes Gedankenmodell

- Eine Person, die kein Chinesisch kann sitzt in einem - Eine Person, die kein Chinesisch kann sitzt in einem geschlossenen Raum und hat Kärtchen auf denen chinesische geschlossenen Raum und hat Kärtchen auf denen chinesische Schriftzeichen abgebildet sind und ein Buch das Schriftzeichen abgebildet sind und ein Buch das Schriftzeichen in Zusammenhang bringtSchriftzeichen in Zusammenhang bringt

- Sie bekommt weitere Kärtchen mit Schriftzeichen, die sie - Sie bekommt weitere Kärtchen mit Schriftzeichen, die sie mit Hilfe des Buches in Zusammenhang mit den mit Hilfe des Buches in Zusammenhang mit den Schriftzeichen bringen kannSchriftzeichen bringen kann

- Dann bekommt sie wieder Kärtchen gereicht, zu denen sie - Dann bekommt sie wieder Kärtchen gereicht, zu denen sie mit Hilfe des Buches einen Zusammenhang zu den 1. Zeichen mit Hilfe des Buches einen Zusammenhang zu den 1. Zeichen ziehen kann und angegeben bekommt welche Kärtchen sie ziehen kann und angegeben bekommt welche Kärtchen sie heraus reichen sollheraus reichen soll

- Eine Person die draußen steht, kann jetzt denken, dass die - Eine Person die draußen steht, kann jetzt denken, dass die Person im Raum Chinesisch versteht, dabei hat sie nur die Person im Raum Chinesisch versteht, dabei hat sie nur die Schriftzeichen verglichen, jedoch nicht verstandenSchriftzeichen verglichen, jedoch nicht verstanden

09.06.2010 Chatterbots

Loebner PreisLoebner Preis

- Von Hugh Gene Loebner 1991 gegründet- Von Hugh Gene Loebner 1991 gegründet

- Goldmedaille und 100.000$ für das Programm das den Turing-- Goldmedaille und 100.000$ für das Programm das den Turing-Test zu 100% bestehtTest zu 100% besteht

- 1999 wurde die Silbermedaille und ein Preisgeld von 25000$ - 1999 wurde die Silbermedaille und ein Preisgeld von 25000$ eingeführt wenn 50% der Jury überzeugt wurdeneingeführt wenn 50% der Jury überzeugt wurden

- Bis heute hat noch kein Chatterbot die Silbermedaille - Bis heute hat noch kein Chatterbot die Silbermedaille gewonnengewonnen

09.06.2010 Chatterbots

Loebner PreisLoebner PreisAnforderungenAnforderungen

- Juristen dürfen so lange und so oft sie wollen über - Juristen dürfen so lange und so oft sie wollen über vorgegebene Themen mit dem Chatterbot redenvorgegebene Themen mit dem Chatterbot reden

- Seit 1995 wurde die Themenrestriktion aufgehoben- Seit 1995 wurde die Themenrestriktion aufgehoben

- Seit 2000 müssen sie auch Audiovisuelle Daten - Seit 2000 müssen sie auch Audiovisuelle Daten verarbeiten und ausgebenverarbeiten und ausgeben

-> Da bisher kein Chatterbot die Anforderungen erfüllt -> Da bisher kein Chatterbot die Anforderungen erfüllt hat, wurde ein Trostpreis in Form einer hat, wurde ein Trostpreis in Form einer Bronzemedaille und 2000$ eingeführtBronzemedaille und 2000$ eingeführt

09.06.2010 Chatterbots

Tricks der Jury Chatterbots zu Tricks der Jury Chatterbots zu enttarnenenttarnen

- Für diesen Moment gültige Fragen:- Für diesen Moment gültige Fragen:

„ „How about the weather this morning?“How about the weather this morning?“

- Offensichtlich falsche Behauptungen:- Offensichtlich falsche Behauptungen:

[2008-10-12 [2008-10-12 08:59:2608:59:26]“Good afternoon,[..]“]“Good afternoon,[..]“

- Fragen über Themen die schon besprochen wurden an - Fragen über Themen die schon besprochen wurden an neuer Stelleneuer Stelle

- Fragen über Spezialwissen die sich selbst - Fragen über Spezialwissen die sich selbst beantworten: beantworten: „In welchen Jahr sind die Siedler von 1820 „In welchen Jahr sind die Siedler von 1820 gelandet?“gelandet?“

- Im Text eingebundene Rechtschreibfehler oder sinnlose - Im Text eingebundene Rechtschreibfehler oder sinnlose Zeichen: Zeichen: „He~~~llo“„He~~~llo“

09.06.2010 Chatterbots

Tricks Chatterbots menschlicher Tricks Chatterbots menschlicher Wirken zu lassenWirken zu lassen

1. Einbinden eines Avatars1. Einbinden eines Avatars

2. Verschiedene Antwortmöglichkeiten auf Schlüsselwörter, eventuell mit 2. Verschiedene Antwortmöglichkeiten auf Schlüsselwörter, eventuell mit random-Funktionrandom-Funktion

3. Rechenaufgaben länger bearbeiten zu lassen, gar nicht zu lösen oder mit 3. Rechenaufgaben länger bearbeiten zu lassen, gar nicht zu lösen oder mit Fehlern behaftenFehlern behaften

Bsp: Bsp: http://elbot.de/htm/elbot/frame.htmhttp://elbot.de/htm/elbot/frame.htm

4. Tippfehler4. Tippfehler

5. Audioausgabe5. Audioausgabe

6. Emotionen darstellen6. Emotionen darstellen

Bsp: Bsp: http://www.yellostrom.dehttp://www.yellostrom.de

Problem: können keine Ironie oder Gefühle erkennenProblem: können keine Ironie oder Gefühle erkennen

09.06.2010 Chatterbots

A.L.I.C.E (A.L.I.C.E (Artificial Artificial Linguistic Internet Computer Linguistic Internet Computer

Entity)Entity)- ist ein Chatbot für natürliche Sprachen- ist ein Chatbot für natürliche Sprachen

- A.L.I.C.E hat bisher 3 mal den Loebner Preis - A.L.I.C.E hat bisher 3 mal den Loebner Preis gewonnen (2000,2001 und 2004)gewonnen (2000,2001 und 2004)

- nie den Turingtest bestanden- nie den Turingtest bestanden

- wurde entwickelt vom US-amerikanischen Informatiker - wurde entwickelt vom US-amerikanischen Informatiker Richard WallaceRichard Wallace

09.06.2010 Chatterbots

FunktionsweiseFunktionsweise

- A.L.I.C.E basiert auf einer Wissensbasis die AIML - A.L.I.C.E basiert auf einer Wissensbasis die AIML genannt wirdgenannt wird

- AIML (Artificial Intelligence Markup Language) ist - AIML (Artificial Intelligence Markup Language) ist eine auf XML basierende Auszeichnungsspracheeine auf XML basierende Auszeichnungssprache

<alice><alice>

<category><category>

<pattern>Guten Morgen * </pattern> <pattern>Guten Morgen * </pattern>

<template>Hallo und schönen guten Tag. Wie geht es Ihnen heute?<template>Hallo und schönen guten Tag. Wie geht es Ihnen heute? <template> <template>

</category> </category>

</alice> </alice>

- in jeder Datei gibt es eine Reihe von Statements: - in jeder Datei gibt es eine Reihe von Statements: <category> </category><category> </category>

09.06.2010 Chatterbots

- das <pattern> - Tag ist der Eingabeteil des - das <pattern> - Tag ist der Eingabeteil des StatementsStatements

- das <pattern> - Tag ist Ausdruck einer - das <pattern> - Tag ist Ausdruck einer formellen Sprache, die folgende Bestandteile formellen Sprache, die folgende Bestandteile haben darf:haben darf:

- Wörter einer natürlichen Sprache in UPPER - Wörter einer natürlichen Sprache in UPPER CASE CASE

- Das Symbol *, dass einer beliebigen Sequenz - Das Symbol *, dass einer beliebigen Sequenz einer oder mehrerer Wörter entspricht einer oder mehrerer Wörter entspricht

- Beispiel: HELLO * -> "Hello, how are you?"- Beispiel: HELLO * -> "Hello, how are you?"

- AIML erlaubt hierbei nur ein * pro <pattern>- AIML erlaubt hierbei nur ein * pro <pattern>

09.06.2010 Chatterbots

- das <template> - Tag ist der Ausgabe- oder Antwortteil des - das <template> - Tag ist der Ausgabe- oder Antwortteil des Statements:Statements:

- die einfachste Ausführung eines <template> ist ein unmakierter - die einfachste Ausführung eines <template> ist ein unmakierter TextText

- AIML bietet Funktionen um die Anwort auf die entsprechende - AIML bietet Funktionen um die Anwort auf die entsprechende Eingabe zuzuschneidenEingabe zuzuschneiden

- <srai> ist in der Lage im <template> Bezug auf ein <template> - <srai> ist in der Lage im <template> Bezug auf ein <template> einer anderen <category> zu nehmeneiner anderen <category> zu nehmen

- <star/> ist im <template> das Korrelat des * aus dem <pattern>- <star/> ist im <template> das Korrelat des * aus dem <pattern>

- Beispiel:- Beispiel:

<category> <category>

<pattern>Kannst Du *</pattern> <pattern>Kannst Du *</pattern>

<template><star/>? Nein, willst Du es mir <template><star/>? Nein, willst Du es mir erklären</template> erklären</template>

</category> </category>

Kannst Du fliegen? Wird von Alice mit "Fliegen? Nein, willst Kannst Du fliegen? Wird von Alice mit "Fliegen? Nein, willst Du es mir erklären" beantwortet Du es mir erklären" beantwortet. .

09.06.2010 Chatterbots

- das <that> - Tag ermöglicht den Bezug auf die - das <that> - Tag ermöglicht den Bezug auf die vorhergehende Frage:vorhergehende Frage:

- sollte diese Bestandteil des Gespräches gewesen - sollte diese Bestandteil des Gespräches gewesen sein, so wird ein angepasstes <template> sein, so wird ein angepasstes <template> ausgegeben ausgegeben

- wenn nicht, wird das "normale" <template> zu - wenn nicht, wird das "normale" <template> zu diesem <pattern> ausgegeben diesem <pattern> ausgegeben

- <random> gibt eine Zufallsauswahl einer mit <li> - <random> gibt eine Zufallsauswahl einer mit <li> gekennzeichneten Liste von möglichen Antworten ausgekennzeichneten Liste von möglichen Antworten aus

- <think> ermöglicht ALICE sich das <template> zu - <think> ermöglicht ALICE sich das <template> zu merken verhindert jedoch dessen Ausgabemerken verhindert jedoch dessen Ausgabe

09.06.2010 Chatterbots

- auch ALICE basiert auf dem Verfahren des "pattern-- auch ALICE basiert auf dem Verfahren des "pattern-matching"matching"

- "pattern-matching" oder musterbasierte Suche ist ein - "pattern-matching" oder musterbasierte Suche ist ein symbolverarbeitendes Verfahren, das symbolverarbeitendes Verfahren, das Strukturen oder Strukturen oder Teilmengen der Strukturen anhand vorgegebener Teilmengen der Strukturen anhand vorgegebener Regeln/Muster identifiziertRegeln/Muster identifiziert

- ALICE durchsucht die "categories" in umgekehrter, - ALICE durchsucht die "categories" in umgekehrter, alphabetischer Reihenfolge, um die alphabetischer Reihenfolge, um die Antwort die als Antwort die als spezifischste angesehen wird als erste anzutreffenspezifischste angesehen wird als erste anzutreffen

- hierbei ist natürlich zu gewährleisten, dass die - hierbei ist natürlich zu gewährleisten, dass die AIML eine entsprechende Struktur einhältAIML eine entsprechende Struktur einhält

- sollte das "pattern matching" keinen Treffer - sollte das "pattern matching" keinen Treffer aufweisen, so geht ALICE davon aus, dass <pattern> = aufweisen, so geht ALICE davon aus, dass <pattern> = * ist und gibt eine Frage aus, die das Gespräch in * ist und gibt eine Frage aus, die das Gespräch in Gange hält und eine erhöht so Gange hält und eine erhöht so die die Wahrscheinlichkeit, dass das "pattern matching" beim Wahrscheinlichkeit, dass das "pattern matching" beim nächsten Durchlauf erfolgreich istnächsten Durchlauf erfolgreich ist

09.06.2010 Chatterbots

REA (real estate engine):REA (real estate engine):

- ist ein ECA (Embodied Conversational Agent)- ist ein ECA (Embodied Conversational Agent)

- Projekt der "Gesture and Narrative Language Group" - Projekt der "Gesture and Narrative Language Group" (MIT Media Laboratory)(MIT Media Laboratory)

- soll ein möglichst natürlicher Kommunikationspartner - soll ein möglichst natürlicher Kommunikationspartner seinsein

- reagiert auf verbale und nonverbale Eingaben und - reagiert auf verbale und nonverbale Eingaben und tätig ebenfalls verbale und nonverbale tätig ebenfalls verbale und nonverbale AusgabenAusgaben

- sollte in der Lage sein "turn-taking" und "turn-- sollte in der Lage sein "turn-taking" und "turn-giving" zu beherrschengiving" zu beherrschen

- gibt "turn" ab, wenn Benutzer anfängt zu sprechen - gibt "turn" ab, wenn Benutzer anfängt zu sprechen oder seine Aufgabe eroder seine Aufgabe er

- übernimmt "turn", wenn der Benutzer eine Pause macht- übernimmt "turn", wenn der Benutzer eine Pause macht

09.06.2010 Chatterbots

Architektur von REA:Architektur von REA:

09.06.2010 Chatterbots

- Input-Manager: - Input-Manager:

- übernimmt die Erkennung von Anfang und Ende einer - übernimmt die Erkennung von Anfang und Ende einer sprachlichen Äußerung sprachlichen Äußerung

- Informationen, wie die Position des Nutzers vor - Informationen, wie die Position des Nutzers vor der Kamera, werden direkt an den Action Scheduler der Kamera, werden direkt an den Action Scheduler weitergegeben, der z.B. den Benutzer mit den weitergegeben, der z.B. den Benutzer mit den Augen verfolgt Augen verfolgt

- Understanding Module:- Understanding Module:

- hat primär die Aufgabe den Benutzereingaben - hat primär die Aufgabe den Benutzereingaben bekannte Funktionen zuzuordnen bekannte Funktionen zuzuordnen

- den erhaltenen Texthypothesen werden nun - den erhaltenen Texthypothesen werden nun Einträgen einer Wissenbasis zugeordnet Einträgen einer Wissenbasis zugeordnet

- zudem werden Informationen über die Präsenz des - zudem werden Informationen über die Präsenz des Benutzers und seinen Sprachzustand bestimmten Benutzers und seinen Sprachzustand bestimmten Funktionen des Diskursmodells zugeordnet Funktionen des Diskursmodells zugeordnet

09.06.2010 Chatterbots

- diese Informationen werden geschlossen an das - diese Informationen werden geschlossen an das Decision Module weitergegebenDecision Module weitergegeben

09.06.2010 Chatterbots

- Decision Module:- Decision Module:

- ist in zwei verschiedene Bereiche aufgeteilt- ist in zwei verschiedene Bereiche aufgeteilt

- interaktionale Berechnung:- interaktionale Berechnung:

- berechnet aus dem übergebenen Zustand des - berechnet aus dem übergebenen Zustand des Diskursmodells alle möglichen folgenden Zustände des Diskursmodells alle möglichen folgenden Zustände des Diskurses Diskurses

- so kann berechnet werden, dass aus dem Zustand "not present" - so kann berechnet werden, dass aus dem Zustand "not present" direkt der Zustand "present" oder "user turn" hervorgehen direkt der Zustand "present" oder "user turn" hervorgehen

- REA wird erst reagieren, wenn der Benutzer eine Eingabe - REA wird erst reagieren, wenn der Benutzer eine Eingabe tätigt tätigt

- propositionale Berechnung:- propositionale Berechnung:

- umfaßt die Sprache und unterstützende Gestik- umfaßt die Sprache und unterstützende Gestik

- Sprechakt des Benutzers wird mit der - Sprechakt des Benutzers wird mit der dynamischen Wissensbasis abgeglichen dynamischen Wissensbasis abgeglichen

- diese enthält Bestandteile der Unterhaltung, die bereits - diese enthält Bestandteile der Unterhaltung, die bereits vorkamen und auf die wieder Bezug genommen werden kann vorkamen und auf die wieder Bezug genommen werden kann

09.06.2010 Chatterbots

- Generation Module:- Generation Module:

- die Funktion wird in angemessene Verhaltensweisen - die Funktion wird in angemessene Verhaltensweisen übersetzt übersetzt

- Hauptkomponente dieses Modules ist der SPUD- - Hauptkomponente dieses Modules ist der SPUD- Server (Sentence Planer Using Descriptions) Server (Sentence Planer Using Descriptions)

- nutzt eine Gramatik (LTAG), die in einer - nutzt eine Gramatik (LTAG), die in einer Baumstruktur Syntax und Semantik der einzelnen Baumstruktur Syntax und Semantik der einzelnen Wörter und möglicher Sätze definiert und durch Wörter und möglicher Sätze definiert und durch Ersetzung einen Satz erzeugt Ersetzung einen Satz erzeugt

09.06.2010 Chatterbots

- Action Scheduler:- Action Scheduler:

- ist für die Umsetzung der - ist für die Umsetzung der Verhaltensbeschreibungen in Bild und Ton um Verhaltensbeschreibungen in Bild und Ton um

- wiederum in 3 Untereinheiten unterteilt:- wiederum in 3 Untereinheiten unterteilt:

- externen Spracherzeuger: gibt den zu - externen Spracherzeuger: gibt den zu sprechenden Text in einem wave-file zurück sprechenden Text in einem wave-file zurück

- plant welche Aktion zu welchem Zeitpunkt - plant welche Aktion zu welchem Zeitpunkt ausgeführt wird, orientiert sich hierbei ausgeführt wird, orientiert sich hierbei anhand von Prioritäten anhand von Prioritäten

- Motor Skill: übernimmt die Berechnung der - Motor Skill: übernimmt die Berechnung der Animation, die eine bestimmte Mimik mit der Animation, die eine bestimmte Mimik mit der sprachlichen Ausgabe verknüpft sprachlichen Ausgabe verknüpft

09.06.2010 Chatterbots

BeispielBeispiel::

Lee erreicht den Projektbereich. Rea ist derzeit im „Stand-By“ und Lee erreicht den Projektbereich. Rea ist derzeit im „Stand-By“ und erwartet eine Eingabe. Als Lee in die Nähe der beiden Kameras kommt, erwartet eine Eingabe. Als Lee in die Nähe der beiden Kameras kommt, dreht Rea sein Gesicht zu ihm und fragt:dreht Rea sein Gesicht zu ihm und fragt:

REA> Hello. How can I help you?REA> Hello. How can I help you?

LEE> I´m looking to buy a place near MIT.LEE> I´m looking to buy a place near MIT.

Rea nickt, und zeigt damit an, dass es Lee folgt.Rea nickt, und zeigt damit an, dass es Lee folgt.

REA> I have a house to show you.REA> I have a house to show you.

Ein Bild eines Hauses erscheint auf dem Bildschirm hinter Rea, Rea Ein Bild eines Hauses erscheint auf dem Bildschirm hinter Rea, Rea zwinkert und schaut erst zum Hauszwinkert und schaut erst zum Haus und und dann zu Lee. dann zu Lee.

REA> It´s in Somerville.REA> It´s in Somerville.

LEE> Tell me about it.LEE> Tell me about it.

Rea schaut durch die Gegend, während es seine nächste Aussage plant.Rea schaut durch die Gegend, während es seine nächste Aussage plant.

REA> It´s big.REA> It´s big.

Rea macht eine Geste mit den Fingern, die zeigen soll, das Haus ist Rea macht eine Geste mit den Fingern, die zeigen soll, das Haus ist teuer.teuer.

09.06.2010 Chatterbots

Alternativen zu REA:Alternativen zu REA:

Semaine 2.0 - Projektseite:Semaine 2.0 - Projektseite:

http://www.semaine-project.euhttp://www.semaine-project.eu

Semaine 2.0 – Wiki mit Installationsanleitung:Semaine 2.0 – Wiki mit Installationsanleitung:

http://semaine.opendfki.de/wiki/SEMAINE-2.0-Distributedhttp://semaine.opendfki.de/wiki/SEMAINE-2.0-Distributed

09.06.2010 Chatterbots

Quellenangaben:Quellenangaben:

• http://de.wikipedia.org/wiki/Eliza (Stand: 06.06.2010)http://de.wikipedia.org/wiki/Eliza (Stand: 06.06.2010)

• www.logic.at/lvas/185170/11-Nowak.pdfwww.logic.at/lvas/185170/11-Nowak.pdf (Stand: 06.06.2010) (Stand: 06.06.2010)

• www.ib.hu-berlin.de/~kumlau/handreichungen/h222/h222.pdfwww.ib.hu-berlin.de/~kumlau/handreichungen/h222/h222.pdf (Stand: 06.06.2010)(Stand: 06.06.2010)

• http://www.uniklinik-http://www.uniklinik-freiburg.de/augenklinik/live/homede/mit/bach/ops/turi-d.html?freiburg.de/augenklinik/live/homede/mit/bach/ops/turi-d.html?raw=true&layout=weiss&szsrc= raw=true&layout=weiss&szsrc= (Stand: 06.06.2010)(Stand: 06.06.2010)

• AIML Overview - Dr. Richard S. Wallace: AIML Overview - Dr. Richard S. Wallace: http://www.pandorabots.com/pandora/pics/wallaceaimltutorial.htmlhttp://www.pandorabots.com/pandora/pics/wallaceaimltutorial.html

• AIML Reference Manual – Thomas Ringate: AIML Reference Manual – Thomas Ringate: http://www.alicebot.org/documentation/aiml-reference.htmlhttp://www.alicebot.org/documentation/aiml-reference.html

• Don't Read Me – A.L.I.C.E and AIML Documentation – Dr. Richard S. Wallace: Don't Read Me – A.L.I.C.E and AIML Documentation – Dr. Richard S. Wallace: http://alicebot.org/articles/wallace/dont.htmlhttp://alicebot.org/articles/wallace/dont.html

• Clive Thompson: Approximating Life, The New York Times Magazine, July 7, Clive Thompson: Approximating Life, The New York Times Magazine, July 7, 20022002

09.06.2010 Chatterbots

Quellenangaben:Quellenangaben:

[Cassell et al. 2000] J. Cassell, J.Sullivan, S. Prevost, E. Churchill, [Cassell et al. 2000] J. Cassell, J.Sullivan, S. Prevost, E. Churchill, Embodied Embodied Conversational Agents, Kap. 2. The MIT Press, 2000.Conversational Agents, Kap. 2. The MIT Press, 2000.

Die Homepage von Matthew Stone (SPUD):Die Homepage von Matthew Stone (SPUD):http://www.cs.rutgers.edu/~mdstone/nlg.htmlhttp://www.cs.rutgers.edu/~mdstone/nlg.html (Stand: 04.06.2010) (Stand: 04.06.2010)