我wordnet.synset()
在我的代码中使用函数
>>> 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')
'disbelieve.v.01' 存在于 wordnet 中。但是 nltk.pos_tag 将其标记为名词。
>>> import nltk
>>> tagged = nltk.pos_tag('disbelieve')
>>> tagged
[('disbelieve', 'NN')]
展望未来,我将使用 wordnet 的同义词集相似度函数。我不想检查 pos 标签,因为很有可能出现上述错误。
所以我想知道nltk中是否有任何函数可以检查wordnet中是否存在以(比如'disbelieve')开头的单词,然后获取单词的完整wordnet存储形式(即'disbelieve.v.01')