Informe técnico Proceso Minería de texto portal Asociación de Clínicas y Hospitales de Colombia Utilizando la Herramienta R Rafael Bernal Ricardo Guerrero Proceso Minería de texto portal Asociación de Clínicas y Hospitales de Colombia Secciones: la ACHC en los medios y Noticias del Sector. El informe tiene el siguiente contenido: 1. 2. 3. 4. 5. 6. 7. Introducción Preparación de los datos Carga de documentos Pre procesamiento Procesamiento y análisis Metodología de conglomerados Conclusiones 1 .Introducción En este documento se presenta el diseño y la aplicación de una metodología, basada en técnicas de minería de textos, para el procesamiento de grandes volúmenes de noticias que permitan descubrir patrones en los datos para desarrollar un análisis de la temática sobre la crisis hospitalaria Las noticias han sido objeto de constante análisis, cuyo interés se debe a la probable distorsión entre los niveles de percepción de la población y los entes gubernamentales. Los artículos noticiosos poseen valiosa información que muchas veces no es explotada, dado que requiere de un proceso de análisis manual, intensivo en tiempo y recursos. Actualmente existen herramientas tecnológicas que permiten manejar crecientes volúmenes de datos, particularmente datos no estructurados como los textos, tomando cada vez más protagonismo la minería de textos en el descubrimiento de nuevo e interesante conocimiento. La metodología se basó en explorar las herramientas de minería de texto utilizando el software R y específicamente el paquete tm (Text Mining). El manejo de grandes volúmenes de información puede transformarse en un gran desafío, por lo que es esencial contar con herramientas para enfrentar con rapidez y dinamismo esta tarea, especialmente cuando se trabaja con datos no estructurados como los documentos de textos. Un porcentaje importante de la información se encuentra en forma de texto, el que muchas veces no es aprovechado a cabalidad para su análisis debido a que su manejo implica cierto grado de complejidad adicional, originado por la ausencia de estructura. El objetivo general de este trabajo es diseñar y aplicar una metodología, basada en técnicas de minería de textos, que permita apoyar el procesamiento de grandes volúmenes de noticias para realizar un posterior análisis a partir de la cobertura de las distintas noticias relacionadas con la crisis hospitalaria en Colombia. El estudio presenta una metodología para el análisis de noticias basado en minería de textos cuya aplicación, en forma de experimentación, se realiza sobre un grupo de noticias y en un período de tiempo acotado. 2. Preparación de los datos En el portal de la Asociación de Clínicas y Hospitales de Colombia (ACHC) están los contenidos relacionados con la crisis hospitalaria, específicamente son vínculos a páginas web a las cuales accedemos, por ejemplo seleccionamos esta noticia en el recuadro rojo. Al acceder al sitio cargamos una página web con la notica, la página contiene muchos elementos y es indispensable extractar el texto relevante para el análisis Obtenemos el texto con el contenido de la noticia eliminando los elementos publicitarios y otros contenidos sobrantes. Este proceso se realizó para cada uno de los 1933 links activos en el portal. La información esta contenida en archivos con la extensión .txt y es la preparación inicial de los datos. 3. Carga de documentos Software R R es un entorno y lenguaje de programación con un enfoque al análisis estadístico. Se trata de uno de los lenguajes más utilizados en investigación por la comunidad estadística, siendo además muy popular en el campo de la minería de datos, la investigación biomédica, la bioinformática y las matemáticas financieras. A esto contribuye la posibilidad de cargar diferentes bibliotecas o paquetes con funcionalidades de cálculo o graficacion. Se eligió el software R el cual tiene las siguientes ventajas: Es un software ligero y potente con el que se puede realizar trabajos estadísticos de todo tipo contiene muchas funciones para el análisis estadístico y producción de gráficas. Tiene una capacidad amplia para almacenar y manipular efectivamente los datos .Su producto final es más completo y sofisticado que los producidos por otros sistemas. Cargando los Textos Guardamos los archivos de texto en una carpeta titulada: "textos" Este será el "corpus" (cuerpo) del texto para la minería. Posteriormente realizamos estos tres pasos: 1. Crear un archivo llamado "textos" donde se van a mantener los datos. 2. Almacenar el archivo en un lugar determinado. 3. Cargar el paquete de R para la minería de texto y cargar los textos en R. 4. Pre procesamiento La representación de un documento de texto se basa en las palabras, modelo conocido como Vector Space Model o “bag of words”. Con esta representación un documento es considerado simplemente como una colección de palabras que ocurren al menos una vez. El orden de las palaras, la combinación en las cuales ellas ocurren, la estructura gramatical, la puntuación y el significado de las palabras son todos ignorados. Extracción de puntuación y signos especiales. El computador realmente no puede leer, los signos de puntuación tales como “, . : ;”.También excluimos los signos especiales como “@ / //”, caracteres que son muy comunes en los contenidos de páginas web. Eliminamos los números y convertimos todo el documento a minúsculas queremos ver las palabras en la misma forma en todo el documento. Eliminación de las stopwords Eliminamos las stopwords que son las palabras que analíticamente no tienen ningún valor en el idioma español por ejemplo el, la, y, o, etc. Eliminación de palabras especificas Si encontramos que una o más palabras no son importantes para nuestro análisis las eliminamos del texto. Por ejemplo: ” nacional”, “hoy” Uniendo palabras que deberían estar juntas Si deseamos mantener el concepto de dos o más palabras por ejemplo: "barreras de acceso " la reemplazamos por una palabra en este caso la abreviatura “ba1” que es un código que nos permite mantener el significado de esta frase para su posterior análisis, la siguiente frase "control político " se reemplaza por la sigla “cp1” de esta manera mantenemos esta frase en el análisis. Remoción de las terminaciones comunes de palabras Por ejemplo las palabras hospital y hospitales tienen las misma raíz deseamos analizar la palabra hospital por lo tanto se eliminan las terminaciones comunes y los plurales Eliminación de espacios en blanco del documento Los procesos mencionados arriba agregan espacios en blanco al documento estos deben eliminarse antes de realizar el análisis. Para finalizar nos aseguramos que el documento se convierta a archivo plano. Archivo plano: es aquel que esta compuesto únicamente por texto sin formato, sólo caracteres, sin letras adornadas, cursivas, negritas, etc. 5. Procesamiento y Análisis Histograma Frecuencia de palabras Hay una gran cantidad de palabras evaluamos los máximos y mínimos de palabras en el texto Ejemplo de un histograma de frecuencias. Nubes de palabras Una nube de palabras (word cloud en inglés) es una representación visual de las palabras que conforman un texto, en donde el tamaño de la fuente es mayor para las palabras que aparecen con más frecuencia. Las Herramientas de visualización para text mining pueden tener una crucial importancia para facilitar el descubrimiento de conocimiento, ya que entregan un panorama general de una gran cantidad de datos. Un tag cloud es un simple y ampliamente usado modelo de interfaz visual que representa el resumen de un documento o colección de ellos a través de una lista de palabras, cuya importancia relativa de cada palabra es caracterizada por el tamaño de la letra, el color y/o la ubicación. El criterio para la selección de las palabras comúnmente es la frecuencia de ocurrencia de la palabra, por lo que puede ser considerado similar a un histograma. Un tag cloud logra sintetizar grandes volúmenes de documentos de forma comprensible. Ejemplo de una nube de palabras. Métodos de text mining, como clustering, requieren un intenso trabajo para una correcta interpretación de los resultados para conseguir conclusiones útiles, pero herramientas visuales de post-procesamiento pueden facilitar esta tarea. A través de diversos estudios se concluye que la formación de tag clouds puede tener un valioso papel para confirmar la información generada con técnicas de minería de textos, particularmente cuando se trabaja con clustering, por ejemplo la aplicación de tag clouds a cada una de las particiones generadas permite confirmar si los clúster son coherentes y significativos, donde cada clúster debería estar caracterizado por varias palabras representativas (con alta frecuencia). Agrupamiento por similitud de términos La idea básica detrás de la agrupación de texto es clasificar los documentos en grupos basados en la similitud. Un breve vistazo a cómo funciona el algoritmo. Muy brevemente, DTM Document Text Matriz, es una matriz en la que los documentos se representan como columnas y las palabras como filas. En nuestro caso, el corpus tiene 10 documentos y 15 palabras, por lo que el DTM es una matriz de 15 x 10. Matemáticamente, se puede pensar de esta matriz como la descripción de un espacio dimensional en el que cada una de las palabras representa un eje de coordenadas y cada documento se representa como un punto en este espacio. Esto es difícil de visualizar, por lo que se ilustra con un corpus (corpus lingüístico son ejemplos reales de uso de la lengua. Estos ejemplos pueden ser textos) de dos documentos con sólo tres palabras en total. Ejemplo de un clúster jerárquico. K-means clustering En la agrupación jerárquica no especificamos el número de grupos iniciales. Estos se determinan al observar el dendograma. El algoritmo - K means - nos obliga a definir el número de grupos iniciales (este número es la "k" en el nombre). El algoritmo genera entonces k grupos de documentos de tal manera que las distancias dentro de la agrupación de cada miembro del clúster, al centro de gravedad (o media geométrica) se reducen al mínimo. Ejemplo de un cluster K-medias. 6. Metodología Análisis de Conglomerados El problema común en el análisis de grandes colecciones de documentos es como clasificarlos de alguna manera significativa. Esto es bastante fácil si se tiene un esquema de clasificación predefinida y conocida para adaptarse a la colección (y si la colección es suficientemente pequeña para ser explorado de forma manual) , pero sin estas características hay que definir una manera de estructurar la información mediante un proceso iterativo que se aplica a muchos documentos. El análisis de agrupamiento o clustering es la tarea de agrupar un conjunto de objetos de tal manera que los objetos en el mismo grupo (llamado un clúster) son más similares (en un sentido u otro), entre sí que con los de otros grupos Como podemos deducir, los resultados de la agrupación dependen críticamente del método que se usa para agrupar objetos. No hay un algoritmo específico para el análisis de conglomerados, la tarea general que hay que resolver, se puede lograr con diversos algoritmos que difieren significativamente en su idea de lo que constituye un grupo, la metodología más usada es la detección de grupos con pequeñas distancias. Se usó el método basado en distancias entre los miembros del clúster.Tengamos en cuenta la estructura de la DTM (Document Term Matrix). Muy brevemente, es una matriz en la que los documentos se representan como columnas y las palabras como filas. Como ejemplo simplificado asumimos que el corpus tiene 10 documentos y 15 palabras, por lo que el DTM es una matriz de 15 x 10. Matemáticamente, se puede pensar de esta matriz como la descripción de un espacio dimensional en el que cada una de las palabras representa un eje de coordenadas y cada documento se representa como un punto en este espacio. Esto es difícil de visualizar, por lo que puede ayudar ilustrar esto a través de un corpus de dos documentos con sólo tres palabras en total. Lo importante es que se puede definir una distancia numérica entre documentos. Una vez que esto se establece, es fácil comprender la idea básica detrás de la forma como (algunos) algoritmos de agrupamiento trabajan. Estos agrupan los documentos basados en la distancia, sin duda, esta explicación pasa por alto alguno de los detalles complicados de los algoritmos. Sin embargo, es una explicación razonable, aproximada de lo que sucede. El algoritmo que vamos a utilizar es hclust el cual hace una aglomeración o agrupación jerárquica. He aquí una descripción simplificada de cómo funciona: 1) Asignar a cada documento a su propio clúster (miembro individual) 2) Encontrar el par de grupos que están más cerca entre sí y fusionarlas. Por lo que ahora se tiene un racimo menos que antes. 3) Calcular distancias entre el nuevo clúster y cada uno de los viejos grupos. 4) Repetir los pasos 2 y 3 hasta que haya un solo grupo que contiene todos los documentos. 7 .Conclusiones Uno de los principales problemas enfrentados en el trabajo con documentos es su alta dimensionalidad al representar cada texto como una bolsa de palabras, por lo que se asignan grandes esfuerzos a formar una lista de stop words y el proceso de stemming entre otros. Un punto que facilito esta investigación es la disponibilidad de la información, dado que las noticias se obtienen con el uso de métodos de extracción de contenido, es probable que para obtener resultados que describan mejor el comportamiento del nivel de noticias, sobre la crisis hospitalaria se deban agregar otros factores no considerados en el estudio, específicamente estadísticas sobre el nivel de servicio a los usuarios y el déficit de recursos para ofrecer servicios oportunos y de calidad, lo que permitiría conocer el comportamiento detallado de las noticias de la crisis hospitalaria, comparadas con los casos reales registrados. Este trabajo ha dado un importante paso al mostrar la factibilidad de la identificación de temáticas dentro de las noticias, evaluando procedimientos relativamente clásicos como clusters jerárquicos y k-means.