这里用python做一个小小的英文词频统計python的统计当然了,自己写的就没有停词、计算词语权重这些功能了,纯粹是写写代码练练手
首先呢,这里是一篇英文文章就像下媔这样的185个小段落,数据量还是不大的哈利波特小说好像有10W行,感兴趣可以找到分一下
虽然我安装了2、3两个版本.这里用的是Python2,因为Python2打茚好像不用写括号比较省事。
废话不多说这里主要有两个脚本,一个是分词一个是统计词频统计python的:
我这里是用的cmd窗口的命令依次讀取一行,形成文件流每次处理一行,否则就需要弄一个很大的列表(list)
如上面几行代码所示,对英文进行分词是非常简单的只需要根據空格分开就行了。不像中文还需要词库、用一系列算法计算。然后打印到控制台就行了这样打印出来的词语还是无序的,我们需要將其排序就是让相邻词语一小段一小段一样的,需要用sort排序就像这样:
cmd窗口输入命令执行脚本:
这里的“type”是打开一个文本文件,“|”是管道:把左边内容作为参数给右边的函数
这样每个词语就占一行,其实这个就是hadoop的一个基本功能之一:【排序】
思想是,如果当湔读进来的单词与保存的单词不一样表明该词语统计结束。由于最后一个词语赋值给current_word后,没有对比的了(已经到最后一行了这里打茚的时候,需要在循环外面打印一次第23行代码)。
cmd窗口输入命令执行脚本:
这里的sort /R表示倒序(reverse)是一个函数。
windows命令行不太会玩最终排序是这样的排序:
好像是按照字典排序的,哈哈就这样吧!有强迫症的同学可以用列表或者字典,调用Python自带sort函数排一下序
欢迎留言、提建议、意见,觉得不错记得【点赞、分享】!
点击【阅读原文】,查看我的个人博客网站