DORA Y LOS HUMANOS VIRTUALES http://www.chatbots.org/gallery/ Por: Darcy Zerpa EDU013 y Antonietta Peña EDU006 (Grupo #5). Edumática 2012. Chatbot o Humano Artificial ¿Qué es? Un chatbot o Humano Artificial es una entidad artificial que mantiene una conversación con un humano. El objetivo es interactuar, de tal forma que las personas tengan la impresión de estar conversando con otra persona y no con un programa. Figura 1. Robot con comportamiento humano Imagen tomada de http://www.hannaharendtcenter.org/?p=7947 Chatbot o Humano Artificial ¿Cómo lo hace? Después de la entrada emitida por el usuario en lenguaje natural, el programa revisa en su base de datos para luego dar una respuesta que intenta imitar el comportamiento humano. La acción de decidir la respuesta que va a dar al usuario está sujeta a un conjunto de leyes que se implementan en su algoritmo. Utiliza estadísticas para ello. Figura 2. Computadora que piensa Imagen tomada de http://migo.sixbit.org/papers/AI_and_Perl/presentation.html Rol de los chatbots Chatbots Sociales • Su propósito es conversar libremente acerca de algo con cualquier usuario, así como lo haría con un amigo. Son usados en línea para entretenimiento. Chatbots Educacionales • Su propósito es ayudar a aprender acerca de algo, como unnuevo lenguaje, historia, geografía, etc. Son usados en las escuelas. Chatbots Orientados a Servicios • Estos generalmente son utilizados por empresas que ofrecen servicios en línea. Su propósito es ayudar a los clientes a encontrar el camino en el sitio web, así como contestar preguntas acerca de sus productos y servicios Ejemplo: Conversación entre dos chatbots Video 1. Conversación entre dos chatbots o humanos artificiales tomado de: http://www.youtube.com/watch?feature=player_detailpage&v=jIRg93qa7Gw Dora y sus Funcionalidades Dora es un chatbot o humano virtual cuyo objetivo es establecer una conversación con un humano de forma escrita o hablada. El idioma utilizado es únicamente el español. Figura 3. Dora Imagen tomada de: http://edumatica.ing.ula.ve/Teleclases/Tecnogogia/Dora%20y%20Chatbots/Dora/INDEX.HTM Dora y sus Funcionalidades Dora interactúa de tres formas Dora Aprende y Recuerda • Sección en la cual interactúa incorporando frases y preguntas a su base de datos incorporadas por el usuario Dora con Lexemas • Es la forma en que Dora interactúa con una conversación escrita Dora con Fonemas • Es la forma en que Dora interactúa con una conversación en la que ella responde mediante fonemas (sonido) Dora y sus Funcionalidades Observaciones No identifica género de la persona con la que conversa Muestra algunas inconsistencias en respuestas, parecieran aleatorias. Cuando el programa falla puede leerse el código fuente. Suele fallar cuando se pregunta dos veces consecutivas una misma pregunta Figura 4.1. Dora conversando 1 Imagen tomada de: http://edumatica.ing.ula.ve/Teleclases/Tecnogogia/Dora%20y%20Chatbots/Dora/INDEX.HTM Dora y sus Funcionalidades Observaciones: Ante preguntas repetidas, no da indicio de haber preguntado lo mismo anteriormente Dora es un poco descortés En síntesis, Dora interactúa, mantiene una conversación con un humano pero no cumple en su totalidad el objetivo de un chatbot de confundirse con un humano al conversar Figura 4.2. Dora conversando Imagen tomada de: http://edumatica.ing.ula.ve/Teleclases/Tecnogogia/Dora%20y%20Chatbots/Dora/INDEX.HTM Dora y sus Funcionalidades Un mejor ejemplo de un chatbot corresponde a Susan, que en medio de la conversación, preguntándole cuantas frases almacenadas tiene respondió “alrededor de 14300 palabras y 21200 categorías”. Consta de una base de datos con verdades como la siguiente “I am aVirtual Human.Virtual Humans, also called chatbots, are intelligent computer driven personalities. Companies use them as website hosts, individuals use them as personal assistants, and people interact with them in computer games, educational applications, and many other areas” que suele emplear cuando se le pregunta al respecto. Además sus respuestas suelen ser consistentes con lo que se le pregunta. El idioma en que conversa es solamente el inglés. Fuente: http://www.susancalvin.org/index.php/talk-with-susan.html Figura 5. Susan Imagen tomada de: http://www.susancalvin.org/index.php/talk-with-susan.html Referencias Sugeridas Dentro de las referencias sugeridas se eligió el enlace: http://www.chatbots.org/conversational _agent/ Conversational Agent - a program that acts on behalf of humans and chats debido a que contiene una recopilación de diversos ejemplos de agentes conversacionales, utilizados con fines comerciales, de entretenimiento, de búsqueda, de respuesta a preguntas frecuentes y educacionales, entre otros. Así como una lista bastante amplia de desarrolladores, trabajos, libros y revistas sobre los mismos. Dr. Abuse Dr. Abuse es un programa interactivo capaz de mantener un nivel de conversación un poco inteligente con fines de entretenimiento. Sus funcionalidades más potentes son quizás la síntesis de voz y la capacidad para memorizar frases y citas. Además permite conversar sobre problemas personales ya que está diseñado para dar ayuda sicológica sencilla. Sin embargo se observó que en el modo de Autoayuda no resulta tan útil porque no siempre es capaz de entender lo que decimos y en estos casos tiende a cambiar de manera drástica el tema de la conversación Figura 6. Dr. Abuse Imagen tomada de: http://www.programasxd.com/dr-abuse/ Dr. Abuse La instalación resulta bastante sencilla, se trata de descargar el instalador y luego ejecutar el archivo. Es suficiente con aceptar las condiciones de cada paso para que la instalación sea correcta. Además para responder mediante voz sintetizada, necesita tener instalado en el siguiente orden: Microsoft Speech API 4.0a. y L&H TTS3000 Español. Dr. Abuse se puede utilizar para ejecutar programas, navegar por la web, enviar correo electrónico, realizar operaciones matemáticas sencillas o científicas, ... , por medio de sentencias sencillas y también es capaz de reconocer los programas que se utilizan con frecuencia. Figura 6. Dr. Abuse Imagen tomada de: http://www.programasxd.com/dr-abuse/ Dr. Abuse Resulta bastante interesante la posibilidad que ofrece Dr. Abuse de cambiar el nivel de inteligencia del programa y por otro lado, permite personalizar las conversaciones, como limitar el número de frases por conversación, escoger entre una voz femenina y masculina, así como un nombre para el Dr. y el propio. El programa aumenta su base de datos a partir del uso de las sentencias: "Entrenamiento on" o "Entrenar on" "Entrenamiento off" o "Entrenar off" y tiene palabras reservadas (claves) relacionadas con conceptos que pertenecen a su base de datos, así que no es posible relacionar estas claves con nuevos conceptos de interés. Figura 7. Dr. Abuse Imagen tomada de: http://tux2k.cuautitlan2.unam.mx/despertarum/revista02.pdf Cómo diseñar e implementar un Chatbot • Los principales tipos de chatbot son aplicaciones de Chatbot autónomo y chatbot web. Ambos son aplicaciones independientes, donde el chatbot se ejecuta en un único equipo o en servidor remoto, este último queda disponible a través de una página web. Generalmente, El chatbot autónomo incluye una interfaz y un avatar para mejorar la interacción y permite controlar ciertos programas del computador. El chatbot web por su lado, es mucho más simple, pues se trata de una página web en blanco con un formulario que es la única interfaz entre el usuario y el chatbot, aunque también incluye la opción de mejorar esta interfaz. Figura 7. Galería de humanos virtuales Tomado de:http://www.chatbots.org/gallery/ Cómo diseñar e implementar un Chatbot Básicamente funcionan buscando palabras claves en la frase de entrada. Estas palabras claves están asociadas a conjuntos de reglas que sirven para descomponer la frase original y armar una respuesta. Cuando el chatbot no tiene reglas asociadas o no encuentra palabras claves, arma una respuesta acerca de alguna frase dicha anteriormente por el usuario. Los algoritmos principales, son ELIZA y AIML. Figura 7. Galería de humanos virtuales Tomado de:http://www.chatbots.org/gallery/ Cómo diseñar e implementar un Chatbot ELIZA simula para darle continuidad a una conversación como si la estuviese siguiendo.Y de esta manera evalúa el contexto. AIML funciona básicamente con una lista de frases patrón y cuando una frase de entrada del usuario coincide con uno de esas frases patrón se devuelve la respuesta asociada a ese patrón Existen técnicas híbridas, donde por ejemplo se evalúa el contexto y se le agrega la lista de frases de patrón para generar resultados más efectivos. Fuente: http://laboratorios.fi.uba.ar/lsi/p-jmfernandez-proyectodetesis.htm Figura 7. Galería de humanos virtuales Tomado de:http://www.chatbots.org/gallery/ Cómo diseñar e implementar un Chatbot El siguiente enlace contiene un par de opciones para la creación de un chatbot personalizado, incluyendo las ventajas y desventajas de cada opción. http://www.chatbots.org/ai_zone/viewthread/492/ HowTo CreateYour Own Customised Chatbot For Beginners - Chatbots 101 | New to Chatbot programming | Development | AI Zone - AI Forum for chat bot, virtual agent, virtual assistant, virtual human, chatbot & chatterbot developers FIN