Segmentación y clasificación automática de noticias: el “making of”

En un post anterior exponíamos cómo la lectura automática de periódicos era una idea de negocio viable. AiRENOVE ha llevado a la práctica este proyecto. Es esta entrada vamos a contar cómo se ha hecho.

Para ver el post anterior pincha aquí

El entorno del proyecto

AiRENOVE recibe el encargo de este proyecto por parte de MMI Analytics, empresa de seguimiento de medios sita en las Islas Canarias

Esta empresa se descarga diariamente los periódicos digitales en formato pdf. La longitud promedio de cada uno de ellos es de 60 – 65 páginas. Luego tiene una pequeña legión de personas que leen todos y cada uno de estos documentos. Deben separar y clasificar las noticias según un listado de 5.000 categorías asociándolas a una o varias de ellas. Dentro de las mismas se encuentran nombres propios como puede ser Pedro Sánchez, el nombre de alguna institución u organismo como puede ser Congreso de los Diputados, poblaciones, provincias, temas como puede ser política, deportes u otras cuestiones.

Pila de periódicos

Como dijimos, una noticia se puede correlacionar con varias categorías. Así por ejemplo el Ayuntamiento de Villa Big Data famoso municipio en la Comunidad Autónoma de Madrid y cuyo alcalde es D. Fulano de la Red Neuronal está muy interesado en recibir todas las noticias de todos los periódicos que menten al ínclito D. Fulano de la Red Neuronal siempre y cuando se refieran a temas económicos o políticos. Por su parte la Asociación Deportiva Municipal quiere estar al día de todo lo que mente temas deportivos que afecten bien a Villa Big Data, bien a la Comunidad de Madrid.

MMI les podría dar este servicio entregándoles las noticias que sean de su interés y que aparezcan en cualquier periódico.

Partes del proyecto

Desde un punto de vista técnico y de ejecución este proyecto consta de tres partes:

  • Segmentación de los periódicos (sus pdf’s) en las diferentes noticas que componen el mismo
  • Clasificación de las noticias según el listado de categorías
  • Emisión del informe final a integrar en el front end web

Por supuesto como todo proyecto tiene una fase inicial de toma de especificaciones y una final de puesta en servicio.

Segmentación de las noticias

En esta primera fase el sistema debe identificar cada una de las noticias. Viene a ser como un “recorte digital” del pdf de tal forma que en cada pedazo sólo exista una noticia y además contenga la totalidad de la misma, sin importar si esta está e una única columna o en varias.

Además debe identificar dentro de cada noticia:

  • El titular
  • Subtitular si existe
  • Antetítulo
  • Cuerpo de la noticia
  • Quién o qué agencia firma el artículo
  • Localización geográfica de la noticia
  • Todos y cada uno de los sumarios que contenga
  • Página del periódico
  • Sección en que se encuentra ubicada
  • Identificación de la existencia de fotos y el pies de foto correspondientes

Para la codificación de esta primera parte se ha usado la librería pdfminer de Python. También ha sido necesario desarrollar mucho código específico para este trabajo.

Clasificación de las noticias

El segundo paso es la clasificación de las noticias entre las 5.000 categorías. Para lograrlo se ha entrenado a una red neuronal con decenas de miles de casos hasta lograr que clasifique las noticas según esas categorías.

Hay que aclarar que este listado no es fijo y definitivo. Por ejemplo hace 10 años ‘Pedro Sánchez’ no hubiese sido una categoría y sin embargo sí lo sería ‘Zapatero’. Además si varias empresas de la República Dominicana deciden contratar los servicios de MMI Analytics se necesitaría incluir en el listado de categorías al menos las ciudades más importantes de ese país así como las personalidades más destacadas e instituciones propias.

Esta segunda parte supone la utilización de librerías de Machine Learning y de Redes Neuronales combinado una vez más con un volumen importante de código específico para el proyecto.

Periódico original y segmentado
A la izquierda entrada al sistema; a la derecha noticias identificadas

Presentación de los resultados

A nuestro cliente se le entregan ficheros en formato JSON que alimenta un front-end web en el que se puede ver:

  • Cada noticia en su forma original dividida en colores según cada una de las partes identificadas en el paso primero (título, subtítulo, cuerpo de la noticia, sumarios, fotos….)
  • Un informe en el que entre otras cosas se indican las categorías a las que pertenece cada noticia, periódico del que proviene, o la página.

A partir de dicha información nuestro cliente, MMI Analytics ya dispone en formato digital la información necesaria que le permite enviar a sus clientes con un alto grado de automatización los paquetes de noticias que cumplen los requerimientos contratados.

Conclusión

Con este proyecto AiRENOVE ha conseguido para su cliente en primer lugar una reducción muy importante de los costos de producción, liberando recursos humanos y económicos para otras actividades de mayor valor añadido.

Por otra parte, y no menos importante es que se le ha dado una mayor escalabilidad a la actividad. Nuevos clientes supondrán más periódicos a leer y crecimiento en el número de categorías sobre la que se clasifica. Algo bastante sencillo cuando estamos hablando de lectura automática de documentos pdf usando redes neuronales.

También te puede interesar:

–  Conector SAP-GoogleSuite

–  Negocios por las nubes

Javier Gonzalez