Subido por Rafael Humberto Bernal Sánchez

Proceso Mineria de texto en salud

Anuncio
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.
Descargar