【发布时间】:2015-07-10 04:32:15
【问题描述】:
希望你能帮帮我……
如何使用扩展的 java word-net 库将单词的同义词放入数组中
等待您的宝贵回复...
【问题讨论】:
希望你能帮帮我……
如何使用扩展的 java word-net 库将单词的同义词放入数组中
等待您的宝贵回复...
【问题讨论】:
查看 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 via
String currentSynonym = nounSynset.getWordForms()[0];
有关详细信息,请参阅 Java API for WordNet main page 和 documentation overview
【讨论】: