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

一种基于神经网络的在线文本情感分析方法与流程

2021-11-26 21:01:00 来源:中国专利 TAG:


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


背景技术:

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


技术实现要素:

4.针对现有技术的不足,本发明提供一种基于神经网络的在线文本情感分析方法,快速准确分析用户商业评论情感倾向,自动分析用户评价结果,再采用可视化直观显示用户喜好程度给人以视觉展示。
5.本发明为实现上述目的所采用的技术方案是:一种基于神经网络的在线文本情感分析方法,包括:
6.步骤一:对在线文本样本数据进行预处理,人工预先进行情感评定等级标注;
7.步骤二:构建用于在线文本情感分析的初始ubpnn神经网络模型,用训练集数据训练该模型;每次计算损失函数,计算输出层神经元的梯度并反向传播更新每一层的网络参数值,直到达到截止条件后获取优化的ubpnn神经网络模型以及各网络参数;
8.步骤三:采集实际文本语料数据,利用优化的ubpnn神经网络模型对数据进行处理,获取在线文本情感分析结果。
9.将样本数据分为训练集和验证集,用训练集中的数据训练ubpnn神经网络模型,用验证集中的数据进行验证。
10.所述步骤二中构建用于在线文本情感分析的初始ubpnn神经网络模型,用训练集数据训练该模型包括:
11.将输入句子所有单词的词嵌入作为句子的语义表示;对于输入的语义表示,使用矩阵乘法的线性运算和非线性激活函数来获取隐藏层的语义表示;输入隐藏层的语义表示,使用降维操作获得句子级别的语义表示;将句子表示形式与用户表示形式结合输入到分类层中,合并用户信息在句子级别上的作用;分类层将获得的向量映射到二维情感空间中,并使用softmax方法进行情感分类;
12.模型输入:训练集d={((x
1k
,...,x
dk
),(y
1k
,...,y
5k
),u
k
)},k=1,...,m,m是训练数据的数量;
13.模型输出:训练完成的优化后ubpnn神经网络以及网络参数;
14.其中,(x
1k
,...,x
dk
)为词向量,(y
1k
,...,y
5k
)为隐藏层输出,u
k
为人工预先标注的用于表示用户特征的情感评定等级。
15.所述训练集d为对原始在线文本样本数据中的句子进行分词、去停用词处理后获得的。
16.所述构建在线文本情感分析ubpnn神经网络模型,具体包括:
17.均匀分布网络中的参数并随机初始化;
18.根据句子中的词向量,获得整合后的词向量句子表示;
[0019][0020]
使用tf-idf方法计算单词的权重,用权重对整合后的词向量句子进行加权处理;
[0021]
结合用户特征将加权后的词向量输入到输入层;
[0022]
b=g(w
b
[x,u] t
b
)
[0023]
输入层将输出作为隐藏层输入;
[0024]
y=g(w
y
b t
y
)
[0025]
隐藏层输出,联合用户词向量,输入到输出层;
[0026]
s=softmax(w
s
[y,u] t
s
)
[0027]
其中,u是用户的嵌入特征,w
b
,t
b
,w
y
,t
y
,w
s
和t
s
是可训练参数,g(.)是tanh激活函数。
[0028]
所述使用tf-idf方法计算单词的权重,包括:
[0029]
对于包含i个文档的文本集,序号为i的文档表示为d
i
=(w1,i,w2,i,...,w
n
,i),w
n
为文档中第n个文本单词;
[0030]
按照公式计算单词的权重:tfidf=tf*log(ndoc/idf);
[0031]
其中,tf是输入的频率,idf是该单词出现在文本集中的所有文本中的次数,而ndoc是文本集中单词的总数。
[0032]
是采用adadelta优化方法进行梯度的反向传播。
[0033]
是将验证数据输入ubpnn神经网络模型获取对应的评价等级结果,并人工预先进行情感评定等级标注进行比较,若符合误差范围则停止迭代,获取优化后ubpnn神经网络以及网络参数。
[0034]
还包括:将在线文本情感分析结果按照情感评定等级与用户原始的实际文本语料数据进行自动映射关联,并标注喜好程度,再进行可视化展示,用于直观显示用户喜好程度。
[0035]
是采用强深浅弱的颜色渐变顺序为不同用户实际文本语料数据进行信息着色标注。
[0036]
本发明具有以下有益效果及优点:
[0037]
1.本发明方法基于用户特征向量对文本进行情感分析,具有较为快速准确分析用户商业评论情感倾向的功能;
[0038]
2.本发明方法具有将个性化情感分析引入到商业评论中,增强了传统情感分析技术的可用性以及合理性;
[0039]
3.本发明方法具有解决个性化情感分析中存在的冷启动问题的优点;
[0040]
4.本发明方法通过分析用户评价文本自动分析用户评价结果,再采用可视化直观显示用户喜好程度给人以视觉展示,效果显著。
附图说明
[0041]
图1为本发明提出的基于bp神经网络的情感分析示意图;
[0042]
图2为本发明的tf-idf算法示意图;
[0043]
图3为本发明的词向量模型示意图。
具体实施方式
[0044]
下面对照图示和本发明的具体应用实施的步骤进一步说明。
[0045]
在本文中,我们使用基于bp神经网络的方法来处理文本情感分析。如图1所示,bp神经网络方法已在许多领域广泛使用和开发。具体地说,bp神经网络是通过误差反向传播算法训练的多层前馈网络。它是使用最广泛的神经网络模型之一。bp网络可以学习并存储大量的输入/输出模式映射关系,而无需提前揭示这种映射关系的数学方程式。它的学习规则是使用梯度下降法并结合反向传播算法对网络的权重和阈值进行连续调整,以得到最小
化网络方差和。bp神经网络模型拓扑包括输入层,隐藏层和输出层。bp算法(反向传播算法)的学习过程包括两个过程:信息的正向传播和误差的反向传播。输入层神经元负责从外界接收输入信息并将其传输到中间层神经元。中间层是内部信息处理层,负责信息转换。根据信息变化的能力,中间层可以设计为单层或多层结构。最后一个隐藏层传递给输出层中每个神经元的信息。经过进一步处理后,学习的前向传播过程完成,信息处理结果从输出层输出到外部。当实际输出与预期输出不匹配时,它将进入错误的反向传播阶段。通过输出层校正误差,并根据误差梯度校正每一层的权重,将隐藏层和输入层逐层反向传输。重复信息的前向传播和错误向后传播过程是不断调整每一层权重的过程,也是神经网络学习和训练的过程。该过程一直持续到网络输出的错误降低到可接受的水平或预设为止。确定学习次数。本发明将此方法用于解决文本评论的个性情感分析问题,具体阐述如下。
[0046]
本发明所采用的数据集是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 good as it gets!”。如表1所示,用户对于商家的星星个数越多,说明该顾客的评价越好。
[0047]
表1 yelp网站上对一家三明治餐厅的评价内容及其等级示例
[0048][0049]
图2显示了3维向量空间的文本单词级语义表示。每段文字均由三个单词属性的权重表示。扩展到n维空间后,对于包含i个文档的文本集而言,序号为i的文档表示为d
i
=(w1,i,w2,i,...,w
n
,i),w
n
为文档中第n个文本单词。在本文中,使用tf-idf方法计算单词的权重,方法如下:tfidf=tf*log(ndoc/df)itf是输入的频率,idf是该单词出现在文本集中的所有文本中的次数,而ndoc是文本集中单词的总数。
[0050]
我们使用google的开源预训练word2vec单词训练方法来获取单词向量的表示形式。首先在句子中间选择一个单词作为输入单词,然后定义skip_window的参数,该参数表示从当前输入单词的一侧(左侧或右侧)选择的单词数量。另一个参数是num_skips,它表示我们从整个窗口中选择多少个不同的词作为输出词。基于这些训练数据,神经网络将输出一个概率分布,该概率分布表示字典中每个单词都是输出单词的概率。如果两个不同的单词具有非常相似的“上下文”(窗口单词非常相似),则通过word2vec模型训练,两个单词的
嵌入矢量将非常相似。因此,对于文本的情感分类,我们可以更好地获得单词级别的语义表示。在向量空间模型中,单词和单词是独立的关系,并且无法准备单词级别的语义特征。该模型如图3所示。
[0051]
当前文本情感分类和个性化方法的不足:
[0052]
1)当前的文本情感分析方法忽略了用户之间的个体差异。
[0053]
2)忽略用户的潜在个性化因素,例如语言习惯,用户个性,观点偏见等。
[0054]
3)如何准确地获取文本与用户之间的依存关系,掌握用户的潜在个性,这对情感分类具有重要意义。为了解决上述问题,我们提出了一种基于用户情感的神经网络模型ubpnn。
[0055][0056]
其中l是句子x的长度,e(x
i
)是单词x
i
的单词嵌入。我们应用激活函数g(.)进行非线性变换投影。
[0057]
b=g(w
b
x t
b
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0058]
y=g(w
y
b t
y
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0059]
s=softmax(w
s
y t
s
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0060]
其中w
b
,t
b
,w
y
,t
y
,w
s
和t
s
是可训练参数,g(.)是tanh激活函数。
[0061]
b=g(w
b
[x,u] t
b
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0062]
y=g(w
y
b t
y
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0063]
s=softmax(w
s
[y,u] t
s
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0064]
其中u是用户嵌入,w
b
,t
b
,w
y
,t
y
,w
s
和t
s
是可训练参数,g(.)是tanh激活函数。
[0065]
损失函数计算公式为:
[0066]
其中d是训练集文本的数量,c表示情感类别的数量,是衡量某一个情感是否被正确分类的函数,如果是正确分类则是1,否则是0。
[0067]
本发明模型的超参数设置如下:
[0068]
激活函数:tanh
[0069]
词向量维度:200(glove方法预训练的维基百科2014年数据得到的词向量)
[0070]
用户向量维度:200
[0071]
输入层输入形式是(用户向量,情感词向量),输入维度400,输出维度200隐藏层输入维度200,输出维度100
[0072]
输出层输入维度100,输出维度是情感类别个数(即5)
[0073]
训练优化方法为:adadelta
[0074]
分词方法:stanford corenlp。
[0075]
停止训练的条件:在验证集上效果变差,则立即停止训练。
[0076]
输入层:将输入句子所有单词的词嵌入作为句子的语义表示。同时,将相应句子的用户随机初始化为一定维数的向量,联合句子表示用户信息对普通输入模型中单词语义水
平的影响。隐藏层:对于输入的语义表示,使用矩阵乘法的线性运算和非线性激活函数来获取隐藏层的语义表示。输出层:输入隐藏层的语义表示,并使用降维操作获得句子级别的语义表示。将句子表示形式与用户表示形式结合输入到分类层中,其中合并了用户信息在句子级别上的作用。分类层:将获得的向量映射到二维情感空间中,并使用softmax方法进行情感分类。整个过程如表2所示。
[0077]
表2
[0078]
[0079]
由于个性化情感分析中冷启动问题的复杂性,本文仅针对从未出现过的用户进行情感分析。基于上面提到的ubpnn模型,我们获得了所有用户的向量表示。在测试中,对于从未出现过的用户,将基于用户特征的向量的算术平均值用作此类用户的表示,并与文本进行结合用于情感分类。
[0080]
在实验的衡量指标中,精度代表正确分类的阳性样本的比例。精度=tp/(tp fp)。
[0081]
召回率是覆盖率的度量。有多个正面的衡量指标示例。召回率=tp/(tp fn)=tp/p
[0082]
f值是精度和召回率的平均值。f值=0.5*(精度 召回率)
[0083]
准确率是我们最常见的评估指标,准确率=(tp tn)/(p n)。它是分类正确的样本数除以总体样本数。准确率越高,分类器越好;
[0084]
其中,p是正样本数量;n是负样本数量;tp(真正例)是将正样本预测为正样本;fn(假反例)表示将正样本预测为负样本;fp(假正例)是将负样本预测为正样本;tn(真反例)表示将负样本预测为负样本
[0085]
均方根误差(rmse),均方根误差是预测值与真实值偏差的平方与观测次数n比值的平方根。用于测量预测值与真实值之间的偏差。
[0086]
实验结果示于表3和表4。
[0087]
表3 yelp 2013数据集的实验结果
[0088][0089][0090]
表4 yelp 2014数据集的实验结果
[0091][0092]
实验结果表明,本文提出的upbnn方法在这两个数据集上优于其他的基本方法。
[0093]
本发明方法还可以将在线文本情感分析结果按照情感评定等级与用户原始的实际文本语料数据进行自动映射关联,并采用强深浅弱的颜色渐变顺序为不同用户实际文本语料数据进行信息着色标注喜好程度,再进行可视化展示,用于通过分析用户评价文本自动分析用户评价结果,再可视化直观显示用户喜好程度给人以视觉展示,效果显著。
[0094]
本文基于神经网络bpnn方法,提出了一种称为ubpnn的情感分析模型。实验结果表明,该方法在诸多方面都优于其他比较方法,具有一定的优势。
[0095]
以上所述,仅是本发明的较佳实施例,并非对本发明作任何限制,凡是根据本发明技术实质对以上实施例所作的任何简单修改、变更以及等效结构变化,均仍属于本发明技术方案的保护范围内。
再多了解一些

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

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

相关文献