HIBERT: Document Level Pre-training of Hierarchical Bidirectional Transformers for Document Summa...

HIBERT

Ref: https://arxiv.org/pdf/1905.06566.pdf

主流的文本摘要有2个方向,抽取式extractive和生成式abstractive。本文是基于BERT模型框架,进行从词到句子,句子到文档的encoding,实现hierarchical的文档级的抽取式摘要预训练模型。实验显示,HIBERT在CNN/Daily mail数据和New York Times 数据集上的ROUGE分别达到1.25和2.9,达到SOTA。

背景

介绍HIBERT前,先理解2个抽取方法。
Extractive Summarization
抽取式摘要顾名思义,就是从文档中,选择合适的句子作为该文档的概括。

  1. 一般会对文档中的句子进行排序,并会控制句长;
  2. 早期,会通过一些稀疏特征,比如句子的长度和位置,词频,事件特征等,通过分类或回归方式来判断句子是否为摘要;
  3. 再之后,使用DNN网络,输入文档,进入LSTM,再使用另一个LSTM预测每个句子是否为摘要。

最近的研究 (Vaswaniet al., 2017; Devlin et al., 2018) 都显示,transformers效果优于LSTM,所以本文使用的是transformers。

Abstractive Summarization
生成式,一般使用seq2seq框架,将一篇文档视为一个序列,摘要视为另一个序列。生成式的问题主要是结果不可控,尽管有copy mechanism,coverage model或者强化学习等辅助手段,生成的摘要依然可能会有语法问题,甚至不能符合文档主题。

优劣比较
生成式的摘要产出不稳定,从正确率角度,不如抽取式方案。
但是,抽取式方案,文档中的句子需要标签,一般摘要数据集只有【文档-摘要】对,句子级别的标签依靠规则(maximizing ROUGE between a set of sentences and reference summaries)且不够准确。

HIBERT

文档:
句子:
EOS token:

HIBERT TRAINING

图示,HIBERT模型训练结构。
Sent Encoder Transformer
句子级别,使用Transformer Encoder,EOS向量表示该句子的向量,对句子 :
,前者为word embedding,后者为positional embedding

Doc Encoder Transformer
文档级别,使用另一个Transformer Encoder,将每个句子视为token,进行编码。
每个句子的表示为来自Sent Encoder Transformer的EOS表示,即:

,注意,句子位置和词位置共享同一个positional embedding matrix

Decoder transformer
判断句子是否是摘要,结合上下句子,进行词预测【注意!不是句子】。

  1. Document Masking
    随机mask15%个句子,预测这些被掩码的句子。实际应用时,输入的文档是完整的,因此,在训练时,对mask的句子:
    1.1 80%的概率,mask的句子,对每一个被掩盖的词使用一个[MASK]表示;
    1.2 10%的概率,保持不变,即不做mask;
    1.3 10%的概率,随机选择一个句子替代被mask的句子。

  2. Sentence Prediction
    原始输入:
    经过mask操作后:
    被mask的句子集合:,K表示文档中被mask的句子的index
    经过HIBERT后得到的句子表达:

被mask的句子又是怎么被预测的呢?
传统的transformer decoder使用2层multi-head attention layers来获取encoder和decoder信息。
因为来自encoder的信息是一个向量,因此,HIBERT decoder仅使用一层multi-head attention layer。
对被mask的句子:
预测其中的每个词:
使用被mask的文档时,
句子encoder:
经过multi-head attention:
其中:


结合HIBERT-encoder后句子向量:

经过FFD:

预测词:

对所有被mask的句子M:

Extractive Summarization
上面只介绍了模型是如何训练的,那么是如何进行摘要抽取的呢?
DNN的抽取式摘要可视为序列标注。将一个文档当做一系列句子组合,对每个句子,有一个是否是摘要的标签,如下图:

Extractive Summarization Model

对一篇文档,句子标签:
经过HIBERT encoder,得到所有句子表达:
直接经过线性转换和softmax,得到概率:
其中:

Experiment

  1. Dataset
    训练数据:CNN Daily mail 和 New York Times[摘要词长超过50]的数据集
    预训练数据:GIGA-CM:6626842个文档
    分词工具:Standford CoreNLP toolkit + BPE
  2. 模型训练
    2.1 Open-domain的预训练:GIGA-CM ;
    2.2 In-domain的预训练:CNNDM orNYT50
    2.3 Fine-tune: CNNDM orNYT50
  3. Evaluation
    F1, ROUGE-1, ROUGE-2, ROUGE-M,以及人工评价。


    Results

你可能感兴趣的:(HIBERT: Document Level Pre-training of Hierarchical Bidirectional Transformers for Document Summa...)