Abstract:
En este trabajo se presenta un sistema computarizado para
detectar y corregir los errores de ortografía que aparecen en
textos. El sistema se implementó en una computadora
Hewlett-Packard 3000, utilizando el lenguaje de programación
PASCAL.
El proceso se divide en dos etapas:
Detección de un error
El texto que se está revisando debe tener un máximo de
ochenta caracteres por línea y debe estar almacenado en
código ASCII. Cada palabra en el texto se busca en una lista
de palabras frecuentemente usadas y luego en un diccionario.
Si no aparece en ninguna de las dos, la palabra se toma como
mal escrita.
Corrección del error
A la palabra incorrecta se le aplican cuatro reglas, a manera
de formar nuevas palabras que se espera estén en, el
diccionario. Se pueden obtener cualquiera de dos resultados
siguientes: ninguna palabra nueva aparece en el diccionario
(la corrección es nula), una de las palabras nuevas sí
aparece (y se supone que es la correcta), varias palabras
aparecen en el diccionario (el usuario escoge cuál es la
correcta).
El diccionario de palabras se implementó en una
estructura llamada "trie", similar a la de un árbol. Al
buscar una palabra, se recorre el "trie" desde la raíz (o sea
la primera letra de la palabra) hasta llegar a una hoja (la
última letra de la palabra). Si una palabra no está
almacenada en el "trie", su búsqueda se interrumpe en un
nivel N que corresponde a la N-ésima letra de la palabra. Es
en esta letra donde se aplican las reglas siguientes:
1. transposición de las letras en las posiciones N y N+1
2. se sustituye la letra por las otras del alfabeto
3. se elimina la letra
4. se insertan, una a la vez, todas las letras del
alfabeto
En teoría se pueden crear 2*N+1 (o sea 1+(N-1)+1+N) palabras
nuevas usando un alfabeto de N letras. Cada una de estas
palabras se busca en el diccionario.
Para que el lector tenga un conocimiento básico sobre el
problema, también se presenta un historial de los estudios
realizados y las soluciones planteadas. RR