• 第二周内容


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

    边界内的:

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

    边界外的:

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

     修改后词频统计边界:

    边界内的:

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

    边界外的:

    • 结果图的保存

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

      其实这是将计算词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表:

      

  • 相关阅读:
    计算机中丢失OPENGL.dll
    BAT或赌在当下或押在未来,谁是王者?
    singleton
    计算机原理扫盲
    汇编扫盲
    sublime text 3 使用过程总结记录
    sublime text3侧边栏主题不生效问题解决
    atom初体验
    Sublime Text 3 快捷键总结
    微信后台开发第一步:nodeJS+express接入微信后台详细教程
  • 原文地址:https://www.cnblogs.com/pengy813/p/5274077.html
Copyright © 2020-2023  润新知