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