2015-07-10 75 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