其他分享
首页 > 其他分享> > Learning towards Abstractive Timeline Summarization翻译

Learning towards Abstractive Timeline Summarization翻译

作者:互联网

摘要

时间线摘要的目标是获得沿时间线的事件演变轨迹,而现有的时间线摘要方法均是基于抽取的方法。在本文中,我们提出了生成式时间线摘要的任务,该任务倾向于简明地解释时间戳事件中的信息。与传统的文档摘要不同,时间线摘要需要对输入事件的时间序列信息进行建模,并按时间顺序汇总重要事件。为了解决这一挑战,我们提出了一种基于memory的时间线摘要模型(MTS)。具体而言,我们提出了一个时间事件存储器来建立时间线,并使用事件在该时间线上的时间位置来指导生成过程。此外,在每个解码步骤中,我们将事件级别的信息合并到单词级别的注意中,以避免事件之间的混淆。在大规模的真实数据集上进行了广泛的实验,结果表明MTS在自动评估和人工评估方面都达到了最先进的性能。

1.介绍

在这里插入图片描述
  时间线摘要的目标是获得沿时间线的事件演变轨迹。现有的时间线摘要方法,例如s [Li and Li, 2013; Ren et al., 2013]均是基于抽取的方法。但是,这些方法依赖于人为设计的特征,并不像生成方法那样灵活。在此,我们提出了生成式的时间线摘要任务,旨在简明地解释输入文章中的事件信息。表1中显示了一个示例案例,其中的文章由不同时期内的艺人事件组成,摘要正确地按顺序总结了来自输入文章的重要事件。
  随着神经网络的发展,生成式的摘要方法最近被证明是有用的。但是,与传统的文档摘要不同,时间线摘要数据集由一系列带有时间戳的事件组成,因此对于时间线摘要模型而言,捕获此时间序列信息以更好地指导事件顺序生成至关重要。此外,如表1中的示例所示,糟糕的摘要会混淆名人的出生地和住所,第一张专辑和最畅销专辑。正如我们在实验中发现的那样,这种不一致问题是摘要任务中一个普遍面对的问题。
  为了解决上述挑战,我们提出了一个基于存储器的时间线摘要(MTS)模型。具体来说,我们首先使用带有选择性阅读单元的事件嵌入模块来嵌入所有事件。然后,我们提出了一种存储时间序列信息的键值存储模块,以指导摘要生成过程。具体地说,存储模块中的键是表示时间序列信息的时间位置嵌入,而值是对应的事件表示。所有的键一起形成一个时间线,我们使用事件在时间轴上的时间位置来指导生成过程。最后,在每个解码步骤中,我们引入事件级注意力,并使用它来确定单词级注意力,以避免事件之间的混淆。
  总体而言,我们的贡献可以总结如下:

2.相关工作

我们详细介绍了有关时间线摘要,生成式摘要和键值存储网络的相关工作。
  (1)Timeline summarization
  时间线摘要任务首先由[Allan et al., 2001]提出,该任务从新闻主题中的每个事件中抽取单个句子。后来,一系列工作进一步研究了时间线摘要任务。还有一些工作专注于与时间线摘要有关的推文摘要。例如,[Ren et al., 2013]根据用户的历史记录和来自“社交圈”的协作性社交影响,考虑了基于时间的推文摘要任务。但是,以上所有工作都是基于抽取方法,不如生成式方法那么灵活。
  (2)Abstractive summarization
  最近,随着强大的文本生成神经模型的出现,生成总结也变得越来越流行。最近的工作包括[Hsu et al., 2018],他们使用句子级别的注意力来调节单词级别的注意力,从而减少了较少有人关注的句子中的单词的产生。他们的句子级别注意在生成过程中是静态的,而在我们的模型中,高层解码在每个解码步骤中根据当前生成的单词而变化,这是更合理的。
  (3)Key-value memory network
  [Miller et al., 2016]提出的键值存储是Memory Networks的简化版本,具有更好的可解释性,并已应用于文档阅读,问答,语言建模和神经机器翻译。在我们的工作中,我们将键值存储网络应用于时间线摘要任务,并将其融合到生成过程中。

3.问题定义

MTS将事件列表 X = { x 1 , . . . , x T e } X=\{x_1,...,x_{T_e}\} X={x1​,...,xTe​​}作为输入,其中 T e T_e Te​是事件数。每个事件 x i x_i xi​是一个单词列表: x i = { w 1 i , w 2 i , . . . , w T w i i } x_i=\{w^i_1,w^i_2,...,w^i_{T^i_w}\} xi​={w1i​,w2i​,...,wTwi​i​},其中 T w i T^i_w Twi​是事件 x i x_i xi​的单词数目。MTS的目标是生成摘要 Y ^ = { y ^ 1 , . . . , y ^ T y } \hat Y= \{\hat y_1,...,\hat y_{T_y}\} Y^={y^​1​,...,y^​Ty​​},该摘要不仅在语法上正确,而且与事件信息(例如发生地点和时间)一致。本质上,MTS会尝试优化参数以使概率 P ( Y ∣ X ) = ∏ t = 1 T y P ( y t ∣ X ) P(Y|X)= \prod^{T_y}_{t=1}P(y_t|X) P(Y∣X)=∏t=1Ty​​P(yt​∣X)最大化,其中 Y = { y 1 , . . . , y T y } Y=\{y_1,...,y_{T_y}\} Y={y1​,...,yTy​​}是真实答案。

4.模型

4.1 Overview

在这里插入图片描述
  在本节中,我们将详细介绍基于存储器的时间线摘要模型。MTS的概述如图1所示,可以分为三个模块:(1)事件嵌入模块(请参阅第4.2节):我们使用带有选择性阅读单元(SRU)的循环网络来学习每个事件的表示。(2)时间事件存储器(请参阅第4.3节):我们提出使用时间事件存储器来建立时间线,并使用事件在时间线中的位置来指导生成过程。(3)摘要生成器(请参阅第4.4节):最终,我们使用基于RNN的解码器来生成包含存储信息,事件级信息和单词级信息的答案。

4.2 Event Embedding Module

首先,我们使用嵌入矩阵 e e e将x_i中每个单词的one-hot表示映射到高维向量空间。然后,我们采用双向循环神经网络(Bi-RNN)对单词之间的交互进行建模:
h t i = L S T M e n c ( [ e ( w t i ) ; p i ] , h t − 1 i ) (1) h^i_t=LSTM_{enc}([e(w^i_t);p^i],h^i_{t-1})\tag{1} hti​=LSTMenc​([e(wti​);pi],ht−1i​)(1)
其中, ; ; ;表示向量之间的拼接, h t i h^i_t hti​表示事件 x i x_i xi​在Bi-RNN中的第 t t t个单词的隐藏状态。为了捕获事件的顺序信息,我们随机初始化要包含在Bi-RNN输入中的第 i i i个事件的时间位置编码矢量 p i p_i pi​。除了获得单词表示之外,我们还需要获得事件表示。仅将Bi-RNN的最终状态 h T w i h^i_{T_w} hTw​i​作为整个事件的表示并不能完全捕获整个事件的特征。因此,我们建立了[Chen et al., 2018]中提出的由SRU够成的第二个RNN,以获得新的事件表示 a i a^i ai:
s t i = S R U ( h t i , h T w i ) (2) s^i_t=SRU(h^i_t,h^i_{T_w})\tag{2} sti​=SRU(hti​,hTw​i​)(2)
a i = s T w i (3) a^i=s^i_{T_w}\tag{3} ai=sTw​i​(3)
一般而言,用新的门替换了原始GRU中的更新门,使得SRU考虑到每个输入 h t i h^i_t hti​和事件表示 h T w i h^i_{T_w} hTw​i​。由于篇幅所限,我们在这里省略了细节,读者可以参考[Chen etal., 2018]。
  到目前为止,我们获得了第 i i i个事件 a i a^i ai和第 t t t个单词在 a i a^i ai中的表示,即 h t i h^i_t hti​。

4.3 Time-Event Memory

如引言中所述,在时间线摘要数据集中,生成的摘要应捕获时间序列信息以指导按摘要时间顺序生成。因此,我们提出了一个键值存储模块,其中的键一起构成了一个时间轴,该时间序列信息用于指导生成过程,如图2所示。
  该存储器中的key是第4.2节中介绍的时间位置编码 p i p_i pi​。在第4.4节中,我们将使用key作为时间指导从存储中提取信息。对于value部分,其将局部方面的事件信息存储在局部值 v 1 v_1 v1​中,将全局方面的事件信息存储在全局值 v 2 v_2 v2​中。 v 1 v_1 v1​仅将事件表示 a i a^i ai存储为 v 1 i v^i_1 v1i​,这意味着 v 1 v_1 v1​仅捕获当前输入文章中的事件信息。另一方面, v 2 v_2 v2​负责学习不同时间位置的事件的全局特征。因此,我们首先以与时间位置编码相同的方式为第 i i i个事件随机初始化 v 2 i v^i_2 v2i​。然后,我们建立一个门 ν ν ν,以结合当前batch中的平均事件表示 a ˙ \dot{a} a˙作为子全局信息:
ν i = σ ( W e [ v 2 i ; a ˙ i ] + b e ) (4) ν^i=\sigma(W_e[v^i_2;\dot{a}^i]+b_e)\tag{4} νi=σ(We​[v2i​;a˙i]+be​)(4)
v 2 i = ν i ⋅ v 2 i + ( 1 − v i ) ⋅ a ˙ i v^i_2=ν^i\cdot v^i_2+(1-v^i)\cdot \dot{a}^i v2i​=νi⋅v2i​+(1−vi)⋅a˙i
其中 σ σ σ是sigmoid函数, ⋅ · ⋅是点积。通过这种方式,存储器可以在不同位置学习每个事件的全局特征并将其存储在 v 2 v_2 v2​中。

4.4 Summary Generator

在这里插入图片描述
  为了生成一致且有用的摘要,我们提出了一种基于RNN的解码器,该解码器结合了时间事件存储模块的输出和事件表示,如图2所示。
  (1)上下文向量计算
  与[Li et al., 2018]类似,我们随机初始化一个LSTM单元,并以所有事件表示的拼接作为输入,且使用其输出作为解码器的初始状态:
h 0 ′ = L S T M ( h c , [ a 1 ; . . . ; a T e ] ) (6) h'_0=LSTM(h_c,[a^1;...;a^{T_e}])\tag{6} h0′​=LSTM(hc​,[a1;...;aTe​])(6)
其中 h c h_c hc​是随机变量。接下来,按照 [Bahdanau et al., 2015]中的传统注意力机制,我们将输入文档动态地汇总到上下文向量 c t − 1 ′ c_{t-1}' ct−1′​中,并且将第步 t t t解码计算为:
h t ′ = L S T M d e c ( h t − 1 ′ , [ c t − 1 ′ ; e ( y t − 1 ) ] ) (7) h'_t=LSTM_{dec}(h'_{t-1},[c'_{t-1};e(y_{t-1})])\tag{7} ht′​=LSTMdec​(ht−1′​,[ct−1′​;e(yt−1​)])(7)
其中 h t ′ h'_t ht′​是第 t t t个解码步骤的隐藏状态,并将通过等式22中存储模块的输出进行修改。上下文向量 c t ′ c'_{t} ct′​的计算公式为:
α t , i , j ′ = W a T t a n h ( W b h t − 1 ′ + W h h j i ) , (8) \alpha '_{t,i,j}=W^T_atanh(W_bh'_{t-1}+W_hh^i_j),\tag{8} αt,i,j′​=WaT​tanh(Wb​ht−1′​+Wh​hji​),(8)
α t , i , j = e x p ( α t , i , j ′ ) / ∑ k = 1 T e ( ∑ l = 1 T w e x p ( α t , k , l ′ ) ) , (9) \alpha_{t,i,j}=exp(\alpha '_{t,i,j})/\sum^{T_e}_{k=1}(\sum^{T_w}_{l=1}exp(\alpha'_{t,k,l})),\tag{9} αt,i,j​=exp(αt,i,j′​)/k=1∑Te​​(l=1∑Tw​​exp(αt,k,l′​)),(9)
c t ′ = ∑ i − 1 T e ( ∑ j = 1 T w α t , i , j h i d ) . (10) c'_{t}=\sum^{T_e}_{i-1}(\sum^{T_w}_{j=1}\alpha_{t,i,j}h^d_i).\tag{10} ct′​=i−1∑Te​​(j=1∑Tw​​αt,i,j​hid​).(10)
其中,我们首先使用解码器状态 h t − 1 ′ h'_{t-1} ht−1′​与每个状态 h j i h^i_j hji​计算并得出注意力分布 α t , i , j ∈ R T d α_{t,i,j}∈\mathbb R^{T^d} αt,i,j​∈RTd,如公式9所示。 h j i h^i_j hji​表示事件 x i x_i xi​中第 j j j个单词的表示。然后,我们使用注意力分布 α t , i , j α_{t,i,j} αt,i,j​来获取文档状态的加权总和作为上下文向量 c t ′ c'_{t} ct′​。
  上下文向量 c t − 1 ′ c'_{t-1} ct−1′​仅考虑单词级别,而不考虑事件级别的信息。但是,在时间线摘要中,重要的是,模型必须知道其当前正在描述哪个事件,否则它可能会使来自不同事件的信息混淆并导致不真实的摘要。因此,我们引入了一个与单词级注意力类似的事件级注意力 β β β,并使用它来调整单词级注意力:
β t , i ′ = W c T t a n h ( W d h t − 1 ′ + W h a i ) , (11) \beta'_{t,i}=W^T_ctanh(W_dh'_{t-1}+W_ha^i),\tag{11} βt,i′​=WcT​tanh(Wd​ht−1′​+Wh​ai),(11)
β t , i = e x p ( β t , i ′ ) / ∑ j = 1 T e e x p ( β t , j ′ ) , (12) \beta_{t,i}=exp(\beta'_{t,i})/\sum^{T_e}_{j=1}exp(\beta'_{t,j}),\tag{12} βt,i​=exp(βt,i′​)/j=1∑Te​​exp(βt,j′​),(12)
γ t , i , j = α t , i , j β t , i (13) \gamma_{t,i,j}=\alpha_{t,i,j}\beta_{t,i}\tag{13} γt,i,j​=αt,i,j​βt,i​(13)
  现在新计算的上下文向量 c t c_t ct​(替换公式10中的 c t ′ c'_t ct′​)为:
c t = ∑ i = 1 T e ( ∑ j = 1 T w γ t , i , j h i d ) (14) c_t=\sum^{T_e}_{i=1}(\sum^{T_w}_{j=1}\gamma_{t,i,j}h^d_i)\tag{14} ct​=i=1∑Te​​(j=1∑Tw​​γt,i,j​hid​)(14)
  除了使用事件级注意力直接指导单词级注意外,我们还使用它来获取事件表示的加权总和,以在等式23中的投影层中进行拼接:
e t = ∑ i = 1 T e β t , i a i (15) e_t=\sum^{T_e}_{i=1}\beta_{t,i}a^i\tag{15} et​=i=1∑Te​​βt,i​ai(15)
  (2)键值存储器使用
  至此,我们已经完成了上下文向量的计算。接下来,我们介绍如何利用键值存储器。我们首先使用隐藏状态 h t ′ h'_t ht′​来处理内存中的每个键。如第4.3节所述,keys(即时间位置嵌入)与代表时间序列信息的时间线一致。因此,我们让模型利用此顺序信息,并将时间位置编码和当前隐藏状态之间的相关性计算为时间注意力 π ( p i , h t ′ ) π(p^i,h'_t) π(pi,ht′​):
π ( p i , h t ′ ) = e x p ( h t ′ W e p i ) / ∑ j = 1 T e e x p ( h t ′ W e p j ) (16) π(p^i,h'_t)=exp(h'_tW_ep^i)/\sum^{T_e}_{j=1}exp(h'_tW_ep^j)\tag{16} π(pi,ht′​)=exp(ht′​We​pi)/j=1∑Te​​exp(ht′​We​pj)(16)
  然后时间注意力被用于加权获取存储器中局部值 v 1 v_1 v1​和全局值 v 2 v_2 v2​:
m t 1 ′ = ∑ i = 1 T e π ( p i , h t ′ ) v 1 i (17) m^{1'}_t=\sum^{T_e}_{i=1}\pi(p^i,h'_t)v^i_1\tag{17} mt1′​=i=1∑Te​​π(pi,ht′​)v1i​(17)
m t 2 ′ = ∑ i = 1 T e π ( p i , h t ′ ) v 2 i (18) m^{2'}_t=\sum^{T_e}_{i=1}\pi(p^i,h'_t)v^i_2\tag{18} mt2′​=i=1∑Te​​π(pi,ht′​)v2i​(18)
其中, m t 1 ′ 和 m^{1'}_t和 mt1′​和m^{2’}_t存储不同级别的信息,因此在生成器中应发挥不同的作用。
  通过一个fusion门,将局部值 m t 1 ′ m^{1'}_t mt1′​变为 m t 1 m^1_t mt1​,并将其合并到公式23中的投影层中。
g t 1 = σ ( W o ( [ h t − 1 ′ ; c t ; m t 1 ′ ] ) ) (19) g^1_t=\sigma(W_o([h'_{t-1};c_t;m^{1'}_t]))\tag{19} gt1​=σ(Wo​([ht−1′​;ct​;mt1′​]))(19)
m t 1 = g t 1 ⋅ m t 1 ′ (20) m^1_t=g^1_t\cdot m^{1'}_t\tag{20} mt1​=gt1​⋅mt1′​(20)
  我们将局部值放在投影层中,因为 m t 1 ′ m^{1'}_t mt1′​在输入中存储了详细信息而不是全局特征,因此在生成每个单词时应发挥重要作用。
  至于全局值 m t 2 ′ m^{2'}_t mt2′​,它将事件的全局特征存储在不同的位置,从而应该影响整个生成过程。具体来说,来自 m t 2 ′ m^{2'}_t mt2′​的信息通过一个门被融合到解码状态 h t − 1 ′ h'_{t-1} ht−1′​中:
g t 2 = σ ( W n ( h t − 1 ′ ; c t ; m t 2 ′ ) ) (21) g^2_t=\sigma(W_n(h'_{t-1};c_t;m^{2'}_t))\tag{21} gt2​=σ(Wn​(ht−1′​;ct​;mt2′​))(21)
h t − 1 ′ = g t 2 ⋅ h t − 1 ′ + ( 1 − g t 2 ) ⋅ m t 2 ′ (22) h'_{t-1}=g^2_t\cdot h'_{t-1}+(1-g^2_t)\cdot m^{2'}_t\tag{22} ht−1′​=gt2​⋅ht−1′​+(1−gt2​)⋅mt2′​(22)
  最后,使用一个输出投影层以获取词表上的最终生成词汇分布 P v P_v Pv​:
P v = s o f t m a x ( W v [ m t 1 ; h t ′ ; c t ; e t ] ) P_v=softmax(W_v[m^1_t;h'_t;c_t;e_t]) Pv​=softmax(Wv​[mt1​;ht′​;ct​;et​])
其中,我们将解码器LSTM的输出 h t ′ h'_t ht′​,上下文向量 c t c_t ct​和存储向量 m t m_t mt​连接起来,作为输出投影层的输入。
  为了解决OOV问题,我们使用了指针网络,它使解码器能够复制源文本中的单词。指针网络的设计与 [See et al.,
2017]中使用的模型相同,因此由于空间有限,我们省略了此过程。
  我们的目标函数是目标词 y t y_t yt​的负对数似然,如公式24所示:
L = − ∑ T = 1 T s l o g P v ( y t ) (24) \mathcal L=-\sum^{T_s}_{T=1}logP_v(y_t)\tag{24} L=−T=1∑Ts​​logPv​(yt​)(24)
其中,梯度下降法用于更新所有参数以最小化此损失函数。

标签:Summarization,towards,Timeline,摘要,ht,单词,tag,时间,事件
来源: https://blog.csdn.net/qq_28385535/article/details/117115181