Python 在wordnet中为所有孙子孙女获取祖父母的全名
我想为一个单词创建一组备选单词。另一个词必须有适当的不同,所以用“dalmatian”代替“dog”太相似了——我想用“cat”代替“dog”。虽然不是绝对正确的,但我想我可以通过获取一个单词的超音词和该超音词的十个超音词(即祖父母的超音词集)并最终获取该祖父母的所有孙辈的单词来做到这一点 希望这是有道理的。在伪代码中,它应该是Python 在wordnet中为所有孙子孙女获取祖父母的全名,python,nltk,wordnet,Python,Nltk,Wordnet,我想为一个单词创建一组备选单词。另一个词必须有适当的不同,所以用“dalmatian”代替“dog”太相似了——我想用“cat”代替“dog”。虽然不是绝对正确的,但我想我可以通过获取一个单词的超音词和该超音词的十个超音词(即祖父母的超音词集)并最终获取该祖父母的所有孙辈的单词来做到这一点 希望这是有道理的。在伪代码中,它应该是 for each i as hypernym (synset) for each j as i.hypernym get all the h
for each i as hypernym (synset)
for each j as i.hypernym
get all the holonyms for j as s
for each s get all the holonyms as x
print x
这可行吗?您可以使用以太列表或字典来实现这一点(字典更像python)。 例如,对于字典,您有如下内容:
dictionnary={"dog": {"dalmatian","stuff"}, "singer": {"rihanna","eminem"}, "country": {"United states","England"}}
print(dictionnary['dog'])
[out]:
set([u'black_hickory', u'black_walnut', u'Juglans_nigra', u'black_walnut_tree'])
set([u'battlefield', u'fair', u'infield', u'field_of_honor', u'field_of_battle', u'battleground', u'city', u'bowl', u'field', u'stadium', u'funfair', u'outfield', u'diamond', u'urban_area', u'populated_area', u'desert', u'arena', u'carnival', u'baseball_diamond', u'sports_stadium', u'ball_field', u'baseball_field'])
请注意wordnet的库存是有限的。特别是当你在寻找相距甚远的概念/引理关系时(即从synset的祖父到synset的全名)OK。我想我没有正确地解释我自己。我想从wordnet语料库中做这件事,所以我想从这个语料库中得到替代词。这可行吗?
set([u'black_hickory', u'black_walnut', u'Juglans_nigra', u'black_walnut_tree'])
set([u'battlefield', u'fair', u'infield', u'field_of_honor', u'field_of_battle', u'battleground', u'city', u'bowl', u'field', u'stadium', u'funfair', u'outfield', u'diamond', u'urban_area', u'populated_area', u'desert', u'arena', u'carnival', u'baseball_diamond', u'sports_stadium', u'ball_field', u'baseball_field'])