查找单词的类别

时间:2014-06-13 00:14:42

标签: nlp

我想为单词找到更大的类别。例如

蓝色 - >颜色

cat - >动物

幸福 - >情感

最简单的方法是什么?

我查看了Wordnet演示:http://wordnetweb.princeton.edu/perl/webwn?c=8&sub=Change&o2=&o0=1&o8=1&o1=1&o7=&o5=&o9=&o6=&o3=&o4=&i=-1&h=0000000000000000&s=blue

但我并不确切知道Wordnet中的哪个字段可以帮助我做到这一点。有任何想法吗?

2 个答案:

答案 0 :(得分:1)

知道了! 在页面: http://wordnetweb.princeton.edu/perl/webwn?o2=&o0=1&o8=1&o1=1&o7=&o5=&o9=&o6=&o3=&o4=&r=1&s=blue&i=2&h=1000000000000000000#c

我只需点击" 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')]