在nltk停止列表中添加单词

Ale*_*lex 10 python nltk stop-words

我有一些代码可以从我的数据集中删除停用词,因为停止列表似乎没有删除我想要的大多数单词,我希望在此停止列表中添加单词以便它将删除对于这种情况他们.我用来删除停用词的代码是:

word_list2 = [w.strip() for w in word_list if w.strip() not in nltk.corpus.stopwords.words('english')]
Run Code Online (Sandbox Code Playgroud)

我不确定添加单词的正确语法,似乎无法在任何地方找到正确的语法.任何帮助表示赞赏.谢谢.

Ozi*_*iro 12

您只需使用append方法为其添加单词:

stopwords = nltk.corpus.stopwords.words('english')
stopwords.append('newWord')
Run Code Online (Sandbox Code Playgroud)

或者扩展以附加一个单词列表,如Charlie在评论中所建议的那样.

stopwords = nltk.corpus.stopwords.words('english')
newStopWords = ['stopWord1','stopWord2']
stopwords.extend(newStopWords)
Run Code Online (Sandbox Code Playgroud)

  • `CustomListofWordstoExclude = ['cat','dog'] stopwords.extend(CustomListofWordstoExclude)`我使用你的代码,但后来用`extend()`添加我自己的列表给它 (5认同)

小智 7

import nltk
stopwords = nltk.corpus.stopwords.words('english')
new_words=('re','name', 'user', 'ct')
for i in new_words:
    stopwords.append(i)
print(stopwords)
Run Code Online (Sandbox Code Playgroud)


Raf*_*afi 2

英语停用词是 nltk/corpus/stopwords/english.txt 中的一个文件(我猜它会在这里...我这台机器上没有 nltk..最好的办法是在 nltk 存储库中搜索“english.txt”)

您只需在此文件中添加新的停用词即可。

如果您的停用词列表增加到数百个,也可以尝试查看布隆过滤器