首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同的Nltk,需要wordnet hypernym输出

不同的Nltk,需要wordnet hypernym输出
EN

Stack Overflow用户
提问于 2017-06-16 09:29:03
回答 1查看 552关注 0票数 3

当我试图打印上位词时,我只想要这个单词,而不是关于这个单词的所有信息。

代码语言:javascript
复制
pp = wn.synset('grow.v.01')
pp1= pp.hypernyms()
print pp1

我的输出是Synset('change.v.02')。我只想要“改变”。我需要做什么改变?对不起,我是wordnet的新手。

EN

回答 1

Stack Overflow用户

发布于 2017-06-16 09:49:27

您可以使用Synset对象的lemma_names函数。记住,它会返回一个名字列表,你可以选择一个你满意的名字(在这种情况下,它只有1个结果'change')。

代码语言:javascript
复制
>> print(pp1[0].lemma_names())
['change']

另外,调用hypernyms()也会返回一个列表,因此我使用了pp1[0]。例如,查询'dog‘将返回[dog, frump, cad...]等。如果你想得到所有上位词的所有lemma_names,你可以使用列表理解。

代码语言:javascript
复制
>> [s.lemma_names() for s in wn.synsets('dog')]
[['dog', 'domestic_dog', 'Canis_familiaris'],
 ['frump', 'dog'],
 ['dog'],
 ...
 ['chase', 'chase_after', 'trail', 'tail', 'tag', 'give_chase', 'dog', 'go_after',  'track']]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44579428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档