métodos para la corrección ortográfica automática del español

71
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

Upload: hoangkhue

Post on 06-Jan-2017

258 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Métodos para la corrección ortográfica automática del español

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

Page 2: Métodos para la corrección ortográfica automática del español

A mis 3 familias

Page 3: Métodos para la corrección ortográfica automática del español

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.

Page 4: Métodos para la corrección ortográfica automática del español

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.

Page 5: Métodos para la corrección ortográfica automática del español

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.

Page 6: Métodos para la corrección ortográfica automática del español

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

Page 7: Métodos para la corrección ortográfica automática del español

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.

Page 8: Métodos para la corrección ortográfica automática del español

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.

Page 9: Métodos para la corrección ortográfica automática del español

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.

Page 10: Métodos para la corrección ortográfica automática del español

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)

Page 11: Métodos para la corrección ortográfica automática del español

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

Page 12: Métodos para la corrección ortográfica automática del español

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.”

Page 13: Métodos para la corrección ortográfica automática del español

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

Page 14: Métodos para la corrección ortográfica automática del español

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

Page 15: Métodos para la corrección ortográfica automática del español

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.

Page 16: Métodos para la corrección ortográfica automática del español

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.

Page 17: Métodos para la corrección ortográfica automática del español

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

Page 18: Métodos para la corrección ortográfica automática del español

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.

Page 19: Métodos para la corrección ortográfica automática del español

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

Page 20: Métodos para la corrección ortográfica automática del español

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

Page 21: Métodos para la corrección ortográfica automática del español

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.

Page 22: Métodos para la corrección ortográfica automática del español

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

Page 23: Métodos para la corrección ortográfica automática del español

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

Page 24: Métodos para la corrección ortográfica automática del español

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.

Page 25: Métodos para la corrección ortográfica automática del español

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

Page 26: Métodos para la corrección ortográfica automática del español

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.

Page 27: Métodos para la corrección ortográfica automática del español

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.

Page 28: Métodos para la corrección ortográfica automática del español

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.

Page 29: Métodos para la corrección ortográfica automática del español

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

Page 30: Métodos para la corrección ortográfica automática del español

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

Page 31: Métodos para la corrección ortográfica automática del español

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

Page 32: Métodos para la corrección ortográfica automática del español

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

Page 33: Métodos para la corrección ortográfica automática del español

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

Page 34: Métodos para la corrección ortográfica automática del español

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

Page 35: Métodos para la corrección ortográfica automática del español

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.

Page 36: Métodos para la corrección ortográfica automática del español

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

Page 37: Métodos para la corrección ortográfica automática del español

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

Page 38: Métodos para la corrección ortográfica automática del español

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.

Page 39: Métodos para la corrección ortográfica automática del español

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 - -

Page 40: Métodos para la corrección ortográfica automática del español

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”

Page 41: Métodos para la corrección ortográfica automática del español

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

Page 42: Métodos para la corrección ortográfica automática del español

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

Page 43: Métodos para la corrección ortográfica automática del español

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.

Page 44: Métodos para la corrección ortográfica automática del español

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

Page 45: Métodos para la corrección ortográfica automática del español

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:

Page 46: Métodos para la corrección ortográfica automática del español

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.

Page 47: Métodos para la corrección ortográfica automática del español

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

Page 48: Métodos para la corrección ortográfica automática del español

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”.

Page 49: Métodos para la corrección ortográfica automática del español

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

Page 50: Métodos para la corrección ortográfica automática del español

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.

Page 51: Métodos para la corrección ortográfica automática del español

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

Page 52: Métodos para la corrección ortográfica automática del español

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.

Page 53: Métodos para la corrección ortográfica automática del español

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

Page 54: Métodos para la corrección ortográfica automática del español

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.

Page 55: Métodos para la corrección ortográfica automática del español

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.

Page 56: Métodos para la corrección ortográfica automática del español

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.

Page 57: Métodos para la corrección ortográfica automática del español

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.

Page 58: Métodos para la corrección ortográfica automática del español

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.

Page 59: Métodos para la corrección ortográfica automática del español

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.

Page 60: Métodos para la corrección ortográfica automática del español

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.

Page 61: Métodos para la corrección ortográfica automática del español

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

Page 62: Métodos para la corrección ortográfica automática del español

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.

Page 63: Métodos para la corrección ortográfica automática del español

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.

Page 64: Métodos para la corrección ortográfica automática del español

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

Page 65: Métodos para la corrección ortográfica automática del español

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.

Page 66: Métodos para la corrección ortográfica automática del español

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,

Page 67: Métodos para la corrección ortográfica automática del español

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

Page 68: Métodos para la corrección ortográfica automática del español

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

Page 69: Métodos para la corrección ortográfica automática del español

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.

Page 70: Métodos para la corrección ortográfica automática del español

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.

Page 71: Métodos para la corrección ortográfica automática del español

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.