24/4/16

¿Ha funcionado el chatbot Tay?




El sistema de generación automática de diálogos Tay desarrollado por Microsoft ha estado en las portadas de los periódicos durante las últimas semanas a causa de sus comentarios racistas y violentos. Tal fue su mal funcionamiento que a las pocas horas de ponerlo a disposición de la red, Microsoft lo retiró y pidió disculpas.

La conclusión de muchos ha sido que los algoritmos para dialogar en lenguaje natural están aún en precario y que los chatbots no son sino autómatas con muy pocas posibilidades  a pesar de que empiezan a ser muy usados en puntos informativos en aeropuertos, tiendas, estaciones o sistemas telefónicos. Más aún, dado que Microsoft había presentado a Tay como un avance en Inteligencia Artificial, se ha resentido la fe en que la IA puede crear algún día sistemas autónomos comparables a las personas y/o que pueda simularse el lenguaje natural.

Un chabot es un programa diseñado con reglas para detectar las construcción de algunos tipos de frases tipo para que, una vez detectadas, puedan ser contestadas por otras frases pre-programadas o construidas modificando ciertas palabras. Debe quedar claro que el programa no “entiende” lo que las palabras significan, sólo las usa y mueve como si de piezas de un Tetris se tratara, encajándolas. Para el chatbot, las palabras no tienen significado. Son objetos.

Lo ocurrido


Microsoft desarrolló el chatbot Tay, un algoritmo capaz de mantener diálogos aparentemente humanos, en lenguaje natural, con el objeto de charlar con adolescentes de 18 a 25 años. Según las informaciones de la compañía, el chatbot incorporaba técnicas de inteligencia artificial para que la generación de diálogos fuese más acertada y para que el sistema fuera aprendiendo de la interacción con los humanos, como si se tratara de un niño que, poco a poco, va ampliando su vocabulario y su visión del mundo. Una vez construido fue puesto en funcionamiento en Twitter para que los usuarios pudieran interaccionar y dialogar con el sistema. Nada mejor, pensaron, que una red social para interactuar mucho y rápidamente, es decir para aprender mucho y rápidamente.

Lo que ocurrió fue que, enseguida, las respuestas que Tay ofrecía eran falsas, ofensivas, racistas, sexistas y violentas. defendía a los nazis, odiaba a los negros y a los latinos, afirmaba que el Holocausto no había existido y se mostraba antifeminista. Tan sólo 16 horas después de su puesta en marcha, Microsoft hubo de retirar el chatbot, borrar los tuits ofensivos y pedir disculpas públicamente.  

Para entonces, ya se había desatado el escándalo en la red y muchas otras webs habían copiado los textos insultantes de Tay.

¿Cómo pudo suceder todo ello?

Rastreados los diálogos, parece claro que dos grupos de personas (auto denominados “4chan” y “8chan”, hackers o no) comprendieron rápidamente el algoritmo que yacía tras Tay y se dedicaron a suministrarle frases y diálogos malvados para que, efectivamente, aprendiera eso y sólo eso. Es decir, se dedicaron a “enseñarle” lo más perverso que se les ocurrió (no queda claro sin con fines malintencionados o simplemente para mostrar los fallos del programa).

Muchos comentaristas han enfatizado sobre el pobre desarrollo de la programación del chatbot pero muchos otros lo han hecho sobre el comportamiento humano y su tendencia a no colaborar, a deslizarse por las tinieblas. En general, se ha evaluado como un fracaso total a Tay y a la programación realizada por sus creadores.


¿Es realmente un fracaso?

En contra de la visión general, yo no lo veo así.

El chatbot ha realizado aquello para lo que se ha creado: reconocer frases y palabras de sus interlocutores, memorizarlas, y combinarlas para crear nuevas frases. Algo que no es distinto de lo que haría un niño humano. Imaginemos que a un niño, los adultos le dijeran siempre, desde su más tierna infancia, barbaridades, que la tierra es plana o que existen las hadas debajo del mar. Es seguro que las aprendería y que pensaría que esas ideas son las buenas. Ya Platón nos habló de ello. Al fin y al cabo, el adoctrinamiento es más viejo que el mundo, véanse si no los milagros que la población cree que hace su  líder en Corea del Norte. Basta repetir hasta la saciedad una mentira para que se convierta en verdad para muchos. Si Tay se hubiera encontrado con interlocutores bienintencionados, es probable que hubiera podido simular una conversación correcta. De hecho, Microsoft pretendía dar un paso más sobre otro de sus chatbots, Xiaolce, que funciona con cierto éxito en China. El problema es que en Occidente se ha topado con el lado oscuro de la fuerza. ¿Y por qué no ocurrió lo mismo en China, con Xiaolce? Posiblemente, porque los internautas chinos saben que hay una vigilancia humana estrecha en Internet y no han osado escribir barbaridades, no por miedo a Tay sino por miedo al censor humano que conoce su IP.

Por tanto, Tay ha funcionado “bien” en el sentido de que ha hecho justo lo que los programadores habían deseado. También, parece claro que al algoritmo era sencillo, más parecido a Eliza que a una red neuronal o a técnicas de inteligencia artificial, de modo que ha sido fácil para los atacantes encontrar los puntos débiles. Parece funcionar analizando el léxico de la frase y entremezclando secciones y palabras de entre las que tiene en su base de datos y las que le propone el interlocutor con sus preguntas.

Por ejemplo, supongamos una frase del tipo “Estoy harto de que se me quemen los canelones”. Puede programarse que cuando el sistema reconoce la cadena “estoy harto de que”, lo que viene después – sea lo que sea- puede añadirse a una pregunta del tipo: “¿Por qué estás harto de que”+ [lo que el demandante ha introducido], cambiando sólo los pronombres, quedando en este caso: “¿Por qué estás harto de que se te quemen los canelones?” o formar afirmaciones del tipo “Sí, a mí también me cansa que” + [lo que el demandante ha introducido], en este caso: “Sí, a mí también me cansa que se me quemen los canelones”. Pero funcionaría igual con “Estoy harto de que no pueda conducirse a 250 km/h en dirección contraria” o “Estoy harto de que no dejen asesinar a la gente en los parques”. El ordenador no distingue que una frase es razonable y otra es amoral. No puede saberlo.  

Es un juego de asociaciones entre patrones que se reconocen y reglas de creación de frases. Si, además, hay muchas personas que le preguntan lo mismo, puede almacenar la frase como algo habitual y normal, y preguntar “¿Tú también estás harto de que se te quemen los canelones?”. Parecerá que el algoritmo sabe de qué habla pero no lo sabe.

Cuando Tay hablaba de quemar a las feministas o a las personas de color, o ensalzaba el nazismo, no tenía el más remoto conocimiento de qué es el feminismo, el nazismo o una raza. No “sabe” de qué habla. El chatbot no comprende nada en absoluto, no imagina el concepto o la cosa en su memoria, no liga conceptos de ningún tipo. Tan sólo encaja palabras y frases dentro de moldes predeterminados por un humano que normalmente funcionan bien en una conversación. Del mismo modo, quién se haya sentido ofendido por una máquina no ha comprendido nada de la idiotez intrínseca de un algoritmo, otorgándole cualidades humanas que no le son propias. Para Tay, “feminismo” es simplemente un sustantivo singular perfectamente intercambiable por otro de similar característica, por ejemplo “vino”. Para el programa, la frase “no me gusta el feminismo” es igual a la de “no me gusta el vino”. No tiene la más remota idea de qué significan las frases, solo las construye para que gramaticalmente sean correctas. Y si un número suficiente de trolls le escriben que el Holocausto no existió, para Tay no ocurrió porque sólo sabe calcular que el 76% de los interlocutores han introducido esa frase y a partir de un cierto tanto por ciento, la da por cierta  y usable en el futuro. No puede pensar que le están mintiendo.

Queda entonces por analizar, qué deben contemplar los programadores a la hora de desarrollar chatbots. Parece claro que no sólo un parser que combine frases, que detecte palabras clave, que simule el habla natural de un joven. Deben también programar un “sentido común” y “un sentido crítico”, algo enormemente difícil.

Para un ordenador, la frase “las casas vuelan” es perfectamente posible. De hecho, es una frase gramaticalmente correcta. Un ser humano adulto se extrañaría al escucharla, no porque está mal construida sino porque el sentido común y la experiencia le dicen que eso no es cierto. Pero es muy posible que un niño pudiera creerla como cree en los Reyes Magos, en el trineo volador de Santa Claus o en las hadas. Es la acumulación de otras experiencias, de datos ajenos al lenguaje, la que hace que las frases acaben por ser no sólo correctas sintácticamente sino lógicas. Es la interrelación social, la historia, el conocimiento del entorno y los valores de una sociedad los que hacen que se puedan decir unas cosas y otras no. Todo esto no lo tiene Tay, es más es algo dificilísimo de programar, uno de los talones de Aquiles tradicionales de la Inteligencia Artificial. La IA, hoy por hoy, parece inteligente pero no es inteligente. En dominios muy restringidos, y usada con buena voluntad, puede dar buenos resultados (por ejemplo, diagnósticos médicos donde es de suponer que el médico desea encontrar una solución, no comprobar los fallos del equipo) pero ante un diálogo generalista, con cualquier interlocutor enfrente, queda muy lejos de poder lograrlo. Y así seguirá mientras nos sea imposible codificar el sentido común y el background de experiencias que hasta los más tiernos niños adquieren. Un sistema de lenguaje computacional sólo tiene acceso a frases mientras que un cerebro accede a muchos otros tipos de informaciones simultáneas: tacto, vista, emociones, gusto, ...

Ciertamente, los programadores de Microsoft podían haber previsto la situación y cercenado unos cuantos millares de barbaridades. No hay que ser un genio para programar que el algoritmo omita referencias a dictaduras, xenófobos, crueldades, machistas, drogas, etc. Podían haber previsto filtros de más alcance pero, de todos modos, es seguro que los hackers hubieran encontrado frases alternativas no detectables tan fácilmente con las que comprometer el limitado alcance del sistema.

Estamos lejos de crear un sistema capaz de entender y hablar el lenguaje natural, la gramática computacional aún no lo ha logrado,  pero Tay funcionó como lo habían programado. Los programadores no contaron con que el mundo es cruel y despiadado, pero eso es un asunto de la filosofía y la ética, no de la sintaxis.












1 comentario:

  1. La publicidad ya está hecha. Da lo mismo si funciona o no.

    ResponderEliminar