AIML (Artificial Intelligence Markup Language)
AIML, czyli Język Znaczników Sztucznej Inteligencji, to język oparty na XML, który służy do tworzenia baz wiedzy dla chatterbotów. Został on pierwotnie stworzony przez hakera, dr. Richarda S. Wallace’a, a w latach 1995–2000 był rozwijany przez społeczność wolnego oprogramowania ALICE.
Elementy języka AIML
Język AIML składa się z kilku różnych elementów, z których najważniejsze przedstawiono poniżej.
Kategoria
Kategorie (
Baza wiedzy przedstawiona w przykładzie jest zgodna z wersją 1.0.1 dokumentacji języka AIML.
Wzorzec
Wzorzec (
ILE MASZ LAT
odpowiada jednemu zapytaniu, ignorując inne, jak na przykład: „jak masz na imię”.
Wzorce mogą zawierać symbol wieloznaczny (’*’), który pasuje do jednego lub kilku wyrazów. Na przykład wzorzec:
ILE MASZ *
dostosuje się do różnych zapytań, takich jak: „ile masz lat”, „ile masz zwierzaków”, „ile masz par butów” itd.
Wzorzec w AIML jest prostszy i znacznie mniej skomplikowany niż wyrażenia regularne.
Szablon
Szablony () definiują reakcje na wzorce. Szablony mogą być pełnymi odpowiedziami, np.:
MAM NA IMIĘ ASIA.
Można również używać zmiennych w szablonach, na przykład:
MAM NA IMIĘ
gdzie w zdaniu zostanie zastąpiona nazwa bota, lub
POWIEDZIAŁEŚ MI, ŻE MASZ
co zastąpi user-age (jeśli wcześniej było podane w rozmowie z botem) wiekiem użytkownika.
Znacznik zawiera podstawowe elementy formatowania tekstu, odpowiedzi warunkowe (if-then/else) oraz losowe odpowiedzi.
Szablony mogą przekierowywać do innych wzorców za pomocą znacznika
Pierwsza kategoria zawiera prostą odpowiedź na pytanie „jak masz na imię”, wstawiając w odpowiedzi nazwę bota. Druga kategoria przekierowuje zapytanie „jak się nazywasz” do kategorii, która zawiera zapytanie „jak masz na imię”, zwracając odpowiedź. Oba wyrażenia są równoważne.