Почему эти слова считаются игнорируемыми?

У меня нет формального опыта в обработке естественного языка, и мне было интересно, может ли кто-нибудь из НЛП пролить свет на это. Я играю с библиотекой NLTK, и я специально изучал функцию стоп-слов, предоставляемую этим пакетом:

В [80]: nltk.corpus.stopwords.words ('английский')

Из [80]:

['я', 'я', 'мой', 'я', 'мы', 'наш', 'наш', 'мы', 'ты', 'твой', 'твой', 'ты', ' вы ',' он ',' он ',' его ',' он ',' она ',' она ',' ее ',' она ',' оно ',' его ',' себя ',' они ' , 'они', 'их', 'их', 'себя', 'что', 'что', 'кто', 'кто', 'этот', 'тот', 'эти', 'те', ' есть , 'делает', 'сделал', 'делаю', 'а', 'ан', 'то', 'и', 'но', 'если', 'или', 'потому что', 'как', ' до ',' в то время как ',' из ',' в ',' по ',' для ',' с ',' около ',' против ',' между ',' в ',' через ',' во время ' , 'до', 'после', 'вверху', 'внизу', 'до', 'от', 'вверх', 'вниз', 'внутрь', 'вне', 'вкл', 'выкл', ' над ',' под ',' снова ',' далее ',' затем ',' один раз ',' здесь ',' там ',' когда ',' где ',' почему ',' как ',' все ' , «любой», «оба», «каждый», «несколько», «еще», 'большинство', 'другие', 'некоторые', 'такие', 'нет', 'ни', 'не', 'только', 'собственные', 'такие же', 'так', 'чем', 'тоже ',' очень ',' s ',' t ',' can ',' will ',' just ',' don ',' should ',' now ']

Я не понимаю, почему здесь присутствует слово «нет»? Разве это не обязательно для определения настроения в предложении? Например, такое предложение:

Я не уверен, в чем проблема.

становится совершенно другим после удаления стоп-слова not, изменяя значение предложения на противоположное (I am sure what the problem is). Если это так, то есть ли набор правил, которые мне не хватает, когда не использовать эти стоп-слова?


person Legend    schedule 26.06.2011    source источник
comment
Анализ тональности требует другого подхода к предварительной обработке, чем, скажем, классификация документов и другие основные задачи НЛП. Например, при классификации документов вы бы сразу отказались от знаков препинания, в то время как при анализе тональности включение ! и ? в ваш набор функций вполне может улучшить ваши результаты.   -  person Fred Foo    schedule 26.06.2011


Ответы (1)


Концепция списка стоп-слов не имеет универсального значения и зависит от того, что вы хотите сделать. Если у вас есть задача, в которой вам нужно понять полярность, тональность или аналогичные характеристики фразы, и если ваш метод зависит от обнаружения отрицания (как в вашем примере), очевидно, вам не следует удалять «не» в качестве стоп-слова ( обратите внимание, что вы все равно можете удалить другие очень распространенные несвязанные слова, которые составили бы ваш новый список стоп-слов).

Однако отвечу на ваш вопрос: большинство методов анализа настроений очень поверхностны. Они ищут слова, содержащие эмоции / сантименты, и - в большинстве случаев - не предпринимают попыток глубокого анализа предложения.

В качестве еще одного примера, в котором вы хотели бы сохранить стоп-слова: если вы пытаетесь классифицировать документы по их авторам (атрибуция авторства) или выполняете стилометрию, вам обязательно следует сохранить эти функциональные слова, поскольку они характеризуют большую часть стиль и дискурс.

Однако для многих других видов анализа (например, модели пространства слов, сходство документов, поиск и т. Д.) Удаление очень распространенных функциональных слов имеет смысл как в вычислительном отношении (вы обрабатываете меньше слов), так и в некоторых случаях практически (вы можете даже получить лучшие результаты с удаленными стоп-словами). Если я пытаюсь понять контекст, в котором очень часто используется определенное слово, я хотел бы видеть слова content, а не функциональные слова.

person Ruggiero Spearman    schedule 26.06.2011
comment
+1 Отличный ответ. Спасибо. Я провожу своего рода анализ настроений, и то, что вы сказали, имеет для меня смысл. Спасибо за уделенное время. - person Legend; 26.06.2011
comment
Пожалуйста. Я не очень знаком с анализом тональности на уровне предложений / фраз, но если вы этого хотите, это может быть отправной точкой: mitpressjournals.org/doi/pdf/10.1162/coli.08-012-R1-06-90 - person Ruggiero Spearman; 26.06.2011
comment
Только что разместил здесь еще один вопрос: stackoverflow.com/questions/6482152 / На всякий случай, если у вас есть дополнительные мысли по этой теме :) Еще раз спасибо. - person Legend; 26.06.2011