Andrés Hohendahl y la creación de las personas virtuales

Ingeniero electrónico, especializado en el desarrollo de modelos de IA, desde 2005 sus estudios se enfocan en Lingüística y Procesamiento del Lenguaje Natural (PNL). Conversó con Ok-Bot sobre la creación de sus “personas virtuales”, bots impulsados por un esquema conversacional basados en el Dialog Description Language, un código que permite a los asistentes tener conversaciones “humanas”. ¿Es la evolución de los bots?

1. -¿Cómo se han relacionado históricamente los chatbots y la Inteligencia Artificial?

-La inteligencia artificial corre tras bambalinas. Los sistemas de chat comenzaron con los SMS. La prehistoria son los mensajes de texto. Después aparecieron las aplicaciones de mensajería, como el MSN o Google Chat, pero la realidad es que el messenger tiene siempre del otro lado una persona.

PandoraBots inventó un sistema que se llamaba AIML y no tenía nada de inteligencia artificial. Es un mecanismo que te permitía buscar *perro* y la máquina te decía «tenés un perro». En computación se llaman expresiones regulares y tienen un alcance absolutamente limitado. Podemos decir que fueron los pañales de los bots.

Los bots tenían un montón de palabras, las trataban de «pescar» y te contestaban. Ese fue el principio de la famosa máquina Eliza, el primer programa de Joseph Weizenbaum. Básicamente buscaba en inglés las palabras claves, reemplazaba los pronombres you por me, y automáticamente empalmaba lo que te decía, con lo que vos habías dicho. Parecía que te entendía. La gente estaba fascinada con la inteligencia artificial, pero era un engaño como la mayoría de los sistemas de bots que existen hoy en día. Después de eso, hubo un silencio entre 1965 hasta 2013. El problema es manejar un vocabulario y saber qué hacer con eso. Imagínense que una persona habla bien inglés cuando conoce 500 palabras, pero en castellano es otra historia. Es un idioma rico en expresiones idiomáticas. Es así, yo lo sufrí, es un despelote.

2. -Luego de ese año, ¿qué sucedió con los sistemas de lenguaje?

-Para 2013, los sistemas de lenguaje evolucionaron a través de un modelo que desarrolló Mikolov, un trabajador de Google, que se llamó Word embeddings. Básicamente, toma las palabras y las asocia a una entidad matemática que lo llaman vector. Es decir, transforma las palabras en una serie de números que no son pocos. Con esos números podés representar una palabra como algo que tiene 300 dimensiones, es una entidad muy compleja. Él permitió generar modelos de lenguajes a partir de palabras.

Entonces, vinieron los grandes e idearon cómo vender sus data centers a la gente. Deben haber pensado “Vamos a hacer un modelo de lenguaje que necesite mucha memoria, 5 millones de kilos de procesamiento y les vamos a decir que eso entiende”. Luego, salieron con las intenciones. En ese momento, salieron los primeros chatbots, bastante tontos.

En 2014, se lanzó Alexa acompañada de sus primos, como Google Assistant. En ese mismo año, Amazon afirmó que en tres meses iba a tener el español resuelto. Estamos en 2021 y no entiende una conjugación.

De alguna manera, el entender se basaba en comprender frases. Eso es algo que anda muy mal, es muy complicado de resolver y se hace con tremendos data centers que te ves obligado a contratar a los cuatro fantásticos: Microsoft, IBM, Google y Facebook.

La cuestión es que nos vendieron que tenían sistemas inteligentes e hicieron estos asistentes virtuales. Pero, se dieron cuenta de que vos les haces una pregunta, tratan de entenderla, en general lo hacen bastante mal, y después te dan una respuesta. Ahí se terminó la historia.

3. -¿En qué se diferencian los bots de las personas virtuales?

-El concepto de persona virtual es un invento mío. La conversación es un tema complicado y nosotros no estamos acostumbrados a tomarlo como un tema de estudio. La conversación no es una cosa lineal. Uno no puede diseñar una conversación y decidir que quiero que me conteste la otra persona.

Los chatbots no entienden nada, agarran lo que escribís, lo anotan en una base de datos y chau. Ahí no hay inteligencia artificial, no hay nada. Te preguntan cuál es tu edad y en el caso de que le respondas otra cosa, te lo repite hasta que le digas eso. Si te pide tu nombre y le decís “no te lo digo, te va a responder “hola no te lo digo”. Alexa es lo mismo. Tiene un sistema muy sofisticado, pero no sale de ahí.
En cambio, quise hacer un chatbot que entendiera algo y escribí mi primer programa durante seis meses. El chatbot solo contestaba seis preguntas, pero únicamente las que le hacía yo. Si preguntaba otra persona, no lo entendía.

Hace alrededor de 10 años puse el foco en que el flujo de conversación no anda bien. Estamos hablando de sordos, ciegos y encima tontos. No entienden nada y no saben qué decir. Me di cuenta de que lo primero que hay que hacer es que aprenda.

4. -¿Cómo es el proceso de aprendizaje de un bot?

-El aprendizaje se hace en laboratorio, no en el campo. Microsoft puso a un bot a aprender en el campo y terminó siendo xenófobo, misógino y violento porque aprendía las cosas que le decía la gente.

Los chatbots que andan dando vueltas miran para un solo lado nada más, son como caballos que tiene dos viseras a los laterales. Entonces, decidí estudiar cómo las personas se comunican y me puse a estudiar literatura. Me propuse conectar el teatro con la computación. Uní la manera de prever un diálogo, como en los guiones de teatro, y entendí que el texto sin contexto no es nada.

Me di cuenta que en la computación hay una cosa muy común que es el diagrama de flujos. Cuando hay una conversación, un programa no puede seguir un flujo porque no existe. Sin embargo, podés tener políticas de seguimiento de flujo.

Nosotros tenemos conocimiento, personalidad y estados emocionales, pero los componentes principales son el contexto, las intenciones de las personas, y las capacidades que tiene la persona para mantener una conversación decente.  Cuando tenés esa conjunción, lo único que podés hacer es describir el contexto de esa conversación. Había que encontrar la manera de separar la computación de la conversación. Por lo tanto, me dije “vamos a describir la conversación como en el teatro y escribir en computación con lenguajes de alto nivel, por ejemplo C”.

5. -¿Qué consecuencias trajo esa intervención?

-Descubrí que existen los compiladores, que transforman un lenguaje en una secuencia de instrucciones y que compila palabras, pero el lenguaje es ambiguo. Necesitaba un sistema que desambigue y resista los horrores de ortografía de las personas. De modo que definí un lenguaje que se llama DDL (Dialog Description Language).
 
De modo que le indicaba, por ejemplo, cuando te hablan de algún animal ponzoñoso responde que tengan cuidado. Ese lenguaje, similar al que uno puede decirle a un asistente cuando quiere darle ciertas indicaciones para proceder, puesto en términos de computación habilita a crear un concepto nuevo.

6. -¿Qué características tiene?

-Ese concepto de poder fluir en una conversación conforme a muchas cosas que ocurren previamente es lo que llamo capacidad de diálogo real. Es la evolución de los chatbots, son personas virtuales. Es un sistema automatizado que tiene la capacidad de entender, pero cuyo programa de funcionamiento imita de alguna manera la forma en la que pensamos y tomamos decisiones durante una conversación.
 
El sistema de alguna manera inventa su propio diagrama de flujo para cada situación. Puede conversar con las personas, saber entender una respuesta y tiene la capacidad de retomar preguntas que quedaron pendientes en medio de la conversación. Esa es la capacidad de responder fuera de orden y es lo que hacemos todo el tiempo los seres humanos.
 
Lo segundo, es la capacidad empática. Cuando le preguntas algo a un bot algo, no te contesta y te pregunta si se lo podés decir de otra manera, es antipático. El remedio es hacer que los sistemas entiendan el estado de ánimo de las personas, por eso tuve que estudiar psicología.
me puse a trabajar con varios científicos para recolectar palabras y encontrar qué emociones están asociadas con éstas. Todas las palabras vienen moduladas con nuestras emociones, si lográs detectar esas emociones, podés modular una conversación y que sea más amena. No basta con que te entiendan, los sistemas tienen que simular sentir de la manera en que lo hacen las personas.
 
Esa capacidad de seguir una conversación con toda la complejidad que tiene y poder empatizar con un humano, son lo que llamo los elementos mínimos para definir una persona, de ahí sale el nombre de persona virtual.

Deja un comentario