sábado, 19 de abril de 2008

EnLaCeS

En esta entrada he puesto 6 enlaces y una dirección para que puedas hablar con chatterbots.

Esta es la página principal de ALICE. Aquí puedes chatear con los chatbots ALICE y GOD:
http://www.alicebot.org/ --- Pagina principal de ALICE

Esta es la página principal de jabberwacky. Aquí puedes hablar con él:
http://www.jabberwacky.com/ --- Página principal de jabberwacky

Aquí podrás hablar con ELIZA:
http://www-ai.ijs.si/eliza/eliza.html --- Chatea con ELIZA

Aquí podrás hablar con BRIAN:
http://www.strout.net/info/science/ai/brian/ --- Chatea con BRIAN

Aquí podrás hablar con Cybelle:
http://www.agentland.com/ --- Chatea con Cybelle

Esta dirección la puedes agregar al Messenger como si de otro contacto se tratara:
spleak@hotmail.com

Un último enlace a una página donde puedes visitar multitud de chatbots y descargarte otros cuantos:
http://iabot.iespana.es/chatbots.htm --- Muchos otros enlaces

¿QuÉ eS uN cHaTtErBoT?

Un chatterbot o bot conversacional es un programa que simula mantener una conversación (en algunos casos, una simple charla) con una persona. Habitualmente, la conversación se establece a través de un teclado, aunque también hay modelos que disponen de una interfaz de usuario multimedia. Más recientemente, algunos comienzan a utilizar programas conversores de texto a sonido (CTV), dotando de mayor realismo a la interacción con el usuario.
Para establecer una conversación han de utilizarse frases fácilmente comprensibles y que sean coherentes, aunque la mayoría de los bot conversacionales no consiguen comprender del todo. En su lugar, tienen en cuenta las palabras o frases del interlocutor, que les permitirán usar una serie de respuestas preparadas de antemano. De esta manera, el bot es capaz de seguir una conversación con más o menos lógica, pero sin saber realmente de qué está hablando.
Quizás comenzaron como un juego, pero hoy en día están muy extendidos. Muchos tienen su razón de ser e incluso esa razón es de bastante utilidad para todos. Los bots más clásicos y tempranos son
Eliza, SmarterChild, Parry y SHRDLU; entre los más recientes se encuentran Racter, A.L.I.C.E o Jabberwacky
.
Los más avanzados, son programas capaces de mantener una conversación lógica e inteligente en un determinado idioma. Algunos de los más complejos están programados en C++, Delphi o similares, y otros más sencillos en Action Script, PHP, VBScript, etc... Incluso, algunos de ellos pueden ser consultados vía web. Existen muchos otros con amplia presencia en redes de IRC, donde son conocidos como
bots de charla o bots de chat.

HiStOrIa

Los robots de charla existen desde hace mucho. El primero de los cuales fue Eliza, que se empezó a desarrollar en el año 1966 por Joseph Weizenbaum, profesor de informática del MIT. En estos 40 años, la tecnología ha avanzado lo suficiente y aquel incipiente proyecto ha ido evolucionando y generando ramificaciones en otros tantos proyectos análogos.
Hoy en día existen una gran cantidad de chatbots. Algunos siguen una linea de evolución sobre la que se siguen realizando trabajos de investigación. Otros, en cambio, se suministran como servicios adicionales que intentan hacer la vida de los usuarios algo más sencilla.
Existen muchos más de los que se citan a continuación. En los comentarios podéis señalarme algunos más e intentare incluir enlaces a sus respectivas páginas Web.

VaRiOs TiPoS

ALICE (Artificial Linguistic Internet Computer Entity)Alice es un chatterbot promovido por la ALICE Artificial Intelligence Foundation cuya finalidad principal es la de promocionar la adopción del software de ALICE y del Software Libre AIML (Artificial Intelligence Markup Language).
A diferencia de otro software comercial que tiene unas limitaciones de uso muy restrictivas y que tienen un coste de algunos miles de dólares, el software de ALICE está disponible bajo los términos de la licencia
GNU General Public License (usada por GNU/Linux y otros tantos miles de proyectos de sofware). Esa es la razón por la que cientos de personas de todo el mundo contribuyen al avance del Proyecto ALICE. Para entrar a formar parte de la comunidad de programadores de ALICE, nada tan sencillo como descargarse de forma totalmente libre (y gratuita) el software de este ingenio
.
Si lo que queremos es limitarnos a una simple conversación con ALICE (en inglés, of course) basta con visitar su pagina web (en la entrada de enlaces)
SAM, un hombre del tiempo especial
SAM es una nueva estrella mediática. Un hombre del tiempo algo distinto de los habituales.
En este caso, no estamos hablando de un bot conversacional al uso puesto que no es capaz de entablar una conversación. Solo habla. Por eso, más bien habría que calificarlo como robot parlanchín.
Podemos acceder a sus predicciones del tiempo a través de
la web de SAM
pero también en la TV y en el teléfono móvil.
Anna, un bot ayudante
Es la asistente de la web de ikea
En el caso de este bot conversacional, y a diferencia de lo que pasa con SAM, sí que permite mantener una mínima conversación. Se trata de un servicio de ayuda de la web de estos almacenes con un único objetivo: ayudar a los usuario a encontrar aquello que están buscando.
Stella, bibliotecaria virtual
Stella conoce al dedillo no sólo qué volúmenes forman parte del fondo bibliográfico de las bibliotecas de la Universidad de Hamburgo si no que, además, sabe el estado en que se encuentra un determinado libro. Sabe si está disponible o en préstamo y, en ese caso, cual es la fecha prevista de devolución.
Se puede acceder a Stella a través de la
web del sistema de bibliotecas de la Universidad de Hamburgo
(únicamente en alemán).
Spleak, un bot conversacional vía chat
Se supone que
Spleak
es una estudiante de 21 años nacida en Avignon, Francia y que, actualmente, reside en Nueva York pero en realidad se trata de un bot conversacional que puede ser añadida a la lista de contactos del Messenger (o cual sea el programa que usemos) y que siempre está ahí.
Si queremos añadirla a nuestra lista de contactos, su dirección es spleak@hotmail.com.
Ms. Dewey
El caso de
Ms. Dewey
es parecido al de SAM no conversa. Sólo habla.
Se trata de un bot que tiene charla pero es incapaz de entablar una conversación. De hecho, este es un proyecto de Microsoft en el que la figura femenina de Ms. Dewey sólo tiene la finalidad de “amenizar” la espera de los resultados de la búsqueda solicitada Aunque, por lo menos a mi, más que entretener o amenizar la espera, lo único que consigue es ponerme nervioso.

¿cÓmO fUnCiOnAn?

¿cómo funciona el lenguaje? Una de las disciplinas de la IA es el estudio del lenguaje natural. Los lingüistas tratan de proveer una descripción general de cómo el lenguaje humano esta estructurado y basarlo en modelos teóricos y matemáticos.
La pregunta es ¿que dice la gente? La otra disciplina estudia la naturaleza del comportamiento como una explicación del proceso mental y la comunicación entre individuos.
¿Cómo funcionan?
La forma de responder de la mayoría de los chatterbots es simple y casi no ha cambiado desde la primera aparición de ELIZA: el programa busca patrones en la entrada del usuario y responde con salidas predeterminadas si el patrón coincide.
¿Cómo se implementan?
La mayoría de los chatterbots implementan un modulo de conversación como un conjunto ordenado de patrones de entrada en donde cada elemento posee un conjunto de posibles respuestas. Este modulo esta compuesto por:
Repuestas de alta prioridad: son las que se dan cuando hay una consulta común tal que los patrones clave se pueden resolver sin problemas.
Respuestas de baja prioridad: son aquellas respuestas que el robot debe conocer acerca de él mismo (¿donde vivís? ¿Quien te hizo? etc.).
Respuestas de disculpas: son las que se dan cuando no se encuentran las consultas ingresadas (continua…, ¿entonces?, ¿que quieres decir con eso? etc.).
Red de activación: es la codificación de la red de respuestas que se deben dar ante cierta tendencia de la conversación.
¿Cómo funciona la red de activación?
Es una especie de árbol donde cada nodo tiene los siguientes atributos:
Activación: cada nodo comienza con un nivel de activación que va de 0.0 a 1.0
Patrones: uno o mas patrones (con peso) son comparados con la entrada del usuario, si hay coincidencia, el nodo se activa por el monto indicado.
Respuesta: una línea de texto que se utiliza como respuesta si el nodo tiene el nivel más alto de activación.
Incremento: si este nodo es utilizado como respuesta, se incrementa el nivel de activación a todos los nodos nombrados en este atributo.
Inhibición: si este nodo es utilizado como respuesta, se disminuye el nivel de activación a todos los nodos nombrados en este atributo.
Estrategias y trucos de los programas
Dar la ilusión de escuchar: esto se logra incluyendo subcadenas de la entrada del usuario en la respuesta.
Admitir ignorancia: el programa puede decir “no lo se” como respuesta.
Cambiar de tema: por ejemplo preguntando ¿Por qué preguntas eso?
Declaraciones polémicas: como por ejemplo “la gente no tiene gatos” es una manera de arrastrar al usuario a la conversación que el programa quiere, en lugar de dejar que el usuario sea quien la elija.
Hacer chistes: es una forma de que el programa parezca más humano.
Estar de acuerdo con el usuario, a veces, es mejor que ser neutral.
Simular tipeo incluyendo retardos realísticos entre caracteres, imitando el ritmo de escritura de una persona.

¿PaRa QuÉ sE uTiLiZaN?

Hoy en día los chatterbots están siendo utilizados en muchas páginas web de compras y de comercio electrónico. Otros están funcionando como enciclopedias interactivas parlantes. Se pueden encontrar también administrando canales de IRC actuando como moderadores con habilidad, incluso de expulsar y banear usuarios. Pero en la actualidad, la mayoría de los chatterbots son un experimento de cómo engañar a las personas haciéndolos creer que la computadora puede pensar.

MáS aCtUaL

En el año 2005, Microsoft y Colloquis Inc. (empresa de automatización conversacional radicada en Silicon Valley), pusieron en funcionamiento un roBOT conversacional para Encarta. Después de la experiencia con SmarterChild, decidieron dar un paso adelante produciendo un bot cualitativamente más complejo y capaz de aprender (a un nivel aún bastante básico). Además, a la complejidad conversacional e intelectual se añadió la posibilidad de interactuar en diferentes idiomas, incluido el español.
Finalmente, decir que la dificultad de su programación hace que conseguir algo decente suponga una gran inversión de recursos. Sin embargo, la mejora en el desarrollo y modulación tanto de las librerías de vocabulario, como de los algoritmos de inteligencia artificial, están simplificando la elaboración de estos bots. De esta manera, se estima que para el año 2010 la producción de estos bots llegará a ser tan común, que incluso cada persona podría contar con un bot personalizado a sus necesidades. No olvidemos que tienen muchísima utilidad a la hora de dar información rápida acerca de un sistema o zona, y que se pueden convertir en auténticos especialistas en materias muy concretas, debido a la capacidad de aprendizaje que incorporan algunos de ellos.
Aún así, a día de hoy, no se ha conseguido crear un bot que sea capaz de mantener una conversación lógicamente humana, debido a que carece de lo más importante, conciencia de sí mismo.