在不使用 NLTK 的情况下从 Python 中的文本中删除停用词

Removing Stop Word From a Text in Python Without Using NLTK

我在 Python 中用我的母语制作了一个停用词列表。当我键入文本时,如何在不使用 NLTK 的情况下删除它们?

检查一下(这仅在所讨论的语言可以在空格上被打断的情况下才有效,但尚未澄清 - 感谢 Oso):

import numpy as np
your_stop_words = ['something','sth_else','and ...']
new_string = input()
words = np.array(new_string.split())
is_stop_word = np.isin(words,your_stop_words)
filtered_words = words[~is_stop_word]
clean_text = ' '.join(filtered_words)

如果有问题的语言不能分解为空格,您可以使用此解决方案:

your_stop_words = ['something','sth_else','and ...']
new_string = input()
clean_text = new_string
for stop_word in your_stop_words :
    clean_text = clean_text.replace(stop_word,"")

在这种情况下,您需要确保停用词不能成为另一个词的一部分。你可以根据你的语言来做。例如,您可以在停用词周围使用空格。