Was ist AIML und program-ab?
AIML steht für Artificial Intelligence Markup Language. AIML wurde zwischen 1995-2002 entwickelt und dient zur Erstellung oder Anpassung von Alicebot, einer Chatbox-Anwendung, die auf der freien Software A.L.I.C.E. (Artificial Linguistic Internet Computer Entity) basiert. AIML ist ein XML-Dialekt und sehr einfach zu benutzen, aber nicht so leistungsfähig wie moderne intelligente Chatbots heutzutage.
Program AB ist die Referenzimplementierung des Spezifikationsentwurfs AIML 2.0. AIML ist ein weit verbreiteter Standard für die Erstellung von Chatbots und mobilen virtuellen Assistenten.
AIML Elemente
AIML-Dateien verwenden die Erweiterung .aiml, um den Großteil des Codes zu speichern. AIML enthält mehrere primäre Elemente. Die wichtigsten davon sind Kategorien, Muster und Vorlagen. Kategorien in AIML bilden die Grundeinheit des Wissens und bestehen aus Mustern und Vorlagen.
Kategorie-Beispiel:
<category>
<pattern> What is your name </pattern>
<template>My name is Luno</template>
</category>
Wenn diese Kategorie geladen ist, antwortet ein AIML-Bot auf die Eingabe „What is your name“ mit der Antwort „My name is Luno„.
Ein Muster (Pattern) ist eine Zeichenkette, die dazu bestimmt ist, einer oder mehreren Benutzereingaben zu entsprechen. Ein wörtliches Muster wie
WHAT IS YOUR NAME
passt nur auf eine Eingabe und ignoriert Groß-/Kleinschreibung: „What is your name„. Aber Muster können auch Platzhalter enthalten, die einem oder mehreren Wörtern entsprechen. Ein Muster wie
WHAT IS YOUR *
passt zu einer unendlichen Anzahl von Eingaben, einschließlich „What is your name„, „What is your intent„, etc.
Eine Vorlage gibt die Reaktion auf ein angepasstes Muster an. Eine Vorlage kann so einfach sein wie ein literaler Text, wie z.B.
My name is Max.
Eine Vorlage (Template) kann Variablen verwenden, wie z.B. das Beispiel
My name is <bot name="name"/>.
was den Namen des Bot’s durch den Satz ersetzt.
Wie erstelle ich meinen eigenen AIML Chatbot?
Wir haben einige Java-Beispiele zusammengestellt, die Ihnen zeigen wie einfach die Verwendung von AIML auf der Business Bot Plattform ist. Die Code-Beispiele wie folgt:
- AIML-Basis Tags (<aiml>, <category>, <pattern> und <template>)
- <star>-Tag (Wird verwendet, um Platzhalter * Zeichen im <Muster>Tag zuzuordnen)
- <srai>-Tag (Mehrzweck-Tag, mit dem die anderen Kategorien aufgerufen bzw. zugeordnet werden können)
- <random>-Tag (Erhalte zufällige Antworten)
- <li>-Tag (Wird verwendet, um mehrere Antworten darzustellen)
- <set>-Tag (Wird verwendet, um den Wert in einer AIML-Variablen zu setzen)
- <get>-Tag (Wird verwendet, um den in einer AIML-Variablen gespeicherten Wert zu erhalten)
- <that>-Tag (Wird in AIML verwendet, um kontextabhängig zu reagieren)
- <topic>-Tag (Wird in AIML verwendet, um einen Kontext zu speichern, so dass eine spätere Konversation basierend auf diesem Kontext durchgeführt werden kann)
- <think>-Tag (Wird in AIML verwendet, um eine Variable zu speichern, ohne den Benutzer zu benachrichtigen)
- <condition>-Tag (Wird in AIML verwendet, um auf passende Eingaben zu reagieren)
Am besten Starten Sie mit dem Java-Beispielen aus dem Java-Projekt, welches Sie hier herunterladen (BusinessLogic.GM.HelloProgramAB.v1.zip / ~10 MB) können. Das Java-Projekt importieren Sie nun in der Eclipse-Entwicklungsumgebung und führen das Programmbeispiel „MainMyBot01_BasicTags.java“ aus. Sie können nun mit den Dialog beginnen und Stück für Stück erweitern.
Sie werden sehen, wie einfach es ist die Chatbot-Dialoge zu ergänzen. Im nächsten Schritt können Sie das Beispielprojekt verwenden und als Geschäftslogik (Business-Logic) auf der Business Bot Plattform importieren. Nach dem Import müssen Sie die Geschäftslogik nur noch einen Chatbot zuordnen, um die Dialoge mit einen Instant Messenger (z.B. Telegram) zu testen.
Möchten Sie die mehr über das Thema erfahren oder die Business Bot Plattform in Ihrem Unternehmen einsetzen? Kontaktieren Sie uns, wir unterstützen Sie gerne rund um das Thema Chatbots im Unternehmensumfeld.