基于异构二部图的对话情感分析
2021-12-27桑钟屹林鸿飞
彭 韬,杨 亮,桑钟屹,唐 雨,林鸿飞
(大连理工大学 计算机科学与技术学院,辽宁 大连 116024)
0 引言
随着移动互联网的兴起,社交媒体正在逐渐成为人们表达观点和情感的主要平台。与传统的交流意见与情感方式不同(如书信),社交媒体平台上的交流往往是充满俚语和表情符的短文本对话形式,例如,微博评论、电商客服咨询等。短文本对话是多个用户交替发言产生的,对话的全局语义由多用户在对话上下文中共同构建,且单次发言的语义具有高度情景化的特点,这使得对社交媒体中对话结构的文本分析成为自然语言处理领域的难点之一[1-2]。
文本情感分析旨在识别或提取文本中的情绪信息,如对商品评论[3]、电影影评[4]等短文本进行情绪识别,但是这些应用领域往往只是针对单个用户的某一文本进行分析,对于多个用户在对话过程中的情绪识别,目前尚未进行充分研究。近几年,针对社交媒体的情感分析任务逐渐引起研究者的注意。对话情感分析由于涉及到多个用户,用户之间的交流往往会导致更复杂的上下文语境,如用户之间观点对立等,因此对对话文本中用户情绪的识别是一项具有挑战性的任务。如图1所示,用户1的第二句话“我快哭了”在大多数的情况下会被视为负向情感,但是在本对话情境中这句话实际上是表达了用户1的正向情感。因此,对话情感分析的语境是复杂的,且与用户情感状态相互关联,如何更好地捕捉对话过程中不同用户发言的结构关系以及用户单次发言的文本结构是本文研究重点。
图1 对话情感分析示例
目前对话情感分析的主流模型为循环神经网络[5]和预训练语言模型[6]。这些模型往往仅直接对整个句子甚至对话流程进行顺序编码,忽视了句子本身的语法结构,以及复杂语境下语法成分的复杂上下文关系。而对话文本中用户的发言多为偏口语化的,可能存在词法和结构等方面的歧义,尤其是循环神经网络存在长距离依赖问题,可能在建模具有较远距离依赖关系的语法结构时表现不佳[7]。因此,通过引入文本显式的语法结构,我们可以运用依存关系来建立具有较远距离的语法成分之间的联系,再通过图卷积网络提取它们之间的语法结构信息,弥补序列建模时忽视文本的语法结构的不足。
针对对话情感分析,目前中文数据集的缺乏和模型句法结构知识的问题,本文主要贡献如下:
(1) 构建了一个中文对话情感分析数据集;
(2) 提出了两个框架,将句法信息加入常见的情感分析模型中,将文本的依存关系表示为异构图,再通过图卷积网络提取句法结构信息;
(3) 在中文对话情感分析数据集上,相关实验验证了我们的模型能提取出有用的句法结构信息,并对对话情感任务的精度有提高。
本文的组织结构为: 第1节介绍对话情感分析的相关研究和图神经网络在自然语言处理任务上的广泛应用;第2节介绍图卷积网络模型和将依存关系转化为异构二部图的方法;第3节详细描述了基于依存句法结构增强的对话情感分析的两个模型;第4节阐述实验数据的来源、基线模型的选择和实验结果的分析;第5节做出总结,并对下一步工作进行展望。
1 相关研究
1.1 对话情感分析
针对对话中的情绪检测,主流方法主要采用循环神经网络和预训练模型。在2017年,深度学习方法逐渐在自然语言处理领域得到广泛应用,Gupta等人首次对对话情感分析进行了清晰的定义,并且运用GloVe和SSWE分别对用户发言的语义和情感进行编码,再通过LSTM进行句子的上下文建模[8]。Chen等人运用层次化的LSTM来解决对话中用户的交互问题,低层LSTM建模句子的文本编码,高层的上下文LSTM将用户每一轮发言作为输入,建模用户交互中语义和情感的动态变化[9]。Majumder等人为了更好地追踪对话过程中情绪的变化,用多个GRU来分别建模对话的整体状态、说话人和听者的情绪状态,并运用注意力机制来更好地捕捉远距离的语义和情绪的关联关系[10]。随着预训练语言模型的发展,在SemEval 2019的任务3评测中,通过微调BERT、ELMO等预训练模型,再结合一些常用的机器学习算法,如SVM、MLP等,使得预训练模型在对话情感分析中取得了十分出色的实验结果[6,11]。
1.2 图神经网络
2 基于依存关系的异构图卷积网络
本节首先简单介绍图卷积网络的计算模型,然后分析传统的图卷积网络在依存关系图上面临的困难,最后介绍本文提出的基于依存关系的异构二部图及其对应的图卷积方式。
2.1 图卷积网络
本文主要借鉴Kipf和Welling提出的GCN模型[12],该方法利用滤波器抽取出图中节点及其邻域的高维特征,进而发现节点之间的高阶相似性,在许多领域都有较好的表现。
如图2所示,每张图可以表示为G=(V,E),其中,V包含N个节点vi∈V,而每条边eij=(vi,vj)表示图中由节点vi指向节点vj的单向边,E是图中所有边eij的集合。根据E可以构造邻接矩阵A∈RN×N,每个节点的特征向量xi∈RD共同构成特征矩阵X∈RN×D,则图卷积操作可定义为:
图2 图结构示例
2.2 基于依存关系的异构图
传统的图分类任务往往是同构图,即图中所有节点和边都是一种类型,但在实际应用中,图中往往包含不同类型的节点和边,如果在构造图神经网络时所有节点和边共享相同的特征映射矩阵和模型参数,则会导致图中不同类型的信息混杂在相同的特征空间中,因而模型的表现不佳。异构图中则可以存在多种不同类型的节点和边,允许不同类型的节点映射到不同的特征空间。
为了在对话式情感分析任务中有效引入句子的句法信息,我们将句子的词与词之间的依存关系引入模型。在依存语法理论中,“依存”是指词与词之间的支配与被支配的关系,这种关系是有方向的,处于支配地位的成分称为支配者,处于被支配地位的成分称为从属者[17]。
本文使用了哈尔滨工业大学社会计算与信息检索研究中心研制的语言技术平台(LTP)[18]对文本数据进行依存关系分析。该框架一共包含14种依存句法关系,如表1所示。
表1 依存句法关系
图3是使用LTP对短文本进行依存分析的实例,可以看出即使句子仅含有七个词,其中也包含了六种不同的依存关系。如果将依存关系图视为同构图,即所有边都被视为是相同的,这无疑丢失了依存关系图中大量的重要信息。如果将依存关系图中不同的类型边进行区分(假设依存句法具有r种关系类型),则在卷积中要考虑每一类型的边对应的映射矩阵RD×h(D为嵌入层维度,h为隐藏层维度),则在图卷积层中需要训练O(r×D×h)的参数规模,这会导致在小规模数据集上训练过程难以迅速收敛,且反向传播时模型参数梯度的计算量过大。
图3 依存关系图示例
针对以上问题,本文提出一种新颖的基于依存关系的异构图。我们将文本中的词语视作一类节点,将所有依存句法中的关系类型视作另一类节点,词语与词语之间依存关系边不再直接相连,而是由处于支配地位的词语连接到对应依存关系的节点,再从对应依存关系的节点连接到处于从属地位的词语。将图3中的依存关系重构为我们提出的依存关系图,如图4所示。由于Root节点既不属于文本中的词语,也不属于关系类型,故其不会出现在我们提出的基于依存关系的异构图中。
图4 基于依存关系的异构图
通过图4所示的方式,可以将依存关系图中边的异构转换为节点的异构,上层节点全部为词节点,下层节点全部为关系节点,两组节点形成了一个有向二部图。二部图中的边分为两种类型,一类为词节点指向关系节点Ewr,另一类为关系节点指向词节点Erw,对于这两类边,我们在做图卷积时只需分别对应一个映射矩阵RD×h,参数规模为O(2×D×h),相比于图3的异构图,参数量减少了一个量级,使得模型训练更容易收敛。
2.3 基于依存关系的异构图卷积层(HGCL)
针对2.2节提出的基于依存关系的异构二部图,我们在进行图卷积时需要做一些修改。我们将修改后的图卷积命名为基于依存关系的异构图卷积层(简称HGCL)。
3 基于依存句法结构增强的对话情感分析
由于目前对话情感分析任务尚未充分考虑文本的依存句法结构,我们提出了基于依存关系的异构图卷积层(HGCL)来辅助对话情感分析的两个模型,一个是层次双向长短时记忆网络(H-BiLSTM)与HGCL结合,另一个是预训练模型BERT与HGCL结合。下面我们对所提出的两种模型进行分别介绍。
3.1 H-BiLSTM + HGCL
模型的输入如图1的三次对话形式{s1,s2,s3},其中,si={w1,w2,…,wn},i=1,2,3,其中,wi代表句子中的第i个词,n代表句子的词语数。
模型的整体框架如图5所示,模型主要分为以下几个部分。
图5 H-BiLSTM+HGCL模型
词级别拼接: 将句子s1,s2,s3每个词的语义表示与句法结构特征表示进行拼接,如式(7)所示。
(7)
双向LSTM(词级别): 将对话中每个句子经过词级别拼接的语义与句法结构融合特征向量送入两个相反的并行层,分别捕捉句子正向与反向的上下文信息,然后将序列最后的隐层状态进行拼接,作为句子的特征向量{h1,h2,h3}。
双向LSTM(句级别): 将句子s1,s2,s3的特征向量{h1,h2,h3}送入另一个双向LSTM模型,捕捉对话过程中的上下文信息,得到整个对话的特征表示后,送入一个前馈网络和Softmax激活函数,得到各个标签的概率分布。
3.2 BERT+HGCL
随着预训练模型在自然语言处理中的广泛使用,我们还提出了将BERT与HGCL结合的方案,由BERT建模对话的语义表示,HGCL则建模对话的句法结构表示,模型如图6所示。
图6 BERT+HGCL模型
特征表示层: BERT模型将句子s1,s2,s3表示为[CLS]s1[SEP]s2[SEP]s3[SEP]的格式输入BERT中,选取最后一层Transformer的[CLS]处的隐藏层表示作为全局对话的语义表示ha。异构图模块底层与3.1节描述一致,在顶层增加了图池化层,将句子的所有节点的特征表示作全局平均池化操作,如式(8)所示。
(8)
对话级别拼接: 将特征表示层得到的全局语义向量ha和全局句法结构特征向量hb拼接,然后输入一个前馈神经网络和Softmax激活函数,即可得到各个标签的概率分布。
4 实验
4.1 实验设置
数据集: 我们从知乎、豆瓣、贴吧等场景的评论区收集对话数据,经过清洗筛选后,保留了9 026段对话,构建了一个中文对话情感分析数据集。我们按照85%、5%、10%的比例划分了训练集、开发集和测试集。我们人工为每段对话的最后一次发言标注了情感标签,其中情感标签包括Happy、Sad、Angry和Others四类。表2给出了四类情感标签在数据集上的分布情况。
表2 中文对话情感分析数据分布
从表2可以看出,语料中Happy与Others情感占比较多,负向情感占比较少,表明我国互联网交流平台的主流情感是积极和中性的,符合我们对日常网络生态的认知[19]。
超参数: 本文采用基于知乎问答语料的预训练词向量[20],词向量维度为300,LSTM和HGCL的隐藏层维度为100。未登录词的初始值从正态分布[-0.5,0.5]中随机初始化,其他层的变量由Xavier initialization初始化,其余超参数由开发集调整。
评价指标: 我们采用三类情感标签(Happy、Sad、Angry)的平均Micro-F1值评价模型性能[21],如式(9)~式(11)所示。
(11)
4.2 对比实验
我们实现了以下两类基线模型。
基于机器学习的模型: 机器学习方法主要采取数据预处理、特征工程、模型选择三个步骤。数据预处理包括分词、去除停用词等;特征工程主要提取句子的一元分词(Unigram)和二元分词(Bigram)的词频逆文档频率(TF-IDF);模型选择部分我们选用了以下5个机器学习算法:
(1) 基于高斯分布先验的朴素贝叶斯(GNB)
(2) 多层感知机分类器(MLP)
(3) 支持向量机(SVM)
(4) 随机森林算法(RFC)
(5) 梯度提升树(GBDT)
基于深度学习的模型
(1)Text-CNN: 将对话中句子以间隔符
(2)BiLSTM: 将对话中句子以间隔符
(3)Hierarchical BiLSTM(H-BiLSTM): 考虑到对话过程的层次性,通过底层双向LSTM建模单次发言的上下文信息,通过顶层双向LSTM建模对话的上下文信息,得到整个对话的特征表示。
(4)BERT: 本文选用BERT-Base中文模型,将对话整个文本输入预训练模型BERT中,提取最后一层Transformer的第一个字符[CLS]的隐层向量,然后在训练集上微调BERT模型参数。
表3是基线模型与我们提出的模型在测试集上的性能,从表中可以看出: ①基于深度学习的模型全面超越了基于机器学习的方法,说明深度学习模型在对话情感分析任务上自动提取特征的能力确实远远强于机器学习模型,即使机器学习模型还有提取手动特征的空间,但是也很难超越深度学习模型。②在机器学习模型中,集成学习算法RFC和GBDT的整体表现优于其他单模型算法,而朴素贝叶斯算法的性能表明其不适用于该任务,而表现最佳的GBDT算法已经接近于深度学习模型的性能。③在深度学习方法中,预训练模型BERT远远优于其他未使用预训练的模型,但是将依存关系引入BERT后,BERT+HGCL相较于BERT性能提升了0.9%,在其他基线模型中,H-BiLSTM的性能最佳,将其与句法特征结合后,模型性能提升了0.7%,充分说明句法结构特征确实是有利于对话情感分析任务精度的提升。
表3 与基线模型的比较
4.3 消融实验
4.3.1 同构图与异构图的比较
为更好地比较异构图与同构图在对话情感分析任务上的表现,本文添加了异构图与同构图的对比实验。将图3中依存关系图仅保留词节点,并将所有的依存关系表示为同一类型,构成了依存关系的同构图,并将同构图以相同方式嵌入到H-BiLSTM和BERT模型中,形成H-BiLSTM+GCL和BERT+GCL模型。实验过程中,模型参数和初始化参数保持一致。
从图7的实验结果可以看出: ①同构图模型H-BiLSTM+GCL比异构图模型H-BiLSTM+HGCL的性能低0.5%,但仍比H-BiLSTM模型高0.2%。②同构图模型BERT+GCL相较于异构图模型BERT+HGCL大幅下降1.2%,甚至低于BERT模型0.3%。
图7 同构图与异构图对模型性能的影响
针对上述实验结果,我们分析有以下几点原因: ①同构图在表示依存句法关系时没有区分不同类型的关系,导致同构图包含的信息量远远少于异构图,因此在两个模型性能上同构图均不如异构图。②同构图中虽然编码了文本的句法信息,但是由于不对边的类型进行区分,导致图卷积模型中包含了更多“噪声”,句法信息和“噪声”都在模型中传播,而H-BiLSTM中我们采取词级别拼接,可以在词级别双向LSTM,在一定程度去除“噪声”,而在BERT中我们采用句子级拼接,“噪声”不会得到有效控制,因而会影响BERT模型的性能。
4.3.2 异构图与自注意力机制的比较
由于注意力机制在解决长距离依赖问题时十分有效[22],本文为比较自注意力(简称SA)机制与异构二部图的性能表现,将图5和图6模型中的图模块(Graph Module)替换为自注意力网络,分别构造了H-BiLSTM+SA和BERT+SA模型。实验过程中,自注意力网络的隐藏层维度设为100维,注意力头数为1。
分析图8和表3的实验结果可以看出: ①H-BiLSTM+SA模型比H-BiLSTM的F1值高出0.4%,这说明注意力机制确实可以在一定程度上缓解BiLSTM对于远距离依赖关系建模不佳的问题。②BERT+SA模型比BERT模型F1值高0.1%,提升非常有限,这可能是由于BERT本身是基于多层Transformer预训练的模型,而Transformer是基于自注意力机制,因此自注意力模块对BERT意义不大。③H-BiLSTM+SA模型和BERT+SA模型比本文提出的模型的F1值分别低0.3%和0.8%,这证明了相比于注意力机制这种隐式的“软连接”,依存关系这种显式的“硬连接”是更加准确有效的,而且注意力机制缺乏对依存关系类型的建模。相比之下,异构二部图能良好地将类型信息融入模型之中。
图8 自注意力机制与异构图对模型性能的影响
5 结语
本文提出了一种基于依存关系的图卷积网络辅助解决对话情感分析任务的方法。该方法将依存关系图转化为异构二部图,然后通过图卷积网络提取文本的句法结构信息,与层次双向LSTM或BERT的语义信息结合后,都能使模型在对话情感分析任务中的性能提升。
下一步工作中,我们不仅考虑词语与依存关系的异构关系,还可以将对话结构表示为异构图中的一类节点,更好地建模对话的结构信息,可以得到句子的依存关系结构和对话交互结构两个层级的信息,从而进一步提升对话情感分析任务的精度。