Beruflich Dokumente
Kultur Dokumente
Chatbots in 10 Minuten
Mar:n Abraham
Ablauf
1. Einführung in das Thema
2. Der Chatbot A.L.I.C.E.
2.1 Funk:onsweise
2.2 AIML oder das Gehirn von A.L.I.C.E
3. Demonstra:onen
1.
Einführung in das Thema
Was ist ein Chatbot?
Ein Programm, das einen menschlichen Gesprächspartner simuliert.
Seit wann gibt es Sie?
1966 ELIZA von Joseph Weizenbaum
Ges:egenes Interesse seit dem Internetboom in den 90ern
Wo werden sie verwendet?
eCommerce, Hilfesysteme, eLearning, Computerspiele
Welche kennt man?
Büroklammer (MS Word) Anna (IKEA)
2. A.L.I.C.E.
Wer ist A.L.I.C.E. ?!
‐ Ar:ficial Linguis:c Internet Computer En:ty
‐ 1995 von Richard Wallace veröffentlichter Chatbot
‐ Inspiriert von ELIZA (Architektur)
‐ Sehr einfache Funk:onsweise der Sprachverarbeitung
‐ Gewinner des Loebner‐Preises 2000, 2001, 2004
‐ Open‐Source
2.1. Funk:onsweise
Wie funk:oniert A.L.I.C.E?
Sehr kompakter Kern
Responder: Eingabe/Ausgabe
Interpreter: Wortweise Treffersuche
in lexikalischer Ordnung
in AIML Objekten um
größtmöglichen Treffer zu ermiieln
Möglichst große WissensrepräsentaCon
AIML Objekte: XML basiert
2.2. AIML
Grundelement Category
<category></category>
Besteht mindestens aus:
‐ Eingabe‐Frage: <pa.ern></pa.ern>
case insensi:ve
‐ Ausgabe‐Antwort: <template></template>
OpConal:
‐ Kontext: <that></that>
Platzhalter/ Wildcards:
‐ _ lexikographisch vor „0“
‐ * lexikographisch nach „Z“
2.2. AIML
Variablen, Wildcards & Internes
Wildcards:
‐ Abfrage ihres Wertes mit:
<star index=´i´ />
Variablen:
‐ Setzen mit:
<set name=´variable´>wert</set>
‐ Abfragen mit:
<get name=´variable´>wert</set>
‐ Wert wird immer ausgegeben
Internes:
‐ Dinge vor Ausgabe verbergen mit:
<think></think>
2.2. AIML
Rekursion
Realisierung:
<srai></srai>
Wo anwenden:
innerhalb von <template></template>
Verwendung:
‐ Symbolische Reduk:on:
„Wie spät ist es gerade?“ „Wie spät ist es?“
‐ Teile und herrsche:
„Wie spät ist es und wie heiße ich?“
‐ Synonyme:
„Ich bin MarFn“ „Ich heiße MarFn“
‐ Prüfen von Bedingungen: s. Beispiel
2.2. AIML
Externe Programme anbinden
Realisierung:
‐ Shell‐Befehle ausführen:
<system></system>
‐ ServerseiFg Javascript ausführen:
<javascript></javascript>
Verwendung:
‐ Zugriff auf externes Wissen
‐ Extern Ereignisse auslösen
‐ Möglichkeiten von A.L.I.C.E. erweitern
Zusammenfassung
Chatbots
Was? Seit wann? Wofür? Bekannte?
A.L.I.C.E.
Was? Wie?
AIML
Kategorien, Variablen, Kontexte, Platzhalter,
Rekursion, Anbindung externer Programme
Lust auf mehr?
www.alicebot.org