技术领域
本发明涉及自然语言处理的文本情感分析领域,具体地说,是涉及基于深度学习的多层次中文细粒度情感分析方法。
背景技术
情感分析技术(Emotion analysis technology)又称意见挖掘、倾向性分析等,是将文本中包含用户主观色彩的偏好或倾向识别出来的过程,并根据识别出来的结果根据后续不同的任务进一步获取有用的信息,从而发现潜在的问题用于改进或预测。现阶段情感极性分析(粗粒度情感分析)的研究已经有了成熟的研究体系,但是人类情感无法仅用两类来完全概括,细粒度情感分析的研究因此被提出。细粒度情感分析需要更加深入地挖掘文本中包含的情感信息,并由此更加精细化地理解用户的主观感受,从而预测用户行为并改善用户体验。目前,最精确的细粒度情感分析方法就是人工识别,但是人工识别的方法在数据量大的情况下不适用,除此之外较普遍的方法是基于情绪规则,但该方法依赖前期情绪词典的构建,若文本中情绪词不明显将会难以分析出真实情感。本发明将深度学习技术应用于细粒度情感分析中,首先构建了包含各类情感的中文文本的数据集,并提出了一种使用字嵌入及词嵌入双通道输入的文本向量表示方法,然后基于双通道输入提出了基于深度学习的多层次卷积神经网络模型(Multi-Level Convolutional Neural Network,MLCNN)来识别中文文本的细粒度情感,该模型不需要人工制定情绪词典和规则,并且还可以根据多层面的文本向量更好地分析出文本中包含的细粒度情感。
发明内容
基于中文细粒度情感分类困难的现状,本发明针对目前现有技术,提出了一种基于深度学习的多层次中文短文本细粒度情感分析方法,用来提高中文细粒度情感分析的效率和准确性。
本发明提出了一种基于深度学习的多层次中文细粒度情感分析方法,其主要包括以下步骤:
步骤1:构建训练集,采用回译数据增强以及同义词替换的方式增加文本情感标签的均衡性及多样性;
步骤2:使用BERT模型微调对输入文本进行字嵌入表示以及使用word2vec技术对输入文本进行词嵌入表示;
步骤3:设计多层次卷积神经网络模型(Multi-Level ConvolutionalNeuralNetwork,MLCNN),使用双卷积通道分别抽取字向量和词向量两个层面的特征表示;
步骤4:在每个卷积通道后都构建chunk-max-pooling模块抽取局部max特征值并保留相对顺序信息;
步骤5:将两个通道池化后的特征向量拼接并输入全连接层使用softmax模块进行细粒度情感分类。
附图说明
为了更加清晰明确地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要用到的附图进行简单的介绍。
图1是本发明提供的基于深度学习的多层次中文细粒度情感分析方法的整体架构;
图2是本发明提供的双通道文本向量表示示例图;
图3是本发明提供的多层次卷积神经网络模型框架图;
图4是本发明提供的chunk-max-pooling池化方法及池化后向量拼接分类的过程示例图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不限定本发明。
图1示出了本发明中所述的多层次中文细粒度情感分析方法(不包含细粒度情感分析数据集的构建流程),步骤如下:
步骤1:构建训练集,采用回译数据增强以及同义词替换的方式增加文本情感标签的均衡性及多样性;
步骤2:使用BERT模型微调对输入文本进行字嵌入表示以及使用word2vec技术对输入文本进行词嵌入表示;
步骤3:设计双卷积通道分别抽取字向量和词向量两个层面的特征表示;
步骤4:在每个卷积层后都构建chunk-max-pooling模块抽取局部max特征值并保留相对顺序信息;
步骤5:将两个通道池化后的特征向量拼接并输入全连接层使用softmax模块进行细粒度情感分类。
一、中文情感分类数据集构建
如步骤1所示,通过对不同来源中文文本数据集的比较,选取数据量大且情绪丰富的微博文本作为训练集的主体,其中包含无标签数据和有标签数据,无标签数据主要用于预训练任务以及对文本向量表示模型的微调,含情感标签数据用于对主题模型的参数调整训练。
有标签数据中标签分布不均衡,本发明采用百度翻译API调用对文本进行回译数据增强,同时使用pyltp分词技术以及哈工大的同义词词林对文本进行同义词替换,目的是在保留语义信息的基础上增强文本数据的多样性。由于回译和同义词替换的方法可能会影响部分文本的表达准确性,影响后续训练任务,还需对生成文本进行人工审阅并修正部分文本。
二、双通道文本向量表示方法
图2示出了双通道文本向量表示的方法示例图,体现在本方法的步骤2中。
首先是对BERT模型微调并使用微调后的模型进行带上下文语境的文本字向量表示,其具体流程如下:
1)对数据集中文本进行中文字符层面上的嵌入表示,而嵌入表示需要相应的字表征、段表征以及位置表征进行求和来构造,即输入嵌入是字向量、段向量以及位置向量的总和,如式1所示。
其中n表示句子中字符数量。
2)BERT模型总共有12层编码层,每一层编码层都会产生一个输出,总共十二个不同的特征图M
对于词向量通道,进行word2vec模型的训练,获取文本的词向量表示,其具体流程如下:
考虑到BERT模型只能够生成中文字向量,即使对上下文语义的学习相对其他模型更有优势,但中文层面是以词为基本单位进行表达,只使用字向量进行文本嵌入对整体情感的挖掘不够充分。因此为了能够符合中文的表达习惯以及增添不同层面的特征挖掘,增加一个词向量文本嵌入通道,词向量通道生成的文本表征向量
三、多层次卷积模块
图3示出了多层次CNN模块的具体框架图。其具体流程如下:
1)输入层:输入层主要是用来接收经过不同文本表征方式的文本字向量矩阵
2)卷积层:将
卷积核的大小filtersize和个数Filters以及移动步长Stride一般由实验者自己确定,在NLP领域卷积核尺寸大小一般在2、3、4、5中选择,每种尺寸的卷积核个数根据实验目的确定,移动步长Stride一般设置为1,激活函数使用ReLU。卷积后分别得到两个输入通道的特征图,由于使用了多个尺寸的卷积核,所以两个特征图都包含向量的不同长度组合,抽取了不同边界信息的特征表示,再将两个特征图分别输入池化层。
3)池化层(chunk-max-pooling):图4示出了chunk-max-pooling池化的具体过程,chunk的尺寸一般由实验者自己确定,切分好每个通道经过卷积处理的向量之后,对每个划分的块进行最大池化处理并固定向量长度,由于是先划分Chunk再分别取Max值,所以保留了比较粗粒度的模糊的位置信息,同时也能有效地捕获局部强特征,对chunk-max-pooling的计算过程如式6:
U={max(Vec
四、全连接及softmax分类模块
为了利用好字向量层面和词向量层面的特征,将两个通道池化后的向量进行拼接,组成全连接层的输入,拼接后的向量包含了多层面的特征,全连接层将这些特征进行有效连接然后将输出值送给softmax分类器,根据提取的最优卷积特征计算出最大概率的情感粒度,完成中文文本的情感细粒度分类。softmax分类计算过程如下:
结合图1至图4的叙述,下面步骤示出基于深度学习的多层次中文细粒度情感分析方法的实施方式,所述实施方式的步骤如下:
步骤1:构建训练集,采用回译数据增强以及同义词替换的方式增加文本情感标签的均衡性及多样性;
步骤2:使用BERT模型微调对输入文本进行字嵌入表示以及使用word2vec技术对输入文本进行词嵌入表示;
步骤3:设计多层次卷积神经网络模型(Multi-Level Convolutional NeuralNetwork,MLCNN),使用双卷积通道分别抽取字向量和词向量两个层面的特征表示;
步骤4:在每个卷积通道后都构建chunk-max-pooling模块抽取局部max特征值并保留相对顺序信息;
步骤5:将两个通道池化后的特征向量拼接并输入全连接层使用softmax模块进行细粒度情感分类。
机译: 基于深度学习和自然语言处理的电影评论情感分析方法
机译: 基于音高和音量信息特征分类的基于情感图的情感分析方法
机译: 使用基于生成模型的数据扩充的基于深度学习的情感文本转语音设备和方法