首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python中的wordet synset

python中的wordet synset
EN

Stack Overflow用户
提问于 2013-03-31 13:26:45
回答 1查看 1.8K关注 0票数 0

我在代码中使用了wordnet.synset()函数

代码语言:javascript
复制
>>> cb = wordnet.synset('fever.n.01')
>>> cb
Synset('fever.n.01')

>>> cb = wordnet.synset('disbelieve.n.01')

Traceback (most recent call last):
  File "<pyshell#60>", line 3, in <module>
    cb = wordnet.synset('disbelieve.n.01')
  File "C:\Python27\lib\site-packages\nltk\corpus\reader\wordnet.py", line 1016, in synset
    raise WordNetError(message % (lemma, pos))
WordNetError: no lemma 'disbelieve' with part of speech 'n'

>>> cb = wordnet.synset('disbelieve.v.01')
>>> cb
Synset('disbelieve.v.01')

“discreiee.v.01”存在于wordnet中。但nltk.pos_tag将其标记为名词。

代码语言:javascript
复制
>>> import nltk
>>> tagged = nltk.pos_tag('disbelieve')
>>> tagged
[('disbelieve', 'NN')]

接下来,我将使用wordnet的同义词集相似度函数。我不想检查pos标签,因为有一个公平的机会上述错误。

因此,我想知道nltk中是否有任何函数可以检查以(比如'disbelieve')开头的单词在wordnet中是否存在,然后获取该单词的完整wordnet存储形式(即‘discreene.v.01’)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-31 13:39:36

您可以通过执行以下操作来获取任何给定单词的同义词集的list

代码语言:javascript
复制
>>> from nltk.corpus import wordnet as wn
>>> wn.synsets('disbelieve')
[Synset('disbelieve.v.01')]

一个想法可能是偏爱那些词性标签与标记者相匹配的同义词集,否则只需选择列表中的第一个。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15726644

复制
相关文章

相似问题

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