AIML
# 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:
* Para hacer que las respuestas parezcan más humanas, éstas se seleccionan aleatoriamente de una lista de posibles respuestas. Por ejemplo:

### 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
* Quickbot (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
* 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
* Datos: Q188545
