python写程序统计词频的方法写程序统计词频的方法
主要介绍了python写程序统计词频的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋
友可以参考下
在李笑来所著《时间当作朋友》中有这么一段:
可问题在于,当年我在少年宫学习计算机程序语言的时候,怎么可能想象得到,在20多年后的某一天,我需要先用软件调取
语料库中的数据,然后用统计方法为每个单词标注词频,再写一个批处理程序从相应的字典里复制出多达20MB的内容,重新
整理……
在新书《自学是门手艺》中,他再次提及:
又过了好几年,我去新东方教书。2003 年,在写词汇书的过程中,需要统计词频,C++ 倒是用不上,用之前学过它的经验,
学了一点 Python,写程序统计词频 ——《TOEFL 核心词汇 21 天突破》到今天还在销售。一个当年 10 块钱学费开始学的技
能,就因为这本书,这些年给我 “变现” 了很多钱。
正在通过xue.cn 自学 python 的我顺手在 trello 中给自己添加一张卡片: 要不用要不用 python 写个统计词频的脚本玩玩?写个统计词频的脚本玩玩? 这是前不
久的事儿了。
今日周末,我翻出这张卡片,打算实践看看。下文是我写词频统计脚本时的一些思考与实践成果。
2、如何把难题拆解为小、如何把难题拆解为小CASE??
从需求来看,“统计词频的脚本”是一个泛泛的需求。——我并不是想要统计特定内容的词频,我希望生成的脚本可以处理各式
内容。这对脚本的最终交付成果提出了高要求。
如果请你用 python 写个统计词频的脚本,你会如何写呢?当我正襟危坐,正视这道题目时,第一秒钟感知到了为难与胆怯。
有个小人儿在脑袋里说:“好难,我做不到吧?”
面对新事物、新挑战,人们善于用想象力把困难放的很大。而我已经有了多次迎难而上的经验,于是我喝了一口苦咖啡,问自
己:
从哪儿下手呢?不如进一步拆解来看看吧。
需求拆解如下:
“统计词频的脚本”,可以拆分为2个部分,a) 有哪些词?b) 统计这些词出现的次数。 b是简单的。 a分为2种情况:i) 给定词
库;ii) 自己从内容中找词。 i是简单的,ii则可能复杂。
此时你可能问,你是如何判断简单还是复杂?简单吖,根据自己的编程能力与经验,预判自己能否写出代码。
需求经过拆解后,当前的重点聚焦于:
如何从内容中抓取词?如何从内容中抓取词?
其中,内容是一个宽泛的概念。在程序中,它可能是:string 常量,文件,网页,api 返回的数据如此等等。关键是什么呢?
关键是脚本的一线代码们处理的是 string,列表或字典。其余的文件、网页、api 返回数据等,无非是数据的载体更为复杂,
我已经掌握了把从它们那里获取数据,生成 string、列表或字典的能力。而这个能力你也能很简单获得,即通过“python 如何
读取文件数据”之类句式,从搜索引擎中找到答案。
一篇文章可以直接定义或读取为一个 string 常量。而 for i in stringcontent 句式能够帮我们遍历 string 统计单个字的词频。然后双
字词、三字词、N字词等等,都可以由单字词拼接而成。
难点既然这么快想清楚,那么写代码实现吧!
3、从上帝视角调控成长体验、从上帝视角调控成长体验
第一个版本代码如下图所示,还是非常简便的。我在同个目录下,另起一个 poem.py 文件用来把内容定义为常量,供该脚本调
用。