5. A method for developing scalable n-gram language models where data is received in the form of training text which is stored in a memory module and divided into a series of n-grams, each n-gram comprising a series of "n" words and represented in a memory unit, the history of an n-gram being represented by the initial (n-1) words of the n-gram, comprising: (1) searching each memory location representing an n-gram to determine a first count for each of said n-grams, and storing said first count in a first count memory location; (2) comparing said first count of a given n-gram with a first predetermined memory location representing a first threshold value, if said first count of said given n-gram is greater than said first threshold value identify said first count of said given n-gram with a first class count memory location representing a count for a first class, said first class having said given n-gram as a member; (3) repeating step 2 for all n-grams; (4) searching all memory locations representing all of said n-grams which are not previously classified to determine a first complement count for each of one or more first putative classes, said one or more first putative classes being the classes that can possibly exist based upon the last (n-1) words of all of the n-grams not previously classified, each putative class having one or more of the not previously classified n-grams having the same last (n-1) words, said first complement count to be stored in a first complement count memory location; (5) comparing said first complement count of a given putative class of said one or more first putative classes with a value located in a second predetermined memory location representing a second threshold value, if said first complement count is greater than said second threshold value identify said first complement count with an additional class count memory location representing said first complement count for said given putative class, said given putative class is determined to be a class if the complement count of said given putative class is greater than said second threshold value; (6) repeating step (5) for all putative classes identified in step (4); (7) summing the values, in a processor, of the complement counts of all of the putative classes which have not been determined to be a class and storing the sum in a default constraint count memory location representing a default constraint class; (8) manipulating said values in said first count memory location, the complement count memory locations and said default constraint memory location representing said first counts, subsequent complement counts and said default constraint in said processor, and storing the value of the results of said manipulation in a set of factor memory locations representing a set of factors, each factor associated with a class, representing the relative strength of predicting a word given the previous (n-1) words, the value of each factor being approximately equal to the ratio of the sum of the counts of each n-gram associated with a given class over the sum of all (n-1)-grams which when followed by any another word would belong to the given class; and (9) manipulating said values of said factor memory locations, in said processor, the result representing a probability that a particular word will occur given that a specific n-1 words have previously occurred.
5. A method for developing scalable n-gram language models where data is received in the form of training text which is stored in a memory module and divided into a series of n-grams, each n-gram comprising a series of "n" words and represented in a memory unit, the history of an n-gram being represented by the initial (n-1) words of the n-gram, comprising: (1) searching each memory location representing an n-gram to determine a first count for each of said n-grams, and storing said first count in a first count memory location; (2) comparing said first count of a given n-gram with a first predetermined memory location representing a first threshold value, if said first count of said given n-gram is greater than said first threshold value identify said first count of said given n-gram with a first class count memory location representing a count for a first class, said first class having said given n-gram as a member; (3) repeating step 2 for all n-grams; (4) searching all memory locations representing all of said n-grams which are not previously classified to determine a first complement count for each of one or more first putative classes, said one or more first putative classes being the classes that can possibly exist based upon the last (n-1) words of all of the n-grams not previously classified, each putative class having one or more of the not previously classified n-grams having the same last (n-1) words, said first complement count to be stored in a first complement count memory location; (5) comparing said first complement count of a given putative class of said one or more first putative classes with a value located in a second predetermined memory location representing a second threshold value, if said first complement count is greater than said second threshold value identify said first complement count with an additional class count memory location representing said first complement count for said given putative class, said given putative class is determined to be a class if the complement count of said given putative class is greater than said second threshold value; (6) repeating step (5) for all putative classes identified in step (4); (7) summing the values, in a processor, of the complement counts of all of the putative classes which have not been determined to be a class and storing the sum in a default constraint count memory location representing a default constraint class; (8) manipulating said values in said first count memory location, the complement count memory locations and said default constraint memory location representing said first counts, subsequent complement counts and said default constraint in said processor, and storing the value of the results of said manipulation in a set of factor memory locations representing a set of factors, each factor associated with a class, representing the relative strength of predicting a word given the previous (n-1) words, the value of each factor being approximately equal to the ratio of the sum of the counts of each n-gram associated with a given class over the sum of all (n-1)-grams which when followed by any another word would belong to the given class; and (9) manipulating said values of said factor memory locations, in said processor, the result representing a probability that a particular word will occur given that a specific n-1 words have previously occurred. 15. The method of claim 5, further comprising the step of (10) following step (9) manipulating said values stored in said factor memory locations to update each of said factors.