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