Representación de textos y su reducción de dimensionalidad
94
0
0
Texto completo
(2) Hago constar que este trabajo ha sido realizado en la facultad de Matemática, Física y Computación de la Universidad Central “Marta Abreu“de las Villas como parte de la culminación de los estudios de licenciatura en Ciencias de la Computación, autorizando a que el mismo sea actualizado por la institución para los fines que estime conveniente, tanto de forma total como parcial y que además no podrá ser presentado en eventos ni publicado sin la previa autorización de la universidad.. ______________________________ Firma del Autor. Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdo de la dirección de nuestro centro, y que el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. ____________________________ Firma del Tutor. ____________________________ Firma del Jefe del Seminario de Inteligencia Artificial.
(3) A mis abuelos.
(4) Agradecimientos.
(5) Resumen. Resumen En este trabajo se realizó el diseñó del sistema CorpusMiner que permite el procesamiento de corpus textuales, desde su representación inicial hasta lograr obtener su resumen extracto. Este procesamiento requiere transitar por diferentes etapas. En esta investigación nos focalizamos en la representación del corpus y en la reducción de dimensionalidad como parte de la representación y como parte de otras etapas del procesamiento. La representación parte de un corpus textual en idioma Inglés y se transforma realizando lematización, homogeneización ortográfica y expandiendo las contracciones y abreviaturas. Luego, se genera la representación vector space model VSM de la forma término-documento o término-sentencia. Se permite eliminar o no las palabras gramaticales. La representación VSM puede ser pesada utilizando TF-IDF y normalizada utilizando la suma total de frecuencias por documentos. Calculamos la calidad de los términos utilizando las medidas de entropía, skewness, kurtossis, calidad de término I y II. Se puede reducir la dimensionalidad de la matriz VSM utilizando las medidas de calidad de términos. La reducción de dimensionalidad no sólo se aplica a la etapa de representación textual. En CorpusMiner hemos incorporado técnicas de selección de rasgos que permiten obtener las palabras claves que caracterizan a los grupos de documentos obtenidos como parte de un procesamiento intermedio que permitirá la futura extracción de las oraciones relevantes que conformarán el extracto. Las formas de identificar las palabras claves son: ID3, relevancia calculada en el agrupamiento, y las medidas de calidad de términos por grupos..
(6) Abstract. Abstract This work deals with the design of the CorpusMiner system which allows to process text corpora to obtain an extractive abstract of the contents of related texts. The process goes through several stages. In the current research Project we concentrated on corpus representation and dimensionality reduction both as part of representing the original corpus and also during further processing. The initial processing for corpus representation comprises transformation processes such as lemmatization, spelling homogenization and expansion of abbreviations and contractions. Then a vector space modeling VMS is applied in which the corpus is represented either as a term-document or term-sentence matrix. The values in the matrix may be weighted using TF-IDF or normalized (word frequency divided by word total for each document). Term quality can be calculated by using measures such as entropy, skewness, kurtosis, quality I and quality II. These measures of term quality can be used for further reducing dimensionality. CorpusMiner incorporates feature selection techniques which allow to enumerate the keywords that are characteristic of the document clusters that will be abstracted in the form of the cluster’s most representative sentences. Keyword identification may be achieved by means of ID3, calculated cluster’s relevance and cluster’s term quality..
(7) Índice. Índice Introducción ................................................................................................................ 1 Capítulo 1 Acerca de la representación textual ........................................................... 4 1.1 ¿Qué es la minería de textos? ..................................................................................................... 4 1.2 Representación de los textos ...................................................................................................... 6 1.2.1 Transformación del corpus .................................................................................................. 8 1.2.2 Extracción de términos ........................................................................................................ 8 1.2.3 Reducción de la dimensionalidad ...................................................................................... 12 1.2.3.1 Selección de rasgos .................................................................................................... 13 1.2.3.2 Reparametrización ...................................................................................................... 20 1.2.4 Normalización y pesado de la matriz ................................................................................ 22 Capítulo 2 Diseño general del sistema CorpusMiner ................................................. 25 2.1 Generalidades del Sistema CorpusMiner ................................................................................. 25 2.2 Diseño del sistema CorpusMiner ............................................................................................. 28 2.2.1 Descripción general de los objetos del dominio................................................................ 29 2.2.1.1 Transformar el corpus ................................................................................................ 29 2.2.1.2 Representar el corpus textual usando VSM ............................................................... 36 2.2.2.3 Pesar y normalizar la matriz VSM ............................................................................. 37 2.2.2.4 Calcular las medidas de calidad de términos ............................................................. 38 2.2.2.5 Reducir la dimensionalidad de la representación VSM ............................................. 39 2.2.2 Estructura de la capa controladora .................................................................................... 40 2.2.2.1 Estructura de los controladores de datos .................................................................... 41 2.2.2.2 Estructura de los controladores de algoritmos ........................................................... 43 Capítulo 3 Selección de rasgos en otras etapas del procesamiento textual............... 45 3.1 Selección de palabras claves a partir de resultados de algoritmos de agrupamiento ............... 45 3.2 Concepción y diseño del módulo de selección de las palabras claves de colecciones de grupos textuales en CorpusMiner............................................................................................................... 46.
(8) Índice. 3.2.1 Extracción de palabras claves a partir de su relevancia .................................................... 48 3.2.2 Extracción de palabras claves según la calidad de términos ............................................. 48 3.3.3 Extracción de palabras claves utilizando el algoritmo ID3 ............................................... 48 3.3.3.3 Generación de reglas que describen un corpus textual a partir del ID3 ..................... 52 3.3.3.4 Generación de las palabras claves a partir de las reglas obtenidas por el ID3 ........... 54 Capítulo 4 Manual de usuarios................................................................................... 57 4.1 Operaciones sobre un corpus .................................................................................................... 59 4.2 Operaciones sobre un corpus transformado ............................................................................. 61 4.3 Operaciones sobre la representación VSM .............................................................................. 62 4.4 Operaciones sobre las colecciones de grupos de documentos ................................................. 68 4.4.1. Colección de grupos duros de documentos u oraciones ............................................. 68. 4.4.2. Colección de grupos difusos de documentos o sentencias ......................................... 73. Conclusiones ............................................................................................................. 74 Recomendaciones ...................................................................................................... 76 Referencias bibliográficas ......................................................................................... 77 Anexos ...................................................................................................................... 80.
(9) Introducción. Introducción En la Revolución de la Información que vivimos ha surgido una tarea difícil – los humanos no estamos diseñados para procesar cantidades masivas de información y encontrar asuntos de interés. La computadora primero encontró su uso en acelerar el funcionamiento de grandes cálculos numéricos eficientemente. Ahora es necesario que las computadoras resuelvan otra incompetencia humana, analizar grandes volúmenes de datos para encontrar elementos interesantes. La proliferación de información disponible en el World Wide Web, intranets corporativas y bases de datos, cables de noticias electrónicas, y otros medios de comunicación es arrolladora. La creación y diseminación de información es soportada por un número creciente de herramientas, sin embargo, mientras que la cantidad de información disponible está continuamente creciendo, nuestra habilidad de procesarla y asimilarla permanece constante [DIX97] [LAN01]. El conocimiento es un recurso estratégico para el desarrollo económico, científico y social contemporáneo. Las tecnologías, métodos y herramientas asociadas con los procesos de adquisición, generación, gestión y transmisión del conocimiento se han desarrollado notablemente en los últimos años. Es imprescindible el empleo de técnicas y herramientas que le den sentido y utilidad a la información existente, ya que ésta es un elemento básico principal. Los motores de búsqueda pueden desempeñar un papel esencial en la viabilidad de los sistemas de información, pero es imprescindible que existan aplicaciones que puedan analizar y evaluar la relevancia de la información [FEB02]. El procesar automáticamente grandes cantidades de datos para encontrar conocimiento útil es el objetivo principal del área de Descubrimiento de Conocimiento en Bases de Datos o KDD (Knowledge Discovery from Data base) y podemos definirlo como un proceso no trivial de identificar patrones válidos, novedosos, potencialmente útiles y en última instancia comprensibles a partir de datos, o como la extracción no trivial de información implícita, desconocida, y potencialmente útil de los datos [LEZ02]. La minería de datos (Data Mining) no es más que una fase del KDD, fase que integra los métodos de aprendizaje y estadísticas para obtener hipótesis de patrones y modelos. Las técnicas de minería de datos surgen como las mejores herramientas para realizar exploraciones más profundas y extraer información nueva, útil y no trivial que se encuentra oculta en grandes volúmenes de datos estructurados [LEZ02]. La minería de datos se involucra con la Estadística (correlación, regresión, agrupamiento numérico, y otros), la Inteligencia Artificial (Redes Neuronales Artificiales y Algoritmos Genéticos), técnicas de visualización, consultas SQL, OLAP (Online Analytical Processing), el uso de la inducción de 1.
(10) Introducción. árboles y reglas, así como con el desarrollo de nuevas herramientas de inducción de reglas de asociación e inducción de clasificadores bayesianos [LEZ02]. La limitante que existe es que las técnicas de minería de datos procesan información estructurada, y sin embargo, aproximadamente un 80% de la información está almacenada en forma textual no estructurada, de ahí que se desarrollen actualmente técnicas de minería de textos (Text Mining), que permiten encontrar patrones interesantes y útiles en un corpus de información textual no estructurada [DUR01]. Para lograr sus propósitos, la minería de textos necesita combinar varias técnicas, de ahí que sea un campo multidisciplinario que incluye la recuperación de información, el análisis de textos, la extracción de información, el agrupamiento, el resumen, la categorización, la clasificación, la visualización, la tecnología de bases de datos, el aprendizaje automático y la minería de datos [DIX97] [TAN99]. Los documentos son datos no estructurados por tanto, para cualquier procesamiento a realizar en un dominio textual es necesario hacer una adecuada representación de éste. Existen varias formas para representar los documentos, así como varios métodos que permiten reducir la dimensionalidad en la etapa de representación textual, sin embargo, no tanto así en otras etapas del procesamiento que lo requieran. Existen varias herramientas que permiten procesamientos de documentos, todas ellas focalizadas en alguna etapa de éste, pero no existen en la misma medida herramientas que permitan el procesamiento textual con fines investigativos donde se represente adecuadamente el corpus textual y sea extensible a la incorporación de algoritmos para obtener nuevos resultados en el procesamiento. A partir del problema planteado nos hacemos las preguntas de investigación siguientes: ¿Es posible desarrollar una representación adecuada de un corpus textual que permita diversos procesamientos textuales posteriores? ¿Es factible realizar la reducción de dimensionalidad para obtener las palabras claves de grupos homogéneos de documentos? ¿Es posible realizar una herramienta que permita el procesamiento textual con fines investigativos donde se represente adecuadamente el corpus textual? ¿Podrá diseñarse e implementarse la herramienta de una forma extensible donde sea fácil incorporar nuevos métodos para analizar los textos? Para dar solución al problema planteado y respuesta a las preguntas de investigación se formuló el objetivo general siguiente:. 2.
(11) Introducción. Estudiar y definir formas de representación de un corpus de documentos y técnicas de selección de términos relevantes en grupos textuales homogéneos que permitan desarrollar una herramienta para el procesamiento textual. Para cumplimentar este objetivo se formularon los objetivos específicos siguientes: 1. Analizar las técnicas significativas para la representación textual y determinar las variantes a implementar. 2. Definir las estructuras de datos a utilizar que permitan un diseño capaz de soportar corpus textuales de gran dimensionalidad. 3. Combinar técnicas de aprendizaje automático y reducción de dimensionalidad para la selección de términos en grupos homogéneos de documentos. 4. Implementar una herramienta que permita la representación de corpus textuales y la selección los términos relevantes en grupos homogéneos de documentos, así como la incorporación de nuevos módulos de procesamiento de colecciones de textos. En el capítulo 1 se abordan las formas de representación textual existentes, particularizando en las etapas de transformación, extracción de términos, reducción de dimensionalidad y pesado y normalización de la representación. En el segundo capítulo se describe el diseño general del sistema CorpusMiner, a través de tres capas. Se muestra, además, el diseño de la representación textual seleccionada. En el capítulo 3 se presenta la combinación de técnicas de aprendizaje automático y reducción de dimensionalidad para la selección de términos en grupos homogéneos de documentos, así como su incorporación en CorpusMiner. Por último, en el capítulo 4 aparece el manual de usuarios de la herramienta desarrollada.. 3.
(12) Capítulo 1. Capítulo 1 Acerca de la representación textual En este capítulo abordaremos los principales conceptos relacionados con la minería de textos, así como un área muy importante dentro de ésta que es la representación textual. Realizaremos énfasis en la transformación del corpus, la extracción de términos, la reducción de dimensionalidad de la matriz, así como la normalización y pesado de la representación, como parte de las etapas principales de la representación de un corpus de textos.. 1.1 ¿Qué es la minería de textos? La información histórica es útil para predecir información futura, ya que la mayoría de las decisiones de empresas, organizaciones e instituciones se basan en información de experiencias pasadas, extraídas de fuentes muy diversas. El procesar automáticamente grandes cantidades de datos para encontrar conocimiento útil para un usuario y satisfacerle sus metas es el objetivo principal del área de descubrimiento de conocimiento en bases de datos o KDD. Este es el campo que está evolucionando para proporcionar soluciones al análisis automático, y en [LEZ02] aparece definido como un proceso no trivial de identificar patrones válidos, novedosos, potencialmente útiles y en última instancia comprensibles a partir de datos, es decir, no es más que la extracción no trivial de información implícita, desconocida, y potencialmente útil de los datos. Es muy importante comprender el KDD, ya que la minería de datos no es más que una fase del mismo, fase que integra los métodos de aprendizaje y estadísticas para obtener hipótesis de patrones y modelos. Las técnicas de minería de datos permiten realizar exploraciones más profundas y extraer información nueva, útil y no trivial que se encuentra oculta en grandes volúmenes de datos [LEZ02]. Se puede decir que un sistema de minería de datos es una tecnología soporte para usuario final cuyo objetivo es extraer conocimiento útil y utilizable a partir de la información contenida en bases de datos; también se llama minería de datos al análisis de archivos y bitácoras de transacciones que sean útiles para la toma de decisiones. Las habilidades de la especie humana no nos permiten realizar, con la misma eficiencia, la tarea de analizar los trillones de datos almacenados electrónicamente al monitorear las transacciones comerciales de una base de datos, independientemente de la capacidad humana de detectar patrones y descubrir tendencias. La minería de datos se involucra con la Estadística (correlación, regresión, agrupamiento numérico, y otros), la Inteligencia Artificial (Redes Neuronales Artificiales y Algoritmos Genéticos), técnicas de visualización, consultas SQL, OLAP, el uso de la inducción de árboles y reglas, así como el. 4.
(13) Capítulo 1. desarrollo de nuevas herramientas de inducción de reglas de asociación e inducción de clasificadores bayesianos [MIN02]. Hasta ahora hemos mencionado la minería de datos y sus aplicaciones y repercusión en la sociedad, pero vale destacar que la minería de datos trabaja sólo con datos estructurados, es decir, grandes bases de datos donde están muy bien organizados y definidos los datos a explorar. ¿Todos los datos que se presentan están en forma estructurada? No, todo lo contrario, aproximadamente un 80% de la información de las organizaciones está almacenada en forma textual no estructurada: informes, email, actas de reuniones, artículos científicos, cables de noticias, etc [DUR01]. La lengua se ha convertido en un elemento clave de la llamada Sociedad de la Información (SI). Sin embargo, la tecnología asociada al procesamiento automático de textos, no se ha desarrollado al nivel suficiente para proporcionar la infraestructura que soporte a la SI. Además, si queremos crecer en las redes de comunicación, no solo es importante incrementar los contenidos, sino también es indispensable crear herramientas y recursos capaces de brindar servicios a partir de esos textos almacenados [TAL04]. Hasta ahora, las organizaciones están siendo incapaces de usar eficientemente grandes cantidades de datos textuales no estructurados (free text) que existen en varias fuentes, tales como la Web. La minería de textos es una tecnología poderosa que facilita la explotación efectiva de tales datos. Como un resultado, todos los textos no estructurados pueden ser automáticamente analizados y se pueden extraer los conceptos más importantes, etiquetar los documentos con términos claves, resumirlos y hacerlos disponibles en una forma normalizada y explotable [MAL04]. Se debe tener en consideración la aplicación de herramientas que automáticamente asistan a los usuarios en la organización y manipulación de ese exceso de información. Por ejemplo, esas herramientas podrían filtrar información relevante o interesante desde información no relevante acorde a intereses especificados por los usuarios. La información puede ser resumida y visualmente presentada. Además, la identificación de conocimiento oculto en datos no estructurados disponibles es un asunto crucial [LAN01]. La minería de textos, también conocida como minería de datos textuales o descubrimiento de conocimiento desde bases de datos textuales, pretende algo similar a la minería de datos: identificar relaciones y modelos en la información no cuantitativa. En pocas palabras, proveer de una visión selectiva y perfeccionada de la información contenida en documentos escritos y sacar consecuencias para la acción, así como detectar patrones no triviales e incluso información sobre el conocimiento almacenado en las mismas [OBE01]. La minería de textos es mucho más compleja que la minería de datos porque tiene que trabajar con datos textuales que son inherentemente no estructurados y borrosos. La minería de textos es un 5.
(14) Capítulo 1. campo multidisciplinario que incluye recuperación de información, análisis de textos, extracción de información, agrupamiento, resumen, categorización, clasificación, visualización, tecnología de bases de datos, aprendizaje automático y minería de datos [TAN99] [DIX97]. A continuación describiremos cada una de las áreas que conforman la minería de textos: Recuperación de información: Se encarga de recuperar documentos que puedan ser considerados relevantes para la tarea a realizar. Típicamente los usuarios del sistema pueden especificar conjuntos de documentos, pero el sistema debe ser capaz de filtrarlos y dejar fuera aquellos irrelevantes [DIX97] [FRA92]. Extracción de la información: Es el proceso de filtrar la información a partir de documentos ya seleccionados y de las especificaciones de los usuarios a través de preguntas complejas [DIX97] [FRA92] [FRA03]. Análisis de textos: Involucra todas las técnicas relacionadas con el análisis léxico, sintáctico y semántico de los textos [JAC02]. Resumen: Es el proceso de extraer conocimiento a partir de una fuente de información y presentar el contenido más importante al usuario en una forma condensada y sensitiva para las necesidades de la aplicación o del usuario [JAC02] [BER03]. Agrupamiento: Consiste en encontrar grupos de documentos que están relacionados por tópicos similares y extraer las palabras claves más importantes que son consideradas en esa clasificación [BER03]. Categorización: Es el proceso de clasificar los documentos por sus contenidos [JAC02] [BER03]. Clasificación: Se usa como un término más amplio que la categorización, para incluir cualquier asignación de documentos a clases, no necesariamente basados en el contenido [JAC02] [BER03].. 1.2 Representación de los textos Una de las diferencias de la minería de textos, respecto a la minería de datos que fue mencionada con anterioridad es que la minería de textos trabaja con datos textuales no estructurados. Esta característica que tiene la minería de textos hace que sea necesario representar los textos adecuadamente para poder realizar un procesamiento posterior. El objetivo de representar textos es transformar un documento textual a un formato que sea adecuado como entrada para la aplicación de algoritmos (e.g. aprendizaje automático, agrupamiento y clasificación) que permitan hacer minería de textos [LEW92]. Nosotros usamos Vector Space Model (VSM) [SAL75] para representar documentos porque esta es ampliamente reconocida como 6.
(15) Capítulo 1. una representación efectiva para documentos en la comunidad de minería de textos (text mining), especialmente en las áreas de recuperación de información, agrupamiento y clasificación. Esta representación, además, puede ajustarse muy bien para imitar otros modelos de indexado bien conocidos tales como índices binarios o probabilísticos. En la representación VSM, cada documento es identificado como un vector de rasgos en un espacio en el cual cada dimensión corresponde a términos indexados distintos. Generalmente, los términos indexados pueden ser provistos manualmente por un humano o automáticamente por un programa basado en la colección de documentos específica. En este trabajo, consideramos solamente indexado automático. Un vector documento dado tiene, en cada componente, un valor numérico para indicar su importancia. Este valor es comúnmente determinado como una función de cuán frecuente el término correspondiente a parece en el documento particular y cuánto este aparece en total en la colección de documentos. Variando esta función, podemos producir diferentes pesos de los términos que pueden ser interpretados como diferentes modelos de indexado. La representación resultante del texto es equivalente a la representación atributo-valor [JOA97]. Definición de Vector Space Model (VSM) [LAN01] Sea dD un documento textual. La representación de d es el vector documento d=(d)=(w1,…,wm)TR=Rm+, donde cada dimensión corresponde a un término en la colección de documentos y wi denota el peso del i-ésimo término. El conjunto de esos m términos indexados, V={t1,…,tm}, es referido como el vocabulario. La representación del vector ignora la secuencia en la cual los términos indexados aparecen el un documento. Note, sin embargo, que debemos definir qué es considerado como términos indexados. Este asunto será tratado en la sección 1.2.2. Es importante comentar en este punto que las palabras planas son frecuentemente usadas como términos indexados. Existen varios pasos que permiten la transformación de una colección de documentos original a la representación de cada documento en vectores de rasgos donde las palabras, independientemente del orden en que aparecen, son usadas como términos indexados. Estos pasos requeridos son los siguientes [LAN01]: 1. Transformación del corpus 2. Extracción de términos 3. Reducción de dimensionalidad 4. Normalización y pesado de la representación La tarea de transformación, como su nombre lo indica, se encarga de transformar cualquier tipo de documentos en una secuencia de tokens de palabras, desde la cual una secuencia de índices de términos posibles es creada para cada documento durante el paso de extracción de términos. Los 7.
(16) Capítulo 1. términos extraídos pueden ser usados, potencialmente, como el vocabulario del corpus. Un problema es que este número es extremadamente grande, por tanto, nuestro objetivo es reducir el tamaño del vocabulario en el paso de reducción de dimensionalidad. Finalmente, el paso de generación del vector evalúa los pesos para todos los términos de cada documento dado. A continuación describiremos con más detalles cada uno de estos cuatro pasos de la representación textual.. 1.2.1 Transformación del corpus El objetivo de la transformación del corpus es convertir los ficheros de entrada en una secuencia de ítems lingüísticos, los cuales son referidos como tokens de palabras. En el paso subsecuente de extracción de términos, estos tokens serán usados para generar rasgos significativos, llamados también índices de términos. Hay dos pasos en el proceso de transformación del corpus. Primero, los componentes textuales desde diferentes formatos deben ser reconocidos. La definición del formato de los ficheros debe ser conocida con el objetivo de extraer los componentes textuales. Por ejemplo, los ficheros pueden ser correos electrónicos, artículos de listas de discusión USENET, TEXT, postscript, o documentos HTML. Cuando procesamos correos electrónicos, por ejemplo, usualmente el campo asunto y el campo cuerpo del texto son extraídos y, para documentos HTML, todas las etiquetas son eliminadas desde la entrada. Sobre la base de los componentes extraídos del texto, el texto es dividido en una secuencia de tokens los cuales son cadenas de caracteres delimitadas por espacios en blanco (e.g. espacios, cambio de líneas, tabs) [LAN01]. Segundo, la secuencia resultante de tokens puede ser posteriormente transformada dependiendo de la aplicación. Como una regla, las letras son convertidas o todas a minúscula o todas a mayúscula, y son eliminadas las marcas de puntuación al final de los tokens. Además, los tokens que contienen caracteres no alfanuméricos son también omitidos. Alternativamente, todos los dígitos pueden ser convertidos a un dígito predeterminado, por ejemplo “1”, o convertidos a las palabras que los describen, o simplemente, ser eliminados. Otro enfoque al transformar los textos, es identificar o marcar como tokens individuales aquellas entidades como nombres de personas, localidades, organizaciones, y productos. Por ejemplo, el fragmento de texto “A 160” puede ser identificado como un cierto tipo de carro. En este caso, los dígitos contenidos no deben ser transformados o eliminados como fue descrito antes. Al transformar el corpus también podemos sustituir las contracciones, por ejemplo, “don‘t” por “do not”, así como las abreviaturas por el nombre completo que ellas representan.. 1.2.2 Extracción de términos En la etapa de extracción de términos se parte de una secuencia de tokens, obtenida a partir del paso de transformación del corpus y se produce una secuencia de términos indexados basados en esos 8.
(17) Capítulo 1. tokens. La forma en que esa secuencia de términos indexados es usada depende del procesamiento posterior que se le vaya a realizar al documento y si el vocabulario ha sido construido o no. Si, por un lado, el vocabulario ya ha sido creado, cualquier índice de términos extraído que no esté en el vocabulario será omitido durante la extracción de términos. Para cada documento dj bajo consideración, el vector de frecuencia de términos dtf=(tfd(t1),…, tfd(tm))T es creado, donde tfd(t) denota el número de veces que el término tV aparece en el documento d. Dado ese vector, se puede aplicar alguna técnica de reducción de dimensionalidad y puede ser procesado en el paso de generación del vector. Por otro lado, i.e. cuando el vocabulario no ha sido todavía establecido, las salidas del paso de extracción de términos para todos los documentos de entrenamiento son combinadas para generar un conjunto de términos indexados V’={t’n,…,t’m’}, el cual puede potencialmente constituir el vocabulario V, el cual puede potencialmente constituir el vocabulario V. Acorde a la definición de VSM, las dimensiones del espacio del vector corresponden a distinguir los términos indexados en la colección de documentos bajo consideración. Pero, exactamente: ¿qué consideramos como un término indexado? Un reto fundamental en el procesamiento del lenguaje natural y el entendimiento es que la información o el significado que se da a conocer por el lenguaje, siempre depende del contexto. Las palabras pueden tener diferentes significados. Además, los lenguajes no pueden ser siempre analizados literalmente. Dos frases iguales pueden tener diferentes significados en dependencia del contexto en el cual ellas fueron usadas. Estos ejemplos muestran que tratar de representar documentos del lenguaje natural por el significado de un conjunto de índices de términos es un reto. Diferentes enfoques lingüísticos intentan capturar, o ignorar, una cierta extensión del significado con respecto al contexto. Estos enfoques se dividen en cinco niveles [LAN01]: 1. Nivel de grafema: Análisis sobre un nivel de sub-palabra, comúnmente concerniente a las letras. 2. Nivel léxico: Análisis concerniente a palabras individuales. 3. Nivel sintáctico: Análisis concerniente a la estructura de oraciones. 4. Nivel semántico: Análisis relativo al significado de palabras y frases. 5. Nivel pragmático: Análisis relativo al significado, tanto dependientes del contexto como independientes del contexto, e.g. aplicaciones específicas, contextos. Note que los dos primeros niveles operan solamente con un plano estadístico sobre el texto, i.e. básicamente sobre frecuencias de combinaciones de términos, que pueden ser letras o palabras. Para determinadas aplicaciones de la minería de textos, estas representaciones basadas en esas frecuencias de términos no pueden completamente capturar el significado de los documentos. Por 9.
(18) Capítulo 1. eso, existen niveles más altos del análisis de textos para tratar de capturar mayor contenido semántico a través de la explotación de la cantidad creciente de información contextual tal como la estructura de las oraciones, párrafos o documentos. En general, las técnicas de procesamiento de lenguaje natural pueden proveer una representación mucho más rica a través de un análisis sintáctico y semántico de documentos. Intuitivamente, a partir de lo que hemos descrito, puede ser razonable asumir la representación de textos más compleja teniendo en cuenta que los niveles más altos de análisis de textos pueden tender a construir herramientas de minería de textos más efectivas [BLA92]. Pero, mientras más compleja sea la definición de términos indexados, más compleja será la representación de los textos, y la dimensionalidad del espacio de rasgos crecerá correspondientemente. No obstante, en lenguajes como el Inglés, una definición compleja de los términos indexados no provoca una mejora significativa en los resultados. Para otros lenguajes, un análisis lingüístico profundo puede ser más beneficioso. En alemán, por ejemplo, hay muchas palabras compuestas, tales como “Textklassifikationsverfahren”, lo cual puede causar un incremento enorme en el número de rasgos. Así, técnicas que reconozcan esas palabras compuestas y las dividan en partes más pequeñas pueden remediar ese problema. Es por esto que en [LAN01] se concluye que el beneficio que podemos tomar del análisis lingüístico es fuertemente dependiente del lenguaje y del dominio. A partir del análisis anterior, podemos ver que escoger un nivel adecuado del análisis de textos sobre el cual basar la definición de los términos es siempre un equilibrio entre la expresividad semántica y la complejidad de la representación. En la mayoría de las aplicaciones de la minería de textos, particularmente en la recuperación de información, clasificación y agrupamiento, las definiciones simples de los términos son dominantes. Típicamente, se enfoca el análisis de textos a partir de los dos primeros niveles, y a su vez, alguna información sintáctica puede ser también incorporada. A continuación, describiremos tres definiciones de términos ampliamente usadas y que básicamente explotan el plano estadístico de los textos. El primer enfoque depende de n-gramas de las letras, y corresponde al análisis de textos en el nivel de grafema. Existen también dos enfoques, llamados palabras simples y frases de palabras, que son los mejores para realizar un análisis léxico de los textos. Note, sin embargo, que ellos posteriormente puedan también utilizar alguna información sintáctica. n-gramas de las letras: Las subsecuencias de palabras, solapadas, de n letras contiguas son conocidas como n-gramas, donde n es un número positivo [CAV94]. Es importante aclarar que a veces el término n-grama es usado para referirse a secuencias de palabras de longitud n. Abajo, nos referiremos a esos términos de múltiples palabras como frases. En el análisis de n-gramas, trigramas o tetragramas, i.e. n=3 o n=4, son comúnmente usados, aunque otros valores son también posibles. 10.
(19) Capítulo 1. Por ejemplo, la palabra “token” consiste de los trigramas “tok”, “oke”, y “ken”. Note que es también posible incluir el espacio a la izquierda y derecha de una palabra cuando generamos n-gramas. En el caso de la palabra “token”, podemos adicionalmente obtener los trigramas “to” y “en”. Tomando en cuenta que hay solo 26 letras en el alfabeto Inglés, hay 263=17576 trigramas y 264=456976 tetragramas distintos. Según [TAU00], un n grande, o más exactamente las distancias entre vectores n-gramas corresponden con las distancias semánticas de los documentos originales. Sin embargo, valores grandes de n tienden a un enorme número de términos posibles, mientras que n-gramas con n<3 no proveen suficiente información sintáctica de la palabra. La ventaja de los n-gramas es que el conjunto de posibles términos es fijado y conocido por adelantado. Además, los n-gramas son independientes del lenguaje y son considerablemente robustos para las variaciones morfológicas, así como para los variaciones ortográficas y errores. Los n-gramas son fáciles de calcular, sin embargo la representación resultante es difícil de analizar por los humanos. Palabras: En muchas áreas de la minería de textos se identifican las palabras simples como rasgos y se obtienen buenos resultados [SAL88]. Un enfoque común es usar cada token como una palabra para describir los textos. La representación VSM no considera la secuencia en la que las palabras aparecen en un documento, nosotros realmente tratamos un documento como una bolsa de palabras [LEW94]. Así, la representación de espacio vectorial basada en palabras como rasgos es también referida como el modelo bolsa de palabras (bag-of-words model). Obviamente, esa definición de términos es independiente del lenguaje y computacionalmente muy eficiente. Sin embargo, una desventaja es que cada inflexión de una palabra es un posible rasgo y el número de rasgos posibles puede ser innecesariamente grande. Sin embargo, las variantes morfológicas de una palabra son reconocidas como similares. Una solución es reducir cada palabra a su palabra raíz (word stem) con el objetivo de unificar las variantes morfológicas, este proceso se nombra stemming. Note, sin embargo, que esto hace que la extracción de términos sea dependiente del lenguaje y menos eficiente. Discutiremos el stemming como una forma de reducir la dimensionalidad del espacio de rasgos en próxima sección. Frases: Las frases son combinaciones de tokens. El uso de frases es justificado, especialmente en Inglés, para observar muchas expresiones que son términos multi-palabras tales como “data mining” o “information filtering”. Típicamente, solo frases específicas del dominio son consideradas, porque de otra forma, el número de posibles términos podría crecer drásticamente. Términos multi-palabras pueden ser identificados como secuencias de palabras que frecuentemente ocurren [COH96], o pueden ser detectados a partir de la aplicación del procesamiento del lenguaje natural, llamado comúnmente indexado sintáctico de frases (syntactic phrase indexing) [LEW92]. Otro enfoque para la identificación de frases es manualmente proveer un conjunto de frases para un dominio particular [SAH98]. Obviamente, el uso de frases tiende a ser dependiente del dominio. Existen diferentes 11.
(20) Capítulo 1. resultados respecto al uso de frases como términos indexados: algunos investigadores reportan una mejora en la calidad de la clasificación cuando usan frases, mientras que otros no logran realizar clasificadores más efectivos en comparación con usar palabras simples. Sahami [SAH98] argumenta que parte de esa discrepancia puede estar dada por la expresividad de los modelos usados. Por ejemplo, a modelos que no capturan información respecto a la co-ocurrencia entre palabras les puede ser beneficioso el uso de rasgos multi-palabras, los cuales explícitamente expresan sus dependencias. Por otro lado, modelos capaces de aprender la información de la co-ocurrencia de palabras no pueden ganar nada a partir de la inclusión de frases multi-palabras, y si se incluyeran, pudieran realmente dificultar la estimación de parámetros adicionales para tales términos. Este argumento soporta la Equal Effectiveness Paradox ampliamente mencionada [SAH98]. En este trabajo no incluimos el uso de frases como índices de términos. Nosotros usamos las palabras simples como términos indexados por dos razones. Primero, esa representación de textos puede ser implementada eficientemente. Segundo, y la más importante, esta representación no se construye sobre un conocimiento del dominio o en dependencia de un lenguaje, por tal motivo, ella puede ser directamente aplicada a cualquier colección de documentos.. 1.2.3 Reducción de la dimensionalidad La mayor parte del paso de reducción de dimensionalidad es aplicado solamente en el caso que se necesite construir el vocabulario. El conjunto de posibles términos indexados V’={t’1,…,t’m’} resultante desde el paso de extracción de términos original es usualmente muy grande. El objetivo de la reducción de dimensionalidad es reducir el número de rasgos que son finalmente usados para representar los documentos. Por ejemplo, para un futuro agrupamiento o clasificación de los documentos, ese conjunto de rasgos resultante debe ser aún discriminante entre las diferentes clases. Como resultado, obtenemos un conjunto menor de términos indexados, el vocabulario V={t1,…,tm}, donde mm’ denota el número de términos indexados que permanecen. Controlar la dimensionalidad del espacio del vector es esencial por dos razones. La complejidad de muchos algoritmos de aprendizaje, agrupamiento o clasificación, dependen no solamente del número de ejemplos de entrenamiento, sino crucialmente del número de rasgos. Así, reducir el número de términos indexados puede ser necesario para hacer esos algoritmos tratables [LAN01]. Además, aunque una mayor cantidad de rasgos se puede asumir como más información, existen rasgos que son irrelevantes y provocan la obtención de peores resultados. En la literatura se refieren al problema de tener muchos rasgos como “curse of dimensionality” [DUD73]. En muchos casos, eliminar los rasgos menos informativos puede realmente aumentar la eficiencia del procesamiento a realizar.. 12.
(21) Capítulo 1. Usamos el término reducción de dimensionalidad para abarcar cualquier técnica que su objetivo sea controlar la dimensionalidad del vector. Esto incluye técnicas de selección de rasgos que intentan encontrar un subconjunto adecuado del conjunto de rasgos dado mediante la inclusión explícita de términos indexados particulares en el vocabulario o la exclusión de ellos. Además, en la reducción de dimensionalidad, podemos considerar técnicas basadas en la reparametrización, que es el proceso de construcción de nuevos rasgos teniendo en cuenta combinaciones y transformaciones de los rasgos originales. Por tanto, estas técnicas realmente reemplazan los términos indexados existentes por nuevos términos con el objetivo de reducir la dimensionalidad del vocabulario. Además, tanto la selección de rasgos como la reparametrización pueden ser posteriormente divididas en dos enfoques lingüísticos: enfoque dependiente del lenguaje y enfoque estadístico independiente del lenguaje. Típicamente, algunos de estos enfoques se usan combinadamente [LAN01]. 1.2.3.1 Selección de rasgos Las técnicas de selección de rasgos para la reducción de dimensionalidad toman como entrada un conjunto de rasgos y salida un subconjunto de esos rasgos, los cuales son relevantes para, por ejemplo, discriminar entre clases de documentos [DAS97]. Idealmente pudiéramos pensar en encontrar el mejor subconjunto dentro de todos los subconjuntos posibles que nos permitan los mejores resultados en el procesamiento posterior. Así, la selección de rasgos puede ser vista como un problema de optimización donde el espacio de búsqueda corresponde al conjunto potencia de todos los m’ rasgos, i.e. donde hay 2m’ subconjuntos candidatos a analizar. Obviamente, esto requiere una búsqueda exhaustiva intratable teniendo en cuenta el número de rasgos que es usualmente muy grande en dominios textuales. Por tal motivo, la selección de rasgos puede ser guiada por heurísticas [SCH96]. Un enfoque es realizar filtros simples donde cada rasgo es tratado independientemente. Para cada rasgo, evaluamos una puntuación que nos permita decidir cuando incluirlo en el vocabulario y cuando excluirlo. El vocabulario final es establecido seleccionando todos aquellos rasgos que su puntuación sea superior o inferior a un umbral predeterminado o seleccionando los m mejores rasgos, i.e. los m rasgos con mayor o menor puntuación acorde a la magnitud de la puntuación. La determinación de un umbral apropiado o un número m de rasgos, es aún un tema abierto. Comenzaremos con un enfoque lingüístico ampliamente conocido como eliminación de palabras de parada (stop word elimination) [YAN97] [MLA98]. Entonces, comentaremos varias medidas numéricas frecuentemente usadas para evaluar la calidad de los términos con respecto a su habilidad para discriminar entre clases, útiles en problemas de clasificación y agrupamiento. Típicamente, todas las medidas son basadas en la frecuencia con que los términos ocurren en los documentos.. 13.
(22) Capítulo 1. Observe en la tabla 1.1 un resumen de los principales elementos de frecuencias de términos y número de documentos usados para la evaluación de las medidas numéricas de calidad de términos. n. Número de documentos de la colección. n(t). Número de documentos en los cuales el término t aparece al menos una vez. n (t). Número de documentos en los cuales el término t no aparece. tf. Número de ocurrencias de todos los términos en todos los documentos. tf(t). Número de ocurrencias del término t en todos los documentos. tf d j (t ). Número de ocurrencias del término t en el documento dj. Tabla 1.1 Frecuencias de términos y números de documentos usados para evaluar las medidas de calidad de términos. Nótese que n (t) es definido como:. n (t)=n-n(t) Además, se observan las siguientes relaciones entre las frecuencias de los términos: m'. tf tf (t i ) i 1. n. tf tf d j (t ) j 1. donde m’ denota el número de rasgos potenciales en el vocabulario V’ antes de cualquier paso de reducción de dimensionalidad particular. Eliminación de palabras de parada (stop words). Cuando analizamos un lenguaje, podemos frecuentemente observar que hay muchas palabras que pueden ocurrir en todos los documentos sin ofrecer información alguna sobre el contenido de los documentos [SAL83] [RIJ79]. Esas palabras tienen una alta frecuencia de aparición y son comúnmente referidas como palabras de parada (stop words) [RIJ79]. Típicamente, la función de estas palabras es como artículos, preposiciones, conjunciones y pronombres, las cuales proveen una estructura en el lenguaje, pero no información sobre el contenido [SAH98]. Las palabras de parada tienen poco poder discriminante, por tanto, es razonable eliminar esas palabras desde el conjunto de posibles términos indexados V’, y como resultado, reducir la dimensionalidad del vector asociado.. 14.
(23) Capítulo 1. Hay dos formas de obtener una lista de palabras de parada. Una forma común es establecer manualmente la lista de palabras de parada (stop list). Muchas de estas listas, para texto Inglés, pueden ser encontradas en Internet1 y en la literatura [SAH98]. Típicamente, esas listas contienen varios cientos de palabras de parada. La tabla 1.2 muestra un ejemplo de una lista de palabras de parada del idioma Inglés frecuentemente usada. En algunas aplicaciones puede ser útil proveer listas de palabras de parada dependientes del dominio además de una lista de palabras de parada general. Es necesario comentar que eliminar palabras teniendo en cuenta una lista de palabras de parada no se adecua propiamente con el enfoque de filtrar. Aunque, este tipo de eliminación a partir de una lista de palabras de parada puede ser fácilmente ajustado a un enfoque de filtro simple, simplemente definiendo una función que responda para cada término t con un cierto valor de certeza indicando si t es considerado o no una palabra de parada. Las palabras de parada pueden ser eliminadas entonces acorde a ese valor. a about all an and are as at. Be But By … Did Do Down During. each else … for from further … Get. if in is it into itself … just. last late like … many much more must. near no … of often on once or. that the they to … with which whether. Tabla 1.2 Fragmento de una lista de palabras de parada frecuentemente usada. Un segundo enfoque para la eliminación de palabras de parada es construir es construir la lista de palabras de parada automáticamente basándonos en la colección de documentos bajo consideración. Para hacerlo así, un enfoque común es considerar como palabras de parada –y eliminar desde el conjunto de datos- los i términos más frecuentes o todos los términos con un umbral de frecuencia superior a un umbral dado. El umbral puede ser definido manualmente con anterioridad o puede calcularse basándonos en el histograma de frecuencias de la distribución de los términos. Este enfoque elimina las palabras de parada que son específicas para la colección de documentos bajo consideración y es, además, específica al dominio. Siguiendo esta idea, no solamente palabras comúnmente aceptadas como palabras de parada son eliminadas, sino también otras como sustantivos, verbos y adjetivos pueden ser eliminadas [LAN01].. 1. ftp://ftp.cs-cornell.edu/pub/smart/english.stop. 15.
(24) Capítulo 1. Umbral de frecuencia de términos y Ley de Zpif. Una heurística de selección muy simple es eliminar todos los términos cuyas frecuencias son o superiores a un umbral predefinido o inferiores a un umbral predefinido. A partir de observaciones hechas por Luhn, el énfasis es tomado como un indicador de significación. Por tanto, la frecuencia de ocurrencias de términos es una medida apropiada de la significación de los términos [LAN01]. Así, términos que raramente aparecen en una colección de documentos tendrán poco poder discriminante y pueden ser eliminados [RIJ79]. En contraste, términos con frecuencia de aparición alta se asumen que son comunes y que tampoco tienen poder discriminante. Eliminar esos términos corresponde a eliminar las palabras de parada donde la lista de palabras de parada es automáticamente construida desde la colección de documentos y basándose en el histograma de frecuencia de términos. El cálculo del umbral de términos de baja frecuencia se justifica a partir de la Ley de Zipf [ZIP49] sobre la frecuencia de la ocurrencia de las palabras en una colección de documentos, que es más bien un fenómeno matemático de aproximación. Basado en estudios empíricos, Zipf observó hace más de 50 años atrás que muchas palabras en una colección de documentos aparecen infrecuentemente. Esta ley se ha probado considerando las palabras, frases, y n-gramas, como los términos que describen los documentos, pero nosotros nos referiremos a los términos como palabras. Asumimos que todos los términos indexados en el vocabulario preliminar, tV’, son ordenados decrecientemente de acuerdo a su número total de ocurrencias en la colección de documentos, tf(t), y rank(t) denota la posición del término t en la lista ordenada. La Ley de Zipf afirma que rank(t)tf(t)constante Sobre la base del análisis de varias colecciones de documentos, en [CAL97] se reporta que la constante es aproximadamente tf 10. en textos en Inglés. A partir de estudios de la Ley de Zipf, Sahami en [SAH98] concluye que la ley es una evidencia de que podemos eliminar un número significativo de términos con la más baja frecuencia de ocurrencia en la colección de documentos. Lunh realizó una aplicación de la Ley de Zipf mostrando en una curva hiperbólica de la frecuencia de los términos en el orden de sus puntuaciones la justificación de que es necesario eliminar tanto aquellos términos que aparecen mucho, como aquellos que tienen una baja frecuencia de aparición. Calculando adecuadamente el umbral, teniendo en cuenta la colección de documentos y su futura aplicación, es posible eliminar los términos no significativos con frecuencia de aparición muy alta o muy baja y reducir la dimensionalidad en un 50 % de los rasgos originales. 16.
(25) Capítulo 1. Umbral de frecuencia de documentos. Teniendo en cuenta que n(t) es el número de documentos en los cuales el término t aparece al menos una vez, una heurística simple de selección es excluir todos los términos desde el vocabulario cuya frecuencia de documentos es menor que algún umbral predeterminado [YAN97]. Eso es basado en la suposición que términos que ocurrir en solo muy pocos documentos improbablemente llevan información que permita distinguir los grupos de documentos y algunas veces tienden a ser ruidosos, e.g. errores ortográficos. Además, usar la ocurrencia de términos infrecuentes no es confiable estadísticamente. Así, eliminar esos términos, no solo mantiene el poder discriminante, sino que también puede mejorar la efectividad de algoritmos de agrupamiento o clasificación. Frecuencia inversa de documento y TFIDF. En contraposición con lo anterior, términos que aparecen en una gran porción de la colección de documentos pueden ser no discriminantes. La importancia de los términos se asume inversamente proporcional al número de documentos en los cuales el término particular aparece. Una medida posible para esto es la frecuencia inversa del documento para el término t, la cual está típicamente definida como. idf (t ) log. n n(t ). tal que aquellos términos con valores altos son preferidos. Después de eliminar las palabras de parada, aquí asumimos que la importancia de un término se incrementa con su frecuencia de uso. Combinando estas ideas se formuló la medida frecuencia del término / frecuencia inversa de documentos (term frequency / inverse document frequency (tfidf)) tfidf(t)=tf(t)idf(t) la cual asigna valores altos a los términos que son considerados más importantes. También, una combinación similar de frecuencia de términos y frecuencia inversa de documentos es usualmente usada para asignar pesos a los términos en el paso de generación del vector analizado en la próxima sección. Para pesar los términos, sin embargo, la frecuencia del término en un documento simple, así como la frecuencia del término en la colección completa de documentos son consideradas [SAL88]. Razón de señal a ruido (Signal-to-Noise Ratio). En teoría de comunicaciones, la razón de señal a ruido mide la fuerza de una señal relativa al ruido del entorno. Tomando en consideración esa forma de medir, la razón de señal a ruido de un término particular mide el poder discriminante que transmite ese término. Para el propósito de la reducción de dimensionalidad, los términos con grandes valores son preferidos. La evaluación del ruido del entorno se basa en la entropía que es una medida de la teoría de la información [SAL83].. 17.
(26) Capítulo 1. La información puede ser considerada como reducción de la incertidumbre. La cantidad de información que transmite un mensaje depende de su probabilidad de ocurrencia y puede ser medido como menos el logaritmo de esa probabilidad. Típicamente, es asumido un logaritmo en base 2 para medir la cantidad de información. Obviamente, recibir un mensaje que ocurre raramente es más informativo que recibir un mensaje que ocurre frecuentemente. Considerando cada presentación de una variable aleatoria discreta como un mensaje, se define la entropía como una medida de la incertidumbre promedio en una distribución discreta de probabilidad. La entropía de una variable aleatoria discreta X que puede tomar sobre c valores diferentes con probabilidades pi, i=1,…,c, es definida por c. Entropía( X ) pi log pi i 1. Así, la entropía puede ser evaluada como la cantidad de información que esperamos recibir sobre el promedio cuando observamos una variable aleatoria particular [SAL83]. Nótese que 0log0 es definido como 0 para la evaluación de la entropía. El rango de la función entropía es [0,log c]. La entropía es cero cuando una salida de la variable aleatoria ocurre con certeza, i.e. pi=1 para un i arbitrario y pj=0 para ji. en este caso, no recibimos ninguna información sobre la salida de la variable aleatoria X. Mientras más uniforme sea una distribución, mayor es su entropía. Así, la entropía alcanza su máximo valor log c si todas las salidas de X son igualmente probables. Un término puede ser concentrado en solo pocos documentos. Una medida para él, referida como Ruido(t) [SAL83], puede ser evaluada como la entropía de la distribución de probabilidad del término t entre los documentos: n. Ruido (t ) P(d j , t ) log P(d j , t ) j 1. donde la probabilidad que un documento dj y un término t co-ocurran es estimada por. P( d j , t ) . tf d j (t ) tf (t ). El rango de la función ruido es [0,log n]. Acorde a la definición de entropía, el ruido es cero cuando el término t aparece en un documento solamente, mientras que este toma su valor máximo log n si el término t ocurre con la misma frecuencia en todos los documentos. Además, es asumido que mientras más frecuentemente un término t ocurra, es más discriminante. Esto corresponde a la señal y es medido como log tf(t). La razón señal a ruido (SNR) es ahora expresado como la diferencia de esos logaritmos 18.
(27) Capítulo 1. SNR(t)=log tf(t) – Ruido(t) El rango de la razón señal a ruido es [0,log tf(t)]. La razón es cero cuando el término t aparece exactamente una vez en cada documento, mientras que esta alcanza su máximo valor log tf(t) si el término t aparece en un documento solamente [SAL83]. En [NUR01] se utiliza la entropía, según Lochbaum y Streeter en 1989, como una medida para el cálculo de la importancia de las palabras:. Entropía(t ) 1 . tf d (t ) 1 n pi (t ) ln( pi (t )) donde pi (t ) n i ln( n) i 1 tf d j (t ) j 1. Empíricamente se consideran relevantes las palabras que tienen una alta entropía, dentro de aquellas que tienen una alta frecuencia de aparición (i.e. preferimos seleccionar aquellas palabras que tienen una entropía alta desde un conjunto de palabras que son igualmente frecuentes). Calidad de términos. En [BER04] se muestran dos medidas que son utilizadas para medir la calidad de los términos y por tanto permiten la reducción de la dimensionalidad a partir de la selección de aquellos términos relevantes. La primera de las expresiones se muestra a continuación: n. q0 (t ) . 2. 1 n tf d j (t ) f d j (t ) n j 1 . . j 1. . 2. y la segunda constituye una variante de la primera donde n1 es el número de documentos en los cuales t ocurre al menos una vez n1. q1 (t ) j 1. 1 n1 tf d j (t ) f d j (t ) n1 j 1 . . . 2. 2. Skewness y Kurtosis. Skewness y kurtosis son medidas estadísticas que indican una distorsión de una distribución y pueden ser utilizadas, entre otras muchas aplicaciones, para conocer la parcialidad de los términos. La parcialidad de un término t se define como [FUK99]: P(t)=w1Skewness(t)+w2Kurtosis(t) donde w1 y w2 son pesos positivos para Skewness y Kurtosis. Skewness se define para un término t por la siguiente expresión. tf t tf (t ) n di 1 n Skewness (t ) n i 1 s3. 3. 19.
(28) Capítulo 1. donde s es la desviación estándar de la ocurrencia del término t en la colección de documentos. Kurtosis se define para un término t por:. tf t tf (t ) n di 1 n Kurtosis(t ) 3 n i 1 s4 4. Valores altos de Skewness(t) y Kurtosis(t) indican que el término t es más general en el corpus de textos y viceversa. 1.2.3.2 Reparametrización Las técnicas de reparametrización para la reducción de dimensionalidad toman como entrada un conjunto de rasgos derivados de la colección de documentos y construyen un nuevo conjunto de los rasgos que contiene menos rasgos pero formados a partir de combinaciones y transformaciones de los rasgos existentes, manteniendo y en algunos casos mejorando el poder discriminante. Los rasgos resultantes pueden ser artificiales y pueden no corresponder con los términos indexados que fueron encontrados en los documentos [LAN01]. Comenzaremos examinando tres técnicas lingüísticas de transformación: homogeneidad ortográfica (spelling), stemming y el uso de tesauros. Homogeneidad ortográfica (spelling). Como fue presentado anteriormente, usar palabras simples como términos indexados usualmente tiende a innecesariamente crecer el número de rasgos, por ejemplo, dadas las diferentes variantes ortográficas para escribir una palabra. La homogeneidad ortográfica consiste en convertir todas las palabras del léxico de un idioma a un estándar. Por ejemplo, en el idioma Inglés se pueden convertir las palabras del léxico norteamericano al británico o viceversa. Ejemplos de la primera variante son: sustituir “capitalize” por “capitalise” y “colour” por “color”. Stemming. Otra forma en las palabras simples usadas como términos indexados tienden a innecesariamente crecer el número de rasgos, es a partir de las diferentes variantes morfológicas de una palabra, cada inflexión de una palabra es un rasgo potencial. Stemming es un proceso seudolingüístico que reduce las palabras a su forma raíz [YAN97]. Por ejemplo, las palabras “classifier”, “classified” y “classifying” pueden ser reducidas a la palabra raíz “classify”. Consecuentemente, la dimensionalidad del espacio de rasgos puede ser reducida haciendo corresponder las palabras morfológicamente similares con la palabra raíz asociada. Un algoritmo de stemming ampliamente utilizado es Suffix Stripper desarrollado por Porter [POR80]. Los algoritmos de stemming son comúnmente basados en heurísticas, por ejemplo, el algoritmo de Porter convierte la palabra “is” a “i”. En [FRA92] se describen varios algoritmos de stemming y se ofrece un estudio comparativo de 20.
(29) Capítulo 1. ellos. Obviamente, stemming es dependiente del lenguaje, aunque no es dependiente del dominio. Para idiomas como el Inglés es relativamente sencillo especificar heurísticas que permitan realizar el stemming, sin embargo en lenguajes como el Alemán o el Francés, esto puede ser mucho más difícil [SAM98]. Es por eso, que una forma de realizar el stemming puede ser consultando con listas de palabras que tengan todas las variaciones morfológicas. En este trabajo, a pesar que se realiza un procesamiento de documentos en idioma Inglés, realizamos la lematización como un caso particular del stemming a partir de la consulta a listas de variaciones morfológicas. Uso de tesauros. Mientras que el objetivo del stemming es modificar las variantes morfológicas de las palabras en la palabra raíz asociada, el objetivo del uso de un tesauro en el contexto de reducción de dimensionalidad es considerar como un único término aquellos que sean sinónimos, i.e. palabras con significados iguales o similares. Generalmente, un tesauro es una colección de palabras que son agrupadas por analogía de su significado y ordenadas alfabéticamente. Estas relaciones pueden ser usadas como grupos de palabras en clases semánticas. La dimensión del espacio puede ser entonces reducido haciendo corresponder todos los términos indexados a las clases que ellos pertenecen. Obviamente, un tesauro es dependiente del dominio y del lenguaje. Los tesauros usados frecuentemente son construidos de forma manual [LAN01] [SAL83]. Análisis de latencia semántico (Latent Semantic Analysis). Los tesauros usados frecuentemente son construidos de forma manual. Sin embargo, ellos se pueden construir de forma automática basándose en las colecciones de documentos. El análisis de latencia semántico es una técnica estadística que para descubrir automáticamente una estructura semántica, i.e. encontrar asociaciones semánticas entre los términos en una colección de documentos. Explotando esas asociaciones puede resolver el problema de sinónimos y reducir la dimensionalidad del espacio de rasgos. Esta técnica se basa en la descomposición en valores singulares (singular value decomposition). En el área del reconocimiento de patrones se utiliza mucho en las técnicas de análisis de componentes principales (principal component analysis) para el agrupamiento de términos y documentos [LAN01]. Combinación de métodos Hemos discutido varias técnicas que permiten controlar la dimensión del vocabulario a aquellos elementos que corresponden a las dimensiones del espacio del vector en las cuales los documentos son representados. En lugar de aplicar justamente una de estas técnicas, en muchas aplicaciones, algunas de ellas son usadas en combinación. Por ejemplo, es bastante común, primero, eliminar las palabras de parada basándonos en una lista de palabras de parada provista manualmente. Entonces, aplicarle stemming a las palabras resultantes. Después de eso, pueden ser eliminados los términos que raramente ocurren, por ejemplo, comparando la frecuencia de documentos con determinado. 21.
(30) Capítulo 1. umbral. Finalmente, puede ser aplicado un método que calcule el ruido de cada término y reduzca el número de rasgos [NIG00].. 1.2.4 Normalización y pesado de la matriz Dadas las estadísticas de frecuencias de términos de todos los documentos de entrenamiento, la generación de un vector consiste en crear un vector pesado d=(w(d,t1),…, w(d,tm))T para cualquier documento d basado en el vector de frecuencia de términos dtf=(tfd(t1),…, tfd(tm))T, que se obtiene comúnmente del paso de extracción de términos. Cada peso w(d,t) expresa la importancia del término t en el documento d con respecto a su frecuencia en todos los documentos. Existen varias formas de pesar los términos indexados, las cuales pueden ser interpretadas como modelos de indexado diferentes. Salton y Buckley [SAL88] identifican tres factores para determinar el peso de los componentes en la determinación de la importancia de los términos, los llaman factores local, global y de normalización. Basados en esos tres factores, el peso del término es evaluado como. w(d , t ) . wlocal (d , t ) wglobal (t ) wnormalizac ión (d ). Componente local: El factor de peso local wlocal(d,t) refleja la importancia del término t en un documento particular d. Típicamente, el factor de peso local es obtenido aplicando una función de transformación f a la frecuencia del términos en el caso que el término t pueda aparecer en el documento d. f (tf d (t )) if tf d (t ) 0 wlocal (d , t ) en otro caso 0 Ejemplos de funciones de transformación pueden ser la función identidad y la función de indicador binario, i.e. retorna uno si la frecuencia del término es distinta de cero y cero en otro caso. Funciones más elaboradas pueden ser normalizar la frecuencia de los términos a través de la división por la mayor frecuencia de términos tfd(tmax) en el documento d. Componente global: El factor de peso global wglobal(t) tiene en cuenta la importancia del término t en la colección de documentos. Una medida que usualmente se utiliza aquí es la frecuencia inversa de documentos. Componente de normalización: Normalizar el vector de pesos de un documento d permite abstraernos de la variedad de longitudes de documentos. El factor de normalización se representa como wnormalización(d). Típicamente, los vectores pesados son normalizados siguiendo la 22.
Figure
+7
Documento similar