Próbuję usunąć słowa stop przed wykonaniem modelowania tematu. Zauważyłem, że niektóre słowa negacji (nie, ani nigdy, nigdy itd.) Są zwykle uważane za słowa stop. Na przykład NLTK, spacy i sklearn zawierają „not” na swoich listach słów kluczowych. Jeśli jednak usuniemy „nie” z poniższych zdań, tracą one znaczące znaczenie i nie byłoby to właściwe w przypadku modelowania tematów lub analizy sentymentów.
1). StackOverflow is helpful => StackOverflow helpful
2). StackOverflow is not helpful => StackOverflow helpful
Czy ktoś może wyjaśnić, dlaczego te słowa negacji są zwykle uważane za słowa stop?
Odpowiedzi:
Słowa stop są zwykle uważane za „najczęstsze słowa w języku”. Możliwe są jednak inne definicje oparte na różnych zadaniach.
Rozsądne jest uznanie „nie” za słowo końcowe, jeśli twoje zadanie opiera się na częstotliwości słów (np. Analiza tf – idf do klasyfikacji dokumentów).
Jeśli interesuje Cię kontekst (np. Analiza sentymentu ) tekstu, sensowne może być odmienne traktowanie wyrazów negacji. Negacja zmienia tak zwaną wartościowość tekstu. Trzeba to traktować ostrożnie i zwykle nie jest to banalne. Jednym z przykładów byłby korpus zaprzeczenia na Twitterze. Wyjaśnienie tego podejścia znajduje się w tym artykule .
źródło