Java - WorNet - 同义词检测(extjwnl 1.8)

时间:2015-07-10 04:32:15

标签: java wordnet synonym

我希望你能帮助我......

如何使用扩展的java word-net library

将单词的同义词转换为数组

等待您的宝贵回应......

1 个答案:

答案 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 pagedocumentation overview