Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
4 1 PROCESAMIENTO DE LENGUAJE NATURAL El procesamiento de lenguaje natural (PLN) es la función de componentes de software o hardware en un sistema de cómputo que analiza o sintetiza el lenguaje hablado o escrito (Jackson y Moulinier, 2002). Para tener una mejor comprensión del término procesamiento de lenguaje natural es necesario saber qué es un lenguaje natural. Un lenguaje natural es aquel propiamente usado por los humanos para comunicarse entre ellos, como el español, el inglés, el francés, entre otros. Se diferencia de los lenguajes artificiales, los cuales son creados para que haya una comunicación humano-máquina, como los lenguajes de programación. Las aplicaciones y usos de PLN se encuentran en muchas de las cosas que empleamos en nuestra vida diaria. Casos en los cuales se usa el PLN son los motores de búsqueda en línea como Google o Yahoo!, los traductores y resumidores automáticos, los correctores de estilo y ortografía de los procesadores de texto, los reconocedores de voz, entre otros. Además, las capacidades del procesamiento de lenguaje natural son muy grandes: permiten disminuir y/o facilitar tareas que anteriormente se realizaban de manera manual. Pero también han logrado que se lleven a cabo en menor tiempo o que sean realizables; por ejemplo, una persona jamás podría analizar toda la cantidad de información que existe en la Biblioteca del Congreso de los Estados Unidos de América, al menos de manera manual. Con el PLN, esto es posible. Pero detrás de las aplicaciones basadas en el PLN hay varios procesos en los que es necesario realizar un tratamiento de la lengua, escrita o hablada, para que pueda ser analizada por una computadora. Los procesos realizados tratan de simular el proceso que lleva a cabo el ser humano para comprender y analizar la lengua. La diferencia entre este proceso y el efectuado por los seres humanos, es que una computadora puede analizar enormes masas de datos a velocidades muy rápidas, aunque no de manera tan exacta y precisa como lo hacemos los humanos. 5 En este capítulo se abordará el PLN, también conocido como tratamiento de lenguaje natural. Para ello en una primera instancia se darán a conocer algunas de las herramientas básicas que son empleadas dentro del PLN; posteriormente, dado que el objetivo es el uso del PLN para la extracción de la terminología, se dará a conocer lo que es la recuperación de información como una de sus aplicaciones, así como las diversas técnicas de la recuperación de información que son utilizadas en esta tesis. 1.1 Recursos y herramientas empleadas en PLN A continuación se darán a conocer algunas de las herramientas y recursos más importantes empleados en PLN. Si bien son muchas las herramientas y los recursos existentes, los principales son los corpus lingüísticos, los tokenizadores, las listas de palabras vacías, entre otros. 1.1.1 Corpus lingüísticos Uno de los recursos básicos empleados en el PLN son los corpus lingüísticos. El nombre de corpus proviene del latín y según el Diccionario de la Real Academia Española (DRAE), en su edición 22, indica que un corpus “es un conjunto lo más extenso y ordenado posible de datos o textos científicos, literarios, etc., que pueden servir de base a una investigación”. Aunque esta definición da a conocer, de manera general, lo que es un corpus, la definición de corpus lingüístico es un poco más específica. Un corpus lingüístico, según Sierra (2008), consiste en la recopilación de un conjunto de textos de materiales escritos y/o hablados, agrupados bajo un conjunto de criterios mínimos, para realizar ciertos análisis lingüísticos. Su función principal es establecer la relación entre la teoría y los datos (Torruella y Llisterri, 1999); es decir, un corpus debe cumplir los modelos teóricos con datos reales. Todo corpus lingüístico es creado con base en determinados requerimientos, según nuestras necesidades y el tipo de análisis que se vaya a llevar a cabo con él. Aun así, existen una serie de parámetros, o de criterios mínimos, que se deben seguir para que pueda cumplir su función principal de manera exitosa, las cuales se explican a continuación: 6 Variedad: Este parámetro indica que los recursos que conforman el corpus deben ser diversos. En este sentido, los documentos pueden provenir de distintas fuentes, épocas, hablantes, lugares, entre otros. Por ejemplo, si se busca crear un corpus de ciencia ficción, no se puede basar solamente en la serie de libros de “Dune” de Frank Herbert, se debe de incluir de igual manera libros como “Yo robot” de Isaac Asimov, “La guerra de los mundos” de Herbert George Wells, hasta “20 mil leguas de viaje submarino” de Julio Verne. Representatividad: Esto se refiere a que el corpus abarque, de la manera más amplia posible, todas las formas y variedades que existen en la lengua en determinada área, tema o tiempo. Es como en probabilidad, cuando se busca analizar una población sumamente grande se toma una muestra, la cual debe representar de manera general a todo el conjunto poblacional. En el caso de corpus lingüísticos, la población es la lengua a analizar mientras que el conjunto de documentos es la muestra a emplear. Equilibrio: El equilibro de un corpus está relacionado con la existencia de una neutralidad en todos los aspectos que se buscan analizar. Y aunque este parámetro es difícil de cumplir, se debe mantener lo más posible, de lo contrario los análisis que se lleven a cabo con el corpus podrían estar sesgados o limitar el uso del corpus en otras investigaciones. Tamaño: Un corpus debe tener un tamaño que permita obtener resultados significativos. Según MacMullen (2003) los corpus muy grandes no son necesariamente representativos; de hecho pueden causar problemas para encontrar elementos menos abundantes pero más importantes. Manejable por la computadora: En la actualidad muchos de los corpus lingüísticos se encuentran de manera digital; esto se recomienda ya que se pueden obtener beneficios de ello, por ejemplo se pueden realizar análisis o búsquedas de manera más rápida, ya que antes se realizaban estos procesos de forma manual. Esto ha dado lugar al término de corpus informatizado, es decir, un conjunto de textos elegidos y anotados con ciertas normas y criterios para el análisis lingüístico, de forma que se sirve de la tecnología y de las herramientas computacionales para generar resultados más exactos (Sierra, 2008). Derechos de autor: Este se debe de tener en cuenta cuando se realiza un corpus. La razón de ello se debe a que es necesario no violar las leyes o normatividades con respecto al uso o reproducción de documentos, ya que un corpus está conformado por documentos creados por distintas personas. 7 Existe una gran cantidad de tipos de corpus y según Torruella y Llisterri (1999), se pueden clasificar de la siguiente manera: por el porcentaje y la distribución de los diferentes tipos de textos que lo conforman, por la especificidad de los textos que lo componen, por la cantidad de texto que se recoge en cada documento, por la codificación y las anotaciones añadidas a los textos y por la documentación que lo acompañe. Algunos ejemplos de corpus lingüísticos son el Brown Corpus (Francis y Kučera, 1979), el Corpus Técnico del IULA (Vivaldi, 1995), el Corpus Histórico del Español en México (Medina y Méndez, 2006), el Corpus de Referencia del Español Actual (CREA) y el Corpus Diacrónico del Español (CORDE), estos dos últimos creados por la Real Academia Española. 1.1.2 Tokenizadores Antes de realizar cualquier análisis lingüístico o de procesar un documento es necesario encontrar y separar cada uno de los elementos que lo conforman, para ello se emplean los tokenizadores. Los tokenizadores (también conocidos como analizadores léxicos o segmentadores de palabras) segmentan un conjunto de caracteres en unidades con significadollamados tokens (Jackson y Moulinier, 2002), que se pueden llamar igualmente casos. A continuación se presenta un ejemplo: Frase: La niña juega con la pelota Tokens: La niña juega con la pelota Como se puede observar en el ejemplo anterior, la frase es segmentada en seis tokens, empleando como delimitador de cada token el espacio en blanco. De igual manera podemos ver que en los tokens se cuentan las repeticiones, en el caso anterior, la palabra “la” aparece dos veces y se contabilizan ambas. En el caso en que nos refiramos a la clase de todos los casos contenidos con la misma secuencia de caracteres (Manning et al., 2008), en otras palabras, el número de distintos tokens, entonces estamos dando a conocer lo que se define como type o tipo. Por tanto, en el ejemplo anterior existen 5 tipos, es decir, “la” se contabiliza una sola vez. 8 Este proceso, aunque aparenta ser fácil de llevar a cabo, es una tarea compleja. Existen casos en el cual la regla de espacios en blanco como delimitador no es suficiente, algunos de ellos son los siguientes (Ananiadou y McNaught, 2006): Fronteras ambiguas: Existen lenguas, como el alemán, que son aglutinantes, donde un conjunto de palabras se unen y no existe algún espacio en blanco entre ellas. Por ejemplo, estación de autobús en alemán es “busbahnhof” que es la unión entre “bus” que significa autobús y “bahnhof” que significa estación. Por tanto, en este tipo de casos es difícil encontrar la frontera entre las dos palabras ya que no existe un espacio de por medio. De igual forma pasa en lenguas como el japonés y el chino, donde no se escribe ningún tipo de espacio entre los caracteres. Formatos: Fechas, números, teléfonos, entre otros, se escriben de distinta manera dependiendo del lugar de donde sea un documento, por tanto se debe prevenir esto para realizar la correcta tokenización. Por ejemplo, la notación que se emplea para separar los números, en algunos países se emplea la coma decimal en lugar del punto decimal; de igual manera algunos usan el punto, la coma o un espacio en blanco para separar los millares. Guiones: Otro de los casos son los elementos unidos por guiones, donde estos se puede considerar como un solo token o como varios. Algunos ejemplos son los siguientes, compra- venta, México-68, entre otros. De igual manera, en otros idiomas se emplea de manera distinta el guión, por ejemplo en el francés se emplea el guión para indicar una posición inversa a la normal de los elementos como “dis-moi!”. En portugués peninsular se unen con guión los clíticos “parece-me”. Abreviaturas y siglas: Además del espacio en blanco como delimitador, se podría considerar a los signos de puntuación como límite entre palabras gráficas, pero el caso de las abreviaturas y de las siglas complica esto. Por consiguiente hay que diferenciar entre los puntos del final de una oración y los de una abreviatura o sigla, de lo contrario habría problemas en casos como F. C. (ferrocarril) o S.C.T. (Secretaría de Comunicaciones y Transportes). Apóstrofos: Aunque en el español no se emplean los apóstrofos („), en otras lenguas sí se emplean, como en el inglés y en el francés. Ejemplo: “L‟hôpital” (en francés el hospital) o “isn‟t” (en inglés, contracción de is not). 9 Según Jackson y Moulinier (2002) los tokenizadores usualmente dependen de reglas, máquinas de estados finitos, modelos estadísticos, y lexicones para identificar abreviaturas o palabras de varios elementos. 1.1.3 N-gramas La definición más simple de un n-grama es la unión de uno o varios tokens o caracteres. La construcción de los n-gramas se lleva por medio de combinaciones entre tokens o caracteres vecinos. Para llevar esto a cabo se crea una ventana del tamaño del n-grama deseado: si se quiere un unigrama el tamaño de la ventana será de 1, si son bigramas (o digramas) la ventana será de tamaño 2 y así sucesivamente hasta llegar al tamaño de n-grama final deseado. Esta ventana se mueve a través del texto y abarca la cantidad de tokens o caracteres que el tamaño de la ventana indica. Un ejemplo de formación de n-gramas de tokens es el siguiente: Frase: El termómetro de mercurio se rompió Tokens El termómetro de mercurio se rompió Unigramas El termómetro de mercurio se rompió Bigramas El termómetro termómetro de de mercurio mercurio se se rompió Trigramas El termómetro de termómetro de mercurio de mercurio se mercurio se rompió Se emplean los n-gramas de tokens para abarcar la mayor cantidad de construcciones que se encuentran en un texto y no emplear en el análisis solamente construcciones de un elemento. Como se puede observar en el ejemplo anterior, en trigramas obtenemos una construcción que es importante en la frase y expresa claramente un objeto, esta es “termómetro de mercurio”. 10 Los n-gramas de caracteres se emplean para obtener construcciones que frecuentemente se emplean dentro de los tokens en una determinada lengua. Por ejemplo, con el uso de los n-gramas de caracteres se puede conocer el idioma de un texto sin haberlo leído (Cavnar y Trenkle, 1994). 1.1.4 Etiquetadores de partes de la oración Los etiquetadores de partes de la oración, también conocidos como etiquetadores POS por sus siglas en inglés “Part-of-Speech”, son herramientas que realizan el proceso de asignar partes de la oración u otra clase de marcador léxico a cada palabra en un corpus (Jurafsky y Martin, 2008), en otras palabras, son sistemas que ayudan en la determinación de la categoría gramatical (por ejemplo, si es verbo, sustantivo, preposición, etcétera) de cada una de las palabras de un texto o conjunto de ellos. Asimismo, el etiquetado que realizan estas herramientas se aplica de igual forma a signos de puntuación, números, cantidades, entre otros. Para llevar el proceso del etiquetado POS es necesario primeramente realizar un análisis morfológico. Un análisis morfológico o análisis estructural es el proceso de descomponer palabras complejas en sus componentes morfológicos (partes significantes de las palabras) (Bellomo, 2009), este análisis provee información sobre la semántica de la palabra y el papel sintáctico que juega en una oración (Goyal y Singh Lehal, 2008). En otras palabras, un análisis morfológico permite conocer las posibles categorías gramaticales de cada una de las palabras que se encuentran en una oración. A continuación se muestran los casos que se obtendrían al analizar morfológicamente la frase “El gato come pescado”: 11 Frase: El gato come pescado Categoría gramatical Caso 1: Artículo masculino singular Nombre común masculino singular Verbo principal indicativo presente tercera persona del singular Sustantivo común masculino singular Caso 2: - - Verbo principal imperativo segunda persona del singular Verbo principal participio singular masculino Como se puede observar en el ejemplo anterior, para “come” y “pescado” existen dos posibles casos; “come” puede representar un verbo en imperativo o en presente en tercera persona del singular, la razón es porque para los verbos terminados en –er estas dos formas terminan en –e. En cambio, la palabra “pescado” puede representar un sustantivo o un verbo en participio por su terminación –ado. El segundo paso para hacer un etiquetado POS consiste en desambiguar los casos otorgados por el análisis morfológico y poner la etiqueta de la parte de la oración más probable. Para llevar a cabo esto es necesario utilizar etiquetadores que emplean algoritmos que pueden ser de dos tipos (Jurafsky y Martin, 2008): Basados en reglas: Este tipo de algoritmo se basa en un conjunto de reglas escritas a mano que desambiguan los casos. Por ejemplo, una palabra será un sustantivo y no un verbo si está antecedido de un artículo. Basado en aprendizaje: Este tipo de algoritmo se basa en las probabilidades que tiene una etiquetaen un determinado contexto. Para calcular estos valores es necesario utilizar previamente un corpus de aprendizaje, es decir, un corpus que fue etiquetado a mano lo suficientemente grande para que un programa computacional puede calcular las probabilidades de las etiquetas según el contexto. Existen diversos formatos de etiquetas, incluso para la misma lengua; esto se debe a que no todos clasifican o anotan de la misma manera las partes de la oración. Sin embargo, existen diversos estándares, siendo el más conocido el desarrollado por el grupo EAGLES 1 1 http://www.ilc.cnr.it/EAGLES96/home.html 12 (Expert Advisory Group on Language Engineering Standards) ya que trata de establecer un mismo formato de etiquetas para las lenguas de la Unión Europea (español 2 , inglés, francés, etcétera). Las etiquetas de EAGLES tienen una estructura variable según la categoría gramatical y el idioma, ya que no en todas las lenguas europeas las categorías gramaticales tienen los mismos atributos; en la Tabla 1 se muestra un ejemplo de esta estructura para el caso de adverbios. Adverbios Posición Atributo Valor Código 1 Categoría Adverbio R 2 Tipo General G Negativo N Tabla 1. Estructura de la etiqueta de adverbios para el formato EAGLES Con base en la Tabla 1, adverbios como “rápido” o “siempre” obtendrían una etiqueta “RG” mientras que “jamás” o “no” tendrían una etiqueta “RN”. 1.1.5 Lematizadores En todo documento escrito en una lengua flexiva, como el español y el italiano, existen variaciones léxicas de las palabras, es decir, se pueden tener casos como “escribimos”, “democracias”, “industrialización”, etcétera. Pero dentro del procesamiento de lenguaje natural es necesario disminuir la cantidad de variaciones léxicas que existan en los documentos a analizar. Para ello se debe obtener el lema o forma canónica, es decir, la base o la forma de diccionario de una palabra (Manning et al., 2008). El proceso de lematización se lleva a cabo de manera automática por parte de los humanos; cuando queremos buscar las palabras “encontramos” o “niñas” en un diccionario las pasamos a “encontrar” y “niño”, para ello empleamos nuestro conocimiento del mundo. 2 Para información sobre las etiquetas EAGLES con ejemplos en español se puede consultar http://nlp.lsi.upc.edu/freeling/doc/userman/parole-es.pdf 13 Pero para las computadoras realizar este procedimiento es más complicado, ya que no tienen acceso a este conocimiento, por tanto, es necesario darle una serie de reglas y de recursos. Para reducir el número de variaciones léxicas, ya sea por flexiones (caminar → caminamos) o por derivaciones (activar → activación), existen dos herramientas que se emplean en PLN, que son los lematizadores y los truncadores o stemmers. Aunque frecuentemente se confunden ambos términos, cabe aclarar que son dos métodos distintos. Los lematizadores son herramientas que emplean diccionarios o tesauros, al igual que reglas, que buscan obtener el lema de las palabras; además estas herramientas realizan un etiquetado POS (sección 1.1.4) para conocer la categoría gramatical de las palabras. A continuación se muestra un ejemplo de los lemas obtenidos por la lematización en dos frases: Frase 1: El cuidado de las obras de arte es un trabajo arduo Lemas: el cuidado de el obra de arte ser un trabajo arduo Frase 2: El museo fue cuidado por los policías Lemas: el museo ser cuidar por el policía Se puede observar que en la frase 1 tanto la palabra “cuidado” como “trabajo”, al lematizarse quedan sin cambios, la razón de ello es que ambas palabras hacen referencia a un sustantivo, y no a un verbo en participio y a un verbo en presente en primera persona, respectivamente. En cambio, en la frase 2, la palabra “cuidado” al ser un verbo conjugado en participio, su lema es “cuidar”. Los truncadores, en cambio, son herramientas que emplean la heurística, es decir, ciertas reglas, para cortar las partes finales de las palabras, con el fin de llegar a su lema; estas herramientas no usan ni analizadores morfológicos o etiquetadores POS, aunque hay truncadores que incluyen reglas para eliminar afijos derivacionales, como “-ción”, “-ía”. Al no realizar un análisis morfológico o un etiquetado POS los stemmers no encuentran la diferencia entre “cuidado” que proviene del verbo y “cuidado” que es un sustantivo, como lo hacen los lematizadores. De igual forma, el problema de los stemmers es que el hecho de 14 cortar las partes finales de las palabras no siempre implica que se obtendrá la forma canónica correcta. A continuación en la Tabla 2 se muestran algunos ejemplos de la truncación: Palabra Lema por un stemmer 3 chicharrones chicharron torres torr torreón torreon Tabla 2. Ejemplos de lemas obtenidos por un stemmer Como se puede observar en la tabla anterior, existen casos en el cual el lema es el correcto (siempre y cuando se omita la falta de acentos), pero en otros casos, como el de “torres”, su lema dado es incorrecto, la razón de este caso es que la regla empleada en el truncador indica que cuando una palabra termina en “-es” es un plural y por tanto se debe de quitar; en casos como “meses” o “celulares” sí funciona la regla anterior. La mayor ventaja que tienen los stemmers sobre los lematizadores es la velocidad de procesamiento. Algunas herramientas lematizadoras son el FreeLing (Padró et al., 2010) y el TreeTagger (Schmid, 1994); mientras que para truncar existen sistemas basados en el algoritmo de Porter (Porter, 1980), que comenzó para el idioma inglés, pero se ha llevado a otros idiomas. 1.1.6 Palabras funcionales Las palabras funcionales, palabras vacías o stop words, son las palabras que “carecen” de significado. Estas palabras son las de mayor frecuencia y las que aportan la menor cantidad de información, entre ellas se encuentran los artículos, las preposiciones, las conjunciones, entre otras. De las palabras funcionales se crean listas de paro o stoplists. Según Pazienza et al. (2005), las palabras funcionales son automáticamente extraídas de un corpus genérico como aquellas con la más alta frecuencia, y posteriormente son 3 Los ejemplos fueron obtenidos de la página del proyecto “Snowball” el cual es un conjunto stemmers basados en algoritmo de Porter. La dirección web es la siguiente: http://snowball.tartarus.org/algorithms/spanish/stemmer.html 15 validadas por expertos humanos. De igual manera, se pueden agregar algunas otras palabras que se desean eliminar en PLN. El objetivo de emplear stoplists en PLN es reducir la cantidad de datos a analizar. De igual manera disminuye el espacio en memoria o en disco empleado por las herramientas que analizan lenguaje natural. En el siguiente ejemplo se puede observar que se quitan las palabras funcionales: Frase 1: El monitor de esa computadora se descompuso Tokens: el monitor de esa computadora se descompuso Eliminando las palabras funcionales Resultado: monitor computadora descompuso 1.2 Recuperación de información Existen múltiples tareas dentro de PLN, una de las más importantes y más utilizadas es la recuperación de información. La recuperación de información, también conocida como búsqueda de información o information retrieval (IR), es el proceso por el cual se otorgan documentos relevantes (o información sobre ellos) a un usuario, según la consulta que se haya realizado (Kageura y Umino, 1998). Esta tarea es una de las más obvias que existe en PLN porque es una con la que se tiene mayor contacto; por ejemplo, se emplea la recuperación de información en buscadores en línea, en bibliotecas digitales, en el programa para buscar dentro de la computadora y prácticamente en cualquier medio electrónico. Como se vioen el párrafo anterior, para llevar a cabo una recuperación de información, es necesaria una consulta o query, que puede ser la correcta o no para buscar la información, de igual manera puede estar mal escrita, con faltas de ortografía, con exceso de conectores o de datos inútiles, entre otros; lamentablemente, lo que se encuentre en esa consulta es la única pista que da el usuario para llevar a cabo la búsqueda necesaria. Por tanto, es necesario que todo sistema de recuperación de información tenga en cuenta las consideraciones anteriores. 16 Según Frakes y Baeza-Yates (1992) casi todos los sistemas de recuperación de información utilizan operadores booleanos o patrones de texto. Los primeros son empleados en sistemas de búsqueda donde existe una gran colección de documentos, como en el internet o en una biblioteca digital; en estos sistemas, cada documento es representado por una lista de palabras claves o de identificadores. De igual manera, en los sistemas booleanos, el usuario puede conectar los elementos de la consulta por medio de conectores lógicos. En cambio, en los sistemas basados en patrones, las búsquedas se basan en cadenas de texto o en expresiones regulares, estos sistemas se emplean dentro de documentos, o en colecciones pequeñas de archivos. Existen diversos métodos para la creación de las listas de palabras claves que se emplean en los sistemas de recuperación de información booleanos. Uno de ellos es TF-IDF o term frequency–inverse document frequency, el cual se explicará en el siguiente apartado. 1.2.1 Term frequency – Inverse document frequency (TF-IDF) Uno de los métodos empleados para la creación de listas de palabras clave para los sistemas de búsqueda de información es TF-IDF (Term Frequency – Inverse Document Frequency), el cual es la unión de dos métricas, la primera de ellas es la de frecuencia del término, term frequency o TF y la segunda que es la frecuencia inversa de los documentos, inverse document frequency o IDF. El método de TF-IDF genera listas de palabras clave con una calificación o peso que indica qué tan relevante es la palabra con respecto al documento seleccionado y al corpus en general. Además, estas listas permiten calificar a los documentos del corpus con base en estas palabras clave, es decir, si las palabras clave tienen una gran peso, entonces el documento está más relacionado con ellas que uno con las mismas palabras clave pero con menor peso. Por tanto, cuando un usuario ingrese una consulta, los documentos que tengan las palabras de esa consulta con mayor peso serán los que muestre el sistema de búsqueda de información. La primera medida, TF, es un sistema de pesos basado en la idea de que construcciones (palabras, frases, grupos de palabras) que frecuentemente ocurren en el texto 17 de documentos tienen alguna relación con el contenido de los textos (Salton y McGill, 1986). El cálculo de estos pesos se lleva a cabo calculando la frecuencia relativa 4 de cada una de las construcciones (también llamados términos) en cada uno de los documentos a analizar; esto se puede representar por medio de la siguiente fórmula: (1) Donde es el número de ocurrencias del término en el documento . La segunda métrica, llamada Inverse Document Frequency o IDF, está basada en contar el número de documentos de la colección en donde se busca, que contienen (o están indizadas por) el término en cuestión (Robertson, 2004), en otras palabras, es saber el número de documentos de un corpus en donde las construcciones de palabras se encuentran. El nombre inicial de IDF fue term specificity y su fórmula fue la siguiente (Spärck-Jones, 1972): ( ) ( ) (2) Donde la función ( ) tal que , en la Figura 1 se puede observar los valores que podría tomar ; es el número de documentos que existen en el corpus y es el número de documentos donde el término analizado se encuentra. 4 La frecuencia relativa es el número de ocurrencias de un caso en determinado evento. Se diferencia de la frecuencia absoluta, que es la frecuencia relativa entre la suma de las ocurrencias de todos los casos en el evento. 18 Figura 1. Gráfica de los valores de la función ( ) tal que Posteriormente la fórmula de term specificity fue adecuada por Robertson (1972) debido a que la fórmula ( ) se podía aproximar a ( ) (esta aproximación es la función inversa de ) y el 1 que se encontraba en la fórmula original era para evitar valores iguales a 0 en valores de muy cercanos al valor de , por lo tanto se podía prescindir de él. De igual forma le fue cambiado el nombre a inverse document frequency (IDF) y se observó que el logaritmo no tenía que ser forzosamente base 2, esto debido a la siguiente propiedad de los logaritmos: (3) Donde es el número al cual se le calculará el logaritmo; es la base del logaritmo original y es la base de un logaritmo distinto a . En el caso del IDF, se cambió el logaritmo de base 2 a base 10 debido a que es uno de los más usados. La fórmula empleada en la actualidad para el cálculo de la métrica Inverse Document Frequency es la siguiente: (4) Donde es el número de documentos que existen en el corpus, es el número de documentos donde el término se encuentra. 19 La creación del sistema de pesos basado en IDF se fundó en la teoría de Spärk-Jones que indicaba que los términos con alta frecuencia pueden ser útiles para aumentar la cobertura, pero las correspondencias entre la consulta y los términos del documento que ocurren raramente en una colección de documentos deberían ser tomadas como más importantes que aquellas que ocurren frecuentemente (Salton y Yang, 1973). A partir de estos dos sistemas de pesos, se desarrolló el TF-IDF (Salton y Yang, 1973), el cual trabaja determinando la frecuencia relativa de las palabras en un documento específico comparado con la proporción inversa de esa palabra en todo el corpus (Ramos, 2003). Su fórmula es la siguiente: (5) Donde es la frecuencia del término en el documento ; es el número total de documentos que conforman el corpus y es el número de documentos donde se encuentra el término . En el método de TF-IDF existen, a grandes rasgos, cuatro tipos de pesos que son los siguientes: Peso grande: Este ocurre cuando un término tiene una alta frecuencia de aparición pero no se encuentra en la mayoría de los documentos analizados. Peso mediano: En este caso, el número de apariciones tanto dentro de un documento como en los archivos que conforman el corpus no es baja ni alta. Peso bajo: Su aparición sucede cuando la frecuencia del término es baja y la construcción se encuentra en la mayoría de los documentos. Peso nulo: Acontece cuando la frecuencia de aparición de un término dentro de un documento es nula o cuando el término aparece en cada uno de los documentos que pertenecen al corpus analizado. En la Tabla 3 se muestra un ejemplo de los pesos calculados por el método de TF-IDF para una serie de términos en tres documentos: 20 Término Documento 1 Documento 2 Documento 3 T F ID F T F -I D F T F ID F T F -I D F T F ID F T F -I D F la 10 0 12 0 9 0 geometría 5 0.85 7 1.19 0 0 analítica 5 2.35 0 0 0 0 descriptiva 0 0 6 2.82 0 0 casa 0 0 0 0 8 3.76 de 11 0 8 0 10 0 José 0 0 2 0.34 5 0.85 Tabla 3. Ejemplo de la aplicación de TF-IDFComo se puede observar, el método de TF-IDF permite la discriminación de palabras frecuentes, como lo son las palabras funcionales, asignándoles pesos nulos o bajos. Por tanto, estas no suelen quedar en las listas de palabras clave que se emplean en los sistemas de búsqueda de información. Pero además califica con pesos altos las palabras con alto valor de importancia para cada uno de los documentos analizados. Hasta la fecha se han realizado diversas variaciones al método de TF-IDF y se han empleado métodos de normalización, los cuales serán expuestos en el siguiente apartado. De igual manera el uso de TF-IDF ha pasado a otras áreas de PLN. 1.2.2 Normalización de la longitud del documento Una de las modificaciones que han sido agregadas al método de TF-IDF es el empleo de un factor de normalización que permita equilibrar casos en los que se empleen documentos de distintos tamaños. Es decir, un documento muy extenso tiene una ventaja más alta sobre los 21 documentos más pequeños a la hora de recuperar información, esto debido a que el tamaño del documento es un parámetro que hasta cierto punto afecta el cálculo de los pesos. Esta ventaja se observa cuando el usuario hace una consulta al sistema de recuperación de información, el cual traerá los documentos que contengan los términos de la consulta con mayor peso. Según Singha et al. (1996) existen dos razones principales por las cuales es necesario emplear la normalización: Frecuencias de términos más altas: Los documentos grandes usualmente emplean los mismos términos repetidamente. Como resultado, los factores de frecuencia de los términos pueden ser grandes para documentos largos, aumentando la contribución promedio de sus términos a la similitud de la consulta de documentos. Más términos: Los documentos largos también tienen una gran cantidad de términos diferentes. Esto aumenta el número de coincidencias entre la consulta y un documento largo, aumentando la similitud de la consulta de documentos, y los casos de recuperar documentos largos en vez de documentos cortos. La normalización, a grandes rasgos, permite tratar de la misma manera a todos los documentos sin importar su longitud. Existen diversos métodos para llevar a cabo la normalización, algunos de ellos atacan las dos razones principales vistas anteriormente, algunos otros métodos solamente una de ellas. 1.2.2.1 Normalización de coseno La normalización de coseno es uno de los métodos más empleados para normalizar los pesos de TF-IDF, se basa en el modelo de espacio vectorial o vector space model. Este modelo es la representación de un conjunto de documentos como vectores en el espacio vectorial común (Manning et al., 2008). Un vector es un segmento de línea dirigido 5 con dirección, sentido y 5 Según Castañeda De Isla Puga (2000) un segmento de línea dirigido o segmento dirigido es un segmento de recta en el que se ha asignado un punto origen y un punto extremo. 22 magnitud. Es decir, un documento se puede representar como un vector que sería de la siguiente manera: ̅ ( ) Donde es el documento i-ésimo del corpus y es cada uno de los pesos de los términos que conforman el documento, en el modelo de espacio vectorial, los pesos representan cada uno de los componentes escalares 6 de un vector de n dimensiones. De manera gráfica, un documento con tres términos podría representarse como se muestra en la Figura 2. x y z Di __ 90° 90° w2 w1 w3 Figura 2. Representación gráfica de un documento de 3 términos en el modelo de espacio vectorial Al igual que a cualquier otro vector, al vector ̅, se le puede sacar su módulo; el módulo, norma, o magnitud de un vector es el tamaño de cualquier segmento dirigido que lo representa (Castañeda De Isla Puga, 2000); este valor es un escalar siempre positivo. Para un vector de la forma ̅ ( ) el módulo se calcula de la siguiente manera: 6 Un escalar o cantidad escalar es un número o medida en que la dirección no interviene o carece de significado (Daintith, 2001). En otras palabras, un escalar sólo indica una magnitud. 23 | | √ √∑ (6) Donde | |̅̅ ̅̅ es el módulo del vector y es cada uno de los componentes escalares que conforman al vector . Tomando lo anterior en cuenta, para el vector de un documento ̅, su módulo sería la raíz cuadrada de la suma de los pesos, es decir: | | √∑ (7) De la misma manera en que se puede obtener el módulo de un vector, también se puede convertir en un vector unitario. Un vector unitario es aquel en el que su módulo es igual a la unidad (Castañeda De Isla Puga, 2000). Para ello se emplea la normalización de vectores que para un vector de la forma ̅ ( ) consiste en la siguiente: ̅ | | (8) Donde es el vector unitario resultante, es el vector original y | | es el módulo del vector . A partir de la normalización anterior, se desarrolló la normalización de coseno (Salton y Buckley, 1988), el cual consiste en multiplicar el vector del documento por el factor normalizador, como se muestra en la siguiente fórmula: | | | | (9) La normalización de coseno permite eliminar los dos casos por los cuales se normaliza, mismos que fueron vistos en la sección 1.2.2. De igual manera cuando se emplea la normalización de coseno, los pesos de cada uno de los términos tienen una escala que va del cero al uno, debido a que este proceso crea vectores unitarios. 24 1.2.2.2 Normalización por pivote Uno de los problemas que ocurren al normalizar es que el factor de normalización penaliza en exceso a los pesos de los documentos grandes, otorgándoles una desventaja a la hora de realizar una búsqueda. Por tanto, es necesario equilibrar el factor de normalización para aumentar la posibilidad de recuperar un documento de cierta longitud. Para enfrentar este problema, se desarrolló la normalización por pivote (Singha et al., 1996). Este método está conformado a grandes rasgos en dos pasos, el primero de ellos es el cálculo de un factor de normalización por medio de un método de normalización como el de por coseno, y posteriormente el cálculo del nuevo factor de normalización. El método se basa en la idea de que después de normalizar hay un punto en el cual la probabilidad de recuperar documentos de cierta longitud disminuye cuando su probabilidad de relevancia aumenta. Por ello es necesario rectificar el factor de normalización. En la Figura 3 se puede observar lo explicado antes. Longitud del documento P ro b ab il id ad Intersección Probabilidad de ser recuperado Probabilidad de ser relevante Figura 3. La probabilidad de recuperar un documento normalizado disminuye mientras más relevante sea La normalización por pivote consiste en rectificar el factor de normalización, disminuyendo su valor en documentos largos, pero aumentándolo en documentos cortos. Para llevar a cabo esta rectificación es necesario considerar lo siguiente: 25 (10) ( ) (11) Donde es la recta que representa la normalización original (una recta identidad) y es la recta que representa la normalización rectificada; son los valores de la normalización original, es la pendiente de la recta y es la ordenada al origen. En un plano estas dos rectas se verían como se muestra en la Figura 4, el punto donde se intersecan es el pivote ( ). N n N2 N1 p b m Factor original F a c to r re c ti fi c a d o p Figura 4. Representación gráfica de las rectas de normalización La ecuación de la recta normalizada rectificada tiene dos parámetros los cuales se desconocen por defecto. En el caso de la pendiente , si su valor es igual a 1 entoncesse genera una recta paralela a la recta ; si su valor es 0 entonces es una recta horizontal y normalizaría todos los documentos de la misma manera; por tanto, es necesario que el valor de esté en el intervalo (0,1). Con respecto a este debe tener un valor que permita a la recta cruzar por el mismo punto por el cual la recta cruza el pivote. Por tanto, para obtener el valor de se sustituye la Ecuación (10) en la Ecuación (11) y queda de la siguiente manera: ( ) (12) Si se considera el punto donde se intersecan las dos rectas de normalización, tiene por coordenadas ( , ), entonces la Ecuación (12) se podría escribir de la siguiente manera para : 26 ( ) (13) Simplificando la Ecuación (13) y despejando : ( ) (14) Finalmente sustituyendo la Ecuación (14) en la Ecuación (12) se tiene: ( ) ( ) (15) La ecuación anterior es la que se emplea para obtener el factor de normalización por pivote, el cual se aplica dividiendo cada uno de los pesos de los términos sin normalizar entre el factor de normalización rectificado. El valor de , es decir, del pivote que se emplea, no tiene una fórmula definida, simplemente los autores del método (Singha et al., 1996) recomiendan emplear como el promedio de todos los pesos del documento a normalizar. Con respecto a es un valor que se calcula empíricamente dependiendo del documento y que debe encontrarse entre cero y uno. 1.2.2.3 Normalización por máximo TF La normalización por la máxima frecuencia de un término (TF) es otro método empleado en los sistemas que emplean TF-IDF. Esta normalización ha sido empleada en sistemas como SMART e INQUERY (Singha et al., 1996). El método consiste en normalizar la frecuencia de un término por medio de la siguiente fórmula: (( ) ( ( ) )) (16) Donde es el valor de suavidad (smoothing), el cual va de 0 a 1, aunque en la práctica se emplea un valor de α= 0.4; es la frecuencia del término en el documento ; mientras que ( ) es la frecuencia máxima de los términos que se encuentran en el documento . Mientras que es la frecuencia del término normalizada. Este método limita la frecuencia del término (TF) a un valor máximo de 1, por tanto, sólo compensa la primera razón por la cual se realiza la normalización (frecuencia alta de términos). En la Tabla 4 se muestra un pequeño ejemplo de lo anterior para . 27 10 ( ( ⁄ )) ( ) 8 ( ( ⁄ )) ( ) 5 ( ( ⁄ )) ( ) 7 ( ( ⁄ )) ( ) Tabla 4. Ejemplo sobre la normalización por máxima frecuencia 1.2.3 Evaluación de sistemas de recuperación de información En todo sistema, esté relacionado con el PLN o con cualquier otra área, es necesario siempre realizar una evaluación en donde se indique qué tan bueno es el sistema, de esta manera se puede saber cuáles son los puntos fuertes y/o débiles, y en qué se debe mejorar. Pero para llevar a cabo lo anterior es necesario contar con medidas que sean precisas, exactas y reflejen poca subjetividad. En el caso de la recuperación de información existen dos medidas básicas que se emplean para calificar todo sistema que emplee esta tarea del procesamiento de lenguaje natural. Estas dos medidas son precisión o precision, por su término en inglés, y cobertura o recall, aunque de este último término existen otras traducciones al español como, exhaustividad, especifidad y recuerdo. Según Gelbukh y Sidorov (2006) la precisión es la relación entre los resultados correctos sobre los resultados obtenidos en total, mientras que la cobertura es la relación entre los resultados correctos sobre los resultados que deberían haber sido obtenidos. En otras palabras, la precisión indica qué tan preciso fue la recuperación de información, mientras que la cobertura da a conocer si se trajeron todos los resultados que debían ser traídos. La fórmula para calcular la precisión de un sistema es la siguiente: (17) 28 Mientras que para el cálculo de la cobertura se emplea la siguiente fórmula: (18) Aunque los desarrolladores de los sistemas de recuperación de información buscan que se cumplan con los mejores niveles de precisión y cobertura, estas dos medidas son hasta cierto punto inversamente proporcionales, es decir, mientras se busque mayor precisión en un sistema, claramente se dejarán pasar los casos que salgan de la norma y por tanto disminuirá la cobertura; en cambio, si se busca que el sistema obtenga todos los casos posibles, es decir, mayor cobertura, la precisión disminuirá porque se deja pasar mayor cantidad de información. En la Figura 5 se muestran dos gráficas, la primera es la curva ideal de la cobertura contra la precisión y la segunda es el comportamiento típico de esta curva en los diversos sistemas relacionados con el PLN. Cobertura (%) P re ci si ó n ( % ) Típico Ideal Figura 5. Gráficas típica e ideal del comportamiento de la cobertura contra la precisión Si bien ambas medidas son las más utilizadas para evaluar los sistemas de recuperación de información, existe otra llamada F-score (van Rijsbergen, 1979). Esta medida también conocida como F-measure o F1 es una combinación entre las medidas de precisión y cobertura, su fórmula es la siguiente: 29 ( ) (19) Donde es el factor relativo al peso que se le dará a la precisión y a la cobertura, si su valor es igual a 1, ambas medidas reciben el mismo peso, si es mayor a 1 la precisión es favorecida, mientras que si es menor a 1 la cobertura tendrá mayor peso; es la precisión y es la cobertura del sistema. 1.2.4 Extracción y recuperación de información Además de la recuperación de información existe otra tarea dentro de PLN que se llama extracción de información o information extraction (IE). La extracción de información es el nombre dado a cualquier proceso que selecciona estructuras y combina datos que son encontrados, de manera explícita o implícita, en uno o más textos (Cowie y Wilks, 2000). A grandes rasgos la extracción de información se caracteriza por lo siguiente (Ananiadou y McNaught, 2006): Toma un texto en lenguaje natural de un documento fuente, y extrae los hechos esenciales acerca de uno o más tipos de hechos predefinidos. Representa cada uno de los hechos como una plantilla donde los espacios son llenados con base en lo encontrado en el texto. Según Jurafsky y Martin (2008) sólo una pequeña parte de la información encontrada es relevante para llenar la plantilla; el resto puede ser ignorado. El propósito de la extracción de información es estructurar el texto posiblemente no estructurado (Pudota et al., 2008). Con esto se pueden obtener resultados que pueden ser otorgados de manera directa al usuario o ser modificados para que puedan ser insertados en una base de datos. Algunos ejemplos de las tareas de la extracción de información son identificar al hablante en un comunicado, encontrar las proteínas mencionadas en un artículo de una revista de biomedicina y extraer los nombres de las tarjetas de crédito aceptadas por un restaurante desde una reseña en línea (Kauchak et al., 2002). 30 La recuperación de información y la extracción de información son tareas similares, debido a que traen la información más relevante. De igual manera emplean las mismas métricas para evaluar los sistemas, las cuáles son, precisión, cobertura y F1. Asimismo, existen métodos que se emplean en ambas tareas, como el TF-IDF que se vio en el apartado 1.2.1. Aunque la recuperación y la extracción de información comparten características existen algunas diferencias: la extracción deinformación regresa hechos, datos o estructuras de ellos de manera automática, sin basarse en una consulta en concreto, por tanto, permite obtener datos sin hacer un análisis manual de los documentos fuente. En cambio, la recuperación de información busca información con base en una consulta, para ello los documentos fuente se deben encontrar indizados y organizados de tal manera que permitan la búsqueda. Frecuentemente se emplea la extracción de información para alimentar los datos que se emplean en la recuperación de información.
Compartir