Un estudio del Instituto Tecnológico de Massachusetts (MIT), en Estados Unidos, ha demostrado que los ordenadores podrían aprender el significado de palabras desconocidas, a través de la exploración y de la interacción con su entorno y gracias a un novedoso sistema de aprendizaje automático. Los autores de la investigación sometieron a equipos informáticos a un complejo juego de estrategia. Con el software de aprendizaje automático desarrollado, los ordenadores mejoraron su ratio de victorias en las partidas, y fueron capaces de indagar y seguir un manual de instrucciones
Los ordenadores son excelentes en el tratamiento de palabras como datos: los procesadores de texto permiten reorganizar y dar formato a datos textuales del modo en que prefiera el usuario y los motores de búsqueda pueden encontrar rápidamente una palabra en cualquier lugar de la Web. Pero, ¿qué supone para un ordenador comprender realmente el significado de una frase escrita en Inglés, francés, urdu o mandarín?
En los últimos años, un equipo de investigación
del Laboratorio de Inteligencia Artificial e Informática del Instituto
Tecnológico de Massachusetts (MIT), de Estados Unidos, ha centrado sus esfuerzos en
el diseño de sistemas de aprendizaje automático capaces de analizar y seguir
una serie de instrucciones para realizar una tarea desconocida, con resultados
sorprendentemente buenos, publica el MIT en un un comunicado.
Ya en 2009, en la reunión anual de la Asociación de
Lingüística Computacional (ACL), los investigadores del
laboratorio de Regina Barzilay, profesora asociada de Informática e Ingeniería
Eléctrica, obtuvieron el premio al mejor ‘informe’ por un sistema que generaba scripts (o
archivos de órdenes) para la instalación de una pieza de software en una
computadora Windows, mediante la revisión de las instrucciones publicadas en el
sitio de ayuda de Microsoft.
En la cita de este año, un equipo compuesto por la
profesora Barzilay, su estudiante S.R.K. Branavan y David Silver (de la Universidad de
Londres) aplicó un enfoque similar al anterior, en este caso a un problema más
complicado: aprender a jugar a "Civilización", un juego de ordenador
en el que los participantes tienen que desarrollar una ciudad en un imperio a
lo largo de siglos de historia de la humanidad. Al aplicar un sistema de
aprendizaje automático al ordenador, para que éste fuera capaz de utilizar un
manual de jugador que le guiase en el desarrollo de su juego de estrategia, la
ratio de victorias del sistema informático pasó del 46 al 79%.
El porqué del juego
Branavan, el primer autor de documentos de 2009 y
del actual, ambos presentados en la reunión ACL, explica por qué se ha
utilizado el campo de juego para sus estudios: "Los juegos son utilizados
como un banco de pruebas para técnicas de inteligencia artificial, debido
simplemente a su complejidad. Cada acción que se toma en el juego no tiene un
resultado predeterminado, ya que el propio juego o el oponente pueden
reaccionar a lo que haces, por lo que se necesita una técnica que pueda manejar
escenarios muy complejos que reaccionan de maneras muy diferentes al
azar".
Por su parte, Barzilay opina que los manuales de juego tienen un texto muy abierto. “No te dicen cómo ganar, sólo te dan consejos muy generales y sugerencias, de modo que el usuario tiene que averiguar un montón de cosas por su cuenta”, afirma. En relación con una aplicación como un programa de instalación de software, su compañero Branavan añade que los juegos son “un paso más hacia el mundo real".
Empezar desde cero
Lo extraordinario del sistema de Barzilay y
Branavan es que éste comienza sin prácticamente ningún conocimiento previo
sobre la tarea que está destinado a realizar o el idioma en el que están
escritas las instrucciones. Dispone de una lista de acciones que puede realizar
-como mover el cursor, pulsar el botón derecho del ratón o hacer clic en el
izquierdo-, tiene acceso a la información que aparece en pantalla y una forma
de medir su éxito, como por ejemplo, si el software ha sido instalado o si se
ha ganado el juego. Sin embargo, el sistema no sabe qué acciones se
corresponden con las palabras utilizadas en el conjunto de instrucciones, ni
tampoco lo que representan los objetos en el mundo del juego.
Así pues, inicialmente, su comportamiento es casi
totalmente aleatorio. Pero a medida que se llevan a cabo acciones diversas, con
diferentes palabras que aparecen en la pantalla, se pueden buscar ejemplos de
esas palabras en el conjunto de instrucciones. Del mismo modo es posible buscar
en el texto contextual las palabras asociadas y formular hipótesis acerca de
qué acciones se corresponden con esas palabras. A las hipótesis que siempre
conduzcan a buenos resultados se les dará más crédito que a aquellas que
constantemente nos lleven a malos resultados, las cuales terminarán por
descartarse.
La prueba del éxito
En el caso de la instalación de un software, el
sistema fue capaz de reproducir el 80% de los pasos que seguía una persona leyendo
las mismas instrucciones. En el caso del juego de ordenador, el sistema ganó el
79% de las partidas que jugó, mientras que una versión diferente que no se basó
en las instrucciones escritas ganó sólo el 46% de las partidas. Los
investigadores también probaron un algoritmo de aprendizaje más sofisticado que
evitaba las entradas de texto, pero utilizaba otras técnicas para mejorar su
rendimiento. En este caso, el algoritmo permitió ganar sólo un 62% de las
partidas.
"Si me hubieran preguntado antes si yo
pensaba que podíamos hacer esto habría dicho que no", confiesa Eugene
Charniak, profesor de Informática de la Universidad Brown.
"Ustedes están construyendo algo en un campo del que se tiene muy poca
información, pero dan pistas desde dentro de ese propio campo".
Charniak señala que cuando los investigadores del
MIT presentaron su trabajo en la reunión, algunos miembros de la audiencia
sostuvieron que los sistemas de aprendizaje más sofisticados habían obtenido
mejores resultados que aquellos con los que los investigadores compararon su
sistema. Pero para Charniak no está claro que eso sea realmente relevante: “¿A
quién le importa? Lo importante es que este sistema fue capaz de extraer
información útil del manual”.
La mayoría de los juegos de ordenador tan
complejos como "Civilización" incluyen algoritmos que permiten a los
jugadores enfrentarse al ordenador. Para ello, los programadores tienen que
desarrollar las estrategias que debe seguir el equipo y escribir el código para
ejecutarlas. Barzilay y Branavan consideran que, en el corto plazo, su sistema
podría hacer este trabajo mucho más fácil para los programadores, mediante la
creación automática de algoritmos que obtengan mejores resultados que los
diseñados por el propio ser humano.
Pero el propósito principal del proyecto,
financiado por la Fundación Nacional de la Ciencia de
Estados Unidos, ha sido el de demostrar que los sistemas informáticos pueden
aprender el significado de las palabras a través de la exploración y de la
interacción con su entorno, un hallazgo muy prometedor para futuras
investigaciones. Tanto, que Barzilay y sus estudiantes ya han comenzado a
adaptar su proyecto para trabajar con sistemas robóticos.
Tags: Ordenadores, Sistemas Informáticos