我正在掌握 WSD 和 WordNet,我正在尝试找出它们输出不同结果的原因。我在使用下面的代码时的理解是 disambiguate 命令指定了最有可能的 Synset:
from pywsd import disambiguate
from nltk.corpus import wordnet as wn
mysent = 'I went to have a drink in a bar'
wsd = disambiguate(mysent)
这给了我以下输出
('I', None)
('went', Synset('travel.v.01'))
('to', None)
('have', None)
('a', None)
('drink', Synset('swallow.n.02'))
('in', None)
('a', None)
('bar', Synset('barroom.n.01'))
由此,我觉得奇怪的是“我”这个词被返回为“无类型”,因为在 WordNet 中查找这个词时,我得到了四种可能的解释之一。当然,“我”应该至少对应其中一个?
wordnet.synsets('I')
Out:
[Synset('iodine.n.01'), Synset('one.n.01'), Synset('i.n.03'), Synset('one.s.01')]