为了找到一个词的同义词,我有下面的代码。以下源代码存在一个问题;由于来自用户的词,我不知道它的 POS 类型。因此,如果我不知道它的 POS 类型,我如何找到一个单词的 IIndexWord?
IIndexWord idxWord = dict . getIndexWord ("dog", POS. NOUN );
IWordID wordID = idxWord . getWordIDs ().get (0) ; // 1st meaning
IWord word = dict . getWord ( wordID );
ISynset synset = word . getSynset ();
for( IWord w : synset . getWords ())
System .out . println (w. getLemma ());
我的方法的签名看起来像;
void synonym(Strng word)
我将使用字符串类型的单词代替“狗”单词,但是在运行时,我不知道它的 POS 类型。
我有第二个问题,在得到一个单词的同义词之前,我想检查它是否是英文单词,但是 JWI 没有像 isEnglish() 或 isInDictionary() 这样的方法。如何检查一个单词是否是英语,以避免寻找非英语单词的同义词?(最终,提高性能)