我有一些代码可以从我的数据集中删除停用词,因为停止列表似乎没有删除我想要的大多数单词,我希望在此停止列表中添加单词以便在这种情况下它会删除它们。 我用来删除停用词的代码是:
word_list2 = [w.strip() for w in word_list if w.strip() not in nltk.corpus.stopwords.words('english')]
我不确定添加单词的正确语法,似乎无法在任何地方找到正确的语法。任何帮助表示赞赏。感谢。
答案 0 :(得分:10)
您只需使用append方法为其添加单词:
stopwords = nltk.corpus.stopwords.words('english')
stopwords.append('newWord')
或扩展以附加一个单词列表,如Charlie在评论中所建议的那样。
stopwords = nltk.corpus.stopwords.words('english')
newStopWords = ['stopWord1','stopWord2']
stopwords.extend(newStopWords)
答案 1 :(得分:2)
我总是在需要它的任何模块的顶部做stopset = set(nltk.corpus.stopwords.words('english'))
。然后很容易在集合中添加更多单词,加上成员资格检查更快。
答案 2 :(得分:2)
也在寻找解决方案。经过一些跟踪和错误后,我要在停止列表中添加单词。希望这会有所帮助。
def removeStopWords(str):
#select english stopwords
cachedStopWords = set(stopwords.words("english"))
#add custom words
cachedStopWords.update(('and','I','A','And','So','arnt','This','When','It','many','Many','so','cant','Yes','yes','No','no','These','these'))
#remove stop words
new_str = ' '.join([word for word in str.split() if word not in cachedStopWords])
return new_str
答案 3 :(得分:2)
我在Ubuntu机器上的表现方式是,我在ctrl + F中查找root中的“stopwords”。它给了我一个文件夹。我走进它里面有不同的文件。我打开了“英语”,里面只有128个单词。添加了我的话。保存完成。
答案 4 :(得分:1)
英语停止词是nltk / corpus / stopwords / english.txt中的一个文件(我想它会在这里......我在这台机器上没有nltk ..最好的事情就是搜索'english.txt内nltk repo)
您可以在此文件中添加新的停用词。
如果您的停用词列表增加到几百
,也会尝试查看bloom filters答案 5 :(得分:0)
在Windows C上:\ Users \ username \ AppData \ Roaming \ nltk_data \ corpora转到此路径以获取停用词并根据需要进行编辑
答案 6 :(得分:0)
我使用此代码在python的nltk停用词列表中添加新的停用词
from nltk.corpus import stopwords
#...#
stop_words = set(stopwords.words("english"))
#add words that aren't in the NLTK stopwords list
new_stopwords = ['apple','mango','banana']
new_stopwords_list = stop_words.union(new_stopwords)
print(new_stopwords_list)
答案 7 :(得分:0)
import nltk
stopwords = nltk.corpus.stopwords.words('english')
new_words=('re','name', 'user', 'ct')
for i in new_words:
stopwords.append(i)
print(stopwords)
答案 8 :(得分:0)
我已经发现(Python 3.7,Windows 10上的jupyter笔记本,公司防火墙) 创建列表并使用'append'命令会导致将整个停用词列表附加为原始列表的元素。
这使“停用词”成为列表列表。
Snijesh的答案和Jayantha的答案都很好。
答案 9 :(得分:0)
STOP_WORDS.add(“Lol”) #根据需要将新的停用词添加到语料库中