我正在处理WSD和WordNet,并且正在尝试弄清为什么它们输出不同的结果。我在使用以下代码时的理解是,歧义命令指定了最可能的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中查询“ I”一词时,我得到了四种可能的解释之一,因此我以“ nonetype”返回。当然,“我”应该对应其中至少一个?
wordnet.synsets('I')
Out:
[Synset('iodine.n.01'), Synset('one.n.01'), Synset('i.n.03'), Synset('one.s.01')]
答案 0 :(得分:2)
在您上面的句子中,“我”是代词。 wordnet FAQ指出:
Q:为什么WordNet缺少:、、、、、、、、、、、、、、、、等等。
A:WordNet仅包含“开放类单词”:名词,动词,形容词和副词。因此,排除的单词包括限定词,介词,代词,连词和助词。