В настоящее время я работаю над проектом, где хочу извлечь эмоции из текста. Поскольку я использую conceptnet5 (семантическую сеть), я не могу, однако, просто префикс слов в предложении, содержащем слово отрицания, поскольку эти слова просто не появятся в API-интерфейсе conceptnet5.Обработка отрицания в NLP
Вот пример:
Фильм был не так хорош.
Следовательно, я полагал, что могу использовать функциональность wordm в лемме для замены прилагательных в предложениях, содержащих слова отрицания типа (не, ...).
В предыдущем примере алгоритм обнаружит wasn't
и заменит его на was not
. Кроме того, он обнаружит слово отрицания not
и заменит good
антонимом bad
. Приговор будет читать:
Фильм был настолько плохим.
Хотя я вижу, что это не самый изящный способ, и он, вероятно, во многих случаях приводит к неправильному результату, я все же хотел бы обращаться с отрицанием таким образом, поскольку я откровенно не знаю ничего лучшего подход.
Учитывая мою проблему: К сожалению, я не нашел ни одной библиотеки, которая позволила бы мне, чтобы заменить все вхождения прилагаемых отрицаний-слова (wasn't
=>was not
). Я имею в виду, что я мог бы сделать это вручную, заменив появление регулярным выражением, но тогда я бы застрял на английском языке.
Поэтому я хотел бы спросить, знают ли вы некоторые из вас библиотеку, функцию или лучший способ, который мог бы помочь мне здесь. В настоящее время я использую python nltk
, но, похоже, он не содержит таких функций, но я могу ошибаться.
Заранее спасибо :)
Первая ссылка была сломана. Я отследил его: http: //www.academypublication.com/issues/past/tpls/vol03/07/17.pdf – KAG1224