python 语料_用python从语料库中提取最常用的词

也许这是个愚蠢的问题,但是我在用Python从语料库中提取十个最常见的单词时遇到了问题。这就是我目前所掌握的。(顺便说一句,我使用NLTK阅读一个语料库,每个10.txt文件有两个子类别)import re

import string

from nltk.corpus import stopwords

stoplist = stopwords.words('dutch')

from collections import defaultdict

from operator import itemgetter

def toptenwords(mycorpus):

words = mycorpus.words()

no_capitals = set([word.lower() for word in words])

filtered = [word for word in no_capitals if word not in stoplist]

no_punct = [s.translate(None, string.punctuation) for s in filtered]

wordcounter = {}

for word in no_punct:

if word in wordcounter:

wordcounter[word] += 1

else:

wordcounter[word] = 1

sorting = sorted(wordcounter.iteritems(), key = itemgetter, reverse = True)

return sorting

如果我用我的语料库打印这个函数,它会给我一个后面有“1”的所有单词的列表。它给了我一本字典,但我所有的价值观都是一本。我知道例如“宝贝”这个词在我的语料库里是五到六倍。。。但还是有“宝贝:1”。。。所以它不能按我想要的方式工作…

有人能帮我吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值