0

Я создаю программу, которая будет disamigateate слова ambiguos, и я использовал nltk. Теперь, когда я пришел на сцену, чтобы использовать алгоритм lesk, у меня проблемы.Python 2.7: алгоритм Lesk возвращает None

Например, если я стараюсь:

c = lesk('There sign bothered consider inverse logic namely mental illness substance abuse might degree consequence rather cause homelessness ','consider') 

с будет 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') 

или даже список lemmatas вместо полных слов, но он по-прежнему не возвращает None.

Кто-нибудь знает, является ли это особенностью lesk (когда он не может устранить двусмысленность слова, чтобы вернуть None), или я делаю что-то неправильно? Кроме того, если это функция, то ее можно удалить (чтобы вернуть мне слово вместо None)?

Спасибо!

ответ

1

Да, метод возвращает None, если смысл слова не найден. Вы можете увеличить размер контекста. Насколько я могу видеть в исходном коде методов, контекстное предложение должно быть пронумеровано.

+0

Да, выяснилось, что Нет полностью нормально. Конт не обязательно должен быть обозначен, хотя. – TheRevanchist

Смежные вопросы