AIML

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Limbaj de marcare a inteligenței artificiale
Extensie .aiml
Dezvoltat de Richard Wallace
Prima publicație 3 august 2001
Ultima versiune 1.0.1 (25 octombrie 2001)
Tip Inteligență artificială
Extensie a XML
Site-ul web www.alicebot.org/TR/2005/WD-aiml

AIML , acronim pentru Artificial Intelligence Markup Language , este un dialect al XML inventat pentru a crea software care trebuie să imite limbajul natural .

Istorie

Dialectul XML numit AIML a fost dezvoltat de Richard Wallace și o comunitate mondială de software liber între 1995 și 2002. A stat la baza a ceea ce a fost inițial o versiune extinsă a ELIZA , numită ALICE ( Artificial Linguistic Internet Computer Entity ).

Deoarece AIML a fost distribuit sub GNU GPL și din moment ce mulți interpreți ai AIML au fost eliberați sub licențe gratuite sau open source , multe clone ale ALICE au fost dezvoltate din implementarea originală și din funcționarea sa de bază. Seturile AIML au fost dezvoltate în diferite limbi și au fost puse la dispoziția publicului. Există interpreți AIML disponibili în Java , Ruby , Python , C ++ , C # , Pascal și alte limbi.

Elemente ale AIML

Categorii

Categoriile din AIML sunt unitățile fundamentale. O categorie constă din cel puțin două elemente: modelul și șablonul . Iată un exemplu de categorie:

 <categorie>
   <pattern> Care este numele tău </pattern>
   <template> Numele meu este John. </template>
 </category>

Când această categorie este încărcată, un bot AIML va întreba „Care este numele tău?” va răspunde „Numele meu este John.”.

Model

Un model este un șir de caractere care reprezintă una sau mai multe intrări de utilizator. Un tipar tipic este

 CARE E NUMELE TĂU

care, totuși, permite o singură intrare: „care este numele tău”. Dar tiparele pot conține și metacaractere , care pot înlocui unul sau mai multe cuvinte. Un tipar ca

 CE ESTE AL TĂU *

va permite un număr infinit de intrări, cum ar fi „care este numele tău”, „care este culoarea ta preferată”, „care este profesia ta” etc.

Sintaxa modelelor AIML este foarte simplă, mai puțin complexă decât expresiile regulate .

Șablon

Un șablon indică răspunsul la un model. Un șablon poate conține doar text literal, cum ar fi

 Numele meu este john.

Un șablon poate utiliza, de asemenea, variabile, cum ar fi

 Numele meu este <bot name = "name" />.

care înlocuiește numele botului din propoziție sau

 Mi-ai spus că ai <get name = "user-age" /> ani.

care înlocuiește vârsta utilizatorului (dacă este cunoscută) în propoziție.

Elementele șablonului includ formatarea textului de bază, răspunsuri condiționate și răspunsuri aleatorii.

Șabloanele pot redirecționa și către alte tipare printr-un element numit srai. Aceasta poate fi utilizată pentru a implementa sinonime, ca în exemplul următor:

 <categorie>
   <pattern> Care este numele tău </pattern>
   <template> <![CDATA[Il mio nome è <bot name="nome"/>.]]> </template>
 </category>
 <categorie>
   <pattern> Care este numele tău </pattern>
   <sablon>
     <tu> care este numele tău </srai>
   </template>
 </category>

Prima categorie răspunde la intrarea „care este numele tău” furnizând numele botului. A doua categorie afirmă în schimb că intrarea „care este numele tău” trebuie redirecționată către categoria care se referă la intrarea „care este numele tău”, deoarece cele două propoziții sunt echivalente.

Critici

AIML este considerat puternic și ușor și un bun punct de plecare pentru începători pentru a crea roboți simpli; cu toate acestea, este mult mai dificil să-l folosiți pentru a construi roboți mai complexi.

Elemente conexe

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT