Hoe werkt AIML?
AIML staat voor Artificial Intelligence Markup Language ofwel kunstmatige intelligentie opmaaktaal in XML. De opmaak definieert de taal AIML. Deze zijn opgebouwd uit categorien. Binnen een categorie worden bepaalde sleutelwoorden (tags) gebruikt om de categorie vorm te geven. Standaard zijn de volgende opgenomen: pattern (patroon), that (dat) en template (matrijs). Binnen het AIML zijn de sleutelwoorden standaard maar de content is taal afhankelijk. Het programeren van nederlandse AIML bestanden is programeren met nederlandse zinnen en woorden.
Voorbeeld van een AIML categorie in een xml bestand:
<?xml version="1.0" encoding="ISO-8859-1"?>
<category>
<pattern>Hallo</pattern>
<template>Hoi hallo, wat is je naam?</template>
</category>
</aiml>
De bovenstaande code wordt geactiveerd als de gebruiker het woord 'Hallo' intikt. Hierna zal het programma kijken of er een categorie bestaat met het ingetikte pattern (patroon). In het voorbeeld is deze aanwezig. Het programma geeft nu aan de gebruiker de uitkomst van de template (matrijs) terug. In dit geval krijgt de gebruiker een vraag terug.
Gebruiker: Hallo
Chatbot: Hoi hallo, wat is je naam?
Er kunnen meerdere categorien binnen 1 AIML bestand worden opgenomen. We breiden ons voorbeeld uit:
<?xml version="1.0" encoding="ISO-8859-1"?>
<category>
<pattern>Hallo</pattern>
<template>Hoi hallo, wat is je naam?</template>
</category>
<category>
<pattern>*</pattern>
<that>wat is je naam</that>
<template>Aangenaam </star> wat leuk dat je er bent.</template>
</category>
</aiml>
Geeft de volgende conversatie:
Gebruiker: Hallo
Chatbot: Hoi hallo, wat is je naam?
Gebruiker: Friso
Chatbot: Aangenaam Friso wat leuk dat je er bent.
De bovenstaande code wordt weer geactiveerd als de gebruiker het woord 'Hallo' intikt. Hierna zal het programma kijken of er een categorie bestaat met het ingetikte pattern (patroon). In het voorbeeld is deze aanwezig. Het programma geeft nu aan de gebruiker de uitkomst van de template (matrijs) terug. In dit geval krijgt de gebruiker een vraag terug.
De gebruiker tikt nu zijn naam in. Het programma gaat kijken of er een pattern bestaat met de naam. De bestaat niet. Wel is er een categorie met het sleutelwoord that. Deze komt overeen met het laatste antwoord dat de chatbot gaf. In het pattern staat een ster. Deze vangt nu de naam van de gebruiker op. Het programma geeft nu de uitkomst van bijbehorende template terug. De naam van de gebruiker wordt weergegeven door het sleutel woord star.