Почему мы пренебрегаем «не» в НЛП? - PullRequest
0 голосов
/ 06 марта 2020

При очистке текстов мы удаляем такие слова, как «the», «this» и даже «not».

Как я уже проанализировал, вектор y_pred имеет 1 для второго обзора, поскольку он пренебрег 'не'. Если бы он также считал «нет», возможно, точность была бы увеличена.

Есть ли способ / продвинутый метод для включения таких важных ролевых слов?

1 Ответ

0 голосов
/ 08 марта 2020

Удаление стоп-слов - простые функциональные слова, такие как "the" и "is" - из текстов - метод очистки, полезный для некоторых видов анализа текста; например, если вы смотрите на частоту слов, то хорошая идея - избавиться от скучных, но общеупотребительных слов.

Однако это не подходит для всех (или даже для большинства) типов НЛП; например, это не помогает при переводе, и многие модели способны самостоятельно обрабатывать слова с грамматическим шумом.

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

Если вы фильтруете стоп-слова, используя списки стоп-слов NLTK, например, решение оставить слово «не» - это просто вопрос удаления его из списка стоп-слов перед фильтрацией:

from nltk.corpus import stopwords

stops = stopwords.words("english")

stops.remove("not")
...