loadWordNet
String path = "C:\\Program Files (x86)\\WordNet\\2.1\\dict";
System.setProperty("wordnet.database.dir", path);
WordNetDatabase database = WordNetDatabase.getFileInstance();
Synset 同义词集
一个或多个单词和短语(“搭配”)的集合,统称为“word forms 单词形式”,它们都可以共享相同的含义。一个单词在不同的上下文中可能具有非常不同的含义,甚至有可能将单个单词有不同词性(名词,动词等)。
除了与之相关的字词形式外,同义词集通常还包括基于特征的一系列关系,例如反义词,下义词、上位词(子类型/父类型,例如,“计算机”是“机器”的子类型)。
另外,定义了两种不同类型的关系,特别是语义和词汇关系。语义关系是存在于两个同义词集之间的一种语义关系,假定该语义关系适用于同义词集内的所有单词形式。相反,在两个单独的同义词集中的两个特定单词形式之间存在词法关系。
同义词集还包括一个简短定义,通常提供一个或多个示例说明如何使用同义词集中的单词形式。
在wordnet中查找单词通常返回单词的同义词集
Synset[] synset = database.getSynsets(w);
// 指定同义词集词性
Synset[] synset = database.getSynsets(w,SynsetType.NOUN);
getAntonyms
返回反义词
该同义词集中与此单词相反的反义词
WordSense[] senses = synset[i].getAntonyms(w);
getType
返回词性
synset[0].getType() == SynsetType.NOUN
getDerivationallyRelatedForms
派生词
WordSense[] senses = synset[i].getDerivationallyRelatedForms(w);
getDefinition
String definition = synset[i].getDefinition()
NounSynset
名词同义词集
NounSynset nounSynset = (NounSynset)(synsets[i]);
getHypernyms
返回直接上位词
getHyponyms
NounSynset[] hyponyms = nounSynset.getHyponyms();
getBaseFormCandidates
返回单词词根(词根可能存在于wordnet中)
可用于复数转换成单数
String[] basewords = database.getBaseFormCandidates(w, SynsetType.NOUN);