miércoles, 8 de junio de 2016

Pistas para una IA conversadora


Ya he abordado antes el problema de la inteligencia artificial y los trabajos actuales en este campo, especialmente el desarrollo del aprendizaje de máquina, que es el que más se usa actualmente en los "asistentes personales" y los sistemas de búsqueda y de recomendaciones en las redes sociales. 

También he señalado los esfuerzos que se realizan en el campo del procesamiento del lenguaje, que es el que mejor demuestra los avances realizados hasta hora y las limitaciones de la IA. Es también, por cierto, el que presenta el mayor interés para los comunicadores, ya que se relaciona directamente con el problema de la transmisión y del uso de la información. 

Podemos recordar que uno de los primeros intentos -ya famoso- de lograr un intercambio verbal con un computador utilizando el lenguaje natural ha sido el programa ELIZA creado por Weizenbaum en 1966, en el Instituto Tecnológico de Massachusetts. Pretendía simular una conversación entre un siquiatra y su paciente. Fue posiblemente el primer programa que logró dar la apariencia de un diálogo entre el usuario y la máquina. Pero, por cierto, a la larga, cualquier usuario inteligente terminaba descubriendo que "algo andaba mal". No había en este caso ni un mínimo de captación de sentido, sino solo una hábil previsión de palabras-claves, acompañada de reglas para formular oraciones únicamente destinadas a inducir otra afirmación por parte del sujeto humano en interacción con él. Solo había un automatismo expresivo sin verdadero contenido significativo. 

Los programadores de IA descubrieron así rápidamente que el procesamiento del mero léxico no conduce a ninguna parte y los intentos de la época (como las primeras traducciones automáticas) fracasaron estrepitosamente. 

El primer paso verdaderamente importante se dió por lo tanto cuando los investigadores descubrieron que los problemas de comprensión (sentido) no son idénticos a los de expresión (sintaxis). Si bien puede ser importante reconocer la función gramatical (sujeto, verbo, etc) de las palabras, los experimentos de I.A. -que partieron por esta vía- han demostrado que la comprensión no reside en tal identificación de funciones gramaticales sino en la capacidad de manejar los significados. En otras palabras, la sintaxis sólo indica el modo correcto de expresar verbalmente un determinado contenido conceptual y puede ayudar a reconocer éste. Como ya lo sugerimos, el ser humano, de hecho, manipula los significados mucho antes de saber de gramática. Y la comprensión del lenguaje se demuestra fundamentalmente en la capacidad de parafrasear, es decir de referirse a un mismo contenido cambiando su forma de expresión. 

Para que este "procesamiento conceptual" pueda ocurrir, se ha de informar al computador acerca del sentido de las palabras, para lo cual se ha de dotarlo de algo más que un diccionario: de un sistema que rinde cuenta de la estructura de un área del conocimiento, en que las relaciones son de suma importancia. Así, por ejemplo, se ha de explicar lo que es un regalo relacionando este término con muchos otros como dar, recibir, donación, gratuidad, explicando que la propiedad del objeto es transferida de la primera persona a la segunda, que se da generalmente con oportunidad de un acontecimiento festivo, grato, que se ha de agradecer, etc. 

Toda información inicial (o pregunta) habrá entonces de ser traducida y vertida en un modelo fundamental que represente los múltiples aspectos del significado, independientemente de la gramática. El programa deberá permitir utilizar este modelo de múltiples maneras, a fin de relacionar los datos de un modo nuevo y, así, generar una paráfrasis o una respuesta a una pregunta acerca de los datos, es decir realizar una inferencia a partir del conocimiento. 

Contando con una representación del significado en memoria, un programa orientado al diálogo en torno a este significado, debe contar además con dos segmentos complementarios: primero un "analizador" , destinado a transformar la pregunta que se haga para extraer su significado, y segundo un "generador" , capaz de unir los datos de la respuesta en una oración gramaticalmente correcta. Sólo en estos segmentos (llamados "rutinas" ) intervienen las reglas gramaticales: primero para pasar de la expresión-pregunta a su significado y luego para pasar de los datos a la expresión-respuesta. Con un generador diseñado para otro idioma, se obtiene un programa de traducción efectivamente basado en el significado, cosa que no se había podido lograr anteriormente de otro modo. 

¿De qué se componen este tipo de modelo? En el nivel inferior se encuentran los conceptos. La "comprensión" de los mismos ha sido "imitada" por muchos mediante diccionarios que contienen todas las palabras equivalentes (sinónimos) y complejas reglas para distinguir -a partir del contexto- cuando una misma palabra tiene varios significados. Se puede comprara un concepto con una molécula y -para compararla con otra- considerar los átomos que la componen. Se forman así "primitivas", que agrupan y permiten la sustitución de conceptos de idéntico significado. 

Le sigue un segundo nivel de descripción: ¿cuáles son los "elementos implicados" en cada primitiva o combinación de primitivas? Cada acción se desarrolla de un determinado modo, y el computador ha de "saberlo" para interpretar correctamente la información o la pregunta que recibe. Este desarrollo es una nueva "estructura de conocimiento" -típicamente humana- que ha sido llamado un "guión". Se ha lleguado ya a guiones complejos que encadenan múltiples acciones y consideran situaciones o "escenarios" complejos, como por ejemplo todo lo que implica "comer en un restaurante" (escoger mesa, sentarse, mirar el menú, llamar al garzón, ordenar, qué puede ocurrir si se dice al cliente que no hay lo que pide, etc...). La descripción previa de tales guiones con escenarios es fundamental para que el computador pueda manejar adecuadamente el sentido de los relatos que luego se le entreguen. 

Salta a la vista la dificultad de crear programas realmente polivalentes, capaz de abordar cualquier temática: es mucho más difícil instruir a un computador que a un niño de diez años, como dijo Roger Schank hace ya treinta años. Si los guiones son útiles en casos comunes son insuficientes en situaciones más excepcionales. Tampoco pueden describir secuencias de acciones muy largas. Y los hechos no siempre ocurren de acuerdo con un plan, lo cual plantea un problema aún mayor: deducir posibles planes a partir de un conocimiento reducido a algunos objetivos, un nivel donde resulta muy difícil pensar en un aparataje artificial. Nadie parece saber, aún, cómo resolver este tipo de dificultad, aunque se conoce desde hace varias décadas.


No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.