AIML - Introduzione
AIML sta per Artificial Intelligence Markup Language. AIML è stato sviluppato dalla comunità del software libero Alicebot e dal Dr. Richard S. Wallace durante il periodo 1995-2000. AIML viene utilizzato per creare o personalizzare Alicebot, un'applicazione di chat-box basata sul software gratuito ALICE (Artificial Linguistic Internet Computer Entity).
Tag AIML
Di seguito sono riportati i tag importanti comunemente utilizzati nei documenti AIML.
| S.No. | Tag / descrizione AIML | 
|---|---|
| 1 | <aiml> Definisce l'inizio e la fine di un documento AIML.  | 
| 2 | <category> Definisce il unit of knowledge nella knowledge base di Alicebot.  | 
| 3 | <pattern> Definisce il modello in modo che corrisponda a ciò che un utente può inserire in un Alicebot.  | 
| 4 | <template> Definisce la risposta di un Alicebot all'input dell'utente.  | 
Discuteremo ciascuno di questi tag nel capitolo Tag di base di AIML .
Di seguito sono riportati alcuni degli altri tag aiml ampiamente utilizzati. Discuteremo ogni tag in dettaglio nei prossimi capitoli.
| S.No. | Tag / descrizione AIML | 
|---|---|
| 1 | <star> Utilizzato per abbinare i caratteri jolly * carattere / i nel tag <pattern>.  | 
| 2 | <srai> Tag multiuso, utilizzato per chiamare / abbinare le altre categorie.  | 
| 3 | <random> Usato <random> per ottenere risposte casuali.  | 
| 4 | <li> Utilizzato per rappresentare più risposte.  | 
| 5 | <set> Utilizzato per impostare il valore in una variabile AIML.  | 
| 6 | <get> Utilizzato per ottenere il valore memorizzato in una variabile AIML.  | 
| 7 | <that> Utilizzato in AIML per rispondere in base al contesto.  | 
| 8 | <topic> Utilizzato in AIML per memorizzare un contesto in modo che la conversazione successiva possa essere effettuata in base a quel contesto.  | 
| 9 | <think> Utilizzato in AIML per memorizzare una variabile senza avvisare l'utente.  | 
| 10 | <condition> Simile alle istruzioni switch nel linguaggio di programmazione. Aiuta ALICE a rispondere all'input corrispondente.  | 
Vocabolario AIML
Il vocabolario AIML utilizza parole, spazio e due caratteri speciali * e _come caratteri jolly. L'interprete AIML dà la preferenza al modello con_ rispetto al modello che ha *. I tag AIML sono conformi a XML e i modelli non fanno distinzione tra maiuscole e minuscole.
Esempio
<aiml version = "1.0.1" encoding = "UTF-8"?>
   <category>
      <pattern> HELLO ALICE </pattern>
      
      <template>
         Hello User!
      </template>
      
   </category>
</aiml>
Di seguito sono riportati i punti importanti da considerare:
<aiml> tag indica l'inizio del documento AIML.
<category> tag definisce l'unità di conoscenza.
<pattern> tag definisce il pattern che l'utente sta per digitare.
<template> tag definisce la risposta all'utente se l'utente digita Hello Alice.
Risultato
User: Hello Alice
Bot: Hello User