第二周内容

第一次任务词频统计边界:

边界内的:

  • 根据指定文档路径按行读取文本文件。
  • 对每行进行基本处理,并按空格分词并统计词频。
  • 对结果排序并显示矩形图和曲线图。

边界外的:

  • 处理多篇文档。
  • 结果图的保存。

 修改后词频统计边界:

边界内的:

  • 根据指定文档路径按行读取文本文件,支持分别对多篇文档的词频统计。
  • 对每行进行基本处理,并按空格分词并统计词频。
  • 根据档统计的多篇文词频得出在多篇文档中经常出现的词并做展示。

边界外的:

  • 结果图的保存

  本周在上一周实现对单篇文档进行词频统计的基础上进行了改进,老师提出了常用词是通过什么样的量化指标来决定的这个问题。我思考过后决定使用以下的标准来衡量一个词是否为常用词:

  其实这是将计算词tf-idf的方法稍作了一下修改,我们知道使用tf-idf加权的动机就是使一篇文档中重要的词被保留,并将文档集中常用的词过滤掉。在tf-idf计算中,相对词频代表了词在这篇文档中的重要程度,而词的反向文档频率则衡量了词是不是在每篇文档中都出现,把两者相乘就得到了最简单的tf-idf加权公式。

  而我们现在需要的是统计整个文档集中的常用词,什么是常用词?从直观上可以这样考虑:

  1.在一篇文档中经常出现的词是这篇文档的常用词(对应相对词频)

  2.在多篇文档中都出现的词也许是常用词(对应相对词频)

  基于以上两点考虑,把tf-idf公式改一下就得出了上图最后的公式,通过该公式为文档集中所有的词计算一个代表常用程度权重,然后根据这个权重排序来得到文档集的常用词。

  程序流程大概分为以下几步:

  • 读入文档集,词频统计。
  • 根据各文档词频统计结果计算每个词的权重。
  • 对所有词按权重从大到小排序,取前100个画图展示。

  

  我对作图所示的几部小说进行了处理,结果如右图所示,不出所料the,of,a一类的词还是占据了榜首,这也反应了一些常用词对我们理解文档意思的帮助并不会很大,往往是那些特殊的词可能更能体现文档的意思。

  代码已经上传到https://github.com/pppppY/Work。

  最后附上工作量表

  代码行数 博客字数 知识点
第一周 51   git使用,matplotlib.pyplot库的使用,python基础数据结构
第二周 42 2148   改进词频统计,对比了三种框架

  psp表:

  

原文地址:https://www.cnblogs.com/pengy813/p/5274077.html