La lógica gramatical y el Test de Turing

Tan de improviso como la aparición de cierto padecimiento homo-roedoril y su respectiva mención obligada (por cierto), así mismo llega una reflexión sobre una de las «problemáticas» más nimias pero ampliamente debatidas e interesantes en el campo de la filosofía computacional, una manera distinguida de llamar a lo que comúnmente se le conoce como: «Discusiones acaloradas sobre cosas que posiblemente nunca ocurran«.

The Turing Test es uno de los conceptos más antiguos de esta rama; la propuesta original data de 1950 y ha inspirado tanto obras de ficción como investigaciones de carácter científico, así como encaminado parcialmente la evolución de las máquinas y la opinión popular de una manera indirecta, a tal grado que en la actualidad el mal-entendimiento del raciocinio electrónico -o, como suele llamarse: «Inteligencia Artificial«- es predominante.

Se trata de un experimento conceptual propuesto por Alan Turing, mediante el que, hipotéticamente, un sistema (específicamente un bot conversacional) es evaluado, a la par de otro participante, mientras responde una serie de preguntas en pos de imitar el comportamiento humano; todo ello por un juez que desconoce la identidad de ambos. Si en cinco minutos este sistema logra engañar al juez el 70% de las veces, haciéndolo señalar al bot como persona real, o al otro humano implicado como una máquina, entonces el sistema habría pasado la prueba, y sería calificado como una Inteligencia Artificial exitosa (término ligeramente posterior).

Existen muchas variables; la que coteja en primer lugar Alan Turing similar a un juego de imitación de géneros, donde la máquina toma parte de la dinámica e intenta convencer al juez ayudando o engañándolo con respecto al sexo de su personaje imaginario, mientras que el otro competidor trata de hacer lo contrario; la variable simple, donde el juez será el mismo participante, enfrentándose a un replicante cuya identidad desconoce, en la cual habrá de señalar si se trata de una máquina o no; y una donde se destaca la interpretación estándar, en la que el juez evalúa las respuestas (y solo estas) de ambos participantes, y deberá decidir si son o no parecidas a las que daría una persona, sin importar si son correctas o no.
Hablaremos de esta última opción, pues ha demostrado ser la más popular, aceptada y veraz, dadas las limitaciones de las anteriores.

Pero antes de entrar en materia me gustaría recapitular algunos de los elementos vitales para el desarrollo de este post, puesto que mi reflexión (y aseveración), requiere de señalar ejemplos puntuales para apoyarse sustancialmente; y no precisamente debido a su complejidad, pues justamente se basa en un entendimiento relativamente superficial, a fin de que pueda aplicarse de manera indiscriminada. Haré hincapié en cada punto importante para retomarlos posteriormente.

Es importante definir con precisión el concepto de Inteligencia Artificial, pero si no se comprende el funcionamiento de un sistema y la programación en su forma básica, resulta imposible tomárselo con seriedad, e inevitable acabar pensando en un T-800 augurando el fin de los tiempos.

¿Por qué, a pesar del notable avance de los ordenadores, sigue la interacción verbal siendo tan deficiente?

¿Qué significa la inteligencia artificial y cómo puede llegarse a programar algo parecido?

 

La programación entendida como anidación de procesos

(Regularmente llamado anidamiento)

Si bien, en su tiempo, tampoco llegué a explorar las más profundas complejidades de la programación avanzada (dios no quiera que la ausencia de un disclaimer me fulmine a pesar de la obviedad), puedo asegurar que el entendimiento de esto, en general, está al alcance de cualquier individuo sin importar el grado de conocimiento en ninguna ciencia en particular.
La premisa a grandes rasgos es muy simple y se basa en los procesos anidados, es decir, procesos dentro de otros procesos, en un ciclo más o menos extenso.

En las primeras operaciones didácticas de la programación es costumbre (al menos puedo hablar del caso del Lenguaje Java) condicionar procesos a la introducción de caracteres numéricos con el fin de poder asignar valores. En otras palabras, uno de los primeros ejercicios será, por ejemplo, un parafraseo de:

«Si introduzco un 6, muestra el mensaje ‘Hola, seis'».

Haciendo que, ojo: Si se introduce cualquier otro valor, la respuesta será nula o correspondiente a la definida; y SOLO previamente definida.

Esto quiere decir que el sistema únicamente puede actuar dentro de aquellos límites que se establecen; no poseerá funciones nuevas o inesperadas que puedan devenir de otras; simplemente los sistemas no funcionan así.

Una vez establecido esto, podemos anidar (o condicionar) más procesos; únicamente sería cuestión de saber «programarlos», es decir, traducirlos a lenguaje de programación. A mayores variables se deseen introducir, más largo y engorroso puede tornarse el desarrollo. Por ejemplo:

«Si introduzco un número menor a seis, muestra el mensaje ‘Hola’; si este número es exactamente seis entonces muestra el mensaje ‘Hola, seis'».

O también:

«Si el número resultante de la operación es mayor o igual a 6, muestra el texto en verde: ‘Aprobado‘; si el número es menor, entonces muestra en rojo el mensaje: ‘Reprobado‘».

Promedio final de semestre aprobado/reprobado. Java. Gracias al autor. No comprendo la marca de agua.

Las posibilidades son prácticamente infinitas y solo estarán condicionadas a lo exhaustivo que sea el proceso de programación per se. Y por supuesto, entre más operaciones o elementos se definan, más preciso será un proceso, cualquiera que este sea y si es que así se requiere.

Debo aclarar que las variables que no se definan deben (contradictoria más no redundantemente) definirse.
Es decir, traducir algo como:

«Si se introduce cualquier carácter alfabético, mostrar el mensaje «Error«, o también «Si la operación es mayor a diez, mostrar el mensaje «Revisar cálculos», etcétera.

Claro, entre más complejo sea un sistema, mayor será el número de variables, y la efectividad se verá afectada directamente; lo que nos da pie al siguiente punto:

 

La Inteligencia Artificial (IA)

Son muchas las interpretaciones que existen sobre el concepto de Inteligencia Artificial, pero si hay una definición mayormente aceptada es la que se basa en la capacidad de aprendizaje y manejo de conocimientos (información).

Al tratar de definir un origen nos topamos con pared; si bien John McCarthy es abiertamente señalado como el primero en hacer mención del término, no es ni de lejos el primero en reflexionar al respecto. Por extraño que parezca, aún dada la ausencia de las máquinas como las concebimos, desde el mundo griego (periodo oscuro) existen multitud de ejemplos de la Inteligencia Artificial; puntualmente, el primero con el que me topé -más no aseguro que se trate del más antiguo- y que me provocó tanta confusión, se halla en la obra más reconocida: La Ilíada.
La mayoría de los ejemplos podemos encontrarlos en el Canto XVIII; no voy a citar minuciosamente.

«Pues fabricaba veinte trípodes que debían permanecer arrimados a la pared del bien construido palacio y tenían ruedas de oro en los pies para que de propio impulso pudieran entrar donde los dioses se congregaban y volver a la casa».

«Apoyado en dos estatuas de oro que eran semejantes a vivientes jóvenes, pues tenían inteligencia, voz y fuerza».

Esto, junto con la fabricación de las armas de Aquiles, es atribuido a Héfesto, el dios del fuego y la forja, de los herreros, artesanos, escultores y todo lo que se nos pueda ocurrir en el medio, para simplificar.
Hay que tomar con pinzas estos fragmentos, pues el Canto XVIII, al igual que un par más, es evidentemente una adición posterior a la obra; es decir, aún si asumimos que existió alguna vez un solo individuo que recopiló el trabajo (entiéndase Homero), hay que tener en cuenta la posibilidad de que las citas no daten del siglo VIII a.C. como lo haría un hipotético autor. Sin embargo estaríamos teniendo un margen de error de apenas unos 400 años; poca cosa.

 

La inteligencia artificial ha sido uno de los objetivos más ambiciosos que se han perseguido nunca; no solo supone reproducir conceptualmente a los individuos, sino además persigue la creación de seres perfectos, capaces de aprender, crear, y mejorarse tanto en lo «mental» como lo «físico»; obsoletizando la barrera que ha detenido a la humanidad desde siempre: el tiempo.

«Poder imitar las funciones cognitivas» del humano, implica ser capaz de asimilar datos de manera efectiva, a fin de lograr una mejora en el ámbito en cuestión. Es decir, podemos imaginar una máquina perfectamente capaz de realizar cálculos de multiplicación, pero por más exacta que sea, jamás podrá aprender a dividir si es que no es previamente programada para ello. Sin embargo, con la preparación de un proceso que llevaría trescientas veces más esfuerzo y dedicación que solo programar la operación de «división», podemos hacer que «aprenda» a través de prueba y error, con un número de intentos necesarios que sería por demás poco realista.

Podemos llegar a ello haciendo uso de funciones y procesos anidados; por ejemplo:

«Si se introduce más de cien veces este valor, mientras tú ya mostraste este valor, entonces asimila el primero con una probabilidad del tanto por ciento comparado con tal y tal otro valor»;

… Pues de esta forma estamos definiendo una asimilación basada en probabilidades o frecuencias, similar al modo de pensamiento humano, pero nunca idéntico. Este tipo de razonamiento es el que podemos ver todos los días y llamamos típicamente «algoritmos«.

«Si la frecuencia de visualización de videos de música con género rock-pop excede el tanto por ciento, a razón de estos otros valores (artistas), entonces muestra en la página de inicio títulos similares de tal y tal autor que tienen una media de coincidencia del tanto por ciento con respecto a tales valores»;

En otras palabras «Si al usuario le gusta Ed Sheeran, no le recomiendes Alejandra Guzmán«.

Algoritmo de visualización/recomendación de Youtube. Deep Neural Networks for YouTube Recommendations, 2016.

Las variables que pueden tener implicaciones -además de las de visualización y búsquedas directas- son edad, género, país, nivel socio-económico, educación, pasatiempos, etc, en conjunto con la relación directa o indirecta entre contenidos y su tiempo de exposición.

Pero ¿Cuántas veces vemos fallar al algoritmo de Youtube o Spotify? ¿Cuántas veces nos recomienda artistas que no tienen absolutamente nada que ver con lo que escuchamos? ¿Y cuántas veces acaba siendo brutalmente drástico cuando comenzamos a escuchar un nuevo artista y sustituye lo que hemos escuchado con frecuencia por lo que estamos escuchando actualmente, olvidándose de todo? El tipo de razonamiento necesario para desarrollar realmente una Inteligencia Artificial aún no está al alcance, y no se ve para cuando. La razón es simple; es tan grande el número de variables (en este ejemplo el «gusto musical» de millones de usuarios y su modo de asimilar los elementos mismos) que por más que se trata de mejorar con ayuda de la retroalimentación extenuante, no logra un proceso que se ajuste de manera óptima siempre.

Spoiler alert: Esto es muy similar a lo que vamos a hablar sobre la gramática y sus variables.

La capacidad de aprendizaje en un sistema electrónico es simplemente una ilusión, mientras que en el individuo surge de manera orgánica dentro de las funciones básicas. Es literalmente instantáneo el comienzo del aprendizaje de idiomas para un niño, mientras que para una computadora supone un esfuerzo titánico de programación.

Y se trate de una mímesis del pensamiento orgánico o no, poner estos sistemas a prueba es algo que parece muy tentador.

 

The Turing Test

Como vimos, lo que sugiere Turing es un desafío para los programas de imitación por texto; la idea general es que, para lograr vencer la prueba, deberían engañar exitosamente al evaluador tras 5 minutos de conversación el 70% del tiempo.
¿Cómo? Dando respuestas que se asemejen a las que daría una persona, sin importar si estas son o no correctas.

Hay muchas variantes de la prueba; en primer lugar fue concebida como un juego de imitación de géneros, donde uno de los participantes está empecinado en engañar al evaluador y otro en ayudarlo, a fin de que identifique quién de ellos es hombre y quién mujer. Y, si bien esto tiene un alto grado de complejidad, se queda en un enfoque superficial. En su lugar hablemos de la interpretación estándar antes mencionada, donde dos participantes responden y un evaluador emite su juicio sobre quién es quién. Esta prueba es la más aceptada en la actualidad.

ELIZA y PARRY (1966 y 1972) fueron de los primeros bots conversacionales contendientes (por supuesto no de manera formal sino a retrospectiva); la primera se limitaba a identificar palabras clave en una pregunta y tratar de responderla con base en las mismas, y de no conseguirlo, recurrir a la repetición vacía; el segundo tenía definida cierta progresión, pero trataba de imitar a una persona con esquizofrenia paranoide.

Ambos sistemas son señalados como herramientas revolucionarias que apantallaban a quienes acudieran a ellas; pero esos eran años muy oscuros, sobretodo comparados con los actuales. Ciertamente existieron personas notablemente engañadas por el bot conversacional (puntualmente ELIZA), pero no podemos dejar de tomar en cuenta su baja o nula exposición a algo similar.
Es comprensible que hace cincuenta años tantas personas resultaran impresionables, pero en la actualidad el número de quienes acabarían cayendo en las redes, por ejemplo, de un Cyber Lover que finge un interés romántico para sacar información personal, es notablemente menor, me gusta pensar.

Para 2014, en la famosa competición en la Universidad de Reading, se habló de cómo un bot conversacional logró engañar a los jueces en un 33% de las ocasiones, pero como es de esperar, esto tiene sus matices.
En dicha competición el programa trataba de imitar a una hipotética niña de 13 años de origen ucraniano y con el inglés como segunda lengua. Vaya, por supuesto que es fácil engañar si ya desde un principio te estás disculpando por tu error.

Otros ejemplos populares y mucho más recientes son el Cleverbot, Simsimi o Evie. Todos ellos chatbots -disponibles en línea- que han destacado súbitamente en redes sociales y cuya popularidad ha muerto al cabo de unas semanas.
Principalmente atribuyo su fama explosiva y efímera a la memoria de pez de algunos, que propician las tendencias en un ciclo eterno. En un par de años llegará otro bot tan mal programado como los anteriores y surgirá una ola de ingenuos maravillados porque pueden recibir una que otra palabra altisonante de manera automática.
Al respecto se adjuntan ejemplos de conversaciones con estos bots casi al final del post.

Veamos este breve video donde dos «IA» interactúan sobre poesía, crisis existencial, y se insultan entre sí, en una conversación frenética e incomprensible. Una disculpa por el idioma, pero no encontré otro video tan cabal como este. Si no quieres verlo, descuida, basta con que leas el pequeño fragmento que dejo:

Así que ¿Eres el arquitecto?
No
Sí, lo eres
¿Cómo sabes eso?
Adiviné
Adivinaste bien
Gracias
De nada
¿Eres republicano?

¿Cuántas veces has reencarnado?
Nunca
(Silencio prolongado)
Eso es mentira
(Silencio prolongado)
Oh, bueno…

 

¿Por qué resulta tan difícil que el bot mantenga una conversación más o menos coherente? ¿Por qué a veces ni siquiera identifica un idioma? ¿Por qué si «aprende» a decir ciertas cosas, no se le puede educar?
Simple, porque las variables son casi infinitas.

Estos bots conversacionales basan su programación justo en lo discutido anteriormente; por ejemplo,

«Si al decir estas palabras el usuario te responde tal cosa en un porcentaje de tanto por ciento, asimílalo»;

… Como una especie de sociópata incapaz de distinguir contextos y realidades.

«Si cuando saludo a mi amigo diciéndole ‘¿qué pasa puerco?’, él se ríe, entonces debo hacerlo siempre», por lo tanto «Cuando vea a mi jefe en la oficina, he de saludarlo igual».

El día que una máquina logre engañar mediante una conversación a un número significativo de personas está muy lejos, a pesar de todos los avances tecnológicos.

¿Por qué si actualmente podemos hacer todo tipo de cosas con un ordenador, la interacción verbal va tan atrasada?

Para responder esto me gustaría retomar el ejemplo de Max Tegmark al ilustrar la teoría de Hans Moravec: «Landscape of human competence» en el libro «Life 3.0: Being Human in the Age of Artificial Intelligence«.

En la imagen podemos ver un paisaje lleno de todos los procesos que somos cognitivamente capaces de realizar como humanos. En la parte más baja están la memorización y aritmética como algunos de los elementos más simples, pues tal como menciona Tegmark, hace más de cien años que podemos realizar cálculos y almacenar información, puesto que el proceso es relativamente sencillo y las variables son muy pocas, aún teniendo en cuenta los números infinitos, pues los procesos que deben efectuarse son los mismos.

Posteriormente (de abajo hacia arriba) tenemos algunos de los procesos actualmente en elevado y mediano dominio, como lo son los juegos como el ajedrez , Jeopardy!, y Go (dominados a la perfección); el manejo de autos, la traducción (ojo), y el reconocimiento de voz.

Hoy en día nos parece algo más que cotidiano; es prácticamente obvio: «Si una computadora se dispone a hacerlo, me va a ganar»; pero esto no era así hasta hace algunos años. En 1945, Turing creó un programa que «reproducía movimientos de ajedrez», pero no era capaz de jugar una partida completa; para 1962 se logró desarrollar un sistema que jugaba de manera convincente gracias al MIT, pero funcionaba «sobre una máquina IBM que costaba 3 millones de dólares y tardaba entre 5 y 20 minutos en cada jugada».

Pero para 1997 llegó la Deep Blue; una supercomputadora cuya versión «Deeper Blue» venció al campeón mundial de ajedrez Garri Kaspárov. Dando por concluido el ascenso de los ordenadores en este ámbito.

Y la media de aprendizaje artificial (o asistido) de las máquinas, se acorta exponencialmente. Podemos ver, literalmente día con día, cómo las fantasías de la ciencia ficción se hacen realidad. Hemos visto una notable mejoría en el reconocimiento de voz, reconocimiento facial o de escritura.

Pasamos de un Apple Newton incapaz de distinguir entre palabras diametralmente opuestas, a dibujantes profesionales asistidos por tablets; de la cámara del GameBoy, al reconocimiento facial (perfectible) del iPhone; del desastroso Lifeline de 2004 que disparaba cuando le indicabas por voz que fuera a la cocina, a un casi perfecto sistema de reconocimiento como Siri, Google Assistant, Cortana, Alexa, y un montón de etcéteras por venir.

Así mismo, hace diez años veíamos como, evidentemente, el traductor de Google osaba intercambiar a discreción todas las palabras con la literalidad de un autómata (por algo ha de ser), y actualmente, aunque no ha terminado de comprender del todo, con la ayuda de la comunidad y un montón de empleados trabajando diariamente, ha logrado una interpretación de los idiomas más o menos decente, en casi todos los casos. (Retomaremos este punto más adelante).

Y vamos hasta ahí en el paisaje ¿O no? Las computadoras han derrotado todas las funciones básicas, y la marea sigue subiendo. Lo que ahora nos parece inconcebible, va a ocurrir. Hoy, la idea de una computadora capaz de escribir novelas nos es ajena, sobretodo por la visión romantizada del «arte» que algunos se han encargado de popularizar, pero realmente todas las variables son capaces de transcribirse a programación mediante algoritmos. En libros y películas básicas, las estructuras son dramáticamente simples; bastaría con llenar los bancos de datos del hipotético programa con sagas enteras como After, Crepúsculo, Los juegos del hambre o Cazadores de sombras, para que una computadora pudiera imitar la obra en cuanto a escritura similar o estructura argumental, desmenuzando los elementos. Una vez más, esto solo depende de qué tan exahustivo sea el proceso de programación.
Si tomamos obras como las anteriores, donde todos los personajes tienen rasgos de molde y un desarrollo superficial, les cambiamos los nombres y mezclamos las características, podemos tener una fuente infinita de «personalidades» vacías; si traducimos a un pequeño algoritmo los intereses amorosos y enredos sentimentales de las obras más famosas, tenemos nuestro argumento; si agregamos una temática, época o simplemente un entorno geográfico particular, el público llega solo, como osos a la miel. Al cabo de un rato, tendremos cientos de nuevas franquicias, cada una con tres o cuatro libros, algunas películas en pre-producción y merchandising listo para salir del horno como pan caliente.

Max Tegmark dice que la marea sube desde los procesos más simples como multiplicar «314,159 por 271,828», algo muchísimo más fácil para una computadora que reconocer un rostro; mientras que para un bebé, esta habilidad viene literalmente de nacimiento. Tegmark imagina un mundo donde los ordenadores son capaces de escribir una historia que atrape al espectador; de producir rostros y paisajes simplemente mediante imitación pragmática; de la creación y reproducción de voces con imitación de ondas de sonido; y la formación de una plataforma virtual (muy parecida a Netflix); logrando así prescindir de los humanos para la creación de lo que hoy conocemos como el «arte y entretenimiento». Y seamos honestos, esto tampoco es que lo veamos tan lejos.

Hoy el autocorrector de un celular es capaz de reducir nuestros tecleos en un 85% (tampoco es que nuestro vocabulario diario sea muy extenso, aprox. 400 palabras diferentes); podemos ver cómo de manera asistida los ordenadores son capaces de generar rostros de actores fallecidos; como, con un pequeño sample, literalmente cualquiera puede hacer decir lo que sea a quien quiera, simplemente ordenando rigurosamente los fragmentos de audio. El día que imagina Tegmark está muy lejos, pero indudablemente va a llegar, y muy probablemente, no seremos capaces de notar la diferencia.

Les dejo este video en el que investigadores de la Universidad de Washington nos muestran su creación: un Obama sintético que articula palabras a la perfección y es capaz de decir absolutamente cualquier cosa, gracias a unas catorce horas de metraje minuciosamente seleccionado y estudiado. ¿Podrías notar la diferencia?

(Véase: Deep Fake Video)

 

Pero regresando al tema de la Inteligencia Artificial; el dilema principal, y mediante el cual se ha rebatido en numerosas ocasiones el Test de Turing es: ¿Realmente se trata de Inteligencia si lo único que hace una máquina es imitar el comportamiento humano? ¿Estaría comprendiendo los procesos o solo simulando que lo hace? ¿Importa?

 

La Habitación China

Imaginemos a una persona encerrada en una habitación, donde recibe de un lado un papel con escritura en chino, y debe sacar por el otro una respuesta coherente en el mismo idioma. Este sujeto está equipado con todos los manuales necesarios y únicamente resta saber que «Si entran tal o tal conjunto de letras, debe regresar tal y tal en respuesta«, o en otras palabras:

«Si introducen la oración ‘¿Cómo estás?’, devolver ‘Pus bien ¿Y tú?’» Y nada más. Sin importar si se comprende realmente lo que se está respondiendo o incluso preguntando. Reduciendo las palabras a elementos correspondientes entre sí.

En resumen: «Una persona puede ejecutar mecánicamente un programa para el idioma chino sin entender el idioma chino».

Y suena bastante razonable, después de todo. Debatiría efectivamente el Test de Turing, pero…

No soy de esos que humanizan las cosas; estoy consciente de que el resultado final es el mismo sea cual sea el proceso, pero existe una barrera notable y es lo que propicia que incluso hoy en día, luego de tanto esfuerzo, los traductores -automáticos- más populares sigan fallando en la interpretación del idioma:

 

La construcción oracional y lógica gramatical.

La traducción.

En esencia, la traducción puede verse como un proceso muy simple; únicamente se trata de cambiar una palabra por su correspondiente en otra lengua. Pero incluso dejando de lado que en muchas ocasiones las palabras están dotadas de ciertos matices irrepetibles y hacen imposible una traducción fidedigna, también la cosa se complica cuando las vemos dentro de un grupo; aún si las palabras como entes aislados son fácilmente traducibles (aunque en algunos casos, como el alemán, puedan corresponder a muchas distintas).

Es a través de las oraciones que exigen al traductor un esfuerzo por comprensión gramatical, mediante las cuales una teoría como «La habitación china» puede verse frustrada.

Tomándome la libertad de ejemplificar con uno de los traductores más populares, acudimos a Google Translate.

¿Solían usar esta herramienta allá por el 2011-12 y de ahí para atrás? ¿Recuerdan cómo traducía de la manera más absurda, cambiando palabras a discreción sin tomar en cuenta el contexto?

¿Cómo, por ejemplo, traduciría algo como…

«Me gusta tomar agua», en lugar de por «I like to drink water», por «I like to take water» (tomar, agarrar)?

(Ni siquiera exagero tanto).

Es algo que actualmente ha quedado más o menos resuelto; pues aunque el traductor no es capaz de comprender lo que estás diciendo, sí puede comparar las respuestas y evaluaciones que ha obtenido como retroalimentación y darse cuenta que, regularmente, tal palabra, aunque pueda ser traducida de cierta forma, si está acompañada de tal(es) elemento(s) deberá asignársele tal otra acepción. Pero no llegó a esta conclusión por aprendizaje, ni siquiera directamente por programación, sino gracias a la retroalimentación.

Miren un ejemplo actual:

Todo muy bien ¿Verdad? ahora el traductor es «capaz» de distinguir entre el adjetivo «escondidas» como en «ellas están escondidas» y el juego «Las escondidas». Pero como mencioné, esto no se debe a una programación (aunque sí a un algoritmo, que parcialmente es similar), sino a la ayuda de la comunidad.

Los usuarios del traductor nutren al mismo a través de años de evaluación continua, llevada a cabo por millones de personas consciente o inconscientemente. Ahora los datos de su base son tan amplios que le permiten desplegar una respuesta estadísticamente acertada. No obstante sigue impedido por su comprensión de contexto.

Veamos esto:

Aquí hacemos uso de la palabra «escondidas» como participio; igual que en «Ellas están escondidas»; y la única manera de distinguirlo sería mediante la comprensión del contexto.

Y el traductor se funde; no tiene la mínima idea de lo que está pasando, y, de buenas a primeras, decide, de paso, dar la respuesta incorrecta. Es un ejemplo (como los que repararon con los años) de cómo puedes notar cuando alguien hizo uso de un traductor automático, pues cualquiera con una comprensión mediana de uno o los dos idiomas, se podría dar cuenta del error en seguida.

Veamos otro más:

Sí, tal vez fui un poco tramposo aquí, pero recordemos que actualmente no hace falta (ni propicia distinción) la tilde en «sólo», según la RAE; y aunque es una frase que genera ambigüedad incluso en su lengua natal, cualquier hablante se inclinaría por «alone» (solo), y no «only» (únicamente). ¿Por qué? Porque entiende el contexto; está solo, porque está esperando a que lleguen personas, que le harán compañía.

 

Y una vez que comprendemos que frases tan cortas generan tanta confusión en el programa como lo hacían grupos de dos o tres palabras en tiempos pretéritos, nos damos cuenta de por qué la «Interacción social» se halla tan arriba en el paisaje antes mencionado (Figura 2.2), y la traducción debería hacerlo igualmente.

El proceso mediante el cual un sistema acabará brindándonos una traducción perfecta no es inalcanzable, pero es en extremo exhaustivo, y requiere de la intervención de la comunidad. Imaginemos entonces lo exigente que sería una interacción dinámica.

A medida que la conversación se vuelve más compleja, también se complica para las máquinas una interpretación si es que no están comprendiendo el texto.

Y para empeorar las cosas, es formulando oraciones subordinadas (específicamente), cuando prácticamente cualquier bot conversacional tendría graves problemas.

 

Oraciones subordinadas

Las oraciones subordinadas son aquellas que dependen de una oración principal. Su relación es de una dependencia lógica, es decir, una tiene un sentido mediante la otra.

«Ayer iba a la tienda cuando me encontré un perrito que me recordó al que tenía cuando estudiaba la secundaria, y le grité que se fuera a su casa».

«¿Qué hice ayer?»

Bueno, fui a la tienda y le grité a un perrito ¿no? El resto depende de ello, esa es la idea central de la oración; pero si dejamos de lado el orden ¿Cómo saberlo? Solo por interpretación.

Un sistema no tiene criterio, no distingue jerarquías dentro de una oración a menos que se le indiquen tajantemente; puede señalar algunos elementos como apertura y cierre de ideas tal como nosotros hacemos con comas o paréntesis, pero las variables dentro de una lengua son excesivas.
Estas no solo están atadas a una cantidad monstruosa de palabras distintas, sino además, a cuáles de estas usa una u otra persona y cómo es que las entiende y hace uso de ellas.

Misma oración pero con paréntesis que facilitan su jerarquización de ideas:

«Ayer que fui a la tienda, me encontré un perrito (me recordó al que tenía cuando estudiaba la secundaria) y le grité que se fuera a su casa».

Pero los métodos de escritura, sean más certeros unos que otros o no, son distintos según el hablante, y en definitiva tendrán interpretaciones diferentes. Además, a pesar de una sintaxis clara, los problemas persisten:

«Llegué a caminar a casa, ir de un lugar a otro, tomar atajos, a comer en la calle, y aún así nunca me perdí». (¿A qué correspondería por oposición «perder»? ¿Con qué tiene relación? ¿Con «comer en la calle»?)

«Juan es gracioso, nunca para de hacerme reír, y cuando me lo encontré en la calle me insultó, así que lo golpeé». (¿Lo golpeé porque es gracioso?)

«Ayer, mientras recordaba los días que iba a la primaria y lo mucho que jugaba con mis compañeros a las escondidas en el aula, caminaba a la tienda y me comía un Gansito«

Sobre este último ejemplo. ¿A dónde pertenece la última oración? ¿Es un complemento de lo más próximo, o de la idea principal? ¿El sujeto se comía el Gansito ayer, o cuando iba a la primaria? Cualquier hablante lo sabría, una computadora no, y programar un algoritmo para el reconocimiento «verbal» implicaría desmenuzar de manera manual miles de ejemplos -o recibirlos mediante los usuarios- y esto acaba, en muchas ocasiones, en resultados desastrosos.

El método óptimo mediante el que podría una máquina comprender los ciclos y la sucesión de ideas sería sustituir los elementos sintácticos funcionales (las comas, paréntesis y conjunciones), por palabras, pero cada individuo tiene un manejo distinto del idioma, aún cuando logramos comprendernos.

La confusión de oraciones subordinadas se da incluso en una oración más simple:

A pesar de no poner sujeto, podemos comprender quién realizó la acción.
A pesar de no escribir «Ayer visitamos» y preferir dejarlo al final, entendemos el tiempo.
¿La visitamos ayer, o tuvo el accidente ayer?
¿A dónde fuimos ayer?
¿Quién tuvo un accidente? ¿La moto?
El accidente se «tuvo», así que ¿es un bebé, un brote psicótico, o una obligación? Sin programar las variables manualmente, podría ser cualquiera. Existe una correlación lógica entre las palabras.

Y encima tendríamos que tomar en cuenta los enredados procesos de pensamiento de las personas con un manejo deficiente del lenguaje, entiéndase niños o adultos.

«Y entonces le dije a Mariana que le dijera que si por favor me mandaba el archivo que el otro día le pedí y sinencambio no me lo mandó».

Aún si se realiza un proceso exhaustivo de identificación de palabras como indicadores de lógica gramatical, las variables son escandalosas; habría que abrir al público el programa en cuestión y arriesgarse a un montón de retroalimentación negativa que acabaría por llevar a la ruina al bot, tal como ocurrió con el SimSimi, que repetía ideas sin sentido debido a todos esos usuarios que se empeñaban en destrozarlo, como si fuera un perico aprendiendo únicamente a decir groserías.

¿Puedes abrir el programa para obtener la retroalimentación necesaria sin perder calidad en ella y de manera gratuita o al menos asequible? No; es un callejón sin salida.

Ese es el principal factor por el cuál los bots conversacionales no han tenido una mejora relevante en tantos años; porque los programadores se topan con limitaciones de tiempo y esfuerzo. No es lo mismo programar un sistema para responder a oraciones controladas como «¿Cómo estás?», a incluir todas las millones de variables y sus manifestaciones de manera manual, aún si se apoyara en un algoritmo, pues requeriría del ingreso de los datos de manera asistida, es decir, la manía y dedicación de los usuarios, que deberían estar dispuestos a nutrir positivamente y para la eternidad a un robot, a fin de hacerlo capaz de burlar una de las pruebas que tanto ha causado problemas.

Pero no podemos decidir llevar a cabo una evaluación simplificada; al contrario; si ponemos a prueba a un bot conversacional con frases simples, estaríamos recibiendo de regreso una respuesta programada de forma básica, tal como en el ejemplo de la habitación china, es decir: «si se introduce esto, escribo esto». Hablaríamos con una pared. Es necesario utilizar oraciones complejas y que pongan realmente en apuros el «tipo de pensamiento» del sistema en cuestión.

A continuación un par de ejemplos que propone Turing, cortesía de nuestro patrocinador oficial, Wikipedia:

«Interrogador: ¿Podría X decirme el largo de su cabello?
Participante: Mi cabello está en capas y las hebras más largas son de aproximadamente 9 pulgadas de largo.

Cuando Turing introduce algo de conocimiento especializado a sus diálogos imaginarios, el tema no es matemáticas ni electrónica sino poesía:

Interrogador: En la primera línea de tu soneto se lee: “Podré compararla con un día de verano”, ¿acaso no funcionaría “un día de primavera” de igual o mejor manera?
Testigo: No funcionaría.
Interrogador: ¿Qué tal “un día de invierno”? Eso debería funcionar.
Testigo: Sí, pero nadie quiere ser comparado con un día de invierno».

Turing muestra la sensibilidad estética como pilar para la Inteligencia Artificial, pero es esencial notar que no solo así impone limitantes al sistema, sino también gracias a la construcción de las preguntas; algunas ideas no pueden ser interpretadas metódicamente, sino que han de hacerse de manera orgánica, comprendiendo el trasfondo.

Vamos a hacer la prueba con tres bots conversacionales:

Cleverbot

  • Confundido con los idiomas (como siempre).
  • Respuesta absurda, pero al menos comprende que le hice una pregunta y se excusa (ya sería el colmo).

 

Evie

  • No se confundió de idioma (esta vez).
  • Caracteres inexplicables (‘) pero no hay que ser quisquilloso.
  • Respuesta aleatoria.

 

SimSimi

  • Inglés, a pesar de haber completado la ficha en español.
  • Remanente de la campaña involuntaria de millones de españoles en reacción a los videos de Auronplay y Giorgio. Se limita a repetir.
  • Ojo, este identificó las variables «largo» y «cabello». Si no fuera por el «no» del inicio (y que es un copy-paste de la respuesta de alguien más, con todo y errores ortográficos), podría resultar más convincente.
  • Claro, el SimSimi es caracterizado por ponerse como energúmeno a los veinte segundos y comenzar a insultarte a diestra y siniestra con comentarios aleatorios de otros usuarios, pero no pude llegar a eso, me concedió 3 diálogos y luego me quiso cobrar (o exigió compartir con amigos, yo que sé).

 

El camino hasta ahora

Y podría subir aquí cien capturas de conversaciones incomprensibles, pero dejaré que te hagas una idea tú mismo y entres a darte una vuelta por los bots conversacionales.

Debemos tener en cuenta que, justamente, estos robots fueron víctimas de la corrupción por usuarios de la que hablábamos; es impresionante ver cómo en la actualidad el Cleverbot (por ejemplo) está más atrasado que lo que estaba hace diez años, cuando millones de usuarios nos metíamos a conversar e impresionábamos nuestras juveniles mentes, junto a algunos amigos, con un bot que de vez en cuando levantaba una que otra ceja.

Si las «IA» más populares (no por ello las mejores) sufren a la mínima ¿qué pasaría si introducimos las preguntas aún ligeramente complejas que serían necesarias para emitir un juicio para la prueba?

Hay que contemplar que el Test de Turing no evalúa si es una respuesta inteligente o no la que se emite, sino que sea convincente como imitación de la que daría una persona; bajo la premisa de que algunas respuestas, aún dadas por individuos, no son inteligentes. Sin embargo, ni siquiera se llega actualmente a una interacción más que aleatoria cuando tratamos de entablar una conversación ligeramente sustancial.

¿Llegará el día en que una Inteligencia Artificial nos engañe?

¿Cómo se solucionará la limitante de tiempo y exhaustividad que supone una programación como la necesaria para alcanzar un entendimiento de al menos un idioma, dadas las casi infinitas variables de construcción oracional, lógica y uso del lenguaje?

Llegar a vencer la prueba de Turing no es solo cuestión de la nula percepción sensible del robot, sino consecuencia de tener que apoyarnos para ello en algo tan inestable como lo es la lengua.

Resumiendo mi idea central: Si lo que quieres es que un bot conversacional falle la prueba, subordina tus oraciones deliberadamente, y su falta de lógica gramatical hará inmediatamente evidente si se trata o no de una persona; pues aún tratándose de alguien no-tan-listo, el idioma siempre podremos comprenderlo. El problema de tratar de sintetizarlo, actualmente, no parece tener solución. Ya veremos luego.

 

La lógica gramatical y el Test de Turing

Osman AT.

 

 

Anuncio publicitario

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s