非主流自然语言处理——遗忘算法系列(四):改进TF-IDF权重公式

Deep Learning Specialization on Coursera

一、前言

  前文介绍了利用词库进行分词,本文介绍词库的另一个应用:词权重计算。

二、词权重公式

  1、公式的定义
    定义如下公式,用以计算词的权重:
    权重公式
  2、公式的由来
    在前文中,使用如下公式作为分词的依据:
    公式推导
    任给一个句子或文章,通过对最佳分词方案所对应的公式进行变换,可以得到:
    公式推导
    按前面权重公式的定义,上面的公式可以理解为:一个句子出现的概率对数等于句子中各词的权重之和。
    公式两边同时取负号使权重是个正值。

三、与TF-IDF的关系

  词频、逆文档频率(TF-IDF)在自然语言处理中,应用十分广泛,也是提取关键词的常用方法,公式如下:
  tf-idf
  从形式上看,该公式与我们定义的权重公式很像,而且用途也近似,那么它们之间有没有关系呢?
  答案是肯定的。
  我们知道,IDF是按文档为单位统计的,无论文档的长短,统一都按一篇计数,感觉这个统计的粒度还是比较粗的,有没有办法将文本的长短,这个明显相关的因素也考虑进去呢,让这个公式更加精细些?
  答案也是肯定的。
  文章是由词铺排而成,长短不同,所包含的词的个数也就有多有少。
  我们可以考虑在统计文档个数时,为每个文档引入包含多少个词这样一个权重,以区别长短不同的文档,沿着这个思路,改写一下IDF公式:
  tf-idf
  我们用所有文档中的词做成词库,那么上式中:
  tf-idf
  综合上面的推导过程,我们知道,本文所定义的词权重公式,本质上是tf-idf为长短文档引入权重的加强版,而该公式的应用也极为简单,只需要从词库中读取该词词频、词库总词频即可。
  时间复杂度最快可达O(1)级,比如词库以Hash表存储。
  关于TF-IDF更完整的介绍及主流用法,建议参看阮一峰老师的博文《TF-IDF与余弦相似性的应用(一):自动提取关键词》。

四、公式应用

    词权重用途很广,几乎词袋类算法中,都可以考虑使用。常见的应用有:
     1、关键词抽取、自动标签生成
        作法都很简单,分词后排除停用词,然后按权重值排序,取排在前面的若干个词即可。
     2、文本摘要
        完整的文本摘要功能实现很复杂也很困难,这里所指,仅是简单应用:由前面推导过程中可知,句子的权重等于分词结果各词的权重之和,从而获得句子的权重排序。
     3、相似度计算
        相似度计算,我们将在下一篇文中单独介绍。

五、演示程序

  在演示程序显示词库结果时,是按本文所介绍的权重公式排序的。
  演示程序与词库生成的相同:
  特别感谢:王斌老师指出,本文公式实质上是TF-ICF。

六、联系方式:

  1、QQ:老憨 244589712
  2、邮箱:gzdmcaoyc@163.com
Deep Learning Specialization on Coursera

非主流自然语言处理——遗忘算法系列(四):改进TF-IDF权重公式》上有2条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注