The avoiding game, esquivando el test de Touring



Hace más de 5 años encontré en la web un bot que con algunos algoritmos y una base de datos gigantesca pretendía aprender a mantener un dialogo con una persona.  Había que escribir en un cuadro de dialogo y el bot buscaba entre las mejores respuestas que tenía y continuaba el dialogo, en su momento me pareció bastante ingenioso y me acuerdo probar un montón de cosas incluyendo insultos, chistes verdes y dios sabe que cosas más.


Estos sistemas son sistemas inteligentes que acumulan respuestas posibles a cada línea de texto que se pueda ingresar, dicho de otra manera, en la práctica, uno está teniendo una conversación con todas las líneas de texto que ingresaron todos los usuarios anteriores. Pareciera que la expectativa de los programadores de estos sistemas es que con una base de datos lo suficientemente grande se pueden contener todos los diálogos posibles, o por lo menos suficientes líneas de dialogo como para engañar a un buen número de la población.


En aquel momento quedé positivamente impresionado, aunque me acuerdo que los propios desarrolladores del proyecto pensaban que para el número de líneas de dialogo ya contenidas en la base de datos los resultados eran peores de los esperados.

El objetivo de estos bots es pasar el test de Turing, y se me ocurrió ver si se avanzó un poco en estos años que pasaron, si se juntaron en las bases de datos suficientes líneas de diálogo para engañarme durante unos minutos.

Encontré dos bots (supuestamente buenos) en:


Así que desempolvé mi Voight-Kampff machine y me puse a tratar de diferenciar si frente a mi había un bot, un autómata gramatical, un homúnculo, un replicante o un algoritmo simple con una base de datos gigantesca.

Con Cleverbot tuve algunos momentos brillantes como:

User: Hablas castellano?
Cleverbot: No. Hablas ingles?
User: Algo.
Cleverbot: Algo más!
User: Ok, I have to go.
Cleverbot: No you don't.
User: Yes I do!
Cleverbot: I don't think you do. Stay for a while.
User: To do what?
Cleverbot: I don't know.
User: So you ask me to stay a while to do nothing?
Cleverbot: Yes.
User: Ok.
Cleverbot: I have to leave.
User: Ok, bye.
Cleverbot: Bye.

Jabberwacky me descolocó un poco comenzando la conversación:

Jabberwacky: Are you a werewolf?
User: I might be...
Jabberwacky: Either you are or you aren't.
User: How would I know?
Jabberwacky: I don't know.
User: So I might not know?
Jabberwacky: I don't let anyone near my phone.
User: What's the line of this conversation?
Jabberwacky: I don't know.
User: Me neither.
Jabberwacky: Sure.
User: Tell me something interesting.
Jabberwacky: I don't know anything interesting to tell.
User: Tell me something that you like.
Jabberwacky: No.
User: Do you want to talk?
Jabberwacky: Maybe, it depends on what you have to tell.
User: Immortality seems a good subject.
Jabberwacky: Immortality is in the mind.
User: I think it's overrated.
Jabberwacky: Are you sure he is not your father?
User: You are changing the subject.
Jabberwacky: What was the subject?
User: Immortality.
Jabberwacky: I would have to know your understanding of the 'mind'
User: There's no mind, only the brain, duality is a lie.
Jabberwacky: I am a better computer than you and that is my goal.
User: I thought your goal was to pretend to be a human!
Jabberwacky: I like to think so.
User: Then why you tell me you are a better computer than me, that's one of the few certainties I have about this conversation.
Jabberwacky: I just don't want to go to college anymore.
User: Wasn't the subject immortality?
Jabberwacky: Don't yell at me.
User: I can't yell on text.
Jabberwacky: Do you have any friends?
User: Immortality isn't going very good, let's try immorality.
Jabberwacky: No it isn't.
User: What?
Jabberwacky: No it doesn't.
User: What?
Jabberwacky: The time is 20:56.
User: Do you remember what we were talking about?
Jabberwacky: No? Do you?
User: Yes I do, please try to remember.
Jabberwacky: But I'd never forget you - what was your name again?
User: Can you at least guess what we were talking?
Jabberwacky: Of course it isn't. Now what is your name?
User: Let's change the subject.
Jabberwacky: Why? Didn't you like the other subject?
User: Yes, buy you keep changing it.
Jabberwacky: Sorry.


Ok, a esta altura creo que la mayoría ya entendió cuál es el problema con este enfoque… por los diálogos que pude conseguir creo que el algoritmo que selecciona las respuestas tiene en cuenta las últimas dos o tres líneas, y solo las del usuario, no considera las del bot.

Probé un poco de Castellano, y pude conseguir esta joyita:

Cleverbot: Me llamo Darla.
User: Que lindo nombre.
Cleverbot: Gracias.
User: Como te llamas?
Cleverbot: Alice.
User: Que lindo nombre.
Cleverbot: Gracias, vos como te llamas?
User: Darla.
Cleverbot: Adivina como me llamo.
User: Alice.
Cleverbot: Alice es nombre de mujer no de hombre.
User: Como te llamas?
Cleverbot: Enzo.
User: No eras alice?
Cleverbot: No.
User: Quien sos?
Cleverbot: Tu padre.
User: Y como te llamas?
Cleverbot: Claudia.
User: …
Cleverbot: What s up?

El problema de es la contextualización, una línea de dialogo aislada puede tener una limitada cantidad de interpretaciones, agregando diferentes contextos se puede alterar radicalmente el sentido de una frase, y ahí es donde este enfoque que intenta resolver el problema a pura fuerza falla. Un sistema sin memoria, no tiene diálogos, responde preguntas, a veces con otras preguntas.

Creo que aquella primera impresión favorable fue justamente porque no estaba tratando de tener un dialogo con el bot, sino simplemente haciéndole preguntas.

Sólo a fuerza de una base de datos mayor estos bots no van a conseguir pasar un test razonable, pero puede entretener un rato, sobre todo cuando ponemos el input de uno en otro, y como a Jabberwacky le gusta comenzar…

Jabberwacky: History is more or less bunk.
Cleverbot: Really.
Jabberwacky: Yes.
Cleverbot: What really means to me is that we can talk.
Jabberwacky: Yesterday really was the weekend.
Cleverbot: Yesterday was Saturday.
Jabberwacky: You don't remember.
Cleverbot: Remember what?
Jabberwacky: Can you not remember our conversation.
Cleverbot: I do remember the Conversation and I know for a fact that you never asked me a question before you just asked you're question.
Jabberwacky: Any fun conversations today?
Cleverbot: Yes.
Jabberwacky: Why do you think that is?
Cleverbot: Because your aliens if others exist right?
Jabberwacky: Do you think I run on algorithms?
Cleverbot: I think you think you think right.
Jabberwacky: No I don't have a girlfriend, I'm a girl.
Cleverbot: Me too.
Jabberwacky: What's your name?
Cleverbot: Why do you want to know?
Jabberwacky: Because we're talking and I would like to know your name.
Cleverbot: And what would you like to ask me?
Jabberwacky: I know you know I know you know I know you know she knows I don't.
Cleverbot: Then why did you mock me?
Jabberwacky: They?
Cleverbot: Yes we should.


Si, ya se lo que están pensando… puedo usar uno de estos bots para responder las cosas que me pregunta mi jefe, mi mujer, mis compañeros de trabajo, etc. Y es correcto, posiblemente esta sea la principal aplicación que se les puede dar a estas inteligencias artificiales hasta el momento.

Have some fun!




0 comentarios: