一个计数器我有在NLTK一个函数生成一个索引表,这看起来像从蟒蛇
concordanceList = ["this is a concordance string something",
"this is another concordance string blah"]
删除停用词的列表,我有一个返回柜台字典的另一个功能在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,“是”:78,“that”:57}。
我认为对文本进行预处理以删除停用词已不存在,因为我仍然需要将一致字符串作为语法语言的实例。基本上,我问,如果有这样做比创建停用词停用字词计数器一个简单的方法,设置较低的值,然后让另一个柜台,像这样:
stopWordCounter = Counter(the=1, that=1, so=1, and=1)
processedWordCounter = mostCommonWords(concordanceList) & stopWordCounter
这应该设置的计数值所有的停用词到1,但它似乎hacky。
编辑:此外,我实际上在制作stopWordCounter时遇到了问题,因为如果我想包含“and”之类的保留字,我会得到无效的语法错误。计数器具有易于使用的联合和交集方法,这将使任务相当简单;是否有等同的字典方法?
RE:关于无效语法错误的编辑。 '和'保留,但''和''是一个字符串。你应该使用'Counter([“和”])'来创建一个带有字符串'“和”'的计数器。 – ChrisP