1. A computer-implemented method for generating phrases, the method comprising: receiving one or more words annotated with grammatical information, wherein the annotated words are organized into groups based on meanings of the annotated words; generating phrases using combinations of the annotated words based on the grammatical information, phrase formation rules, and the groups; and storing the generated phrases in a memory.