2015-07-10 69 views

回答

1

看过API之后,似乎WordNet中的同义词被称为Synsets。

假设你已经呼吁System.setProperty("wordnet.database.dir", "<location_to_WordNet_database>/dict"),你可以声明和initalize一个WordNetDatabase像这样:

WordNetDatabase database = WordNetDatabase.getFileInstance(); 

然后声明并初始化一个同义词集阵列:

Synset[] synsets = database.getSynsets("your word", SynsetType.<WORDTYPE>/*like NOUN, or VERB*/); 

我假设的设定SynsetType.NOUN作为第二个参数将创建一个只是名词的同义词数组。

然后,您可以宣布一个同义词集对应于您刚才initalized的同义词集阵列(例如,如果你叫database.getSynsets("your word", SynsetType.NOUN),你可以这样做):

NounSynset nounSynset; 

最后你可以通过你的synsets迭代阵列中的for循环中,设置

nounSynset = (NounSynset) synsets[i]; 

,并分配其主字形式向String经由

String currentSynonym = nounSynset.getWordForms()[0]; 

欲了解更多信息,请参阅Java API for WordNet main pagedocumentation overview