研究分享 | 情感原因抽取调研
认知计算部
面向文本的情感分析对于顾客评价分析以及公众意见监测有重要意义。
简介
面向文本的情感分析对于顾客评价分析以及公众意见监测有重要意义。早期的情感分析相关工作主要集中在情感分类任务并没有探索情感产生背后的原因。针对这个问题,Lee 等人[1] 最先提出情感原因抽取(Emotion cause extraction,ECE)任务,进一步挖掘情感产生的原因。情感原因抽取任务的目标是从文档中抽取给定的情感类别标签对应的原因子句。然而标准的情感原因抽取任务需要先给定情感标签再抽取对应原因句的设计严重限制了模型的应用场景,忽视了情感与原因之间的相互依存关系。为克服这些缺陷,Xia 等人[15] 进一步提出了情感原因句对抽取(Emotion-cause pair extraction,ECPE)任务,该任务的目标是抽取给定文档中所有的情感子句及其对应的原因子句。下面分别介绍以上两个研究任务的相关工作进展。
情感原因抽取
(Emotion cause extraction)
给定文档的情感词(或情感子句) 和文档 ,其中文档由 个子句组成,第 个子句 由 个词组成,情感原因抽取任务的目标是抽取出情感 对应的原因子句 。
情感原因抽取方法主要有三类:基于规则的方法,基于特征的方法和基于深度学习的方法。
图1 情感原因抽取方法
基于规则的方法最早用于解决情感原因抽取任务 [2,3,4,5]。Chen 等人[3]将原因的语言提示词(Linguistic cue words)分为六类,根据提示词与其相对情感词的位置,设计原因检测的规则。Neviarouskaya 等人[4] 进一步将情感认知模型(OCC model of emotions)中的 22 种情感分为 3 个类别,根据句法依存结果设计抽取规则,对情感的原因短语进行抽取。由于人工设计规则费时费力,Russo 等人[5] 利用常识库(repository of common sense knowledge),通过聚类和分类的方法,自动扩展情感原因的抽取规则。基于规则的方法的性能依赖于规则制定的质量和数量,在缺少数据时较为适用,当处理处理大规模数据时存在性能瓶颈。因此,研究者开始研究基于特征的方法,根据句法依存关系定义事件树(Event-tree),将原因抽取任务转化为事件树是否包含原因子句的二分类任务[6] 。基于事件树的方法依赖于句法分析的效果,因此Xu 等人[8] 从信息检索的角度引入排序学习(Learning to rank)思想,将情感词(Emotion term)作为查询内容,文档中的所有子句作为排序对象,取排序得分最高的子句作为情感原因子句。
近年来,随着深度学习技术的进步,研究者使用深度神经网络来解决情绪原因抽取。受到问答系统(Question answering, QA)中的记忆网络(Memory networks)的启发,Gui 等人[9] 将情感原因抽取任务类比问答任务,基于问答系统设计情感原因抽取模型。这种方法将查询输入限定为情感词,忽略了情感词在篇章中的上下文(即情感词所在的子句)。因此 Li 等人[10] 设计了联合注意力(co-attention)网络,来更充分利用子句间的信息。进一步,为了克服联合注意力机制仅刻画独立子句对信息的局限,Yu 等人[11] 提出用层次化网络(Hierarchical network)分别从词级别,短语级别和子句级别进行建模(如下图所示)。
图2 Hierachical Network 结构[11]
模型首先在词级别使用 attention 融合位置向量与词向量:
其中 为位置 i 的 embedding,为子句的词向量,σ()为 sigmoid 函数。然后在短语级别使用 CNN 滑窗得到短语向量:
其中 为短语向量,短语长度与滑窗长度相同,包含从 i 到 j 个词。
最后在子句级别使用 GRU 聚合文档全局信息表示用于情感原因子句分类:
Xia 等人[12] 基于 Transformer 也设计了层次化网络,同时还融合了相对位置与全局的预测结果信息(global prediction information) 。由于情感词与相对位置在原因抽取中的重要指示作用,Fan 等人[13] 进一步在层次化网络中引入外部的情感语料作为正则项,同时对相对位置引入正则项,让模型在 attention 时更关注于有情感词以及相对位置更近的子句。
情感原因句对抽取
(Emotion cause extraction)
给定文档 ,其中 由 个子句组成,第 个子句 由 个词组成。情感原因句对抽取任务的目标是抽取出 中所有的情感原因句对 :
其中 是第 个句对 是情感子句 是与之对应的原因子句。
图3 情感原因抽取(ECE)与情感原因句对抽取(ECPE)任务对比[14]
情感原因抽取(ECE)任务与情感原因句对抽取(ECPE)任务的对比如上图所示。ECE需要先给定文档与对应的情感,再抽取出情感的原因子句。而ECPE只需要给定文档,就可以抽取出所有 (情感子句,原因子句)句对。
情感原因句对抽取方法主要有两类:Two-step 的方法和End-to-End 的方法。
图4 情感原因句对抽取方法
Xia 等人[14]首次提出了基于two-step框架的情感原因句对抽取模型。该模型在第一步中,将情感抽取和原因抽取看作两个独立的任务,使用多任务学习(multitask learning ) 网络,分别抽取出情感子句 和原因子句 。在第二步中,模型将情感子句和原因子句做笛卡尔积得到所有的候选句对,然后训练逻辑回归模型(Logistic regression)过滤候选句对,保留正确的句对。
基于two-step 的方法部署简单且高效,但在设计上存在两个缺陷:(1)建模过程并不是直接指向最终的情感原因句对;(2)第一步的错误结果会影响到第二步的模型预测结果,造成误差传递[15]。因此,研究者开始聚焦于基于End-to-End 的方法。
Ding 等人[15] 设计了ECPE-2D 模型,使用2D Transformer直接建模句对 ,但是模型时间复杂度和空间复杂度较大,参数量较多。Fan 等人[16] 将情感原因句对抽取任务类比为有向图生成任务,设计了基于转移(transition-based)的情感原因抽取模型TransECPE ,根据输入的子句与预定义的转移动作,增量式的逐渐构建出情感节点与原因节点之间的边。但TransECPE 中人工预先定义的 action 无法涵盖所有可能的有向图。Wei 等人[17] 从情感与原因在篇章结构上的相互的指示性出发,提出了更高效的模型 RANKCP,使用图注意力网络建模文档的内容与结构,从排序的角度来解决情感原因句对抽取任务。
图5 RANKCP 结构[17]
RANKCP模型结构如上图所示,由三部分组成。第一部分对文档进行编码。使用层次化 RNN (或 Bert)对输入文档进行编码,得到每个子句的向量表示。
为进一步强化子句间的相互影响,在第二部分使用多层图注意力网络,进一步建模子句间的隐式关系。
第三部分中先构建候选子句对。在构建候选子句对时,假设距离过远的子句存在因果关系的可能性很小。因此,用相对距离小于的子句构建候选子句对(上图中 M 为 2)。然后使用一层 MLP 学习子句对的向量表示:
其中和 分别为第 个和第 个子句的向量表示,为其对应的相对位置embedding 向量。
最后,使用 ranking 层,输出子句对的 ranking 得分 。
总结
相较情感分类任务,情感原因抽取(ECE)任务和情感原因句对抽取(ECPE)任务需要模型对文档有更深入的理解。ECE 和 ECPE任务的核心是建模文档在内容上与结构上的信息,目前主流的方法主要从两个角度来实现:从语料内部挖掘和引入外部知识。未来还可以(1)从其他的角度或引入更多外部知识来进一步提升模型效果。(2)在非标准文本(如微博、Twitter)上提出新的数据集,来尝试在更复杂输入下解决情感原因任务。(3)在更细粒度的下进行情感原因抽取。
参考文献
[1] Sophia Yat Mei Lee, Ying Chen, Shoushan Li, and Chu-Ren Huang. 2010b. Emotion cause events: Corpus construction and analysis. In LREC.
[2] Sophia Yat Mei Lee, Ying Chen, and Chu-Ren Huang. 2010a. A text-driven rule-based system for emotion cause detection. In NAACL.
[3] Ying Chen, Sophia Yat Mei Lee, Shoushan Li, and Chu-Ren Huang. 2010. Emotion cause detection with linguistic constructions. In COLING.
[4] Alena Neviarouskaya and Masaki Aono. 2013. Extracting causes of emotions from text. In IJCNLP.
[5] Irene Russo, Tommaso Caselli, Francesco Rubino, Ester Boldrini, and Patricio Martínez-Barco. 2011. EMOCause: An easy-adaptable approach to extract emotion cause contexts. In ACL-HLT.
[6] Lin Gui, Jiannan Hu, Yulan He, Ruifeng Xu, Qin Lu, and Jiachen Du. 2017. A question answering approach for emotion cause extraction. In EMNLP.
[7] Lin Gui, Li Yuan, Ruifeng Xu, Bin Liu, Qin Lu, and Yu Zhou. 2014. Emotion cause detection with linguistic construction in chinese weibo text. In Natural Language Processing and Chinese Computing.
[8] Bo Xu, Hongfei Lin, Yuan Lin, Yufeng Diao, Liang Yang, and Kan Xu. 2019. Extracting emotion causes using learning to rank methods from an information retrieval perspective. IEEE Access.
[9] Lin Gui, Jiannan Hu, Yulan He, Ruifeng Xu, Qin Lu, and Jiachen Du. 2017. A question answering approach for emotion cause extraction. In EMNLP.
[10] Xiangju Li, Kaisong Song, Shi Feng, Daling Wang, and Yifei Zhang. 2018. A co-attention neural network model for emotion cause analysis with emotional context awareness. In EMNLP.
[11] Xinyi Yu, Wenge Rong, Zhuo Zhang, Yuanxin Ouyang, and Zhang Xiong. 2019. Multiple level hierarchical network-based clause selection for emotion cause extraction. IEEE Access.
[12] Rui Xia, Mengran Zhang, and Zixiang Ding. 2019. RTHN: A RNN-Transformer hierarchical network for emotion cause extraction. In IJCAI.
[13] Chuang Fan, Hongyu Yan, Jiachen Du, Lin Gui, Lidong Bing, Min Yang, Ruifeng Xu, and Ruibin Mao. 2019. A knowledge regularized hierarchical approach for emotion cause analysis. In EMNLP-IJCNLP.
[14] Rui Xia and Zixiang Ding. 2019. Emotion-cause pair extraction: A new task to emotion analysis in texts. In ACL.
[15] Zixiang Ding, Rui Xia, Jianfei Yu. 2020. ECPE-2D: Emotion-Cause Pair Extraction based on Joint Two-Dimensional Representation, Interaction and Prediction. In ACL.
[16] Chuang Fan, Chaofa Yuan, Jiachen Du, Lin Gui, Min Yang, Ruifeng Xu. 2020. Transition-based Directed Graph Construction for Emotion-Cause Pair Extraction. In ACL.
[17] Penghui Wei, Jiahao Zhao, Wenji Mao. 2020. Effective Inter-Clause Modeling for End-to-End Emotion-Cause Pair Extraction. In ACL.