Post on 06-Jan-2017
Universidad de Oriente
Facultad de Matemática y Computación
Métodos para la corrección
ortográfica automática del
español
Tesis en opción al título de Máster en Ciencia de la Computación
Presentada por:
Lic. Daniel Castro Castro
Dirigida por:
Dra.C. Aurora Pons Porrata
Ms.C. Yunior Ramírez Cruz
Santiago de Cuba, Julio 2012
A mis 3 familias
Agradecimientos
A todos los que participaron, alentaron y contribuyeron en la realización de este trabajo. En
especial a la familia y la profe Aurora por ser la guía y autores principales.
i
Resumen
En la presente investigación se presenta la construcción de un corrector ortográfico automático
para la variante cubana del español basado en reglas y recursos estadísticos, que permite la
corrección de errores ortográficos generados en la redacción por personas y se puede adaptar sin
mucha dificultad para la corrección de errores ortográficos en otros idiomas y variantes del
español. Además, se garantiza que es adaptable para su uso en dominios del conocimiento
específicos (medicina, judicial, etc.).
El método de corrección implementado permite corregir errores ortográficos (palabras no
presentes en el idioma) y gramaticales (palabras del idioma mal empleadas en el contexto).
Como paso final, se ordena el listado de sugerencias asociado al error, garantizando así que la
sugerencia más probable sea la primera de la lista. De esta forma, se obtiene una corrección
automática al sustituir el error por la primera sugerencia de la lista.
Para la evaluación se construyó un corpus de textos del español hablado en Cuba, etiquetados
manualmente, en el que se recoge un total de 200 composiciones redactadas por estudiantes de
diferentes grados de escolaridad, y el texto del close caption de una emisión del Noticiero
Nacional de Televisión.
Se realizó un conjunto de experimentos variando la técnica de corrección aplicada para la
búsqueda de sugerencias a errores ortográficos. Además, se comparó la calidad del proceso de
corrección utilizando el servicio de corrección del paquete de herramientas de Office y el
corrector ortográfico Hunspell disponible en distribuciones Linux. Se compararon los resultados
obtenidos por el servicio de corrección de Office, los resultados del corrector Hunspell y nuestro
corrector, concluyendo que los resultados del corrector de Office son en promedio 5 puntos
porcentuales superiores a los nuestros, y nuestros resultados son en promedio 15 puntos
porcentuales superiores a los del Hunspell. Consideramos que los resultados obtenidos en la
evaluación de nuestro corrector son buenos, además, nuestro corrector permite la corrección de
errores ortográficos y gramaticales de forma automática.
ii
Abstract
In this work, we present the construction of an automatic spell checker for the Cuban variant of
Spanish, which is based on rules and statistical techniques. Our spell checker allows correcting
spelling errors on text typed by persons and may be adapted without much difficulty to correct
spelling errors in other languages and other variants of Spanish. It is also guaranteed to be
adaptable for use in specific domains (medical, legal, etc.)
The correction algorithm implemented allows the correction of spelling errors (words not
belonging to the language) and grammatical errors (words belonging to the language but used
incorrectly in their context). As a final step, the list of suggestions associated to the error is
sorted, thus ensuring that the most likely suggestion ranks first. Automatic correction is then
obtained by replacing the error by the best-ranked suggestion.
For evaluation purposes, we built a manually labeled corpus of texts featuring the Cuban variant
of Spanish, which includes 200 essays written by students of different grades of schooling, and
the text of the Close Caption from a televised national news broadcast.
We carried out a series of experiments on the several correction techniques applied to search
suggestions for misspellings (words not found in the language). We compared the quality of our
techniques to the spell checker included in the Microsoft Office suite and the spell corrector
Hunspell included in Linux distributions. The MS Office spell checker outperforms our spell
checker by 5%, whereas our spell checker outperforms Hunspell by 15%. We consider the
evaluation results of our corrector to be good.
Contenido Resumen ......................................................................................................................................................... i
Abstract ......................................................................................................................................................... ii
Introducción .................................................................................................................................................. 1
Capítulo 1 Corrección ortográfica. ................................................................................................................ 4
1.1 Non-word ............................................................................................................................................ 6
1.2 Real-word ............................................................................................................................................ 7
1.3 Principales enfoques para la corrección de errores ortográficos ......................................................... 8
Capítulo 2 Corrector ortográfico automático. Métodos propuestos ............................................................ 16
2.1 Recursos construidos ........................................................................................................................ 18
2.1.1 Trigramas de caracteres y Trigramas de etiquetas ..................................................................... 18
2.1.2 Diccionarios auxiliares con palabras nuevas o de dominio específico ...................................... 19
2.2 Algoritmo de corrección ................................................................................................................... 19
2.2.1 Sugerencias a palabras no encontradas (Non-words) ................................................................. 20
2.2.2 Sugerencias a palabras detectadas (Real-word) ......................................................................... 30
2.2.3 Ordenar sugerencias ................................................................................................................... 34
2.3 Descripción del corrector ortográfico automático construido. .......................................................... 35
2.3.1 Detección adicional .................................................................................................................... 35
2.3.2 Corrección .................................................................................................................................. 36
Capítulo 3 Rendimiento y evaluación del corrector .................................................................................... 37
3.1 CORPUS de textos con errores ......................................................................................................... 37
3.1.2 Características del CORPUS-Libre ............................................................................................ 37
3.2 Medidas de evaluación ...................................................................................................................... 39
3.4 Comparación del corrector con otras herramientas de corrección .................................................... 44
3.2.1 Comparación del corrector3 con el corrector de las herramientas del paquete Office 2007 ...... 44
3.2.2 Comparación con el corrector Hunspell de las distribuciones de Linux .................................... 45
Conclusiones ............................................................................................................................................... 47
BIBLIOGRAFÍA ........................................................................................................................................ 50
ANEXOS .................................................................................................................................................... 51
Reglas ortográficas empleadas ................................................................................................................ 51
Listado de homófonas ............................................................................................................................. 54
Reglas fonéticas del español para el algoritmo Metaphone .................................................................... 64
1
Introducción
Es imparable el creciente volumen de información digital que circula por la red en nuestros días.
Cada día se crean aplicaciones con el fin de procesar la mayor cantidad de información posible,
lo cual es una tarea compleja si tenemos en cuenta que la información puede estar contenida en
distintos tipos de documentos y escrita en diversos idiomas. Para afrontar esta tarea se
construyen aplicaciones de Minería de Textos (MT). La MT se enfoca en el descubrimiento de
patrones interesantes y nuevos conocimientos en un conjunto de textos.
A la complejidad mencionada le podemos añadir que en gran medida las herramientas que
producen los textos digitales, así como el ser humano en su redacción, producen un sinnúmero de
errores ortográficos y gramaticales. La presencia de estos errores en los textos reduce los
porcientos de éxito de las aplicaciones encargadas del análisis y procesamiento de documentos.
La construcción de sistemas y algoritmos de corrección ortográfica tiene como objetivo corregir
la mayoría de los errores de redacción detectados. Hasta nuestros días no se cuenta con técnicas
que permitan la corrección de la totalidad de los errores.
Los errores de redacción se pueden clasificar de diferentes maneras. Según el origen del error,
pueden clasificarse en errores producidos por el ser humano y errores producidos por técnicas de
digitalización o generación de textos como por ejemplo los sistemas de Reconocimiento Óptico
de Caracteres (en inglés: Optical Character Recognition OCR). Según la naturaleza del elemento,
se tienen los errores que producen la aparición de términos, dígase palabras no presentes en el
idioma (Non-word), y los errores de concordancia o gramaticales (Real-word), palabras del
idioma no correctas en el contexto.
La mayoría de los correctores existentes se enfocan en corregir errores provocados por la
redacción de los humanos y de estos en particular los que originan palabras no presentes en el
idioma.
Los correctores ortográficos, como casi todas las aplicaciones que se construyen para el
procesamiento de textos, dependen entre otras cosas del dominio donde se van a aplicar y del
idioma que deben ser capaces de tratar. Además, se deben tener en cuenta las características
propias de la tarea o flujo de trabajo donde se va a incorporar, por ejemplo, la corrección
automática de textos o la sugerencia de errores ortográficos.
2
La corrección ortográfica es una técnica ampliamente usada en sistemas de Minería de Textos.
Además, es un proceso fundamental en las aplicaciones de edición y redacción de documentos,
permitiendo corregir o brindar sugerencias para los errores ortográficos generados por los
usuarios, por ejemplo, las herramientas del paquete de Microsoft Office (Word, Power Point,
etc.) y las herramientas LibreOffice1 de las distribuciones de Linux.
Las aplicaciones de procesamiento y análisis de textos usando técnicas de Minería de Textos son
capaces de procesar enormes cantidades de textos en poco tiempo. La calidad del procesamiento
puede comprometerse si los textos analizados contienen errores ortográficos. Por ejemplo, un
buscador de textos puede no recuperar documentos a una consulta realizada por un usuario si la
misma está escrita con errores o los documentos indexados contienen errores en los términos por
los que se está consultando.
Otro aspecto interesante es el referido a la imagen que se transmite sobre una persona por el
hecho de redactar textos oficiales cometiendo errores ortográficos. Esto puede conllevar al
detrimento de la confianza en la profesionalidad y la respectiva pérdida de posibles contratos,
por lo que un corrector ortográfico es una herramienta indispensable para todo profesional o
persona interesada en la calidad de sus escritos.
Algunas aplicaciones de Minería de Textos que podemos mencionar son: los motores de
búsqueda, clasificadores de documentos por temas, visores de noticias, sistemas de búsqueda de
respuesta, suites de procesamiento del lenguaje natural, entre otros. Algunos sistemas como los
mencionados, son desarrollados en colaboración entre el Centro de Reconocimiento de Patrones
y Minería de Datos (CERPAMID) y la empresa para el Desarrollo de Aplicaciones, Tecnología y
Sistemas (DATYS), por lo que para estos centros es un objetivo importante contar con
herramientas de corrección ortográfica. Estas herramientas garantizarían además que se puedan
procesar documentos que no podrían ser tratados sin una previa corrección.
Existe el inconveniente de que los correctores ortográficos para el idioma español que se
distribuyen de forma gratuita no corrigen errores gramaticales o de concordancia, por ejemplo,
los correctores de la familia Spell de las distribuciones Linux (Aspell, Ispell, Hunspell); mientras
que los correctores que realizan con calidad la corrección de los errores Non-word y Real-word
se distribuyen bajo licencias comerciales.
1Suite de herramientas para edición de documentos, similar al paquete de Office de Windows.
3
Por estos motivos, los objetivos que se proponen en este trabajo son:
1. Implementar técnicas para la corrección ortográfica de errores Non-word y Real-word.
a. Técnicas basadas en reglas.
b. Técnicas basadas en recursos estadísticos.
2. Construir un corrector ortográfico automático para la variante cubana del español,
aplicando las técnicas implementadas, y garantizando su adaptabilidad para la corrección
ortográfica de textos de diferentes dominios, idiomas o variantes del español.
La estructura de la tesis es la siguiente. En el Capítulo 1, se abordarán los fundamentos teóricos
de la corrección ortográfica, la definición de los diferentes tipos de errores, así como las
principales aproximaciones en esta tarea. En el Capítulo 2, se detallarán las técnicas propuestas e
implementadas, así como la construcción de recursos externos y la arquitectura e
implementación del corrector ortográfico automático. En el Capítulo 3, se expondrán un conjunto
de experimentos que demuestran la validez de las técnicas desarrolladas. Por último, exponemos
nuestras conclusiones y analizamos las principales direcciones para el trabajo futuro.
4
Capítulo 1 Corrección ortográfica.
Los correctores ortográficos, como casi todas las aplicaciones que se construyen para el
procesamiento de textos, dependen entre otras cosas del dominio donde se van a aplicar y del
idioma que deben ser capaces de tratar. Además, se deben tener en cuenta las características
propias de la tarea o flujo de trabajo donde se va a incorporar, ejemplo, la corrección automática
de textos o la sugerencia de errores ortográficos.
La corrección ortográfica es una técnica ampliamente usada en sistemas de Minería de Textos,
permitiendo un aumento en la calidad de los mismos. Además, es un proceso fundamental en las
aplicaciones de edición y redacción de documentos, permitiendo corregir o brindar sugerencias
para los errores ortográficos generados por los usuarios, por ejemplo, las herramientas del
paquete de Microsoft Office (Word, Power Point, etc) y las herramientas LibreOffice de las
distribuciones de Linux
Los errores de redacción se pueden clasificar de diferentes maneras según investigaciones
existentes en torno al tema. Verberne (2002) plantea la división de errores en dos clases: términos
no presentes en el idioma, o sea, no palabras (mencionados en la literatura como Non-word); y
las palabras del idioma, usadas incorrectamente en el contexto (mencionados en la literatura
como Real-word). En particular Verbene presenta una clasificación más detallada para el tipo de
error Real-word, según la causa que lo produce, planteando las 6 variantes siguientes:
1. Error tipográfico (cuando se presiona mal una tecla, ejemplo: casa - casas)
2. Lapso fonético o cognitivo (cuando involucra el mismo sonido, ejemplo: ajito - agito)
3. Error gramatical (falta de concordancia, ejemplo: La casa – Las casa)
4. Anomalía semántica (cambio de sentido semántico, ejemplo: camino - camión)
5. Inserción o eliminación de palabras (ejemplo: se repite una palabra consecutivamente)
6. Espacio innecesario (se introduce un espacio entre palabras, ejemplo: de morado -
demorado)
Naber (2003) propone la siguiente clasificación:
Errores ortográficos (palabras no reconocidas)
Errores gramaticales (palabras del idioma pero mal en el contexto)
Errores de estilo (palabras no comunes y estructuras de oraciones complicadas)
5
Errores semánticos (palabras que su sentido semántico no corresponde con el de la
oración)
Esta es una clasificación bastante general y, de estas, las dos últimas son bastante difíciles de
solucionar. Un corrector construido para corregir los errores de los dos últimos grupos puede no
ser adaptable a varios idiomas o dominios.
Ya en la década de los 60, se empezaron a definir los tipos de errores ortográficos que se
presentaban en la redacción. Damerau (1964) definió que los errores simples son las palabras que
presentan una sola ocurrencia de una de las siguientes transformaciones de caracteres: inserción
de un carácter, eliminación de un carácter, sustitución de un carácter o transposición de dos
caracteres. Estas transformaciones simples suelen llamarse “transformaciones Damerau”.
Según el origen del error, pueden clasificarse en errores producidos por el ser humano y errores
producidos por técnicas de digitalización o generación de textos como por ejemplo los sistemas
de Reconocimiento Óptico de Caracteres (en inglés: Optical Character Recognition OCR). Según
la naturaleza del elemento, se tienen los errores que producen la aparición de términos, dígase
palabras no presentes en el idioma (Non-word), y los errores de concordancia o gramaticales
(Real-word), palabras del idioma no correctas en el contexto.
La mayoría de los correctores estudiados se enfrascan en corregir los errores provocados por la
redacción de los humanos y de estos en particular los que producen palabras no presentes en el
idioma.
La clasificación de errores que proponemos es la siguiente:
1. Errores generados por humanos
a. Errores ortográficos (Non-word), (tipográficos o cognitivos)
i. Sustitución de caracteres
ii. Inserción de caracteres
iii. Eliminación de caracteres
iv. Transposición de caracteres
b. Errores gramaticales (Real-word), (tipográficos o cognitivos)
i. Sustitución de caracteres
ii. Inserción de caracteres
6
iii. Eliminación de caracteres
iv. Transposición de caracteres
No presentamos una clasificación para los errores de OCR, puesto que en el presente trabajo no
estudiaremos estos tipos de errores, aunque algunos errores de OCR pueden ser corregidos
aplicando las técnicas que propondremos para la corrección de errores generados por humanos.
1.1 Non-word
Los errores ortográficos, llamados Non-word, no se localizan en un diccionario. Pueden
producirse por equivocaciones al teclear, los que serían tipográficos, o por problemas de
conocimiento de las reglas de redacción y/o formación de palabras, los que serían cognitivos. A
veces sucede que la palabra es correcta, pero el diccionario no es lo suficientemente rico y por tal
motivo no se encuentra. En estos casos la palabra se sigue considerando en error.
Los errores de carácter tipográfico se pueden diferenciar en 4 grupos, de acuerdo al error
cometido:
Errores por sustitución de caracteres.
Errores por inserción de caracteres (caso particular la separación de palabras).
Errores por eliminación de caracteres (caso particular la unión de palabras).
Errores por transposición de caracteres.
Ejemplos de oraciones en las que aparecen errores Non-word generados por la equivocación al
teclear, y que son considerados por tanto errores tipográficos:
“Los canpesinos cubanos siembran la tierra y recogen los huevos de las gallinas.”
En este ejemplo estamos en presencia de un error tipográfico por sustitución del carácter “n” en
lugar de “m” que generó la no palabra “canpesino”. Esto se debe a que las teclas m y n son
adyacentes en el teclado.
“Los campesinos cubanos siembran la tiera y recogen los huevos de las gallinas.”
En este ejemplo aparece un error tipográfico por eliminación del carácter “r” que generó la no
palabra “tiera”, aunque también puede ser cognitivo, en ocasiones es difícil determinar la causa.
Esto se debe a que no se presionó lo suficiente la segunda ocurrencia del carácter mencionado.
“Los campesinos cubanos siembran la tierra y recogen los huevos de las galllinas.”
7
En este ejemplo estamos en presencia de un error tipográfico por inserción del carácter “l” que
generó la no palabra “galllinas”. Esto se debe a que se presionó más de lo necesario el carácter
mencionado.
“Los campesinos cubanos siembran la teirra y recogen los huevos de las gallinas.”
En este ejemplo se muestra un error tipográfico por transposición de los caracteres “e, i” que
generó la no palabra “teirra”. Esto se debe a que se presionaron en orden inverso las teclas
correspondientes a los caracteres mencionados.
Los errores de carácter cognitivo, se pueden encontrar en tres de los grupos mencionados
anteriormente, sustitución, eliminación e inserción, según la falta de conocimiento de las reglas
de redacción en que se incurra.
Ejemplos de oraciones en las que aparecen errores generados por el desconocimiento de reglas
de redacción, y que son considerados errores cognitivos:
“Los canpesinos cubanos siembran la tierra y recogen los huevos de las gallinas.”
En este ejemplo estamos en presencia del desconocimiento de la regla ortográfica que plantea
que antes de p o b se escribe m, lo que generó la no palabra “canpesino”. Este es un error por
sustitución de caracteres.
“Los campesinos cubanos siembran la tiera y recogen los huevos de las gallinas.”
En este ejemplo estamos en presencia del desconocimiento de la regla que plantea que entre
vocales se escribe con doble rr, lo que generó la no palabra “tiera”. Este es un error por
eliminación de caracteres.
“Los campesinos cubanos siembrran la tierra y recogen los huevos de las gallinas.”
En este ejemplo estamos en presencia de un error por inserción del carácter “r” que generó la no
palabra “siembrran”. Esto se debe al desconocimiento de la regla ortográfica según la cual entre
consonante y vocal se escribe una sola “r”.
1.2 Real-word
Los errores ortográficos llamados Real-word son palabras que se localizan en un diccionario pero
que no se encuentran correctamente empleados en el texto. Pueden producirse por
equivocaciones al teclear, los que serían tipográficos; o por problemas de conocimiento de las
8
reglas de redacción y/o formación de palabras, los que serían cognitivos, ejemplo de lo cual lo
constituyen las palabras homófonas.
Los errores Real-word de carácter tipográfico se pueden diferenciar en 4 grupos, de acuerdo al
error al teclear cometido. Los grupos son los mismos que los mencionados en la sección anterior
de los errores Non-word.
Ejemplos de oraciones en las que aparecen errores generados por la equivocación al teclear, y
que son considerados errores tipográficos:
“Los campesinos cubano siembran la tierra y recogen los huevos de las gallinas.”
En este ejemplo estamos en presencia de un error tipográfico por eliminación del carácter “s” en
la palabra cubano que generó un error de concordancia en la oración. Esto puede deberse a no
presionar suficientemente la tecla.
Otro caso en el que podemos detectar errores de Real-word ocurre al redactar palabras
homófonas. Las palabras homófonas son las que se pronuncian igual pero se escriben diferentes,
por ejemplo:
la preposición “a” y el verbo “ha” (“La niña a comido huevos”, mal empleada la
preposición “a”)
el sustantivo “casa” y el verbo “caza” en la mayoría de las variantes del español hablado
en Latinoamérica y algunas regiones de España.
1.3 Principales enfoques para la corrección de errores ortográficos
Son múltiples los trabajos que desde la década de los 60 del siglo pasado han tratado el tema de
la corrección ortográfica, los cuales han propiciado el surgimiento y fortalecimiento de
aplicaciones que permiten la corrección ortográfica, ya sea como tarea final o como parte del
flujo de trabajo de algún otro sistema.
Es necesario introducir algunos conceptos que usaremos en lo adelante: n-grama, tf (del inglés
term frequency) y distancia de edición.
n-gramas: Es una subsecuencia de n elementos de una secuencia dada. La forma en la que se
extraen los n-gramas debe adaptarse al ámbito que estamos estudiando y al objetivo perseguido.
Por ejemplo, en el estudio del lenguaje natural se pueden construir los n-gramas en base a
9
distintos tipos de elementos lingüísticos como fonemas, sílabas, letras, palabras, etc. En el
corrector ortográfico utilizaremos el concepto de trigramas (3-gramas). Un trigrama de palabras
correspondería a tres palabras adyacentes en una oración. Ejemplo:
Oración: “El campeón y los perros bonitos.”
Trigramas de palabras de la oración: El campeón y, campeón y los, y los perros, los perros
bonitos, perros bonitos.
Un trigrama de etiquetas morfológicas correspondería a tres etiquetas morfológicas consecutivas.
Para el ejemplo de trigrama de palabras anterior, los trigramas de etiquetas serían:
Trigramas de etiquetas: T S C, S C T, C T S, T S A, S A H
Donde T significa artículo, S sustantivo, A adjetivo, C conjunción y H signo de puntuación.
Un trigrama de caracteres correspondería a tres caracteres adyacentes en una palabra. Ejemplo:
campeón (cam, amp, mpe, peó, eón)
tf: Es una medida que representa la cantidad (frecuencia) de veces que un término aparece en un
conjunto (documento o conjunto de documentos). Esta medida se utiliza para calcular la
frecuencia de los trigramas de caracteres y trigramas de etiquetas. Si los valores calculados se
normalizan, se denomina tf relativo, de lo contrario se denomina tf absoluto. En nuestro trabajo
utilizamos siempre el tf relativo.
Distancia de edición: En los trabajos presentados por Damerau (1964) y Levenshtein (1966) se
introduce el concepto de distancia de edición, posteriormente conocido también como distancia
damerau-levenshtein, considerándose la distancia de edición entre dos palabras, como la
cantidad de cambios que hay que hacer para obtener una palabra a partir de otra.
Según Damerau (1964) el 80% de los errores ortográficos estudiados corresponde a Non-word
con distancia de edición 1 respecto a la palabra que originalmente debía redactarse y en el
estudio expuesto por Pollock y Zamora (1984), el 6% de los errores ortográficos tratados
correspondieron a errores Non-word con distancia de edición mayor que 1. Estos valores reflejan
una media de la cantidad de errores ortográficos que se pueden detectar en las redacciones, pero
no constituyen valores absolutos. La cantidad y variedad de los errores detectados en un texto
está en dependencia del origen de los mismos.
10
Podemos incluir un análisis detallado de las técnicas de corrección teniendo en cuenta sus inicios
en la década de los 60 hasta nuestros días (Kukich, 1992).
Técnicas de corrección:
Mínima distancia de edición
o Grope, (Taylor, 1981)
Similitud de llaves
o SPEEDCOP, (Pollock y Zamora, 1984)
Probabilísticos
o Context-sensitive spell checking based on word trigram probabilities (Veberne,
2002)
o Combining Trigram-based and Feature-based Methods (Golding, 1995)
Basados en reglas
o A Rule-Based Style and Grammar Checker (Naber, 2003)
Mínima distancia de edición
La idea propuesta por Taylor (1981), denominada por ellos corrector grope, es referido a la
búsqueda de palabras con la menor distancia de edición con respecto a la palabra en análisis.
Se pueden analizar los errores ortográficos como errores simples o errores múltiples, según la
distancia de edición que los diferencia de las sugerencias correctas, o lo que es lo mismo, la
cantidad de caracteres erróneos presentes en el error. Los errores simples presentan una sola
transformación y los errores múltiples más de una.
Para esto, los autores proponen el almacenamiento de todas las palabras del diccionario en un
conjunto de árboles. Para realizar la corrección, se van recorriendo los árboles, uno a uno,
tomando los caracteres de la palabra en análisis. Al encontrar un carácter de la palabra por el que
no se pueda recorrer el árbol, entonces a partir de los hijos de este, se sigue recorriendo el árbol
tomando el carácter siguiente de la palabra en análisis. Un ejemplo se puede ver en la Figura 1.
11
Figura 1. Estrategia de búsqueda de sugerencias en los árboles, tomado de Veberne (2002).
Para la palabra de entrada “camion”, se generaría la sugerencia “camión” producto de un solo
error, y se continúa el recorrido del árbol, para encontrar todas las posibles sugerencias. Esta
propuesta es eficiente para los casos en que se ha cometido un solo error.
Similitud de llaves
Pollock y Zamora (1984) proponen una técnica de corrección ortográfica utilizando la similitud
de llaves, llamada SPEEDCOP. La idea central radica en construir un índice para cada palabra
del diccionario y almacenar cada palabra con su índice en memoria. Ellos aclaran que
SPEDDCOP fue diseñado para la corrección de errores Non-word simples (con un solo error),
pero que por pruebas realizadas, muestran resultados de corrección entre 65% y 80% de
precisión para corrección de distintos tipos de errores.
A partir de la entrada de una palabra errónea, ya sea Non-word o Real-word, para esta se
construye su índice y se consideran sugerencias a aquellas palabras que presentan el mismo
índice.
En SPEEDCOP se probaron dos llaves, la llave skeleton y la llave omisión. La llave skeleton se
construye siguiendo los siguientes criterios: la primera letra, el resto de las consonantes sin
12
repetirlas en el orden en que aparecen y las vocales sin repetirlas en el orden en que aparecen. La
llave para la palabra “chemical” sería “chmleia”.
La llave omisión se introdujo para solucionar fundamentalmente los casos de errores ortográficos
donde el error se produjo por la omisión o cambio en la primera letra, los cuales son difíciles de
tratar usando la llave descrita anteriormente. Se analizó la frecuencia de los errores de omisión y
se comprobó que la frecuencia de omisión de las letras se manifiesta en el siguiente orden:
RSTNLCHDPGMFBYWVZXQKJ, donde la R se omite con más frecuencia que la J. Para
construir la llave se toman las consonantes sin repetirlas y se invierte el orden de aparición en la
palabra y por último se concatenan las vocales sin repetirlas.
Probabilísticos
En el trabajo propuesto por Veberne (2002), se realiza la corrección ortográfica de errores Real-
word. La estrategia seguida para esto es buscar sugerencias para palabras Real-word mal
empleadas en la redacción, las cuales pueden haber sido generadas por errores tipográficos o por
una falta de conocimiento, ejemplo: palabras que suenan igual pero se escriben diferentes (casa -
caza). Para cumplir su objetivo, construyeron una base de conocimientos de probabilidad de
trigramas de palabras. Los trigramas con su probabilidad se obtuvieron a partir del segmentado y
etiquetado de una colección de documentos de la British National Corpus (BNC). La corrección
ortográfica es realizada para el idioma inglés.
El algoritmo propuesto se ejemplifica en la Figura 2. Inicialmente, la oración de entrada es
segmentada en trigramas de palabras, cada trigrama de palabras es buscado en la base de
conocimientos de trigramas de palabras. Si el trigrama no existe, entonces se realizan
transformaciones en las palabras involucradas. Para cada sugerencia nueva, se construyen todos
los posibles trigramas de palabras. Cada trigrama es buscado en la base de conocimiento y las
sugerencias son ordenadas por la probabilidad.
13
Figura 2. Algoritmo de búsqueda de sugerencias propuesto por Veberne (2002)
En esta propuesta la dificultad radica en que la base de conocimientos de trigramas de palabras
14
va a ser bastante grande y los datos estarán esparcidos.
Golding (1995) y Goldin y Schabes (1996) presentan un método híbrido denominado por ellos
Tribayes, en el que combinan un método Trigrams usando trigramas de etiquetas para la
búsqueda de sugerencias de errores Real-word en palabras homófonas con etiquetas distintas
(por ejemplo con las homófonas: sustantivo “ajito” por la forma verbal “agito”), y el método
Bayes para buscar sugerencias a palabras homófonas con etiquetas iguales (sustantivo “baso” por
sustantivo “bazo”). Siempre se buscan las sugerencias con Trigrams inicialmente y si se
encuentran se acepta como resultado final. En caso contrario se utiliza Bayes.
Para el método Trigrams, calcularon la probabilidad de cada trigrama de etiquetas a partir de un
corpus de documentos. Cuando, a partir de una oración de entrada, se detecta que existe un
trigrama de etiquetas muy poco frecuente en el idioma o que no aparece en sus listas de
trigramas de etiquetas, buscan si en el trigrama de palabras correspondiente está la presencia de
alguna palabra homófona. Si existe, esta se cambia por las sugerencias y en cada sustitución se
calcula la probabilidad de la oración después de sustituida la palabra original. La probabilidad se
obtiene de la suma de la probabilidad de cada trigrama de etiquetas presente en la oración. Si
existe una variante de oración con mayor probabilidad que la probabilidad de la oración original,
entonces se tienen sugerencias. La probabilidad de una oración sería:
𝑃(𝑊) =∑𝑃(𝑊, 𝑇)
𝑇
𝑃(𝑊, 𝑇) = 𝑃(𝑊|𝑇)𝑃(𝑇)
donde W representa la oración y T representa una secuencia de etiquetas.
En el caso de Bayes, se buscan dos características:
Contexto de la palabra: se busca una palabra en particular en un radio de k palabras
anterior o posterior a la que estamos analizando.
Ubicación: chequea un patrón de l palabras o etiquetas contiguas.
Basados en reglas
La propuesta de Naber (2003) se enfoca en la construcción de un corrector de errores
gramaticales y de estilo, para lo cual codifica las reglas en ficheros con formato XML. Las reglas
15
se construyen con información de etiquetas morfológicas y etiquetas utilizadas por analizadores
sintácticos. Según el autor, las reglas pueden ser adaptadas o incrementadas por usuarios sin
mucha experiencia.
El flujo utilizado para la corrección comienza al recibir una oración de entrada. Esta es
segmentada, etiquetada morfológicamente y procesada en un analizador sintáctico, el cual
determina la estructura de la oración y las diferentes frases nominales y/o preposicionales por las
que está compuesta. A partir de este análisis, para cada frase se busca si contiene algunas de las
reglas en las que se manifiesta un error gramatical o de estilo. Cada regla en el fichero tiene
asociada la información del tipo de error que se debe haber cometido, así como las acciones para
encontrar la sugerencia y cual palabra con su etiqueta morfológica es la que influye en el error.
Podemos concluir que las técnicas varían según las características de los errores a tratar y el
dominio a tratar para la corrección de errores.
16
Capítulo 2 Corrector ortográfico automático. Métodos propuestos
Las técnicas a aplicar van en correspondencia con el origen de los errores, ya sean producidos
por técnicas digitales de generación de textos (generalmente se producen errores tipográficos y
estos pueden ser Non-word o Real-word) o por humanos (errores tipográficos o cognitivos). La
Figura 3 muestra diversas aproximaciones utilizadas para la detección y corrección de errores,
esta fue la arquitectura diseñada por Verberne (2002) y es similar a la que se implementó para la
construcción de nuestro corrector.
Figura 3. Arquitectura de un corrector ortográfico automático.
En la arquitectura presentada se ejemplifican las etapas de ejecución que se tuvieron en cuenta
para el diseño del funcionamiento del corrector ortográfico, implementado como resultado del
trabajo de la presente tesis. Las técnicas de corrección propuestas e implementadas permiten la
corrección de errores ortográficos generados por humanos. Luego de realizarse la detección de
los errores del texto, se procede a la corrección de aquellos que son considerados errores Non-
word o Real-word. Para cada error se buscan sus posibles sugerencias y estas son ordenadas
17
descendentemente por el valor de score (puntaje de frecuencia) calculado. Si la tarea que se
ejecuta es la corrección automática, entonces se sustituye el error por la primera sugerencia en la
lista. Si la tarea que se ejecuta es la corrección interactiva, entonces para cada error se devuelve
su lista de sugerencias.
La arquitectura del corrector ortográfico se divide en dos etapas. En una primera etapa se realiza
la detección con diccionarios auxiliares para reconocer palabras válidas, lo que permite la
adaptabilidad del corrector a diferentes dominios y en la segunda etapa se ejecuta el algoritmo de
corrección propuesto (Figura 4).
Figura 4. Estructura general y funcionamiento del corrector.
El corrector ortográfico automático que se presenta en este trabajo se basa en reglas y recursos
estadísticos. Permite corregir errores ortográficos en redacciones escritas por personas y se puede
Lista de Diccionarios
Palabra
Analizador Morfológico
Detección adicional
Error común
Reglas ortográficas
Error tipográfico
Unión o separación
Error fonético
Sugerencias Non-word
Homófonas
Reglas gramaticales
Unión o separación
Sugerencias Real-word
Adyacencia o similares
Trigramas de caracteres
Trigramas de etiquetas
Lista de sugerencias
Ordenar
Algoritmo de Corrección
18
adaptar con un esfuerzo razonable para la corrección de errores ortográficos en otros idiomas y
otras variantes del español. Además, es adaptable para su uso en dominios del conocimiento
específicos (medicina, judicial, etc.). A lo largo del capítulo se mostrarán los algoritmos
implementados para las fases de construcción de sugerencias para errores Non-word (subtópico
2.2.1) y Real-word (subtópico 2.2.2), así como para la obtención de un orden adecuado de las
sugerencias en la lista que se construye, calculando un score para cada sugerencia. Empezaremos
describiendo algunos recursos construidos, las técnicas implementadas y por último
explicaremos los detalles de la etapa de detección con diccionarios auxiliares.
2.1 Recursos construidos
Cada técnica implementada en el algoritmo de corrección se apoya directa o indirectamente en
recursos construidos: diccionarios de palabras, lista de errores comunes, ficheros de reglas,
listado de homófonas, ficheros de frecuencias de trigramas, entre otros. En lo adelante, según se
expliquen las técnicas utilizadas, se detallarán los recursos específicos asociados.
En este epígrafe se describirán algunos recursos que son empleados en más de una técnica del
algoritmo de corrección.
2.1.1 Trigramas de caracteres y Trigramas de etiquetas
El listado de trigramas de caracteres y trigramas de etiquetas válidos en el idioma español es de
suma importancia para su utilización en la fase de ordenar las sugerencias, la lista de trigramas se
utiliza además en la técnica de corrección de errores tipográficos, para el filtrado de trigramas no
válidos.
Cada trigrama de caracteres tiene asociado un valor de tf calculado a partir de una muestra
aleatoria de documentos en español tomados de la colección Reuters 20002. Para esto, cada
palabra de los documentos fue descompuesta en trigramas de caracteres de la siguiente forma
(casa: _ca, cas, asa, sa_, el carácter “_” representa inicio o fin de palabra).
Cada trigrama de etiquetas tiene asociado un valor de tf calculado a partir de una muestra
aleatoria de documentos en español tomados de la Reuters 2000, Volumen 2. Para esto, cada
documento fue segmentado y etiquetado por oraciones y de cada palabra de los documentos se
2 CORPUS de noticias de diversos temas, presenta noticias en varios idiomas. Las noticias son revisadas y se garantiza la correcta escritura de las mismas.
19
tomó su etiqueta morfológica. Para el ejemplo “La casa bonita y alta.”, las etiquetas
morfológicas correspondientes serían “TFS SCFS AFS C AFS H” y los trigramas generados son
“TFS SCFS AFS”, “SCFS AFS C”, “AFS C AFS” y “C AFS H”, donde las etiquetas representan
la siguiente información:
TFS: artículo femenino singular
SCFS: sustantivo común femenino singular
C: conjunción
AFS: adjetivo femenino singular
H: signo de puntuación
2.1.2 Diccionarios auxiliares con palabras nuevas o de dominio específico
Para la construcción del listado de sugerencias de un error ortográfico, es necesario comprobar
que cada nueva posible palabra esté presente en el idioma, para lo que fue necesaria la
construcción de un diccionario de palabras del español hablado en Cuba y diccionarios
adicionales (lista de países, listado de nombres propios). Estos diccionarios son además
empleados en la fase de detección, para evitar realizar la corrección ortográfica a palabras
consideradas Non-word porque no fueron reconocidas anteriormente por la aplicación de
etiquetado usada.
Esta fase de detección se apoya en la carga de un conjunto de diccionarios adicionales y todos
presentan una estructura similar a la expuesta en la Figura 5.
Figura 5. Estructura de los diccionarios auxiliares.
En la primera columna se escriben las palabras correctas, a continuación se incluye un par de
columnas por cada par <lema, información morfológica>.
2.2 Algoritmo de corrección
El algoritmo de corrección se divide en dos etapas. Inicialmente, se aplica un conjunto de
técnicas para obtener sugerencias a palabras no detectadas (Non-word). A continuación, se aplica
camino camino SCMS caminar V__PIP_S1
caminos camino SCMP
20
un segundo conjunto de técnicas para obtener sugerencias a palabras detectadas en el idioma
(Real-word) que pueden ser consideradas errores gramaticales o de concordancia. En ambas
etapas se trabaja con diccionarios auxiliares para el reconocimiento de las sugerencias correctas.
Por último, se decidió calcular un score a cada sugerencia para determinar el orden en que se
ubican en el listado, con el objetivo de ubicar como primera de la lista la sugerencia de mayor
probabilidad a ser sustituida por el término erróneo.
2.2.1 Sugerencias a palabras no encontradas (Non-words)
En la etapa de generación de sugerencias para palabras no detectadas se utilizan las 5 técnicas
siguientes:
Error común (los errores comunes del español hablado en Cuba fueron proporcionados
por especialistas del Centro de Lingüística Aplicada de Santiago de Cuba).
Incorrecto uso de reglas ortográficas (antes de “p” y “b” se escribe “m”).
Error tipográfico (inserción, sustitución, eliminación y transposición).
Separación o unión de palabras (ca sa, lacasa).
Errores fonéticos (kavallo - caballo)
La Figura 6 muestra un ejemplo real del análisis en esta etapa.
Inicialmente se analiza si la palabra no reconocida constituye un error común del idioma,
utilizando un listado de errores comunes, y en caso de ser positivo se obtiene la sugerencia
correcta directamente de este listado.
Si no es corregida, valoramos que la Non-word se haya generado por el desconocimiento de las
reglas ortográficas del idioma. En este caso se busca la presencia de la combinación incorrecta de
los caracteres empleados. Para ilustrar, consideremos la regla que plantea que antes de “p” o “b”
se escribe “m”. En este caso se busca la ocurrencia de la combinación “nb” o “np” en el término
Non-word y se cambia por la correspondiente “mb” o “mp”. La propuesta de palabra generada
pasa a formar parte de la lista de sugerencias.
De no ser un error común y no aplicarse alguna de las reglas, se presupone que la palabra
correcta se puede generar realizando un cambio tipográfico en la no reconocida.
21
En la corrección de un error tipográfico se generan las sugerencias para cuatro posibles tipos de
errores: inserción, eliminación, sustitución y transposición.
Figura 6. Representación gráfica del algoritmo de corrección ortográfica para Non-words.
22
Por ejemplo, para el error “campeon”, si se sustituye el carácter “o” por el carácter “ó”, entonces
se generaría la sugerencia “campeón”, la cual es encontrada en los diccionarios y pasa a formar
parte de la lista de sugerencias. De forma similar sucede si se inserta el carácter “a” al final del
error anterior, se genera la sugerencia “campeona”, la cual también pasa a formar parte del
listado de sugerencias.
De no encontrarse sugerencias usando las técnicas descritas anteriormente, se procede al análisis
de una posible separación de palabras o unión de dos de ellas. Inicialmente, se analiza si pudo ser
una separación y para esto solo se generan dos sugerencias, la unión de la palabra en análisis con
su anterior en la oración (a menos que sea la primera de la oración) y la unión de la palabra en
análisis con la posterior en su contexto (a menos que sea la última de la oración). Para la variante
de posible unión de palabras, se divide el término que se está analizando y se utilizan dos
procesos simultáneos donde cada uno genera sugerencias comenzando con una mitad del término
y concatenando los caracteres de la otra mitad. Se considera como sugerencia positiva a todas
aquellas variantes en que las dos palabras obtenidas sean encontradas en los diccionarios.
En caso de no encontrar sugerencias se procede al análisis fonético. Por problemas de eficiencia
no es factible generar sugerencias libremente con distancia de edición mayor que 1, pero
utilizando la lista de errores comunes, así como el análisis mediante algoritmos fonéticos3, es
posible encontrar sugerencias para errores con distancia de edición mayor que 1.
Los algoritmos fonéticos representan las palabras mediante llaves, estas llaves las podemos
denominar llaves fonéticas porque representan los principales fonemas de la palabra. Un ejemplo
de llave para una palabra puede ser su representación mediante las consonantes, eliminando las
repeticiones de consonantes consecutivas y eliminando las vocales.
A continuación iremos detallando las características de cada técnica y recurso correspondiente
empleado, para la generación de las sugerencias de errores Non-word.
2.2.1.1 Errores comunes
A partir del estudio realizado por especialistas del Centro de Lingüística Aplicada (CLA), de la
provincia de Santiago de Cuba, sobre colecciones de textos redactados por estudiantes de los
3 Los algoritmos fonéticos calculan el mismo índice para representar términos similares fonéticamente en el habla.
23
centros escolares de la provincia, se construyó un diccionario con el listado de los errores
ortográficos más frecuentes en las redacciones y la sugerencia correcta para cada uno de ellos.
Uno de los ejemplos que podemos encontrar es el término “sevra” y su correspondiente
corrección “cebra”.
La mayoría de los errores ortográficos registrados son producto de la falta de conocimiento de
las reglas del español y de la correcta escritura de las palabras. Gracias a este listado,
manualmente configurable por un especialista, se puede adaptar y enriquecer el conocimiento del
corrector según el dominio o idiomas de los textos a analizar.
Esta es la técnica inicial empleada en el algoritmo para la construcción de sugerencias de errores
Non-word. Una muestra del contenido del mismo almacenado en fichero se muestra en la Figura
7. El primer elemento es el error, el segundo, tercer y cuarto elemento son la palabra correcta, su
lema e información morfológica correspondientemente.
Figura 7. Información almacenada por línea del diccionario de errores comunes.
Se busca el término Non-word en el diccionario de errores comunes. Si se encuentra, entonces se
da como sugerencia la palabra correcta asociada. Aunque esta es una palabra correcta, después de
obtenida, se realiza una búsqueda en el resto de los diccionarios auxiliares para obtener el resto
de la información morfológica y lema que esta pueda presentar según el contexto. Por ejemplo,
la palabra camino puede ser tanto un sustantivo como una conjugación verbal. De la información
del diccionario de errores comunes solo obtendría una de las dos informaciones.
2.2.1.2 Reglas ortográficas
De no encontrarse la sugerencia correcta en la fase de errores comunes, se emplea el análisis de
reglas ortográficas a nivel de palabra incorporándose de esta forma el conocimiento adquirido,
ampliamente estudiado y enriquecido de la lengua materna.
Como primer paso se estableció la recopilación y estudio del conjunto de reglas ortográficas a
nivel de palabras para el idioma español. Además, se determinaron las posibles excepciones para
cada una de las reglas planteadas, así como, en algunos casos, la posible cantidad de palabras del
idioma que están involucradas.
El estudio fue realizado por un experto del área. Se determinaron 3 subconjuntos de reglas:
valomano balonmano balonmano SCMS
24
1. Reglas que se aplican a inicio de palabra (Se escriben con b los palabras que empiezan
con /bibli-/, ejemplo: biblioteca)
2. Reglas que se aplican al final de palabra (Las palabras terminadas en /-bunda/ se escriben
con b, ejemplo: moribunda)
3. Reglas que se aplican en cualquier posición de la palabra ( antes de p y b se escribe m,
ejemplo: campeón)
En la Figura 8 se muestra la representación de las reglas en el fichero de reglas ortográficas que
se utiliza para esta fase. El conjunto total de reglas que utilizamos se muestra en el anexo: Reglas
ortográficas empleadas.
Figura 8. Información en formato por línea del almacenamiento de las reglas ortográficas.
En este formato, la primera columna representa la posición en la que se aplica la regla (1 indica
al inicio de la palabra, 2 al final de la palabra y 3 indica en cualquier parte de la palabra). En la
segunda columna se almacena la cadena de caracteres incorrecta que aparecería en el término
Non-word. A continuación se almacena la cadena de caracteres correcta correspondiente y en la
cuarta columna se incorporan, separadas por una coma, cada una de las excepciones.
Las reglas que se aplican al inicio o final de la palabra son almacenadas en memoria utilizando
estructuras arbóreas. En un árbol se almacenan las reglas que pueden ocurrir a inicio de palabra,
de forma similar para las reglas que ocurren al final de las palabras. En la Figura 9 incisos a) y b)
se ejemplifican los árboles con reglas a inicio y fin de palabra, respectivamente. Cada nodo
# La combinación bl (132 DRAE a inicio de palabra) siempre se escribe con b.
1 vl bl
# La combinación br (471 DRAE a inicio de palabra) siempre se escribe con b
1 vr br
# Las palabras que comienzan con /bur-/ (114 DRAE a inicio de palabra) se escriben con b.
1 vur bur
# Se escriben con b todas las palabras terminadas en /-bilidad/, se exceptúan movilidad,
amovilidad, inmovilidad, civilidad e incivilidad.
2 vilidad bilidad movilidad, amovilidad, inmovilidad, civilidad, incivilidad
# Las palabras terminadas en /-bunda/ se escriben con b.
2 vunda bunda
# Las palabras terminadas en /-bundo/ se escriben con b.
2 vundo bundo
# Antes de p se escribe m.
3 np mp
25
interior representa un carácter de la cadena incorrecta y en los nodos hoja se almacena el resto de
la información de la regla.
En el caso particular del árbol donde se almacenan las reglas de final de palabra, la cadena de
caracteres incorrecta se almacena en forma inversa.
Cuando se buscan las sugerencias para un Non-word en esta fase de reglas ortográficas, primero
se analizan las reglas a inicio de palabra, posteriormente a partir del final de la palabra y por
último se verifican cada una de las reglas que se aplican en cualquier posición. Se recorren los
árboles correspondientes tomando carácter por carácter del término Non-word.
Figura 9. a) Árbol para el almacenamiento de las reglas a inicio de palabra. b) Árbol para el
almacenamiento de las reglas que se aplican a final de palabras.
Cada sugerencia generada mediante la aplicación de las reglas se busca en los diccionarios
auxiliares y en caso de aparecer se actualiza la lista de sugerencias válidas. Es necesario recalcar
que al aplicar una regla no necesariamente se obtiene una palabra válida en el idioma, debido a
que en el término Non-word puede haber más de un error. De ser así, cada una de las sugerencias
generadas en esta fase de reglas ortográficas pasan a ser términos Non-word como entrada para la
búsqueda de sugerencias en la siguiente fase de errores tipográficos.
Raíz
v
l
bl
r
br
v
u
r
bur
Raíz
a
d
n
u
v
bunda
e
t
n
e
j
gente
o
d
n
u
v
bundo
26
Algunas reglas ortográficas no pueden ser tratadas debido a que involucran conocimiento de
palabras de las que derivan. Por ejemplo: “la terminación „-sión‟ se escribe con „s‟ si es un
sustantivo derivado de un verbo terminado en „-der‟, „-dir‟, „-ter‟ o „-tir‟ y al formarse el
sustantivo se pierde la „d‟ o la „t‟: „dividir „ „división‟ vs ‟repetir‟‟repetición‟” que en ese
caso no se puede manipular por no tener como obtener el verbo del que se deriva.
2.2.1.3 Error tipográfico
En la corrección de un error tipográfico se generan las sugerencias realizando una
transformación a la vez en el término erróneo, ya sea inserción, eliminación, sustitución o una
transposición de dos caracteres.
Es configurable el orden en que se generan las sugerencias e incluso la no ejecución de etapas
escogidas. Para la generación de las sugerencias realizando sustituciones de caracteres en el
error, cada carácter se puede sustituir solo por los caracteres en las teclas adyacentes o por cada
uno de los caracteres del teclado que representen letras.
Para tener en cuenta la vecindad de cada carácter, se construyó un listado de caracteres
adyacentes o similares, obteniéndose un recurso con la estructura e información mostrada en la
Figura 10.
Figura 10. Estructura e información del listado de adyacencias y similares.
La información asociada a un carácter se almacena por línea, la primera columna corresponde al
carácter que se está consultando, posteriormente un separador. En la tercera columna se
almacenan los caracteres adyacentes en el teclado, en la cuarta columna y quinta columna se
ponen los caracteres que se involucran en elementos fonéticos similares.
Cada palabra se descompone en todos los posibles trigramas de caracteres que la componen, por
ejemplo:
camión: _ca, cam, ami, mió, ión, ón_ (el carácter “_” representa el espacio vacío al principio o
fin de palabra que nos permite identificar trigramas válidos en estas posiciones).
a = zsqw á
b = nhg v
c = vfdx sz
ñ = pl y ll
27
Si buscamos sugerencias para sustitución de caracteres, en cada uno de estos trigramas se realiza
un cambio a la vez para cada letra, si en la palabra “cxmión” hacemos la sustitución de la “x” por
la “s”, tratando de encontrar una palabra correcta, entonces se generarían los siguientes
trigramas:
csmión: _cs, csm, smi, mió, ión, ón_ .
Cada sugerencia es filtrada por el análisis de trigramas que se van construyendo con el cambio.
Si se genera un trigrama no presente en el listado de trigramas del idioma, entonces se rechaza la
sugerencia.
Cada trigrama se busca en el listado de trigramas de caracteres, al no estar el trigrama “csm”, la
palabra que se genera (csmión) no es considerada en las sugerencias. Si solo se busca sustitución
de caracteres mediante lista de adyacencia, entonces con esta técnica no se encuentra la
sugerencia correcta “camión”, puesto que la “a” no es adyacente al carácter “x”. No obstante es
poco probable que este ejemplo de sustitución ocurra en un ejemplo real.
El procedimiento para la búsqueda de sugerencias por eliminación, inserción o transposición es
similar al explicado para la sustitución. Finalmente, cada término del listado de sugerencias
obtenido, donde sus trigramas de caracteres ocurren en el idioma en análisis, es consultado en los
diccionarios y se eliminan todos aquellos que no estén presentes en los mismos.
2.2.1.4 Unión o separación de palabras
Adicionalmente a las técnicas explicadas anteriormente, se implementó la búsqueda de
sugerencias por posible unión o separación de palabras. Ejemplos de estos errores son:
Unión de palabras (“demaravilla” en vez de “de maravilla”)
Separación de palabras (“ca sa” en vez de “casa”)
Para chequear que el error se produjo por una separación de palabras, se generan dos
sugerencias, uniendo la palabra en análisis con su anterior en la oración y la segunda por la unión
con la palabra posterior. Ejemplo, “la ca sa”, si estamos analizando el término “ca”, las
sugerencias serían “laca y casa” y de estas serían sugerencias las que se encuentren en los
diccionarios auxiliares.
Para construir las sugerencias de una posible unión de palabras, el término que se analiza se
28
divide a la mitad, se busca cada mitad y si son palabras válidas se dan como sugerencias. En caso
de que no haya sugerencias en la primera división, entonces, se crean dos procesos para la
búsqueda de las sugerencias. Cada procesador cuenta con las dos mitades como información. La
diferencia está en que el primer procesador va concatenando, por el orden en que aparecen,
caracteres de la segunda mitad al final de la primera mitad. El segundo procesador realiza un
proceso parecido, pero concatena al principio de la segunda mitad los caracteres de la primera,
empezando desde el final de la misma. El análisis en cada proceso termina cuando se encuentre
una sugerencia o se concatenen todos los caracteres. Una muestra gráfica se aprecia en la Figura
11.
Figura 11. Flujo de análisis para encontrar sugerencias por error de unión de palabras.
2.2.1.5 Error fonético
En caso de producirse errores cognitivos o tipográficos, donde el término incorrecto generado
presenta una pronunciación fonética similar a su palabra de origen (canpeon - campeón), se
pueden aplicar los algoritmos fonéticos para la búsqueda de las sugerencias.
Los algoritmos fonéticos construyen un índice fonético para una cadena de caracteres. Las
palabras que comparten el mismo índice fonético se pueden considerar fonéticamente similares.
El algoritmo fonético Soundex fue uno de los primeros en publicarse, Knuth (1973). En sus
inicios fue utilizado para agrupar nombres en inglés con una pronunciación bastante similar. Este
29
algoritmo se basa en construir un índice fonético (llave) de longitud 4 para una cadena de
caracteres. El algoritmo para la construcción del índice se puede consultar en el anexo Algoritmo
Soundex. A la palabra “campeón” le corresponde el índice “C515”.
El algoritmo fonético Metaphone (Philips, 1990) fue desarrollado como respuesta a las
deficiencias del algoritmo Soundex: la restricción en el tamaño del índice y la pobre
representación de fonemas. Es más exacto que Soundex porque "entiende" las reglas básicas de
pronunciación en inglés. El autor desarrolló una nueva versión del algoritmo, al que llamó
"Double Metaphone"4 (Philips, 2000), que produce resultados más exactos que el original si los
errores no se cometieron en los caracteres que son eliminados por el Metaphone.
Para la búsqueda de palabras con el mismo índice, a partir del diccionario de palabras que se
especifica por fichero de configuración se construyó un diccionario de palabras con sus índices y
en este se especifica la longitud del índice utilizado.
El algoritmo Metaphone usa reglas fonéticas del inglés para la construcción del índice. Por tanto,
para poderlo aplicar a la corrección de errores ortográficos para español fue necesario contar con
la definición de las reglas fonéticas del español. Esta tarea fue abordada y resuelta con la
colaboración de un especialista del área. El conjunto de reglas se expone en el anexo: Reglas
fonéticas del español para el metaphone. Por ejemplo, cada conjunto de fonemas similares se
representará de la misma manera, transformándose siempre en un carácter, la consonante Q se
transforma en la consonante K si se escriben los fonemas QA, QUE o QUI. Las vocales se
eliminan y para los caracteres repetidos solo se escoge uno.
La corrección ortográfica implementada usando el algoritmo fonético solo se ejecuta en los casos
en que no se han encontrado sugerencias luego de aplicar las técnicas anteriores, porque el
objetivo de la introducción de esta técnica es buscar sugerencias para errores ortográficos con
distancia de edición mayor que 1. A partir de la palabra en análisis, se construye su índice
fonético. Este índice fonético es buscado en el diccionario y, si se encuentra, la lista de palabras
asociadas pasa a considerarse lista de sugerencias para este error.
4 Este algoritmo genera una doble llave, la primera es similar al metaphone y la segunda contempla los caracteres que fueron eliminados del primer índice.
30
2.2.2 Sugerencias a palabras detectadas (Real-word)
En la etapa de búsqueda de sugerencias a palabras detectadas, se aplican las técnicas siguientes:
Detección de uso de homófonas.
Detección de no concordancia gramatical a través de reglas gramaticales.
Unión o separación de palabras.
En la Figura 12 se muestra un ejemplo del análisis que se realiza en esta etapa.
Figura 12. Representación gráfica del algoritmo de corrección ortográfica para Real-word.
La primera variante concebida corresponde con la búsqueda de una posible homófona para cada
31
palabra de la oración que se está analizando, por ejemplo las palabras “asta” y “hasta”.
Seguidamente, se utiliza la técnica de reglas gramaticales que busca identificar los trigramas de
etiquetas en los que debe haber concordancia. En las reglas se codifica, por ejemplo, que el
artículo y el sustantivo deben concordar en género5 y número
6.
Por ejemplo, en la oración “Los perro bonitos”, el trigrama de caracteres asociado sería “TMP7
SCMS8 AMP
9” y en este se comprueba que el artículo y el sustantivo no concuerdan en número,
lo cual también sucede entre el sustantivo y el adjetivo.
De esta forma, si la palabra en análisis es “perro”, se puede obtener como sugerencia la palabra
“perros” y esta sería su sugerencia correcta.
Como técnica final se procede a la unión o separación de palabras para verificar si la palabra en
análisis puede constituir una nueva palabra por la unión de la misma con su anterior o posterior,
o si con la separación de la palabra en análisis se generan dos palabras del idioma. Por ejemplo,
en la oración “Quiero llegar de prisa a la fiesta”, la variante correcta para “de prisa” sería la
palabra “deprisa” y esta sería la sugerencia a mostrar.
2.2.2.1 Homófonas
Para esta fase de búsqueda de sugerencias homófonas, fue necesario construir el listado de
palabras homófonas del español, lo cual se logró gracias al estudio realizado por un especialista
del área. Cada palabra homófona es almacenada con su correspondiente sugerencia y toda la
información morfológica asociada. En la Figura 13 se muestra el almacenamiento en fichero.
Figura 13. Información almacenada en el fichero de palabras homófonas
5 Información morfológica que identifica masculino o femenino. Perro es un sustantivo masculino.
6 Información morfológica que identifica singular o plural. Perros es un sustantivo en plural.
7 TMP: artículo masculino plural
8 SCMS: sustantivo común masculino singular
9 AMP: adjetivo masculino plural
arrollo arrollar VT_PIP_S1<=>arroyo arroyo/arroyar/arroyarse SCMS/VT_PIP_S1/V_PPIP_S1
arte arte SCIS<=>harte hartar/hartar/hartar VT_PSP_S1/VT_PSP_S3/VT_PSP_S2R
asta SCFS SCFS<=>hasta hasta R
32
En cada línea, se relacionan dos homófonas, una a cada lado del símbolo “<=>” con su
respectiva información morfológica. El formato es el siguiente:
Primera columna: palabra homófona.
Segunda columna: lemas que puede presentar en el idioma (lema1/lema2/…/leman).
Tercera columna: etiquetas correspondientes a los lemas y la palabra.
Cuarta columna: el símbolo “<=>”.
En la quinta, sexta y séptima columna, la información es similar a las tres primeras pero
para la palabra homófona correspondiente.
La sugerencia que se obtiene para la palabra homófona que se está analizando es almacenada en
la lista de sugerencias para verificar si esta es más probable que la original en el contexto de la
oración.
En el anexo: Listado de homófonas, se puede consultar el listado de palabras homófonas que se
emplean.
2.2.2.2 Reglas gramaticales
La falta de concordancia gramatical es uno de los errores que nos dimos a la tarea de solucionar,
por ejemplo, la no concordancia de género y número entre artículo, sustantivo y adjetivos, entre
otros.
Se determinó un conjunto de reglas de concordancia del idioma español. Las reglas estudiadas se
pueden clasificar en dos subconjuntos: reglas de concordancia entre palabras adyacentes (artículo
y sustantivo adyacentes) y reglas de concordancia entre palabras no adyacentes (núcleo del
sujeto y forma verbal principal en la cláusula). Para el último subconjunto de reglas se necesita
realizar un análisis sintáctico de la oración. En la implementación realizada en esta técnica, se
decidió solo realizar la detección de errores de concordancia entre palabras adyacentes, puesto
que es la variante más fácil de adaptar a la corrección de errores en otros idiomas, debido a que
no es necesario involucrar un análisis sintáctico anterior al proceso de corrección.
El conjunto de reglas de concordancia que se utiliza fue codificado en un fichero de reglas
gramaticales, lo que permite que estas puedan ser modificadas o se puedan eliminar o adicionar
reglas. En la Figura 14 se muestra la estructura utilizada para el almacenamiento de las reglas.
33
Figura 14. Estructura e información del fichero de reglas gramaticales.
En las dos primeras columnas se definen las etiquetas morfológicas que presentan rasgos
morfológicos (género, número, persona) que deben ser iguales cuando sus respectivas palabras
son adyacentes. En la tercera y cuarta columna se codifican los rasgos morfológicos que deben
ser similares, ejemplo entre el artículo y el sustantivo deben ser iguales el segundo rasgo
morfológico del artículo y el tercer rasgo del sustantivo, lo que se identifica en las reglas con dos
marcas iguales.
La búsqueda de sugerencias para palabras que no concuerdan no se realiza haciendo todas las
posibles transformaciones a cada palabra involucrada. Se considera que la palabra correcta es
aquella que pertenece a la misma familia sintáctica de la que se está analizando. Por ejemplo,
para “El perros …”, existe una falta de concordancia de número entre el artículo “El” y el
sustantivo “perros”, las sugerencias a encontrar serían:
El artículo “Los” como sugerencia de “El” y la oración quedaría “Los perros …”
El sustantivo “perro” como sugerencia de “perros” y la oración sería “El perro …”
En el caso de las palabras “perro” y “perros”, estas tienen el mismo lema “perro” y la
información morfológica común es “SCM?: sustantivo común masculino”. La diferencia está en
el valor del rasgo morfológico número, representado por el carácter “?”. Para los artículos se
observa una situación similar.
Considerando que contamos con un diccionario de palabras, donde cada palabra tiene como
información asociada su lema y etiqueta con rasgos morfológicos, por ejemplo: palabra “perro”,
lema “perro”, etiqueta “SCMS” y palabra “perros”, lema “perro”, etiqueta “SCMP”, se decide
almacenar esta información en un mapa (llave, valor), tomando como llave “lema etiqueta” y
valor “palabra”. De esta forma, para buscar una sugerencia, se chequea si existe una palabra que
tenga el mismo lema que la original y compartan rasgos morfológicos, solo variando el valor del
rasgo que no concuerda.
# Artículo(T) + Sustantivo(S) (género y número)
T S -XY --XY - -
# Artículo + Adjetivo(A) (género y número)
T A -XY -XY - -
34
2.2.3 Ordenar sugerencias
Como último paso en el algoritmo de corrección, se calcula el score de cada sugerencia
encontrada para un término (Non-word o Real-word) y en base a los valores obtenidos se ordena
la lista en orden descendente de los valores obtenidos. Este cálculo de score es el que permite
que se pueda desarrollar un proceso de corrección ortográfica automático.
Con el fin de calcular el score de una sugerencia, utilizamos la frecuencia de trigramas de
caracteres y la frecuencia de trigramas de etiquetas morfológicas. Se denotará como 𝑇 a la
frecuencia de trigramas de caracteres y como 𝑇 a la frecuencia de trigramas de etiquetas
morfológicas. Por ejemplo: 𝑇 ( ) representa la frecuencia del trigrama de caracteres
“cas”, y 𝑇 (𝑇 ) la frecuencia del trigrama de etiquetas morfológicas “TFS
SCFS AFS”.
Para calcular el score de una sugerencia, se extraen todos los trigramas de caracteres en los que
se diferencian la sugerencia y el término incorrecto y se busca la frecuencia de estos. Además, se
busca la frecuencia del trigrama de etiquetas que se forma por la sustitución de la sugerencia en
el contexto del término incorrecto. La suma de todas estas frecuencias es lo que determinará el
valor del score de la sugerencia.
𝑃( 𝑢𝑔𝑒𝑟𝑒𝑛 𝑖 ) = ∑
𝑛
𝑖 =1
𝑇 + ( 𝑇 )
Después de calculado el score de cada sugerencia, se ordena la lista de mayor a menor. En la
Figura 15 se aprecia un ejemplo que ilustra lo anteriormente expuesto.
Figura 15. Ejemplo del cálculo de score de las sugerencias del error “canpeon”
35
2.3 Descripción del corrector ortográfico automático construido.
La arquitectura y funcionamiento del corrector ortográfico se expone al inicio del capítulo 2 y en
este epígrafe nos centraremos en detallar algunas estrategias adicionales que permitieron
implementar con éxito el corrector ortográfico automático propuesto.
2.3.1 Detección adicional
Generalmente, cuando incorporamos el uso de un corrector ortográfico para el análisis de textos
escritos en un dominio específico (medicina, legal, variantes de español, etc.), comprobamos que
un número considerable de palabras específicas son tratadas como error o desconocidas. Esta
situación se debe a que el etiquetador morfológico que se emplea para la segmentación y
detección de las palabras no está preparado o entrenado para la detección de estas palabras
nuevas. Este paso propuesto de detección, se realiza con el objetivo de incluir un análisis
morfológico extra que permita la detección de palabras que han sido consideradas errores en el
proceso de etiquetado morfológico efectuado previamente.
Situación similar ocurre para la detección de nombres propios o de países que se escriban con
minúscula.
La solución común para esta problemática es brindar la posibilidad al usuario de incorporar
palabras nuevas, las que en su mayoría son incorporadas sin información asociada de lema y
morfología (por ejemplo, la incorporación de palabras nuevas al Microsoft Office Word). El
conjunto de palabras nuevas pasa a formar parte de un gran diccionario de términos sin
diferencias en cuanto al dominio en que son usadas. La ausencia de lema e información
morfológica de las palabras nuevas dificultaría el proceso de decisión por parte del corrector
ortográfico en cuanto al orden de la misma en caso de ser empleada para enriquecer el listado de
sugerencias para una palabra errónea.
Partiendo de lo mencionado, se decide incluir como estrategia previa al paso de corrección
ortográfica la fase de detección adicional de palabras. Se propone la creación de tantos
diccionarios como se requiera con el objetivo de que el conjunto de palabras presente en cada
uno, represente un conjunto de palabras características o dominio en el que se incorporará el
análisis de corrección ortográfica. El nombre de cada uno de los diccionarios se incorpora en el
fichero de configuración de la herramienta de corrección y se pueden incorporar tantos como se
36
necesite. Se muestra un ejemplo en la Figura 16.
Los diccionarios a incluir deben respetar el formato propuesto en el acápite anterior de “Listados
adicionales”, con lo que se garantizaría no solo el reconocimiento de la palabra nueva sino
además brindar de esta la información asociada de lema e información morfológica. Estas
características permiten que el proceso de calcular el score de las sugerencias a palabras erróneas
que se encuentren antes o después de la detectada en cuestión, se realice con la calidad requerida.
Figura 16. Información para la carga de diccionarios en el fichero de configuración del corrector.
2.3.2 Corrección
Para la corrección se involucran todas las técnicas propuestas e implementadas que fueron
descritas anteriormente. El corrector se puede utilizar de dos maneras, la corrección automática y
la corrección interactiva. Para las dos, la entrada es el conjunto de oraciones segmentadas y
etiquetadas por una herramienta de etiquetado morfológico. En la corrección automática se da
como salida la misma estructura de entrada pero con los elementos considerados errores
sustituidos por la primera sugerencia. En la corrección interactiva se devuelve una estructura que
almacena cada lista de sugerencias asociada a su error.
# Diccionario principal con el formato "palabra lema tag [lema tag]*", se utiliza para
buscar las sugerencias
DictionaryCacheFile=/resumen_index_listo_morpho_final.dat
# Cantidad de diccionarios auxiliares para la detección y generación de sugerencias
AuxiliariesDictionariesNumber=2
AuxiliaryDictionary.1=/paises_completo.dat
AuxiliaryDictionary.2=/nombres_completo.dat
# Diccionarios que permiten la búsqueda orientada a la generación de las sugerencias a
partir del lema y la información morfológica
ReverseDictionariesNumber=1
ReverseDictionary.1=/resumen_index_listo_morpho_final.dat
37
Capítulo 3 Rendimiento y evaluación del corrector
En este capítulo se describe una serie de experimentos realizados para evaluar el desempeño de
las técnicas presentadas y analizar la influencia de diferentes factores en los mismos.
Para el proceso de evaluación, construimos un corpus de errores ortográficos anotados
manualmente por parte de una lingüista, al que llamaremos CORPUS-Libre. Con el mismo se
evalúa la calidad de los resultados obtenidos por el corrector y comparamos sus resultados con
los obtenidos por el corrector gramatical de las herramientas de Office en Windows y el corrector
Hunspell de las distribuciones de Linux, el cual se apoya en los diccionarios del paquete
Myspell10
y es el corrector base empleado por las herramientas de la paquetería LibreOffice11
.
En la Sección 3.1 se describen las características e información que conforman el corpus
construido. En la sección 3.2, se definen las medidas de calidad que serán tenidas en cuenta. En
la sección 3.3 se presentan los resultados experimentales obtenidos variando las técnicas de
corrección aplicadas y en la sección 3.4 se muestran las comparaciones realizadas entre nuestro
corrector y los correctores ortográficos utilizados en los paquetes Office de Windows y
distribuciones Linux.
3.1 CORPUS de textos con errores
Nuestro corpus se conformó manualmente utilizando dos fuentes de textos, una a partir de la
digitalización del close caption del Noticiero de Televisión NTV cubano del 18 de Septiembre
del 2008 en el que los errores se presentan debido a que se teclea muy rápido sin tiempo para
correcciones, y otra agregando oraciones con errores ortográficos y gramaticales obtenidos de la
redacción de estudiantes del 6to grado escolar.
3.1.2 Características del CORPUS-Libre
El corpus está compuesto por oraciones de las siguientes fuentes:
1- Close Caption del NTV
10 Myspell es un corrector que contiene un conjunto de diccionarios para diferentes idiomas que se instala en las distribuciones Linux, usados por los correctores Hunspell, Aspell, Ispell.
11 LibreOffice: suite de herramientas para la edición de documentos, similar a la paquetería Office en Windows.
38
2- Redacciones de estudiantes, que comprenden reglas ortográficas, homófonos y errores
ortográficos comunes.
El corpus quedó estructurado de la siguiente manera:
palabra|12
número de identificación ortográfica| lema (si la palabra es correcta) o palabra correcta
(en caso de ser un error ortográfico o de contexto) | lema (en caso de ser un error ortográfico o de
contexto)| etiqueta
Criterios para la selección de los textos que compondrían el corpus:
En el caso del close caption, se seleccionó debido a su gran incidencia de errores
tipográficos.
En el caso de las oraciones, se escogieron teniendo en cuenta errores ortográficos de todo
tipo: inserción, eliminación, transposición y sustitución, seleccionados de un corpus de
oraciones con errores ortográficos; también se tuvo en cuenta una serie de homónimos de
gran uso lingüístico. Las oraciones de las composiciones se seleccionaron pues son la
mejor manera de ver los verdaderos errores ortográficos en que puede incurrir un
estudiante, en este caso de 6to grado escolar de la provincia de Santiago de Cuba,
principalmente por falta de conocimiento en cuanto a reglas ortográficas que rigen la
escritura.
En el caso particular de las oraciones construidas, se buscó tener un balance en los errores,
debido a que hay algunos en los que se incurre más que en otros, así como variar el contexto de
aparición de los mismos a fin de garantizar más la confiabilidad de los resultados, pues un
contexto puede cambiar la etiqueta de una palabra y por tanto influir en su corrección. De este
modo se seleccionaron 436 oraciones en las cuales se aprecian aproximadamente:
130 homófonos, en los cuales se incluyeron monosílabos.
350 errores por sustitución, tanto ortográficos (s por c, s por z, b por v, n por m, etc.)
como tipográficos.
70 errores por omisión.
46 errores por inserción.
12Esto significa espacio
39
15 errores por transposición.
Este corpus presenta un total de 1044 errores Non-word y 592 errores Real-word, para un total de
1636 errores ortográficos.
3.2 Medidas de evaluación
Para la evaluación de la calidad del proceso de corrección, se van a utilizar las medidas de
precisión (P), relevancia (o recuperación) (R), F1 y la cobertura (C).
La precisión mide la cantidad de errores para los que el corrector da sugerencias correctas, o sea:
𝑃 = 𝑟𝑟 𝑢𝑔 𝑒 𝑟𝑟 𝑢𝑔 ⁄
ErrSugReal: Cantidad de errores para los que se da sugerencias correctas
ErrSug: Cantidad de errores para los que se da sugerencias
La relevancia mide la cantidad de los errores existentes a los que el corrector pudo dar
sugerencias correctas, o sea:
= 𝑟𝑟 𝑢𝑔 𝑒 𝑟𝑟 𝑒 ⁄
ErrReal: Cantidad de errores reales existentes.
F1 es la media armónica de la precisión y la relevancia, o sea, si las dos son altas la F1 es alta
pero si alguna de ellas baja, F1 baja aunque la otra se mantenga alta.
= ( 𝑃 ) (𝑃 + ) ⁄
La cobertura mide la cantidad de errores del total para los que se da sugerencias.
= 𝑟𝑟 𝑢𝑔 𝑟𝑟 𝑒 ⁄
ErrSug: Cantidad de errores para los que se da sugerencias.
3.3 Análisis experimental de las técnicas de corrección propuestas
Se evaluaron 4 configuraciones del corrector sobre el CORPUS-Libre, para evaluar la calidad de
la corrección, en las 4 configuraciones se buscaron sugerencias para errores Real-word utilizando
las técnicas descritas con anterioridad. Las diferencias radican en el incremento de las técnicas
para la búsqueda de sugerencias a errores Non-word. Las técnicas de Non-word utilizadas en
cada caso fueron:
40
Corrector0: errores tipográficos y unión-separación de palabras.
Corrector1: errores comunes, errores tipográficos y unión-separación de palabras.
Corrector2: errores comunes, reglas ortográficas, errores tipográficos y unión-separación
de palabras.
Corrector3: errores comunes, reglas ortográficas, errores tipográficos, unión-separación
de palabras y errores fonéticos.
Además, el análisis en cada configuración se realizó en dos fases, considerando solo la
corrección de errores Non-word y considerando la corrección de todos los posibles errores (Non-
word y Real-word). Para todos los casos, el cálculo del score de cada sugerencia se realiza
empleando las técnicas de score descritas en el capítulo anterior.
Para cada una de las medidas se evaluarán tres situaciones diferentes. En primer lugar, se
considerará sólo la primera sugerencia, para este caso las medidas se representarán como P@1,
R@1, F1@1, que la sugerencia correcta se encuentre entre las k primeras de la lista P@k, R@k,
F1@k, teniendo a k con valores de 5 y 10. Como puede observarse, la cobertura es un resultado
único para cada caso.
El objetivo de estas medidas es evaluar la calidad del ordenamiento que se impone a las
sugerencias, teniendo en cuenta el contexto al que se incorporaría, en este caso analizando el
trigrama que se forma con la palabra anterior y la posterior. En particular, los resultados de las
evaluaciones para el caso @1, permite evaluar la calidad del corrector en funcionamiento
automático.
Es importante destacar que las técnicas de corrección de errores Non-word empleadas en esta
variante Corrector0, son las técnicas comunes con las que se puede obtener un corrector que sea
fácilmente adaptable a distintos dominios.
Los resultados de los experimentos se muestran en las Tablas 1, 2, 3, 4. En la primera columna se
listan las diferentes medidas calculadas; en la segunda se muestran en valores de % los
resultados obtenidos para la corrección solo de errores Non-word y en la tercera columna
también en %, el resultado de buscar sugerencias para todos los errores presentes.
41
Corrector0
Medidas Non-word Non-word,
Real-word
P@1 81.5 82.0
R@1 74.8 50.3
F1@1 78.0 62.4
P@5 93.5 93.5
R@5 85.8 57.4
F1@5 89.5 71.1
P@10 96.4 96.3
R@10 88.5 59.1
F1@10 92.3 73.2
C 91.8 61.4
Tabla 1. Resultados obtenidos para la variante Corrector0
Analizando los resultados presentados en la Tabla 1, puede observarse que los valores reflejan un
desempeño aceptable al evaluar la ocurrencia de la sugerencia correcta en el listado de
sugerencias para el caso @5 cuando se corrigen errores Non-word. Consideramos este resultado
aceptable porque el valor de la medida F1@5 es superior al 80% que se reporta en la literatura
para aplicaciones prácticas (Kukich, 1992). El listado de sugerencias asociado a cada error para
el que se da sugerencias es generalmente extenso.
Para la variante del Corrector1 presentado en la Tabla 2 se introduce el listado de errores
comunes como conocimiento al corrector, con el empleo de los diccionarios de errores comunes
del español hablado en Cuba. Con esta, si un error Non-word es encontrado en la lista de los
comunes, entonces no se buscan más sugerencias y se da como correcta la sugerencia asociada.
Corrector1
Medidas Non-word Non-word,
Real-word
P@1 91.4 91.3
R@1 82.7 55.4
F1@1 86.8 69.0
P@5 96.7 96.5
R@5 87.5 58.5
F1@5 91.9 72.8
P@10 97.8 97.5
R@10 88.5 59.1
F1@10 92.9 73.6
C 90.5 60.6
42
Tabla 2. Resultados obtenidos para la variante Corrector1
En los resultados mostrados en la Tabla 2 es significativo resaltar el incremento en el valor de
precisión P@1 con respecto al respectivo valor en Corrector0. Esto se debe a que hay un
incremento de 83 errores para los que la sugerencia correcta se encuentra en la primera posición
de la lista de sugerencias. El incremento en el resto de los valores de precisión está dado por la
corrección realizada a errores que presentan distancia de edición mayor que 1 con respecto a la
sugerencia correcta.
Para la variante del Corrector2 presente en la Tabla 3, se introdujo la técnica de chequeo de
reglas ortográficas mal empleadas.
Corrector2
Medidas Non-word Non-word,
Real-word
P@1 91.2 91.1
R@1 82.9 55.4
F1@1 86.9 68.9
P@5 96.5 96.3
R@5 87.6 58.6
F1@5 91.8 72.9
P@10 97.6 97.3
R@10 88.6 59.2
F1@10 92.9 73.6
C 90.8 60.8
Tabla 3. Resultados obtenidos para la variante Corrector2
Los valores reportados en la Tabla 3 son similares a los reportados en el experimento anterior,
porque para muchos de los errores que pueden ser corregidos al aplicar correctamente una regla
ortográfica ya se le obtienen las sugerencias correctas aplicando las técnicas anteriores.
La mejora significativa en este caso, se manifiesta en la cantidad de palabras en las listas de
sugerencias, ya que se obtienen listas de sugerencias más pequeñas en Corrector2. Si en un
término Non-word se aplica una regla ortográfica y la sugerencia resultante es válida en el
idioma, entonces solo esta formará parte del listado de sugerencias. Un ejemplo de palabra del
CORPUS-Libre corregida gracias a la introducción de la técnica de reglas es: “acostrunbrado” y
la sugerencia correcta “acostumbrado”.
43
Corrector3
Medidas Non-word Non-word,
Real-word
P@1 88.6 88.6
R@1 83.6 56.0
F1@1 86.0 68.5
P@5 93.8 93.6
R@5 88.5 59.1
F1@5 91.1 72.5
P@10 95.1 94.9
R@10 89.7 60.0
F1@10 92.3 73.5
C 94.3 63.1
Tabla 4. Resultados obtenidos para la variante Corrector3
La variante de Corrector3 es la que refleja mejores resultados de cobertura de las 3 variantes
anteriores, lo que refleja que se dan sugerencias para mayor cantidad de errores. Los valores de
precisión, relevancia y F1 están ligeramente por debajo con respecto a las pruebas anteriores.
Esto se debe a que la cantidad de errores para los que la sugerencia correcta es la primera se
incrementa, pero también se incrementa la cantidad de errores para los que se dan malas
sugerencias.
Para errores de distancia de edición mayor que 1 se obtienen sugerencias gracias a la utilización
de la adaptación del algoritmo fonético Metaphone para el español.
De manera general, los valores reportados para la corrección de errores Real-word son bajos. En
cuanto a las medidas de relevancia y cobertura, reflejan las pocas correcciones obtenidas para
este tipo de errores, manteniéndose la precisión por encima de 90% en la generalidad de los
casos. Esto muestra que para los errores a los que se da sugerencia, en la mayoría de los casos la
sugerencia correcta es la primera.
Uno de los aspectos que influye en la escasa corrección de errores Real-word en los que se
pudiera aplicar reglas gramaticales, es la ausencia de información morfológica asociada a la
palabra, por lo que es importante la calidad y cantidad de información que debe ser obtenida del
44
proceso previo a la corrección ortográfica.
3.4 Comparación del corrector con otras herramientas de corrección
Para la comparación de los resultados de nuestro corrector con otras herramientas de corrección,
decidimos utilizar el servicio de corrección del paquete de Office de Windows y el corrector
Hunspell de las distribuciones de Linux. El servicio de corrección de Office de Windows es el
utilizado en aplicaciones como Office Power Point y Office Word, siendo estas las aplicaciones
preferidas para la redacción de documentos. El corrector Hunspell es la herramienta de
corrección utilizada en las aplicaciones LibreOffice de las distribuciones de Linux.
3.2.1 Comparación del corrector3 con el corrector de las herramientas del paquete
Office 2007
En esta prueba se calcularon los valores de precisión, relevancia, F1 y Cobertura, utilizando el
servicio de corrección de Office Word 2007, debido a que es el procesador de textos más
ampliamente usado para la redacción de textos. Se realizó la corrección sobre el CORPUS-Libre
y para las diferentes estrategias mostradas en los experimentos anteriores. En la Tabla 5 se
pueden comparar los resultados obtenidos por el Corrector3 y el corrector de Office.
Del servicio corrector empleado en el paquete Office no se conocen los algoritmos que utiliza
por tratarse de software propietario. Solo se considera para la comparación los resultados
obtenidos por el Corrector3 debido a que en este se incluyen todas las técnicas descritas en el
presente trabajo de tesis.
Corrector3 Corrector Office Word
Medidas Non-word Non-word,
Real-word Non-word
Non-word,
Real-word
P@1 88.6 88.6 91.2 92.2
R@1 83.6 56.0 88.9 64.7
F1@1 86.0 68.5 90.0 76.0
P@5 93.8 93.6 96.8 97.1
R@5 88.5 59.1 94.3 68.1
F1@5 91.1 72.5 95.5 80.1
P@10 95.1 94.9 - -
R@10 89.7 60.0 - -
F1@10 92.3 73.5 -
C 94.3 63.1 97.4 70.1
Tabla 5. Resultados de Corrección del Corrector3 y el corrector del Office Word.
45
En promedio, los resultados mostrados en la Tabla 5 del corrector del Office Word son un 5%
superiores con respecto al Corrector3, en lo fundamental debido a que el corrector del paquete
Office es capaz de encontrar una mayor cantidad de sugerencias correctas para errores Real-word
y errores Non-word con distancia de edición mayor que 1.
3.2.2 Comparación con el corrector Hunspell de las distribuciones de Linux
Calculamos los valores de precisión, relevancia, F1 y Cobertura, utilizando el corrector
ortográfico Hunspell, sobre el CORPUS-Libre y para los diferentes valores de k mostrados en los
experimentos anteriores. En la Tabla 6 se pueden comparar los resultados obtenidos por el
Corrector3 y el corrector Hunspell.
En este experimento no se van a comparar los resultados de la corrección ortográfica de errores
Real-word, debido a que el corrector Hunspell no es capaz de corregir este tipo de errores y el
nuestro sí. Por lo que los valores reportados en nuestra propuesta serían superiores en este
aspecto.
Corrector3 Hunspell
Medidas Non-word Non-word
P@1 88.6 65.9
R@1 83.6 65.1
F1@1 86.0 65.5
P@5 93.8 77.5
R@5 88.5 76.6
F1@5 91.1 77.04
P@10 95.1 82.5
R@10 89.7 81.5
F1@10 92.3 81
C 94.3 98.8
Tabla 6. Resultados de Corrección del Corrector3 y el corrector Hunspell.
Los resultados de la Tabla 6 reflejan un comportamiento superior por parte de nuestro corrector
con respecto al Hunspell. Los valores demuestran que el proceso de corrección del Corrector3
presenta mayor calidad, lo valores de la medida F1, la cual representa un promedio de la
precisión y la relevancia, son en promedio superiores en un 15 %, siendo más alto para F1@1,
con lo que se garantiza que el proceso de ordenar las sugerencias para la realización de una
corrección automática, es importante. Además, revisando los experimentos se observa que las
listas de sugerencias que brinda el Hunspell para cada error detectado es considerablemente
46
mayor, pero que la probabilidad de que la correcta sea la primera no es alta. Es importante
destacar que el Hunspell emplea un mínimo de recursos y es bastante rápido. A pesar de esto, a
diferencia de nuestra propuesta, no se debe utilizar en aplicaciones que requieran de un proceso
de corrección automática o de errores Real-word.
47
Conclusiones
Se presentó la construcción de un corrector ortográfico automático para la variante cubana del
español basado en reglas y recursos estadísticos, que permite la corrección de errores
ortográficos generados en la redacción por personas y se puede adaptar sin mucha dificultad para
la corrección de errores ortográficos en otros idiomas y variantes del español. Además, se
garantiza su adaptabilidad para uso en dominios específicos (medicina, judicial, etc.).
Se propusieron e implementaron un total de 5 técnicas para la corrección de errores Non-word:
empleando búsqueda en diccionarios de errores comunes, aplicando reglas ortográficas,
búsqueda de sugerencias para errores tipográficos (por sustitución, eliminación, inserción y
transposición), sugerencias a errores generados por unión o separación de palabras y corrección
de errores empleando algoritmos fonéticos.
En especial para la técnica de búsqueda de sugerencias sobre errores por unión de palabras, se
implementó la búsqueda utilizando simultáneamente dos procesadores, donde con cada uno se
van generando sugerencias realizando recorridos distintos a partir de la mitad del término.
Para la búsqueda de sugerencias a errores gramaticales o Real-word, se propusieron e
implementaron 3 técnicas: el chequeo de palabras homófonas mal empleadas, la corrección de
errores de concordancia utilizando reglas gramaticales del español y la búsqueda de sugerencias
por posible unión o separación de palabras.
Con el propósito del empleo de las técnicas propuestas, fue necesaria la construcción de un
conjunto de recursos y/o diccionarios. Entre estos tenemos: diccionarios de nombres propios,
diccionarios de palabras del idioma, diccionario de errores comunes, fichero de reglas
ortográficas y reglas gramaticales, diccionario de homófonas, fichero de frecuencia de trigramas
de caracteres y fichero de frecuencia de trigramas de etiquetas morfológicas.
Con el objetivo de evaluar la calidad del proceso de corrección ortográfica empleando las
técnicas implementadas, se etiquetó manualmente un corpus de textos con un total de 1636
errores, entre Non-word y Real-word. Los resultados alcanzados para la corrección de errores
Non-word son satisfactorios, no siendo los deseados para la corrección de Real-word, debido a
que no se corrigen errores de concordancia entre palabras no adyacentes, por ejemplo: la
concordancia entre núcleo del sujeto y el núcleo del predicado en una oración. Se realizó una
48
comparación de los resultados obtenidos por nuestro corrector con respecto a los valores
obtenidos por el servicio de corrección del paquete de Office, siendo los nuestros solo un 5%
inferiores. Además, realizamos una comparación similar a la anterior pero usando el corrector
Hunspell. Se arrojan resultados superiores usando nuestro corrector, para un promedio del 15%
por encima de los valores obtenidos por el Hunspell.
Por último, se construyó un corrector ortográfico automático que involucra los recursos y
técnicas implementadas en el transcurso de la tesis, así como un proceso de detección adicional
que permite su adaptabilidad a diferentes dominios y/o corrección de errores Non-word para
variantes del español y otros idiomas que usan el alfabeto latino. Los objetivos propuestos para la
realización del presente trabajo de tesis fueron cumplidos. Nuestro corrector resalta, no solo por
la calidad del proceso de corrección que realiza, sino, porque permite la configuración y el
enriquecimiento de los recursos que emplea, la corrección ortográfica se puede realizar de forma
automática o por sugerencias e involucra un conjunto de técnicas para la corrección de los tipos
de errores propuestos en nuestra clasificación.
El corrector ortográfico automático se utiliza en estos momentos como parte del flujo de trabajo
de 3 aplicaciones de la empresa DATYS, estas aplicaciones son:
1. Suite de Procesamiento del Lenguaje Natural (NLPT-Suite): esta es una suite que
involucra un conjunto de herramientas de procesamiento del lenguaje natural, entre estas,
Analizador Morfológico, Etiquetador Lematizador, Corrector Ortográfico, Reconocedor
de Entidades y Analizador Sintáctico.
2. Evaluador Multilingüe de Textos (EVAMTEX): es un sistema para la evaluación de
redacciones escritas, con este se calcula un conjunto de indicadores y medidas
lingüísticas. Uno de estos indicadores es “corrección a nivel de palabras” identificándose
en un texto, la cantidad de errores ortográficos y gramaticales que se puedan haber
cometido.
3. Plataforma de Servicios: es un sistema para la publicación de servicios webs para el
procesamiento de documentos. En esta aplicación se incorporó el análisis de errores
ortográficos para los idiomas, español, inglés, italiano y portugués, utilizando nuestro
corrector.
49
Para el trabajo futuro, sería interesante evaluar la influencia de otros algoritmos fonéticos.
Además, nos proponemos incrementar el análisis y detección de errores de concordancia
gramatical utilizando un análisis sintáctico de la oración, aunque se debe tener en cuenta que si el
análisis sintáctico se realiza sobre una oración con presencia de errores, la calidad del mismo
puede estar comprometida. La idea puede estar en determinar e identificar los árboles sintácticos
que se construyen según los diferentes tipos de errores de concordancia. También, realizaremos
el estudio de las reglas ortográficas por derivación que no tratamos en nuestro corrector para su
posible inclusión.
Por último nos proponemos incorporar el análisis de la ocurrencia de más de un error ortográfico
que pueda ser detectado gracias al uso de la técnica de reglas ortográficas para errores Non-word.
50
BIBLIOGRAFÍA
Damerau, F. J. (1964). A technique for computer detection and correction of spelling errors.
Commun ACM 7.3 (Mar.). 171 – 176.
Naber. D. (2003). A Rule-Based Style and Grammar Checker. Tesis de diploma. Facultad
técnica, Universidad Bielefeld.
Fossati, D. Eugenio, B. D. (2007). A Mixed Trigrams Approach for Context Sensitive Spell
Checking. CICLing 2007. pp. 623-633.
Golding, A. R. Schabes, Y. (1996) Combining Trigram-based and Feature-based Methods for
Context-Sensitive Spelling Correction. Mitsubishi Electric Research Laboratories, 201
Broadway Cambridge, MA 2139.
Golding, A. R. (1995). A Bayesian hybrid method for context-sensitive spelling correction. In
Proceedings of the Third Workshop on Very Large Corpora. Boston. pp. 39-53.
Knuth, D. E. (1973). The Art of Computer Programming: Volume 3, Sorting and Searching.
Addison-Wesley. pp. 391–92. ISBN 978-0-201-03803-3. OCLC 39472999.
Kukich, K. (1992). Techniques for automatically correcting words in text. ACM Computing
Surveys. pp. 377-439.
Levenshtein, V. I. (1966). Binary codes capable of correcting deletions, insertions and reversals.
in .Sov. Phys. Dokl.. 10 (Feb): 707-710.
Phillips, L. (1990). Hanging on the Metaphone. Computer Language*, Vol. 7, No. 12,
(December).
Phillips, L. (2000). The Double Metaphone Search Algorithm. C/C++ Users Journal. Jun 01.
Pollock, J. J. and Zamora, A. (1984). Automatic spelling correction in scientific and scholarly
text, in „Communications of the ACM‟, 27(4): 358-368
Taylor, W. D. (1981). GROPE: A spelling error correction tool. AT& T Bell Labs Tech. Mem.
Verberne, S. (2002). Context-sensitive spell checking based on word trigram probabilities.
Master thesis Taal, Spraak & Informatica University of Nijmegen.
51
ANEXOS
Reglas ortográficas empleadas
1. La combinación bl (132 DRAE a inicio de palabra) siempre se escribe con b.
2. La combinación br (471 DRAE a inicio de palabra) siempre se escribe con b
3. Las palabras que comienzan con /bur-/ (114 DRAE a inicio de palabra) se escriben con b.
4. Se escriben con b los palabras que empiezan con /bibli-/ (26 DRAE a inicio de palabra).
5. Se escriben con b todas las palabras terminadas en /-bilidad/, se exceptúan movilidad,
amovilidad, inmovilidad, civilidad e incivilidad.
6. Las palabras terminadas en /-bunda/ se escriben con b.
7. Las palabras terminadas en /-bundo/ se escriben con b.
8. Se escriben con b todas las palabras que comienzan por /cub-/.
9. Se escribe con b las palabras que empiezan con /sib-/.
10. Se escriben con b las palabras que comienzan por /urb-/.
11. Las palabras terminadas en /-cie/ se escriben con c.
12. Las palabras terminadas en /-cio/ se escriben con c.
13. Las palabras terminadas en /-cial/ se escriben con c, excepto eclesial y controversial.
14. Las palabras terminadas en /-ciar/ se escriben con c, excepto demasiar, extasiar, pesiar,
anestesiar, lisiar, hiperestesiar y ansiar.
15. Los verbos terminados en /-cer/ se escriben con c; excepto toser, coser, descoser.
16. Los verbos terminados en /-cir/ se escriben con c; excepto asir y desasir.
17. Las palabras que terminan con -ación se escriben con c, excepto ocasión, pasión,
compasión, rasión, abrasión, disuasión, persuasión, evasión e invasión.
18. Las terminaciones -cecillo, -cecilla se escriben con c.
19. Las palabras que comienzan en /des-/ se escriben con s; excepto dezmable, dezmar,
dezmatorio, dezmeña, dezmeño, dezmera, dezmería, dezmero.
20. Las palabras que comienzan en /dis-/ se escriben con s; excepto dizque.
21. Las palabras terminadas en /-gente/ se escriben con g.
22. Las palabras terminadas en /-gencia/ se escriben con g.
52
23. Las palabras que comienzan con /geo-/ se escriben con g.
24. Las palabras terminadas en /-gión/ se escriben con g y se acentúan.
25. Todas las palabras terminadas en /-gio/ se escriben con g.
26. Se escriben con g las palabras terminadas en /–ogía/.
27. Se escriben con g las palabras terminadas en /-ógico/; excepto paradójico.
28. Se escriben con g las palabras terminadas en /-ógica/.
29. Se escriben con g las palabras que empiezan por /leg-/, excepto leja, lejana, lejanamente,
lejanía, lejanía, lejía, lejío, lejísimo, lejitos lejos, lejote, lejura.
30. Las palabras que empiezan con /hie-/ se escriben con h.
31. Las palabras que empiezan con /hue-/ se escriben con h.
32. Se escribe con h las palabras que empiezan con /hipo-/
33. Se escribe con h las palabras que empiezan con /hidr-/
34. Se escribe con h las palabras que empiezan con /hosp-/
35. Se escribe con h las palabras que empiezan con /hiper-/, excepto iperita.
36. Se escriben con h las palabras que empiezan con las sílabas /huma-/
37. Se escriben con h las palabras que empiezan con las sílabas /hume-/ excepto umero.
38. Se escriben con h las palabras que empiezan con las sílabas /humi-/.
39. Se escriben con h las palabras que empiezan con las sílabas /humo-/
40. Se escriben con h las palabras que empiezan con las sílabas /humu-/
41. Se escriben con h las palabras que empiezan por /hepta-/.
42. Se escriben con h las palabras que empiezan por /hemat-/.
43. Se escriben con h las palabras que comienzan con el sonido herb-, excepto erbio.
44. Las palabras terminadas en -aje se escriben con j (excepto enálage, collage e hipálage).
45. Se escriben con j las palabras que empiezan /eje-/, excepto egena, egeno, Egeria, egestad,
egetana y egetano.
46. Se escribe ll en las palabras que terminan en -illo, excepto ijiyo.
53
47. Se escribe ll en las palabras que terminan en -illa, excepto sebiya y manganiya.
48. Antes de b se escribe m.
49. Antes de p se escribe m.
50. Antes de v se escribe n.
51. Las palabras terminadas en /-ésimo/; se escriben con s excepto décimo undécimo,
duodécimo.
52. Las palabras terminadas en /-ésima/; se escriben con s excepto, décima.
53. Las palabras terminadas en /-ísimo/ se escriben con s.
54. Las palabras que empiezan por /sub-/ se escriben con s y b a excepción de zubia.
55. Las palabras terminadas en /-esto/ se escriben con s.
56. Las palabras terminadas en /-esta/ se escriben con s.
57. Las palabras que empiezan con /olv-/ se escriben v.
58. Las palabras terminadas en /–voro/se escriben con v, excepto boro, eléboro y céboro.
59. Las palabras terminadas /-vora/ se escriben con v; excepto víbora, tambora, cambimbora.
60. Se escriben con v las palabras que empiezan por /eva-/ excepto ébano, ebanista y
ebanistería.
61. Se escriben con v las palabras que empiezan por /eve-/ excepto ebenáceo.
62. Las palabras que empiezan por /div-/ se escriben con v; excepto dibranquial, dibujo y sus
derivados (dibujante, dibujado, dibujar, dibujador, dibujadora).
63. Se escriben con v las palabras que empiezan por /adv-/.
64. Se escriben con v las palabras que comienzan por /priv-/
65. Se escriben con z las palabras terminadas en /–anza/, excepto: ansa, cansa, secansa,
gansa, mansa, nansa, pansa, transa, y sansa.
66. Las palabras terminadas en /-ión/ se acentúan, excepto ion.
67. las palabras terminadas en /-ón/ se acentúan en la o, excepto bourbon, con, beicon, don,
bustrófedon, íleon, fon, son.
54
Listado de homófonas
Palabra Categoría Significado
as sust
Persona que sobresale de
manera notable en un ejercicio
o profesión.
has verb Forma del verbo haber.
bario sust Metal
vario adj Diverso o diferente.
bobina sust
Cilindro de hilo, cordel, etc.,
arrollado en torno a un canuto
de cartón u otra materia.
bovina adj Perteneciente o relativo al toro
o a la vaca.
cien adj, pron numeral Adjetivo pronominal numeral.
sien sust
Cada una de las dos partes
laterales de la cabeza situadas
entre la frente, la oreja y la
mejilla.
graba verb Forma del verbo grabar.
grava sust Piedra, material de
construcción.
grabado sust, verb, (part) Arte de grabar.
gravado verb Forma del verbo gravar.
horca sust
Conjunto de uno o dos palos
verticales sujetos al suelo y
otro horizontal del cual se
cuelga por el cuello, para dar
muerte a los condenados a esta
pena.
orca sust Cetáceo.
cause verb Del verbo causar.
cauce sust Lecho de un río.
ablando verb Del verbo ablandar
hablando verb Del verbo hablar
abollar verb
Producir una depresión en una
superficie con un golpe o
apretándola.
aboyar verb Poner boyas.
alaba verb Elogiar, celebrar con palabras.
halaba verb Forma del verbo halar.
aremos verb Remover la tierra haciendo
surcos con el arado.
haremos verb Del verbo hacer.
baqueta sust Palillos con que se toca el
tambor.
55
Palabra Categoría Significado
vaqueta sust Cuero de ternera, curtido y
adobado.
barón sust Título de dignidad.
varón sust Ser humano de sexo
masculino.
bate sust Palo con el que se golpea la
pelota.
vate sust Adivino, poeta.
bota sust, verb Calzado. //Del verbo botar.
vota verb Del verbo votar.
botar verb Arrojar, desechar.
votar verb Dar el voto, elegir.
boto verb Del verbo botar.
voto verb Del verbo votar.
cabe verb Del verbo caber, entrar.
cave verb Del verb cavar.
calló verb Del verbo callar.
cayó verb Del verbo caer.
casa sust, verb Edificio para habitar// Del
verbo casar.
caza sust, verb Accion de cazar// del verbo
cazar.
casar verb Contraer matrimonio.
cazar verb Perseguir animales para
matarlos.
cegar verb Quitar la vista a alguien.
segar verb Cortar mieses.
cerrar verb Asegurar con cerradura.
serrar verb Cortar o dividir con la sierra.
ciervo sust Animal mamífero rumiante.
siervo sust Esclavo.
cocer verb
Hacer comestible un alimento
crudo sometiéndolo a
ebullición o a la acción del
vapor.
coser verb
Unir con hilo, generalmente
enhebrado en la aguja, dos o
más pedazos de tela, cuero u
otra materia.
cocido verb, adj Del verbo cocer/cocinar.
cosido verb, adj Del verbo coser.
errar verb No acertar.
herrar verb Ajustar y clavar las herraduras
a las caballerías, o los callos a
56
Palabra Categoría Significado los bueyes.
espiar verb Observar secretamente.
expiar verb Pagar [por una culpa o delito].
espirar verb Expulsar el aire por los
pulmones.
expirar verb Morir.
hice verb Forma del verbo hacer.
ice verb Forma del verbo izar.
hizo verb Del verbo hacer.
izo verb Del verbo izar.
hojear verb
Mover o pasar ligeramente las
hojas de un libro o de un
cuaderno.
ojear verb Mirar a alguna parte.
losa sust
Piedra llana y de poco grueso,
casi siempre labrada, que sirve
para solar y otros usos.
loza sust
Barro fino, cocido y
barnizado, de que están
hechos platos, tazas.
rallar verb Desmenuzar algo
restregándolo con el rallador.
rayar verb Hacer o tirar rayas.
rallo sust, Verb Forma del verbo rallar.
Utensilio de rallar.
rayo sust, verb
Línea de luz que procede de
un cuerpo luminoso, y
especialmente las que vienen
del Sol.
rebosar verb
Dicho de una materia líquida:
Derramarse por encima de los
bordes del recipiente que la
contiene.
rebozar verb Bañar un alimento en huevo
batido, harina, miel, etc.
caso sust, verb Suceso, acontecimiento. //Del
verbo casar.
cazo sust, verb
Recipiente de cocina, de
metal, porcelana, etc.,// Del
verbo cazar.
asía verb Del verbo asir.
hacía verb Del verbo hacer.
sexo sust Condición orgánica.
seso sust Cerebro, sentido.
57
Palabra Categoría Significado a prep Preposición.
ha verb Verbo.
ah interj Interjección.
acerbo adj Que es áspero en el sabor y en
el olor.
acervo sust Conjunto de bienes o valores
morales o culturales.
agito verb Mover una cosa rápidamente
de un lado y otro.
ajito sust Bulbo de esta planta que se
emplea como condimento.
ala sust
Miembro de algunas aves e
insecto que le sirven para
volar.
hala verb Del verbo halar.
arrollo verb del verbo arrollar (atropellar)
arroyo sust Corriente pequeña de agua.
arte sust
Obra o actividad en la que se
muestra con ingenio un
aspecto de la realidad.
harte verb Saciar el apetito de comer o
beber.
asar verb
Hacer comestible un alimento
por la acción directa del fuego,
o la del aire caldeado, a veces
rociando aquel con grasa o
con algún líquido.
azar sust Casualidad, caso fortuito.
asta sust Palo o barra en la que se
coloca la bandera.
hasta prep Preposición.
aya
sust
Persona encargada en las casas
principales de custodiar niños
o jóvenes y de cuidar de su
crianza y educación.
halla
verb
Dar con alguien o con algo
que se busca.
haya sust, verb Árbol de la familia de las
Fagáceas.// Del Verbo haber.
bacilo sust Bacteria en forma de
bastoncillo.
vacilo verb Dicho de una cosa, moverse,
titubear, tomar el pelo.
bares sust Plural de bar.
58
Palabra Categoría Significado vares verb Del verbo varar.
basar verb Asentar algo sobre una base.
bazar sust
Tienda en que se venden
productos de varias industrias,
comúnmente a precio fijo.
baso verb Del verbo basar.
vaso sust Pieza cóncava para contener
alguna cosa.
basta sust, interj
Cada una de las puntadas o
ataduras que suele tener a
trechos el colchón de lana para
mantener esta en su lugar.//
Interjección.
vasta adj Dilatado, muy extendido o
muy grande.
basto Sust, verb
Cada uno de los naipes de este
palo en la baraja.// Del verbo
bastar
vasto adj Dilatado, muy extendido o
muy grande.
bello adj Que tiene belleza.
vello sust Pelo que sale en algunas
partes del cuerpo.
beses verb Forma del verbo besar.
veces sust Plural de vez.
cabo sust
Accidente geográfico. //
Mando militar del ejército. //
Extremo de una punta.
cavo verb Del verbo cavar.
callado adj, verb (part) Reservado, silenciado// part
del verbo callar.
cayado sust
Palo o bastón corvo por la
parte superior, especialmente
el de los pastores para prender
y retener las reses.
callo sust, verb
Dureza que por presión, roce y
a veces lesión se forma en
tejidos animales o
vegetales//Del verbo callar.
cayo sust
Cada una de las islas rasas,
arenosas, frecuentemente
anegadizas y cubiertas en gran
parte de mangle, muy
comunes en el mar de las
59
Palabra Categoría Significado Antillas y en el golfo
mexicano.
caso sust, verb Suceso, acontecimiento. //Del
verbo casar.
cazo sust, verb
Recipiente de cocina, de
metal, porcelana, etc.,// Del
verbo cazar.
cebo sust, verb
Comida que se da a los
animales para alimentarlos,
engordarlos o atraerlos.
sebo sust
Grasa sólida y dura que se
saca de los animales
herbívoros, y que, derretida,
sirve para hacer velas, jabones
y para otros usos.
ceda verb Del verbo ceder
seda sust, verb tela, tipo de hilo// Del verbo
sedar.
cede verb Del verbo ceder
sede sust, Verb
Lugar donde tiene su
domicilio una entidad
económica, literaria,
deportiva, etc.// Del verbo
sedar.
cenado verb (part) Participio del verbo cenar.
senado sust
Cuerpo colegislador formado
por personas elegidas o
designadas en virtud de su
cualificación, cargo, título, etc.
ciego sust, adj, verb Privado de la vista.// Del
verbo cegar.
siego verb Del verbo segar.
cierra verb Del verbo cerrar.
sierra sust, verb Herramienta// pez// Del verbo
serrar.
cita sust, verb
Reunión o encuentro entre dos
o más personas, previamente
acordado// Del verbo citar.
sita adj Situado o fundado.
consciente adj
Que siente, piensa, quiere y
obra con conocimiento de lo
que hace.
consiente verb Forma del verbo consentir.
contesto verb del verbo contestar.
60
Palabra Categoría Significado contexto sust Entorno físico o de situación.
desecho sust, verb Residuo, desperdicio o cosa
que se desecha.
deshecho adj, verb (part) Participio del verbo deshacer.
e conj Conjunción copulativa.
he verb Del verbo haber.
eh interj Interjección.
echa verb Forma del verbo echar.
hecha adj Semejante.
echo verb Forma del verbo echar.
hecho verb(part), sust, adj, interj Participio del verbo hacer.
encima adv Es una posición o parte
superior.
enzima sust
Proteína que cataliza
específicamente cada una de
las reacciones bioquímicas del
metabolismo.
estirpe sust Raíz y tronco de una familia o
linaje.
extirpe verb Forma del verbo extirpar.
grabe verb Forma del verbo grabar.
grave adj Enfermo de cuidado.
hierba sust Planta.
hierva verb Forma del verbo hervir.
hinca verbo Del verbo hincar.
inca sust, adj
Perteneciente o relativo a los
aborígenes, de la parte oeste
de america del sur.
hoces sust Plural de hoz.
oses verb Del verbo osar.
hola interj Interjección.
ola sust
Onda de gran amplitud que se
forma en la superficie de las
aguas.
honda adj, sust Que tiene profundidad.
onda sust
Cada una de las elevaciones
que se forman al perturbar la
superficie de un líquido.
hora sust
Tiempo que equivale a 60
minutos, es decir, 3600
segundos.
ora verb, conj Del verbo orar// Conjunción.
hulla sust Carbón de piedra que se
conglutina al arder y,
61
Palabra Categoría Significado calcinado en vasos cerrados,
da coque.
huya verb Del verbo huir.
huso sust Instrumento manual para hilar.
uso verb, sust Del verbo usar.
mallo verb Del verbo mallar.
mayo sust Mes.
malla sust, verb
Vestido de tejido de punto
muy fino que, ajustado al
cuerpo, usan en sus
actuaciones los artistas de
circo, bailarinas, etc.\\Del
verbo mallar.
maya adj, sust
Se dice del individuo de
cualquiera de las tribus indias
que hoy habitan
principalmente el Yucatán,
Guatemala y otras regiones
adyacentes.
masa sust, verb
Magnitud física que expresa la
cantidad de materia que
contiene un cuerpo. Del verbo
masar.
maza sust
Arma antigua de palo
guarnecido de hierro, o toda
de hierro, con la cabeza
gruesa.
o conj Conjunción.
oh interj Interjección.
ollera sust Fabricante o vendedor de ollas
y otros utensilios de barro.
oyera verb Forma del verbo oír.
paces sust Hacer la paz
pases sust, verb Plural de pase//del verbo
pasar.
poso verb Del verbo posar
pozo sust
Perforación que se hace en la
tierra para buscar una vena de
agua.
risa sust
Movimiento de la boca y otras
partes del rostro, que
demuestra alegría.
riza verb, adj Forma del verbo rizar.
sabia sust, adj Dicho de una persona que
62
Palabra Categoría Significado posee la sabiduría.
savia sust
Líquido que circula por los
vasos de las plantas
pteridofitas y fanerógamas y
del cual toman las células las
sustancias que necesitan para
su nutrición.
sumo adj, verb, sust
Forma del verbo sumar. // Arte
marcial de origen
japonés.//Máximo.
zumo sust
Líquido de las hierbas, flores,
frutas u otras cosas
semejantes, que se saca
exprimiéndolas o majándolas.
tasa sust, verb Relación entre dos
magnitudes.// Del verbo tasar
taza sust Vasija pequeña para tomar
líquidos.
testo verb Del verbo testar.
texto sust
Todo lo que se dice en el
cuerpo de un documento u
obra manuscrita o impresa.
tubo sust
Pieza hueca, de forma por lo
común cilíndrica y
generalmente abierta por
ambos extremos.
tuvo verb Del verbo tener.
verás verb Del verbo ver.
veraz adj Que dice, usa o profesa
siempre la verdad.
ves verb Del verbo ver.
vez sust Ocasión.
baya sust, adj Tipo de fruto carnoso con
semillas rodeadas de pulpa.
valla sust
Línea o término formado de
estacas hincadas en el suelo o
de tablas unidas, para cerrar
algún sitio o señalarlo.
vaya verb, interj, sust
del verbo ir// interj//Burla o
mofa que se hace de uno o
chasco que se le da.
bidente adj Que tiene dos dientes.
vidente adj, sust Que puede ver.
reciente adj Nuevo, fresco o acabado de
63
Palabra Categoría Significado hacer.
resiente verb Empezar a flaquear.
mesa sust Mueble.
meza verb Del verbo mecer.
seno sust Pecho.
ceno verb Del verbo cenar.
meses sust Plural de mes.
meces verb Del verbo mecer.
vota verb Del verbo votar.
bota verb, sust Del verbo botar//Calzado.
vote verb Del verbo votar
bote verb, sust Del verbo botar//Salto.
peces sust Plural de pez
peses verb Del verbo pesar.
reces verb Del verbo rezar.
reses sust Plural de res.
raza sust Casta o calidad del origen o
linaje.
rasa adj Llana, lisa.
roza verb Del verbo rozar.
rosa sust Flor.
extirpe verb Del verbo extirpar, arrancar de
cuajo.
estirpe sust Raíz, linaje.
64
Reglas fonéticas del español para el algoritmo Metaphone
Fonemas a tener en cuenta: B, CH, D, F, G, J, K, L, M, N, P, R, S, T, W, Y
C se transforma en S si CE o CI. De lo contrario se transforma en K
G se transforma en J si GE o GI.
LL se transforma en Y.
M se transforma en N si MB o MP.
Q se transforma en K si QA, QUE o QUI.
RR se transforma en R
V se transforma en B.
W se transforma en GU.
X se transforma en S si al inicio de palabra. De lo contrario X se transforma en KS
Z se transforma en S.
Y se transforma en I si no es seguida de vocal.
P se transforma en G si PT.
Si la palabra comienza con GN, PS, FT, MN, PT, TS se tiene en cuenta sólo la segunda letra.
Ejemplos: Gnoseología, psicoanálisis, ftálico, mnemotecnia, ptialismo, tsunami
Así:
GN se transforma en N
PS se transforma en S
FT se transforma en T
MN se transforma en N
PT se transforma en T
TS se transforma en S
Los restantes se eliminan.
65
Algoritmo Soundex
La primera letra de la palabra se mantiene y se cambian las restantes de la siguiente forma:
1 = B, P, F, V
2 = C, S, G, J, K, Q, X, Z
3 = D, T
4 = L
5 = M, N
6 = R
Las letras A, E, I, O, U, Y, H, y W son eliminadas.
Se codifica hasta que la longitud del índice sea como máximo 4.