一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于深度学习的文本情感分析方法

2022-06-08 21:51:29 来源:中国专利 TAG:


1.本发明属于机器学习和文本挖掘领域,具体涉及一种基于深度学习的文本 情感分析方法。


背景技术:

2.在在线互动平台中,文本分析极大地改变了人们的交流,思维方式,促进 了用户生成信息的爆炸性增长。近年来,用户生成的大量文本已成为大数据最 具代表性的数据源之一。挖掘和分析用户生成的信息已成为社会发展研究的重 要组成部分。作为用于分析,处理,汇总和推理带有情感的主观文本的社交媒 体文本的情感分析作为一种新兴的信息处理技术,近年来在学术界和工业界都 受到广泛关注,并已广泛应用于互联网的许多领域。即使在生活中,其也具有 广泛的应用范围,比如在电力营业厅的服务机器人的用户交互领域,传统的情 感分析研究工作主要侧重于分析文本情感,却忽略了用户在情感表达上的个体 差异,从而影响了分析结果的质量。为解决这些问题,本发明旨在解决个性化 情感分析问题。考虑到bp神经网络技术在社交媒体处理中的广泛应用,本发明 提出了多种基于bp神经网络的模型来将社交媒体文本个性化情感分析方法应 用于在线商品评论。
3.情感分析(sa)是分析,处理,总结和推理带有情感表达的主观文本(例 如,微博,在线评论和在线新闻等)的过程。情绪分析研究的历史并不长。其 在2000年左右开始受到广泛关注并得到了迅速发展,然后逐渐成为自然语言处 理和文本挖掘领域的热门话题。情感分析也有很多别名和类似的技术,例如意 见挖掘,情感挖掘,主观性分析等,所有这些都可以统归在情感分析下进行研 究。例如,对于电影评论,其可以识别并分析用户对电影的评价,亦或是对数 字相机的产品评论进行分析,例如用户对“价格”,“尺寸”,“缩放”等指标的 情感趋势。目前,情感分析已成为自然语言处理,信息检索,计算语言学,机 器学习和人工智能等跨学科的综合研究领域。现有的文本情感分析算法主要是 关于用户对文本的观点和看法。由于缺乏对文本的用户特征进行解释,因此这 些算法难以完全准确地反映用户的真实情感表达。而本发明为了克服现有方法 的不足,通过引入用户甚至产品功能的影响,可以提出一种个性化的文本情感 分析方法。虽然目前文本的情感分析已得到广泛研究,并在众多公共评估任务 中取得了出色的表现。但是,关于真正可用的文本情感分析工具,特别是个性 化的文本情感分析工具的研究却很少,并在某种程度上被学者和行业所忽视。 同时如何动态地捕获用户的个性化情感偏好,对情感分析问题也提出了新的挑 战。本发明首先引入attention model思想,attention model能够计算当前部分 的重要程度,即注意力模型可以对待分类目标进行追踪,重点关注并找到感兴 趣的分类目标。同时基于attention(注意力)模型的lstm深度神经网络模型 能够有效地解决文本信息冗余问题以及信息丢失等长期依赖的问题。为了设计 更加轻量化的网络结构,本发明在attention-lstm网络模型基础上改进,得到 attention-gru网络模型对个性化情感进行分类。


技术实现要素:

4.为解决现有技术中额上述不足,本发明所采用的技术方案是:
5.一种基于深度学习的文本情感分析方法,包括:
6.步骤一:对文本样本数据进行预处理,人工预先进行情感评定等级标注;
7.步骤二:构建用于在线文本情感分析的self-attention深度学习模型,用训 练集数据训练该模型;每次计算损失函数,计算输出层神经元的梯度并正向和 反向传播更新每一层的网络参数值,直到达到截止条件后获取优化的 self-attention深度学习模型以及各网络参数;
8.步骤三:采集实际文本语料数据,利用优化的self-attention深度学习模型 对数据进行处理,获取在线文本情感分析结果。
9.所述步骤二中构建用于在线文本情感分析的self-attention深度学习模型, 用训练集数据训练该模型包括:
10.是基于self-attention深度学习模型下的bert深度学习模型来建模;
11.将输入句子所有单词的词嵌入作为句子的语义表示;对于输入的语义表示, 使用矩阵乘法的线性运算和非线性激活函数来获取隐藏层的语义表示;输入隐 藏层的语义表示,使用降维操作获得句子级别的语义表示;将句子表示形式与 用户表示形式结合输入到分类层中,合并用户信息在句子级别上的作用;分类 层将获得的向量映射到二维情感空间中,并使用softmax方法进行情感分类;
12.模型输入:训练集d={(x1,...,xk)},k=1,...,m,m是训练数据的数量;
13.模型输出:训练完成的优化后bert深度学习模型以及网络参数;
14.其中,(x1,...,xk)为词向量,uk为人工预先标注的用于表示用户特征的情感评 定等级。
15.所述训练集d为对原始在线文本样本数据中的句子进行分词、去停用词处 理后获得的。
16.将样本数据分为训练集和验证集,用训练集中的数据训练bert深度学习 模型,用验证集中的数据进行验证。
17.包括:所述构建文本情感分析bert深度学习模型,具体包括:
18.1)采用encoder-decoder编码-解码模块在attention模型中的方法进行如下 处理:
19.在encoder编码模块对输入自然序列或者特征矩阵序列进行机器编码,表达 式表示如下:
20.c=f(x1,x2,x3,

,xn)
21.其中,x1,x2,x3,

,xn为进行分词、去停用词处理后获得的词向量;f为 encoder编码函数,c为按照编码函数进行编码后的词向量形式;
22.在decoder解码模块中对encoder编码后的自然序列或者特征矩阵序列进行 解码,表达式表示如下:
23.yi=g(c,y1,y2,y3,

,y
i-1
)
24.其中,y1,y2,y3,

,y
i-1
,yi为解码后的词向量,i是编号;g为decoder解 码函数;
25.2)对情感文本进行分词,并通过微调bert模型获得词语表示t,如下:
26.ti=bert(yi)
27.通过将用户向量嵌入得到一个新的用户向量表示:
[0028][0029]
其中,eu为新加入的用户向量;
[0030]
3)利用bi-lstm层对得到的新用户向量ni的正向传播结果和反向传播结 果的计算分别如下所示:
[0031][0032]
得到文本第i个词语的最新表示:
[0033][0034]
attention获取的高水平的特征表示,在分类层预测出文本的类别,如下:
[0035]ci
=softmax(w
whi
bw)
[0036]
其中,为分类网络最终参数,bw∈r
l
为分类结果偏置信息,c 表示属于当前第i类的概率分布;
[0037]
采用交叉熵损失函数对网络进行训练,如下:
[0038][0039]
其中,uk表示情感样本i的真实标签,ci为样本预测为类别yi的概率。使用 随机梯度下降(sgd)对网络参数进行优化。
[0040]
是将验证数据输入bert深度学习模型获取对应的评价等级结果,并人工 预先进行情感评定等级标注进行比较,若符合误差范围则停止迭代,获取优化 后bert深度学习模型以及网络参数。
[0041]
还包括:将文本情感分析结果按照情感评定等级与用户原始的实际文本语 料数据进行自动映射关联,并标注喜好程度,再进行可视化展示,用于直观显 示用户喜好程度。
[0042]
是采用强深浅弱的颜色渐变顺序为不同用户实际文本语料数据进行信息着 色标注。
[0043]
本发明的有益效果及优点:
[0044]
在本发明中使用基于深度神经网络的方法来处理文本情感分析。深度学习 方法与之前所述的传统机器学习方法完全不同,其主要基于神经网络的方法, 其可以自主进行区分度的特征表示学习,不需要提前对文本的特征和词典进行 设计和训练,并且可以对语义信息进行深层捕捉。本发明将此方法用于文本情 感分析。
附图说明
[0045]
图1 encoder-decoder模型的一般框架;
[0046]
图2 self-attention结构示意图;
[0047]
图3 bert模型结构;
[0048]
图4 bert-attention-bilstm网络结构图;
[0049]
图5 bi-lstm层;
[0050]
图6分类层;
[0051]
图7 yelp2013算法与传统分类方法的比较对比结果;
[0052]
图8 yelp2014算法与传统分类方法的比较对比结果;
[0053]
图9 yelp2013算法与其他深度学习模型的比较对比结果;
[0054]
图10 yelp2013算法与其他深度学习模型的比较对比结果;
具体实施方式
[0055]
attention model(注意力模型)作为一种模拟人类大脑对感兴趣事物注意的 特点的模型,可以集中关注对感兴趣区域的识别。其核心思想是借鉴了人类大 脑在某一特定的时刻特定的场景特定的区域对于特定事物的某个方便注意力更 加集中,同时忽略其他次要部分或者是不感兴趣的部分的特点,这是一种人脑 资源优化分配的模型。原理是对一些关键部分以及人们感兴趣的部分,分配较 多的注意力,对于其他不感兴趣部分分配较少的注意力甚至不分配注意力,合 理的利用人类大脑的计算资源,并且还可以去除非关键因素或者干扰因素对人 类大脑的影响。attention model最初在计算机视觉领域被应用,用于图片的识别、 分类和目标检测等任务,取得了很好的效果。后来注意力模型被用于处理图像 到文本转换的问题,即将图片转换成人类可以容易理解的自然语言的描述,该 方法使得传统的模型在该方面取得了更好效果。
[0056]
本发明所采用的数据集是yelp2013和yelp2014。数据集包括470万条用户 评价,15多万条商户信息,20万张图片,12个大都市。此外,还涵盖110万用 户的100万条tips,超过120万条商家属性(如营业时间、是否有停车场、是否 可预订和环境等信息),随着时间推移在每家商户签到的总用户数。数据集中的 评论分为5个等级,这5个等级在英语中分别是:“eek,methins not”,“meh, i have experienced better”,“a-ok”,“yay!i am a fun”,“woohoo!as goodas it gets!”。如表1所示,用户对于商家的星星个数越多,说明该顾客的评价越 好。
[0057]
表1 yelp网站上对一家三明治餐厅的评价内容及其等级示例
[0058][0059][0060]
本发明主要阐述的是自然语言处理(nlp)领域的attention model。在nlp 领域,attention model经常结合encoder-decoder(编码—解码)模型使用。本 发明通过
据进行注意力处理。
[0070]
self-attention:结构如图2所示。q(query),k(key),v(value)三个矩阵均来 自同一输入,首先本发明要计算q与k之间的点乘,然后为了防止其结果过大, 会除以一个维度的平方根,其中为一个query和key向量的维度。再利用softmax 操作将其结果归一化为概率分布,然后再乘以矩阵v就得到权重求和的表示。 输出元素的注意力权重计算如下:
[0071][0072]
现有模型大都使用word2vec预训练词向量,然而使用这些模型训练的词 向量生成本发明需要的词向量时存在一个问题。因为该方法获取到的词向量属 于静态编码的一种,同一单词在不同的上下文环境中仍然是相同的表达,导致 模型对不同情景的语义理解存在偏差。针对这个问题,本发明选择了bert预 训练语言模型作为词向量生成模型。bert处理结构是一种新的自然语言语言 表示模型,bert模型能够更好地体现出句子的语义信息在整个文本中的空间相 互关系即体现出相同文本信息在不同语境中存在的不同表达含义和信息,一方 面具有相同或相似语境中的句子具有相近表达含义,理论上它们在空间中的距 离相对比较接近。另一方面bert模型在处理句子之间的向量操作时采用了与 人脑的理解大致相同的操作方式,其模型结构如图3所示。
[0073]
bert模型的输入是3个向量的和。对于每一个输入的词,它的表征包括3部分,分别是词向量(token embeddings)、分段向量(segment embeddings) 和位置向量(positions embeddings)。其中词向量表示对当前词的编码,分段向 量表示对当前词所在句子的位置编码,位置向量表示对当前词的位置编码,每 一句话使用cls和sep作为开头和结尾的标记.
[0074]
bert模型最重要的部分就是双向transformer编码层,由该层进行文本特 征提取,使用的是transformer的encoder特征抽取器。encoder由自注意力机制 (self-attention)和前馈神经网络(feed-fordward-neural-network)组成。encoder 的核心是self-attention,它可以发现每一个词和这句话里面其他词之间的关联程 度,而且没有距离的限制,几十甚至几百个词之间的关系仍然能找到,这样就 可以充分挖掘到每个词的左右上下文信息,从而就可以得到词的双向表示。
[0075]
模型主要有三个层次部分组成,分别是bert结构层、bilstm结构层和 attention结构层。模型结构如下图4所示。该模型一共分为五层:bert层, 用户向量嵌入层,bi-lstm层,注意力层以及分类层。
[0076]
bert层:首先对情感文本进行分词,并通过微调bert模型获得词语表 示t。即给定的文本d={x1,x2,x3,

,xn},xi代表了给定文本中的词。通过bert 词向量模型可以获得每个词的词向量表示:
[0077]
ti=bert(yi)
[0078]
其中ti∈rd,代表了每个词的词向量表示,d表示词向量的维度。
[0079]
用户向量嵌入层:每一个用户表示为一个向量表示eu∈rd,最终本发明可 以得到一个新的用户向量表示:
[0080]
[0081]
bi-lstm层:对得到的新用户向量进行两个操作。每个向量ni的正向传播 结果和反向传播结果。正向传播结果可根据如下公式计算:
[0082][0083]
反向传播结果可根据公式:
[0084][0085]
其中,dh为每个lstm中隐含神经元的个数。于是得到文本第i 个词语的最新表示:
[0086][0087]
于是可以得到该文本的表示矩阵h=[h1;h2;h3;...;hn],其中 bi-lstm层网络结构如图5所示。
[0088]
attention层:本节中本发明提出了一种新的注意力表示形式,即计算第i个 词与所有词的注意力,从而找到情感相关词,具体表示如下:
[0089][0090]
其中,hi和hj分别为不同词经过bi-lstm的特征表示。最终hi的表示定义 为:
[0091][0092]
最终表示了情感句子中的高水平特征表示。
[0093]
分类层:根据上attention获取的高水平的特征表示,在分类层预测出文本 的类别:
[0094]ci
=softmax(w
whi
bw)
[0095]
其中,为分类网络最终参数,bw∈r
l
为分类结果偏置信息,c 表示概率分布。分类层结构如图6。
[0096]
本节依然选择采用交叉熵损失函数对网络进行训练:
[0097][0098]
其中,uk表示情感样本i的真实标签,ci为样本预测为类别yi的概率。优化 器在本节选择使用随机梯度下降(sgd)对网络参数进行优化。
[0099]
在模型训练时,本发明分别基于词向量分类模型和基于句子向量分类模型 进行了训练和测试。基于词向量的分类模型是训练时将文档分割成一系列词并 将词输入深度神经网络训练的方法;基于句子向量分类模型是指将词向量以句 子形式作为整体输入深度神经网络中进行训练的方法。在计算词向量时对特殊 字符进行筛选,删除了重复标记、乱码等特殊字符。句子向量是将词向量进行 拼接成固定长度,送入网络进行训练。模型训
练过程中使用的超参数如表2所 示。
[0100]
表2超参数设置
[0101][0102]
模型训练流程如表3所示:
[0103]
表3算法流程
[0104]
[0105][0106]
为了评价本发明提出的模型的性能,采用下面的评价标准进行评价。在情 感分类中一般分为二项分类和多项分类。
[0107]
对于二项分类,若样本中类别c:
[0108]
表4二项分类结果矩阵
[0109]
[0110][0111]
对于多项分类,假设有类别ci,i∈[1

nc](nc为类别数量):
[0112]
表5多项分类结果矩阵
[0113][0114]
其中n
ij
表示类j中类别为i的样本数。
[0115]
则,各项评价指标为:
[0116]
(1)准确率
[0117]
准确率是神经网络模型常见的评价指标,其定义就是:对于给定的数据集,分 类器正确分类的样本数与总样本数之比,具体计算公式由准确率上可以从某种 意义上得到一个分类器是否有效,但它不总是能有效的评价一个分类器的工作。 举个简单的例子,正样本占90%,负样本占10%,样本是严重不平衡的。对于 这种情况,只需要将全部样本预测为正样本即可得到90%的准确率,但实际上 并不能判断分类器是否有效。这说明由于样本不平衡的问题导致高准确率有较 大的水分。
[0118][0119]
(2)精确率
[0120]
所有被预测为正确样本中实际为正的样本的概率,其计算公式如下所示。精确 率与准确率上看上去有些类似,但是完全不同的两个概念。精确率代表对正样 本结果中的预测程度,而准确率则代表整体的预测准确程度,既包括正样本, 也包括负样本。
[0121][0122]
(3)召回率
[0123]
其定义为实际为正的样本中被预测为正样本的概率,其计算公式如式下所示。 召回率的应用场景:比如拿差评用户,相对于好评用户,在网站评论中,本发 明更关心差评用
户。因为如果过多的将差评用户分类成好评用户,这样会对后 续的用户的判断造成影响。召回率越高,代表实际中差评用户被预测出来的概 率越高。
[0124][0125]
(4)f-score
[0126]
对于precision(精确率)和recall(召回率),虽然从公式上来看没有必然的相关 性关系。但是在大规模数据集中,这两个指标往往是相互制约的。理想情况下 做到两个指标都高当然最好。但一般情况下,精确率越高,召回率就越低。所 以在实际应用中常常需要根据具体情况做出取舍。所以为综合权衡这两个指标, 就引出了新的指标f-score,其计算公式如下式所示,这是综合考虑精确率和召 回率的调和值。
[0127][0128]
(5)rmse
[0129]
均方误差,代表了预测值的离散程度,也叫标准误差,最佳拟合情况为rmse=0。 均方根误差也是误差分析的综合指标之一。其计算公式如下
[0130][0131]
本发明所做的实验采用使用的编程语言为python3.7,并在jupyternotebook平台上配合pytorch 1.5版本深度学习框架进行开发。所使用的数据集 为:“yelp13”,“yelp14”。将数据集进行划分,将数据集的80%作为训练集,10% 作为验证集来保存模型以及10%为测试集合来计算模型的效果。本部分将这三 个模型分别与基础模型比较。实验所采用的性能评估标准为准确率,精确率, 召回率,f-score以及rmse。
[0132]
表6 yelp2013数据集算法对比结果
[0133][0134]
表7 yelp2014数据集算法对比结果
[0135]
[0136][0137]
从表6和表7以及柱状图7和图8可以看出bert-attention在所有的评估标准 上具有最好的结果。bert模型已经成功应用于自然语言处理的许多任务中,利 用bert获取词语的表示可以很好的捕获词语的语义。在表6中对f-score指标而 言,bert-attention模型高于attention-lstm模型近3%,在表7中,bert-attention 模型高于attention-lstm模型近4%。attention-lstm与attention-gru在两个 数据集上具有相似的性能,这正是因为这俩结构相似,捕获语意特征的能力相 仿。从表格中看出这三个模型都优于其他的基础模型,这再次验证了本发明设 计的深度学习在个性化情感分析中具有较好的性能,能够进一步提高情感分类 的准确率,召回率以及精确度。本发明针对用户个性化设计了基于注意力的深 度神经网络情感分析模型,在深度学习模型加入注意力结构后能够有效的获取 文本在不同位置的相关特征信息,能够有效提取相仿语义特征。柱状图中可以 看出,基于注意力的深度学习模型取得了较低rmse结果,说明在个性化情感 分析中,深度学习模型相比传统机器学习模型在进行情感分析时更加稳定。
[0138]
为了检测模型的attention机制是否有效,本发明设计了消融实验,对比了模型 加入attention与不加attention的试验结果。如表8与表9所示。
[0139]
表8 yelp2013数据集算法对比结果
[0140]
[0141]
表9 yelp2014数据集算法对比结果
[0142][0143]
从表8,表9以及柱状图9和图10可以看出加入注意力模型的结构在f-socre 和精确度上都高于不加注意力模型的结构。从表8中可以看出attention-lstm 在精确度上高于lstm模型1.41%,attention-gru模型比gru模型的f-score 高出1.67%,bert-attention模型比bert模型高出1.23%。这些说明了attention 模型在个性化情感分析中的重要性。attention模型能够很好的捕获到句子的重 要特征,更加准确地定位关键信息,过滤掉不重要的信息,进而提取出重要的个 性化情感的特征,进一步提高模型的分类性能。
[0144]
由attention模型的注意力机制和原理以及注意力权重计算公式计算方法可 以看出,attention模型通过计算注意力的概率分布,可以突出输入的关键自然 序列或者特征矩阵蓄力对于输出特征编码序列分析的作用,对传统的深度网络 模型有着很好的优化效果。同时通过分析attention模型在各个领域的应用可以 看出attention模型的思想适用范围很广,对目前的自然语言处理领域中文本分 类、情感分析等任务有着很好的效果。
[0145]
在传统模型中,模型严重依赖情感词典,及很难构建精准的情感词典。这 些缺点让研究人员转而寻求更方便的解决方案。基于机器学习的分析方法出现。 基于机器学习的方法十分有效,但是对于不同的数据需要选择合适的分类器及 合适的提取文本特征的方法才能获得好的分析结果。随着深度学习和神经网络 的研究与应用,基于深度学习和神经网络的情感分析是一个通用的解决方案。 本发明提出的基于深度学习和注意力机制结合的模型对于不同数据集具有较强 的泛化能力,可以应用于多个数据集情感分析,不需要像传统机器学习模型一 样选择模型。本发明提出的模型将用户间的个性化差异,用户潜在个性化因素: 语言习惯、用户的性格、观点偏见等等考虑在内。本发明提出的模型简单有效 的解决了用户冷启动问题。最重要的是本发明提出的模型在各个评价指标上远 远优于传统机器学习模型,对于解决情感分析问题提供了一个更优的解决方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献