检索与一个WordNet相关的所有单词



我想用WordNet 获取所有与"食物"相关的单词

import nltk
from nltk.corpus import wordnet as wn
food = wn.synsets('food')
for synset in food:
   for lemma in synset.lemmas():
       print lemma.name()

有了这个代码,我得到了这个:

food
nutrient
food
solid_food
food
food_for_thought
intellectual_nourishment

我想要实现的是类似的东西

食物
->solid_food
->liquid_fod
->powder_fod

还有一些递归地进行的东西,比如
solid_food
->蔬菜
->肉

简言之,我试图从一个词来访问Wordnet的层次结构:"食物"
我该怎么做,知道吗?

您可以按照从一般术语到特定术语的关系Hyponymy来探索层次结构:

同义词显示了更通用的术语之间的关系(上义词)及其更具体的实例(下义词)。

参考

>>>  food[1].hyponyms()
[Synset('fish.n.02'), Synset('slop.n.04'), Synset('coconut.n.01'), 
Synset('baked_goods.n.01'), Synset('yogurt.n.01'), Synset('breakfast_food.n.01'), Synset('seafood.n.01'), Synset('cheese.n.01'), Synset('pasta.n.02'), Synset('meat.n.01'), Synset('leftovers.n.01'), Synset('butter.n.01'), Synset('produce.n.01'), Synset('convenience_food.n.01'), Synset('fresh_food.n.01'), Synset('junk_food.n.01'), Synset('dika_bread.n.01'), Synset('loaf.n.02'), Synset('chocolate.n.02'), Synset('health_food.n.01')]

也要继续使用同义词。

最新更新