Capítulo 9. Categorización gramatical CAPÍTULO 9 CATEGORIZACIÓN GRAMATICAL La categorización gramatical se puede definir como el procedimiento que produce, para cada palabra, a partir de un diccionario léxico y un conjunto de reglas de terminaciones y contextuales, una lista de sus posibles categorías, con una descripción de su género, número y persona. El objetivo final es reducir al mínimo la lista de categorías asociadas a una palabra: desambigüedad morfo-sintáctica. Lo ideal sería reducir a uno el número de categorías por palabra. El problema de la desambiguación léxica consiste en: dado un texto tal que cada palabra tiene asociada una lista de posibles categorías gramaticales, obtener un texto tal que cada palabra tenga una sola categoría asociada. La rueda daba vueltas artículo/nombre común nombre común/verbo verbo nombre común => La rueda daba vueltas Ejemplo 9.1 Desambigüación léxica 182 artículo nombre común verbo nombre común Capítulo 9. Categorización gramatical texto SEGMENTACIÓN Y PRE-PROCESO palabra DICCIONARIO ANÁLISIS LÉXICO MORFOLÓGICO lista de posibles categorías REGLAS DE TERMINACIÓN CATEGORIZACIÓN POR REGLAS REGLAS DE categoría CONTEXTO Figura 9.1 Categorización gramatical • CLASIFICACIÓN DE LAS CATEGORÍAS Un aspecto clave en el análisis morfológico es la definición de las categorías que va a producir el categorizador. Las gramáticas no se ponen de acuerdo en dar una lista única de categorías gramaticales, al mezclar criterios morfológicos, sintácticos y semánticos. Así, en función del criterio empleado, se establecen tres clasificaciones [López 93]: 1. Criterios morfológicos: categorías variables e invariables. 2. Criterios sintácticos: categorías abiertas (sustantivos, adjetivos y verbos) y cerradas (artículos, pronombres, preposiciones, conjunciones y adverbios). 3. Criterios semánticos: categorías llenas (con significado léxico) y vacías (carentes de significado léxico). 183 Capítulo 9. Categorización gramatical 9.1 EL SISTEMA DE CATEGORIZACIÓN 860 El categorizador gramatical actual partió de un sistema basado en categorías numéricas, es decir, cada categoría gramatical se representaba con un número, por ejemplo, el 3 para los sustantivos o el 2 para los verbos. El principal inconveniente de las categorías numéricas era que sólo proporcionaban información de la clase principal (nombre, pronombre, verbo, adverbio, adjetivo, artículo, preposición y conjunción) y de la subclase o tipo (por ejemplo, dentro de la clase pronombre tenemos los siguientes tipos: posesivo, demostrativo, indefinido, interrogativo, etc.), pero carecían de información de género y número para nombres y adjetivos, o de tiempo, modo, número y persona para verbos. Esta información es importante para la desambiguación léxica, ya que permitirá elaborar reglas basadas en comprobaciones de concordancia. Por ejemplo, un artículo precedido por una palabra que puede ser sustantivo o verbo, si concuerda en género y número con dicho artículo será sustantivo, en caso contrario, será verbo. Las categorías 860 permiten incluir mayor información morfológica, y por esta razón se pasó del sistema de categorías numéricas al sistema 860. 9.1.1 CATEGORÍAS 860 Una categoría 860 es un conjunto de 10 caracteres, cada uno de ellos con un significado específico: 1. Clase principal Se distinguen 10 clases: verbo, nombre, adjetivo, adverbio, pronombre, preposición, artículo, conjunción, interjección y miscelánea. 2 y 3. Subclase o tipo Por ejemplo, dentro de la categoría nombre tenemos las subclases común y propio o dentro de la categoría artículo, definido e indefinido. 4. Tiempo verbal Presente, pasado (indefinido/participio), pretérito imperfecto, futuro y gerundio. Esta información sólo se rellena para los verbos. 184 Capítulo 9. Categorización gramatical 5. Modo/Grado Este carácter proporciona dos tipos de información: - Modo para los verbos: infinitivo, indicativo, imperativo, subjuntivo, condicional y participio. - Grado para adjetivos y adverbios: comparativo, superlativo. 6. Persona y número/número El significado de esta carácter depende de la clase principal: - persona y número para verbos - número para las restantes clases: singular, plural, neutro o invariable. 7. Locuciones Este carácter se rellena únicamente cuando la clase principal forma parte de una locución (preposicional, adverbial, ...) 8. Género Masculino, femenino, neutro o no género (para los verbos). 9 y 10. Pronombres enclíticos Únicamente para aquellas formas verbales que incorporen pronombres enclíticos. Hay dos signos que tienen un significado especial: el punto, que indica no especificado y #, que significa no existe. Palabra Categoría gramatical Signficado soy V2901T.0.. Verbo ser presente indicativo 3ª persona singular mesa N00##S.F## Nombre común singular femenino Ejemplo 9.2 Categorías 860 9.1.2 NUEVAS CATEGORÍAS Durante el proceso de entrenamiento del categorizador nos dimos cuenta de que el conjunto inicial de categorías 860 era incompleto y de que debíamos aumentar el número de categorías. La necesidad de introducir nuevas categorías se debe a dos motivos: 185 Capítulo 9. Categorización gramatical 1. Palabras que no se ajustaban a ninguna de las categorías existentes. Por ejemplo, puntos suspensivos, fechas y horas. 2. Especialización de categorías. Por ejemplo, combinaciones de letras y número y números romanos compartían la misma subclase. Con el objeto de afinar más en la categorización de las palabras decidimos redefinir la categorías de números, combinaciones de letras y números y números romanos, definiendo tres subclases distintas: - números: adjetivo numeral cardinal (A12). Ejemplos: 27, 12,5. - romanos: número romano (M02). Ejemplos: XII, II. - combinaciones de letras y números: letras y números (M55). Ejemplos: 87R, C24. Inicialmente las siglas o acrónimos se incluían en la clase nombre, distinguiéndose tres subclases: común, propio y acrónimo. Sin embargo nos pareció más lógico incluir las siglas dentro de la clase miscelánea, junto a abreviaturas y números romanos y por ello incluimos la subclase sigla dentro de esta clase. La Tabla 9.1 presenta las nuevas categorías introducidas. En el Anexo A aparece la lista actual de categorías 860. Categoría Clase y subclase Categoría Clase y subclase estar V301 números con guión M34 adverbio de lugar B01 ` M35 todo/a/os/ R03 &&& (fin de frase) M46 nº romano M02 letra M50 sigla M04 números+letras M55 = M25 nº+letras+guiones M56 ... M31 ambRomano L00 fechas M32 ambLetra L01 horas M33 Tabla 9.1 Nuevas categorías 860 1 En la versión anterior el verbo estar se categorizaba como V.. 186 Capítulo 9. Categorización gramatical 9.2 CATEGORIZACIÓN SIN REGLAS 9.2.1 CATEGORIZACIÓN DE UNIDADES ESPECIALES Algunas partes de la categorización se realizan en el módulo de preprocesamiento, como por ejemplo, las palabras extranjeras, las siglas y los números. El detector de unidades especiales se ocupa del reconocimiento y categorización de dichas unidades, de manera que ambas tareas se realizan simultáneamente2. El detector toma una frase del texto de entrada y la recorre de izquierda a derecha en busca de unidades especiales y si identifica alguna, le asigna la categoría correspondiente. En el caso de las unidades especiales no existe ambigüedad léxica sino que una vez reconocida su categoría es única. Para el reconocimiento y categorización de algunas unidades, el detector cuenta con la ayuda de diccionarios especializados3. Estas unidades son: nombres propios, siglas y abreviaturas. • CATEGORIZACIÓN DE PALABRAS CON GUIÓN El detector de unidades especiales se encarga del reconocimiento y categorización de palabras unidas por un guión intermedio, por ejemplo, físico-químico, señor/a. De cara la su categorización gramatical tenemos que distinguir dos tipos: 1. Guiones que se utilizan para expresar género o número. Por ejemplo, señor/a, chico/s. En estos casos, se busca la palabra que aparece inmediatamente antes del guión en los diccionarios y si se encuentra, se categoriza el compuesto con la categoría que aparece en el diccionario pero modificando su género o número dependiendo del caso concreto. Considérese por ejemplo señor/a. Se busca señor en los diccionarios, se encuentra como nombre común singular masculino, se estudia la palabra inmediatamente posterior al guión (a), se determina que es un sufijo de género y se categoriza señor/a como nombre común singular neutro. Con chico/s se sigue un procedimiento análogo, pero en este caso al detectar que 2 La definición de las unidades especiales y el funcionamiento del detector se describen en el Capítulo 5. 3 Los diccionarios especializados que utiliza el sistema se dan en el apartado 6.3 del Capítulo 6. 187 Capítulo 9. Categorización gramatical el sufijo es de número (s) se categoriza chico/s como nombre común plural masculino. 2. Guiones que se utilizan para la formación de compuestos. Por ejemplo físicoquímico, fuera/es. Este grupo incluye las palabras unidas por un guión intermedio que tienen significado de forma independiente. Así, físico y químico son dos palabras con significado pleno, a deferencia del caso anterior donde a y s son sufijos. Dentro de este grupo hemos encontrado las siguientes combinaciones: a. sustantivo-sustantivo. Ejemplos: ciudad-dormitorio, hombre-mujer. b. adjetivo-adjetivo. Ejemplos: físico-químico, histórico-artísticos. c. verbo-verbo. Ejemplos: fuera/es, espulga/expurga. d. adverbio-adverbio. Ejemplos: arriba/abajo, delante/detrás. e. preposición-sustantivo, preposición-adjetivo, preposición-verbo. Ejemplos: antesala, sobre-dosis. Las reglas seguidas para categorizan estos compuestos son: 2.1. Si las dos palabras unidas por el guión son sustantivos, adjetivos o adverbios (casos a, b y d), el compuesto se categoriza con la misma categoría que la de la última palabra pues en caso de que haya diferencias de género o número entre las dos palabras unidas por el guión, la categoría del compuesto coincide con la de la segunda palabra. Por ejemplo si analizamos histórico-artísticos, histórico será adjetivo calificativo singular masculino y artísticos, adjetivo calificativo plural masculino e histórico-artísticos será adjetivo calificativo plural masculino, categoría que coincide con la de artísticos. 2.2. Si las palabras que forman el compuesto son verbos, el compuesto se categoriza como verbo, sin especificar el tiempo, modo, persona y número. Por ejemplo, fuera/es, fuera es 1ª/3ª persona singular del pretérito imperfecto de subjuntivo del verbo ser o del verbo ir, y es se analizaría como 3ª persona singular del presente de indicativo del verbo ser y el compuesto se categorizaría simplemente como verbo. 2.3. Si la primera palabra del compuesto es una preposición, el compuesto se categoriza con la misma categoría que la segunda palabra. Por ejemplo, antesala como nombre común singular femenino, entre-sacar como infinitivo verbal. 188 Capítulo 9. Categorización gramatical Las reglas para la categorización de las palabras con guión son similares a las expuestas en [Varela 92]. 9.2.2 CATEGORIZACIÓN POR DICCIONARIO Después del preprocesado del texto, la siguiente tarea es realizar para cada palabra un análisis morfológico; para ello disponemos de un conjunto de diccionarios léxicos. El diseño del léxico para la categorización gramatical debe buscar un compromiso entre la memoria ocupada por el léxico y la complejidad del análisis morfológico. El análisis se realiza palabra a palabra y consiste en una búsqueda de la misma en el conjunto de diccionarios considerado4. El resultado del análisis es una lista con todas las posibles categorías de la palabra bajo estudio. Este módulo ofrece muy buenos resultados, categorizando la mayor parte de las palabras del texto procesado. El inconveniente de análisis morfológico es que, dado que existen palabras que pueden pertenecer a dos o más categorías, no presenta una única categoría para cada palabra. La determinación de la categoría gramatical definitiva se lleva a cabo mediante reglas de contexto. • CATEGORIZACIÓN DE UN, UNO/S, UNA/S Ante la posibilidad de categorizar un, uno, una, unos y unas como adjetivo numeral y como pronombre indefinido, nos hemos decantado por adjetivo numeral cardinal. Esta decisión se apoya en el artículo 167 de la Gramática de la Lengua Española [Alarcos 94], según el cual la distinción tradicional entre uno numeral, uno pronombre indefinido y un, una, unos, unas como artículos indeterminados carece de justificación. Su comportamiento funcional es unitario y la referencia que efectúan análoga. No puede ser artículo por cuanto este carece de acento y no es palabra independiente. Separar, de otra parte, el sentido numeral respecto del indefinido es innecesario, ya que de todas las maneras se trata de un cuantificador. 4 Los diccionarios que utiliza el programa en su funcionamiento normal, así como el proceso de búsqueda en ellos se explica en el apartado 6.9 del Capítulo 6. 189 Capítulo 9. Categorización gramatical 9.2.3 EL FICHERO CATEGORIZADO.DEP Una vez realizado el pre-procesado y el análisis morfológico de una frase, se escribe cada una de las palabras que la forman junto con la categoría o lista de categorías asociadas en el fichero categorizado.dep. Este fichero permite evaluar el módulo de segmentación y la efectividad de la categorización sin reglas (detector de unidades especiales y análisis morfológico). La D00##S.F## N00##S.F## R02##H.F## política A11..S.F## N00##S.F## europea A11..S.F## sobre N00##S.M## P00##N.0## V..02H.0.. V..034.0.. la D00##S.F## N00##S.F## R02##H.F## competencia N00##S.F## está V3001H.0.. definida N00##S.F## V..46S.F.. en P00##N.0## sus A06##..N## líneas N00##P.F## generales A11##P.N## por P00##N.0## los D00##P.M## R02##T.M## Tratados N00##P.M## de P00##N.0## la D00##S.F## N00##S.F## R02##H.F## Comunidad N00##S.F## Ejemplo 9.3 El fichero categorizado.dep 9.3 CATEGORIZACIÓN POR REGLAS La categorización sin reglas resulta muy eficiente a la hora de asignar categorías a las palabras, pero deja sin resolver dos problemas: 1. Ambigüedad léxica. Palabras que puede pertenecer a dos o más categorías. Por ejemplo, poder puede ser nombre común y verbo. 2. Palabras desconocidas para el sistema. A estas palabras no se les asocia ninguna categoría. 3. Palabra a las que se ha asignado una categoría errónea. 190 Capítulo 9. Categorización gramatical La categorización por reglas pretende solucionar estos problemas, asignando a cada palabra su categoría correspondiente. Dentro de la categorización por reglas se distingue entre reglas de terminaciones y reglas de contexto. 9.3.1 REGLAS DE TERMINACIONES Las reglas de terminación asignan una categoría en función de la terminación de la palabra considerada. Estas reglas son muy útiles para la categorización de algunos sustantivos, adjetivos y adverbios. Por ejemplo, en morfología, la terminación –ble se utiliza para formar adjetivos (amigable, agradable, saludable), la terminación –mente para formar adverbios a partir de adjetivos (ansiosamente, serenamente, uniformemente) y la terminación –ismo para formar sustantivos (socialismo, sensacionalismo, conformismo). Por supuesto, hay palabras que no siguen la regla general, por ejemplo, demente no es un adverbio ni sable un adjetivo. Por esta razón, las reglas de terminación se aplican únicamente a aquellas palabras que no hayan sido categorizadas por diccionario. 9.3.2 REGLAS DE CONTEXTO Una vez realizado el análisis morfológico y aplicadas las reglas de terminación, se puede determinar la categoría de algunas palabras analizando su contexto gramatical. Estas reglas sirven para resolver problemas de ambigüedad léxica. Un ejemplo de estas reglas es el siguiente: cuando en el contexto izquierdo de una palabra que puede ser un sustantivo o un verbo se encuentra un artículo o una preposición, y en el contexto derecho hay un verbo, la palabra ambigua será un sustantivo. La función de estas reglas es indicar si en un contexto concreto la palabra ambigua debe ser categorizada o no, y en caso afirmativo, qué categoría debe asignarse. El contexto puede referirse a una o varias posiciones anteriores y posteriores al elemento ambiguo. En general, cuanto mayor sea el contexto analizado, mayor será la probabilidad de acierto de la regla. La dificultad está en que hay que aplicar las reglas sobre la lista de posibles categorías. En ocasiones se aplica una regla a una palabra ambigua considerando un contexto (izquierdo o derecho) y éste también es ambiguo. Por esta razón es muy importante el orden en que se apliquen las reglas; el mismo 191 Capítulo 9. Categorización gramatical conjunto de reglas aplicado en distinto orden conduce a resultados distintos. Las reglas deben ordenarse comenzando por las más restrictivas. 9.3.3 LOS FICHEROS DE REGLAS • ADAPTACIÓN DE LOS FICHEROS EXISTENTES Inicialmente se disponía de tres ficheros de reglas: reglas1, reglas2 y reglas3. Los dos primeros contenían reglas de terminaciones y de contexto y el último únicamente reglas de contexto. El nombre de las reglas hace referencia al orden en que se aplican, orden, que como ya mencionamos antes, es fundamental para la eficiencia de las reglas; en primer lugar se aplican las reglas1, luego las 2 y por últimos las 3. La versión anterior del categorizador, basada en categorías numéricas, no disponía del módulo de preprocesamiento y realizaba un análisis por diccionario mucho más simple. Como consecuencia, el número de palabras ambiguas y no categorizadas que llegaban al categorizador por reglas era mucho mayor. En la versión actual el número de palabras sin categorizar tras el preprocesamiento y el análisis morfológico es pequeño y muchas reglas carecían de utilidad puesto que las palabras a las que iban dirigidas se categorizan en alguno de los módulos precedentes. Por tanto, la primera tarea fue adaptar los ficheros de reglas a la nueva situación, eliminando reglas que ya no eran necesarias y dividiendo las reglas 1 y 2 en dos partes: por un lado las reglas de terminación y por otro las contextuales. De esta manera obtuvimos cinco ficheros: reglas1_1, reglas1_2, reglas2_1, reglas2_2 y reglas3. La Tabla 9.2 muestra los ficheros de reglas iniciales y los nuevos, así como el número de reglas que contiene cada uno de ellos. Reglas iniciales Reglas actuales Nombre Tipo Nº reglas Nombre Tipo Nº reglas reglas1 terminación 219 reglas1_1 terminación 117 reglas1_2 contexto 102 reglas2_1 terminación 165 reglas2_2 contexto 84 reglas_3 contexto 36 y contexto reglas2 terminación 249 y contexto reglas3 contexto 36 Tabla 9.2 Los ficheros de reglas 192 Capítulo 9. Categorización gramatical • REGLAS_0 Los números romanos y las letras se categorizan por reglas de contexto. En el caso de los números romanos es difícil implementar un detector que ofrezca resultados aceptables ya que resulta difícil diferenciar algunas siglas y algunos números romanos. Sin embargo es fácil detectarlos mediante un análisis de contexto debido a que los números romanos suelen ir antecedidos o precedidos por un conjunto de palabras muy limitado5. Aprovechando este hecho, decidimos categorizarlos por reglas de contexto. Con las letras la situación es muy similar. El análisis morfológico no nos permite distinguir cuando a funciona como preposición (Fue de Madrid a Barcelona) y cuando como letra (La explicación está en el apartado a del Tomo 2). Sin embargo cuando funcionan como letras suelen ir acompañadas por un conjunto de palabras clave (apartado, anexo, letra, grado, etc.) por lo que pueden categorizarse con bastante acierto con ayuda de reglas contextuales, aunque esto es dependiente del dominio. Para la categorización de números romanos y letras creamos un nuevo fichero de reglas: reglas_0. Estas reglas son las primeras que se aplican, inmediatamente después del análisis morfológico, ya que son reglas para solucionar casos muy concretos. Además de los números romanos y las letras, se ocupan también de la categorización de algunas palabras extranjeras muy comunes, como por ejemplo, for, rue o box. El módulo de preprocesamiento dispone de un detector de palabras extranjeras que funciona bastante bien6. Pero hay palabras que escapan a este detector ya que la información morfológica es insuficiente para determinar si se trata de palabras extranjeras o no, para ello serían necesarios conocimientos más profundos. Para este conjunto de palabras y debido a que son de uso frecuente, se han elaborado reglas específicas y se han incluido en reglas_0. El tamaño total de este fichero es de 9 reglas. • REGLAS_CRATER Es un conjunto de 217 reglas de terminación elaboradas dentro del proyecto Crater [Crater 95] y que utilizaremos para establecer comparaciones con nuestras reglas de terminaciones (reglas1_1 y reglas2_1). 5 La lista de palabras que suelen ir antes o despúes de un número romano se da en el apartado 5.1.4 del Capítulo 5. 6 Véase Capítulo 5. 193 Capítulo 9. Categorización gramatical 9.3.4 ADAPTACIÓN DEL PROGRAMA Para el entrenamiento y evaluación del categorizador por reglas es necesario disponer de texto categorizado y revisado manualmente, de manera que podamos comparar los resultados del categorizador con dicho texto. Hasta el momento el programa estaba preparado para la lectura de texto no categorizado, por lo que fue necesario adaptarlo para que pudiera procesar los dos tipos de texto (categorizado y sin categorizar). La opción de procesar texto categorizado sólo tiene sentido cuando se aplican reglas contextuales, ya que es en éste caso cuando debe compararse la categoría que ofrece como solución el categorizador y la que propone el texto. En la actualidad, el programa ofrece la posibilidad de procesar texto categorizado y sin categorizar, así como la opción de aplicar o no reglas, tanto las de terminación como las contextuales. 9.3.5 FICHEROS DE DEPURACIÓN Para el análisis y evaluación del categorizador por reglas utilizamos varios ficheros que nos proporcionan información sobre el número de reglas aplicadas, de su eficiencia y de los errores cometidos. Existen tres ficheros de depuración para las reglas: reglas.lst, errores.dep y resultados.dep. • REGLAS.LST Este fichero ya existía anteriormente y contiene la frase antes y después de aplicar una regla, de manera que podamos revisar manualmente la efectividad de esa regla en la frase en la que se aplica. El nombre de este fichero varía en función de las reglas que se apliquen; por ejemplo, si se aplican las reglas1_1, el fichero se denomina reglas1_1.lst. 194 Capítulo 9. Categorización gramatical ANTES DE REGLA 10: Constituye V..01H.0.. V..02U.0.. igualmente B03..N.0## B21..S.N## un A12##S.M## D01##S.M## poderoso A11..S.M## N00##S.M## factor N00##S.M## de P00##N.0## * progreso N00##S.M## V..01I.0.. técnico A11..S.M## N00##S.M## y C02##N.0## económico A11..S.M## , M07####### por B02###8### cuanto B02###8### las D00##P.F## R02##T.F## empresas N00##P.F## competidoras A11..P.F## se R02##..N## ven V..01T.0.. V..02U.0.. constantemente B03..N.0## B21..S.N## forzadas A11..P.F## V..46P.F.. a P00##N.0## innovar V..00N.0.. . M06####### $$$$ M46####### DESPUES REGLA 10: Constituye V..01H.0.. V..02U.0.. igualmente B03..N.0## B21..S.N## un A12##S.M## D01##S.M## poderoso A11..S.M## N00##S.M## factor N00##S.M## de P00##N.0## * progreso N00##S.M## técnico A11..S.M## N00##S.M## y C02##N.0## económico A11..S.M## , M07####### por B02###8### cuanto B02###8### las D00##P.F## R02##T.F## empresas N00##P.F## competidoras A11..P.F## se R02##..N## ven V..01T.0.. V..02U.0.. constantemente B03..N.0## B21..S.N## forzadas A11..P.F## V..46P.F.. a P00##N.0## innovar V..00N.0.. . M06####### $$$$ M46####### Ejemplo 9.4 El fichero reglas.lst 195 Capítulo 9. Categorización gramatical • ERRORES.DEP Este fichero contiene los errores cometidos al aplicar una reglas de contexto. Cuando se aplica una regla contexto a una frase concreta, se compara la categoría que asigna el categorizador por reglas con la solución que ofrece el texto categorizado manualmente y en caso de que haya discrepancias entre ambas se escribe la regla aplicada, el contexto en el que se aplica, la categoría que propone el categorizador y la que propone el texto. El objetivo de este fichero es poder evaluar por qué falla la regla, o bien, si se trata de un error del texto con el que se compara. REGLA 14: Comisión europea ha solicitado a los países N00##S.M## correcta: V0846S.M.. Ejemplo 9.5 El fichero errores.dep • RESULTADOS.DEP Proporciona información sobre el número total de reglas aplicadas, qué reglas se aplican, número de veces que se aplica y número de veces que falla cada regla. El formato de este fichero es el siguiente: Regla aplicada Nº veces que se aplica Nº veces que falla Reglas 3 REGLA 7: 724 51 0.070442 REGLA 10: 1522 147 0.096583 REGLA 13: 7 0 0.000000 REGLA 14: 145 96 0.662069 Número total de reglas aplicadas: 6494 Errores en las reglas: 1032 0.158916 Número medio de categorías/palabra con categoria Antes de aplicar las reglas: 1.501219 Después de aplicar las reglas: 1.258914 Ejemplo 9.6 El fichero resultados.dep 196 Error cometido Capítulo 9. Categorización gramatical 9.4 RESULTADOS DEL CATEGORIZADOR GRAMATICAL 9.4.1 CATEGORIZACIÓN SIN REGLAS TEXTOS 860 Palabras categorizadas Nº medio Total Porcentaje (%) categorías/palabra Corpus 1 41563 99.92 1.51 Corpus 2 38354 99.94 1.51 Corpus 3 41383 99.68 1.49 Corpus 4 39507 99.93 1.50 Corpus 5 38102 99.93 1.50 Corpus 6 38605 99.93 1.51 Corpus 7 40883 99.96 1.50 Media 39767 99.90 1.50 Tabla 9.3 Resultados del categorizador sin reglas TEXTOS Palabras categorizadas Nº medio EL MUNDO Total Porcentaje (%)7 categorías/palabra Año 1994 2176988 97.26 2.05 Año 1995 2204251 97.36 2.07 Media 2190619 97.31 2.06 Tabla 9.4 Resultados del categorizador sin reglas (Datos medios mensuales) Los resultados de la categorización sin reglas son buenos, con más de un 97 % de texto categorizado, tanto en los artículos de El Mundo como en los Textos 860. El hecho de que en El Mundo el porcentaje sea algo inferior se debe a que en los Textos 7 Porcentaje sobre el número total de palabras procesadas 197 Capítulo 9. Categorización gramatical 860 la mayor parte del vocabulario es conocido para el sistema. Los diccionarios del proyecto 860 incluyen el vocabulario más frecuente de los corpus. El número medio de categorías por palabra también es superior en El Mundo; la razón está en que los Textos 860 han sido revisados manualmente y además tratan sobre temas concretos, mientras que los artículos de El Mundo tratan un amplio abanico de temas (economía, deportes, cultura, sucesos, etc.) y aparecen más registros idiomáticos (culto, técnico, vulgar, ...). El número medio de categorías por palabra de los textos de El Mundo puede parecer elevado si lo comparamos con otros sistemas; por ejemplo, en el categorizador desarrollado por J. Chanod y P. Tapanainen [Chanod 95] el número medio de categorías por palabra es 1.64. Sin embargo las condiciones de trabajo de ambos sistemas distintas. Su corpus de evaluación es más pequeño (5752 palabras frente a las más de 2250000 palabras que hay en un mes de El Mundo) y son artículos económicos, mientras que nosotros procesamos artículos de todo tipo. Sin embargo, si comparamos estos resultados con los obtenidos para los Textos 860, nuestro sistema ofrece mejores resultados. En este caso las condiciones de comparación están más equiparadas en cuanto al corpus evaluado, aunque nuestros corpus siguen conteniendo mayor número de palabras. • RECALL Los datos anteriores se refieren al porcentaje de texto categorizado pero no nos sirven para evaluar la eficiencia del categorizador por reglas, para ello necesitamos conocer el porcentaje de texto correctamente categorizado. Esta información la proporciona el Recall, que se define como el número de veces que la categoría correcta está en la lista de posibles categorías asociada a una palabra. Es decir, ¿se encuentra la solución correcta entre la lista de categorías? Para medir el Recall es necesario procesar texto categorizado manualmente, por eso los datos de Recall se dan únicamente para los Textos 860. Se procesa el texto, y la salida del categorizador (fichero categorizado.dep) se compara con el resultado de la categorización manual. El Recall se calcula sumando el número de veces en que la solución correcta se encuentra entre las que propone el categorizador. En este cálculo se dan por válidas las siguientes situaciones: 198 Capítulo 9. Categorización gramatical 1. La solución correcta es un nombre propio extranjero y entre las soluciones que propone el categorizador está la de nombre propio o viceversa. La justificación está en que los Textos 860 no siguen un criterio uniforme a la hora de categorizar los nombres propios extranjeros, unas veces les asignan la categoría nombre propio y otras la de palabra extranjera8 2. La categoría correcta es sustantivo y en la lista propuesta se encuentra la de adjetivo calificativo o viceversa. Las reglas de contexto se encargarán posteriormente de categorizar correctamente nombres y adjetivos calificativos. El Recall obtenido los siete Corpus de Entrenamiento se muestra en la siguiente Tabla: Corpus1 Corpus2 Corpus3 Corpus4 Corpus5 Corpus6 Corpus7 Media Recall 99.44 % 99.50 % 99.01 % 99.34 % 99.45 % 99.50 % 99.54 % 99.40 % Tabla 9.5 Recall 9.4.2 CATEGORIZACIÓN POR REGLAS El objetivo de la categorización por reglas es mejorar el número medio de categorías por palabra, es decir, la desambigüedad léxica y categorizar las palabras que faltan tras el análisis morfológico, manteniendo el Recall obtenido anteriormente. La primera prueba que realizamos fue aplicar cada una de las reglas a un corpus y estudiar qué ocurría con el Recall. Como referencia tomamos el Corpus1. El resultado fue que las reglas de terminación (reglas1_1 y reglas2_1) mantenían e incluso mejoraban el Recall, mientras que las reglas de contexto, a excepción de las reglas_0, (reglas1_2, reglas2_2 y reglas_3) lo empeoran considerablemente. De estas últimas, las que menos estropeaban el Recall eran las reglas_3. La Tabla 9.6 presenta los resultados obtenidos en esta prueba. 8 Véase Capítulo 8. 199 Capítulo 9. Categorización gramatical CORPUS 1 Recall Error cometido por las reglas categorizador sin reglas 99.44 % - reglas_0 99.51 % - reglas1_1 99.49 % - reglas1_2 93.60 % 40.70 % reglas2_1 99.41 % - reglas2_2 96.47 % 39.40 % reglas_3 97.99 % 14.36 % Tabla 9.6 Recall para el Corpus 1 • REGLAS_0 Como era de esperar las reglas_0 ofrecen buenos resultados ya que han sido diseñadas para categorizar casos concretos en los que el analizador morfológico era insuficiente. A continuación se muestra el Recall antes y después de aplicar estas reglas al corpus de Entrenamiento (Textos 860) y la mejora conseguida, definida como la diferencia de Recall antes y después de aplicar las reglas. Mejora = Recall después de reglas – Recall antes de reglas Corpus 1 Corpus 2 Corpus 3 Corpus 4 Corpus 5 Corpus 6 Corpus 7 sin reglas 99.44 % 99.50 % 99.01 % 99.34 % 99.45 % 99.50 % 99.54 % reglas_0 99.51 % 99.55 % 99.11 % 99.42 % 99.52 % 99.56 % 99.59 % Mejora 0.07 % 0.05 % 0.10 % 0.08 % 0.07 % 0.06 % 0.05 % Tabla 9.7 Recall antes y después de aplicar reglas_0 • REGLAS DE TERMINACIÓN La prueba realizada con el Corpus1 nos sirvió para comprobar que las reglas de terminación mantenían el Recall pero, debido a que la mayor parte del vocabulario de 200 Capítulo 9. Categorización gramatical los Textos 860 es conocido para el sistema, no nos dice nada sobre la efectividad de estas reglas, entre otras cosas porque apenas se aplican. Para estudiar la eficiencia de las reglas de terminación utilizamos el diccionario Dinámico correspondiente a un mes del periódico El Mundo (abril 1994). El diccionario Dinámico, como ya se explicó en el Capítulo 6, contiene las palabras desconocidas para el sistema: palabras nuevas y errores tipográficos. A este corpus de 6920 palabras le aplicamos las reglas_crater reglas1_1 y reglas2_1 y analizamos los resultados. 1. REGLAS_CRATER Como conclusión general podemos decir que funcionan bien, categorizando 6831 de las 6920 palabras. Son muy ambiguas ya que muchas palabras las categoriza como nombre común y adjetivo calificativo, por ejemplo, arbolitos, elevalunas, paragolpes, con lo que el Recall es bueno, pero la precisión no. Donde más errores comete es con los verbos y palabras extranjeras. En el caso de los verbos, unas veces categoriza como verbos palabras que no lo son, por ejemplo, elaboradísimo, telefamoso; y otras veces deja verbos sin categorizar, por ejemplo, necesitabamos, la categoriza como sustantivo y adjetivo calificativo o llevandose como sustantivo. Muchas palabras extranjeras las categoriza como verbos: center, designer, mater. Por otro lado debemos aclarar que los diccionarios que usamos son distintos a los del proyecto Crater. Total Categorizadas Correctas Error (%) Verbos 243 246 87 64.2 Palabras extranjeras 225 225 190 15.55 Tabla 9.8 Resultados de las reglas_crater en verbos y palabras extranjeras 2. REGLAS1_1 Categorizan 2202 de las 6920 palabras del corpus evaluado, el 31.82 %. El principal problema de estas reglas es que son muy ambiguas, categorizan muchas palabras como sustantivo y adjetivo calificativo y deberían asignar solamente una de 201 Capítulo 9. Categorización gramatical las dos categorías. Por ejemplo antisocialismo. En morfología la terminación –ismo se utiliza para la formación de nombres. Las reglas deberían categorizar la palabra como sustantivo y no como sustantivo y adjetivo. Esto hace que el Recall sea bueno pero la precisión no, aumentando el número medio de categorías por palabra innecesariamente. Otro inconveniente es que tienen en cuenta la tilde pero no el acento. Por ejemplo, categorizan hipnotizante como verbo. Para que una palabra que termina en –ante sea verbo debe ser esdrújula o sobreesdrújula y sin embargo la palabra considerada es llana. Considérese también el caso de huesped. Las reglas la categorizan como verbo; una palabra terminada en –ed será imperativo verbal si es aguda y huesped es llana. Estos errores podrían corregirse incorporando a las reglas información sobre acentuación. Por otra parte, observamos que faltan reglas para algunas terminaciones que dan lugar a nombres y adjetivos, como por ejemplo: -ito (abuelita, corderito), -ólogo (autólogo, podológo), -oma (linfoma, melanoma), -azo (muletazo, manaza). Al carecer de reglas para estas terminaciones, el sistema suele fallar ya que les asigna la categoría verbo. Al igual que ocurría con las reglas_crater, donde más errores cometen las reglas1_1 es con los verbos y las palabras extranjeras. Las reglas para los gerundios son las que mejor funcionan (dentro del grupo de reglas verbales), aunque fallan cuando se aplican a los ordinales, así decimosegundo lo categoriza como gerundio. Sin embargo hay que resaltar que cuando se hicieron estas reglas no había un conjugador verbal y por eso tenían que arriesgar, para intentar categorizar el mayor número posible de palabras. Ahora, con el conjugador verbal, apenas quedan verbos sin categorizar y las reglas de verbos se aplican a palabras que no lo son, por eso fallan. Total Categorizadas Correctas Error (%) Verbos 641 641 240 37.44 Palabras extranjeras 103 103 52 49.51 Tabla 9.9 Resultados de las reglas1_1 en verbos y palabras extranjeras 202 Capítulo 9. Categorización gramatical Hay que destacar el buen funcionamiento de las reglas con los adverbios acabados en –mente (experimentalmente, instintivamente), con los adjetivos acabados en –ísimo (famosísimas, finísimo) y con los sustantivos terminados en – ión (felación, expansión). Debido a la gran cantidad de palabras que responden a estos patrones en el corpus, estas terminaciones son muy productivas en castellano, y las reglas1_1 presentan una alta eficiencia. A continuación, eliminamos del fichero reglas1_1 todas aquellas destinadas a categorizar verbos, tanto formas finitas como infinitivos, gerundios y participios, pasando de las 117 reglas iniciales a un conjunto de 77 reglas, y realizamos una segunda prueba sobre un Corpus distinto: el diccionario Dinámico correspondiente a diciembre de 1994, formado por 7011 palabras. Los resultados obtenidos fueron bastante buenos; con este conjunto de 77 reglas categorizamos 1739 de las 7011 palabras, el 24.80 %, y de esas 1739, 20 no las evaluamos por tratarse de errores tipográficos (por ejemplo, caracterica, governo, nismo). De las 1719 palabras consideradas, 1698 las categoriza correctamente, lo que significa que el porcentaje de error es del 1.22 %. Este nuevo conjunto de 77 reglas ofrece muy buenos resultados desde el punto de vista del Recall, pero siguen teniendo el problema de ambigüedad, ya que muchas palabras las categorizan como sustantivo y adjetivo. Nuevas reglas1_1 Total Categorizadas9 Correctas Error10 7011 1719 1698 1.22 % Tabla 9.10 Resultados del nuevo fichero reglas1_1 3. REGLAS2_1 Se encargan de categorizar, sobre todo, nombres comunes y adjetivos, aunque también hay algunas reglas para formas verbales. Categorizan 2069 de las 6920 palabras que componen el Corpus considerado para la comparación de los tres ficheros de reglas de terminaciones (diccionario Dinámico de abril de 1994), es decir, el 29.90 %. De las 2069 palabras categorizadas, 4 son errores tipográficos 9 Palabras categorizadas sin considerar errores tipográficos. 10 Porcentaje sobre el número total de palabras categorizadas. 203 Capítulo 9. Categorización gramatical (por ejemplo, afiliacioón, pildora, versioón), por los que sólo consideramos 2065 palabras, de las cuales, 1849 están correctamente categorizadas. Es decir, el error cometido por las reglas2_1 es del 10.46 %. reglas2_1 Total Categorizadas11 Correctas Error12 6920 2065 1849 10.46 % Tabla 9.11 Resultados de las reglas2_1 La principal causa de error son los diminutivos, ya que considerando únicamente la terminación de una palabra es difícil deducir si se trata de un sustantivo o de un adjetivo. Consideremos, por ejemplo, la terminación -ita. Unas veces da lugar a adjetivos: morenita, enterita, y otras a nombres: abuelita, ramita. Una posible solución sería asignar a estas palabras la doble categoría sustantivo/adjetivo calificativo. De esta manera aumentaría el Recall, pero a cambio disminuiría la Precisión al aumentar el número de categorías por palabra. De los tres ficheros de reglas evaluados (reglas_crater, reglas1_1 y reglas2_1), son las menos ambiguas, ya que cuando se aplican a una palabra, le asignan una única categoría; en consecuencia, la Precisión es muy buena. Por último debemos mencionar que hemos encontrado casos en los que se aplican reglas a palabras mal escritas o mal tildadas y sin embargo aciertan. Por ejemplo: agüjero13 (sustantivo), alcadía (sustantivo), disminuído (participio). • REGLAS_3 De los tres ficheros de reglas contextuales reglas1_2, reglas2_1 y reglas_3, éstas últimas son las que ofrecen mejores resultados en el sentido de que son las que menos empeoran el Recall. La tabla 9.12 muestra el Recall antes y después de aplicar reglas_3 al corpus de Entrenamiento. 11 Palabras categorizadas sin considerar errores tipográficos. 12 Porcentaje sobre el número total de palabras categorizadas. 13 Entre paréntesis figura la categoría que asignan las reglas a la palabra considerada. 204 Capítulo 9. Categorización gramatical Corpus 1 Corpus 2 Corpus 3 Corpus 4 Corpus 5 Corpus 6 Corpus 7 sin reglas 99.44 % 99.50 % 99.01 % 99.34 % 99.45 % 99.50 % 99.54 % reglas_3 98.03 % 97.64 % 97.92 % 97.99 % 98.14 % 98.13 % 97.99 % Tabla 9.12 Recall antes y después de aplicar reglas_3 Para estudiar qué reglas fallan y por qué motivo, analizamos los ficheros errores.dep y resultados.dep del Corpus 1. El porcentaje de error al aplicar las reglas_3 es del 14.37 %. Las 35 reglas que componen este fichero pueden dividirse en seis grupos: 1. Reglas que no se aplican nunca: 6 2. Reglas que aciertan siempre: 6 3. Reglas que fallan siempre: 3 4. Reglas que aciertan más de un 80 % : 6 5. Reglas que fallan más de un 80 % : 3 6. Reglas que están en un caso intermedio : 11 La eficiencia de las reglas podría mejorarse trabajando en tres frentes: - Resolver el problema de ambigüedad léxica de algunas palabras de uso frecuente. Se trata de palabras que tienen una categoría claramente preferente: entre, dicho, para, sobre, entre o una, y que si no se categorizan correctamente en un primer momento hacen que las reglas fallen sistemáticamente. Asignando a estas palabras su categoría definitiva desde el comienzo se evitarían muchos errores y aumentaría satisfactoriamente la eficiencia de las reglas. - Completando reglas. Algunas reglas están incompletas, para que su aplicación fuera correcta deberían hacerse más restrictivas. Consideremos, por ejemplo, la siguiente regla: cuando en el contexto izquierdo de una palabra que puede ser un sustantivo o un verbo se encuentra un determinante, una preposición, una contracción o una preposición seguida por un determinante, la palabra ambigua será un 205 Capítulo 9. Categorización gramatical sustantivo. La regla es correcta pero incompleta, le falta la condición de que la palabra ambigua no sea nombre propio. - Analizando un contexto (izquierdo y derecho) más amplio. Muchas reglas fallan porque consideran el contexto izquierdo pero no el derecho o viceversa. En general, cuanto mayor sea el contexto analizado mayor será la probabilidad de fallo de la regla. Por último debemos comentar que estas reglas fueron diseñadas para aplicarse después de reglas1 y reglas2 y por eso pueden parecer incompletas, además estaban pensadas para resolver problemas concretos que surgían tras la aplicación de los dos ficheros de reglas anteriores. Ahora bien, trabajando estas reglas en los puntos indicados anteriormente creemos que podrían conseguirse buenos resultados, ya que el error no es demasiado elevado (inferior al 15 %) y disminuyen apreciablemente el número medio de categorías por palabras, consiguiendo un valor del 1.3. La Tabla 9.13 muestra el número medio de categorías por palabra antes y después de aplicar reglas_3. Sin reglas Reglas_3 Error cometido por las reglas Corpus 1 1.51 1.26 14.36 % Corpus 2 1.51 1.26 14.79 % Corpus 3 1.49 1.26 15.06 % Corpus 4 1.50 1.25 15.12 % Corpus 5 1.50 1.26 14.94 % Corpus 6 1.51 1.26 14.99 % Corpus 7 1.51 1.26 14.74 % Tabla 9.13 Número medio de categorías por palabra antes y después de aplicar reglas_3 Para finalizar este apartado, debemos destacar que los ficheros de reglas utilizados ya existían y lo único que hemos hecho es hacer distintas pruebas para evaluar su utilidad. 206 Capítulo 9. Categorización gramatical 9.5 EVALUACIÓN DEL CATEGORIZADOR Para la evaluación del categorizador utilizamos el corpus Eval14 formado por 38152 palabras categorizadas manualmente. Los resultados obtenidos en la categorización sin reglas y tras aplicar reglas_0 y reglas_3 se recogen en la siguiente Tabla: Recall (%) Nº medio Error cometido categorías/palabra por las reglas (%) sin reglas 99.24 1.50 - reglas_0 99.48 1.50 0 reglas_3 97.87 1.26 15. 89 Tabla 9.14 Evaluación del categorizador El categorizador sin reglas y con las reglas_0 ofrece buenos resultados, con un 99.94 % de palabras categorizadas y un Recall del 99.48 %. 9.6 COMPARACIÓN CON OTROS SISTEMAS Con el objetivo de evaluar los resultados obtenidos por nuestro categorizador, vamos a compararlos con los obtenidos por otros tres sistemas: el conversor texto-voz de Telefónica [Castejón 97], el categorizador desarrollado por J. Chanod y P. Tapanainen [Chanod 95] y el categorizador para el español basado en la teoría de Eric Brill [Stathis 98]. En la Tabla 9.15 presentamos los resultados de estos tres categorizadores. 14 Véase apartado 8.2 del Capítulo 8. 207 Capítulo 9. Categorización gramatical Categorizador Telefónica Chanod & Tapanainen Stathis Tamaño del corpus (nº de palabras) Palabras categorizadas Nº medio categorías/palabras 10168 5762 117542 97 % 98.7 % 99.33 % 1 1 1 Tabla 9.15 Resultados de otros categorizadores • EL CATEGORIZADOR DE TELÉFONICA El categorizador de Telefónica tiene una precisión del 97 %. Este resultados no es comparabale con los de nuestro sistema ya que, por un lado hace referencia a la precisión y no al Recall y por otra parte, las condiciones de funcionamiento son diferentes en cuanto al número de palabras evaluado, el tipo de texto procesado y el conjunto de categorías empleado. Telefónica utiliza un conjunto de 36 categorías mientras que en nuestro caso el número de categorías es muy superior, considerando clase y subclase, existen 48 categorías distintias15. Por otra parte, el categorizador de Telefónica no distingue entre nombres comunes y adjetivos calificativos ya que, en su opinión, complicaría mucho la tarea y no tendría ninguna utilidad. • EL CATEGORIZADOR DE CHANOD & TAPANAINEN Estos autores han desarrollado un categorizador para el francés y ofrecen resultados no solo de precisión sino también sobre el porcentaje de texto categorizado en el análisis morfológico, un 99.97 %. Este dato sí es comparable con los resultados de nuestro categorizador sin reglas: 99.48 %. En este punto, su sistema tiene un número medio de categorías de palabras del 1.64, que es ligeramente superior al nuestro: 1.5. Teniendo en cuenta que el tamaño de nuestro corpus de evaluación es mayor, nuestro sistema obtiene muy buenos resultados. En este caso desconocemos la lista de categorías empleada por Chanod & Tapanainen. 15 La lista de categorías que utiliza el programa se da el Anexo A. 208 Capítulo 9. Categorización gramatical Recall Nº medio categorías/palabra Chanod & Tapanainen 99.97 % 1.64 Nuestro categorizador 99.48 % 1.50 Tabla 9.16 Comparación de resultados con Chanod & Tapanainen • EL CATEGORIZADOR DE BRILL ADAPTADO Este categorizador está basado en la teoría de errores guiados de Eric Brill16. El sistema utiliza un conjunto de 60 categorías, bastante similar, en número y tipo de categorías empleadas, al nuestro y realiza pruebas en dos corpus distintos: el primero está formado por 117542 palabras y el segundo por 370163. El porcentaje de texto categorizado es similar al nuestro. Ahora bien, debemos destacar que esta adaptación del categorizador de Brill procesa textos muy poco ambiguos mientras que nuestro corpus de evaluación incluye textos de tres tipos distintos: legislativos, documentos de la Comunidad Europea y periodísticos. Cuando al categorizador de Stathis se le presenta texto un poco más ambiguo empeoran ligeramente los resultados, disminuyendo el Recall y aumentando el número medio de categorías por palabra. Esta es la explicación de la diferencia de resultados que aparecen en la Tabla 9.17; el Corpus 1 es menos ambiguo que el Corpus2 y por eso los resultados obtenidos son mejores. Precisión Corpus 1 Tamaño del corpus (nº de palabras) 117542 99.33 % Tasa de ambigüedad del corpus 1.59 Corpus 2 370162 98.38 % 1.63 Tabla 9.17 Resultados del categorizador de Stathis 16 Para una descripción más detallada del categorizador de Stathis y Juan Manuel Montero y de la teoría de Eric Brill puede consultarse el Capítulo 2. 209 Capítulo 9. Categorización gramatical 210 Capítulo 9. Categorización gramatical CAPÍTULO 9 CATEGORIZACIÓN GRAMATICAL .........................................182 9.1 EL SISTEMA DE CATEGORIZACIÓN 860 ................................................184 9.1.1 CATEGORÍAS 860.................................................................................184 9.1.2 NUEVAS CATEGORÍAS ........................................................................185 9.2 CATEGORIZACIÓN SIN REGLAS .............................................................187 9.2.1 CATEGORIZACIÓN DE UNIDADES ESPECIALES..............................187 9.2.2 CATEGORIZACIÓN POR DICCIONARIO ............................................189 9.2.3 EL FICHERO CATEGORIZADO.DEP...................................................190 9.3 CATEGORIZACIÓN POR REGLAS ............................................................190 9.3.1 REGLAS DE TERMINACIONES............................................................191 9.3.2 REGLAS DE CONTEXTO......................................................................191 9.3.3 LOS FICHEROS DE REGLAS ...............................................................192 9.3.4 ADAPTACIÓN DEL PROGRAMA .........................................................194 9.3.5 FICHEROS DE DEPURACIÓN.............................................................194 9.4 RESULTADOS DEL CATEGORIZADOR GRAMATICAL.........................197 9.4.1 CATEGORIZACIÓN SIN REGLAS.........................................................197 TEXTOS 860 ...........................................................................................................197 9.4.2 CATEGORIZACIÓN POR REGLAS.......................................................199 9.5 EVALUACIÓN DEL CATEGORIZADOR ...................................................207 9.6 COMPARACIÓN CON OTROS SISTEMAS................................................207 195