首页 > 其他分享 >[论文阅读] Template-Based Headline Generator for Multiple Documents

[论文阅读] Template-Based Headline Generator for Multiple Documents

时间:2022-12-06 20:47:58浏览次数:62  
标签:Documents Based Generator 模型 摘要 生成 文档 标题 句子

pre

title: Template-Based Headline Generator for Multiple Documents
accepted: IEEE Access
paper: https://ieeexplore.ieee.org/document/9729734/
code: https://github.com/klks0304/mud2h
pandoc: pandoc "[论文阅读] Template-Based Headline Generator for Multiple Documents.md" -o "[论文阅读] Template-Based Headline Generator for Multiple Documents.docx" --reference-doc=custom-reference.docx

关键词:多文档摘要,图神经网络,标题生成,二阶段架构, soft template

摘要模型

ref: https://zhuanlan.zhihu.com/p/135468859

摘要模型(Summarization model),也称为文本压缩模型(Compression model),用于将长文本(source)压缩为短文本(summaries),同时不丢失source的主要信息,使得人们可以浏览较短的summaries获悉source的主要内容。

根据摘要不同的生成方式,可以将摘要模型分成两类:抽取式摘要模型(Extractive Summarization model)和生成式摘要模型(Abstractive Summarization model)。

抽取式摘要模型

抽取式摘要模型指,从source中选择合适的句子作为summaries的模型,要求被选择的句子同时满足两个要求:

  1. 包含source中全部的重要信息,并与其在逻辑上保持一致,这实际上是在强调summaries的information recall
  2. 具备最低的冗余性,即包含类似信息的句子不应同时出现在summaries中,包含非重要信息的句子不应出现在summaries中,这实际上是在强调summaries的information precision。

抽取式摘要生成任务通常被视为sequence labeling task,decoder沿着待压缩文档逐句进行二分类,每一步解码时,综合当前的句子语义信息、上一步的解码状态和待压缩文档的全局语义信息,判断当前的句子是否应被选择为摘要。

因此抽取式摘要能以较高标准满足上述两个要求,但是摘要的内容直接从原文抽取,文本连贯性很差,如果涉及实体的指代(如:he、it、this等)还需要进行指代消解(coreference resolution)。为此,生成式摘要模型被提出来用于生成更加连贯的summaries。

生成式摘要模型

生成式摘要模型指,根据source的重要信息,由decoder自发地生成summaries。与抽取式摘要一样,生成式摘要仍需满足上述的两个要求,即信息性和冗余性;同时,与抽取式摘要相比,生成式摘要具备更高的抽象性(abstraction)和连贯性(coherence/fluency),在信息的表达方式上具备更高的自由度。

生成式摘要模型通常采用seq2seq框架,encoder编码待压缩文档的语义信息,decoder通过attention机制自适应地选择有效的上下文信息,逐字生成连贯的、信息一致的摘要。

decoder具备更高的自由度,摘要更连贯,如果经过LM objective预训练则更为明显,更难满足那俩要求,容易出现以下几个错误:

  1. 生成与source重要信息无关的内容,甚至生成与source重要信息在逻辑上相悖的内容,当source中涉及大量的实体(entity)和关系(relation)时,这种情况尤其明显
  2. decoder在生成较长的摘要时,忘记之前已经对某个重要信息进行压缩,因而不断地对该重要信息进行重复压缩,生成重复的摘要,提高了冗余性。

生成式摘要会遇到OOV问题:为了提高decoder的生成效率,decoder总是使用有限的vocabulary,在decode过程中,decoder的vocabulary可能缺少用于描述source重要信息的tokens,尤其是source中的一些重要实体和关系,此时decoder生成<UNK>。为了缓解这种情况,常给生成式摘要模型增加copy mechanism,即当decoder的vocabulary没有包含某个描述source重要信息的token时,从source中复制该token,而非生成<UNK>

实践中来看,增加copy mechanism的生成式摘要模型生成的摘要的抽象度(不从source中copy token的概率)往往大幅下降

针对问题

从多文档摘要、生成标题

INTRODUCTION

信息爆炸时代通过标题决定文章是否有阅读价值很有用。
所提模型 "from Multi-Document to Headline",包含两阶段:多文档摘要跟多文档标题生成。

该模型可以生成接近用户偏好的真实定制化标题,而不是hard-template方式输入用户名跟目的地(这俩个是数据集里面的属性吧)

不同于TemPEST,Rerank增加了用户点击历史,用以找出用户偏好的模板风格。这里选择用户偏好的模板直接开始,避免了编码器稀疏输入的问题(没看TemPEST不大好理解,难道是所有模板都输入,只有少数偏好的,因此较为稀疏?),Rewrite部分使用 single selective encoder(啥?网上没有)

贡献

  1. 提出MuD2H,第一个使用图神经网络学习表征嵌入的工作,能捕捉多个文档间句子的关系。靠这些嵌入将单一文档的标题生成SOTA模型扩展到多文档。
  2. MuD2H使用基于template的方法,引入soft template作为额外输入来指导seq2seq模型。标题template的选择基于用户点击历史数据,随后基于句子嵌入和所选template用双向选择编码器(bi-directional slective encoder)生成标题。
  3. 创建了多文档标题生成的新数据集
  4. 实验显示本文的句子选择方法能选出保持相关性跟多样性的关键句。提出的MuD2H不仅在Rouge方面超越baselines,也能生成用户更满意的标题。

核心思想

整体是二阶段的方法,extract-abstract,创新在于根据用户点击历史数据选择几篇相近文章的标题作为soft template,然后加一个损失项约束生成的标题与之相似,标题使用双向选择编码器(bi-directional slective encoder)生成

相关研究

TemPEST 是一个 soft template-based seq2seq (基于软模板的序列到序列) 模型,包含三个步骤:Retrieve, Rerank, Rewrite。该模型构建了一个信息检索系统用以索引和搜索,将搜索结果重排然后选择合适的template。

除了摘要跟缩略输入文档,标题生成模型还需要有合适的输出。但TemPEST只能用于单个文档。

抽取式摘要

基于抽取的摘要早期研究受Pagerank这篇论文影响,如TextRank, LexRank,他们计算句子相似图的显著性。 Li et al.用支持向量回归模型(SVR)做特征选择,以及加权来客服语意重复问题。GreedyKL使用KL散度作为从给定文本选择摘要的评价标准(criterion)

抽取式摘要的新趋势是基于学习,G-Flow致力于句子选择跟独立排序。为了评估一致性,G-Flow
使用基于手工特征的近似话语图?(approximate discourse grap, ADG)来评估质量。

R2N2发展了一个针对荣誉句子的排序框架。它将输入句子转换为二元树,通过RNN在每个节点递归地处理二元树。

Yasunage et al.应用图卷积网络到他们提出的个性化话语图?(personalized discourse grap, PDG),并使用GRU来计算句子嵌入,模型生成簇嵌入,使用文档级的GRU在句子间完全汇聚特征。

HSG构建了一个异质图(heterogeneous graph),除了句子,含有不同粒度的语义结点。此外,它还能灵活地从单文档扩展到多文档。

SgSum是一个基于图的方法,用于基于抽取的多文档摘要。SgSum将句子看作结点,然后生成输入文档的句子关系图。模型输出子图,将其作为摘要结果。

最近发表的ThresSum用一个强大的编码器强调每个句子,利用监督变量(supervised variables )选择尽可能跟原始文章意思相近的句子,不需对选择k个句子设限。

生成式摘要

生成式摘要方法用上序列到序列神经网络架构,近来展示出富有前景的结果,其编码文档然后将学来的表达解码为生成的摘要。

Rush et al. 首先应用基于注意力的序列到序列模型到生成式摘要中。

Nallapati et al.进一步将序列到序列模型变为基于RNN的模型,效果显著。基于RNN的编码解码结构一直用到现在。例如DRGD使用循环生成式解码器来学习文本的隐信息。

另一方面,Cao et al. 注意到seq2seq经常按顺序复制源单词,于是提出基于 soft template的摘要 \(Re^3Sum\)。在传统基于template的方法中,使用手工定义规则的template是一个不完整的句子,可以用关键词填充。由于是手工定义的,因此相当耗时,也需要大量人力。\(Re^3Sum\)提出一种新的、基于soft template 的架构,使用已有的摘要作为template来指导seq2seq模型。

BiSET是基于template的SOTA生成式摘要方法,沿袭以往的架构。为了提高对输出的表达,使用两个门的双向选择层来选择关键信息。

TemPEST提出了一种个性化主题生成模型,该模型添加了用户感知序列编码器来生成用户特定的文章表示,并帮助机器生成用户特定主题。

大多数生成式摘要方法都是seq2seq模型,因此NATS工具包收集了这些方法并在CNN/Daily Mail数据集上执行。

通常,生成式方法仅适用于单个文档摘要。最近的发表的BASS应用语义图来连接输入文档中的单词。BASS连接输入的方法可以连接不同文档之间的单词,因此它也适用于多文档摘要

BASS成功地缩小了多文档摘要问题和生成式摘要模型之间的差距。

混合式摘要

Liu等人提出了一种两阶段模型T-DMCA,用于多文档摘要、连接抽取和生成式摘要方法。这项工作并不因其模型而出名,但提出了一个著名的数据集WikiSum,并被后续摘要工作所使用。

T-DMCA在抽取阶段应用 tf-idf 对其句子进行排序时具有最佳结果,然后在生成阶段应用具有压缩内存(memory-compressed)注意力的transformer解码器。

HierSumm也是一个两阶段模型,它采用逻辑回归来排序段落,然后应用全局transformer层来交换各段落的信息,然后输出生成式摘要

ESCA在句子编码器之后应用矩阵层。矩阵层有效地控制extractor的结果。由于抽取的摘要给出了一个更人性化的句子,因此调整结果,然后将其与abstractor相结合,可以得到更高质量的摘要。

TG MultiSum抽取每个文档的主题,并构建表示每个文档的异构图,然后学习摘要。

CABSD的工作原理类似,他们从所学的子主题中抽取句子,然后生成摘要。ESCA、TGMultiSum和CABSD等效果好的原因就是分了两个阶段生成。他们首先从输入中抽取extract,然后生成abstract摘要输出,这是两阶段多文档摘要的趋势。

方法(模型)流程

本文的模型也分了两个阶段

图1 MuD2H的框架,分成extractor, abstractor两个阶段

在生成输入文档的标题之前,我们抽取句子以生成文档的大体含义。总的来说,第一阶段是extractor,第二阶段是abstractor。图1显示了所提模型的结构。

THE EXTRACTOR

extractor部分,给定文档集D,目的是从这些文档中抽取一些有代表性的句子,每个文档\(d_i\)又由句子集S组成,用\(M_i\)表示\(d_i\)中的句子数量

传统的基于抽取的摘要方法依赖于人工特征。为了解决这个问题,我们提出了一种数据驱动方法,采用了基于图的学习方法模型。建立了一个句子关系图来捕捉句子之间的关系,每个句子都被送入一个递归神经网络来生成句子嵌入。接下来用图卷积网络处理句子关系图,并将句子嵌入作为输入节点特征,这样可以为每个句子产生一个高阶隐藏特征。

之后,我们使用线性层来估计每个句子的显著性得分,这样有助于模型从文档中提取合适的句子。最后,我们贪心地选择突出句子来表示输入文档集,而不是选择具有最高显著性分数的那些句子。

SENTENCE RELATION GRAPH

句子关系图中,每个顶点表示一个句子\(s_{i,j}\),\(s_{i,j}\)跟\(s_{i',j'}\)之间无向边的权重代表相似度。

我们使用每个句子对\((s_{i,j},\; s_{i',j'})\)之间的余弦相似性来构造一个完整的图。然而,如果我们直接输入这个语义句子关系完整图,该模型就不能有效地工作,因为完整图中有太多的冗余信息。

为了强调具有更高相似度的句子,我们设置了阈值\(t_g\),并删除了权重低于阈值的边。句子关系图通过显著性估计的图卷积网络表示为邻接矩阵A。关系图生成过程的算法形式在算法1中给出。

图算法1 句子关系图

SENTENCE EMBEDDING

给定文档集D,编码所有句子,对于句子\(s_{i,j}\)里的所有单词,每个词都转换成词向量,然后喂入句编码器去生成\(s_{i,j}\)的句编码\(s'_{i,j}\),其维度是\(d_s\),使用GRU作为句编码器,最后一个隐层的状态作为句编码。所有文档集的句编码如下拼接

\[X = \left[s_{ 1, 1}^{\prime} \ldots s_{ i, j}^{\prime}\right]^T \in \mathbb{R}^{M\times d_s} \tag{1} \]

注意M表示所有出现在文档集D的句子数量。矩阵X是用于图卷积网络的特征矩阵。

SALIENCE ESTIMATION

图卷积网络是一种多层神经网络,它直接对图进行操作,并基于其邻居的属性导出结点的嵌入向量。分层线性公式(Layer-wise linear formulation)允许模型捕获句子中更高级别的隐藏特征。在该步骤中,使用邻接矩阵A来表示句子图,并使用X作为其特征矩阵的表示。

  • \(A \in \mathbb{R}^{M\times M}\),是句子关系图的邻接矩阵,M是顶点数量,其中1表示结点相连,0表示不相连
  • \(X \in \mathbb{R}^{M\times d_s}\),输入的结点特征矩阵,\(d_s\)是特征向量维度

这一步的输出是每个结点的高级隐特征,\(S^{\prime\prime} \in \mathbb{R}^{M\times F}\),其中F是输出向量嵌入的维度。为了在聚合(aggregate?)中纳入结点自己的特征,为邻接矩阵A增加了self-loops,有\(\tilde{A} = A + I_M\),其中\(I_M\)是单位矩阵(identity matrix),propagation规则如下:

\[S^{\prime\prime}=ELU(\hat{A}\cdot E L U(\hat{A}X W_{0}+b_{0})W_{1}+b_{1}) \tag{2} \]

\(\hat{A}\ =\ D^{-\frac{1}{2}}\tilde{A}D^{-\frac{1}{2}}\) 是归一化的对称邻接矩阵,D是度矩阵,第i个对角元素恰好为\(\tilde{A}\)第i行元素和,

注:度矩阵是对角阵,对角上的元素为各个顶点的度,顶点\(v_{i}\)的度表示和该顶点相关联的边的数量。
再注:推测加的self-loops表示结点到自身的一条边,所以D的元素才会是\(\tilde{A}\)第i行元素和

\(W_l\)是要在第i层中学习的输入-隐层权重矩阵(这\(W_l\)是不是该写成\(W_i\),毕竟l都没出现过),\(b_i\)是偏置向量。我们使用指数线性单元(ELU)代替线性整流函数(或修正线性单元,Rectified Linear Unit, ReLU)作为激活函数,因为指数线性单元倾向于更快地将损失(cost)收敛到零,并更好地处理消失梯度问题。随后,我们使用线性层将每个句子的高级隐藏特征投影为显著性得分。此外,我们通过softmax标准化显著性得分:

\[sal(s_{i,j})=s o f m a x(s_{i,j}^{\prime\prime}W_{2}+b_{2}) \tag{3} \]

其中\(s_{i,j}\)是第i个文档的第j个句子,而\(s_{i,j}^{\prime\prime}\)是句子集S第(\(\sum_{i^{\prime}=1}^{j}M_{i^{\prime}-1}+j\))行的元素,其中\(M_0=0\)

注:关于ReLU论文的描述是Reflect Linear Unit,这玩意搜不到,感觉说的应该是Rectified Linear Unit

TRAINING

以前的工作,使用交叉熵损失进行训练。用交叉熵训练模型时,损失倾向于输出接近0或1的分数,这可能会给排名造成问题(obstacle for ranking)。为了克服这个问题,我们训练了具有对比损失的模型。

由于通过显著性得分来选择句子,所以句子选择问题可以被认为是一个排序问题。句子之间的相对排名被认为比绝对分数更重要,而对比损失给出了相对排名分数。因此,参考对比损失,我们将排名损失(ranking loss)定义为

\[\mathcal{L} = \frac{1}{2}\sum_{s_{i},s_{j}\in S}\left((1-y)\cdot D(\mathrm{sal}(s_{i}),\mathrm{sal}(s_{j}))^{2} % + y\cdot\operatorname*{max}\left(\mu-D\big(\ sal(s_{i}),\ sal(s_{j})\big),0\right)^{2}\right) \tag{4} \]

其中y是一个标签,表示距离与\(\sigma = \sqrt{V a r(R(S))}\)比,两个句子的排名是相似(y=0)还是远离(y=1)。μ是设定的边距(margin)。D表示两个给定句子之间的距离,这里使用欧式距离。更准确地说

\[D(x_{i},x_{j})=\left\|x_{i}-x_{j}\right\|. \tag{5} \]

以及

\[y= \begin{cases} 0,\quad if\,D(R(s_{i}),R(s_{j}))\leq\sigma\\ 1,\quad if\,D(R(s_{i}),R(s_{j})) > \sigma \end{cases} \tag{6} \]

其中\(R(s) = s ofm a x(r(s))\),\(r(s)\)是句子s的ROUGE-1召回分数,与ground-truth比较而来
注:Rouge(Recall-Oriented Understudy for Gisting Evaluation),是评估自动文摘以及机器翻译的一组指标。它通过将自动生成的摘要或翻译与一组参考摘要(通常是人工生成的)进行比较计算,得出相应的分值,以衡量自动生成的摘要或翻译与参考摘要之间的“相似度”。

公式4第一项,y=0时启用,目标函数表示如果两个数据点应当相似(y=0),就最小化它们的显著性分数的差值,尽量将二者拉近。

公式4第二项,y=1时启用,当两个数据点之间的距离应当比较远(y=1),同时距离又小于margin时,就将距离替换为margin,给损失函数一个惩罚(因为此时实际距离不够远),否则离得够远以至于小于\(\mu\),这时损失为0,看起来像一个hinge loss

公式6的\(\sigma\)根据公式是R(S)方差的平方根,S大写,按前面所说是整个句子集,所以\(\sigma\)是所有句子ROUGE-1召回分数的标准差,用在这里像是起到阈值的作用,只要两个句子的分数差小于它就被认为是相近的,y赋为0

SENTENCE SELECTION

在根据模型的预测分数按降序排列句子后,开始选择句子。并非直观地选择Top-k个句子,而是应用贪心策略,它能够选择多样化的句子,而不是重复意义的句子。

每次从列表顶部选择一个句子时,检查它是否与现有句子重复。为了确定句子是否冗余,使用tf-idf余弦相似度。

图算法2:句子选择算法

参考伪代码算法2,对于句子s和所选句子集C,如果s和C中某个句子之间的余弦相似性高于阈值\(t_s\),则该句子被认为是多余的,丢弃。否则只要非空就选择该句子,重复这个步骤,直到达到预期的句子数n。算法形式如算法2所示。(redThe algorithmic form us shown in Algorithm 2,什么破句子)

这种方法作者称之为贪心,跟top-k差别在于多了个去重操作

THE ABSTRACTOR

在abstractor中,我们的目标是生成一个标题,它需要个性化、吸引人、忠于原文且在长度限制内。因此,我们参考了以往abstractor中基于template的摘要框架。

abstractor的输入是extractor生成的句子集合。这些句子是连在一起的,因此可以认为是一篇文章。每个文章\(A_r\)由n个单词\(\{x_{i}^{a}\mid i\in[1,n]\}\)构成。设T表示训练语料库中的一组模板,\(T=\{t_i|i\in [1,p]\}\),其中p是数据集中所有候选模板的数量。

对于给定的文章,我们使用信息检索(IR)平台从T中找出一些soft template候选,然后通过重新排列或用户点击历史来进一步选择最佳模板\(T'=(x^t_1,x^t_2,…x^t_n)\)。随后,我们扩展了seq2seq模型,通过从\(A_r\)和\(T'\)学习重要信息来生成标题。

RETRIEVE AND RERANK

Retrieve和Rerank的目标是为\(A_r\)选择最佳 template t。Retrieve旨在从训练语料库中返回一些template候选,假设相似的句子具有相似的摘要模式。

因此,给定一篇文章,在训练语料库中找到其相似的文章(analogy),并选择其标题作为模板候选。给定\(A_r\),使用IR系统\(Pylucene^2\)检索一组类似的文章,它们的标题将被视为模板候选。对于每个\(A_r\),选择前30个搜索结果作为模板候选。

检索过程仅基于单词匹配或文本相似性,不测量它们的深层语义关系。因此,使用Doc2Vec嵌入来计算余弦相似度,以识别候选模板中的最佳模板。

此外,在我们的工作中,我们希望生成的标题是个性化的,因此我们添加了用户点击历史,以帮助我们选择模板。我们将用户单击的产品的标题记录为用户单击历史。因此,在Rerank过程中,我们加入用户点击历史以计算候选模板的余弦相似度,从而为\(A_r\)选择所需的模板t。

REWRITE

我们在Rewrite中的实现模型受到BiSET和选择性机制的启发。在Rewrite之前,注意有一篇源文章\(A_r\)及其从Retrieve和Rerank中学习到的模板T′。我们使用两层BiLSTM作为编码器层,分别将文章和模板编码为隐藏状态\(h^a_i\)和\(h^t_j\)。

图2 选择编码器

Rewrite的作用是选择重要信息。如图2所示,有两个选择门:模板到文章(T2A)门和文章到模板(A2T)门。

T2A门可以应用模板来过滤文章表示。我们将最后一个前向隐藏状态\(\overrightarrow{h_n^t}\)和后向隐藏状态\(\overleftarrow{h_1^t}\)连接起来作为模板表示\(h^t\)。对于每个时间步i,它将\(h^t\)和\(h^a_i\)作为输入,以输出模板门向量\(g^i\),用以从\(h^a_i\)中选择 :

\[g_{i}=\sigma\left(W_{a}h_{i}^{a}+W_{t}h^{t}+b_{a}\right) \tag{7} \]

\[h_{i}^{a^{\prime}}=h_{i}^{a}\odot g_{i} \tag{8} \]

其中\(\sigma\)表示sigmoid激活函数,\(\odot\)是逐元素乘法,经过T2A门之后得到了向量序列\((h_{1}^{a^{\prime}}, h_{2}^{a^{\prime}}, \ldots, h_{n}^{a^{\prime}}).\)

这个门看起来就是根据template隐向量输出门向量,将文章向量\(h^a_i\)做一个过滤,见图2下半部分,结果\(h_{i}^{a^{\prime}}\)应该是带有template信息的文章向量

A2T门的目的是控制\(h_{n}^{a^\prime}\)在最终文章表示中的比例。假定源文档可信,因此当前阶段文章\(A_r\)也是可信的,可以学习置信度d来决定\(h_{n}^{a^{\prime}}\)的比例

\[d=\sigma\left((h^{a})^{\top}W_{d}h^{t}+b_{d}\right) \tag{9} \]

\(h^a\)跟\(h^t\)产生方式一样:拼接前向隐藏状态\(\overrightarrow{h_{n\prime}^a}\)和后向隐藏状态\(\overleftarrow{h_1^a}\),(感觉这个\(n\prime\)上标好像是多余的啊)

最终文章表达通过\(h^{a}\)和\(h^{a'}\)的加权和来计算得到:

\[z_{i}^{a}=d\cdot(h_{i}^{a^{\prime}})+(1-d)\cdot(h_{i}^{a}) \tag{10} \]

上述是输入文章的编码部分,选择重要信息然后给出向量表达。应该是通过门机制将一部分模板信息融入了文章中。

在解码部分(这里对应图1下半部分中间的Decoder部分),堆了两层LSTM,然后使用注意力机制生成标题。每个时间步t,LSTM读入前一个词嵌入\(w_{t-1}\)和上一步的隐层状态\(h^c_{t-1}\),然后为当前步生成一个新的一层状态:

\[h_{t}^{c}=L S T M(w_{t-1},h_{t-1}^{c}) \tag{11} \]

其中LSTM初始隐层状态就是原始文章表达\(h^a\)

这作者讲得真的好细,每一步,每个状态怎么来的,感觉很适合刚入门的人阅读,挺友好,只是有些标记出来得仍有些突然。

当前时间步长t的上下文向量\(c_t\)通过串联注意力机制?(concatenate attention mechanism)来计算,该机制使用\(h^c_t\)和\(z^a\)来获得重要性得分。然后将重要性得分归一化以通过加权和获得当前上下文向量:

\[c_{t}=\sum_{i=1}^{L}a_{t,i}z_{i}^{a} \tag{12} \]

\[a_{t,i}={\frac{\exp(e_{t,i})}{\sum_{i=1}^{L}\exp(e_{t,i})}} \tag{13} \]

\[e_{t,i}=(z_{i}^{a})^\mathsf{T}W_{c}h_{t}^{c} \tag{14} \]

这公式实际上得倒着看,先算重要性分数\(e_{t,i}\)再根据它加权\(z_{i}^{a}\)得到当前的上下文向量\(c_{t}\)

之后使用连接层将\(h^c_t\)和上下文向量\(c_t\)组合为新的readout隐层状态\(h^o_t\):

\[h_{t}^{o}=\operatorname{tanh}\left(W_{o}[c_{t};h_{t}^{c}]\right) \tag{15} \]

最终\(h^o_t\)喂入softmax来输出目标词分布,以根据已有的词\(w_1,w_2,\ldots,w_{t-1}\)预测下一个词\(w_t\):

\[p\bigl(w_{t}\mid w_{1},\ldots,w_{t-1}\bigr)=s o f\iota m a x\bigl(W_{p}h_{t}^{o}\bigr) \tag{16} \]

TRAINING

目标函数包括两部分。为了学习标题的生成,我们最小化生成的标题w和人类书写的标题\(w^*\)之间的负对数似然:

\[\mathcal{L}_{h}=-\frac{1}{M}\sum_{i=1}^{M}\sum_{j=1}^{L}\log p(w_{j}^{*(i)}|w_{j-1}^{(i)},x^{a(i)},x^{t(i)}) \tag{17} \]

为了学习template的风格,最小化生成标题w跟template \(w^t\)之间的负对数似然:

\[\mathcal{L}_{t}=-\frac{1}{M}\sum_{i=1}^{M}\sum_{j=1}^{L}\log p(w_{j}^{t(i)}| w_{j-1}^{(i)}, x^{a(i)}, x^{t(i)}) \tag{18} \]

换句话说,调整\(\mathcal{L}_{h}\)优化了来自输入文档的信息。如果\(\mathcal{L}_{h}\)很小,那么它接近于输入集的原始含义。另一方面,调整\(\mathcal{L}_{t}\)可以优化标题的个性化风格。当\(\mathcal{L}_{t}\)较小时,它更接近用户的偏好模板,因此输出个性化的标题。结合上面两个可得最终的目标函数:

\[\mathcal{L} = \mathcal{L}_{h} + \alpha\mathcal{L}_{t} \tag{19} \]

这个\(\mathcal{L}_{t}\)应该就是利用RETRIEVE AND RERANK部分选择的soft template指导标题生成,M:所有出现在文档集D的句子数量;直接约束生成的标题跟template接近,真够soft,\(\alpha\)估计得小于1,不然意思怕是要被带偏,毕竟template跟groundtruth肯定是有差别的。

而这里的soft是与hard template相对的,hard方式实际上是填空,感觉类似prompt,模型抽出关键词填入template留空的位置,比较僵硬

EXPERIMENT

这项工作的目标是为输入文档集生成合适的标题。更具体地说,我们将
问题转化为以下几个点:

  • 如何构建句子关系图以实现模型的最佳性能?
  • 我们的抽取器是否优于其他基于extraction的摘要模型?
  • 使用完整的两阶段架构模型是否比仅使用abstractor模型更好?

DATASETS

表1 展示数据集中产品介绍跟描述的差异

自建的新数据集来自KKday(总部位于台湾的在线深度旅游体验平台),内含产品描述、产品介绍跟博客文章。数据集可参考表1。博客文章介绍一个景点(attraction)且包含多个与之有关的产品,因此博客文章及其标题是用以跟生成的标题进行比较的baseline。

KKday提供来自90多个国家的30000多种产品,包括当地旅游、活动和门票。我们使用产品介绍、描述和标题来训练extractor。

KKday博客数据集提到的多个文档中不同的产品为MuD2H应用提供了研究材料。平均而言,每个博客都提到了八种产品。MuD2H生成的标题与博客文章的原始标题进行了比较。

图3 产品介绍和博客数据之间的关系。博客标题当做其中介绍的k个产品的多文档标题

表2 数据集概述

总之,80%的数据集被分配用于训练,20%用于验证和测试。图3描述了产品介绍和博客信息之间的关系。补充材料中提供了数据集和实现细节,不过下发的pdf没有附录就偷个懒吧。数据集概述见表2。

IMPLEMENTATION DETAILS

为了设置句子关系图的边权重,我们根据以下实验设置\(t_g=0.1\),这是上述SENTENCE RELATION GRAPH部分用于修剪句子图的阈值。每个文档都由Chinese Knowledge and Information Processin(CKIP)标记。Word2Vec和Doc2Vec嵌入使用gensim实现,并在最新的中文维基百科数据集上进行预训练。句子嵌入的输出维度与单词嵌入相同,即250。

对于图卷积网络,将第一卷积层的嵌入大小设置为400,将第二卷积层的嵌入大小设置为128。batch size为16。学习率为0.0075,使用Adam进行随机梯度下降,窗口大小为10,并且启用early stopping。我们在线性层之前应用概率为0.2的dropout。句子选择中的阈值\(t_s\)为0.8(根据验证集调整)。

对于abstractor,我们参考BiSET构建我们的架构,BiSET是从流行的seq2seq框架OpenNMT扩展而来的。单词嵌入和LSTM隐藏状态的大小设置为500。此外,使用Adam优化器以0.001的学习率优化目标函数。对于所有baseline,我们使用其原始论文或实现中的默认参数设置。

EVALUATION METRICS

为了分析句子关系图中不同方法的影响,我们使用ormalized Discounted Cumulative Gain(NDCG)进行评估。NDCG是一种排名评估指标,训练extractor时将问题视为ranking问题,因此我们使用NDCG进行性能比较。

对于摘要任务,我们采用Rouge分数进行自动评估。Rouge-1和Rouge-2是最大公共子序列长度的比率,Rouge-L可以找出原始摘要和预测摘要之间最长的单词公共子序列。

此外,我们使用Word2Sec余弦相似度来度量输出和每个文档之间的平均相似度,因为希望输出能够表达每个文档的含义。

注:Rouge-N的N是n-gram的n,看起来表示连续的n个词;L即是LCS(longest common subsequence,最长公共子序列)的首字母。Rouge-N跟Rouge-L计算公式不同,而且Rouge-家族还有其他的成员,但都是用于衡量自动生成的摘要与参考摘要之间的“相似度”。

SENTENCE RELATION GRAPH COMPARISON

将句子转换为数字结果,不同转换方法将影响我们的句子关系图。作者尝试了不同的方法,包括两种嵌入方法(LexRank和TextRank)。将\(t_g\)值从0转换为0.2,以观察影响。考虑的方法包括:

  1. Cosine:计算每个句子对的Word2Vec余弦相似度
  2. TextRank:创建一个加权图,其中结点是句子,边基于单词重叠的相似性度量定义。然后使用类似于PageRank的算法来计算句子的重要性和精确的边权重。提取PageRank中使用的描述马尔可夫链的转移矩阵。
  3. LexRank:一种广泛使用的、基于句子图中特征向量中心性概念的多文档抽取式摘要器,用于设置边权重。我们构建了一个以句子为节点的图,并通过tf-idf余弦相似度对边进行加权,然后运行类似PageRank的算法。
  4. tf-idf:将一个句子视为查询,将多文档中的所有句子视为文档。权重对应于每个查询对之间的余弦相似度。

表3 基于NDCG构建的句子关系图分析

表3是实验结果。我们为其余的MuD2H模型(本文模型)选择了实验结果最佳的方法和参数。结果表明,在NDCG评估中,使用余弦相似度构建句子关系图明显优于其他方法。可能的原因是余弦相似性依赖于句子的语义,而不是其单词匹配。

QUALITATIVE RESULTS

表4 多种多样基于抽取的模型在测试集上的Rouge召回分数

首先,将extractor模型与一些基于抽取的摘要进行了比较。表4显示了ROUGE召回分数的结果。Random表示在本文的句子选择集中随机选择k个句子,Top-k通过余弦相似性获取最相似的句子。与传统方法相比,例如TextRank和Continuous LexRank(Cont.LexRank),本文的模型在Rouge评分中表现更好。

基于图的SOTA方法SemSentSum是一个完全数据驱动的模型,使用交叉熵作为目标函数。跟设想的一样,它在Rouge-2和Rouge-L中优于其他传统baseline,但本文的模型仍然表现更好。

这是因为句子排名在深层开始变得不稳定,因为SemSentSum将交叉熵作为其目标函数,损失趋于消失,而我们的对比损失函数发挥了作用。

最大边际相关性(Maximal Margin Relevenc, MMR)是一种著名的多文档贪心算法,并且有了不少改进被提出。为了进行比较,我们使用SOTA基于短语嵌入的MMR作为baseline。它专注于生成非冗余摘要,因此其输出具有相对较高的单词多样性。

Top-k的Rough-1得分(标红的第二行)高于Rouge-2和Rouge-L得分。可以看出,Top-k的这些分数与所提出的方法接近,这意味着Top-k也可以包括含义相近的句子。

表6 展示句子选择方法优势的案例研究(Case study)。每个例子包含7个句子,top-k选的第二句是重复的,跟第一句含义相似。避免重复的句子可以是得模型捕获更多的意思(英文根据中文翻译)

然而,表6提供了一个案例研究证明Top-k的局限性。简而言之,Top-k会选择具有重复意义的句子。如表6所示,Top-k选择的第一句和第二句都是关于环球快车通行证(Universal Express Pass)的。

相反,本文提出的方法可以通过考虑多样性和相关性来选择句子,结果显示了所提方法的优点。然而,很难确定找多样的句子是否关键,因为可能找到更多离题的句子。从结果来看,基于图的方法,包括我们的模型和SemSentSum在内,在ROUGE召回分数方面优于MMR。

在多文档摘要任务中,一个重要的目标是生成的结果需要表达每个文档的焦点。这个问题是在语义层面,所以我们采用了Word2Sec相似性。我们测量输出和每个输入文档之间的平均相似度和标准差。平均相似度应尽可能大,但标准差应尽可能小。

表5 extractor输出跟每个文档之间的平均Word2Vec余弦相似度跟标准差

表7 不同extractor加上abstractor的实验结果

表5显示了不同模型的余弦相似性。我们的模型具有最高的平均余弦相似度。由于我们的输入文档集具有明确的关系,例如,同一博客中提到的产品必须来自同一个城市,因此成功的多文档模型至少应该抓住城市特征。如果模型捕捉到了共同特征,则很容易在实验中获得高分。换句话说,我们选择的模型很难获得低分。

为了证明我们的两阶段模型有用,分别使用不同extractor的输出和直接拼接文档作为模型的输入。表7显示了实验结果。

使用Rouge F1分数衡量生成的标题和人类书写标题的相似度,使用平均Word2Sec余弦相似度衡量生成的标题和每个文档。

当我们在第一阶段使用extractor时,模型的性能更好。作者认为这是因为extractor专注于捕获跨文档的信息(capturing cross-documents)。此外,我们的完整模型优于所有基线模型,展示了在真实数据集应用上的最佳结果。

QUANTITATIVE RESULTS

HUMAN EVALUATION

除了自动评估,我们还在真实案例中进行人工评估摸索模型性能(access model performanc)。对31名用户进行了用户调查,包括计算机科学研究生和网络用户。每个示例都包含一组由不同方法生成的产品介绍和标题,要求用户按照1到4的级别(scale)对每个标题进行排名。

表8 人类评估的排名结果,Average(最后一列)是平均排名

表8中的结果显示,最吸引人的标题是人类书写的,第二名是由本文的模型生成的。在我们的统计中,65%的人认为人类书写的标题是最好的,50%的人认为本文的模型生成的标题仅次于人类书写的。不管怎么说,本文的模型比所有这些自动生成的标题都更好。

CASE STUDY

表9 本文完整模型产生的个性化标题的输入样例(英语由中文翻译而来)

表10 本文完整模型产生的个性化标题结果(英语由中文翻译而来)

表9和表10显示了个性化(customized)标题生成任务的案例研究。给定如表9所示的多个产品介绍,我们提出的模型可以根据不同模板生成不同风格的标题,如表10所示。用户可能会青睐不同模板,因此会受到不同标题的吸引。我们根据其他产品的点击历史来设计用户特定的标题。

CONCLUSION

在这项研究中,提出了一个两阶段模型MuD2H,它为多个文档生成摘要和标题。据我们所知,这是第一个为多文档生成标题的模型。为了评估所提出的模型MuD2H,我们从旅游产品的电子商务网站收集了一个新的数据集,其中包含产品描述、产品介绍、博客文章和用户浏览记录。

我们研究的第一阶段涉及基于图的抽取式摘要(extractive summarization)。我们应用图卷积网络来学习句子特征以进行显著性估计,交叉计算确保输出摘要覆盖输入文档集的含义,而不是重复单词或句子。

第二阶段是基于template的生成式摘要(abstractive summarization)。我们从用户的浏览历史中了解他们的文本偏好,然后将他们最喜欢的标题类型作为soft template来指导seq2seq模型。

MuD2H优于现有的摘要模型,并满足公司为不同用户生成个性化标题的要求。此外也提供了人类评估跟样例研究来阐明模型结果。

评价

文章写作清晰易懂,提出的概念、公式都会解释,图漂亮,但图1图2不是很清晰。即便对于完全不熟悉该领域的新手也很友好。只是符号真的太多,阅读恐怕得做下笔记,分两三天看完全不记得标记什么意思。而且公式也很多,对于编写学习报告来说太痛苦了。

原本以为跟图神经网络关系很大,还特意找了相关内容看,结果这里的重点完全不是这个,比较意外

待解明

标签:Documents,Based,Generator,模型,摘要,生成,文档,标题,句子
From: https://www.cnblogs.com/Stareven233/p/16932975.html

相关文章