1

我正在掌握 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')]
4

1 回答 1

2

在你上面的句子中,“我”是一个代词。wordnet 常见问题解答指出:

问:为什么 WordNet 缺少:of、an、the、and、about、above、because 等。

A:WordNet 只包含“开放类词”:名词、动词、形容词和副词。因此,排除的词包括限定词、介词、代词、连词和助词。

于 2019-10-23T11:48:11.460 回答