本发明涉及文本情感分类技术领域,更具体的说是涉及一种基于多层次交互注意力机制的短文本对象情感分类方法。
背景技术:
目前,随着web2.0时代的到来,互联网中涌现出大量带有用户主观情感的、内容短小且语义信息丰富的短文本,这些海量数据是用户意识和观点的综合呈现和重要体现。目前对象级情感分类方法分为基于统计和规则的传统方法和深度学习方法,传统方法是通过手工构建特征工程提取文本特征,再结合机器学习分类器进行情感分类,深度学习方法则是基于深度神经网络自动学习文本内部情感语义特征进行情感分类。国内对象级文本情感分类的研究大多采用深度学习方法,且已经得到广泛应用。
对象级情感分类较粗粒度的篇章级或句子级情感分类,能提供更细致和全面的情感信息。例如,给定一个评论句“餐厅的三文鱼很美味,但服务员很不友好。”,句中对于两个对象“三文鱼”和“服务员”表达的情感倾向分别为积极和消极,对象级情感分类的关键是获取高效的面向对象的文本情感语义表示。大多数深度学习方法基于递归神经网络和注意力机制,采用单任务学习网络结构,但该类方法学习得到的文本内部特征十分有限,且较为单一;另外,单交互的特征学习方式不够精确、深刻,导致情感分类效果并不理想。
因此,如何提供一种更加精确、可靠的短文本对象情感分类方法是本领域技术人员亟需解决的问题。
技术实现要素:
有鉴于此,本发明提供了一种基于多层次交互注意力机制的短文本对象情感分类方法,有效解决了现有的对象级情感分类方法在深度学习阶段学习得到的文本内部特征十分有限且较为单一,单交互的特征学习方式不够精确、深刻的问题。
为了实现上述目的,本发明采用如下技术方案:
一种基于多层次交互注意力机制的短文本对象情感分类方法,该方法包括以下步骤:
数据预处理:对短文本数据进行预处理,得到输入序列;
词嵌入处理:利用预训练的词向量,构建所述输入序列的词嵌入矩阵;
浅层注意力交互:对所述输入序列进行上下文语义编码,并利用浅层交互注意力机制获取面向对象的文本语义表示向量;
自注意力计算:将上下文语义编码结果经多个并行自注意力机制学习粗粒度类别特征,获得融入粗粒度类别特征的文本语义表示向量,并根据学习得到的粗粒度类别特征进行对象类别检测;
深层注意力交互:采用深层交互注意力机制计算所述融入粗粒度类别特征的文本语义表示向量与所述面向对象的文本语义表示向量之间的语义关联度,得到融合粗粒度类别特征的面向细粒度对象的文本语义表示向量;
情感预测分类:将所述上下文编码结果与所述融合粗粒度类别特征的面向细粒度对象的文本语义表示向量经平均池化和串联处理,得到融合表示向量,并根据所述融合表示向量进行对象级情感预测和分类。
进一步地,所述词嵌入处理步骤,具体包括:
获取所述输入序列中的单个文本和单个对象;
预先训练bert词向量,分别将所述单个文本和所述单个对象匹配到所述bert词向量上,得到文本词嵌入矩阵和对象词嵌入矩阵。
进一步地,所述浅层注意力交互步骤,具体包括:
通过长短时记忆网络对输入序列进行上下文语义编码,得到文本上下文表示和对象上下文表示,其编码计算公式为:
其中,θbilstm表示bilstm层中的参数,concat(·,·)表示串联操作,xi是词嵌入矩阵中第i个元素,hi是经bilstm得到的隐层输出表示;
通过浅层交互注意力机制对文本和对象进行情感语义关联度计算,对文本进行进一步编码,其编码计算公式为:
其中,ua,
得到面向对象的文本语义表示向量,即:
其中,
进一步地,所述自注意力计算步骤,具体包括:
采用多个并行的自注意力机制学习上下文语义编码结果中文本上下文表示内隐含的粗粒度类别特征,获得融入粗粒度类别特征的文本语义表示向量,即:
其中,
采用多个并行的全连接层和sigmoid函数进行多类别标签预测,其计算公式如下:
其中,wj是权重参数,bj是偏置参数,第j个全连接层用于预测当前输入文本中是否存在第j个类别。
进一步地,所述融合粗粒度类别特征的面向细粒度对象的文本语义表示向量,计算公式为:
其中,r融合粗粒度类别特征的面向细粒度对象的文本语义表示向量,
进一步地,所述情感预测分类步骤,具体包括:
将所述上下文编码结果与所述融合粗粒度类别特征的面向细粒度对象的文本语义表示向量经平均池化后再串联,得到融合表示向量,所述融合表示向量为:
其中,havg是文本上下文表示h经平均池化得到的,
采用一个全连接层和softmax函数进行情感预测和分类,计算公式为:
其中,
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于多层次交互注意力机制的短文本对象情感分类方法,该方法在文本内部特征的学习和利用上,设计了多层交互注意力机制,注意力机制能够筛选对分类有效的上下文信息,有利于对文本内部潜在的多种特征进行选择性学习,多交互方式则有利于多特征的融合,后续得到的情感预测和分类结果更加精确、可靠。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种基于多层次交互注意力机制的短文本对象情感分类方法的整体流程示意图;
图2为本发明实施例中基于多层次交互注意力机制的短文本对象情感分类方法的算法流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见附图1和图2,本发明实施例公开了一种基于多层次交互注意力机制的短文本对象情感分类方法,该方法包括以下步骤:
s1:数据预处理:对短文本数据进行预处理,包括分词、数据标注等,得到输入序列。
在短文本数据选择方面,本实施例使用的是semeval2014task4、semeval2015task12和semeval2016task5中的restaurant数据集。
s2:词嵌入处理:利用bert预训练模型,将输入序列的每个单词匹配到预训练的词向量上,构建输入序列的词嵌入矩阵,作为整个预先构建的情感分类模型的输入。
具体地,输入序列包括文本s={w1,w2,...,wl}和对象词t={wi+1,wi+2,...,wi+m}分别映射为词向量
s3:浅层注意力交互:对输入序列进行上下文语义编码,并利用浅层交互注意力机制获取面向对象的文本语义表示向量。
该步骤具体包括:
s31:利用bi-lstm(即双向长短时记忆网络)对词嵌入矩阵进行全局语义编码,得到文本上下文表示h={h1,h2,...,hl}和对象上下文表示
其中,θbilstm是bilstm层中的参数,concat(·,·)表示串联操作,xi是词嵌入矩阵中第i个元素,hi是经bilstm得到的隐层输出表示;
s32:采用浅层交互注意力机制对文本和对象进行情感语义关联度计算,对文本进行进一步编码,编码计算公式如下:
其中,ua,
s4:自注意力计算:将上下文语义编码结果经多个并行自注意力机制学习粗粒度类别特征,获得融入粗粒度类别特征的文本语义表示向量,并根据学习得到的粗粒度类别特征进行对象类别检测。
该步骤具体包括:
s41:基于s31中获取的文本上下文语义编码,经n个并行的自注意力机制学习粗粒度的类别特征,得到n个融合类别特征的文本语义表示矩阵,其计算公式如下:
其中,
s42:采用n个并行的全连接层和sigmoid函数进行文本中对象多类别标签预测,其计算公式如下:
其中,wj是权重参数,bj是偏置参数,第j个全连接层用于预测当前输入文本中是否存在第j个类别。
该步骤最后计算得到的
上述s42中,经n个并行的全连接层和sigmoid函数进行粗粒度对象类别检测,与文本真实所含类别标签组比较,计算出预测误差,对情感分类模型的参数进行多次训练。对于n的取值,本实施例中semeval2014数据集的n为5,semeval2015和semeval2016数据集的n为13。
s5:深层注意力交互:采用深层交互注意力机制计算融入粗粒度类别特征的文本语义表示向量与面向对象的文本语义表示向量之间的语义关联度,得到融合粗粒度类别特征的面向细粒度对象的文本语义表示向量。
本实施例采用所设计的深层交互注意力机制计算融入了类别特征的文本racd与面向对象的文本rt之间的语义关联度,得到融合了粗粒度类别特征的面向细粒度对象的文本语义表示向量,计算过程如下:
其中,
s6:情感预测分类:将上下文编码结果与融合粗粒度类别特征的面向细粒度对象的文本语义表示向量经平均池化和串联处理,得到融合表示向量,并根据融合表示向量进行对象级情感预测和分类。
将s31中得到的h和ht,以及s5中得到的r经过平均池化再串联,得到融合表示向量
其中,
上述计算得到的预测结果,与真实情感标签比较,计算得到交叉熵损失。
然后最小化交叉熵损失函数,迭代优化网络参数。具体地,多分类预测的最小化交叉熵损失函数表示为:
这里c表示情感标签数,本实施例中c取3,分别为积极、中性、消极,最终取c个类别的交叉熵损失的平均值,
多标签预测的最小化二元交叉熵损失熵函数表示为:
这里n表示类别标签数,最终对n个类别的交叉熵损失求均值。通过adam不断迭代,调整网络参数;
重复s2至s6,直至收敛,对相应的测试集固定模型参数后进行测试,记录实验结果,最后取测试结果最好的模型参数,用于新输入序列s‘的情感分析。
在实际应用过程中,整个方法可以通过图2所示的算法流程在计算机上实现。
综上所述,本实施例公开的上述基于多层次交互注意力机制的短文本对象情感分类方法,对短文本数据进行预处理后,利用预训练模型将输入的文本和对象映射至低维向量空间,使得初始文本表示具有一定的上下文信息;然后结合不同的交互注意力机制学习文本和对象序列中不同的语义特征;再设计多层交互结构,实现深层次特征的学习;然后再利用深度学习流行的池化和串联拼接技术融合习得的多种文本语义特征;最后经过情感分类器输出预测结果与对应真实情感标签进行比较计算误差,迭代更新网络参数直至收敛,固定参数,然后对给定新输入文本序列进行预测。
该方法不仅考虑粗粒度类别特征对细粒度对象级情感分类的影响,还区分了类别特征与上下文特征和对象自身特征,该方法基于多任务学习网络结构,结合多交互注意力机制学习文本内多种语义特征,实现多特征的融合,最终得到的情感分类结果更加精确、可靠。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。