jueves, 16 de enero de 2020

Cómo aplicamos la minería de texto para sistematizar los aprendizajes de proyectos de desarrollo

El proceso de clasificar las lecciones aprendidas registradas en los proyectos de desarrollo del BID es un proceso en el que hemos venido trabajando para buscar la mejor manera de sistematizar los aprendizajes provenientes de los documentos operacionales de la organización. Éstos se encuentran documentados en formato PDF. Es por esto que hemos explorado técnicas de automatización por medio de minería de texto, aprendizaje automático y de procesamiento de lenguaje natural para lograr su análisis de manera más automática y eficiente.

Aunque cada día aumentan las posibilidades para procesar texto por la creación de nuevos paquetes de análisis, herramientas y técnicas de procesamiento de este tipo de datos, siempre es recomendable explorar algunas herramientas básicas para entender su funcionamiento, alcance y, sobre todo, conocer más a fondo cómo se comportan tus datos. En esta entrada, te contamos sobre algunas tareas que hemos automatizado con herramientas de procesamiento de texto que hemos utilizado y que esperamos que despierten tu curiosidad por explorar este campo.

Tareas complicadas hechas sencillas por algoritmos

1. ‘Leer’ o convertir texto

La extracción del texto que se encuentra en documentos PDF es el primer paso para iniciar el proceso de sistematización de aprendizajes que han sido documentados en reportes ‘impresos’. Si se realizara manualmente, se necesitaría una gran cantidad de horas hombres por el elevado volumen de documentos que se debe examinar. Es posible realizar esta tarea con la ayuda de paquetes de herramientas para el tratamiento de documentos en este formato como pdftools o PyPDF2. También Tabula es una opción especialmente cuando el texto está dentro de una tabla.

2. Buscar patrones o estructuras conocidas

Al tener un cuerpo de información no estructurada (texto en este caso) que ha sido recuperada desde múltiples reportes que siguen la misma estructura de organización del contenido, es posible definir qué extracto específico de texto vamos a analizar mientras que se identifique un patrón. Por ejemplo, en un primer ejercicio de sistematización de lecciones aprendidas, buscamos todo el texto que se sitúa bajo los títulos “Lecciones aprendidas” o “Hallazgos y Recomendaciones” en cerca de 100 documentos en un tiempo menor a dos minutos. Imagina el tiempo que habría tomado hacer lo mismo de manera manual, abriendo cada documento PDF y buscando este título en todo el contenido.

En el caso de los aprendizajes del BID, ha sido necesario especificar todas las variaciones de idiomas para la búsqueda de esta estructura conocida, integrando los cuatro idiomas oficiales de la organización: español, portugués, inglés, y francés.

3. Identificar palabras claves y analizar su sentimiento

Al convertir el texto de los documentos en un cuerpo de caracteres, podemos organizar, cuantificar e identificar el contenido de muchos documentos al mismo tiempo. En principio, buscamos contar repeticiones de palabras para encontrar los términos clave, así como realizar análisis de conglomerados (clustering) para entender cómo se formaban grupos de lecciones similares y contribuir en la preparación de datos para entrenar algoritmos más avanzados en el futuro. Si quisieras aprender un poco más sobre el análisis de conglomerados, puedes descargar este PDF en español.

El análisis de texto es divertido porque es posible experimentar con tus datos para probar diferentes hipótesis y realizar ejercicios interesantes para aprender en la práctica, conocer y entender cómo se portan los datos de tu organización. Dentro de estas técnicas es el análisis de sentimiento. El análisis de sentimiento permite identificar el sentido de una oración o conjunto de palabras, para identificar el tono en que está escrita, sea positivo, negativo o neutral. En palabras más simples, nos sirve para entender en qué tono se transmite lo que ha sido escrito en las lecciones aprendidas que estamos mirando. Así, podemos clasificar de otra manera los extractos de texto o conjuntos de palabras que hemos definido.

Por ejemplo, primero buscamos dentro de todo nuestro repositorio de aprendizajes las lecciones aprendidas que contenían la expresión ‘cambio climático’. Dentro de este subconjunto, jugamos buscando las palabras con mayor repetición y luego aplicamos el análisis de sentimiento a la estructura formada por la expresión objetivo y la palabra con mayor repetición.

Un gráfico presenta de manera sencilla las palabras más repetidas en las lecciones que contienen nuestra expresión objetivo ‘cambio climático’ y su clasificación de sentimiento al sumarla a cada una de estas palabras con mayor repetición. Aunque nos da pistas sobre el comportamiento del texto que analizamos, se debe ser cuidadoso, pues la naturaleza de este conjunto de datos presenta retos de lenguaje, expresiones típicas del BID y en general, los retos que enfrenta cualquier conjunto de datos de texto.

Para llevar a cabo este tipo de ejercicio, se puede obtener resultados más precisos con mayor capacidad de procesamiento en lenguajes como Python con modelos y paquetes adaptados a las características de tus datos (este post menciona varias opciones en código abierto). En este caso, optamos por utilizar una herramienta del servicio MonkeyLearn que procesa el texto de manera sencilla por medio de un complemento para las hojas de cálculo en Google drive. Esta herramienta y otras parecidas pueden ayudar a aquellos con poco conocimiento en programación y curiosos del análisis de texto a entender el tema y experimentar con sus datos de una forma más rápida y sencilla.

Los retos persistentes frente el análisis de texto

Aunque las técnicas de análisis y minería de texto nos han ayudado a agilizar tareas repetitivas e innovar con el procesamiento de nuestras lecciones aprendidas, hemos identificado retos, que llamamos transversales, para seguir utilizando estas herramientas y que creemos pueden ser abordados con otros equipos de trabajo:
  1. El BID cuenta con cuatro idiomas oficiales, por lo que un reto es poder realizar análisis integrando las variaciones en el texto en términos de idioma.
  2. Entender cómo funciona el lenguaje BID: aunque no existen palabras propias de la organización (al menos aún no las conocemos), se manejan expresiones típicas de la ejecución de proyectos o sistemas dentro de la organización que pueden dificultar el tratamiento de estos datos. Es importante tenerlas en cuenta y construir un diccionario que las contenga para refinar cualquier tipo de análisis.
  3. Trabajar de la mano con los generadores de estos datos y aprendizajes, para mejorar paralelamente la calidad del contenido y los formatos digitales con que se producen.
Fuente: Abierto al Público

No hay comentarios.:

Publicar un comentario