AIML
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
- Site oficial , pe alicebot.org .