Effective Inter-Clause Modeling for End-to-End Emotion-Cause Pair Extraction论文阅读笔记

摘要

情感-原因对提取的目的是从给定的文档中提取出所有的情感子句及其原因子句。之前的研究采用了两步方法,第一步分别提取情感子句和原因子句,第二步训练分类器过滤负面对。然而,这种管道式的情感-原因对提取系统由于存在误差传播问题,且两者之间的相互适应能力不强,是次优的。本文从排序的角度来处理情感-原因对的抽取,即对文档中的子句对候选项进行排序,并提出了一种强调子句间建模的一步神经方法来进行端到端抽取。它对文档中子句之间的相互关系进行建模,通过图注意学习子句表示,并通过基于核的相对位置嵌入增强子句对表示,从而实现有效排序。实验结果表明,该方法明显优于现有的两步算法,特别是在一个文档中提取多个对的情况下。

介绍

近年来,情感原因分析在情感分析和文本挖掘领域引起了越来越多的研究关注(Lee et al., 2010a;
Russo等人,2011;Neviarouskaya和Aono, 2013年;Ghazi等人,2015年;桂等,2016)。它的目的是检测文本中所表达的某种情感的原因或刺激。理解情绪产生的原因具有广泛的应用,比如消费者评论挖掘和舆论监测。

以往的研究主要集中在情绪成因提取任务上,旨在识别特定情绪的成因。Xia和Ding(2019)指出,这种设置忽略了情绪和原因的相互指示,情绪提前标注的需求限制了应用范围。为了克服这种局限性,他们提出了一项新的研究任务,名为情感-原因对提取,旨在从给定的文献中提取所有的情绪表达子句及其原因。如下例所示,一个情感子句c3和它对应的原因子句c2构成了一个情感-原因对(c3, c2):
Example. He told us that since his illness (c1),his classmates and advisors have given him much help about the schoolwork (c2). He has been touched (c3), and said that he will repay them (c4).

与情感原因提取相比,情感原因对提取是一项更具挑战性的任务,因为我们需要对文档的内容和结构进行全面的理解,才能进行情感原因对的共提取,并将情感原因对从消极的小句对中区分出来。Xia和Ding(2019)提出了一种两步法来解决情感原因对的提取问题。首先,多任务LSTM网络分别提取情感子句和原因子句。第二步,使用二分类器从所有可能的负对中过滤出负对。尽管两步法具有一定的有效性,但由于存在误差传播的问题,且两步法之间的相互适应能力不强,流水线式的情感-原因对提取并不理想。

连贯的文档具有潜在的结构(Mann and Thompson, 1988;Marcu, 2000),并且一个情感-原因对的两个子句之间存在因果关系,这区别于文件中其他非情感-原因对。因此,了解文档中各子句之间的相互关系有助于提取潜在的情感-原因对。此外,根据话语的凝聚力和连贯性(De Beaugrande and Dressler,1981),两个遥远的分句包含因果关系的概率相对较小。因此,子句对中两个子句之间的相对位置信息可以作为提取情感-原因对的有效特征。

基于以上两点,本文从排序的角度来处理情感-原因对的抽取,即对给定文档中的子句对候选项进行排序,并提出了一种强调子句间建模的一步法进行端到端抽取。我们的方法首先通过利用图注意学习子句表示来建模子句间的关系,通过捕获两个子句之间的潜在关系来促进对的提取。然后,它学习子句对表示,并对这些子句对进行排序,以提取情感-原因对。提出了一种基于核的相对位置嵌入方案,对相对位置之间的相互影响进行建模,增强子句对表示,从而实现有效排序。我们将这两个组件集成到一个统一的神经网络中,这个神经网络是端到端优化的。与前面的两步解决方案不同,我们的方法可以直接从文档中提取情感-原因对。

这项工作的主要贡献总结如下:

  • 据我们所知,我们提出了第一个端到端提取情感-原因对的方法,这是一个统一的模型,从排序的角度来处理这一任务。
  • 我们的方法通过集成子句间关系建模和基于核的相对位置增强子句对排序来强调子句间建模。
  • 实验结果表明,我们的一步法明显优于现有的最佳性能系统,特别是在一个文档中提取多个对的情况下。

问题定义

给定一个文档D = (c1, c2,…c|D|),|D|是子句的个数,第i个子句ci = (wi1, wi2……, w|ici|)是一个单词序列,我们的目标是提取D中所有的情感-原因对:
在这里插入图片描述

其中(cemoj,ccauj)为第j对,cemoj∈D为情感子句,cauj∈D为对应的原因子句。需要注意的是,一个情绪可能有多个原因,同一个原因也可能成为多个情绪的刺激。

提出的方法

我们提出了一种名为RANKCP的一步方法,它对文档中的子句对候选项进行排序,以提取情感-原因对。整体架构如图1所示,由三个部分组成。第一个组件学习给定文档中子句的向量表示。第二个组件对子句之间的关系进行建模,以获得更好的子句表示。第三部分学习基于相对位置建模的子句对表示,并对子句对候选项进行排序以提取情感-原因对。
在这里插入图片描述

文档编码

给定一个文档D = (c1, c2,…c|D|)我们使用层次递归神经网络(hierarchical RNN)对文本内容进行编码,学习子句表示。
对于每个子句ci我们使用词级双向RNN对其内容信息进行编码,得到子句的隐藏状态序列。然后对每个子句ci使用注意力层来联合它们,然后文档D的子句状态序列(h1, h2……, h|D|)被送入一个子句子级双向RNN,产生子句表示,记为(c1, c2,…C|D|)。

用图形注意网络建模子句间关系

句子间关系的知识对于提取情感-原因对很有帮助。在学习了文档的句子表征后,为了增强文档中句子间的交互,我们将文档结构视为一个全连接的句子图,采用图关注网络(Veliˇckovi´c等,2018)对句间关系进行建模。

具体来说,全连接图中的每个节点都是文档中的一个子句,每两个节点都有一条边。我们还为每个节点添加了一个自循环边,因为情感子句的原因子句可能是自己。图注意网络通过叠加多个图注意层来在子句之间传播信息,每个图注意层通过使用自我注意聚合相邻子句的信息来学习一个更新的子句表示(Vaswani et al., 2017)。图注意力机制通过以下聚合方案对文档中的每个子句ci进行操作:
在这里插入图片描述

其中h(t) i是输出表示,W(t)和b(t)是可学习的参数,N (i)是ci的直接相邻子句(在我们的例子中包含了文档中的所有子句)。注意权重α(t) ij反映子句ci和子句cj之间的聚集程度,由w(t)参数化的MLP学习得到:
在这里插入图片描述

下面的矩阵形式可以描述第t个图的注意层:
在这里插入图片描述

在这里插入图片描述

第一层的输入H(0)是文档编码器的输出。通过堆叠T层来建模子句间的关系,最后一层的输出是更新后的子句表示。我们进一步采用多头注意力,每个头都可以基于图注意力的顺序保存属性捕捉一个全局模式(Qiu等,2018)。在实际应用中,我们在每两个相邻层之间增加一个高速公路连接。

利用由多个图注意层组成的图注意网络对子句之间的交互进行建模,通过自适应融合其他子句信息生成每个子句表征hi,从而充分学习文档中的子句间关系。

在获得更新的子句表征{hi}|D| i=1后,我们将其送入两个预输出层,以预测一个子句是否是情感/原因子句。具体来说,使用一个具有逻辑函数σ(-)的MLP(参数化的wemo和bemo)来预测一个子句ci是情感子句的概率(表示为yˆi emo)。
在这里插入图片描述

同理,一个分句ci为原因分句的概率(yˆi cau)由另一层得到。

基于内核的相对位置嵌入的句子对排序方法

为了以端到端的方式提取情感-原因对,我们的方法进一步学习子句对表征,并对这些对子进行排序,以获得情感-原因对。
两句之间的相对位置是表达情感-原因对的关键。因此,我们通过相对位置嵌入学习将相对位置信息注入到子句对表示学习过程中。
我们假设,如果两个子句的相对位置过大,则它们形成情感-原因对的概率很小。因此,给定文档D = (c1,…(c |D|),我们考虑每个子句对(ci, cj),两个子句的相对位置(绝对值)|j - i|小于等于某一个值M,作为情绪-原因对的候选项。我们从文档D构造了一组子句对候选项:
在这里插入图片描述

学习子句对表示

对于每个子句对候选pij = (ci,cj)∈P’,其初始化表示是通过连接三个向量得到的:子句ci的表示hi,子句cj表示hj,它们的相对位置j - i嵌入rj-i。我们使用一个单层MLP来学习它的表示:
在这里插入图片描述

具有可学习的Wp和bp。接下来我们介绍如何构建相对位置嵌入。

Vanilla相对位置嵌入

对于每个相对位置m∈{−M,…,;1 0 + 1,…,+M},通过均匀分布抽样随机初始化嵌入rm。然后结合模型训练过程学习各个相对位置的嵌入。

基于核的相对位置嵌入

除了上述每个相对位置嵌入都是部分独立的Vanilla方案外,我们的目标是对不同相对位置之间的相互影响进行建模,以进一步提高相对位置嵌入。为此,对于每个相对位置m∈{−M,…, +M},我们使用RBF核函数Km(·)来建模M与其他相对位置的影响:
在这里插入图片描述

其中j∈{−M,…, +M}是可能的相对位置值之一,σK限制了核函数的形状。然后,我们通过整合其他相对位置的影响来增强vanilla嵌入rm:
在这里插入图片描述

其背后的直觉是,如果j靠近m,rj对rm的影响将比其他远处的相对位置更大。图2显示了m = -1的说明。当σK 趋于0时,基于内核的嵌入会退化为vanilla嵌入。因此,我们基于内核的嵌入方案可以被视为vanilla嵌入的正则化版本。
在这里插入图片描述

排列句对

采用具有激活函数fact(-)的排名层(参数化为wr和br),为每个子句对候选者pij∈P’产生排名得分yˆij:
在这里插入图片描述

优化

我们的网络RANKCP是端到端的优化。输入文档D的损失函数由以下两部分组成。
第一部分度量子句对的排名分数。逐点排序损失定义为:
在这里插入图片描述

其中,yij∈{0,1}是句子对pij的ground-truth(yij=1表示pij是情感原因对),fact(-)设为对数函数.也可以通过对数排序损失来计算,边际超参数为γ:
在这里插入图片描述

其中,分句对p+的ground-truth值为1,而分句对p-的ground-truth值为0(因此p+的得分y+应该比p-的得分y-高),fact(-)设为tanh函数。损失函数的第二部分衡量图注意力网络的预输出yˆi emo和yˆi cau。根据分句对的ground-truth,我们知道一个分句是否是情感/原因分句,因此我们使用两个交叉熵损失函数Lemo和Lcau来监督两个预输出预测。我们使用上述两部分之和作为文件D的最终损失函数L:
在这里插入图片描述

这就形成了对子句表示学习和子句对排序的两级监督。

基于词库的提取

在测试时,一个关键的问题是如何根据所有对候选者的排名得分,提取潜在的情绪-原因对。需要注意的是,要确定一个总体的阈值分数,并不是一件容易的事情,这个分数可以被所有的文档采用,用于将候选者划分为情绪-原因对和负面的情绪-原因对。

我们采用基于词典的抽取方案,从top-N排行表{p1中获取情感-原因对{p1, p2,……, pN}的测试文档。我们首先提取最上面的一对p1(得分最高的)作为情感引起的一对。然后,对于每个剩余的子句对pi = (c i,1
, ci,2)∈{p2……, pN},我们使用一个情感词典来确定子句ci,1是否包含情感词。如果是,我们提取一对pi作为一个情感-原因对。因此,我们的模型能够从给定的文档中提取多个情感-原因对。

实验

在这里插入图片描述

在这里插入图片描述

情感原因对提取的结果

可以观察到,上述优势主要来源于召回率R的显著提升,与INTEREC相比,RANKCP在情感-原因对提取和原因句提取上分别实现了8.43%和6.60%的提升,这说明我们的一步到位方案可以有效地提取出更多正确的情感-原因对,而不伤害精度P。

结论和未来工作

在本文中,我们提出了第一个一步神经方法RANKCP来解决情感-原因对的提取问题,该方法强调从排序的角度进行子句间建模。我们的方法有效地建模了子句间的关系来学习子句表示,并将相对位置增强子句对排序集成到一个统一的神经网络中,以端到端方式提取情感原因对。在基准数据集上的实验结果表明RANKCP的性能明显优于以往的系统,进一步的分析验证了该方法的有效性。

在今后的工作中,我们将探索以下几个方向。首先,目前的情感原因分析研究主要集中在小句级的提取,其粒度相对较粗,进一步设计能够提取跨级或短语级情感表达和原因的细粒度方法是有必要的。其次,设计有效的方法将适当的语言知识注入神经模型对情绪分析任务很有价值(Ke et al., 2019;钟等,2019)。最后,研究情绪的语义角色将是一件有趣的事情(Bostan et al., 2020),它考虑了情绪表达的完整结构,更具挑战性。

### 回答1: "missing from-clause entry for table" 的意思是缺少表的来源。这通常是因为 SQL 查询中的表名或表别名拼写错误或不存在。需要检查查询语句中的表名和别名是否正确,并确保它们在查询中正确地引用。 ### 回答2: missing from-clause entry for table 是在 SQL 语句中出现的错误提示,原因是查询语句中缺少某个表的 FROM 子句。 在 SQL 中,FROM 语句用于指定要查询的表或视图。如果查询语句中没有包含 FROM 子句,或者 FROM 子句中没有包含要查询的表,则会出现 missing from-clause entry for table 错误。 例如,以下是一个错误的 SQL 查询语句: SELECT customer_name, order_id WHERE order_date BETWEEN '2021-01-01' AND '2021-06-30' 这个查询语句中缺少 FROM 子句,导致查询无法执行,会出现 missing from-clause entry for table 错误。 要解决这个错误,只需在查询语句中添加正确的 FROM 子句,指定要查询的表或视图即可。例如: SELECT customer_name, order_id FROM orders WHERE order_date BETWEEN '2021-01-01' AND '2021-06-30' 在这个查询语句中,我们添加了 FROM 子句,并指定要查询的 orders 表,查询就可以正确执行了,避免了 missing from-clause entry for table 错误。 总之,如果在 SQL 查询语句中出现了 missing from-clause entry for table 错误,就需要检查查询语句中是否存在 FROM 子句,并确保该子句中包含了要查询的表或视图。如果没有,就需要添加正确的 FROM 子句,以便查询能够正常执行。 ### 回答3: "missing from-clause entry for table"是一个数据库错误提示,通常会在查询语句中出现问题时产生。这个错误提示的意思是查询语句中缺少了必要的表格信息。 在数据库中,查询语句需要指明要查询的表格,并且需要由其他表格提供信息来完成查询。如果在查询语句中未正确指明表格,或者其他表格没有提供必要的信息,那么就会出现这个错误提示。 要解决这个问题,需要重新检查查询语句,确保表格和表格之间的关系正确,并且提供了足够的信息来完成查询。如果仍然出现错误提示,可能需要进一步检查数据库架构和数据内容,以确定是否存在其他问题导致查询失败。 总之,要避免这个错误提示,我们需要在编写查询语句时,认真考虑需要查询的数据和表格关系,并且确保提供了足够的信息来完成查询。只有这样才能最大化地利用数据库的功能,提高数据处理的效率和准确性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值