首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >NLTK wordnet不包含词汇术语- Python

NLTK wordnet不包含词汇术语- Python
EN

Stack Overflow用户
提问于 2018-06-14 06:09:35
回答 1查看 760关注 0票数 0

我的程序中的一个函数可以找到某些词汇的定义,这对我程序的其他部分很有用。然而,似乎并不是每个词汇都存在于wordnet中。我找到的定义如下:

代码语言:javascript
复制
y = wn.synset(w + '.n.01').definition()

其中'w‘是从列表中输入的众多词汇表中的一个(没有包括程序的其余部分,因为它有太多不相关的代码)。然而,当列表到达术语'ligase‘时,就会出现以下错误:

行1298,在synset raise WordNetError(消息%(词条,位置)) nltk.corpus.reader.wordnet.WordNetError:没有词性为'n‘的词条’‘

有没有办法绕过这一点,或者用一种不同的方式来找到这些术语的定义,而不是在wordnet中?我的程序正在经历各种科学术语,所以随着我向列表中添加更多的单词,这种情况可能会更频繁地发生。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-14 06:41:17

您不应该假设某个单词对WordNet是已知的。检查是否存在任何相关的同义词集,如果至少有一个同义词集,则请求定义:

代码语言:javascript
复制
for word in ["ligase", "world"]: # Your word list
    ss = wn.synsets(word)
    if ss:
        definition = ss[0].definition() 
        print("{}: {}".format(word, definition))
    else:
        print("### Word {} not found".format(word))

#### Word ligase not found
#world: everything that exists anywhere
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50846992

复制
相关文章

相似问题

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