分享一下前一段时间公司需要做的文章自动摘要。
一.摘要方法
目前来说,文章摘要自动生成主要分为两种方法:生成式和抽取式。
生成式采用sequence2sequence+Attention的模型,采用Encoder-Decoder的结构,具体方法可以阅读这篇论文:https://arxiv.org/pdf/1509.00685.pdf
抽取式则是通过关键词筛选等方法,从原文中截取句子组成摘要,目前的方法有MMR,TextRank,LDA等。
起初尝试了生成式摘要,使用文章的标题作为样本标签,对模型进行训练,但是效果不是很好,生成的摘要中包含了标题中的关键字,但是无法组成正确的语序。所以最终决定采用抽取式来生成新闻摘要。
后续两种方法在这里:
自动摘要生成(二):由PageRank转变而来的TextRank算法
二.具体算法
经过测试后,决定采用MMR,TextRank,文章标题相似度,TextRank+Embedding,全文词向量叠加Embedding相似度,这几种方法的加权组合,筛选出新闻的摘要。
本篇重点讲解MMR算法的理论和实现。
MMR
1.MMR原理
MMR是Maximal Marginal Releuance的缩写,中文为最大边界相关算法或最大边缘相关算法。
设计之初是用来计算Query语句与被搜索文档之间的相似度,从而对文档进行rank排序的算法。
公式在这:
当我们将MMR用于新闻摘要提取时,可以将Query看做是整篇文档,对公式稍作修改,变成下面这个样子: