关键词提取算法-TextRank

  今天要介绍的TextRank是一种用来作关键词提取的算法,也能够用于提取短语和自动摘要。由于TextRank是基于PageRank的,因此首先简要介绍下PageRank算法。算法

1.PageRank算法优化

  PageRank设计之初是用于Google的网页排名的,以该公司创办人拉里·佩奇(Larry Page)之姓来命名。Google用它来体现网页的相关性和重要性,在搜索引擎优化操做中是常常被用来评估网页优化的成效因素之一。PageRank经过互联网中的超连接关系来肯定一个网页的排名,其公式是经过一种投票的思想来设计的:若是咱们要计算网页A的PageRank值(如下简称PR值),那么咱们须要知道有哪些网页连接到网页A,也就是要首先获得网页A的入链,而后经过入链给网页A的投票来计算网页A的PR值。这样设计能够保证达到这样一个效果:当某些高质量的网页指向网页A的时候,那么网页A的PR值会由于这些高质量的投票而变大,而网页A被较少网页指向或被一些PR值较低的网页指向的时候,A的PR值也不会很大,这样能够合理地反映一个网页的质量水平。那么根据以上思想,佩奇设计了下面的公式:搜索引擎

该公式中,Vi表示某个网页,Vj表示连接到Vi的网页(即Vi的入链),S(Vi)表示网页Vi的PR值,In(Vi)表示网页Vi的全部入链的集合,Out(Vj)表示网页,d表示阻尼系数,是用来克服这个公式中“d *”后面的部分的固有缺陷用的:若是仅仅有求和的部分,那么该公式将没法处理没有入链的网页的PR值,由于这时,根据该公式这些网页的PR值为0,但实际状况却不是这样,全部加入了一个阻尼系数来确保每一个网页都有一个大于0的PR值,根据实验的结果,在0.85的阻尼系数下,大约100屡次迭代PR值就能收敛到一个稳定的值,而当阻尼系数接近1时,须要的迭代次数会陡然增长不少,且排序不稳定。公式中S(Vj)前面的分数指的是Vj全部出链指向的网页应该平分Vj的PR值,这样才算是把本身的票分给了本身连接到的网页。spa

 2.1 TextRank算法提取关键词.net

  TextRank是由PageRank改进而来,其公式有颇多类似之处,这里给出TextRank的公式:设计

能够看出,该公式仅仅比PageRank多了一个权重项Wji,用来表示两个节点之间的边链接有不一样的重要程度。TextRank用于关键词提取的算法以下:blog

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

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

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

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

  5)对节点权重进行倒序排序,从而获得最重要的T个单词,做为候选关键词。

  6)由5获得最重要的T个单词,在原始文本中进行标记,若造成相邻词组,则组合成多词关键词。

2.2 TextRank算法提取关键词短语

  提取关键词短语的方法基于关键词提取,能够简单认为:若是提取出的若干关键词在文本中相邻,那么构成一个被提取的关键短语。

2.3TextRank生成摘要

  将文本中的每一个句子分别看作一个节点,若是两个句子有类似性,那么认为这两个句子对应的节点之间存在一条无向有权边。考察句子类似度的方法是下面这个公式:

公式中,Si,Sj分别表示两个句子,Wk表示句子中的词,那么分子部分的意思是同时出如今两个句子中的同一个词的个数,分母是对句子中词的个数求对数之和。分母这样设计能够遏制较长的句子在类似度计算上的优点。

咱们能够根据以上类似度公式循环计算任意两个节点之间的类似度,根据阈值去掉两个节点之间类似度较低的边链接,构建出节点链接图,而后计算TextRank值,最后对全部TextRank值排序,选出TextRank值最高的几个节点对应的句子做为摘要。

参考 http://blog.csdn.net/u013041398/article/details/52473994

相关文章
相关标签/搜索