1. 上、下位词集
from nltk.corpus import wordnet as wn
word = wn.synsets("word") # 同义词集
print("根上位词集:", word[0].root_hypernyms())
print("上位词集路径:", word[0].hypernym_paths())
print("上位词集:", word[0].hypernyms())
print("下位词集:", word[0].hyponyms())
输出:
根上位词集: [Synset('entity.n.01')]
上位词集路径: [[Synset('entity.n.01'), Synset('abstraction.n.06'), Synset('relation.n.01'), Synset('part.n.01'), Synset('language_unit.n.01'), Synset('word.n.01')]]
上位词集: [Synset('language_unit.n.01')]
下位词集: [Synset('anagram.n.01'), Synset('anaphor.n.01'), Synset('antonym.n.01'), Synset('back-formation.n.01'), Synset('charade.n.02'), Synset('classifier.n.02'), Synset('cognate.n.02'), Synset('content_word.n.01'), Synset('contraction.n.03'), Synset('deictic.n.01'), Synset('derivative.n.04'), Synset('diminutive.n.01'), Synset('dirty_word.n.02'), Synset('disyllable.n.01'), Synset('form.n.01'), Synset('four-letter_word.n.01'), Synset('function_word.n.01'), Synset('guide_word.n.01'), Synset('head.n.09'), Synset('headword.n.02'), Synset('heteronym.n.01'), Synset('holonym.n.01'), Synset('homonym.n.01'), Synset('hypernym.n.01'), Synset('hyponym.n.01'), Synset('key_word.n.02'), Synset('loanblend.n.01'), Synset('loanword.n.01'), Synset('meronym.n.01'), Synset('metonym.n.01'), Synset('monosyllable.n.01'), Synset('neologism.n.01'), Synset('nonce_word.n.01'), Synset('oxytone.n.01'), Synset('palindrome.n.01'), Synset('paroxytone.n.01'), Synset('partitive.n.01'), Synset('polysemant.n.01'), Synset('polysyllable.n.01'), Synset('primitive.n.03'), Synset('proparoxytone.n.01'), Synset('quantifier.n.01'), Synset('quantifier.n.02'), Synset('reduplication.n.03'), Synset('retronym.n.01'), Synset('substantive.n.01'), Synset('syncategorem.n.01'), Synset('synonym.n.01'), Synset('term.n.01'), Synset('terminology.n.01'), Synset('trisyllable.n.01'), Synset('troponym.n.01'), Synset('vocable.n.01'), Synset('written_word.n.01')]
2. 包含关系
tree = wn.synsets("tree")
print("部件:", tree[0].part_meronyms())
print("集合:", tree[0].member_holonyms())
print("实质:", tree[0].substance_meronyms())
print("蕴含关系:")
print(wn.synsets('meet')[10].entailments())
输出内容:
部件: [Synset('burl.n.02'), Synset('crown.n.07'), Synset('limb.n.02'), Synset('stump.n.01'), Synset('trunk.n.01')]
集合: [Synset('forest.n.01')]
实质: [Synset('heartwood.n.01'), Synset('sapwood.n.01')]
蕴含关系:
[Synset('compete.v.01')]