TextRank 文本摘要

TextRank是一种用于文本的基于图的排序算法。通过把文本分割成若干组成单元(句子),构建节点连接图,用句子之间的相似度作为边的权重,通过循环迭代计算句子的TextRank值,最后抽取排名高的句子组合成文本摘要。

文本摘要

文本摘要可以大致分为两类——抽取型摘要和抽象型摘要:

  • 抽取型摘要:这种方法依赖于从文本中提取几个部分,例如短语、句子,把它们堆叠起来创建摘要。因此,这种抽取型的方法最重要的是识别出适合总结文本的句子。
  • 抽象型摘要:这种方法应用先进的NLP技术生成一篇全新的总结。可能总结中的文本甚至没有在原文中出现。

TextRank的打分思想依然是从PageRank的迭代思想衍生过来的,PageRank主要用于对在线搜索结果中的网页进行排序。

PageRank

PageRank如下公式所示:


Text Rank 公式

等式左边表示一个句子的权重(WS是weight_sum的缩写),右侧的求和表示每个相邻句子对本句子的贡献程度。与提取关键字的时候不同,一般认为全部句子都是相邻的,不再提取窗口。分子wji表示两个句子的相似程度,相似程度wji的计算,推荐使用BM25算法。分母又是一个weight_sum,而WS(Vj)代表上次迭代j的权重。整个公式是一个迭代的过程。

假设我们有4个网页——w1,w2,w3,w4。这些页面包含指向彼此的链接。有些页面可能没有链接,这些页面被称为悬空页面。


  • w1有指向w2、w4的链接
  • w2有指向w3和w1的链接
  • w4仅指向w1
  • w3没有指向的链接,因此为悬空页面

为了对这些页面进行排名,我们必须计算一个称为PageRank的分数。这个分数是用户访问该页面的概率。

为了获得用户从一个页面跳转到另一个页面的概率,我们将创建一个正方形矩阵M,它有n行和n列,其中n是网页的数量。



矩阵中得每个元素表示从一个页面链接进另一个页面的可能性。比如,如下高亮的方格包含的是从w1跳转到w2的概率。


如下是概率初始化的步骤:

  1. 从页面i连接到页面j的概率,也就是M[i][j],初始化为1/页面i的出链接总数wi
  2. 如果页面i没有到页面j的链接,那么M[i][j]初始化为0
  3. 如果一个页面是悬空页面,那么假设它链接到其他页面的概率为等可能的,因此M[i][j]初始化为1/页面总数

因此在本例中,矩阵M初始化后如下:



最后,这个矩阵中的值将以迭代的方式更新,以获得网页排名。

TextRank

TextRank算法是一种抽取式的无监督的文本摘要方法。

TextRank与PageRank的相似之处:

  • 用句子代替网页
  • 任意两个句子的相似性等价于网页转换概率
  • 相似性得分存储在一个方形矩阵中,类似于PageRank的矩阵M
TextRank算法流程
  1. 第一步是把所有文章整合成文本数据
  2. 接下来把文本分割成单个句子
  3. 然后,我们将为每个句子找到向量表示(词向量)。
  4. 计算句子向量间的相似性并存放在矩阵中
  5. 然后将相似矩阵转换为以句子为节点、相似性得分为边的图结构,用于句子TextRank计算。
  6. 最后,一定数量的排名最高的句子构成最后的摘要。

你可能感兴趣的:(TextRank 文本摘要)