Vous êtes sur la page 1sur 6

SISt9fl& d9 &t0h9S && &lIC9 b0t 9h C&St9ll&h0: AlIC99SX

Arturo Chozas lvarez Villabol


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.


NOhbL@

T@h6

IdIOh6

ULI

ElIZ& Psicologa Ingles http://www.manifestation.com/neurotoys/eliza.php3

A.L.I.C.E. General Ingles http://www.alicebot.net

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:


<Ct9OF>

<tt9FM>FXXO</tt9FM>

<t9Mtt9>

<FMdOM>

<tS>A tFV9F d9t OFd9MdOF 9F M9MOF
dSV9FtSdO...</tS>
<tS>A V9F CYMdO @Y9dMOF...</tS>

<tS>NO M9 dSF 9FF COFF, @Y9... MO

F9FOMdO</tS>

<tS>A V9C9F S9MFO @Y9 9F MF tC9Mt9FO

FOtO</tS>

<tS>...</tS>

</FMdOM>

</t9Mtt9>

</Ct9OF>



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:


<SMt>, <bOt MM9"MM9/>, <bOt
MM9"XXX/>, <tht SMd95"2,1/>, <tht
SMd95"M5,M/>, <tht>, <Ct9OF>, <SMYt
SMd95"2/>, <SMYt SMd95"3/>, <COMdStSOM
MM9"X VtY9"Y>, <COMdStSOM>,
<9Md9F>, <dt9/>, <Sd/>, <9t
MM9"555/>, <FSZ9/>, <FtF SMd95"M/>,
<thtFtF SMd95"M/>, <9t MM9"tOSC/>,

<tOSCFtF SMd95"M/>, <V9FFSOM/>, <9t
MM9"555/>,<OFFS FFC"X/>,
<t9FM>X</t9FM>



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

Vous aimerez peut-être aussi