python - 如何计算标记化列表中的中文词频?

标签 python tokenize word-frequency

我使用的是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/

相关文章:

python - 使用 Mock 测试 Django 命令

c++ - 插入链表的 vector 元素?

C++/Boost 在多个字符上拆分字符串

algorithm - 在大量文本中查找最常见短语的高效算法

python - 如何生成 x 轴乱序的 Matplotlib 图?

python - 如何使用Python执行MariaDB数据库插入?

python - python中的词频程序

java - 使用二叉树跟踪词频

python - 序列化器不可序列化数据的 Catch-all 字段

c# - 在 asp.net 中自动完成选择多个标签