A system of correcting misspelled words in input text detects a misspelled
word in the input text, determines a list of alternative words for the
misspelled word, and ranks the list of alternative words based on a
context of the input text. The system then selects one of the alternative
words from the list, and replaces the misspelled word in the text with the
selected one of the alternative words.
In certain embodiments of the invention finite state machines are utilized
in the spelling and grammar correction process. Thus according to certain
embodiments the invention stores one or more lexicon finite state machines
(FSM), each of which represents a set of correctly spelled reference
words. Storing the lexicon as one or more finite state machines
facilitates those embodiments of the invention employing a client-server
architecture. The input text to be corrected may also be encoded as a
finite state machine, which includes alternative word(s) for word(s) in
need of correction along with associated weights. The weights are
determined by a process that involves assessing the number and type of
changes that would be required in order to transform an incorrect word,
e.g., a misspelled word, into a correct word. The invention adjusts the
weights by taking into account the grammatical context in which the word
appears in the input text. In certain embodiments of the invention the
modification is performed by applying a second finite state machine to the
finite state machine that was generated for the input text, where the
second finite state machine encodes a grammatically correct sequence of
words, thereby generating an additional finite state machine.
Un sistema de corregir palabras deletreadas mal en texto de entrada detecta una palabra deletreada mal en el texto de entrada, determina una lista de las palabras alternativas para la palabra deletreada mal, y alinea la lista de las palabras alternativas basadas en un contexto del texto de entrada. El sistema entonces selecciona una de las palabras alternativas de la lista, y substituye la palabra deletreada mal en el texto por seleccionada de las palabras alternativas. En ciertas encarnaciones de la invención los autómatas finito se utilizan en el proceso de la corrección del deletreo y de la gramática. Así según ciertas encarnaciones la invención almacena unos o más autómatas finito del léxico (FSM), cada uno de los cuales representa un sistema de referencia correctamente deletreada redacta. Almacenar el léxico como unos o más autómatas finito facilita esas encarnaciones de la invención que emplea una arquitectura del servidor de cliente. El texto de entrada que se corregirá se puede también codificar como autómata finito, que incluye las palabras alternativas para las palabras en la necesidad de la corrección junto con pesos asociados. Los pesos son determinados por un proceso que implique el determinar del número y del tipo de cambios que serían requeridos para transformar una palabra incorrecta, e.g., una palabra deletreada mal, en una palabra correcta. La invención ajusta los pesos considerando el contexto gramatical en el cual la palabra aparece en el texto de entrada. En ciertas encarnaciones de la invención la modificación es realizada aplicando un segundo autómata finito al autómata finito que fue generado para el texto de entrada, donde el segundo autómata finito codifica una secuencia gramatical correcta de palabras, de tal modo generando un autómata finito adicional.