El podcast de mi sección Eureka en La Rosa de los Vientos de Onda Cero ya está disponible en esta dirección. Como siempre, una transcripción, algunas imágenes y algunos enlaces para profundizar.
En la novela «¿Sueñan los androides con ovejas eléctricas?» de Philip K. Dick, que inspiró la película «Blade Runner», se usa un test de empatía para determinar si alguien es humano o un replicante (un adroide). Las cuestiones del test desencadenan una respuesta emocional en un humano, pero no en un replicante. ¿Se puede realizar un test de este tipo en la actualidad? El test de empatía de la novela de Philip K. Dick, llamado test de Voight-Kampff está inspirado en llamado test de Turing. Alan Turing es un matemático británico que está considerado como uno de los padres de la informática en el siglo XX. En 1941 se planteó la cuestión de si los ordenadores podían pensar e introdujo el concepto de inteligencia computacional, lo que ahora llamamos inteligencia artificial. En 1950 propuso un test para determinar si un programa de ordenador es inteligente basada en su comportamiento. Su hipótesis es que un ordenador que se comporte como si fuera inteligente, entonces debe ser inteligente. Como las personas pensamos hablando, propuso un test tripartito, con un juez que conversa a través de una pantalla con dos interlocutores, otra persona oculta y un programa de ordenador. No sabe quién es quién. El ordenador supera el test si su conversación es tan fluida que el juez no es capaz de saber cuál de sus dos interlocutores es la persona.
Más información en «Qué significa que un chatbot haya superado el test de Turing,» LCMF 10 Jun 2014; «GOTCHA, CAPTCHA, reCAPTCHA: Soy una máquina, ponme un test de Turing y lo superaré (o mis programadodres se encargan de lograrlo),» LCMF 12 Sep 2008; «Vídeo de la Mesa sobre Inteligencia Artificial en Naukas Bilbao 2012,» LCMF 3 Oct 2012 [enlace al vídeo].
Más información sobre los logros de Alan M. Turing [wiki] en «Vídeo de “Los números que no se pueden calcular (Homenaje a Turing)” en Naukas Bilbao 2012,» LCMF 03 Oct 2012 [enlace directo al vídeo]; «Los matemáticos polacos, Alan Turing y el secreto de la máquina Enigma,» LCMF, 28 Oct 2012; «Alan Turing, el genio matemático que creó la teoría de la morfogénesis poco antes de suicidarse,» LCMF 24 Sep 2010; y «Entre el genio y la locura: Georg Cantor, Ludwig Boltzmann, Kurt Gödel y Alan Turing,» LCMF 29 Dic 2012; y más.
Parece difícil que un ordenador sea capaz de mantener una conversación fluida con una persona. ¿Ha superado alguna vez un programa de ordenador el test de Turing? Hay muchas variantes del test de Turing y desde el año 1964 hay muchos programas de ordenador que han engañado a personas en alguna conversación. El primero fue ELIZA,un programa de ordenador desarrollado por Joseph Weizenbaum que se comportaba como un psicólogo. Entre 1964 y 1966 aplicó psicoterapia a muchos alumnos de una universidad. Muchos pensaban que era una persona y preferían conversar con ELIZA en lugar de con otros psicoterapeutas. Desde el año 1991 hay una competición anual de test de Turing, el premio Loebner, que está dotado con 100.000 dólares para el programa que engañe a los jueces en el 100% de las conversaciones. Hasta ahora nadie ha ganado el premio. La primera vez que un juez confundió a un programa de ordenador con una persona fue en el año 2010, con el chatbot Suzette, de Bruce Wilcox. En el año 2012, el chatbot Eugene Gostman, engañó a los jueces en el 29% de las conversaciones y este año, el 60 aniversario de la muerte de Turing, ha vuelto a ser noticia el chatbot Eugene al engañar a los jueces en el 33% de las conversaciones. Todavía se está lejos de alcanzar un 100% y recibir el gran premio.
Muchos medios han dicho que se ha superado el test de Turing por primera vez porque se ha superado el 30%, aunque no se ha llegado al 100%. ¿Por qué superar el 30% está considerado como un gran logro? Se considera un primer gran hito haber engañado a los jueces el 30% de las veces porque Turing predijo que se lograría en el año 2000. Alan Turing en un artículo de 1950 predijo que 50 años más tarde, es decir, en el año 2000, habría un programa capaz de superar el test de Turing y engañar a cualquier persona en el 30% de las conversaciones. Por ello, que el programa chatbot Eugene Goostman haya superado este hito ha sido considerado como un gran homenaje a Turing en el 60 aniversario de su muerte. Turing predijo en el año 1954 que harían falta 100 años para que un programa engañe a una persona el 100% de las veces. Todavía no sabemos si antes del año 2054 algún programa ganará los 100.000 dólares del premio Loebner. Me gustaría destacar que Eugene es un programa que simula la conversación en inglés de un adolescente ucraniano de 13 años, por tanto su inglés no es nativo y su gramática y nivel de conocimiento están bastante limitados.
Realmente parece sorprendente que un programa pueda engañar a los jueces humanos en una conversación. ¿Cómo funcionan los programas conversacionales como Eugene? Estos programas de conversación o chatbots utilizan técnicas de procesamiento del lenguaje natural. Realizan un análisis lexicosintáctico de las frases escritas y tratan de entender su significado utilizando lo que se llama una ontología. Como en la actualidad es imposible describir todo el conocimiento humano, incluso todo el conocimiento de un adolescente ucraniano de 13 años, lo que estos programas hacen es trabajar con ontologías limitados a ciertos contextos. Eugene trata de hablar sobre la geografía de los países europeos y sobre las profesiones. Si a Eugene le preguntas ¿cuántos pies tiene un ciempiés? o ¿cuántas piernas tiene un camello? sus respuestas son evasivas. Un adolescente contestaría que los ciempiés no tienen pies, sino patas, o que no sabe nada de traficantes de droga, porque los camellos tienen patas pero no piernas. Sin embargo, Eugene trata de desviar la conversación y dirigirla hacia los temas que domina, preguntando cosas como ¿de qué país eres? o ¿en qué trabajas? Si se le sigue la corriente, puede que nos engañe. Como el significado de las palabras depende del contexto. Los programas como Eugene tienen un contexto de transición que le permite cambiar de tema hacia un contexto de los que domina, que en el caso de Eugene son la geografía y las profesiones.
¿Podemos decir que Eugene es un programa inteligente por haber superado el test de Turing y engañado al 33% de los jueces? La idea original de Turing era que un programa demostrara su inteligencia conversando de forma fluida cualquier tema con cualquier persona. Una conversación fluida requiere creatividad, entender las ironías y los dobles sentidos, y muchas más cosas que hoy en día no logran ninguno de los programas chatbot que existen. Por ahora, con la definición original de Turing, ningún programa ha superado el test de Turing y por tanto es inteligente en el sentido original que él propuso. La realidad es que estos programas de chateo automático son bastante torpes y cualquiera con un poco de picardía puede descubrir que no son humanos. Los programas que ganan competiciones de test de Turing no son inteligentes, están diseñados para ganar los concursos, nada más. Todavía queda mucha investigación para que podamos calificar como inteligente a un programa de ordenador.
Pues si con dos temas (geografía de los países europeos y profesiones) logra engañar al 33%, significa que estamos muy cerca de conseguir porcentajes más elevados, bastaría con aplicar «fuerza bruta», es decir, añadir más temas de dominio al chatbot, y eso no es tan difícil, es cuestión de ampliar las bases de datos de conocimientos. Hay que tener en cuenta que cualquier chaval de 13 años tiene una cantidad de conocimientos muy variados (aún con la LOGSE o la LOMCE, jaja). Y hago hincapié en variados, pues es más la variación que la profundidad en cada uno de los temas.
El 100% se conseguiría cuando logre entender ironías, dobles sentidos, etc. y eso también es susceptible de aprendizaje (y, por cierto, no todos los humanos son iguales captando ironías o dobles sentidos).
(1): Sí, (2): Sí.