Я справляюсь с 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')]