close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

Chatbots.pdf - Lehrstuhl für Wirtschaftsinformatik

EinbettenHerunterladen
Praktikum
PraktikumUnternehmenssoftware
Unternehmenssoftware––
Chatbot-Grundlagen
Chatbot-Grundlagen
Technische Universität München
Lehrstuhl für Wirtschaftsinformatik
© Prof. Dr. H. Krcmar
Was ist ein Chatbot ?
• Chatbots versuchen, menschliche Gesprächspartner zu
simulieren
• Simulation von Intelligenz durch umfassende Regeln
• Idee des Chatbots geht auf Turing-Test zurück (1950)
• Erster bekannter Chatbot: ELIZA simulierte 1966 sehr
erfolgreich Gespräche mit einem Psychotherapeuten
© Prof. Dr. H. Krcmar
1
Chatbots heute
• Einsatzgebiete:
•
•
•
•
•
Marketing
Vertrieb
Entertainment
Computerspiele
Online-Beratung
© Prof. Dr. H. Krcmar
Avatare
• Ursprung des Wortes im Sanskrit „Avatara“
• Erwähnung bereits 1500 v. Chr. in einer hinduistischen
Veda
• Ursprüngliche Bedeutung: Inkarnation eines Gottes auf
Erden
• „Und die besondere Form der Persönlichkeit der Gottheit,
die so hinabsteigt, wird Inkarnation oder Avatara genannt.“
Kaviraja Gosvami o. J., 2.20.263-264
© Prof. Dr. H. Krcmar
2
Der Weg in die Gegenwart
• Sprung in die Gegenwart unklar, es gibt jedoch
verschiedene Spuren:
• Alternative Bezeichnung zu root-User der Administratoren an der
Carnegie-Mellon University
• Verwendung des Begriffs beim amerikanischen Militär für
Personen in militärischen Computersimulationen
• Verkörperung von Spielern in LucasArts Online-Community
• Verwendung des Begriffs in Neal Stephensons Roman „Snow
Crash“, in dem man mit einem Avatar im Metaversum (Internet)
wandeln kann
© Prof. Dr. H. Krcmar
Definition von Avataren
• Avatare als Repräsentation von Intelligenzen
© Prof. Dr. H. Krcmar
3
Arten von Avatarsystemen
• Unterscheidung nach dem Kriterium der Selbstständigkeit
• Arten:
• Nicht-autonome Avatarsysteme
- genaue Steuerung durch Benutzer
- Reine Repräsentationsfunktion
• Semit-autonome Avatarsysteme
- grobe Kontrolle des Avatars
- Integration von Unterstützungssystemen (KI)
• Autonome Avatare
- Steuerung durch „intelligente“ Software, z.B. Agenten
© Prof. Dr. H. Krcmar
Ebenen eines Avatars
• Unterscheidung in Wahrnehmungs- und Steuerungsebene
© Prof. Dr. H. Krcmar
4
Technologien für Avatarsysteme
• Morphologischer Kasten derzeitiger Technologien
© Prof. Dr. H. Krcmar
Einsatz von Avataren
Mögliche Einsatzgebiete (in Anlehnung an Böcker, Holz auf der Heide
2005):
• Maskottchen/Werbung
• Suchassistent
• Vertrieb/Marketing
• Help Desk / Support
• Unterhaltung
• Lehrer
• Vermittler
• Seelsorger
© Prof. Dr. H. Krcmar
5
AliceBot
• Open Source Chatbot-Projekt von Richard Wallace
(www.alicebot.org)
• Wurde 1995 ins Leben gerufen als KommandozeilenProgramm (Program B)
• ALICE = Artificial Linguistic Internet Computer Entity
• Dreifacher Gewinner des Loebner-Prize (Turing Test)
• Umfasst derzeit Regelbasis von über 40.000 statischen
Regeln
© Prof. Dr. H. Krcmar
Visualisierung der Wissensbasis
* (default)
address
email
root
What is your name
Hello
In Anlehnung an Wallace 2003
Knowledge Web von ca. 24.000 AIML-Regeln
(http://www.alicebot.org/articles/baer/hacking.html)
© Prof. Dr. H. Krcmar
6
AIML
•
•
•
•
AIML = Artificial Intelligence Markup Language
Auf XML-basierende Auszeichnungssprache
Derzeit Version 1.01 aktuell
Beinhaltet sowohl Wissen als auch Regeln/ Befehle
© Prof. Dr. H. Krcmar
AIML-Interpreter
• Umsetzung der AIML-Interpreter (Chatbots) in
verschiedenen Sprachen:
•
•
•
•
•
•
•
•
Java (z.B. Program D)
PHP (Program E)
Ruby (Program R)
Pascal (Program P)
Python (Program Y)
.NET
C++
SETL
© Prof. Dr. H. Krcmar
7
Program D
• Aktuellster und umfassendster AIML-Interpreter in Java
• Aktuelle Version: 4.6 (verwendet Java 1.5)
• Ältere Versionen haben Web-Server (Jetty) integriert
• Neuere Versionen können als Web-Archive auf Tomcat,
JBoss … deployed werden
© Prof. Dr. H. Krcmar
Einrichtung von Program D
• Runterladen, auspacken
• AIML-Datei runterladen und in Verzeichnis /aiml kopieren
• /conf/startup.xml anpassen:
•
•
•
•
Pfade
Bot-Parameter
Substitute
Trennzeichen
• Start von Alice mit run.bat
• Beenden von Alice mit /exit
© Prof. Dr. H. Krcmar
8
Wichtige Einstellungen in server.properties
• programd.os-access-allowed=false (Zugriff auf OS-Ebene
über AIML)
• programd.interpreter.system.directory=./
(Ausführungsverzeichnis von OS-Befehlen)
• programd.connect-string=CONNECT (Regel für
Verbindungsaufbau)
• programd.predicate-cache.max=500 (Menge gesammelter
Daten vor Rausschreiben in Datei)
© Prof. Dr. H. Krcmar
Verwendung des HTML-Templates
• Program D beinhaltet ein Template für HTML und Flash
• HTTP-Template ist ohne weitere Einstellungen über
http://localhost:2001 zu erreichen (bzw. über IP-Addresse)
• Identifizierung der User über Cookies oder User/Passwort
• /conf/jetty.xml beinhaltet Konfiguration des Web Servers
© Prof. Dr. H. Krcmar
9
Ablauf einer Anfrage
© Prof. Dr. H. Krcmar
AIML – grundsätzlicher Aufbau
• Grundlegendes Aufbau:
<category>
<pattern>WIE IST DEIN NAME</pattern>
<template>Mein Name ist Alice.</template>
</category>
• Verwendung von Platzhaltern:
<category>
<pattern>ICH SEHE * AUS</pattern>
<template>Wieso sehen sie <star/> aus?</template>
</category>
© Prof. Dr. H. Krcmar
10
AIML – Bezugnahme auf letzte Antwort
<category>
<pattern>ICH LEGE VIEL WERT AUF AUSSEHEN</pattern>
<template>Wie sehen sie denn aus?</template>
</category>
<category>
<pattern>*</pattern>
<that>WIE SEHEN SIE DENN AUS*</that>
<template>Das hört sich nett an.</template>
</category>
© Prof. Dr. H. Krcmar
AIML – Verwendung von Themenbereichen
<category>
<pattern>SCHWARZE KLEIDUNG STEHT MIR AM BESTEN</pattern>
<template>
Ich mag auch schwarze Kleider.
<think><set name="topic">Kontext1 Aussehen Kontext2 Kleidung
</set></think>
</template>
</category>
<topic name="Kontext1 * Kontext2 *">
<category>
<pattern>WAS TRAEGST DU GERNE *</pattern>
<template>
Ich finde, bei <topicstar index="2"/> sollte man sehr wählerisch
sein.
</template>
</category>
</topic>
© Prof. Dr. H. Krcmar
11
AIML – Verwendung von Variablen
• Setzen der Variable „test“:
<set name=„test“>Das ist ein Test</set>
• Auslesen der Variable „test“:
<get name=„test“/>
© Prof. Dr. H. Krcmar
AIML - Fallunterscheidungen
• Gegenstück zu If:
<condition name="test" value="Das ist ein Test">
Die Bedingung ist erfüllt
</condition>
• Gegenstück zu Switch / Case:
<condition name="test">
<li value="Das ist ein Test">Fall 1</li>
<li value="Das ist kein Test">Fall 2</li>
<li>Keiner der Fälle ist eingetreten</li>
</condition>
© Prof. Dr. H. Krcmar
12
AIML - Symbolische Reduktion
<category>
<pattern>* BITTE *</pattern>
<template>
<srai><star index=“1“/> <star index=”2”/></srai>
</template>
</category>
<category>
<pattern>HALLO WIE GEHT ES</pattern>
<template>
<srai>WIE GEHT ES</srai>
</template>
</category>
© Prof. Dr. H. Krcmar
Weitere AIML-Befehle
Syntax
Bedeutung
<formal> … </formal>
Lässt alle Wörter zwischen den Tags mit einem
Großbuchstaben beginnen
<javascript> … </javascript>
Führt serverseitig Javascript aus
<lowercase> … </lowercase>
Wandelt alles zwischen den Tags in Kleinbuchstaben
um
<uppercase> … </uppercase>
Wandelt alles zwischen den Tags in Großbuchstaben
um
<random> … </random>
Wählt zufällig eine der angegebenen Möglichkeiten
aus (vgl. <li> und <condition>)
<system> … </system>
Ruft einen Befehl auf der Ebene der
Eingabeaufforderung des Betriebssystems auf
<think> … </think>
Befehle und Texte, die zwischen den Tags
stehen, werden nicht als Antwort angezeigt
<id/>
Enthält die TCP/IP-Nummer des Benutzers
© Prof. Dr. H. Krcmar
13
Suchreihenfolge in AIML-Regeln
1.
2.
3.
4.
5.
6.
7.
8.
9.
Atomare Regel (Regel ohne Platzhalter) mit Topic und That
Atomare Regel mit Topic
Auffangregel (Regel mit Platzhalter) mit Topic und That
Auffangregel mit Topic
Atomare Regel mit That
Atomare Regel
Auffangregel mit That
Auffangregel
* (Regel, die nur aus einem Platzhalter besteht, also eine globale
Auffangregel darstellt)
© Prof. Dr. H. Krcmar
Übungen und Hausaufgaben
• Bringen Sie Program D 4.1 zum laufen:
• Kopieren und starten
• Betrachten Sie die Einstellungen in den Dateien server.properties
und ../conf/startup.xml
• Legen Sie 20 eigene AIML-Regeln zum Thema „Studium“ an
• Rufen Sie Alice über das Web-Frontend auf
• Erweitern Sie die AIML-Datei zum Studium um Funktionen, die Ihre
Daten als Student speichern und abrufen können (ca. 100 Regeln)
• Passen Sie das Web-Fronten nach Ihren Wünschen an, wobei Sie
einen beliebigen (statischen) Avatar einbinden
© Prof. Dr. H. Krcmar
14
Gruppenaufteilung 1/3
1.
Bereitstellung der Stammdaten und des Webshops (2 Bearbeiter)
•
•
•
•
2.
Erstellen und Einrichten eines SAP-basierten WebShops
Bereitstellen der Stammdaten und der Einstellungen für die Produkte im
Shop
Bei Bedarf Ergänzung um weitere Web-Elemente zur Benutzung
Schnittstellen zur Avatar-Gruppe (Thema 5)
Erstellung der Chatbot-Wissensbasis (3 Bearbeiter)
•
•
•
Ausarbeitung einer exemplarischen WebShop-Prozesskette
Erstellung von AIML-Regeln für die Unterstützung des Beratungs- und
Kaufprozesses
Schnittstellen zu Chatbot- (Thema 3) und SAP-Thema (Thema 4)
© Prof. Dr. H. Krcmar
Gruppenaufteilung 2/3
3.
Erschließung und Bereitstellung relevanter SAP-Schnittstellen für
Geschäftsprozess (4 Bearbeiter)
•
•
•
4.
Umsetzung der Prozesse im SAP-System mit bestehenden oder
eigenentwickelten Funktionsbausteinen
Bereitstellung einer einfachen Schnittstelle
Schnittstellen zu Webshop- (Thema 1) und SAP-Thema (Thema 4)
Integration der SAP-Zugriffe in Chatbot AliceBot und Bereitstellung
von entsprechenden AIML-Befehlen (4+1 Bearbeiter)
•
•
•
•
Erweiterung des AliceBot-Sourcecodes um RFC-Aufrufe über JCo
Bereitstellung eines AIML-Befehlssatzes zur Ansteuerung der RFC-Aufrufe
Schnittstellen zu SAP- (Thema 3) und Chatbot-Thema (Thema 2)
Besonderheit: Bearbeiter übernimmt teilzeit die Aufgaben des
Gesamtprojektleiters
© Prof. Dr. H. Krcmar
15
Gruppenaufteilung 3/3
5.
Erstellung des Avatars und Integration in den Webshop (2
Bearbeiter)
•
•
•
•
Erweiterung des HTML-Templates von AliceBot zur Verarbeitung von
FrontEnd-Befehlen (z.B. JavaSkript)
Integration in den WebShop
Bei Interesse: Erstellung eines eigenen Avatars
Schnittstellen zum Webshop- (Thema 1) und Chatbot-Thema (Thema 4)
© Prof. Dr. H. Krcmar
Zuordnung der Bearbeiter
WebShop
Wissensbasis
SAP-Interfaces
ChatbotErweiterung
Avatar +
Integration
© Prof. Dr. H. Krcmar
16
Document
Kategorie
Technik
Seitenansichten
2
Dateigröße
255 KB
Tags
1/--Seiten
melden