Facultad de ingenieria escuela de ingenieria de sistemas departamento de sistemas computacionales



Descargar 34.77 Kb.
Fecha de conversión20.02.2017
Tamaño34.77 Kb.
UNIVERSIDAD DE LOS ANDES

FACULTAD DE INGENIERIA

ESCUELA DE INGENIERIA DE SISTEMAS

DEPARTAMENTO DE SISTEMAS COMPUTACIONALES

EDUMATICA

c:\users\jannine ramírez c\dropbox\luis felipe\teleclase 2 - informe 2\imagenes\phenom-chatbots-631.jpg

Dora y los Humanos Virtuales


Grupo 3
Antunes, Luis Felipe C.I. 16.861.589 EDU015

Ramírez, Jannine C.I. 17.266.043 EDU008

Mérida, 2012

Análisis Crítico sobre Dora y sus funcionalidades
DORA ... la computadora parlanchina

DORA es un pequeño chatbot compuesto por tres interfaces distintas, Dora Aprende y Recuerda, Dora Escribe y Dora Habla. Cada una de estas tiene funcionalidades específicas.



  • Dora Aprende y Recuerda

Estamos frente a un sistema donde la interfaz usuario/software es bastante complicada inicialmente, no es intuitiva en el uso y su objetivo. No es demasiado fácil determinar si es un chatbot como tal.

Su objetivo básicamente es guardar y buscar cadenas de texto en distintas categorías predefinidas. El usuario que interactúa puede elegir entre guardar, buscar o ver toda la lista de frases guardadas hasta el momento. El mecanismo de guardado es bastante ineficiente, no consulta si la frase a guardar ya está almacenada y por ende puede guardar más de una vez la misma. El proceso de búsqueda está un poco más depurado pero las frases a buscar deben ser ingresadas en minúsculas, de otra forma no funcionara.



  • Dora Escribe

Esta interface si entra un poco más en la categoría de la definición de chatbot, su funcionamiento es simple, intenta tener una conversación "fluida" con el usuario. Es evidente que tiene cierta lógica en estructuras gramaticales, verbos, tiempo gramaticales, sujetos, etc. Pero muchas de sus interacciones son incoherentes, que responden más a algo aleatorio que a la lógica de la conversación. Su base de datos del idioma es bastante pequeña.

Fallos muy puntuales como pueden ser si el usuario repite una misma palabra en dos frases seguidos Dora lo asume como si repitiese la misma frase podrían ser corregidos fácilmente. Es fácil deslumbrar que es una versión aún muy cruda de un chatbot, tiene carencias específicas pero es una buena versión preliminar a desarrollar.



  • Dora Habla

Esta quizás la versión más disfuncional de DORA, la interacción con el usuario es nula, solo se limita a reproducir una frase predefinida aleatoriamente sin ninguna relación, además es bastante notorio que su lista de frases es muy limitada. Los archivos de sonidos reproducidos cuando Dora "habla" están pregrabados, si ampliáramos su base de datos de frases esto sería un problema, sería más recomendable usar un sintetizador de voz y género el archivo de audio al momento de reproducir la frase.

Al ser la interacción nula implica que no hay ningún mecanismo que maneje las frases del usuario y mucho menos la lógica gramatical. No es realmente un chatbot, no hay una base para desarrollar.



Chatbot

Es un software diseñado para simular una conversación inteligente con uno o más usuarios humanos a través de audio o texto. El término chatterbot fue ideado por Michael Mauldin, creador de un programa simulador de conversación, para describir su programa en 1994.Cada programa tiene una “personalidad específica” y todos tienen como objetivo superar el test de Turing.



c:\users\jannine ramírez c\dropbox\teleclase 2 - informe 2\imagenes\banner-chatbot-bajate.png
c:\users\jannine ramírez c\dropbox\teleclase 2 - informe 2\imagenes\7513386714_d2477369f7.jpg
c:\users\jannine ramírez c\dropbox\teleclase 2 - informe 2\imagenes\chatbot-725752.jpg
c:\users\jannine ramírez c\dropbox\teleclase 2 - informe 2\imagenes\chatbots2010.png



De las múltiples referencias a varios chatbots publicados sin duda alguna que nuestro favorito es Cleverbot (http://cleverbot.com/). Sus respuestas en lenguaje natural y su IA basado en la memoria y aprendizaje lo convierten en uno de los chatbots más avanzados hasta el momento.c:\users\jannine ramírez c\dropbox\teleclase 2 - informe 2\imagenes\cleverbot.png
c:\users\jannine ramírez c\dropbox\teleclase 2 - informe 2\imagenes\w226020805.jpg



No es casualidad nuestra elección, de hecho en un reciente estudio del Techniche festival in Guwahati en la India, 59.3% de los encuestados creían estar conversando con otro humano al mantener conversaciones con Cleverbot. El muy conocido test de Turing.c:\users\jannine ramírez c\dropbox\luis felipe\aty.logo5_5.jpg



Cleverbot es capaz de interactuar con el usuario, logrando mantener una conversación realista, ingeniosa, estable y con sentido, tomando como referencia conversaciones anteriores, y eligiendo respuestas apropiadas a los comentarios que se le hacen. Manejas los idiomas Inglés, Español, Alemán, entre otros.

Es interesante que tenga una gran diversidad de temas de conversación y que puedas recibir de él respuestas como si fuera un humano. Si le escribes en español e inglés en el mismo chat responde sin presentar inconvenientes.

Desarrollado por Rollo Carpenter, Cleverbot extrae conclusiones sobre el modo en que nos comunicamos partiendo exclusivamente de una base de datos con más de 20 millones de conversaciones almacenadas extraídas de chats, hilos de comentarios, etc… Los resultados son aún muy limitados pero es de esperar que mejoren sustancialmente a medida que el aprendizaje siga avanzando. Se basa en Elisa, un ancestral robot Madre de todos los sistemas de inteligencia artificial que conocemos como Siri en Apple, Iris de Android, Dr. Abuse, entre otros. Tiene la particularidad de guardar las respuestas de los usuarios, recordar personas, sus gustos y características además de situaciones. Cleverbot acumula ya una larga trayectoria: obtuvo la segunda posición en el Loebner Prize for chatterbots (2005, 2006) y proviene de una serie de desarrollos previos del mismo autor, pero su principal baza, el aprendizaje autónomo, le ha permitido progresar más allá de los resultados obtenidos por aquel entonces.c:\users\jannine ramírez c\dropbox\teleclase 2 - informe 2\imagenes\iris.jpg
c:\users\jannine ramírez c\dropbox\teleclase 2 - informe 2\imagenes\iris_android.jpg
c:\users\jannine ramírez c\dropbox\teleclase 2 - informe 2\imagenes\iphone-siri.jpg



Funciona escribiendo el texto en la caja de búsqueda y esperando que te responda. Es gratuito y no requiere registro. Lo interesante aquí es que el robot está aprendiendo continuamente a diferencia de otros robots como Dr. Abuse que simplemente tienen un listado con miles de frases pre-fabricadas.




Análisis CRÍTICO de Dr. Abuse
Dr. Abuse es un programa de Inteligencia Artificial que demuestra apariencia humana. Se trata de un robot de charla con el que puede mantener una conversación divertida y más o menos inteligente. Ha sido entrenado en cientos de conversaciones con usuarios humanos o robóticos a través de Internet y otros.c:\users\jannine ramírez c\dropbox\teleclase 2 - informe 2\imagenes\banner.png



  • Instalación

Su instalación realmente es muy sencilla y rápida. Quizás gráficamente este un poco rezagada con los estilos visuales de los sistemas operativos actuales pero es funcional.


Es bastante intuitiva y no dista mucho del proceso de instalación de cualquier software popular. Un punto negativo podría ser que dependa de que el sistema operativo tenga instalados sintetizadores de voz apropiados. Estos tienen que ser instalados por separado, algo que vuelve la instalación engorrosa para un usuario novel y más aún si no cuenta con ellos en el momento. Sería muy apropiado incluirlos en el mismo instalador de Dr. Abuse y que tras una simple verificación se proceda a instalarlos automáticamente.
No olvidemos que hablamos de software con una antigüedad de por lo menos 10 años, debemos ser conscientes de sus limitaciones graficas u operativas.



  • Análisis

Apenas empezamos a interactuar con este chatbot salta a la vista que posee un muy buen mecanismo de análisis léxico y sintáctico. Su lógica gramatical es muy correcta y en un análisis inicial tu base de datos de frases y palabras es bastante extensa. Puede seguir la lógica de una conversación sin mayores problemas y sus preguntas son bastante coherentes y sin duda su personalidad está bien definida en un terapeuta o psicólogo. Sus temas de conversación al parecer giran mayormente en la autoayuda o temas similares. Es capaz de "reconocer" el estado del ánimo del usuario y responderle de acuerdo a este, si conversa de forma divertida él le responderá de forma divertida, de igual manera si lo hace de forma desganada, inteligente, etc.


Este chatbot es capaz de recordar datos de sus usuarios como su nombre o un tema en conversación. Todo esto de forma muy natural sin la desagradable sensación de estar leyendo/escuchando respuestas al azar. Otro aspecto muy positivo es la capacidad de resolver operaciones matemáticas y ejecutar ordenes sencillas, indudablemente es un predecesor de asistentes virtuales de gran calidad como SIRI, el asistente personal de Apple.
Es capaz de aprender nuevas palabras y frases interactuando con el usuario.
Un punto negativo podría ser que en determinados momentos cambia de tema sin mucha lógica, pero no es algo que sea muy frecuente. Sumado a esto podría decirse que al ser un chatbot local sin una base de datos global en la nube (internet) el aprendizaje se hace de forma aislada sin capacidad de compartirlo. Si se hubiese seguido actualizando y desarrollando pequeños errores como estos serían corregidos y se podría desarrollar más la "inteligencia" del programa. En conclusión es un chatbot bastante recomendable y un ejemplo de desarrollo y superación de los principales obstáculos a la hora de desarrollar un humano virtual.

c:\users\jannine ramírez c\dropbox\teleclase 2 - informe 2\imagenes\dr-abuse-16.jpg


Diseño e Implementación de un Chatbot
Tomando en cuenta los grandes recursos que nos brinda Internet en la actualidad, diseñar e implementar un chatbot propio se ha vuelto algo no tan complejo. Debemos ser conscientes que una implementación desde cero es prohibitiva en cuanto a coste, tiempo y esfuerzo por lo que resulta más sensato, es tomar la ayuda de comunidades de desarrolladores dedicados específicamente a chatbots, ya que el nivel de desarrollo será muy maduro y serán programas bien depurados.
En las salas de chat del viejo sistema Mirc aparecieron los primeros chatbots, en estas salas siempre habían unos usuarios que estaban todo el día conectados o buena cantidad de horas , no eran usuario, eran pequeños programas llamados bots encargados de sacar la sala a los usuarios que insultaban o decían cosas inapropiadas. Detectaban frases inapropiadas o frases que estaban precargas en la base de conocimiento del bot. Es así que si un usuario repetía un carácter indefinidamente era echado, lo mismo ocurría si el usuario insultaba o usaba términos incorrectos. De ese tiempo hasta hoy se ha avanzado mucho.
Lo principal de cualquier robot y particularmente de un robot virtual es la base de conocimientos que posea. Utilizando su base de conocimientos un robot podrá responder más preguntas. Crear una base de conocimientos puede llevar mucho tiempo, de hecho tanto como el que lleva capacitar a un ser humano. ¿Cuánto tiempo lleva para que una persona se desarrolle y sea capaz de contestar sobre los más variados tópicos? 15 - 20 años. Aprovechando la ley de aceleramiento de los resultados donde el trabajo en colaboración permite aumentar los tiempos de desarrollo exponencialmente, crear la base de conocimientos puede llevar mucho menos tiempo por la sencilla razón de que ya hay base de conocimientos disponibles para que un robot pueda llevar una charla común sin mayores sobresaltos. Desdichadamente la mayoría de las bases de conocimiento más completas están en inglés. Porqué hay solo base de conocimiento en inglés, por la sencilla razón de que el inglés es un idioma mucho más sencillo que el castellano y por tanto el desarrollo e implementación será mucho más simple.
La inmensa mayoría de los chatbots se desarrollan en AIML (Artificial Intelligence Mark-up Language) que es un lenguaje de programación basado en XML. Fue diseñado específicamente para ayudar en la creación de la primera entidad chatbot informática de lenguaje artificial online o A.L.I.C.E. (Artificial Linguistic Internet Computer Entity Chatterbot). Aunque descrito muy ampliamente, el lenguaje AIML está especializado en la creación de agentes software con lenguaje natural, conocidos como Alicebots. 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 Themost 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, y es nuestra elección para implementar nuestro propio chatbot.
c:\users\jannine ramírez c\dropbox\teleclase 2 - informe 2\imagenes\pandorabots.png
c:\users\jannine ramírez c\dropbox\teleclase 2 - informe 2\imagenes\aiml2010.png
c:\users\jannine ramírez c\dropbox\teleclase 2 - informe 2\imagenes\howaimlworks.jpg

Pandorabots es un proyecto de código abierto, basado en una comunidad web de usuarios que le permite desarrollar y publicar chatbots en la web. Es la comunidad más grande chatbots de Internet. 166.000 desarrolladores han creado más de 206.000 "pandorabots" (chatbots) en múltiples idiomas. Hasta Junio 2012, más 1.5 mil millones de interacciones en conversaciones han ocurrido entre clientes y "pandorabots" y este número crece rápidamente. Pandorabots se han adaptado a casi todos los nichos en Internet, aparece en las páginas web, en la mensajería instantánea, correo electrónico y mensajes en foros. Se pueden encontrar en SecondLife, en los juegos online y en redes sociales como Facebook y Twitter. Cada vez más pandorabots están apareciendo en las aplicaciones móviles y mensajes de texto. http://t0.gstatic.com/images?q=tbn:and9gcsugrnbesd4pqpcomn2vvtwitd5sfy4qvod8uciv9fo4ivvq5k_k-8585jaxg
http://cdn.inteldig.com/wp-content/uploads/2012/10/facebook-twitter-logo-combo.png
c:\users\jannine ramírez c\dropbox\teleclase 2 - informe 2\imagenes\0.png

Basta crear una cuenta gratuita y podremos crear nuestro chatbot basado en un chatbot genérico que ya tiene desarrollados mecanismo complejos como análisis del léxico, análisis de palabras clave y análisis sintáctico. Además de contar con una enorme base de datos, aportado por miles de usuarios. Una vez creado podremos entrenar a un chatbot para nuestros objetivos específicos, tarea que nos reducirá el tiempo en desarrollo y nos facilitara el trabajo ya que el bot solo necesitara el tipo de pregunta específica al cual darle una repuesta sin ninguna utilización de código. Por lo cual en el momento de una consulta con un experto podremos modificar nuestro bots de forma sencilla en el momento de escoger un tema. Podremos ver el código generado y modificarlo a nuestro gusto, utilizando html, javascript, etc. Se pueden adecuar un número de patrones para que nuestro bot responda a las respuestas de diferentes modos de acuerdo a la jerga especializada.


Otras opciones de una implementación rápida y sencilla seria ThePersonalityForge (http://www.personalityforge.com/)


La base de datos está protegida por derechos de autor ©bazica.org 2016
enviar mensaje

    Página principal