结合规则蒸馏的情感原因发现
巫继鹏, 鲍建竹, 蓝恭强, 徐睿峰    
哈尔滨工业大学(深圳)计算机科学与技术学院, 深圳 518055
摘要:现有基于深度学习的情感原因发现方法往往缺乏对文本子句之间关系的建模,且存在学习过程不易控制、可解释性差和对高质量标注数据依赖过大的不足。为此,该文提出了一种结合规则蒸馏和层级注意力网络的情感原因发现方法。该方法使用结合位置编码和残差结构的层级注意力网络捕获子句内部以及子句和情感表达句之间的潜层语义关系。进而,采用基于对抗学习的知识蒸馏框架将情感原因表达相关的语言学规则引入模型,最终实现结合深度神经网络和语言学规则的情感原因发现。在中文情感原因发现数据集上的实验结果显示,该方法F1值比现有最优方法提升约0.02,达到了已知的最佳性能。
关键词情感原因发现    层次注意力网络    规则蒸馏    
Emotion cause extraction using rule distillation
WU Jipeng, BAO Jianzhu, LAN Gongqiang, XU Ruifeng    
School of Computer Science and Technology, Harbin Institute of Technology(Shenzhen), Shenzhen 518055, China
Abstract: Most existing deep learning emotion cause extraction methods are unable to model latent semantic relationships between clauses. In addition, these methods are not easily controlled, are difficult to interpret and need high-quality annotations. This paper presents an emotion cause extraction method that incorporates rule distillation with a hierarchical attention network. The hierarchical attention network uses position encoding and the residual structure to capture the latent semantic relationships within the clauses and between the clauses and the emotional expression. A knowledge distillation architecture based on adversarial learning then introduces linguistic rules related to the emotion cause expression into the deep neural network. Tests on a Chinese emotion cause extraction dataset show that this method outperforms the state-of-the-art method by 0.02 in F1, the best known result.
Key words: emotion cause extraction    hierarchical attention network    rule distillation    

文本情感分析任务的主要目标是识别出文本中蕴含的情感并判别其倾向性。但是在实际应用中,用户往往期望获得更加深入和丰富的细粒度情感信息。以舆情监督为例,只知道舆论的倾向性并不足以提供疏导民意的方案;如果能找到舆情发生的原因,就更容易找到更有针对性的解决方案。情感原因发现研究旨在实现对情感的追根溯源,即找到文本中触发情感表达的原因文本。以下面的句子为例。

例1  〈1〉上午10时,〈2〉李世铭一家闻讯后赶到侯马市公安局,〈3〉看到失而复得的儿子,〈4〉一家人忍不住泪流满面

该段文本包括4个子句,子句以逗号、句号等标点符号划分。其中下划线部分为情感关键词“泪流满面”,其所在句为情感中心句。文本情感分析一般关注发现情感关键词并判别其倾向性。在此基础上,情感原因发现的目的就是识别出触发这种情感产生的文本,即例子中的子句3“看到失而复得的儿子”。

目前,情感原因发现被视为一个子句级别的分类问题,解决方案主要包括基于规则、基于统计机器学习以及基于深度学习的方法。基于规则的方法的主要思路是利用情感表达相关的语言学特征构建情感原因发现规则集,随后对文本中的原因事件进行定位。Lee等[1]提出了一个情感原因发现人工规则集,并标注了第一个情感原因发现语料库。利用该规则集,Lee等[2]还提出了一种基于规则匹配的情感原因发现方法,并在上述语料上做了情感原因发现实验。以上基于规则集的情感原因发现方法具有很好的可解释性和可控性,但是需要人工构造规则集,且规则的覆盖率不高。基于统计机器学习的方法通常设计和选择与情感原因表达相关的特征,构建基于统计学习的分类器实现情感原因子句的发现。例如,Gui等[3]将规则集的匹配结果作为部分特征,加上其他语言学特征使用多核支持向量机(SVM)对情感原因子句进行分类,取得了较好效果。这类方法使用的特征的提取和筛选往往需要经验指导,此外往往还缺乏对序列关系的建模,忽略了上下文语义信息。基于深度学习的方法使用深度神经网络学习词语、句子和篇章的向量化表示,并建模文本序列信息以及情感词和文本之间的关系。Gui等[4]首次将深度学习方法引入情感原因发现问题,提出了一种基于卷积操作的深度记忆网络,对以后研究工作有很大启发。Ding等[5]认为除了文本内容之外,相对位置和全局标签也是非常重要的信息,因此引入相对位置嵌入学习算法,很好地建模了各个子句之间的位置关系,在Gui等[6]提出的中文情感原因发现数据集上达到了目前最优的性能。余传明等[7]提出了一种基于多任务学习的情感原因分析模型。但深度神经网络的训练往往依赖于大量高质量标注数据,同时缺乏对人工构造的语言表达规则的有效利用。同时,深度学习方法往往存在可解释性弱和可控性差等不足。

Hinton等[8]在2015年提出了知识蒸馏(knowledge distillation),这是一种将复杂网络模型学习到的参数迁移到简单模型的框架。Hu等[9]将一阶逻辑作为后验正则化约束神经网络中文本的表示,并采用知识蒸馏技术将包含语言学规则的结构信息迁移到网络权重中,并在情感分析和命名实体识别任务上进行了验证。Liu等[10]提出了一种基于对抗模仿学习的知识蒸馏方法,首先构建一个教师网络从真实标注中学习知识表示,再利用对抗学习的方式训练一个学生网络去模仿教师网络的输出,从而得到一个只接受原始文本的事件抽取特征编码器。

以往研究显示情感原因表达相关的语言学规则集包含了专家通过观察总结得到的准确和重要的领域知识,可以用于增强基于深度神经网络的情感原因发现表示学习。但如果直接使用规则对神经网络的预测结果进行后处理来修正部分预测错误的标签,可能会使模型总体性能下降。这是因为规则匹配本身的准确率有限,将会造成较多的假阳性(false positive)样例。为了将语言学规则有效地结合到深度学习模型中,使得模型具有一定的可解释性和可控制性,本文提出了一种结合规则蒸馏的情感原因发现方法RD-HAN(rule distilled-hierarchical attention network)。该方法利用基于双向门限循环单元(bi-directional gated recurrent unit,Bi-GRU)的层次网络捕获词级和子句级的序列特征,利用注意力机制捕获子句与情感表达之间的潜层语义表示。在此基础上借助知识蒸馏技术引入情感原因发现相关的语言学规则,用以指导神经网络的学习,从而实现语言学规则与深度神经网络的有效结合,提高情感原因发现性能。

1 模型框架

图 1是本文提出的结合规则蒸馏和层级注意力网络的情感原因发现方法RD-HAN整体框架。主要包括4个部件:教师编码器ET,学生编码器ES、分类器H和辨别器D。其中教师编码器和学生编码器均为结合位置信息和残差结构的层次注意力网络。模型的训练过程主要包括3个步骤:

图 1 (网络版彩图)RD-HAN情感原因发现方法总体框架

1) 训练教师编码器和分类器。将文本语义编码和规则角色编码拼接作为输入,训练目标是使分类结果同时接近真实标签和规则标签。

2) 训练学生编码器。固定分类器,仅将文本语义编码作为输入,训练目标是使分类结果接近真实标签。

3) 基于对抗学习的知识蒸馏。交替训练辨别器和学生编码器,辨别器的训练目标是分辨教师编码器和学生编码器的输出,而学生编码器的训练目标是尽量“骗过”辨别器,即让自己的输出尽量接近教师编码器的输出。

1.1 结合位置编码和残差结构的层次注意力编码器

图 2给出结合位置信息和残差结构的层次注意力编码器的框架图,其中“→”和“←”分别表示从正反两个方向对序列编码。为了综合考虑子句与情感表达的语义信息以及上下文关系,本文使用层次Bi-GRU捕获词级的序列特征和子句之间的潜层语义关系。为了更好地建模情感关键词与其他词之间的关系,本文使用注意力机制学习子句与情感关键词之间的相互联系。在情感原因发现任务中,子句与情感中心句之间的相对位置是一个重要的信息,因此本文引入相对位置编码向量来获取子句与中心句之间的相对位置信息。此外,为了有效地结合句子本身的语义信息和上下文信息,本文采用残差结构来得到子句的最终表示。

图 2 (网络版彩图)结合位置编码和残差结构的层次注意力编码器

1) 词序列编码器。

情感原因发现任务中,将情感关键词文本记作uR q×d,其中q为文本长度,d为词向量维度。情感原因子句记作ci=[wi, 1, wi, 2, …, wi, p]∈ R p×d,其中i表示第i个子句,p为子句长度,wi, j代表维度为d的词向量。词向量使用Word2Vec的skip-gram方法在中文情感原因发现数据集上进行预训练。然后,使用Bi-GRU网络建模,得到词序列的上下文表示hi

$ \begin{aligned} &\boldsymbol{h}_{i}=\left[\boldsymbol{h}_{i, 1}, \boldsymbol{h}_{i, 2}, \cdots, \boldsymbol{h}_{i, p}\right]=\\ &\operatorname{BiGRU}\left(\left[\boldsymbol{w}_{i, 1}, \boldsymbol{w}_{i, 2}, \cdots, \boldsymbol{w}_{i, p}\right]\right) \end{aligned} $ (1)

2) 词注意力。

该部分的目的是使用注意力机制建模情感关键词与其他词之间的关系,以此来提取文档中每个子句的语义信息。在Q-K-V注意力机制中,情感表达文本为Q (query),情感原因子句既是K (key)也是V (value),分别由Bi-GRU对原始输入编码得到。

$ {{\boldsymbol{Q}} = {\mathop{\rm BiGRU}\nolimits} (u),} $ (2)
$ {{{\boldsymbol{K}}_{{c_i}}} = {{\boldsymbol{V}}_{{c_i}}} = {{\boldsymbol{h}}_i}}. $ (3)

然后,根据式(4)得到子句中每个词语对情感表达的注意力权重向量a

$ \boldsymbol{\alpha } = {\mathop{\rm attention}\nolimits} \left( {\boldsymbol{Q},{\boldsymbol{K}_{{c_i}}},{\boldsymbol{V}_{{c_i}}}} \right) = \frac{{\boldsymbol{Q}\boldsymbol{K}_{{c_i}}^{\rm{T}}}}{{\sqrt d }}{\boldsymbol{V}_{{c_i}}}. $ (4)

最后通过式(5)得到具有情感注意力倾向的子句语义表达si

$ \boldsymbol{s}_{i}=\boldsymbol{\alpha}^{\mathrm{T}} \boldsymbol{h}_{i}=\sum_{j} \boldsymbol{\alpha}_{j} \boldsymbol{h}_{i j} $ (5)

3) 句序列编码器。

该层的目的是捕捉子句之间的上下文信息。本文使用Bi-GRU对句子向量序列建模,由式(6)得到每个子句的上下文向量表示[m1, m2, …, mn],其中n为情感原因子句的数目。

$ \left[\boldsymbol{m}_{1}, \boldsymbol{m}_{i}, \cdots, \boldsymbol{m}_{n}\right]=\mathrm{BiGRU}\left(\left[\boldsymbol{s}_{1}, \boldsymbol{s}_{2}, \cdots, \boldsymbol{s}_{n}\right]\right) $ (6)

由于上下文向量mi同时包含了子句的语义信息和上下文信息,当文本序列较长时可能出现梯度消失或梯度爆炸的情况,因此将上下文向量mi与子句的原始向量si拼接作为最终的语义向量。此外,在情感原因发现的相关研究中发现子句与情感关键词所在句的相对位置是非常重要的一个特征,因此将相对位置编码为pi作为子句位置的向量表示。最终,将语义向量与位置编码拼接得到子句的表示ri,见式(7)。

$ {{\boldsymbol{r}}_i} = {{\boldsymbol{m}}_i} \oplus {s_i} \oplus {{\boldsymbol{p}}_i}. $ (7)

其中⊕指对向量进行拼接。

4) 分类器。

文本情感原因发现本质上是一个分类任务,所以模型最后一层是分类器。情感原因发现任务中分类的目标是子句,所以直接将子句的表示经由分类器和softmax层得到最终的输出概率yi,见式(8),其中W是权重矩阵。

$ \boldsymbol{y}_{i}=\operatorname{softmax}\left(\boldsymbol{W} \cdot \boldsymbol{r}_{i}\right). $ (8)

最后,具有最高概率的标签作为最终的分类结果。

1.2 结合规则角色编码的文本表示方法

表 1给出了情感原因发现的语言学规则的一个例子。其中KIEC分别代表情感词、线索词、情感持有者和情感原因事件这4个角色。FBA分别表示情感词所在的当前句、前一句和后一句。基于规则的情感原因发现方法是检查文本是否符合规则给定的模式,如果符合则可以直接定位文本中情感原因子句。如在例1中,情感词(泪流满面)的前面出现了线索词“看到”,而在情感词与线索词之间存在情感持有者“一家人”,则线索词与情感持有者之间的动名词组合“失而复得的儿子”为情感原因事件,包含该情感原因事件的子句为情感原因句。

表 1 情感原因发现的语言学规则示例
名称 内容
模式 I(F)+C(B)+E(F)+K(F)
情感持有者 BFI之前最近的名词
情感原因 FK左边最近的动名词组合

为了将规则嵌入到神经网络模型中,可以将规则角色进行编码。具体来说,对于某个文本,首先对其进行规则匹配,确定每个词对应的规则角色。并对每种规则角色指定不同的编码,以此得到每个词的规则角色编码。过程如图 3所示, 其中O表示不对应任何规则角色。

图 3 规则角色编码示例

具体来说,假设用层次注意力模型得到的每个词的语义向量为xsi,用规则角色编码得到的规则向量为xri,那么该词的最终向量表示为

$ \boldsymbol{x}_{i}=\boldsymbol{x}_{s_{i}} \oplus \boldsymbol{x}_{r_{i}}. $ (9)

其中,xsixri这两个向量都将在训练过程中更新。

1.3 基于对抗学习的知识蒸馏训练方法

假设有输入变量x$\mathscr{X}$和目标变量y$\mathscr{Y}$,其中$\mathscr{X}$为输入文本的语义空间。由于情感原因发现是一个二分类问题,故$\mathscr{Y}$=Δ2是二维的概率空间,而y∈{0, 1}∈$\mathscr{Y}$则是类别标签。在得到训练样本集合D={(xn, yn)}n=1N的情况下,利用节2.1中基于层次注意力机制的文本编码器,通过有监督学习方法,可以得到一个分类模型pθ(y|x)。

假设有一组语言学规则,定义为:R={(Rl, λl)}l=1L,这里Rl是输入-目标空间($\mathscr{X}$, $\mathscr{Y}$)中的第l个规则,而λl∈[0, ∞]是第l个规则的置信度,λl=∞表明这是一个强规则。假设给定一组样本(X, Y)⊂($\mathscr{X}$, $\mathscr{Y}$),在一个神经网络中,通过softmax层可以得到预测概率向量,记为σθ(x),其中θ为需要训练的参数。通常,神经网络训练过程是通过样本预测概率和真实标签迭代更新参数θ。为了引入规则标签信息。在训练过程中对网络输出施加规则标签约束,这使得原本的概率分布pθ被映射到了受规则约束的子空间q。

为了编码器在学习的过程中自动学到规则知识,即将规则“消化”在模型参数中,借助知识蒸馏技术,将规则约束下训练得到的网络作为教师编码器,用fθ(x)来表示其输出的概率预测向量,其中θ为训练参数。为了隐式地学到规则信息,需要训练一个学生编码器,它只接受文本输入而不需要额外的规则信息。传统的知识蒸馏方法使用KL散度(Kullback-Leibler divergence)来更新学生网络,但是在实际应用中,以KL散度约束的知识蒸馏更新方法往往难以取得期望的效果[11],所以本文采用Liu等[10]提出的基于对抗的知识蒸馏训练方法,如图 1所示,其中前2个阶段为预训练阶段。

在预训练阶段,首先训练编码器ET和分类器H,损失函数如下:

$ \left\{ {\begin{array}{*{20}{l}} {{L_{\rm{T}}}(\mathit{\Theta }) = - \frac{1}{N}\sum\limits_{n = 1}^N {\left( {{L_1} + {L_2}} \right),} }\\ {{L_1} = (1 - \mu )\ell \left( {{{\boldsymbol{y}}_n},{f_{{\mathit{\Theta }_{\rm{T}}}}}\left( {{{\boldsymbol{x}}_n}} \right)} \right),}\\ {{L_2} = \mu \ell \left( {{{\boldsymbol{q}}_n},{f_{{\mathit{\Theta }_{\rm{T}}}}}({\boldsymbol{x}})} \right).} \end{array}} \right. $ (10)

其中: Θ包含编码器ET和分类器H的所有参数;$\ell $为损失函数,本文中使用交叉熵损失函数; yn是样本真实标签;qn是规则约束后的概率子空间;μ是调和系数,用来平衡两个目标的重要度。这一步是对ETH同时训练。

接下来,将冻结分类器H,然后连接编码器ES和分类器H,构建一个纯文本输入的情感原因发现模型。损失函数如下:

$ L_{\mathrm{S}}\left({\mathit{\Theta}}_{\mathrm{S}}\right)=-\frac{1}{N} \sum\limits_{n=1}^{N} \ell\left(\boldsymbol{y}_{n}, f_{{\mathit{\Theta}}_{\mathrm{S}}}\left(\boldsymbol{x}_{n}\right)\right) $ (11)

其中: ΘS指学生网络编码器的参数,fS(xn)是学生网络S对样本的预测概率。

最后冻结编码器ET和编码器ES,将教师编码器ES的输出当作正例,将学生编码器ES的输出当做负例来训练辨别器D。此时的交叉熵损失函数如下:

$ \begin{array}{c} L_{D}\left({\mathit{\Theta}}_{D}\right)=-\frac{1}{N} \sum\limits_{n=1}^{N}\left[\log \left(D\left(f_{{\mathit{\Theta}}_{\mathrm{T}}}\left(\boldsymbol{x}_{n}\right)\right)\right)+\right. \\ \left.\log \left(1-D\left(f_{{\mathit{\Theta}}_{\mathrm{S}}}\left(\boldsymbol{x}_{n}\right)\right)\right)\right] \end{array} $ (12)

其中: ΘD是辨别器D的参数。在对抗训练的阶段,学生编码器ES将要尽量“骗过”辨别器D,即让自己的输出尽量接近教师编码器ET的输出,而辨别器D则要尽量去辨别这2个编码器的输出。式(11)为第2个环节的损失函数,而第1个环节的损失函数如下:

$ \begin{aligned} L_{\mathrm{adv}}\left({\mathit{\Theta}}_{\mathrm{s}}\right) &=\frac{1}{N} \sum\limits_{n=1}^{N} {\rm log} \left(1-D\left(f_{\mathrm{s}}\left(x_{n}\right)\right)\right)=\\ &-\frac{1}{N} \sum\limits_{n=1}^{N} {\rm log} \left(D\left(f_{\mathrm{s}}\left(x_{n}\right)\right)\right) \end{aligned} $ (13)

而后将式(11)与式(13)联合,得到学生编码器ES的损失函数为

$ L_{\mathrm{Sadv}}\left({\mathit{\Theta}}_{\mathrm{S}}\right)=L_{\mathrm{S}}\left({\mathit{\Theta}}_{\mathrm{S}}\right)+\pi \cdot L_{\mathrm{adv}}\left({\mathit{\Theta}}_{\mathrm{S}}\right) $ (14)

其中π是超参数,用来平衡2个损失函数。

实际训练中,以往的实验表明过去常用的交替更新策略会产生不均衡的效果,比如辨别器性能过强,所以学生编码器ES很难“骗过”它,导致训练无法进行。于是本文将采用动态适应的学习策略,学生编码器ES正常迭代更新,同时预先设定一个辨别器阈值,辨别器D的参数仅在其判别准确率较低时更新。这样可以保证学生编码器不会因为判别器性能过高而无法学习参数。

2 实验与分析 2.1 实验数据集

本文使用的实验数据为中文情感原因发现数据集[6]。该数据集的统计信息如表 2所示。

表 2 中文情感原因发现数据集总体统计
项目 数量 占比/%
文档 2 105
子句 11 799
情感原因 2 167
含1条原因的文档 2 046 97.20
含2条原因的文档 56 2.66
含3条原因的文档 3 0.14

该数据集共收集2 105个文档,包含11 799条子句,其中有2 167条子句为情感原因所在句。绝大多数的文档只含有1条情感原因子句。

2.2 实验设置

本章提出模型的超参数设置如下:所有子句的文本截断长度为41;词向量维度为300,在训练的初始阶段以0.000 1的学习率微调;所有Bi-GRU的隐层维度均为300维。训练时,使用Adam优化器,学习率(learning rate, lr)设置为3×10-4。训练数据的批次大小(batch size)为16。

通过实验验证,在Lee等[1]提出的15条规则中选取了准确率在75%以上的8条规则(第1~5条和第9~11条)。规则置信度λ均设置为0.95,在规则约束学习的对抗训练阶段,调和参数π=1-0.9t,其中t为训练轮次,初始值为0.1,随着训练过程逐渐升高。

2.3 对比模型

为了验证模型的有效性,将提出的模型与如多种基准模型进行比较,具体如下。

RB (rule-based method):Lee等[1]在2010年工作中提出的基于规则匹配情感原因发现方法。

CB (commonsense-based method):此方法为Russo等[12]在2011年提出的基于情感常识库匹配的方法,Gui等[6]将情感认知词典引入此方法,并在中文情感原因发现数据集上进行了复现。

RB+CB+ML (machine learning):Gui等[6]在中文情感原因发现数据集上结合了基于规则匹配以及常识库匹配方法从数据中抽取特征,并结合机器学习算法进行分类。

Multi-kernel: Gui等[6]使用基于多核支持向量机分类器的事件驱动的方法。

ConvMS-M: Gui等[4]提出的基于卷积的层级注意力记忆网络情感原因发现方法。

PAE-DGL: Ding等[5]提出的结合相对位置和全局标签的情感原因发现方法。

CANN: Li等[13]提出的基于协同注意力网络的情感原因发现方法。

HAN :基于Yang等[14]提出的层次注意力网络建立的情感原因发现方法。

HAN-PR:本文提出的结合相对位置和残差结构的层次注意力网络模型。

RD-HAN:本文提出的结合规则蒸馏和层级注意力网络的情感原因发现方法。

2.4 实验结果及分析

本文实验均取90%的数据作为训练集,10%的数据作为测试集,取25次独立实验结果的平均值作为最终的实验结果进行对比。

1) 总体性能对比。

首先比较不同方法在中文情感原因发现数据集上的性能,如表 3所示。本文提出的HAN-PR模型F1值上超过了现有的其他方法。与在中文情感原因发现数据集上达到当前最优(state-of-the-art)性能的协同注意力模型CANN相比,本文提出的模型在F1值指标上提升0.003 8。在此基础上,结合规则蒸馏的RD-HAN模型由于规则标签的引入使得准确率下降了0.006 5,但是同时将召回率提升了0.030 6,最终在F1值上提升了0.014 2。这说明了本文提出的结合位置编码和残差结构的层次注意力网络在情感原因发现上有不错的表现,而基于对抗的规则蒸馏方法又通过引入语言学规则带来了进一步的性能提升。

表 3 情感原因发现方法总体性能对比
模型 P R F1
RB 0.6712 0.5247 0.5890
CB 0.2672 0.7130 0.3887
RB+CB+ML 0.5921 0.5307 0.5597
Multi-kernel 0.6588 0.6927 0.6752
ConvMS-Mem 0.7076 0.6838 0.6955
PAE-DGL 0.7619 0.6908 0.7242
CANN 0.7721 0.6891 0.7266
HAN 0.7232 0.6605 0.6904
HAN-PR 0.7771 0.6897 0.7304
RD-HAN 0.7706 0.7203 0.7446

2) 不同知识蒸馏方式的对比。

为了验证对抗训练的作用,本文引入知识蒸馏技术中常用的基于KL散度的训练方法作为对比,将基于KL散度训练得到的教师网络和学生网络分别记为RD-HAN(T)-KL和RD-HAN(S) -KL,将基于对抗训练得到的教师网络和学生网络分别记作RD-HAN(T)-Adv和RD-HAN(S)-Adv,对比结果见表 4

表 4 不同蒸馏方式的对比
模型 P R F1
RD-HAN(T)-Adv 0.7665 0.7158 0.7403
RD-HAN(S)-Adv 0.7706 0.7203 0.7446
RD-HAN(T)-KL 0.7661 0.7137 0.7389
RD-HAN(S)-KL 0.7658 0.7123 0.7381

结果表明,使用基于KL散度的知识蒸馏策略训练得到的学生网络并不能有效地学习到教师网络的信息,其在准确率、召回率和F1值上相比教师网络均有下降。因此,基于对抗的知识蒸馏训练方法是有效的。

3) 模型结构消融实验。

为了评估本文提出的基础模型HAN-PR中各部分的贡献,本文对该模型的不同结构组成进行了消融实验。结果如表 5所示。

表 5 HAN-PR结构消融实验对比
模型 P R F1
HAN 0.7232 0.6605 0.6904
HAN-PR 0.7771 0.6897 0.7304
-word2vev 0.7405 0.6859 0.7117
-attention 0.7641 0.6829 0.7207
-hierarchy 0.6899 0.6833 0.6837
-position 0.7377 0.6544 0.6932
-highway 0.7626 0.6958 0.7269

其中HAN指原始的HAN模型,与HAN-PR相比缺少了位置编码和残差结构;-word2vev指不用预训练的词向量而是随机生成词向量;-attention指在模型第1层不引入注意力机制;-hierarchy指不用层级结构的HAN-PR模型,即用第1层的GRU输出的句子向量加上注意力机制直接进行分类;-position指在第2层句向量不拼接位置编码;-highway指在模型得到第2层输出上下文向量送入分类器之前不拼接句向量。

结果显示,与原始的HAN-PR相比,在情感原因发现任务中引入位置编码和残差结构使模型性能提升了0.04。若不使用预训练词向量,模型的性能会受到较大的影响,F1值下降了0.018 7。注意力机制的引入使F1值提升了0.009 7,这说明该机制的引入是有必要的。如果忽略子句的上下文信息,模型的性能将大幅下降,F1值下降了0.046 7。如果不引入位置嵌入向量(position embedding),模型的F1值将会下降0.036 2,这表明相对位置是一个重要的特征。在句子编码层引入残差结构对模型的性能提升有一定的帮助,使F1值提升0.003 5。

3 结论

本文提出了一种结合规则蒸馏的情感原因发现方法,利用知识蒸馏技术将情感原因发现专家规则嵌入到基于层次注意力机制的深度神经网络模型,在保证模型性能的前提下提高了模型的可控性。在中文情感原因发现数据集上的实验结果表明,在准确率、召回率和F1值3项指标上,该方法均达到了在该数据集上目前已知的最佳性能。

在研究过程中也发现,由于情感原因发现问题的标注语料比较匮乏,对方法设计带来很大限制。此外,现有的语料缺乏个性化信息,不利于研究群体情感原因发现问题。在后续的工作中将针对这些问题展开研究。

参考文献
[1]
LEE S Y M, CHEN Y, HUANG C R. A text-driven rule-based system for emotion cause detection[C]//Proceedings of the NAACL HLT 2010 Workshop on Computational Approaches to Analysis and Generation of Emotion in Text. Los Angeles, USA: Association for Computational Linguistics, 2010: 45-53.
[2]
LEE S Y M, CHEN Y, HUANG C R, et al. Detecting emotion causes with a linguistic rule-based approach[J]. Computational Intelligence, 2013, 29(3): 390-416.
[3]
GUI L, YUAN L, XU R F, et al. Emotion cause detection with linguistic construction in Chinese Weibo Text[C]//Proceedings of the Natural Language Processing and Chinese Computing. Shenzhen, China: Springer, 2014: 457-464.
[4]
GUI L, HU J N, HE Y L, et al. A question answering approach to emotion cause extraction[C]//Proceedings of the Conference on Empirical Methods in Natural Language Processing. Copenhagen, Denmark: Association for Computational Linguistics, 2017: 1593-1602.
[5]
DING Z X, HE H H, ZHANG M R, et al. From independent prediction to re-ordered prediction: Integrating relative position and global label information to emotion cause identification[C]//Proceedings of the National Conference on Artificial Intelligence. Hawaii, USA: AAAI, 2019: 6343-6350.
[6]
GUI L, WU D Y, XU R F, et al. Event-driven emotion cause extraction with corpus constructions[C]//Proceedings of 2016 Conference on Empirical Methods in Natural Language Processing. Austin, USA: Association for Computational Linguistics, 2016: 1639-1649.
[7]
余传明, 李浩男, 安璐. 基于多任务深度学习的文本情感原因分析[J]. 广西师范大学学报(自然科学版), 2019, 37(1): 50-61.
YU C M, LI H N, AN L. Analysis of text emotion cause based on multi-task deep learning[J]. Journal of Guangxi Normal University (Natural Science Edition), 2019, 37(1): 50-61. (in Chinese)
[8]
HINTON G, VINYALS O, DEAN J. Distilling the knowledge in a neural network[C]//Proceedings of the Workshops of Advances in Neural Information Processing Systems. Montreal, Canada, 2014: 200-208.
[9]
HU Z T, MA X Z, LIU Z Z, et al. Harnessing deep neural networks with logic rules[C]//Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. Berlin, Germany: Association for Computational Linguistics, 2016: 2410-2420.
[10]
LIU J, CHEN Y B, LIU K. Exploiting the ground-truth: An adversarial imitation based knowledge distillation approach forevent detection[C]//Proceedings of the Thirty-Third AAAI Conference on Artificial Intelligence. Hawaii, USA: AAAI, 2019: 6754-6761.
[11]
KRISHNA K, JYOTHI P, IYYER M. Revisiting theimportance of encoding logic rules in sentiment classification[C]//Proceedings of 2018 Conference on Empirical Methods in Natural Language Processing. Brussels, Belgium: Association for Computational Linguistics, 2018: 4743-4751.
[12]
RUSSO I, CASELLI T, RUBINO F, et al. EMOCause: An easy-adaptable approach to emotion cause contexts[C]//Proceedings of the 2nd Workshop on Cmputational Approaches to Subjectivity and Sentiment Analysis. Portland, USA: Association for Computational Linguistics, 2011: 153-160.
[13]
LI X J, SONG K S, FENG S, et al. A co-attention neural network model for emotion cause analysis with emotional context awareness[C]//Proceedings of 2018 Conference on Empirical Methods in Natural Language Processing. Brussels, Belgium: Association for Computational Linguistics, 2018: 4752-4757.
[14]
YANG Z C, YANG D Y, DYER C, et al. Hierarchical attention networks for document classification[C]//Proceedings of 2016 Conference of the North American Chapter of the Association for Computational Linguistics. San Diego, USA: Association for Computational Linguistics, 2016: 1480-1489.