Sie sind auf Seite 1von 10

Who [..] is A.l.i.c.e. ?!

 
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 

Das könnte Ihnen auch gefallen