Python - WordNet 接口



WordNet 是一个英语词典,类似于传统的同义词词典。NLTK 包含英语 WordNet。我们可以将其用作获取单词含义、用法示例和定义的参考。一组类似的单词称为词义项。WordNet 中的单词被组织成节点和边,其中节点表示单词文本,边表示单词之间的关系。下面我们将看到如何使用 WordNet 模块。

所有词义项

from nltk.corpus import wordnet as wn
res=wn.synset('locomotive.n.01').lemma_names()
print res

当我们运行上述程序时,我们得到以下输出:

[u'locomotive', u'engine', u'locomotive_engine', u'railway_locomotive']

单词定义

可以使用 definition 函数获取单词的字典定义。它描述了单词的含义,就像我们在普通词典中找到的那样。

from nltk.corpus import wordnet as wn
resdef = wn.synset('ocean.n.01').definition()
print resdef

当我们运行上述程序时,我们得到以下输出:

a large body of water constituting a principal part of the hydrosphere

用法示例

我们可以使用exmaples()函数获取显示单词的一些用法示例的示例句子。

from nltk.corpus import wordnet as wn
res_exm = wn.synset('good.n.01').examples()
print res_exm

当我们运行上述程序时,我们得到以下输出:

['for your own good', "what's the good of worrying?"]

反义词

使用 antonym 函数获取所有反义词。

from nltk.corpus import wordnet as wn
# get all the antonyms
res_a = wn.lemma('horizontal.a.01.horizontal').antonyms()
print res_a

当我们运行上述程序时,我们得到以下输出:

[Lemma('inclined.a.02.inclined'), Lemma('vertical.a.01.vertical')]
广告