Python之文本词频统计
本人近期学习了一下关于利用Python统计统计中英文文本词频的应用,故记录一下。
在一篇中英文文本中,有些词总会重复出现,此次要做的工作就是分别统计中英文文本中的词频,英文文本以哈姆雷特剧本为文本,中文文本以三国演义为文本。
1、英文文本
英文文本如图:
对于英文文本来说,有几个问题需要考虑,首先是文本中出现的各种符号,在英文中出现的各类符号此处采用的处理方式为均用空格代替,其次是字母大小写问题,为了方便统计均处理为小写字母再统计。
所用代码为:
所得结果为:
2、中文文本
中文文本为:
对中文文本来说,并没有特殊符号进行干扰,也没有大小写的困扰,但是新的问题是,同一个历史人物会有不同的称谓,如诸葛亮、孔明、丞相指的都是同一个人,因此需要针对此做出一个处理。
所用代码为;
所得结果为:
需要注意的是,此处还进行了一个处理——即“excludes”,这是因为在中文分词时,会将一些非人名也作为人名进行了统计,因此需要进行排除,否则统计的前十个出现次数最多的人名中就会出现非人名。