bert做文本摘要_Fine-tune BERT for Summarization: BERT和文本摘要

BERT论文系列导读

导读

文本摘要主要分为抽取式文本摘要和生成式文本摘要,抽取式文本摘要因为发展的时间比较长,因此在工业界应用的范围比较广。比较常用的抽取式文本摘要的算法就是Textrank,但是呢,本文要介绍一篇和BERT相关的抽取式摘要的模型。当然作为对比,本文也介绍了另一篇文章,结合了Textrank和BERT的模型,希望对大家有所启发。

Bert With Summarization

首先介绍一下模型的结构,原始的BERT的输出是针对Token而不是句子的,而且原始BERT的输入只有两个句子,并不适合文本摘要。

因此首先作者对BERT的结构做了一些更改,让他变得更适合文本摘要这个任务,作者的更改可以在下图体现到:作者使用[CLS]和[SEP]区分每一个句子,在原始的BERT中[CLS]表示一整个句子或者句子对的内容,在这里作者修改了模型结构,使用[CLS]来区分每一个句子

作者对每一个句子增加了segment embedding,segment embedding由句子的奇偶顺序决定,例如对于句子[sen1, sen2, sen3, sen4, sen5]他们的segment embedding就是[EA, EB, EA, EB, EA]。

Summarization layer

得到了句子的向量之后,接下来要做的工作就是判断这句话是否要组成文本的摘要。这就是一个二分类的工作了,作者尝试了三种summarization layer,分别是传统的全连接层

Inter-sentence Transformer

结构如下图所示,初始位置的句子向量为position embedding,之后每一个位置的输入都是由上一个位置的输入经过多头Attention层,layer norm和全连接层之后的输出结果。最后的输出依然是一个二分类。RNN层

这里是在BERT之后接了LSTM层,LSTM是非常适合NLP任务的一种结构,当然最后输出也是一个二分类的结果。

实验结果

作者在CNN Daily和NYT两个公开数据集上进行了实验,实验效果如下图所示,其中Lead是抽取文本的前三句话作为摘要

REFRESH是优化了ROUGE矩阵的抽取式文本摘要系统

NEUSUM是抽取式文本摘要的state-of-art的效果

PGN是Pointer Generator,生成式文本摘要

DCA是当前生成式文本摘要的state-of-art的效果

结论:抽取式文本摘要的效果优于生成式(甚至PGN的效果不如规则?)这一点我保持怀疑。BERT+Transformer的效果超过了目前抽取式模型的SOTA效果。

缺点:RNN是一层的和多层Transformer对比不太合理

实验结果显示生成式模型的效果还差于规则的结果,这点保持怀疑

没有解释对于过长的文本的是怎么处理的

推荐资料

这里给大家推荐另一篇论文——Sentence Centrality Revisited for Unsupervised Summarization。本文结合了Bert和Textrank算法,使用微调Bert作为Sentence encoder,来计算文本之间的相似度。最后的效果也是超过了SOAT的效果。

下面是提问和思考环节两篇文章对BERT的使用有什么区别

PACSUM对BERT做了怎么样的微调

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