kpc00@ccc.amdahl.com (Kimball P Collins) (06/30/90)
I am thinking of writing a command for emacs that will cycle through the grammatical variants of a word. It would be similar to emacs' M-/ (dabbrev-expand) command, except that instead of finding possible completions from previous text, the command finds different tenses, different parts of speech, and so on, from linguistic rules. This is useful when one decides to change the semantics of a sentence. For example, for verbs, we might have initialized --> initializing --> initialize; for nouns and modifiers, we might have initial --> initially --> initialization --> initializer. There are of course many possibilities, including the ability to change a whole sentence structure. One or two keystrokes can suffice to put the sentence into a different tense, a different mood, etc. What do you think of this? Would you want me to post it? Does anybody have algorithms for getting the stem of a word and for adding suffixes? Any references? (I suppose spell(1) would be one option, but the NLP community might have something stronger to offer? Maybe even in LISP?)