TextWorld: Un ambiente de aprendizaje para entrenar a los agentes de aprendizaje por refuerzo, inspirado en juegos basados en texto

Por: Wendy Tay, gerente de programa; Adam Trischler, gerente de investigación; Emery Fine, editorial

Recién salido del laboratorio de Microsoft Research Montreal, llega un proyecto de código abierto llamado TextWorld, un marco de trabajo Python extensible para generar juegos basados en texto. Los investigadores en aprendizaje por refuerzo pueden utilizar TextWorld para entrenar y probar agentes de IA en habilidades como entendimiento del lenguaje, extracción asequible, memoria y planeación, exploración y más. Los investigadores pueden estudiar este contexto de generalización y transferir aprendizaje. TextWorld además, corre juegos existentes basados en texto, como el legendario Zork, para evaluar qué tan bien los agentes de IA se desempeñan en entornos complejos diseñados por seres humanos.

[caption id="attachment_18195" align="aligncenter" width="880"] Figura 1 – Entren al mundo de TextWorld. Obtengan el código en aka.ms/textworld.[/caption]

Los juegos basados en texto, también conocidos como ficción interactiva o juegos de aventura, son juegos en los cuales el ambiente del juego y las interacciones del jugador con este son representadas sólo o de manera primaria por texto. Conforme los jugadores se mueven en el mundo del juego, observan descripciones textuales de sus alrededores (por lo general divididos en ‘cuartos’ discretos), qué objetos están cerca, y otra información pertinente. Los jugadores emiten comandos de texto a un interprete para manipular objetos, a otros personajes en el juego, o a sí mismos. Después de cada comando, el juego por lo general brinda retroalimentación para informar a los jugadores cómo ese comando alteró el ambiente del juego, si es que lo hizo. Un juego típico basado en texto plantea una serie de acertijos a resolver, tesoros a recolectar, y ubicaciones por alcanzar. Las metas y los puntos de referencia pueden ser especificados de manera explícita o pueden ser inferidos a partir de pistas.

[caption id="attachment_18205" align="aligncenter" width="678"] Figura 2 – Un ejemplo de juego de TextWorld con un tema basado en una casa.[/caption]

Los juegos basados en texto asocian la libertad de explorar un espacio definido con las restricciones de un analizador y un mundo de juego diseñado para responder de manera positiva a un pequeño conjunto, de manera relativa, de comandos textuales. Un agente que puede navegar de manera competente un juego basado en texto necesita poder no solo generar comandos textuales coherentes, sino también debe generar los comandos correctos en el orden adecuado, con pocos o nulos errores en el medio. Los juegos basados en texto invitan a la experimentación y los recorridos exitosos involucran múltiples derrotas en el juego y “muertes” dentro del mismo. La observación cercana y la interpretación creativa del texto que brinda el juego y un generoso suministro de sentido común son también integrales para ganar en los juegos basados en texto. Los obstáculos que pueden parecer simples y que están presentes en un juego TextWorld, sirven como una introducción a los retos básicos de la vida real planteados por los juegos basados en texto. En TextWorld, un agente necesita aprender cómo observar, experimentar, fallar y aprender de sus errores.

TextWorld tiene dos componentes principales: un generador de juego y un motor de juego. El generador de juego convierte especificaciones de alto nivel del juego, como número de habitaciones, número de objetos, duración del juego, y condiciones para la victoria, en código fuente ejecutable del juego en lenguaje Inform 7. El motor del juego es una simple máquina de inferencia que asegura que cada paso del juego generado es válido al utilizar algoritmos simples como el encadenamiento de un paso hacia adelante y uno hacia atrás.

[caption id="attachment_18215" align="aligncenter" width="1024"] Figura 3 – Un vistazo a la arquitectura de TextWorld.[/caption]

“Una razón por la que me emociona TextWorld es la manera en la que combina el aprendizaje por refuerzo con el lenguaje natural”, comentó Geoff Gordon, gerente general de investigación en Microsoft Research Montreal. “Estas dos tecnologías son muy importantes, pero aún no se adaptan bien en conjunto. TextWorld empujará a los investigadores para que hacer que estas trabajen en conjunto”. Gordon acotó que el aprendizaje por refuerzo ha tenido de manera reciente una cierta cantidad de éxitos de alto perfil (como Go o Ms. Pac-Man), pero en todos estos casos el agente tenía apenas observaciones y acciones simples (por ejemplo, imágenes de pantalla y posiciones del joystick en Ms. Pac-Man). En TextWorld, el agente tiene que leer y producir lenguaje natural, que tiene una estructura muy diferente y en muchos casos, más complicada.

“Estoy emocionado por ver cómo los investigadores abordan esta complejidad añadida”, mencionó Gordon.

Microsoft Research Montreal se especializa en investigación de vanguardia en comprensión automática de lectura, diálogo, aprendizaje por refuerzo, y FATE (Fairness, Accountability, Transparency y Ethics en IA, en español: Equidad, Responsabilidad, Transparencia y Ética). El laboratorio fue fundado en 2015 como Maluuba y fue adquirido por Microsoft en 2017. Para más información, visiten Microsoft Research Montreal.

Este lanzamiento de TextWorld es una beta y esperamos todas la opiniones y comentarios posibles referentes al marco de trabajo de investigadores de todo el mundo. Pueden enviar sus comentarios y preguntas a textworld@microsoft.com. También, para más información y para obtener el código, visiten TextWorld, y nuestras publicaciones relacionadas TextWorld: Un ambiente de aprendizaje para juegos basados en texto y Contar para explorar y generalizar en juegos basados en texto. ¡Gracias!