Mam więc zbiór danych, z którego chciałbym usunąć słowa pomijane
stopwords.words('english')
Walczę, jak użyć tego w moim kodzie, aby po prostu usunąć te słowa. Mam już listę słów z tego zbioru danych, część, z którą się zmagam, polega na porównaniu z tą listą i usuwaniu słów pomijanych. Każda pomoc jest mile widziana.
python
nltk
stop-words
Alex
źródło
źródło
from nltk.corpus import stopwords
dla przyszłych pracowników googlerskichnltk.download("stopwords")
, aby udostępnić słownik pomijanych słów.Odpowiedzi:
źródło
stops = set(stopwords.words("english"))
zamiast tego.stopwords.words('english')
są małe. Dlatego upewnij się, że na liście używasz tylko małych liter, np.[w.lower() for w in word_list]
Możesz też zrobić set diff, na przykład:
źródło
Przypuszczam, że masz listę słów (lista_wrazów), z których chcesz usunąć odrzucane słowa. Możesz zrobić coś takiego:
źródło
Aby wykluczyć wszystkie typy stop-words, w tym stop-words nltk, możesz zrobić coś takiego:
źródło
len(get_stop_words('en')) == 174
vslen(stopwords.words('english')) == 179
Z tego powodu istnieje bardzo prosty, lekki pakiet Pythona
stop-words
.Najpierw zainstaluj pakiet za pomocą:
pip install stop-words
Następnie możesz usunąć swoje słowa w jednej linii, używając funkcji rozumienia z listy:
Ten pakiet jest bardzo lekki do pobrania (w przeciwieństwie do nltk), działa dla obu
Python 2
iPython 3
i zawiera słowa stopu dla wielu innych języków, takich jak:źródło
Użyj biblioteki Textcleaner, aby usunąć pomijane słowa ze swoich danych.
Podążaj za tym linkiem: https://yugantm.github.io/textcleaner/documentation.html#remove_stpwrds
Wykonaj poniższe kroki, aby to zrobić z tą biblioteką.
Po zainstalowaniu:
Użyj powyższego kodu, aby usunąć słowa stopu.
źródło
Możesz użyć tej funkcji, powinieneś zauważyć, że musisz obniżyć wszystkie słowa
źródło
używając filtra :
źródło
word_list
jest duży, ten kod jest bardzo wolny. Lepiej jest przekonwertować listę odrzucanych słów do zestawu przed użyciem go:.. in set(stopwords.words('english'))
.Oto moje podejście do tego, na wypadek, gdybyś chciał natychmiast uzyskać odpowiedź w ciągu (zamiast listy filtrowanych słów):
źródło
W przypadku, gdy dane są przechowywane w postaci
Pandas DataFrame
, można skorzystaćremove_stopwords
z textero że Użyj listy NLTK stopwords przez domyślnie .źródło
źródło
źródło