AIML

El AIML, o Artificial Intelligence Mark-up Language es un lenguaje de marcado basado en XML. Fue diseñado específicamente para ayudar en la creación de la primera entidad chatbot informática de lenguaje artificial en línea o A.L.I.C.E., en sus siglas en inglés de Artificial Linguistic Internet Computer Entity Chatterbot ((en inglés) Alice). Aunque descrito muy ampliamente, el lenguaje AIML está especializado en la creación de agentes software con lenguaje natural, conocidos como Alicebots.

Historia 

El lenguaje de programación AIML fue desarrollado por el Dr. Richard Wallace y la comunidad de código abierto Alicebot entre los años 1995 y 2000. Con él se crearon las bases del primer Alicebot, A.L.I.C.E, que ha ganado ahora el concurso Loebner Prize Contest y también The most human o El más humano tres veces, al igual de ser ganador en el Campeonato de Chatbot en 2004. Desde sus comienzos en internet, gracias a que el lenguaje AIML y los programas Alicebot son código-abierto, se han creado numerosos clones de Alicebot basados en la implementación original del programa y de la base de conocimiento AIML. El desarrollo de este lenguaje continua, y en el otoño de 2004 se ha creado una nueva versión del conjunto ALICE AIML. La implementación más activa hoy en día es pandorabots.com, un hosting de bots en línea y compañía de desarrollo que permite el alojamiento gratuito de Alicebots programa Z.

Componentes de AIML 

AIML contiene muchos elementos. Los más importantes están descritos a continuación:

Categorías o Categories 

Las categorías en AIML son las unidades fundamentales de conocimiento. Una categoría consiste en al menos dos elementos más, que son los componentes patrón o pattern y plantilla o template, que normalmente se codifican en ese orden.

Patrones o Patterns 

Los Alicebots se describen como chatbot de comparación de patrones o pattern-matching. Esto significa que el programa buscará patrones que el usuario haya introducido y responderá de acuerdo a lo que se le haya preguntado.

Plantillas o Templates 

Si un patrón coincide con una categoría, y si es ese el patrón que más concuerda, entonces a la respuesta del chatbot se añade una plantilla específica de la categoría. Esta plantilla puede contener otros componentes de AIML, que permiten personalizar dicha respuesta. Por ejemplo:

 La entrada del usuario se puede convertir en parte de la respuesta del chatbot. Por ejemplo: 
    Humano: ¿Eres más listo que HAL 9000?
    ALICE: Claro que soy más inteligente que HAL 9000.
 Para hacer que las respuestas parezcan más humanas, éstas se seleccionan aleatoriamente de una lista de posibles respuestas. Por ejemplo: 
    Humano: ¿Qué es Wikipedia?
    ALICE: ¡Buena pregunta!
    Humano: ¿Qué es Wikipedia?
    Humano: ¿Qué es Wikipedia?
    ALICE: Voy a procesar esa pregunta durante unos minutos.

Recursos oficiales 

 La Fundación de Inteligencia Artificial A.L.I.C.E
 Código de ejemplos de AIML

Ejemplos de Alicebots populares en Internet 

 El A.L.I.C.E original
 
 Dawnstar
 Ailysse
 Lilith
 Foxy Botachelli: Webchat Girl
 Habla con William Shakespeare
 Habla con Ailis en Inglés (Italiano)

Comunidades AIML & Directorios Alicebots 

 A.I.Nexus: Un escaparate de Alicebots en la red
 The AIML Scripting Resource

Lenguajes de programación
Inteligencia artificial
Acrónimos de informática
Software de 2001