我希望你能帮助我......
如何使用扩展的java word-net library
将单词的同义词转换为数组等待您的宝贵回应......
答案 0 :(得分:1)
查看API后,WordNet中的同义词似乎被称为Synsets。
假设您已经调用了System.setProperty("wordnet.database.dir", "<location_to_WordNet_database>/dict")
,您可以像这样声明和初始化WordNetDatabase:
WordNetDatabase database = WordNetDatabase.getFileInstance();
然后声明并初始化一个Synset数组:
Synset[] synsets = database.getSynsets("your word", SynsetType.<WORDTYPE>/*like NOUN, or VERB*/);
我假设设置SynsetType.NOUN
作为第二个参数会创建一个仅为名词的同义词数组。
然后,您可以声明一个Synset,它与您刚刚初始化的synset数组相对应(例如,如果您调用database.getSynsets("your word", SynsetType.NOUN)
,则可以执行此操作):
NounSynset nounSynset;
最后你可以在for循环中迭代你的synsets
数组,设置
nounSynset = (NounSynset) synsets[i];
并通过
将其主要单词表单分配给String
String currentSynonym = nounSynset.getWordForms()[0];
有关详细信息,请参阅Java API for WordNet main page和documentation overview