天天看点

python清洗数据去除停用词_从python中的Counter中删除一个停用词列表

我在NLTK中有一个函数来生成一个一致的列表,看起来像

concordanceList = ["this is a concordance string something",

"this is another concordance string blah"]

我有另一个函数返回一个Counter字典,其中包含concordanceList中每个单词的计数

def mostCommonWords(concordanceList):

finalCount = Counter()

for line in concordanceList:

words = line.split(" ")

currentCount = Counter(words)

finalCount.update(currentCount)

return finalCount

我遇到的问题是如何最好地从结果计数器中删除停用词,这样,当我打电话时

mostCommonWords(concordanceList).most_common(10)

结果不只是{“the”:100,“is”:78,“that”:57}。

我认为预处理文本以删除停用词是不合适的,因为我仍然需要将索引字符串作为语法语言的实例。基本上,我问是否有一种更简单的方法来做到这一点,而不是为停用词创建一个停用词计数器,将值设置为低,然后再制作另一个计数器:

stopWordCounter = Counter(the=1, that=1, so=1, and=1)

processedWordCounter = mostCommonWords(concordanceList) & stopWordCounter

应该将所有停用词的计数值设置为1,但它看起来很黑。

编辑:另外,我实际上在制作这样的stopWordCounter时遇到了麻烦,因为如果我想要包含像“和”这样的保留字,我会收到无效的语法错误。计数器具有易于使用的联合和交集方法,这将使任务相当简单;是否有相同的词典方法?