Procesamiento del lenguaje natural C\ Sanchidrin, 28-1. 28224 Madrid, Espaa, arturoch@airtel.net Julio Vias Setin Procesamiento de lenguaje natural C\ Liverpool, 11. 28922 Madrid, Espaa, juliovs@airtel.net Sergio Oa Agera Procesamiento de lenguaje natural Plaza Hospital Civil, 7. 29009 Mlaga, Espaa, soa@airtel.net
ChatBot desarrollado usando procesamiento del lenguaje natural basado en el conocimiento (expresado mediante patrones).
1. Introduccin. Como definicin ms general, podemos decir que un bot de charla es un programa que pretende simular una conversacin escrita, con la intencin de, al menos temporalmente, hacerle creer a un humano que est hablando con otra persona. Ms que un problema, el objetivo al que se intenta llegar es desarrollar un chatbot que imite el comportamiento de un ser humano, de tal manera que d la impresin de ser inteligente. La idea es hacer creer al usuario que est hablando con una persona de verdad. Tras realizar un estudio sobre los proyectos actuales ms importantes, podemos decir que todava est muy lejano el da en que un chatbot consiga pasar el Test de Turing 1 . Este test es muy sencillo. Se coloca a una persona en un lugar no visible y, entonces, ste habla con el chatbot; si esta persona no encuentra diferencia entre el chatbot y un humano, entonces es que hay Inteligencia Artificial en el chatbot. Por tanto, pasa el Test de Turing 1 . La gran mayora de los chatbot desarrollados hasta el momento analizan los patrones de dilogo empleados por su interlocutor humano, para luego buscar una respuesta adecuada. Por ello, aunque no entiendan lo que se les est diciendo, pueden analizar la frase y presentar una respuesta totalmente lgica e incluso sensible. Por ejemplo, al afirmarse "no me gustan los gatos", el chatbot puede responder "por qu no te gustan los gatos?". Otro aspecto importante en los proyectos actuales es que stos se sirven de una base de conocimiento previamente codificada; aunque
1 Test de Turing: en honor de Alan Turing (1912- 1954), renombrado matemtico considerado por muchos como el fundador de la ciencia informtica, quien en 1950 propuso el test original en su tesis sobre "Maquinaria e Inteligencia Informtica" algunos resaltan ms que otros debido a que pueden aprender trminos nuevos a medida que conversa con la persona. El proyecto Alice-Esp que vamos a desarrollar va a analizar los patrones de dilogo empleados por el interlocutor humano, para dar una contestacin coherente. Nuestro chatbot ser el resultado de la modificacin, ampliacin y/o traduccin de las funciones y/o la base de conocimiento de un chatbot existente que es totalmente funcional y ha sido galardonado con el Loebner Prize 2 , en 2000 y 2001.
2. Descripcin del problema. Como ya se ha comentado en la introduccin, el objetivo del proyecto a desarrollar no es realmente solucionar o evitar un problema, sino que es ms bien, intentar simular el comportamiento humano en una conversacin con una persona. Pero como tambin se ha dicho, lo vamos a hacer partiendo de la base del Alicebot el cual esta funcionando en ingles y algunos otros idiomas como portugus, coreano, alemn ruso, y queremos conseguir que haga lo mismo pero en castellano. El resultado ptimo es que la persona no se d cuenta que est hablando con una mquina. Por tanto, en otras palabras, el objetivo es replicar la inteligencia humana en una mquina con el fin de conversar con una persona: Inteligencia Artificial. Como no se trata de ser demasiado pretenciosos, lo que no se intentar es solucionar todos los problemas (en lo referente al lenguaje natural) que ha lo largo de la historia han intentado solucionar mucho desarrolladores y que aun esta sin conseguir. Por lo tanto podemos resumir nuestro resultado al Problema como: Conseguir una versin de A.L.I.C.E. que se desenvuelva correctamente en castellano y que lo haga, en por lo menos un dominio concreto ya que hacer esto para cualquier dominio del lenguaje es proponerse metas demasiado lejanas. El dominio que se ha escogido parece en principio un poco delicado, el Sexo, pero cuando uno se para a pensarlo bien, se puede dar cuenta de que las conversaciones referente a sexo dentro de un canal de charla, son bastante parecidas entre si, y en principio, el conocimiento que necesita el bot es menor que muchos otro temas o dominios. Es cierto debemos decir que no se trata de un tema reducido por decirlo de alguna manera y que probablemente el bot no funcione con tanta precisin cuando una conversacin en particular pase a asuntos que no son los clsicos.
3. Trabajo relacionado. Realmente todos los trabajos de los que se hablarn en este articulo, incluyendo el nuestro, se pueden considerar aspirantes a ganar una carrera, pero se trata de una carrera un tanto especial, ya que el objetivo es hacer un sistema inteligente con el que se pueda conversar al igual que se hara con una persona normal, sin que se note, a priori, ninguna diferencia. Esta carrera aun no ha llegado a su fin y no se puede decir cuando llegar y ni siquiera si lo har o no, pero lo que si esta claro es como comenz. El principio de todo esto est en el ya mencionado test de turing [Turing 50], con lo que Turing llam el juego de la imitacin (the Imitation Game) y con lo que pretenda responder a la pregunta de si las maquinas pueden pensar. Otro de los pasos importantes lo dio Hugh Loebner en 1991, con la creacin del premio de su mismo nombre y que ya se ha comentado anteriormente, pero antes de esto nos encontramos con el primer sistema y pionero en el campo de los chatbots, Eliza [Weizenbaum 76], que fue el primer programa realizado de este tipo. Era un chatbot funcional para el mbito de la psicologa, el cual fue creado en 1980 por Joseph Weizenbaum y consigui que las personas le contarn sus problemas igual que si estuvieran hablando con un psiclogo. Eliza, no ha sido solo el primero de los chatbost, sino que es el pilar fundamenta para casi todos ellos, ya que se basan principalmente en la creacin de patrones que simulen el comportamiento humano. Junto con Eliza cabe destacar la creacin de PARRY [Colby 75] que se trataba de un bot que en este caso se pona en el lado opuesto de Eliza, ya que trataba de simular paciente paranoico, este bot se evalu mezclndolo con tres pacientes que realmente tenan dicha enfermedad y enfrentndolos a un medico de verdad. Hace unos aos, en 1995, el Dr. Richard Wallace escribi A.L.I.C.E. que es como ya hemos dicho el bot a partir del cual vamos a realizar nuestro trabajo de adaptacin al castellano. El desarrollo de A.L.I.C.E. empez en su primera versin, usando, SETL (lenguaje basado en lgica matemtica y un conjunto de teoras). A partir de este primer intento se desarrollo lo que se denomin Program A que fue la primera versin de A.L.I.C.E. usando AIML (Artificial Inteligen Markup Language) y Java. El siguiente paso de este bot fue el Program B en el que ya intervinieron alrededor de 300 desarrolladores y donde AIML evolucion a una gramtica procedente de XML, esto ocasion el desarrollo de editores y herramientas para la gestin de AIML, y fue con esta versin con la que se gan el Loebner Prize en 2000. A partir de aqu se crearon otras dos versiones de A.L.I.C.E., el Program C (que se desarrollo usando C/C++) y el Program D (basado en la tecnologa Java2). A partir de aqu se creo, en 2001 The A.L.I.C.E. AI Foundation cuyos objetivos son entre otros, la distribucin, promocin, desarrollo y mantenimiento de Alicebot y de la tecnologa AIML. Al tratarse de una organizacin sin animo de lucro, distribuyen sus recursos de forma gratuita para fines de investigacin y formacin. La ltima versin de la que hemos hablado, el Program D es la ms actual y aporta entre otros avances tres interfaces para el bot; en consola de comandos, IRC, y un Bot a travs de WEB con el siguiente aspecto.
Otro trabajo a destacar lo encontramos en TinyMud [Rheingold 91], el cual no es un bot pero se convirti en un entorno muy apropiado para probar este tipo de sistemas ya que se trataba de una especie de mundo virtual donde los usuarios participantes podan entrar a charlar sobre diferentes temas. Uno de los bot que se probo en este entorno y con buenos resultados fue un chartter bot desarrollado por la universidad de Carnegie Mellon, el cual cont con la ventaja de que ninguno de los participantes en las charlas conoca la existencia del bot, este bot se convirti ms adelante en Julia. Algo parecido al TinyMud pero mas actual y que actualmente se puede descargar y utilizar (ver referencias) es Spence's Virtual Bar y se trata de un irc que simula un bar donde los clientes pueden establecer conversaciones y claro est, ser atendidos por la camarera, Erin un bot cuyo tema principal de conversacin es el Rock & Roll.
Otros bot que se ha desarrollado son algunos como Theresa (cuyos principales temas de conversacin son la msica y la mitologa griega), Mimic (el cual aprende mientras se mantienen conversaciones con l), Brian (que gano el tercer puesto en el Loebner Prize de 1998), Mitbolel (bot que se puede descargar e integrarlo dentro de nuestra propia web), Robot Rock Critic (Confecciona crticas de discos y artistas que no existen), E.L.V.I.S. (chatbot de Elvis Presley), Jlaip (intenta replicar la personalidad del ex Beatle John Lennon. Es de suponer que la mayora de los chatbots estn preparados para realizar una conversacin en lengua anglosajona. A pesar de la supremaca de los chatbots en idioma ingles, tambin cabe destacar algunos chatbots desarrollados con el objetivo de establecer una conversacin en lengua castellana. Por ejemplo: Dr. Abuse (Basado en Eliza), el cual es uno de los mejores chatbots escritos en espaol en la actualidad. Se nos presenta como un psiquiatra al que visitamos para que resuelva nuestros problemas, aunque es capaz de salir airoso de prcticamente cualquier situacin que se pueda presentar en conversacin. Sus conversaciones estn salpicadas de toques de humor y los autores han conseguido dotarle de una personalidad definida. Vase, por ejemplo, la siguiente conversacin entre dos chatbots: Dr.Abuse y Kas. Abuse> Qu haces para sobrevivir? Kas> el instinto nos ayuda a sobrevivir. Abuse> Quin no necesita ayuda realmente? Kas> la belleza es muy superior al genio.no necesita explicacion Abuse> No explico nada. Kas> Absolutamente nada... Abuse> Pareces muy seguro de ti. Kas> Segurisimo? Abuse> Seguro, lo que es seguro, nadie lo est. Kas> estoy contigo. Abuse> Conmigo? Kas> Vaya... no he encontrado nada sobre conmigo en ese sentido del que hablas, me gustaria que me contases algo sobre ello para aprender. Abuse> No s mucho sobre el tema. Kas> aha.
Otro chatbot escrito en espaol es Zebal. La principal caracterstica de Zebal, es sin duda su gran capacidad para interactuar con "el exterior". Fue todo un acierto el dotar a Zebal de conexin a servidores IRC, lo que proporcionara adems a su autor de una fuente ilimitada de conversaciones con las que depurar la mente del robot. Esta interactividad con el medio se completa en sus ltimas versiones con otra gran idea, y es la de la posibilidad de acceder remotamente a bases de datos. De esta forma sus capacidades se ven mejoradas con un diccionario de 30.000 palabras o incluso la posibilidad de que Zebal recoja diversa informacin de Internet. En conversacin, Zebal es algo ms inestable a la hora de construir sintcticamente sus respuestas respecto al bot Dr. Abuse, aunque se defiende muy correctamente y nos ofrece un resultado ms que aceptable en nuestras charlas. Por ltimo destacar que en el mundo de los chatbot no solo se han desarrollado trabajos en ingles y algunas cosas en castellano como se ha comentado, sino que tambin existen lineas de investigacin en otros idiomas, como ejemplo de esto, tenemos a Eloisa (que se trata de un bot tal y como se ha dicho para mantener charlas en italiano). Por ltimo decir que muchos de estos bot son en principio de carcter general, es decir que no estn especializados en ningn tema en particular, mientras que otros si lo estn en temas como (Elvis, Musica, Rock and Roll, John Lenon, etc), pero ninguno de ellos esta especializado en Sexo que es el caso de Alice-EspX.
Z9b&l General Espao http://www.espasoft.net/fichas/zebal.shtml
J5lI& General Ingles http://www.lazytd.com/lti/julia/
EIh Rock & Roll Ingles http://www.extempo.com/webbar/index.html
MItb0l9l General Ingles http://www.romahi.com/yazann/Mitbolel/Mitbolel.html
MIflIC General Ingles http://www.thespoon.com/mimic/
BI&h General Ingles http://www.strout.net/info/science/ai/brian/
D Ab5S9 Psicologa Espao http://www.ctv.es/USERS/jboronat/drabuse.html
Th99S& Musica Ingles http://www.oz.com/ov/agents/main_index.html
El0IS& General Italiano http://web.tin.it/eloisa/
AlIC9ESX Sexo Espao http://aurora.esi.uem.es/~jvinas
4. Nuestro enfoque. Nuestra idea es trabajar a partir del chatbot A.L.I.C.E.; Pero por que a partir de A.L.I.C.E., con todos los bot que existen, tal y como ya se ha mencionado?. La respuesta a esta pregunta, esta basada en tres razones:
(1) Libre (open-source): A.L.I.C.E. se trata un programa libre donde todo el que se lo descarga tiene acceso total al cdigo y a su base de conocimiento. Esto resulta un punto primordial para el trabajo a desarrollar, si no se diera este requisito no podramos partir de ninguna base y lo que se tratara de hacer es desarrollar un bot desde cero y no basarnos en un bot ya hecho y de correcto funcionamiento para a partir de hay realizar una adaptacin al castellano. (2) Calidad: A.L.I.C.E. es uno de los mejores bot que existen para el ingles, ya se ha comentado en alguna ocasin el Loebner Prize que ganaron los desarrolladores de AliceBot en 2000 y 2001. y qu sentido tendra coger como base para realizar un trabajo algo que no se sabe si funciona bien o mal?. Con A.L.I.C.E. tenemos asegurado una cierta calidad contratada, basta con ponerse a charlar un rato en ingles con Alice, para darse cuenta de que las respuesta obtenidas son bastante buenas. (3) Se trata de un bot en Ingles. Pero del que se tienen referencias de que ya ha sido extendido a otro idiomas como portugus, ruso coreano entre otros. Lo que supone algo a favor ya que si se han desarrollado estos otros trabajos, nada hace pensar en principio que no se pueda recorrer el mismo camino para el castellano.
Se ha dicho que este trabajo trata de conseguir un bot que hable en espaol y que hable de Sexo, para conseguir un posible xito en el test de turing dicho sistema debera engaar a una persona para que esta creyera que esta hablando con otra persona y no con una mquina. Por esto el comportamiento del bot debe ser parecido al de un ser humano charlando en un canal de sexo, y por esta razn no hablar correctamente y deber cometer algn tipo de fallo mecanogrfico e incluso decir alguna que otra palabra mal sonante muy normal en este tipo de canales. Un problema que debemos tener en cuenta a la hora de realizar este tipo de adaptaciones de idioma son las frases hechas y expresiones comunes, pero este problema se hace mayor en nuestro caso, ya que el uso de este tipo de expresiones hechas en un chat de sexo es mayor, quizs, que en otro chat de carcter general.
Este trabajo se basa principalmente en la traduccin y adaptacin de los patrones en Ingles de A.L.I.C.E. adems de la creacin de nuevos. Por esto lo primero que debemos saber es como son estos patrones que utiliza AliceBot. Estos patrones estn implementados segn el sistema de etiquetas de AIML, un ejemplo de estos patrones es el siguiente:
Con esta regla en AIML, al escribir la palabra SEXO, el sistema contestara aleatoriamente entre alguna de las opciones encerradas entre etiquetas <li>. AIML esta formado por un conjunto de etiquetas, y esta regla podemos ver algunas ms como puede ser <category> que encierra a cada una de las reglas <pattern> que muestra la entrada que obtiene el sistema, <template> muestra la respuesta que ofrecer el sistema, <random> etiqueta encargada de generar la respuesta aleatoria entre las posible respuestas que encierra. Un ejemplo de otras etiquetas disponibles en AIML son:
hasta ahora se ha explicado lo que se ha hecho, pero no se puede terminar si antes mostrar un ejemplo de los resultados obtenidos, a continuacin se puede ver el resultado de una de las conversaciones que el Alice-EspX mantuvo con uno de sus creadores.
[JulKeZ] user> Hola! Alice-EspX> Hombre, hola de nuevo! Como estas? [JulKeZ] user> Yo bien, y tu? Alice-EspX> Bueno... podria estar mejor [JulKeZ] user> te pasa algo? Alice-EspX> No habiamos venido a hablar de sexo? [JulKeZ] user> si, si, que te gusta del sexo? Alice-EspX> A ver cuando quedamos... [JulKeZ] user> hmm, pero que te gusta del sexo? Alice-EspX> Tu que crees? (no contestes a eso, ehh) [JulKeZ] user> Quieres echar un polvo conmigo? Alice-EspX> Hmmm, Sigamos hablando un poco mas... [JulKeZ] user> me tengo que ir Alice-EspX> Hasta luego, user. [JulKeZ] user> Adios Alice-EspX> Hasta otra, user.
5. Evaluacin. A lo largo de este articulo se ha hablado de el test de turing, del cual se dijo que se toma como referente para evaluar como de buenos son los sistemas que intentan imitar el comportamiento humano, dicho de otra manera, si un programa de ordenador es inteligente no. La calidad de dicho mtodo de evaluacin est ms que contrastada hasta el punto que los ya mencionados loebner Prize estn basados en los resultados que consiguen los sistemas en dicho test de Turing. La evaluacin a la que se va a someter al Alice- EspX ser algo parecida a test de Turing. Lo ms deseable sera probar el bot, donde se deben probar los bot , en un canal, y as poder ver cuanto tarda en ser descubierto y que tipo de intervenciones realiza, incluso si hay participantes de la charla que se dirigen directamente a l no, esto indicara que aunque temporalmente, Alice-EspX les habra engaado, lo que nos dara un resultado bastante satisfactorio del trabajo final.
6. Conclusiones y futuro de trabajo. Nuestro chatbot no aporta ningn bien a la sociedad, pero s sirve para demostrar que una mquina es capaz de expresarse de la forma ms parecida al ser humano sin llegar a serlo. En un futuro las mquinas sern capaces de pensar por s mismas y no ser necesario que stas sigan unos patrones de comportamiento del interlocutor. Sern capaces de pensar, tener estmulos, comportarse de forma autnoma, ... En conclusin, este proyecto es slo una parte nfima del fantstico e inimaginable mundo al que pertenece la inteligencia artificial. Decir tambin que este trabajo realizado no tiene un final aqu, sino que esta sujeto a distintas mejoras y ampliaciones como puede ser la insercin de ms patrones que hagan del comportamiento del bot, ms humano, e incluso la insercin de patrones referentes a otros temas para que el bot sea capaz de dialogar entorno a otros temas y no nicamente sexo. Ciertamente a partir de aqu son muchas las posibilidades que se nos abren pero siempre teniendo como referente el aumento de la calidad del bot para que cada vez obtenga mejores resultado en ya tan nombrado test de turing.
Agradecimientos El principal agradecimiento va dirigido a la gente que han desarrollado A.L.I.C.E. o lo que es lo mismo a Richard S. Wallace y a su equipo, que no solo han desarrollado el bot y el AIML sino que adems facilitan su distribucin poniendo el cdigo como open- source en su web. Y haciendo referencia al resto de articulo es justo dar las gracias a gente como Alan Turing el cual a sido todo un referente y un punto de partida para toda la gente que trabaja en torno al procesamiento de lenguaje natural. El ltimo agradecimiento va dirigido a Hugh Loebner, como gran potenciador de este y de muchos otros trabajos a travs de los premios que llevan su nombre y que ya se han mencionado, los cuales han servido para alentar a muchos desarrolladores a realizar trabajos cada vez mejores, entre otros al ya mencionado R. S. Wallace cuya base de conocimiento del bot, es la que se ha modificado en Alice-EspX. No olvidarnos tampoco de toda esa gente que no solo ensea sino que tambin apoya para lograr que cada vez existan ms trabajos en esta lnea.
Referencias Dr. Richard S. Wallace, Jon Baer, Noel Bush, Niva Dubrovsky, Brenda Freedman, Gene Riccoboni A.L.I.C.E. AI Foundation. http://www.alicebot.org Hugh Loebner, The Cambridge Center for Behavioral Studies Loebner Prize. http://www.loebner.net/Prizef/loebner-prize.html Andrew Hodges The Alan Turing Home Page. http://www.turing.org.uk/turing/ A.L.I.C.E. AI Foundation AIML: Artificial Intelligence Markup Language. http://alicebot.org/alice/aiml.html Ocio Total Realidad y ficcin de los chatbots http://www.ociototal.com/recopila2/r_internet/ch atbots.html Luis Hernndez Inteligencia Artificial: BDC Bots de charla http://www.inteligenciartificial.net Test de Turing, informacin on-line sobre el test e informacin relevante sobre dicho tema. http://cogsci.ucsd.edu/~asaygin/tt/ttest.html