WordNet —Python API
WordNet是面向语义的英语词典,类似于传统字典。
WordNet的层次化结构为:
- Synset (同义词集)
- Lemma (词条)
- Word (单词)
- Lemma (词条)
一个synset(同义词集:指意义相同的词条的集合)被一个三元组描述:(单词.词性.序号)。这里的’dog.n.01’指:dog的第一个名词意思;’chase.v.01’指:chase的第一个动词意思。
- 返回同义词集Synset的函数方法
函数方法 | 描述说明 |
---|---|
wn.synsets(word) | 查询一个词所在的所有词集 |
wn.synset(‘apple.n.01’).definition() | 查询一个同义词集的定义 |
wn.synset(‘dog.n.01’).examples() | 查询一个同义词集的例子 |
wn.synsets(‘beau’, pos = wn.NOUN) | 查询某词语的相同词性的同义词集合 |
wn.synset(‘dog.n.01’).hypernyms() | 查询某同义词集的上位词集合 |
wn.synset(‘dog.n.01’).hyponyms() | 查询某同义词集的下位词集合 |
wn.synset(‘dog.n.01’).member_holonyms() | 查询单词含义的部分/整体含义词 |
wn.lemma(‘dog.n.01.dog’).synset() | 查询词条所属的同义词集 |
- 返回词条的函数方法
函数方法 | 描述说明 |
---|---|
wn.synset(‘dog.n.01’).lemmas() | 查询一个同义词集的所有词条(lemma) |
- 返回单词的函数方法
函数方法 | 描述说明 |
---|---|
wn.synset(‘dog.n.01’).lemma_names() | 查询一个同义词集中的所有词 |
wn.lemma(‘dog.n.01.dog’).name() | 查询某词条中对应的单词 |
Synset (同义词集)
在代码中引入WordNet包
from nltk.corpus import wordnet as wn
查询一个词所在的所有词集
synsets = wn.synsets('published')
print(synsets)
[Synset('print.v.01'), Synset('publish.v.02'), Synset('publish.v.03'), Synset('published.a.01'), Synset('promulgated.s.01')]
查询一个同义词集的定义
definition = wn.synset('apple.n.01').definition()
print(definition)
fruit with red or yellow or green skin and sweet to tart crisp whitish flesh
查询一个同义词集的例子
examples = wn.synset('dog.n.01').examples(