我使用的是Python 2.7。 我想统计一下中文单词的出现频率。 我如何使用我的标记化列表来做到这一点?我想在下一步中找到句子的位置。 因此,希望我可以计算词频,并同时给出每个单词的起点和终点。
我尝试从输入文件中计算词频,这与我的标记化无关。但它也给了我一个错误的结果。 对于对应部分,它向我展示了这一点: Counter({u'\u7684': 1}) ,但我的预期结果是 Counter({'的': 27})
#coding=UTF-8
userinput = raw_input('Enter the name of a file')
import codecs
f= codecs.open(userinput,"r","UTF-8")
str=f.read()
f.close()
import jieba
result=jieba.tokenize(str)
for tk in result:
print "word %s\t\t start: %d \t\t end:%d" % (tk[0],tk[1],tk[2])
from collections import Counter
with open(userinput) as inf:
cnt = Counter()
for word in [u'的']:
cnt[word] += 1
print (cnt)
最佳答案
这是不正确的:
for word in [u'的']:
cnt[word] += 1
您需要对文件中的单词运行循环:
for word in open(userinput,'r').read().split():
cnt[word] += 1
关于python - 如何计算标记化列表中的中文词频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19783731/