删除区分大小写的停用词

Removing case-sensitive stopwords

我正在预处理文本并想删除德语中的常见停用词。这几乎可以正常使用以下代码 [final_wordlist 作为示例数据]:

from nltk.corpus import stopwords

final_wordlist =['Status', 'laufende', 'Projekte', 'bei', 'Stand', 'Ende', 'diese', 'Bei']
stopwords_ger = stopwords.words('german')
filtered_words = [w for w in final_wordlist if w not in stopwords_ger]
print(filtered_words)

这产生:

['Status', 'laufende', 'Projekte', 'Stand', 'Ende', 'Bei']

但是正如您所看到的,大写的 'Bei' 没有被删除(应该删除),因为 nltk 中的停用词都是小写的。有没有一种简单的方法可以不区分大小写地删除所有停用词?

试试这个:filtered_words = [w for w in final_wordlist if w.lower() not in stopwords_ger]