Python 2.7: алгоритм Lesk возвращает None
Я создаю программу, которая устраняет неоднозначность слов, и я использовал nltk. Теперь, когда я вышел на сцену, чтобы использовать алгоритм lesk, у меня возникли некоторые проблемы.
Например, если я попробую:
c = lesk('There sign bothered consider inverse logic namely mental illness substance abuse might degree consequence rather cause homelessness ','consider')
c будет None, что означает, что алгоритм не вернет ничего.
Я попытался дать вместо предложения список слов: т.е.
sent = word_tokenize('There sign bothered consider inverse logic namely mental illness substance abuse might degree consequence rather cause homelessness ')
c = lesk(sent, 'consider')
или даже список леммат вместо полных слов, но он по-прежнему возвращает None.
Кто-нибудь знает, если это особенность lesk (когда он не может устранить неоднозначность, чтобы вернуть None), или я делаю что-то не так? Кроме того, если это особенность, то можно ли ее удалить (чтобы вернуть мне слово вместо None)?
Спасибо!
1 ответ
Да, метод возвращает None
если никакого смысла слова не было найдено. Вы можете увеличить размер контекста. Насколько я вижу в исходном коде методов, контекстное предложение должно быть токенизировано.