¿Es posible que un bot cubra la actuación de los peloteros en la MLB?
Por Yudivian Almeida, Roberto Balboa, Frank Saddan Naranajo
Un experimento para generar automáticamente noticias sobre los cubanos en las Grandes Ligas
Foto: Ron Vesely/Getty Images

La generación automática de noticias es ya una realidad en muchas redacciones del mundo. Son varios los sistemas computacionales que, en determinados dominios, generan informaciones o textos noticiosos que luego, pasando o no por un proceso de edición, llega a las portadas de varios sitios informativos. Existen preocupaciones al respecto: ¿cómo influirá esto en las dinámicas de empleo en el sector? ¿podrían generar información incorrecta? ¿deben los textos ser creados automáticamente sin una edición o supervisión humana? Lo que si es un hecho es que este fenómeno es una realidad cada vez más latente. Además, es innegable su utilidad en muchos escenarios donde se debe cubrir un gran número de hechos a la misma vez.

En este contexto, en Postadata.club, quisimos explorar la factibilidad de la generación automática de noticias para poder valorar, de primera mano, sus posibilidades y problemáticas. Así, con la colaboración protagónica del Grupo de Inteligencia Artificial de la Facultad de Matemática y Computación de la Universidad de La Habana, nos lanzamos a experimentar.

Como punto de partida, definimos un dominio en el cuál existieran datos frecuentes que se tomaran para generar las informaciones y que, además, necesitaran una cobertura periódica. En este caso optamos por el béisbol. Es nuestro deporte nacional, se cubren temporadas completas y los partidos generan datos suficientes. Como primera aproximación, nos centramos en la temporada de 2020 de las Grandes Ligas (MLB) que será, además, una temporada corta por la incidencia de la Covid-19, lo que nos ofrece un escenario de experimentación interesante para la valoración del experimento. Por supuesto, dentro de la MLB decidimos enfocarnos en reportar la actuación de los jugadores cubanos.

El enfoque de las informaciones a generar fue simple: un reporte diario. Así, en cada jornada se identifican los peloteros cubanos que intervinieron en cada partido celebrado y, luego, se describe su actuación e incidencia en los resultado de los equipos para los que juegan. Para ello en cada nota se toma como patrón el énfasis en aquellos jugadores que destacaron sobre el resto y posteriormente se relata resumidamente la actuación del resto de los peloteros cubanos.

Como fuente de datos del sistema se utilizó el sitio Baseball-Reference, que reporta las estadísticas de los partidos de cada jornada y tiene una amplia base de datos de los jugadores de la MLB. En cada jornada se obtienen y se estructuran los datos de los partidos celebrados y los jugadores cubanos que participaron en ellos.

Con los datos de cada partido y lo hecho por los cubanos, lo siguiente será determinar qué jugadores fueron relevantes en el día. Para ello se colectó del sitio de noticias ESPN información de los jugadores destacados por jornada en temporadas anteriores. Con esta información, complementada con las estadísticas de Baseball-Reference se construyó un conjunto de entrenamiento que permite la creación de un modelo de aprendizaje de máquina para clasificar la actuación de los jugadores en cada jornada. Como modelo de aprendizaje se utilizó una Regresión Logística. El código se puede consultar en Github.

Teniendo los datos de cada partido de la jornada y los jugadores más destacados, se puede generar el texto del reporte. Para ello, en esta primera versión, se adoptó una estrategia basada en reglas. Se definieron un conjunto de reglas para las distintas situaciones posibles y con plantillas de oraciones y partes de ellas, se obtiene el texto final. Por cada posible oración o partes de ellas, se redactaron varias alternativas que podían ser seleccionadas indistintamente. Un esquema similar se adoptó con los títulos. Para el resumen de la noticia se utilizó el algoritmo que provee Gensim. De esta manera, se genera, por cada jornada, la información a publicar: título, resumen y contenido del reporte. La primera versión del código que realiza este proceso se puede consultar en Github.

Para la publicación de las noticias diarias se utilizó el modelo que propone Github Pages y los Actions de Github. Diariamente se ejecuta desde el repositorio del sitio de noticias una tarea programada que genera la noticia y la adiciona a un archivo en formato JSON. Con este archivo, utilizando HTML5, Javascript y JQuery, es que se visualizan en cada navegador las noticias que diariamente nos redacta Armanbot.

Por cierto, Armanbot, en pequeño homenaje a Armandito El tintorero, es el nombre que le hemos dado al sistema que reporta la actuación diaria de los cubanos en las Grandes Ligas. Ahora solo queda que visiten diariamente nuestro sitio Cubanos en MLB y nos den sus opiniones, críticas y valoraciones sobre este primer experimento que hacemos en el área de la generación automática de noticias.