当前位置: 代码迷 >> 综合 >> Controllable Abstractive Dialogue Summarization with Sketch Supervision阅读笔记
  详细解决方案

Controllable Abstractive Dialogue Summarization with Sketch Supervision阅读笔记

热度:74   发布时间:2024-01-12 16:36:33.0

Idea:

这篇文章提出了一个两阶段的对话摘要方法。第一步是先生成一个summary sketch,提取出每句对话中的意图(intent)和关键短语(key phrases)。图1右边给出了一个summary sketch的示例,这里定义的intent有五种,what,why,where,confirm(确认,are you,will you),abstain(不属于上面任一种)。生成的sketch识别出了说话人之间的互动关系和对话中的关键信息,为生成最终的摘要提供了一个弱监督信号。第二步是在生成的summary sketch的基础上生成最终的摘要,这里设计了一个简单的策略,通过预测文本分隔来控制最终摘要包含的句子数目。具体来说,首先把对话分成若干段,然后对每一段对话都生成一句话作为摘要。如图一所示,原始对话可以分成三段(虚线分隔),每一段都对应了摘要的一句话。通过这样做,可以有效利用对话中分散的信息,同时使得生成的摘要更加的trackable
图1:
在这里插入图片描述

Method

图2
在这里插入图片描述
图2给出了模型的总体架构

Sketch Construction

用snorkel标记每句对话的意图,用constituency parser去掉对话中的无关部分,并提取出对话中的关键短语。最后将utterance index,user intent,key phrases拼接在一起构成summary sketch,例如图1中的sketch可以表示为“1 what 2 abstain ’s just one of …square garden 8 why 9 abstain TL;DR",TL;DR是特殊符号。

Controllability

在生成摘要时,需要控制生成的摘要中包含句子的数目,先将原始对话分段,每一段对应摘要中的一句话,这里通过预测对话断点的方式对对话分段。在训练阶段,由于摘要是已知的,可以通过计算对话与摘要中每个句子的相似程度来找到对话中的断点,计算公式如下:
t m = arg ? max ? t SIM ? ( X c m : t , Y m ) t_{m}=\arg \max _{t} \operatorname{SIM}\left(X_{c_{m}: t}, Y_{m}\right) tm?=argtmax?SIM(Xcm?:t?,Ym?)
tm代表预测出的断点,cm代表上一个断点位置,t代表对话中的第t条语句,Ym代表摘要中的对应句子,SIM是相似度计算函数,这里用的是ROUGE-L。
由于测试阶段没有摘要数据,没有办法通过这种方式找到断点。因此,在训练阶段,我们额外训练一个二分类器,在给定对话上下文的情况下,预测一个位置是否是断点,计算公式如下。C代表分类器,这里使用BERT模型
H = C ( [ x sep  , X 1 , x sep  , X 2 , … ] ) ∈ R N × d e m b P ^ = Sigmoid ? ( W 1 ( H ) ) ∈ R N \begin{gathered} H=C\left(\left[x_{\text {sep }}, X_{1}, x_{\text {sep }}, X_{2}, \ldots\right]\right) \in \mathbb{R}^{N \times d_{e m b}} \\ \hat{P}=\operatorname{Sigmoid}\left(W_{1}(H)\right) \in \mathbb{R}^{N} \end{gathered} H=C([xsep ?,X1?,xsep ?,X2?,])RN×demb?P^=Sigmoid(W1?(H))RN?
找到断点后可以将对话分段

Overall Generation

如图2所示,总体上看,训练阶段首先将对话分段,利用分段后的对话生成summary sketch,将summary sketch和分段后的对话送入预训练生成语言模型(BART),生成summary片段。
图3
在这里插入图片描述
测试阶段如图3所示,首先用训练好的分类器根据对话上下文预测断点,将对话分段,送入生成模型得到摘要片段,拼接得到最终的摘要。

  相关解决方案