Итак, у меня есть набор данных, из которого я хотел бы удалить стоп-слова.
stopwords.words('english')
Я изо всех сил пытаюсь использовать это в своем коде, чтобы просто убрать эти слова. У меня уже есть список слов из этого набора данных, часть, с которой я борюсь, сравнивает с этим списком и удаляет стоп-слова. Любая помощь приветствуется.
python
nltk
stop-words
Alex
источник
источник
from nltk.corpus import stopwords
для будущих гуглеровnltk.download("stopwords")
, чтобы словарь стоп-слов стал доступным.Ответы:
источник
stops = set(stopwords.words("english"))
Вместо этого рассмотрите возможность повышения производительности .stopwords.words('english')
строчные. Поэтому убедитесь, что вы используете в списке только строчные буквы, например[w.lower() for w in word_list]
Вы также можете сделать набор различий, например:
источник
Я полагаю, у вас есть список слов (word_list), из которого вы хотите удалить стоп-слова. Вы можете сделать что-то вроде этого:
источник
Чтобы исключить все типы стоп-слов, включая стоп-слова nltk, вы можете сделать что-то вроде этого:
источник
len(get_stop_words('en')) == 174
противlen(stopwords.words('english')) == 179
stop-words
Только для этого есть очень простой легкий пакет python .Сначала установите пакет, используя:
pip install stop-words
Затем вы можете удалить свои слова в одну строку, используя понимание списка:
Этот пакет очень легкий для загрузки (в отличие от nltk), работает для обоих
Python 2
иPython 3
, и в нем есть стоп-слова для многих других языков, например:источник
Используйте библиотеку textcleaner для удаления игнорируемых слов из ваших данных.
Перейдите по этой ссылке: https://yugantm.github.io/textcleaner/documentation.html#remove_stpwrds
Чтобы сделать это с этой библиотекой, выполните следующие действия.
После установки:
Используйте приведенный выше код, чтобы удалить стоп-слова.
источник
используя фильтр :
источник
word_list
большой, этот код очень медленный. Лучше преобразовать список игнорируемых слов к набору перед использованием:.. in set(stopwords.words('english'))
.вы можете использовать эту функцию, вы должны заметить, что вам нужно опустить все слова
источник
Вот мой вариант на тот случай, если вы хотите немедленно получить ответ в виде строки (вместо списка отфильтрованных слов):
источник
Если ваши данные хранятся в виде файла
Pandas DataFrame
, вы можете использоватьremove_stopwords
из textero, который по умолчанию использует список запрещенных слов NLTK .источник
источник
источник