基于方面的情感分析产出:
1.自然语言句子的方面术语
2.及其对应一种情感。
任务以流水线方式完成,先进行方面术语的提取,再对提取的方面术语进行情感预测。
缺点:
流水线工作虽然容易实现,但是没有利用两个步骤(提取术语和分析情感)联合信息,针对这个,本文提出了一种交互式多任务学习网络(IMN),该网络能够在单词级别和文档级别同时学习多个任务。
区别于传统多任务学习方法:
IMN引入了一种消息传递体系结构,其中信息通过一组共享的潜在变量迭代的传递给不同任务。实验结果表明,三个基准数据集都表现良好。
基于方面的情感分析(ABSA)已在确定人们对特定方面的态度。通过提取显式的方面描述,称为方面术语提取(AE),然后去检测每个提取的方面术语的情感极性,称为方面级别的情绪分类(AS),例如:“Great food but the service is dreadful”,方面术语是食物和服务,对它们的情感导向分别是积极地和消极的。
以前的工作之中,AE和AS是典型工作。
两个子任务单独处理,流水线作业,不能充分利用两个子任务之间的联合信息。
近期提出,集成模型可以获得与管道方法相当的结果,两者都使用统一的标记方案将问题表述为单个序列标记任务。
他们方法的缺点:
1.仅仅通过统一的标记连接两个任务,没有显式的建模它们之间的相关性。
2.这些方法只学习方面级别的实例,实例的大小通常很小,没有利用其它来源的可用信息,比如文档级别的标记的情感语料库.
我们提出:
1.IMN——同时解决两个任务,两个任务相互作用。
2.IMN允许AE和AS一起被训练
3.消息传递机制,任务之间进行信息交互(它将来自不同任务的有用信息发送回共享的潜在表示,然后将信息与共享的潜在表示相结合,在此基础上进一步处理任务,此操作迭代执行,允许随着迭代的次数增加而在多个连接之间修改和传播信息。与大多数通过学习共享信息的多任务学习方案不同。)
{B, I}-{POS, NEG, NEU}分别表示一个方面词的开头和里面有积极的消极的或中性的感情,O表示背景词。
IMN允许细粒度的单词级别分类任务与文档级别分类任务一起训练。合并了两个文档级别的分类任务——情感分类(DS)和域分类(DD)——与AE和AS联合训练,允许方面级别的任务从文档级别的信息中受益,实验结果较好。
基于情感分析
现有方法:
将ABSA分解为两个子任务,并在管道中(两个子任务不相关的流水线)解决。
单独处理的缺点:
1.第一步的错误传向第二步,导致向整体性能下降
2.不能利用任务间的共性和关联(可能导致需求较大数据量)
以前尝试开发集成的解决方案:
提出将问题建模为具有统一标注方案的序列标注任务
缺点:
1.两个子任务只通过一个统一的标注方案进行连接
2.任务间没有交互
多任务学习——应用到NLP
传统框架:
使用一个共享网络和两个特定任务的网络来派生出一个共享特征空间和两个特定任务的特征空间。
多任务学习通过使用一个共享的表示来并行学习语义相关的任务,可以捕获任务间的相关性,提高模型的泛化能力。
对于ABSA,通过与文档级别的情感分类联合训练,可以显著提高方面级别的情感分类(仅仅是通过错误的反向传播,对学习的特征做出贡献)。
IMN:
1.共享表示
2.使用迭代消息显式地对任务之间的交互进行建模,传播的信息有助于学习和推理,从而提高ABSA的整体性能。
消息传递体系结构
计算机视觉中的用于消息传递的图模型推理算法网络结构。将消息传递算法的执行建模为一个网络,可以得到递归神经网络结构。
(区别于循环神经网络和递归神经网络,一个是时间上的,一个是空间上的)
我们在网络中传播信息并学习更新,但是该体系结构是为解决多任务学习问题而设计的。我们的算法可以看作是一个递归神经网络,因为每次迭代都使用相同的网络来更新共享的潜在表示变量。
IMN架构如图所示,输入是一个token序列 {x1,…,xn} ,输入到特征提取组件 f θ f_θ fθ之间共享的所有任务。
整个架构包括一个词嵌入层和几个特征提取层,具体来说, f θ s f_{θ_s} fθs在嵌入层之后应用了 m s m^s ms个CNN层。
f θ s f_{θ_s} fθs的输出是一个潜在向量序列 { h 1 s , h 2 s , . . . , h n s } \{h_1^s,h_2^s,...,h_n^s\} {h1s,h2s,...,hns},在所有任务共享。 f θ s f_{θ_s} fθs初始化后,稍后通过结合通过消息传递从不同任务组件传播的信息来更新这个潜在向量序列。我们将 h i s ( t ) h_i^{s(t)} his(t)表示经过t轮消息传递后与 x i x_i xi对应的共享潜向量的值, h i s ( 0 ) h_i^{s(0)} his(0)表示初始化的值。
这组中间向量被用作不同任务的特定组件(框框)的输入。每个特定任务的组件都有自己的一组中间潜在向量和输出向量,输出向量对应于序列标注任务中的一个标签序列;在AE中我们为每个token分配一个标签,表明它属于某个方面或观点术语;在AS中,我们用sentiment标记每个单词。在一个分类任务中,输出就是输入实例的label,比如情感分类任务DS的文档情感,域分类任务DD的文档域(新闻分类),具体取决于任务。
此外,我们还允许在每个迭代中的组件之间传递消息。针对这个问题,我们将信息从AE任务发送到AS任务,如图1所示。在T次迭代之后,允许信息通过多个跃点传播的消息传递,我们使用输出变量的值作为预测。对于这个问题,我们只使用AE和AS的输出,因为这些是最终任务,而其他任务只用于训练。我们现在描述每个组件,以及它如何用于学习和推理。
AE旨在提取一个句子中出现的所有方面和观点术语,将其表示为一个BIO标记方案的序列标注问题。具体来说,我们使用了五个类标签: Y a e = { B A , I A , B P , I P , O } Y^{ae} = \{BA,IA,BP,IP,O\} Yae={BA,IA,BP,IP,O},分别表示方面术语的开始和内部,观点术语的开始和内部,以及其他单词。我们还制定了AS作为一个使用 Y a s = p o s , n e g , n e u Y^{as} = {pos,neg,neu} Yas=pos,neg,neu标签的序列标注问题,指明token级别的积极的,消极的,中性的情感取向。表1显示了一个使用gold AE和AS标签的方面级训练实例。在方面级别的数据集中,只有方面术语得到注释。因此,当建模为一个序列标注问题时,我们用相应方面术语的情感标签来标记方面术语的每个标记。例如,如表1所示,我们根据“fish”和“varity of fish”两个方面术语的gold sentiment labels,将“fish”标记为pos,将“variety”、“of”、“fish”标记为neg。由于其他token没有AS gold labels,我们在计算AS的训练损失时忽略了对它们的预测。
AE组件 f θ a e f_{θ_{ae}} fθae被 θ a e θ_{ae} θae和输出 { y ^ 1 a e , y ^ 2 a e , . . . , y ^ n a e } \{\hat{y}_1^{ae},\hat{y}_2^{ae},...,\hat{y}_n^{ae}\} {y^1ae,y^2ae,...,y^nae}参数化,AS组件 f θ a s f_{θ_{as}} fθas被 θ a s θ_{as} θas和输出 { y ^ 1 a s , y ^ 2 a s , . . . , y ^ n a s } \{\hat{y}_1^{as},\hat{y}_2^{as},...,\hat{y}_n^{as}\} {y^1as,y^2as,...,y^nas}参数化,AE和AS编码器分别由 m a e m^{ae} mae和 m a s m^{as} mas层CNN组成,它们将共享的表示分别映射到 { h 1 a e , h 2 a e , . . . , h n a e } \{h_1^{ae},h_2^{ae},...,h_n^{ae}\} {h1ae,h2ae,...,hnae}和 { h 1 a s , h 2 a s , . . . , h n a s } \{h_1^{as},h_2^{as},...,h_n^{as}\} {h1as,h2as,...,hnas}。对于AS编码器,我们在堆叠的CNN层上添加了一个self-attention层,如图一所示,我们使得AE的输出 y ^ i a e \hat{y}_i^{ae} y^iae,被AS的self-attention层接收,了解方面任务的观点术语有益于情感分类任务,self-attention的矩阵 A ∈ R n × n A\in R^{n\times n} A∈Rn×n计算如下:
第一个式子表明在 h i a s h_i^{as} hias和 h j a s h_j^{as} hjas之间的语义相关性与参数矩阵 W a s W^{as} Was,第二个式子是距离相关因素,随着第i个token和第j个token距离增大而减小,第三项 p j o p p_j^{op} pjop表示第j个token是任何观点术语词的一部分的概率预测。概率 P j o p P_j^{op} Pjop可以用在 y ^ j a e \hat{y}_j^{ae} y^jae中的观点相关标签BP和IP来求和计算。这样,AS就直接受到AE预测的影响。我们将A中的对角线元素设置为零,因为我们只考虑上下文单词来推断目标token的情感极性。self-attention层输出 h i ′ a s = ∑ j = 1 n A i j h j a s h_i^{'as}=\sum_{j=1}^nA_{ij}h_j^{as} hi′as=∑j=1nAijhjas。在AE中,我们连接(concatenate)词嵌入、初始化的共享表示 h i s ( 0 ) h_i^{s(0)} his(0)和任务特定表示 h i a e h_i^{ae} hiae作为第i个token的最终表示。在AS中,我们连接 h i s ( 0 ) h_i^{s(0)} his(0)和 h i ′ a s h_i^{'as} hi′as作为最终表示。对于每个任务,我们采用softmax激活函数的全连接层作为解码器,这将最终token表示映射为概率分布 y ^ i a e ( y ^ i a s ) \hat {y}_i^{ae}(\hat {y}_i^{as}) y^iae(y^ias)。
为了解决方面级训练数据不足的问题,IMN能够利用文档级标记的情感语料库中的知识,这些知识更容易获得。我们介绍了两个文档级的分类任务,将与AE和AS一起进行训练。一个是文档级情感分类(DS),它预测对输入文档的情感。另一种是文档级域分类(DD),它预测输入文档的域标签。
如图1所示,特定于任务的操作 f θ o f_{θ_o} fθo由 m o m^o mo个CNN层映射共享表示 { h 1 s , . . . , h n s } \{h_1^s ,...,h_n^s\} {h1s,...,hns}到 { h 1 o , . . . , h n o } \{h_1^o ,...,h_n^o\} {h1o,...,hno},注意力层 a t t o att^o atto,解码层 d e c o dec^o deco,其中o∈{ds,dd}为任务符号。计算注意权重为:
其中 W o W^o Wo是一个参数向量。最后计算文档表示为 h o = ∑ i = 1 n a i o h i o h^o=\sum_{i=1}^na_i^oh_i^o ho=∑i=1naiohio。我们采用softmax激活函数的全连接层作为解码层,将 h o h^o ho映射到 y ^ o \hat{y}^o y^o。
为了利用不同任务之间的交互,消息传递机制聚合了来自前一次迭代的不同任务的预测,并使用该知识更新共享的潜在向量 { h 1 s , . . . , h n s } \{h_1^s ,...,h_n^s\} {h1s,...,hns}为当前迭代。具体地说,消息传递机制集成了 y ^ i a e , y ^ i a s , y ^ d s , a i d s \hat{y}_i^{ae},\hat{y}_i^{as},\hat{y}{ds},a_i^{ds} y^iae,y^ias,y^ds,aids的知识,并且 a i d d a_i^{dd} aidd在一个输入{x1,…,xn}上计算,共享隐层向量 h i s h_i^s his更新如下:
其中t > 0和[:]表示连接操作。我们采用ReLu激活函数的全连接层作为再编码函数 f θ r e f_{θ_{re}} fθre来更新共享表示,我们整合了 y ^ i a e ( t − 1 ) \hat{y}_i^{ae(t-1)} y^iae(t−1)和 y ^ i a s ( t − 1 ) \hat{y}_i^{as(t-1)} y^ias(t−1),它是来自AE和AS之前的迭代的输出,这些信息可用于两个任务在当前一轮计算。我们也整合来自DS和DD的信息。 y ^ d s \hat{y}^{ds} y^ds表示输入序列的情感,这可能对AS是有用的。由DS和DD生成的注意力权重 a i d s a_i^{ds} aids和 a i d d a_i^{dd} aidd分别反映了第i个token的情感相关性和领域相关性。与情感或领域相关的token更可能是观点词或方面词。此信息对于方面级任务非常有用。
方面级问题的实例只有方面级标签,文档级问题的实例只有文档标签。IMN交替在方面级和文档级实例上进行训练。
其中T表示消息传递机制中的最大迭代次数, N a N_a Na表示方面级训练样本的总数, n i n_i ni表示第i个训练样本中包含的token数, y i , j a e y^{ae}_{i,j} yi,jae ( y i , j a s y^{as}_{i,j} yi,jas)表示AE(AS)gold 标签的one-hot编码。 l l l是每个token的交叉熵损失。在方面级别的数据集中,只有方面术语具有情感注释。我们将属于任何方面术语的每个token标记为对应方面术语的情感。在进行模型训练时,我们只考虑了与这些方面项相关的token的AS预测来计算AS损失,而忽略了其他token上所预测的情感。
在文档级样本上进行训练时,我们将以下损失最小化:
其中 N d s N_{ds} Nds和 N d d N_{dd} Ndd分别表示训练样本的数量, y i d s y_i^{ds} yids和 y i d d y_i^{dd} yidd分别表示gold 标签的one-hot编码。在训练文档级样本时不使用消息传递迭代。
为了便于学习,我们首先在文档级样本(最小化 L d L_d Ld)上对网络进行少次数迭代的预训练,以便DS和DD能够做出合理的预测。然后对网络进行方面级样本和文档级样本的训练,以r的比例交替进行,以最小化 L a L_a La和 L d L_d Ld。整体训练过程如算法1所示。 D a D^a Da、 D d s D^{ds} Dds和 D d d D^{dd} Ddd分别表示DS、DD的方面级训练集。 D d s D^{ds} Dds和 D a D^a Da来自类似的领域。 D d d D^{dd} Ddd包含来自至少两个域的审查文档,其中 y i d s y_i^{ds} yids表示域标签,其中一个域类似于 D a D^a Da和 D d s D^{ds} Dds的域。通过这种方式,语言知识可以从DS和DD转移到AE和AS,因为它们在语义上是相关的。我们通过调整 θ d s θ_{ds} θds和 θ d d θ_{dd} θdd更新参数来最小化 L a L_a La,因为我们不希望他们受到少数aspect-level训练样本影响。
数据集 表2显示了方面级数据集的统计信息。我们对来自SemEval2014 (Pontiki et al., 2014)和SemEval 2015 (Pontiki et al., 2015)的三个基准数据集进行了实验。观点术语是由Wang等人(2016a)注释。我们使用来自(He et al., 2018b)的两个文档级数据集。一个来自Yelp餐馆领域,另一个来自亚马逊电子领域。每个实例包含30k个实例,包含pos、neg和neu的完全相等的类标签。我们使用两个数据集与域标签 D d d D^{dd} Ddd的连接。当 D a D^a Da为D1或D3时,我们使用Yelp数据集作为 D d s D^{ds} Dds,当 D a D^a Da为D2时,我们使用电子数据集作为 D d s D^{ds} Dds。
网络的细节 我们提出的网络采用(Xu et al., 2018)的多层CNN结构作为基于CNN的编码器。实现细节见附录A。对于词嵌入的初始化,我们将一个通用的嵌入矩阵和一个特定领域的嵌入矩阵连接起来(Xuetal.,2018)。我们采用了他们发布的餐馆和笔记本电脑领域的100维特定领域词嵌入,这些词嵌入是在使用fastText的大型特定领域语料库上训练的。通用词嵌入是预训练好的300维Glove 向量。
一组重要的超参数是共享编码器和特定任务编码器中的CNN层数。为了确定 m s m^s ms、 m a e m^{ae} mae、 m a s m^{as} mas、 m d s m^{ds} mds、 m d d m^{dd} mdd的值,我们首先调查多少层CNNs可以在单独训练任务时很好地工作。在本例中,我们将 c o c^o co表示为CNN层的最优数量,其中o∈{ae,as,ds,dd}为任务指示符。分别在D1的训练集上执行AE,AS,在文档级餐厅语料库上执行DS、DD。交叉验证用于选择 c o c^o co,对于 c a e c^{ae} cae、 c a s c^{as} cas、 c d s c^{ds} cds、 c d d c^{dd} cdd,得到4,2,2,2。根据这一观察,我们使 m s m^s ms、 m a e m^{ae} mae、 m a s m^{as} mas、 m d s m^{ds} mds、 m d d m^{dd} mdd分别等于2,2,0,0,0,使得 m s + m o = c o m^s + m^o = c^o ms+mo=co。注意,还有其他配置满足要求,例如 m s m^s ms、 m a e m^{ae} mae、 m a s m^{as} mas、 m d s m^{ds} mds、 m d d m^{dd} mdd等于1,3,1,1,1。我们选择设置是因为它涉及到最小的参数集。
我们通过D1上的交叉验证训练 I M N − d IMN ^{-d} IMN−d来调整消息传递机制中的最大迭代次数T。设置为2。当T固定为2时,我们通过对D1和相关文档级数据集的交叉验证来训练IMN来调整r。它也被设置为2。
我们使用Adam optimizer,学习速度设置为 1 0 − 4 10^{-4} 10−4,batch size设置为32。学习速率和批大小被设置为常规值,而没有针对我们的任务进行特定的调优。在训练阶段,我们从方面级数据集中随机抽取20%的训练数据作为开发集,只使用剩下的80%进行训练。我们对模型进行了固定数量的epochs,并将模型保存在开发集上具有最好F1-I分数的epoch次数进行评估。
评价指标 在测试过程中,我们提取方面(观点)术语,并基于 y ^ a e ( T ) \hat{y}^{ae(T)} y^ae(T)和 y ^ a s ( T ) \hat{y}^{as(T)} y^as(T)预测每个术语提取方面的情感。由于提取的方面术语可能包含多个token,并且在AS中对它们的情感预测可能不一致,所以我们只输出第一个token的情感标签作为任何提取的方面术语的预测情感。
我们使用五个度量来进行评估,其中两个度量AE性能,两个度量AS性能,一个度量总体性能。AE现有工作(Wang et al., 2017;(Xu et al., 2018),我们使用F1来衡量方面术语提取和观点术语提取的性能,分别表示为F1-a和F1-o。AS现有工作(Chen et al., 2017;He et al., 2018b),我们采用准确性和宏观F1值来衡量AS的性能。我们称它们为acc-s和F1-s。由于我们在解决集成任务时没有假设提供了gold方面术语,所以这两个度量是基于从AE中正确提取的方面术语计算的。我们计算集成任务的F1值(记为F1- I)来度量总体性能。为了计算F1-I,只有当跨度和情感都被正确识别时,提取的方面术语才被认为是正确的。在计算F1-a时,我们考虑了所有方面的术语,而在计算acc-s、F1-s和F1-I时,我们忽略了带有冲突情绪标签的方面术语。
管道的方法 我们为每个AE和AS从之前的工作中选择两个最优模型,构建2×2的管道基线。对于AE,我们使用CMLA (Wang et al., 2017)和DECNN (Xu et al., 2018)。CMLA提出了通过建模方面和观点术语之间的相互依赖关系来实现方面和观点术语的协同提取。DECNN是AE最先进的模型。它利用了多层CNN结构,具有通用和特定领域的嵌入。我们在IMN中使用与编码器相同的结构。对于AS,我们使用ATAELSTM(简称ALSTM) (Wang et al., 2016b)和来自(He et al., 2018b)的模型,我们称之为dTrans。ALSTM是一种基于注意力的LSTM结构的代表作品。我们将其与dTrans进行了比较,因为dTrans也利用了文档语料库中的知识来提高性能,从而达到了最先进的结果。因此,我们比较了以下管道方法:CMLA-ALSTM、CMLA-dTrans、DECNN-ALSTM和DECNN-dTrans。我们还比较了管道设置的IMN,其中训练AE和AS独立(例如,没有参数共享、信息传递和文档级语料库)。我们称它为管道。管道中AE的网络结构与DECNN的相同。在测试所有方法的过程中,我们首先执行AE,然后生成正确提取的方面术语作为预测。
集成的方法 我们比较了最近提出的两种在综合方法中取得最新成果的方法:MNN (Wang et al., 2018)和来自 (Li et al., 2019)的模型,我们称之为INABSA (ABSA的综合网络)。这两种方法都将整个任务建模为具有统一标注方案的序列标注问题。由于在测试期间,IMN为避免情感不一致只输出提取的方面术语的第一个token上的情感,为了进行公平的比较,我们也在MNN和INABSA上执行这个操作。我们还展示了一个IMN版本的结果,它不使用文档级的语料,即 I M N − d IMN^{-d} IMN−d。 I M N − d IMN^{-d} IMN−d的结构如图1所示。它省略了从示例(4)中的文档级人物传播的信息 y ^ d s , a i d s , a i d d \hat{y}^{ds},a_i^{ds},a_i^{dd} y^ds,aids,aidd。
主要的结果 表3给出了比较结果。值得注意的是,IMN在AE中执行方面和观点术语的共提取,它在训练中使用额外的观点术语标签,而除了CMLA之外的baseline方法在其原始模型中没有考虑这些信息。为了进行公平的比较,我们稍微修改了这些baseline来执行共提取,并提供了观点术语标签。关于模型比较的进一步细节见附录b。从表3可以看出, I M N − d IMN^{−d} IMN−d在F1-I上的表现明显优于其他基线。IMN进一步提高了性能,在D1、D2和D3上,IMN比来自baseline的F1-I最佳结果提高了2.29%、1.77%和2.61%。具体来说,对于AE (F1-a和F1-o), I M N − d IMN^{−d} IMN−d在大多数情况下表现最好。对于AS (acc-s和F1-s), IMN的表现远远优于其他方法。管道, I M N − d IMN^{−d} IMN−d,以及使用dTrans的管道方法在这项任务中也表现得相当好,比其他baseline表现得好一些。所有这些模型都通过文档级任务的联合训练或使用特定域的词嵌入来利用来自大型语料库的知识。这说明领域特定的知识是非常有用的,联合训练和领域特定的词嵌入都是传递知识的有效方法。我们还展示了 I M N − d IMN^{−d} IMN−d和IMN在只使用通用词嵌入(不使用特定于域的词嵌入)进行初始化时的结果。它们被记为 I M N − d / I M N w o D E IMN^{−d}/IMN wo DE IMN−d/IMNwoDE。 I M N w o D E IMN wo DE IMNwoDE的表现仅略低于IMN。这表明由特定于域的词嵌入捕获的知识可能与文档级任务的联合训练捕获的知识类似。 I M N − d IMN^{−d} IMN−d在没有特定领域词嵌入的情况下受到的影响更大,但它仍然优于除DECNN-dTrans之外的所有其他baseline。DECNN-dTrans是一个非常强大的baseline,因为它利用来自更大的语料库的额外知识来完成这两个任务。即使不使用额外的知识, I M N − d / I M N w o D E IMN^{−d}/IMN wo DE IMN−d/IMNwoDE也可以与DECNN-dTrans竞争,这表明所提出的网络结构是有效的。
Ablation study 调查不同组件的影响,我们开始用一个香草模型由 f θ s f θ a e , f θ a s f_{θ_s} f_{θ_{ae}}, f_{θ_{as}} fθsfθae,fθas组成,只有无用的消息传递,并添加其他组件一次。表4显示了不同模型变量的结果。+Opinion transmission(舆论传播)表示向self-attention层提供额外信息 P j o p P_j^{op} Pjop的操作,如式(1)所示。+Message passing-a表示仅在每次消息传递迭代时传播来自方面级任务的输出。+DS和+DD表示只共享参数的添加DS和DD。+Message passing-d表示涉及用于消息传递的文档级信息。我们观察到+Message passing-a和+message passing-d对性能的贡献最大,这证明了所提出的消息传递机制的有效性。我们还观察到,简单地添加带有参数共享的文档级任务(+DS/DD)只会略微提高 I M N − d IMN^{−d} IMN−d的性能。这再次表明特定域的知识已经被域词嵌入捕获,而在这种情况下,通过参数共享从DD和DS获得的知识可能是多余的。然而,+message passing-d仍然有助于获得可观的性能收益,这表明方面级任务可以从了解相关文档级任务的预测中获益。
Impact of T T T 我们已经证明了消息传递机制的有效性。在这里,我们研究了最大迭代次数T的影响。表6显示了随着T的增加,F1-I对测试集的变化。我们发现在两到三次迭代中可以很快地实现收敛,而进一步的迭代并不能提供可观的性能改进。案例研究。为了更好地理解所提出的方法在什么情况下有用,我们检查了被管道和INABSA错误分类但被IMN正确分类的实例。对于方面提取,我们发现消息传递机制在两个场景中特别有用。首先,它有助于更好地利用来自观点上下文的信息来识别不寻常方面的术语。如表5中的例1所示,管道和INABSA无法识别“build”,因为它在训练集中是一个不常见的方面术语,而IMN能够正确识别它。我们发现,当不执行消息传递迭代时,IMN也不能识别“build”。但是,当我们分析句子中每个token上的预测情感分布时,我们发现除了“durability”外,只有“build”具有较强的积极情感,而其他token上的情感分布更为均匀。这表明“build”也是一个方面术语。IMN能够通过消息传递机制聚合这些知识,从而能够在以后的迭代中正确识别“build”。由于相同的原因,消息传递机制也有助于避免提取没有表达观点的术语。如例2所示,管道和INABSA都提取“Pizza”。但是,由于在给出的句子中没有表达观点,所以“Pizza”不应该被认为是一个方面级术语。IMN通过将意见观点预测和情感预测中的知识聚合在一起来避免提取这类术语。
对于方面级情感,因为IMN训练大文档级标注语料库与平衡情感类,一般来说它更好地体现特定域的观点词的意思(例3),更好地捕捉情感复杂的表达式,比如否定(例4),和更好的认识到小情感类方面级别数据集(负面和中性在我们的情况下)。此外,我们发现文档级任务通过消息传递传播的知识是有帮助的。例如,与情感相关的注意权重有助于识别不常见的观点词,进而有助于正确预测方面词的情感。如例5所示,PIPELINE和INABSA无法将“划痕”识别为观点术语,并对方面术语“aluminum铝”做出了错误的情感预测。IMN通过之前的消息传递迭代所累积的与情感相关的注意力权值,通过知识得知“划痕”与情感相关,因此能够轻松提取“划痕”。由于AE的观点预测被发送到AS组件的self-attention层,正确的观点预测进一步帮助推断出对“aluminum”的正确情感。
提出了一种交互式多任务学习网络IMN,用于联合学习方面和观点术语的共同提取,以及方面层次的情感分类。提出的IMN引入了一种新的消息传递机制,允许任务之间进行信息交互,从而更好地利用相关性。此外,IMN能够从多个训练数据源中学习,允许细粒度的token级任务从文档级标记的语料库中受益。该体系结构可能适用于类似的任务,如关系提取、语义角色标注等。
CNN-based Encoder
我们采用(Xu et al., 2018)提出的多层CNN结构作为基于CNN的编码器,用于共享CNN和特定于任务的CNN。每个CNN层有许多一维卷积过滤器,和每个过滤器都有一个固定的内核大小k = 2c + 1,这样每个过滤器执行卷积操作的窗口 k 字表示,和计算第 i 个词的表示以及四周 2c 语言的上下文。
按照原文的设置,共享编码器的第一层CNN有128个过滤器,内核大小k = 3, 128个过滤器,内核大小k = 5。共享编码器中的其他CNN层和每个特定于任务的编码器中的CNN层有256个过滤器,每个层的内核大小k = 5。ReLu是每个CNN层的激活函数。在嵌入层和每个CNN层之后使用p = 0.5的Dropout。
舆论传播
为了缓解早期训练阶段观点标签预测不可靠的问题,我们在训练阶段对观点传递进行了定时抽样。我们 发送 gold opinion标签而不是预测的从AE到AS的概率 p i p_i pi。概率 p i p_i pi取决于训练期间的迭代的次数,我们对其采用逆sigmoid形衰减 p i p_i pi= 5/(5 + exp(i/5))。
对于CMLA8、ALSTM9、dTrans10和INABSA11,我们使用官方发布的源代码进行实验。对于MNN,由于源代码不可用,我们按照本文中的描述重新实现了模型。我们使用随机初始化多次运行每个基线,并保存它们的预测结果。我们使用一个统一的评估脚本来度量来自不同baseline的输出以及所提出的方法。该方法在模型训练过程中利用附加的观点术语标签,实现了观点术语和观点术语的共提取。在baseline中,MNN和INABSA两种集成方法和DECNN作为AE组件的管道方法在训练过程中不获取意见信息。为了进行公平的比较,我们在MNN、INABSA和DECNN的原始标签集上添加了标签{BP, IP},表示观点术语的开始和内部。我们在训练集上用方面和观点术语标签训练这些模型来执行共提取。此外,对于流水线方法,我们还在训练期间为AS模型(ALSTM和dTrans)提供了gold opinion术语。为了使ALSTM和dTrans利用观点标签信息,我们修改了它们的注意力层,为更可能成为观点术语一部分的标记分配更高的权重。这是合理的,因为在AS模型中注意力机制的目标是找到相关的观点语境。将第i个token在输入语句中应用softmax归一化之前的注意权值修改为:
其中ai为原始注意层计算的注意权重,pop i为第i个令牌属于任意意见项的概率。a0 i表示修改后的注意权值。在培训阶段,由于提供了gold opinion term,对于gold opinion term的一部分的token, p i o p = 1 p^{op}_i = 1 piop=1,而对于其他token, p i o p = 0 p^{op}_i = 0 piop=0。在测试阶段,根据管道法AE模型的预测计算出 p i o p p^{op}_i piop。它是通过对第i个token的与观点相关的标签BP和IP上的预测概率求和来计算的。我们还在表712中没有使用观点术语标签的情况下给出了比较结果。在这种情况下,我们修改了IMN和IMN - d来只识别AE中的方面术语。将观点术语预测从AE发送到AS的观点传递操作也被省略。在这种情况下, I M N − d IMN^{-d} IMN−d和IMN在大多数情况下仍明显优于其他baseline。此外,当比较表7和表3的结果时,我们发现,当考虑观点术语提取时, I M N − d IMN^{-d} IMN−d和IMN在表3的所有数据集上都能产生更好的F1-I得分。当使用观点术语标签进行训练时,在其他baseline方法中没有观察到一致的改进。这些结果表明,从学习观点术语提取中获得的知识确实是有益的,但是,需要设计一个完整的网络结构来利用这些信息。IMN通过显式地建模任务之间的交互来利用任务相关性,从而更好地集成了从训练不同任务中获得的知识。