14 jul 2011

Crean un sistema informático capaz de interpretar un manual de instrucciones


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. Por Elena Higueras.

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.



FUENTE:

No hay comentarios:

Hemeroteca

Etiquetas