当前位置:   article > 正文

使用TextRank生成文本摘要_textrank文本摘要

textrank文本摘要

因为项目内容中涉及自动生成文本摘要的功能,因此学习了一下TextRank算法实现摘要提取。

1.介绍一下TextRank算法

TextRank算法的思想是,拟定一个通用的评分标准,给文本中的每一个句子打分,所得分数就是该句子的权重,最后得到权重排名靠前的几个句子,构成最终的文本摘要。这就是所谓的TextRank自动生成摘要。

TextRank对每一个句子的打分思想由PageRank的迭代思想衍生而来,公式如下:


在这个公式中,WS(i)表示第i个句子的权重,右侧的求和表示的是每一个句子对所在文本的贡献程度。求和部分的分子wji表示两个句子j和i的相似程度,分母则是文本中相对应的部分的句子的权重之和,WS(Vj)表示上次迭代j的权重。

从整个公式可以看出这是一个反复迭代的过程。

由于wji需要计算两个句子的相似程度,因此这里我们需要引入另外的相似度算法,通常推荐使用BM25,这是目前已知的计算结果较为准确的算法之一。

这个公式中的d是一个常数,称为阻尼系数,通常在算法中我们取其值为0.85,当然也可以根据实际的情况进行调整。


2.TextRank算法的Java实现

2.1首先需要声明相关的变量

/**
 * 阻尼系数(DampingFactor),一般取值为0.85
 */
final double d = 0.85f;
/**
 * 最大迭代次数
 */
final int max_iter = 200;
final double min_diff = 0.001f;
/**
 * 文档句子的个数
 */
int D;
/**
 * 拆分为[句子[单词]]形式的文档
 */
List<List<String>> docs;
/**
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/281693
推荐阅读
相关标签
  

闽ICP备14008679号