Python Text Processing 简明教程

Python - WordNet Interface

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

All Lemmas

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']

Word Definition

可以通过使用 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

Usage Examples

我们可以使用 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?"]

Opposite Words

通过使用 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')]