9. A computer program product, encoded on a tangible program carrier, operable to cause a data processing apparatus to perform operations comprising: receiving text; segmenting the text into one or more unigrams; filtering the one or more unigrams to identify one or more core unigrams; and generating a searchable data structure, wherein the generating includes, for each specific unigram of the one or more core unigrams: identifying a stem of the specific unigram, indexing the stem, obtaining (i) grammar information for the specific unigram, (ii) language information for the specific unigram, and (iii) description information for the specific unigram, and associating one or more n-grams with the indexed stem, wherein each of the one or more n-grams is derived from the text, the grammar information for the specific unigram, the language information for the specific unigram, and the description information for the specific unigram, and wherein each of the one or more n-grams includes a core unigram that is related to the indexed stem.
9. A computer program product, encoded on a tangible program carrier, operable to cause a data processing apparatus to perform operations comprising: receiving text; segmenting the text into one or more unigrams; filtering the one or more unigrams to identify one or more core unigrams; and generating a searchable data structure, wherein the generating includes, for each specific unigram of the one or more core unigrams: identifying a stem of the specific unigram, indexing the stem, obtaining (i) grammar information for the specific unigram, (ii) language information for the specific unigram, and (iii) description information for the specific unigram, and associating one or more n-grams with the indexed stem, wherein each of the one or more n-grams is derived from the text, the grammar information for the specific unigram, the language information for the specific unigram, and the description information for the specific unigram, and wherein each of the one or more n-grams includes a core unigram that is related to the indexed stem. 12. The computer program product of claim 9 , wherein the searchable data structure includes first and second distinct data structures, wherein the first data structure includes, for each specific unigram of the one or more core unigrams, (i) the grammar information for the specific unigram, (ii) the language information for the specific unigram, and (iii) the description information for the specific unigram, wherein the second data structure includes the indexes for the stems of the one or more core unigrams and is used as an index for the first data structure.