# Artificial Intelligence Markup Language

Artificial Intelligence Markup Language (AIML) ist eine auf XML basierende Auszeichnungssprache, mit der man Chatbots entwickeln kann. Ein Chatbot (von engl. chat: "plappern" und engl. bot: "Roboter") ist ein Programm, das sich so verhält, als kämen die Antworten von einem Menschen. Unternehmen und Behörden setzen solche Programme beispielsweise auf ihren Websites ein, um Kundenanfragen automatisiert zu beantworten.
AIML wurde im Jahr 1995 vom Amerikaner Richard Wallace entwickelt. Er schuf damit die Grundlage für seinen Chatbot A.L.I.C.E., welcher verschiedene Preise in Wettbewerben für den menschenähnlichsten Dialog gewann. Die von ihm gegründete AIML Foundation veröffentlicht sowohl das Wissen von A.L.I.C.E. als auch die Spezifikation von AIML (zunächst nur versehentlich) als Open Source. Diese Spezifikation wird seitdem kontinuierlich weiter entwickelt.

## Struktur

Primärer Bestandteil von AIML-Dokumenten ist das Element "Category", durch das eine Benutzer-Eingabe in eine Chatbot-Reaktion übersetzt wird. Eine Category besteht in der einfachsten Form aus den Elementen "Pattern" und "Template". Das Pattern enthält dabei die Eingabe, auf welche der Chatbot reagieren soll, während im Template die dazu passende Antwort hinterlegt wird.
Durch das folgende Beispiel würde ein AIML-Chatbot auf die Eingabe "Hallo" mit der Antwort "Guten Tag" reagieren:
Damit nicht alle Eingaben exakt vorhergesehen und gepflegt werden müssen, existieren weitere Elemente zur Normierung und Vereinfachung der Eingaben.
Dazu zählen zum Beispiel:
* Srai – zur Zusammenfassung verschiedener Eingaben auf eine gemeinsame Antwort.
* That – mit dem Bezug auf vorherige Antworten des Chatbots genommen werden kann.
* Star – das im Zusammenspiel mit Wildcards unscharfe Erkennungsmuster ermöglicht.
* Random – um zufällige Varianzen in den Antworten zu ermöglichen

## Interpreter und Hosting

Um den offenen Standard „AIML“ hat sich im Laufe der Jahre eine Community gebildet, welche für die gängigsten Betriebssysteme und Programmiersprachen entsprechende Interpreter entwickelt hat. Da diese größtenteils auch wieder als Open Source bereitgestellt werden, kann man einen AIML-Chatbot auf Servern oder auch lokalen Geräten einfach selbst installieren und betreiben. Neben dieser Möglichkeit haben sich auch kommerzielle Anbieter für AIML-Hosting gebildet, die entsprechendes Hosting anbieten. Der größte und bekannteste ist dabei (mit – Stand Mai 2019 – rund 250.000+ Entwicklern und 300.000+ Chatbots) die Firma Pandorabots Inc., in welcher Richard Wallace wissenschaftlich Verantwortlicher ist. Alleinstellungsmerkmal ist dabei in der Regel die Bespielung üblicher Messenger oder Socicalmedia Kanäle, deren Programmierung sonst in Eigenregie umgesetzt werden muss. Daneben existieren auch spezialisierte Angebote wie das deutsche „GaitoBot“, das auf deutsche Sprache optimierte Werkzeuge sowie einen eigenen XML-Editor bereitstellt. Neben den Messenger-Kanälen ermöglichen die kommerziellen Angebote auch die Möglichkeit der direkte Einbindung des Chats per Browser, während ein reiner Interpreter üblicherweise zunächst nur für die Ein/Ausgabe auf einer lokalen Konsolenanwendung vorbereitet ist.

## Freie AIML Inhalte

Neben Implementierungen von Interpretern haben zahlreiche Autoren das Wissen ihrer Chatbots in Form von AIML-Dateien open source gestellt. Am bekanntesten dürfte dabei die GermanAlice von Christian Droßmann sein. Droßmann gehörte auch zum ersten Entwicklungsteam der JAVA-A.L.I.C.E.