我想为单词找到更大的类别。例如
蓝色 - >颜色
cat - >动物
幸福 - >情感
最简单的方法是什么?
但我并不确切知道Wordnet中的哪个字段可以帮助我做到这一点。有任何想法吗?
答案 0 :(得分:1)
我只需点击" S"然后"指导hypernym"。
答案 1 :(得分:1)
除非你能更具体地定义,否则我认为没有明确的方式来获得你需要的东西。例如:
>>> from nltk.corpus import wordnet as wn
>>> blue = wn.synsets('blue')[0]
>>> cat = wn.synsets('cat')[0]
>>> blue.definition()
u'blue color or pigment; resembling the color of the clear sky in the daytime'
>>> cat.definition()
u'feline mammal usually having thick soft fur and no ability to roar: domestic cats; wildcats'
有时候,你很幸运,并且上升了一两级上位词:
>>> blue.hypernyms()
[Synset('chromatic_color.n.01')]
>>> blue.hypernyms()[0].hypernyms()
[Synset('color.n.01')]
有时候,你必须通过多种语言来提升你想要的东西。
>>> cat.hypernyms()
[Synset('feline.n.01')]
>>> cat.hypernyms()[0].hypernyms()
[Synset('carnivore.n.01')]
>>> cat.hypernyms()[0].hypernyms()[0].hypernyms()
[Synset('placental.n.01')]
>>> cat.hypernyms()[0].hypernyms()[0].hypernyms()[0].hypernyms()
[Synset('mammal.n.01')]
>>> cat.hypernyms()[0].hypernyms()[0].hypernyms()[0].hypernyms()[0].hypernyms()
[Synset('vertebrate.n.01')]
>>> cat.hypernyms()[0].hypernyms()[0].hypernyms()[0].hypernyms()[0].hypernyms()[0].hypernyms()
[Synset('chordate.n.01')]
>>> cat.hypernyms()[0].hypernyms()[0].hypernyms()[0].hypernyms()[0].hypernyms()[0].hypernyms()[0].hypernyms()
[Synset('animal.n.01')]
并且达到最高级别的hypernym水平没有多大意义:
>>> blue.root_hypernyms()
[Synset('entity.n.01')]
>>> cat.root_hypernyms()
[Synset('entity.n.01')]
有时候你没有上位词:
>>> happy = wn.synsets('happy')[0]
>>> happy.definition()
u'enjoying or showing or marked by joy or pleasure'
>>> happy.hypernyms()
[]
>>> happy.root_hypernyms()
[Synset('happy.a.01')]