1. A method for storing a word in a database in a computer system, the computer system including a user input device, a storage device and a processor, wherein the database is stored in the storage device and includes a model word represented as a first path within the database, wherein a path includes states joined by arcs, wherein each arc is associated with upper and lower symbols, wherein each symbol may be a letter, tag or null, the first path thereby defining an upper sequence of ordered upper symbols and a lower sequence of ordered lower symbols, wherein the upper sequence defines a lexical form of the model word and the lower sequence defines a surface form of the model word, the method comprising the steps of: (a) accepting signals from the user input device to specify a new word as one or more new symbols to be added to the database; (b) using the processor to identify at least one arc in the first path, wherein a symbol associated with the identified arc matches a new symbol in the new word; and (c) using the processor to add states and arcs to the database to represent the new word as a new path, wherein the new path includes the identified arc.