TextRank算法及TF-IDF算法基本原理

1.TextRank算法

       TextRank算法是一种文本排序算法,由谷歌的网页重要性排序算法PageRank算法改进而来,它能够从一个给定的文本中提取出该文本的关键词关键词组,并使用抽取式的自动文摘方法提取出该文本的关键句。

        TextRank算法构造的网络中的边是无向有权边。TextRank算法的核心公式如下:

                ​​​​​​      

       WS(Vi):节点\large i的权重。

        d:阻尼系数,在PageRank算法中为按照超链接进行浏览的概率,在TextRank算法中视为通过边跳转到下一个节点的概率,一般取经验值为0.85 

        1-d:在PageRank算法为浏览者随机跳转到一个新网页的概率在TextRank算法中视为随机跳转到一个新节点的概率。

        :表示两个节点之间的边连接具有不同的重要程度。

        :与\large i相连的各个点

         \large j点到其他边的权重和。

        公式的意思即:TextRank中一个单词\large i的权重取决于与在\large i前面的各个点\large j组成的\large (j,i)这条边的权重,以及\large j这个点到其他其他边的权重之和。

TestRank关键词提取的具体步骤如下:

(1)把给定的文本T按照完整句子进行分割,即

(2)对于每个句子,进行分词和词性标注处理,并过滤掉停用词,只保留指定词性的单词,如名词、动词、形容词,即,其中是保留后的候选关键词。

(3)构建候选关键词图G = (V,E),其中V为节点集,由(2)生成的候选关键词组成,然后采用共现关系(co-occurrence)构造任两点之间的边,两个节点之间存在边仅当它们对应的词汇在长度为K的窗口中共现,K表示窗口大小,即最多共现K个单词。

(4)根据上面公式,迭代传播各节点的权重,直至收敛。

(5)对节点的权重进行倒序排序,从中得到最重要的t个单词,作为top-t关键词。

(6) 对于得到的top-t关键词,在原始文本中进行标记,若它们之间形成了相邻词组,则作为关键词组提取出来。

    从给定文本中提取关键句时,将文本中的每个句子分别看作一个节点,如果两个句子有相似性,则认为这两个句子对应的节点之间存在一条无向有权边,衡量句子之间相似性的公式如下:

                                ​​​​​​​        

 

 :分别为\large i\large j两个句子。

 :句子中的词。

         该公式中,分子为同时出现在两个句子中同一个词的数量,分母通过对句子中的个数求对数后取和、以用于遏制较长句子在相似度计算中的优势。

    根据以上相似度计算公式循环计算任意两个节点之间的相似度,设置阈值去掉两个节点之间相似度较低的边连接,构建出节点连接图,然后迭代计算每个节点的TextRank值,排序后选出TextRank值最高的几个节点对应的句子作为关键句。

 

 2.TF-IDF算法

         TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。

         TF-IDF的主要思想是:如果某个单词在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。

 (1)TF是词频

        词频(TF)表示词条(关键字)在文本中出现的频率

        这个数字通常会被归一化(一般是词频除以文章总词数), 以防止它偏向长的文件。

公式:

 

即:

其中 n_{i,j}是该词在文件 d_{j} 中出现的次数,分母则是文件 d_{j}中所有词汇出现的次数总和。
(2)​​​​IDF是逆向文件频率(Inverse Document Frequency)
        逆向文件频率 (IDF) 
由总文件数目除以包含该词语的文件的数目再将得到的商取对数得到。如果包含词条t的文档越少, IDF越大,则说明词条具有很好的类别区分能力。需要一个语料库(corpus),用来模拟语言的使用环境。

  公式:        

 其中,|D| 是语料库中的文件总数 |{j:ti∈dj}| 表示包含词语 ti 的文件数目(即 ni,j≠0 的文件数目)。如果该词语不在语料库中,就会导致分母为零,因此一般情况下使用 1+|{j:ti∈dj}|

即:

 (3)TF-IDF实际上是:TF * IDF

        某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语。

 可以看到,TF-IDF与一个词在文档中的出现次数成正比,与该词在整个语言中的出现次数成反比。所以,自动提取关键词的算法就很清楚了,就是计算出文档的每个词的TF-IDF值,然后按降序排列,取排在最前面的几个词。

 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值