一种基于深度学习的带有情感标签文本生成及评估系统的制作方法

文档序号:22878280发布日期:2020-11-10 17:32阅读:117来源:国知局
一种基于深度学习的带有情感标签文本生成及评估系统的制作方法

本发明涉及一种评估系统,特别是涉及一种基于深度学习的带有情感标签文本生成及评估系统。



背景技术:

随着facebook、twitter等社交网络的兴起,网络不仅成为了人们获取信息的重要来源,同时也成为人们表达自己观点的平台。通过在博客、主题、twitter等网络社区来评论热点事件、抒写影评观点、描述产品体验等,产生了大量带有情感倾向的文本信息,而通过对这些文本信息进行情感分析,可以更好地理解用户行为,发现用户对产品的倾向性、对热点事件的关注程度等。随着信息规模的急剧增大,仅仅依靠人工进行处理已经无法完成这一任务,这就促进了自然语言处理领域的一个研究热点,即文本情感分析技术的发展。

目前,文本情感分析的主要研究方法还是基于传统机器学习的算法,通过人工设计特征构造出结构化的文本信息特征,然后用机器学习的方法来进行分析。常用的文本情感分析方法有朴素贝叶斯、支持向量机、最大熵方法等,这些方法都可以被划分为浅层学习方法。浅层学习方法计算量小且实现容易,但是由于对复杂函数的表达能力的限制,使得对复杂分类问题的泛化能力受到制约。为弥补这一缺陷,人工构造特征被引入这一模型当中,如使用人工标注的情感词典、句法与语法分析等,虽然这些方法可以有效地提高文本情感分析的准确率,但由于需要过多的人工标注数据,费时费力,并且需要一定的先验知识,所以随着互联网规模的不断发展,文本数据规模的不断扩大,从而限制了这些方法的发展。本项目采用基于卷积神经网络和注意力模型的结构,避免了依赖人工构造特征的方法,采用相关数据集对网络模型进行训练后,再进行文本情感分析工作。

文本情感分析主要通过分析文本内容来判断文本所表达的情感倾向,发现用户对某一事件的关注程度,自2011年由volume等人提出关于情感分析的工作后,经过许多学者的研究,获得了很大的发展。情感分析技术大致可以分为基于规则的方法和基于统计的方法,其中基于情感词典的机器学习方法是目前的主要方法。volume等人根据传统自然语言处理中的文本分类技术,使用了朴素贝叶斯、支持向量机和最大熵等模型,在电影评论上取得了不错的效果;turney提出了采用依赖种子情感词集合,使用互信息的方法来判别某个短语是否是评价词语;ding等人提出针对特定领域情感词配对的方法来判断情感极性;罗毅等人通过构建二级情感词典,使用n-gram模型获取文本特征进行情感分析;任远等人采用支持向量机和tfidf计算特征项权值来进行情感分析。自2006年由hinton等人提出深度学习之后,随着深度学习方法在计算机视觉和语音识别领域的成功应用,越来越多的深度学习技术也被应用于自然语言处理方向。mnih等人提出层析log-bilinear模型来训练语言模型。并随着google开源了其代码,词嵌入被应用到自然语言处理多个领域;随着kim利用卷积神经网络来进行句子分类后;bahdanau等人提出使用注意力模型在机器翻译中取得了不错的效果,随后被应用于google神经网络翻译系统中。

基于上述问题的解决需求,本发明提出基于卷积神经网络和注意力模型的结构来进行文本情感分析的工作并进行实验,经过实验验证,本文提出的方法是有效的。



技术实现要素:

本发明的目的是提供涉及一种基于深度学习的带有情感标签文本生成及评估系统。

本发明的目的是通过以下技术方案实现的:

自编码器(ae)与生成对抗网络gan组合。本模型使用离散自动编码器来学习基于离散输入的文本和gan,来学习这些文本上的隐式概率模型。目的是利用gan学习文本数据潜在结构的能力,同时使用自动编码器抽象出离散结构的连续编码以支持gan训练。如上所述,与gan的主要区别在于我们不再需要访问和训练gan的数据样本。相反,我们可以直接访问离散结构x∈px(使用此需要通过非可微运算进行反向传播,并且是gan训练的策略梯度方法的基础。)我们通过将编码器集成,首先将x映射到连续数据c=encφ(x)的过程来处理这个问题,即使用由encφ(x)定义的每个文本结构的数据。

完整模型有三个部分的目标,我们在其连续空间上采用对偶训练来最小化自编码器的误差。

其中px是输入空间中的分布。我们在这项工作中共同最小化了三个目标。此模型的可视化描述如图1-2所示。我们使用梯度下降来依次优化自编码器、判别器和生成器。通过这个结构,此模型可以从自编码器接受梯度,这个梯度帮助生成器生成样本,来支持gan学到的评论。理论上来说,当gan收敛于纳什均衡时,模型达到稳定状态。模型的算法如下所示:

aegan算法训练过程

for训练代数do

训练自编码器

训练数据提取个数据

计算c(i)=encφ(x(i))

计算自编码器的损失,前向传播梯度,更新编码解码训练判别器

fork步骤do

正样本阶段

计算真实数据集的对抗损失前向传播梯度,更新判别器(w)解码

负样本阶段

选取一个banch的随机噪声

通过把z(i)传入生成器生成

计算真实数据集的对抗损失前向传播梯度,更新判别器(w)解码降低判别器的权重到[-c,c]d

训练生成器

选取一个banch的随机噪声

通过把z(i)传入生成器生成

计算真实数据集的对抗损失前向传播梯度,更新生成器参数(θ)

我们使用块坐标下降来依次优化ae,判别器和生成器。通过这种改变,我们现在通过编码器从对抗性损失接收梯度,这个梯度将允许编码器帮助生成器生成样本,以支持gan学到的真实数据。从理论上讲,当gan收敛于nash-equalibrium时,模型完成训练。

本发明建立cnn-attention、bleu两种模型对关键质量指标进行预测,并进一步地进行模型融合。因为项目所做的是评论生成,对于主题评论来说,它的情感是其最为关键的指标。所以本项目用cnn-attention对评论文本进行情感分析。而流畅度、准确度和真实性也十分重要,文本的真实性使用bleu-2分数,计算的是生成的样本和真实的测试集的相似程度。将这两种模型进行融合,可以进一步地提高模型的性能。常用的且效果比较好的融合方法是stacking或blending,但是由于本项目某个固定主题的数据量相对比较小,做多层的stacking/blendinglearning容易过拟合,所以最终只采用了简单的加权平均的方法:n*cnnattention+m*bleu,权重是根据模型的线下表现进行调节的。

(一)cnn-attention网络模型

为了实现文本情感分析的任务,本文提出了基于卷积神经网络和注意力模型的网络结构,即cnn-attention网络模型。该模型主要由两部分组成,左边部分为典型的卷积神经网络结构,右边部分为注意力模型的结构。

本模型的整体流程为:首先对输入的文本句子利用词向量模型来进行编码,转换为词向量表示后,经过卷积神经网络以后得到该句子的相关特征,然后结合由注意力机制得到的特征进行拼接以后,通过全连接后利用分类器来完成文本情感分析的工作;其具体过程如下所示:

a.模型表示

给定文本句子数据集d,其中包含有文本x{x1.,x2,…,xn}及每个句子所对应的情感标签y{y1.,y2,…,yn},其中每个文本句子xi有n个词组成,表示为x{xi1.,xi2,…,xim},将最终的目标函数表示为:其中:θ表示该模型中涉及到所有的参数;f(·)表示该模型的形式化表达。

b.卷积神经网络

卷积神经网络是一种前馈神经网络,其网络结构主要由输入层、卷积层、池化层(下采样层)、全连接层和输出层组成。其中卷积层为特征提取层,通过滤波器来提取句子的特征;池化层为特征映射层,对经过卷积层后得到的特征进行采样,得到局部最优值。在本模型中将文本句子表示为输入层,其中对每个句子x表示为n×k的矩阵,其中n表示构成文本句子的词的长度,k表示词向量xi的维度,文本句子中的词向量采用word2vec模型来进行训练得到。卷积层主要是为了来学习文本句子的局部特征,本层主要对输入层的词向量矩阵进行卷积操作,对每个大小为k的连续窗口进行操作,结果表示为:ci=f(w·xi:i+h-1+b)

其中:ci表示经过卷积操作后对应的第i个特征值;f(·)表示本层卷积核函数的选择;w表示滤波器里的权重矩阵,其中w∈rh×k,h×k表示选取的滤波器的大小;b表示偏置项;xi:i+h-1表示由文本句子中的第i个词到i+h-1个词的长度,本文采用多个滤波器来进行学习。经过卷积层后,得到特征矩阵c表示为:c=[c1,c2,…,cn-h+1]t

其中:c∈rn-h+1

池化层表示对本文句子经过卷积层后得到的特征矩阵c进行下采样,选出其中局部最优特征,本文采用最大池化方式来进行采样,经过池化层以后得到的特征表示为:c=max(c1,c2,…,cn-h+1)

在卷积层本文选用多通道的方式,即选择多个滤波器来进行特征的提取,经过以上操作以后即可得到对原始文本句子的特征。

c.注意力模型

注意力模型是用来表征文本句子中的词与输出结果之间的相关性,表示句子xi中的每个词与其相对应标签yi之间的重要程度。在此将采用注意力模型生成的注意力文本用ai表示为:si=fatt(xij,yi)1≤i≤m,1≤j≤n;

其中:xi表示一个文本句子;yi表示此句子所对应的标签;fatt表示含一个隐层的前向网络;pi与si表示文本中每个词的重要度信息。经过卷积神经网络与注意力模型得到特征后,将池化层学习到的特征与注意力文本ai连接,作为全连接层的输入,经过全连接层后输出结果,表示为:

其中:s(x)表示经过模型后得到的输出值;表示向量拼接操作;w′表示全连接层的权重矩阵;b′表示偏置项;f′(·)表示分类器的选择。。

d.模型训练

文本情感分析本质上是一个分类问题,本发明对此作二分类进行处理,将其分为正面和负面两类情感类别。

本文模型通过最小化负对数似然函数来进行训练。对于给定的一个句子xi,通过本文模型经过训练以后,得到给定句子的情感标签τ∈t得分sθ(x),其中,t代表所分的类别,通过选择分类器softmax转换为条件概率:

对上述公式取对数得:

本文采用随机梯度下降算法来最小化负对数似然函数,得到:其中:xi、yi表示训练语料的一条句子及其对应的情感标签;d表示语料库。

(二)bleu评测方法

bleu(bilingualevaluationunderstudy)方法由ibm提出,这种方法认为如果生成文本越接近人工评论结果,那么它的生成评论质量越高[44]。所以,评测关键就在于如何定义系统译文与参考译文之间的相似度。bleu采用的方式是比较并统计共同出现的n元词的个数,即统计同时出现在系统译文和参考译文中的n元词的个数,最后把匹配到的n元词的数目除以系统译文的单词数目,得到评测结果。最开始提出的bleu法虽然简单易行,但是它没有考虑到翻译的召回率。后对bleu做了修正,首先计算出一个n元词在一个句子中最大可能出现的次数maxrefcount(n-gram),然后跟候选译文中的这个n元词出现的次数作比较,取它们之间最小值作为这个n元词的最终匹配个数[45][46]。公式如下:countclip(n-gram)=min{count(n-gram),maxrefcount(n-gram)}

其中count(n-gram)是某个n元词在候选译文中的出现次数,而maxrefcount(n-gram)是该n元词在参考译文中出现的最大次数。最终统计结果是两者中的较小值。然后在把这个匹配结果除以系统译文的n元词的个数。共现n元词的精度pn定义为:

bleu方法在得到上述结果之后,其评价分数可通过下式来计算:

其中wn表示共现n元词的权重,bp(brevitypenalty)是惩罚因子:

本发明使用的基于卷积神经网络和注意力模型的网络结构,与现有技术相比,最终实现生成文本质量更好,实现文本的最优选择,且设计文本可视化交互终端,方便进行模型优化与方法验证。

附图说明

图1为cnn-attention网络结构图

图2为aegan网络结构图

具体实施方式

实施例1:

实验结果如上表所示,其中很直观地可以看出对照模型cnn-attention比实验模型aegan的效果好。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进也在专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1