Patent ID: 7617089

Claim:
A computer-readable storage medium having computer-executable instructions for performing steps comprising: forming a plurality of Finite State transducers by forming a Finite State Transducer for each of a plurality of orthography rules, each orthography rule comprising an operator, a core providing a mapping from a surface form character to a lexical form character, a left context providing a mapping of a surface form character to the left of the surface form character of the core to a lexical form character to the left of the lexical form character of the core, and a right context providing a mapping of a surface form character to the right of the surface form character of the core to a lexical form character to the right of the lexical form character of the core, by performing for each orthography rule steps comprising: identifying the operator in the orthography rule, the operator being one of a group of operators comprising may occur, must occur, must occur if a surface form character is found and must not occur; selecting a template based on the operator, wherein the template for the may occur operator provides a path to an accepting state that generates a success value when any surface form character is encountered between the surface form character of the left context and the surface form character of the right context and wherein the template for the must occur operator provides a path to an accepting state that generates a success value when a character between the surface form character of the left context and the surface form character of the right context is encountered only when the character encountered between the surface form character of the left context and the surface form character of the right context is the surface form character of the core; and inserting elements of the orthography rule into the template to form a Finite State transducer; combining at least two of the Finite State Transducers to form a combined Finite State Transducer; converting the combined Finite State Transducer into an executable Finite State Transducer; and applying a sequence of characters in a surface form to the executable Finite State Transducer to produce a lexical form of the sequence of characters.