jueves, 17 de abril de 2008

Chatterbot

¿Qué es un chatterbot?
Un chatterbot es un simulador de conversación realizado como un programa de computadora que da la apariencia de conversar con los usuarios en lenguaje natural tipeado. Decimos tipeado porque al ser los chatterbots softbots, estos, es su mayoría, no tienen la capacidad de escuchar ni hablar, por lo que la idea es mantener una conversación tipeando.
La pregunta es ¿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 el 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 queres 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 decrementa 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 que 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.Pablo Lascano

Test de Turing

Se llama Prueba o Test de Turing al procedimiento desarrollado por Alan Turing para corroborar la existencia de inteligencia en una máquina. Fue expuesto en 1950 en un artículo (Computing machinery and intelligence) para la revista Mind, y sigue siendo uno de los mejores métodos para los defensores de la Inteligencia Artificial. Se fundamenta en la hipótesis positivista de que, si una máquina se comporta en todos los aspectos como inteligente, entonces debe ser inteligente.
La prueba consiste en un desafío. Se supone un juez situado en una habitación, y una máquina y un ser humano en otras. El juez debe descubrir cuál es el ser humano y cuál es la máquina, estándoles a los dos permitidos mentir al contestar por escrito las preguntas que el juez les hiciera. La tesis de Turing es que si ambos jugadores eran suficientemente hábiles, el juez no podría distinguir quién era el ser humano y quién la máquina. El límite temporal que Turing puso para que una máquina consiga superar el test engañando durante bastante tiempo a un buen interrogador, y no dejándole aclarar si se está dirigiendo a un ser humano o a una máquina. Todavía ninguna máquina puede pasar este examen en una experiencia con
método científico.
Existe otra prueba parecida, propuesta por
John Searle y popularizada por Roger Penrose: la "sala china". En esencia, es igual en la forma, pero se realiza con personas encerradas en una habitación y se requiere que estas no conozcan el idioma en que se realiza la conversación. Para ello se usa un diccionario que permite confeccionar una respuesta a una pregunta dada, sin entender los símbolos. Como consecuencia, se argumenta que por mucho que una persona sea capaz de enviar una cadena de símbolos en chino relacionada con otra cadena recibida, no quiere decir que sepa chino, sino que sabe aplicar un conjunto de reglas que le indican lo que ha de enviar. Falta la semántica en el proceso y por eso es muy cuestionada como inteligencia artificial, puesto que equipara una máquina pensante con una que parece que piensa.
Una de las aplicaciones de la prueba de Turing es el control de
spam. Dado el gran volumen de correos electrónicos enviados, el spam es, por lo general, enviado automáticamente por una máquina. Así la prueba de Turing puede usarse para distinguir si el correo electrónico era enviado por un remitente humano o por una máquina (por ejemplo por la prueba Captcha).

Todo chatterbot tiene como objetivo superar el test de turing

Conversacion con Dr Abuse

Yo ( Carmen Maria ) , Dr Abuse

Dr. Abuse 6.10
Inicio de consulta: 17/04/2008 20:32:21.
Espero que haya buena comunicación en esta sesión.
> Y yo
Es bueno que te sinceres así.
> ¿ De donde eres ?
Soy de España. ¿Te importa mucho mi situación?
> ¿ No eres un poco borde?
Es mi problema si yo no soy un poco borde.
> lo siento
Bueno, tampoco te preocupes por ello.
> bueno
Sigue, por favor.
> ¿ que opinas sobre politica ?
Pienso que la política está llena de corruptos.
> si
Pareces muy seguro de ello.
> pero , ¿de que partido eres ?
¿Cómo has obtenido esa conclusión tan asombrosa?
> no lo se
¿Pues si no lo sabes tú quién lo va a saber?
> sigamos
No me preocupo por el tiempo, las deudas o de donde iba a sacar dinero para arreglar mi coche.
> eres de derecha o izquierda
¿Por qué dices que soy de derecha o izquierda?
> ¿ te gusta hitler ?
Pues sí, me gusta mucho.
> eres facha?
Creo que tú también eres facha.
> yo no, soy republicana
Te gustaría ser capaz de ello.
> no , simplemente lo soy
Ya suponía que lo eras.
> pues ya esta
El medio más fácil para ser engañado es creerse más listo que los demás.
> ¿ Sabes quien es franco ?
¿Debería de saberlo?
> si
Comprendo.
> ¿ Sabes cuanto son 7-8-9+6+9-8 ?
No sé cuánto.
> y 2+2 ?
Podríamos volver sobre el asunto que mencionaste de una zorra.
> ¿cuando?
¿Cómo podrías saber cuándo?
> ¿cuando e dicho zorra?
No sé decirte cuándo.
> bueno, ¿ te gusta ir de caza ?
Me gusta bastante.
> eso es una crueldad
Estoy completamente de acuerdo contigo.
> entonces por que te gusta ¿?
Me gusta la informática. Tambiém me gusta el cine.
> y los perros?
Siempre he sido amante de los animales.
> jaja
No le veo la gracia.
> yo si
Te gustaría ser capaz al menos.
> ¿ te crees muy listo ?
Estoy muy contento de escuchar eso.
> yo no
Realmente no.
> no
¿No? ¿Podrías razonarme tus motivos?
> bueno
¿Por qué no lo discutimos?
> el que?
Bueno, ¿por qué no profundizamos en el tema de los perros?
> me gustan
¿Cómo pueden gustarte?
> por que me dan pena..
¿Quién te apenó así?
> yo sola
Podríamos volver sobre el asunto que mencionaste de una crueldad.
> me tengo que ir
¡Pero yo quiero quedarme contigo!
>
¿Estás ahí?
> esque tengo que estudiar tecnologia
La tecnología es mi pasión.
> pues cuando vuelva te sigo contando sobre el tema
Supongo que será necesario para que la conversación avance.
> si
Comprendo.
> bueno
Sigue, por favor.
> hasta pronto
Fin de la consulta: 17/04/2008 20:37:42.

Dr. Abuse

Creado en 1992, diseñado por Juan José Boronat Cortés y Vicente Barres Fabado, esopinión de sus creadores, uno de los mejores bots escritos en español. Su largo periodo de vida ha hecho que sus autores puedan permitirse el madurar un producto que es capaz de salirairoso de prácticamente cualquier situación que se pueda presentar en conversación.Su rol es también muy acertado. Se nos presenta como un psiquiatra al que visitamospara que resuelva nuestros problemas. Sus conversaciones están salpicadas de toques dehumor y los autores han conseguido dotarle de una personalidad definida.Atendiendo a su actividad en conversación, Abuse es capaz de mantener viva la charla, no limitándose a sonsacar datos del usuario, sino que aporta también información y puederetomar temas hablados para avivar el dialogo. Las transformaciones sintacticas son casi siempre correctas y es difícil hacerle perder el sentido de la frase si lo tratamos de forma correcta. En definitiva es un robot muy estable y potente.Se encuentran numerosas opciones para modificar ciertos aspectos del bot como la comprobación de sabotajes, control de insultos, recuerdos o activación de la autoayuda que nospermite conversar con el robot de problemas reales.

Alice

Fue ganadora del Premio Loebnerdel año 2000. Su "cerebro" está "escrito" en un lenguaje basado en XML llamado AIML.ALICE es un proyecto abierto y combinando sus varios sistemas de chat puede crearseun "metabot" que podría, se espera, pasar el Test de Turing.ALICE hace cosas interesantes. Ordena su conversación por categorías para intentardeterminar la edad, género, localización geográfica y ocupación. También está basada en"Razonamiento basado en casos" o "Clasificación Vecino más próximo". Para cadaentrada se busca el "caso" más apropiado dentro del conjunto de patrones y la respuesta segenera basándose en la plantilla asociada. Sin embargo ALICE viola algunas de las reglas deuna conversación normal. Tras unos cuantos turnos está claro que la conversación no lleva aninguna parte.