时间:2024-05-04
何孝霆,董 航,杜义华
1(中国科学院 计算机网络信息中心,北京 100190)
2(中国科学院大学,北京 100049)
3(清华大学 工业工程系,北京 100084)
随着社交媒体的迅速发展,用户对各种对象(例如政客和宗教)的丰富意见很容易地得以传播.这些意见可以帮助优化管理系统,并可以洞察重要事件.例如在总统选举中,从社交媒体上的内容中判别用户对总统候选人的立场可以更好地预测民意,对政治走向进行判断.立场检测任务旨在确定人们对特定对象是赞成,反对,还是持中立态度.
针对对象的立场检测与情感极性分类是不同的问题.情感极性分类是不针对特定对象的,而立场检测是针对于特定对象.但这个对象不一定必须在推文中出现,因为可以通过隐式提及对象或谈论其他相关对象来表达针对特定对象的立场.此任务的主要挑战是分类器作出的决定必须要针对特定对象.来自SemEval-2016 的特定对象立场检测数据集的训练数据示例可以在表1找到.同时可以看到推文是由用户生成,简短且嘈杂.并具有独特的特征,如短语标签.已有工作并未充分利用这些推文独特的特征.
表1 针对特定对象的立场检测示例
受词片模型[1]和Transformer[2]在语言建模任务的有效性所带来的启发[3].我们将Transformer 与门控注意力应用于特定对象立场检测任务,同时将情感预测作为立场检测的辅助任务.具体来说,该方法首先通过Wordpiece 模型将原始文本拆分成词片序列,文本中所有的短语标签会在此步被有效拆分成单词组合;随后将词片序列输入Transfomer 进行编码;紧接着,门控注意力被用来识别与给定对象相关的重要单词.此外,取中间编码预测情感,并将立场检测和情感预测的损失整合到最终损失中.上述模型的表现在SemEval-2016数据集上得到了验证.总体来说,我们的贡献概括如下:
首先,我们将Wordpiece 和Transformer 结构应用于立场检测模型,该模型借助建模与编码可分离短语来改善在立场检测任务上的表现;其次,我们将门控注意力应用于“感知”特定对象,在细粒度语义层面,使得模型可以根据对象对文本进行自适应编码;最后,情感得分预测任务的加入进一步提升了立场检测的效果.
立场检测任务即判断给定文本对于特定对象的立场,类似于进行情感极性的分类任务.但是,与情感分类不同,在给定的句子中可能未明确提及立场检测的对象.考虑以下示例推文:@realDonaldTrump is the only honest voice of the @GOP and that should scare the shit out of everyone!(译文:@唐纳德·特朗普是@GOP唯一的诚实声音,应该吓到所有人!).我们进行立场检测的对象是Hillary Clinton/希拉里·克林顿,我们观察到即使对象希拉里·克林顿并未出现在此推文中,我们仍可以推断出,意见持有者不太可能赞成希拉里·克林顿.因此识别对象信息对于立场检测至关重要.此前的立场检测研究工作包括基于特征工程[4]、卷积神经网络[5,6]、循环神经网络[7]的工作,但是他们没有考虑针对特定对象的问题.为了解决这个问题,有工作已经提出了几种针对特定对象的注意力机制方法[8-10],将对象信息嵌入句子表示中.
在社交媒体中,往往存在短语标签.如#NoHillary,我们称这类短语标签为可分离短语,因为这些短语标签往往可以被拆分成若干个单词,如“No Hillary”.这些短语标签对立场检测往往很有帮助.通过准确识别并理解特定对象及短语标签,可以更有效的判断推文立场.但已有方法并未有效的利用这些短语标签.
情感信息也被证明对立场检测任务有帮助.例如Sobhani 等[11]发现情感特征与其他特征结合使用时,对立场检测任务有帮助.Sun 等[10]提出一个层次注意力模型用来学习情感信息的重要性,而不是直接将情感特征整合进向量表示中.后来Sun 等[12]提出了一个联合模型,可以同时确定立场和情感.
为了有效利用可分离短语、特定对象以及情感信息,我们利用Transformer 和门控注意力构造一个针对特定对象立场检测的模型.模型主体结构如图1所示.该模型包含带有词片的Transformer 编码器和细粒度对象注意力两部分,除了标准的立场检测任务外,还附加了情感预测辅助任务帮助立场检测.
图1 模型主体结构
给出示例推文,@Reince This is very credible!Good work! America is desperately in need of good leadership.#Vote- GOP #NoHillary.(译文:@Reince 这是非常可信的!干得好!美国迫切需要良好的领导才能.#反对希拉里.)我们进行立场检测的对象是Hillary Clinton.如果我们不考虑标签#NoHillary 就很难推断出正确的立场标签.因此无法分离的连续短语会导致重要对象信息的丢失.在分离连续短语后,我们需要知道No 指向的是Hillary 从而判断推文作者反对希拉里.
为了能够有效将标签中的连续短语分割成有意义的单词,我们使用无监督词片模型(Wordpiece),用来分离连续短语.而为了更好地捕捉到句子内部的依赖关系,我们使用Transfomer 结构代替此类任务中通常使用的循环神经网络结构,并提升了模型表现.接下来将介绍具体过程.
首先,我们给定原始推文序列s,并对s应用词片模型,生成确定性分段,即词片序列.
词片模型的一种主要实现方式为字节对编码(Byte-Pair Encoding,BPE)算法[1].该算法首先将原始文本视为字母组成的符号序列,每次合并最频繁的相邻符号对,并将合并后的相邻符号对作为新的符号.直到达到指定的合并次数.如我们的原始文本是Jet makers feud over seat width with big orders at stake.应用词片模型后可以形成词片序列J et_ makers_ fe ud_ over_ seat _width_ with_ big_ orders_ at_ stake_.此时“_”是一个特殊字符,代表单词结束.再如例子#NoHillary,在应用词片模型后会被分成“#”、“No”和“Hillary” 3 个符号.
在对s使用词片模型进行切分后,得到输入词片序列s={s0,s1,s2,···,sL}.接下来将其送入嵌入层,每个单词都是一个向量表示X={x0,x1,x2,···,xn},其中n是句子长度.下一步使用Transformer 进行特征提取.Transformer[2]作为编码器的结构如图2所示.在时间t,Transformer 输出的隐向量通过所有时刻的输入决定.
同样的,对于特定对象q,同样对其应用词片模型得到词片序列q={q0,q1,q2,···,qL},其中L是对象短语的长度,并同样使用Transformer 进行特征提取.
最终对象向量k是Transformer 输出在对象短语上所有词的平均.
图2 Transformer 编码器
当人类被要求标记一条推文对特定对象的立场时,他们很可能将有关对象的信息牢记在心,并更多的关注与对象相关的部分.注意力机制首先应用于机器翻译任务,允许神经网络自动为源句子中与预测对象的有关的词分配权重,并屏蔽不相关的标记.注意力机制已应用于问答、生成、情感分析等任务.
我们将注意力机制应用于该模型,使模型能自动计算推文中词的权重,从而反映出不同词在特定对象时的重要性.在标准注意力机制中,推文向量被表示为隐藏状态的加权和,因而在这样的模型下文本表示和对象表示没有直接交互作用.而直觉上,人类只会关注与对象相关的部分词,例如文本中的某个词可能暗示了对象的反对立场,但这个词与其他对象无关.标准注意力机制所使用的Softmax 归一化权重间接使得词与词之间存在了关系,这与我们的直觉不符.词的权重得分应该是独立的,即独立考虑每个词与对象的相关性.
为了独立考虑每个词语对象的相关性,我们通过引入隐藏状态和对象向量表示之间的交互,即使用门控结构将当前词的注意力拓展到更细粒度的语义级别.针对特定对象的推文隐藏状态表示为:
注意力权重ai用 来确定hi对最终对象的重要性.这是通过一个门控结构计算得出的:
其中,ai的计算可以有多种选择,如内积注意力或多层感知机注意力.在本研究中ei使用了多层感知机注意力来计算,即将输入通过含单隐藏层的多层感知机变换.
为了得到最终的句子表示,借鉴文献[13]的做法,使用对每个词的向量表示取平均来作为最终句子的表示.
在得到最终的句子表示b后,首先通过多层感知机进行变换,多层感知机输出的维度为可能的立场类别数.将输出送入Softmax 层,转换为概率分布.由于模型的所有部分都是可导的,因而我们可以使用标准的反向传播以端到端的方法进行训练.我们使用多类别交叉熵作为损失函数,该损失函数定义如下:
其中,N是训练数据集,z是立场类别数.
先前的研究表明,情感信息对于立场检测任务是有帮助的[11].为此我们同时加入情感得分的预测来改善立场检测任务.我们对训练集中的每个推文进行情感打分,标注情感得分为-0.5 到0.5,其中-0.5 代表最消极,0.5 代表最积极.例如对推文“Hillary is our best choice if we truly want to continue being a progressive nation.” (译文:如果我们真正想继续成为一个进步的国家,希拉里是我们的最佳选择.)标注得分0.41,代表比较偏向于积极.
预测情感得分将作为模型的辅助训练任务.具体而言,参照文献[14] 的方法,对原始推文序列通过Transformer 输出的隐向量hi取平均作为情感表示向量.
将r送入多层感知机进行变换,输出维度为1,即预测的情感得分u.我们使用均方误差作为损失函数.
合并立场检测主任务和情感预测辅助任务的损失:
其中,λ是超参数,用来调整两个任务的权重.
我们使用SemEval-2016 任务6.A 来测试本文模型的性能.该数据集包含有5 个不同的对象:“Atheism/无神论” (“A”)、“Climate Change is a Real Concern/气候变化是一个真正的问题”(“CC”)、“Feminist Movement/女性主义运动”(“F”)、“Hillary Clinton/希拉里克林顿”(“H”) 和“Legalization of Abortion/堕胎法律”(“LA”).表1显示了这些对象在数据集中的分布.每条推文有立场标签 (“支持”、“反对” 和“无关”),情感得分使用两个目前最好的第三方标注服务,通过 Amazon Comprehend 及Azure 文本分析服务分别进行标注,并取两者的平均值作为最终的情感得分.
我们采样了约15%的训练数据作为验证集以调整参数.词嵌入层使用预训练BERT.Tansformer 中单元数设置为256.Dropout 层,比率为0.5.使用Adam 作为优化器,学习速率设置为1e-4.立场检测主任务的全连接层维度为128,情感预测辅助任务的全连接层维度为64.λ设置为0.75.此外,我们将L2 正则用于损失函数,并将正则化参数设置为0.01.
MacroF1 被用于评估本文模型的性能.标签“支持”和“反对”的F1 得分计算如下:
其中,P指准确率,R指召回率.然后计算MacroF1:
值得注意的是,“无关”标签不会在训练中被丢弃.但是评估中不考虑标签“无关”.因为在此任务中我们仅对“支持”和“反对”标签感兴趣.
我们平均每个对象的Favg得 到M acFavg.
首先使用消融实验来确定本文模型中每个组件对立场检测的重要性.
(1) WT-all 是带有情感预测辅助任务的模型.
(2) WT-main 跟WT-all 相比不带有情感预测辅助任务.
表2是在SemEval-2016 数据集上立场检测的性能比较结果,表2的前两行数据显示了该消融实验的结果.在所有对象的表现上,带有情感预测辅助任务的模型都优于不带该辅助任务的模型.这可以表明情感预测辅助任务的有效性.
其次,我们将本文模型与以下基准方法进行比较(所有基准方法的实验结果均来自原始论文):
(1) SVM[4]:通过单词和字符的n-gram 进行训练,超越了SemEval-2016 竞赛中的最佳模型.
(2) JOINT[12]:利用情感信息来改进立场检测任务.
(3) TAN[8]:基于注意力的LSTM 模型.
(4) AS-BiGRU-CNN[9]:在基于注意力的LSTM 模型之后加入CNN 以提取对象特征.
(5) HAN[10]:利用层级注意力机制建模各种语言特征.
(6) TGMN-CR[15]:使用注意力机制和记忆机制提取重要信息进行立场检测.
表2 Favg 性能比较(%)
表2其余数据显示了比较的结果.我们可以看到,WT-all 在“Climate Change is a Real Concern/气候变化是一个真正的问题”(“CC”)、“Feminist Movement/女性主义运动”(“F”)、“Hillary Clinton/希拉里克林顿”(“H”)这3 个对象中优于所有基线模型.在“Atheism/无神论” (“A”)对象上也可以取得可比较的结果.该模型MacFavg比JOINT 模型高出1.21%,证明了模型的有效性.
在本文中,我们将Transformer 结构与门控注意力应用于特定对象立场检测.使用Wordpiece 拆分可分离短语,Transformer 用于建模文本语义,门控注意力用于建模文本与对象的关系.此外,我们还加入了情感预测任务作为辅助任务,以充分利用文本中的情感信息来提升表现.在基准数据集上的实验结果表明,在Macro F1 分数的评价体系下,我们的模型比其他模型具有更好的性能.在未来的工作中,我们可以进一步考虑对象间的关系:在立场检测中,对象之间的相互关系往往是有帮助的,即推文可能通过谈论其他相关对象,来推理对某一特定对象的立场,比如支持“特朗普”意味着反对“希拉里”.因而,如何捕捉到对象之间的关系,从而利用此类关系进一步提升立场检测应用的表现,这需要更深入的研究.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!