文献阅读笔记

本文介绍了一种新型模型DialogXL,它在预训练语言模型XLNet的基础上,针对对话数据的特性进行了改进,特别是提出记忆保存的utterancerecurrence和对话感知的自注意力机制。实验结果显示,DialogXL在多个ERC数据集上表现优于传统模型,特别是在处理长对话和依赖关系时表现出色。
摘要由CSDN通过智能技术生成

DialogXL: All-in-One XLNet for Multi-Party Conversation Emotion Recognition

文献概述

研究背景:

现有的对话结构阻碍了像XLNet这样的预训练模型的应用。对话数据的交替和分层特性需要一种特殊的方法,作者通过DialogXL试图提供这种解决方案。

1.在会话中的情感识别任务(ERC)中采用预训练模型。
2.对话内容通常由不同参与者交替提出,并且在先前的研究中通常以分层结构组织。这种结构不利于应用XLNet等预训练语言模型。

当今使用的分层结构模型存在的问题:

1.分层结构主要是将每个utterance单独编码,再顺序层次地建模,忽略了不同话语中词语之间的直接依存作用。
2.没有用到预训练语言模型的应用。

研究内容:
提出一种名为DialogXL的全新XLNet模型,该模型具有增强的记忆功能,用于存储更长的历史对话内容,并且具有对话感知的自注意力机制,以处理多方参与的对话结构。
具体修改:
1.将XLNet的循环机制从段级别修改为话语级别,以更好地模拟对话数据。
2.引入了对话感知的自注意力,替代了XLNet中的基础自注意力机制,以捕捉有用的话内和话间的依赖关系。

研究结论:
实验:
在四个ERC基准数据集上进行了大量实验,并与主流模型进行了比较。
实验结果与分析:
1.该提出的模型在所有数据集上都优于基准模型。
2.进行了消融研究和错误分析等其他实验证明了DialogXL关键模块的重要作用。
结果总结:

在四个ERC基准数据集上进行了大量实验,结果显示,所提出的模型在这些数据集上优于所有基线模型。这两个改进的有效性也通过广泛的分析得到了确认。此外,我们得出了以下三个发现。
1.原始的segment recurrence机制在内存中存储了超过60%的填充,使其无法有效地编码ERC的历史上下文。
2.传统的说话者角色嵌入speaker role embedding策略不如我们的说话者和听众自注意力效果好,而且这种自注意力机制也可以应用于其他对话任务。
3.错误分析揭示了仅依赖于注意力机制可能会误导模型。

研究创新性:
DialogXL模型的主要创新:
将强大的预训练语言模型应用于ERC,而非分层模型。

1.更灵活的历史话语回溯(memory-saving utterance recurrence ):

通过更灵活且节省内存的memory-saving utterance recurrence 替代了XLNet的segment
recurrence,以利用历史话语。utterance
recurrence将历史话语的隐藏状态存储在一个内存库中,并在识别查询话语时重复使用它们。

2.对话感知自我注意力(dialog-aware self-attention):

dialog-aware self-attention代替Transformer
Layers中的self-attention,包括四种不同类型的attention,即local self-attention,
global self-attention, speaker self-attention, and listener
self-attention(局部自注意力、全局自注意力、发言者自注意力和听众自注意力)。dialog-aware
self-attention使得DialogXL在历史上下文的不同接收范围内建模inter- and intra-speaker
dependencies(话间和话内依赖关系)。

研究不足:

不足/问题1:
基于语义相关性的单词级别注意力机制可以帮助做出良好的预测(案例#1),但它也可能由于过于关注查询话语和历史话语之间的语义相关性而导致错误(案例#2)

分析: 有必要结合其他机制,而不仅仅依赖于流行的注意力机制来进行对话中的情感识别。

不足/问题2: 情感转换相关: 同一说话者的两个连续话语的情感标签不同。

我们还从糟糕的案例中观察到,其中一些在先前的研究中已经提及,比如情感转换(即,同一说话者的两个连续话语的情感标签不同)(Hazarika等人,2018;Majumder等人,2019)。大致上,我们的模型在这些案例的45%中犯了错误,这需要进一步的研究探讨。

文献相关模型与算法原理

在这里插入图片描述
总体架构:
1.嵌入层: 将单词或标记转换为数值向量。
2.12个Transformer层: 使用Transformer架构,捕捉数据中的复杂模式。
3.前馈神经网络: 处理来自Transformer层的输出,进行最终预测。

黄色圈出:

memory记忆用符号m表示,它的工作原理类似于一个堆栈。每次为查询话语生成hidden states(新的隐藏状态)时,都会将它们与当前的记忆连接在一起。为了防止将噪音引入记忆,只有话语标记的隐藏状态(utterance token hidden state)被存储,而"[CLS]"和填充位置(padding)的隐藏状态被忽略。
在第t个话语中,在每个Transformer层l,新的记忆ml’被更新为以下公式: ml‘ = ml || hlt,1:1+nt
||表示连接操作,hlt,1:1+nt,l​表示第t个话语的隐藏状态,从位置1到nt​

蓝色圈出:

四种类型的自注意力的输出被串联在一起,然后通过一个归一化层,接着是一个前馈网络,生成这个Transformer层的输出。

挑战和改进:

1.长时间历史背景: DialogXL通过引入一个有效的内存库来解决编码长时间历史背景的挑战。这个内存库在训练和测试阶段都存储了历史发言的隐藏状态。这使得模型可以在处理对话中的未来发言时重复使用这些信息。
2.内部和外部依赖关系: DialogXL通过采用对话感知的自注意力机制来解决内部和外部依赖关系的建模问题。这意味着模型可以将注意力集中在对话的特定部分,从而捕捉当前发言者发言(内部依赖)以及不同发言者之间的依赖关系(外部依赖)。

内存库和发言循环机制:

1.内存库: DialogXL引入了一个内存库,有效地存储了历史发言的隐藏状态。这些存储的信息充当了模型的上下文内存,使其能够在更长的时间范围内理解对话的上下文。
2.发言循环机制: 该机制使用每次新发言来更新内存库。它确保历史背景保持最新和相关,使得模型能够适应不断发展的对话。

utterance recurrence

在这里插入图片描述
原理:

内存更新: 记忆,用m表示,充当堆栈。为查询话语生成的新隐藏状态与当前记忆(memory hidden state)连接在一起。只存储实际话语标记的隐藏状态(utterance token hidden state),排除特殊标记(如“[CLS]”hidden state)和填充位置(padding hidden state)

优点:

仅用utterance token hidden
state更新存储器,使存储器更紧凑,因为填充引入的噪声大部分被消除,并且释放更多空间来缓存更长的上下文。

segment recurrence
机制:

解决输入大小的限制。
将先前的隐藏状态存储在内存库中,并在将来的计算中重新使用它们。

无法用于ERC的原因和改进:

1.在XLNet中,“segment”指的是固定长度的序列,而不是像句子这样的语言单位。ERC中的对话是以发言为基础定义的,这些发言通常是完整的句子或段落。因此,保持发言完整而不是分割成片段是至关重要的
2.“segment recurrence”约束了在同一训练批次中的片段必须具有相同的长度,这导致内存中存储了太多的填充。相比之下,所提出的“utterance
recurrence”将历史上下文存储在内存中,而不需要填充,这样可以使内存存储更长的历史背景。

dialog-aware self-attention

1.Dialog-aware Self-Attention的提出:

作者提出了“dialog-aware self-attention”,这是一种可以在多轮多方对话环境中编码对话上下文的注意力机制。这种新的自注意力包括四种类型:全局自注意力和局部自注意力,用于不同大小的感受野(receptive
fields),以及用于内部和跨参与者依赖性的说话者自注意力和听众自注意力。

2.原理(实现方式): Dialog-aware self-attention通过巧妙地改变自注意力的掩码策略来实现,而不需要添加任何额外的嵌入或参数。这使得模型能够在没有引入过多额外复杂性的情况下处理多方对话的上下文。

3.注意力(attention)计算过程: 在每个Transformer层的每个注意力头(attention head)中,计算注意力输出的过程如下所示(公式中的符号解释在文中有详细描述):
在这里插入图片描述

4:utterance recurrence机制,即memory hidden state和utterance token hidden
state连接。 5:q,k,v即h权重矩阵w相乘,w为attention head可训练参数。
6:计算相对位置注意力RelPosAttn,根据Transformer-XL和XLNet中采用的相对位置attention变化q,k。
7:关注掩码(attention mask)atl~是具有和attention
矩阵atl相同形状的矩阵,当且仅当qtl中的第i个向量和ktl中的第j个向量之间的attention被掩藏时,s设为+∞,其余设为0。
8:归一 9:4-8等式包含为9

3.1)输入:上一层的输出ml−1,当前层的输入hl−1t,以及注意力掩码(attention mask)s。
3.2)计算qlt、klt和vlt:这些是通过线性变换(使用可学习参数Wlq、Wlk和Wlv)得到的查询、键和值。
3.3)计算相对位置注意力(RelPosAttn):使用Transformer-XL和XLNet中采用的相对位置注意力机制。
3.4)计算最终的输出olt:通过softmax函数应用于调整后的注意力权重al t,得到最终的输出vlt。

4.注意力掩码策略: 控制着注意力权重的掩码s是一个矩阵,其形状与注意力权重al t相同。当i-th向量在qlt和j-th向量在klt之间的注意力被掩码时,sij的值被设置为+∞,否则设置为0。

5.总结方程: 以上计算过程可以用一个函数f(·)表示,该函数接受输入ml−1、hl−1t和掩码s,并产生输出olt。

Dialog-aware Self-Attention组成:
在这里插入图片描述
1.global self-attention
原理:

全局自注意力将所有的历史上下文和查询话语作为接受域(reception field)。这与标准自注意力(vanilla
self-attention)相同,其中查询话语会关注整个上下文。

原因:

这种设置使得我们的模型能够关注先前远距离的话语,这也可能是有用的。

操作:

对于全局自注意力,不进行任何掩盖操作: sglobalij​=0

2.local self-attention
局部自注意力
原理:

设置一个超参数ω ,局部自注意力仅关注最近的 ω 个历史话语。 对查询话语和超出接受域的历史话语之间的注意力进行了掩盖操作

原因:

直观上说,说话者的情感大部分受到最近的话语影响。

操作:

在ω 内的 slocalij=0,之外的设为无穷大

3.speaker self-attention
说话者自注意力
原理:

说话者自注意力只关注当前说话者的历史上下文。

原因:

旨在通过识别说话者历史话语中的情感线索,建模说话者内部的依赖关系(Ghosal等人,2019)。

操作:

对查询话语和其他说话者的话语之间的注意力进行了掩盖操作。

4.listener self-attention听众自注意力。
原理:

听众自注意力只关注其他说话者的历史话语。

原因:

旨在建模说话者之间的依赖关系(Ghosal等人,2019),即当前说话者的情感可能受到其他说话者的话语影响。

操作:

对查询话语和当前说话者的话语之间的注意力进行了掩盖操作。

四种类型的自注意力的输出被串联在一起,然后通过一个归一化层,接着是一个前馈网络,生成这个Transformer层的输出。

实验

实验数据集

在这里插入图片描述

实验基线

1.Previous methods: CMN(Hazarika et al. 2018), Dia- logueRNN (Majumder et al. 2019), HiGRU(Jiao et al. 2019), DialogueGCN(Ghosal et al. 2019), TL-ERC(Hazarika et al. 2019), and KET (Zhong, Wang, and Miao
2019).
2.BERT (Devlin et al. 2018): The BERT baseline for ERC, initialized with the pre-trained parameters of BERT-base. We concatenate historical utterances and the query utterance in order and then feed them into BERT for classification. The hyperparameters are tuned the same as DialogXL.
3.XLNet (Yang et al. 2019): The XLNet baseline with the original segment recurrence and vanilla self-attention, ini- tialized with the pre-trained parameters of XLNet-base. The hyperparameters are tuned the same as DialogXL.

实验参数相关

在这里插入图片描述

评价指标

micro-F1 for DailyDi-alog5 and weighted-F1 for the other datasets.

实验结果具体分析

1.Effect of the Enhanced Memory(utterance recurrence)
在这里插入图片描述
第一蓝框结果:

DialogXL相较于BERT和XLNet的改进是显著的。

原因:

IEMOCAP中的对话要长得多(每个对话大约有70个话语),相较于其他数据集更长。 DialogXL则通过话语的循环(utterance recurrence)有效地编码了整个历史上下文,并且通过对话感知的自注意力(dialog-aware self-attention)捕捉到说话者的信息。因此,DialogXL可以达到比所有基线模型更好的性能。

第二蓝框结果:

在MELD、DailyDialog和EmoryNLP数据集上,DialogXL相对于BERT和XLNet的改进并不显著。

原因:

数据集中的对话相对较短(大多数为5到9个话语)。当前的语言模型BERT和XLNet在大多数情况下已经可以对整个历史上下文和查询话语进行编码。
在这些简短的对话中,DialogXL的优势并没有完全显示出来 。

2.话语循环和最大记忆长度对最终结果的影响:
在这里插入图片描述
DialogXL的贡献之一在于通过话语循环增强了记忆力。在这里,我们研究了话语循环和最大记忆长度对最终结果的影响。
实验细节:

将maximum memory length最大记忆长度从100改变到1000,间隔为100,并在IEMOCAP数据集上绘制了测试分数。该数据集中每个对话都有足够的话语。在图中,还绘制了XLNet中片段循环的记忆浪费率,以内存中填充的百分比表示。由于提出的话语循环在理论上没有内存浪费,所以它的内存浪费率没有绘制。

实验结果和分析:

segment recurrence始终导致记忆浪费率超过60%,并且这个浪费率随着记忆长度的增加而下降,伴随着这三个模型的增长。当记忆长度超过700时,它们的性能通常不再有显著提升,这表明增加最大记忆长度只在一定范围内对测试结果产生贡献。

3.dialog-aware self-attention:
在这里插入图片描述
消融实验:

通过从DialogXL中移除每种类型的对话感知自注意力来分析其影响。

实验:

在两个代表性数据集IEMOCAP和MELD上得到的结果。

结果和分析:

1.在IEMOCAP和MELD上,当任何类型的自注意力被移除时,DialogXL的性能都会下降,这表明所有这些自注意力对DialogXL的改进起到了作用。
2.然而,它们的贡献是可以区分的。
3.当移除speaker&listener self-attention说话者自注意力或听众自注意力时,性能显著下降。但当它们都被移除时,性能下降更为明显。这表明了说话者间/内部的依赖性的重要性(Ghosal等人,2019)。
4.当移除local self-attention局部自注意力时,在IEMOCAP上F1分数的下降最为明显,因为该数据集中每个对话有很长的话语(大约70个)。这表明了对于这个数据集来说,接近查询话语的历史上下文更为重要。在MELD上的下降不如在IEMOCAP上明显,因为MELD的对话较短(每个对话5到9个话语)。
5.移除global self-attention全局自注意力导致性能下降最小。原因可能是两方面的。首先,全局话语不如局部话语重要。其次,说话者自注意力和听众自注意力已经从远距离的话语中提取了一些有用的信息。

4.Speaker Role Embedding
在这里插入图片描述

self-attention and listener self-attention,说话者自注意力和听众自注意力通过直接告知模型应该关注话语的哪一部分,来建模说话者间的依赖关系(Ghosal等人,2019)。

原理:

在对话中让预训练语言模型理解说话者依赖关系的另一种方法是说话者角色嵌入(Bao等人,2020;Ham等人,2020),它将每个参与者映射到一个可训练的嵌入向量。

(说话者角色嵌入(speaker role embedding)是一种将每个对话参与者映射到可训练嵌入向量的技术。在这种方法中,每个参与者(说话者或听众)被表示为一个向量,这个向量是可以通过训练学习得到的。这种嵌入向量的学习过程允许模型理解不同参与者之间的关系,以便更好地处理对话中的信息交流和依赖关系。这个方法的优势在于它能够在模型训练过程中学习到适合特定任务的参与者表示,从而提高模型在对话任务中的性能。)

实验:

IEMOCAP和DailyDialog上简单比较了这两种方法在嵌入不同对话参与者方面的效果。为此,我们用说话者角色嵌入替换了DialogXL的说话者自注意力和听众自注意力,并将生成的模型称为DialogXL-emb。

结果分析:

显式说话者和听众自注意力比说话者角色嵌入方法更为有效。因此,提出的这种注意力机制潜在地也可以应用于其他对话任务中。

5.Error Study
在这里插入图片描述
在IEMOCAP数据集上进行了错误分析。
结果:
不足/问题1:

基于语义相关性的单词级别注意力机制可以帮助做出良好的预测(案例#1),但它也可能由于过于关注查询话语和历史话语之间的语义相关性而导致错误(案例#2)

分析:

有必要结合其他机制,而不仅仅依赖于流行的注意力机制来进行对话中的情感识别。

不足/问题2:

情感转换相关: 同一说话者的两个连续话语的情感标签不同。

我们还从糟糕的案例中观察到,其中一些在先前的研究中已经提及,比如情感转换(即,同一说话者的两个连续话语的情感标签不同)(Hazarika等人,2018;Majumder等人,2019)。大致上,我们的模型在这些案例的45%中犯了错误,这需要进一步的研究探讨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值