zoukankan      html  css  js  c++  java
  • 第二周内容

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

    边界内的:

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

    边界外的:

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

     修改后词频统计边界:

    边界内的:

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

    边界外的:

    • 结果图的保存

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

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

      

  • 相关阅读:
    C++ 如何判断所调用的重载函数
    C++ 入门5 类和动态内存分配(一)
    c#动态创建ODBC数据源
    设为首页,加入收藏,联系我们
    ASP.NET 2.0中CSS失效
    typedef的四个用途和两个陷阱(转)
    VC++实现应用程序对插件的支持(转)
    DOM无关事件
    How to Migrate from WCF Web API to ASP.NET Web API
    Using ASP.NET Web API with ASP.NET Web Forms
  • 原文地址:https://www.cnblogs.com/pengy813/p/5274077.html
Copyright © 2011-2022 走看看