一种考虑用户特征信息的主题-情感联合建模方法转让专利

申请号 : CN201711145941.4

文献号 : CN107808008B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙春华许银洁刘业政孙见山姜元春魏琳璘温琴

申请人 : 合肥工业大学

摘要 :

本发明公开了一种考虑用户特征信息的主题‑情感联合建模方法,包括如下步骤:1、构建语料特征集合;2、构建用户特征矩阵;3、将语料文本表示为向量形式;4、构建语料情感字典;5、初始化语料特征词的主题、情感和用户特征参数向量;6、更新语料特征词的主题、情感和用户特征参数向量,最终得到语料文本的情感分布、主题分布和词分布。本发明能有效解决现有主题情感联合模型因忽略用户特征而导致情感分析出现偏差的问题,从而能提高文本情感分类的准确度。

权利要求 :

1.一种考虑用户特征信息的主题-情感联合建模方法,其特征是按如下步骤进行:步骤1、构建语料特征集合T:

步骤1.1、获取n条评论文本构成评论文本集合D,记为D={d1,d2,…,di…,dn},di表示所述评论文本集合D中的第i个评论文本,n表示所述评论文本集合D中的评论文本总数,i=1,

2,…,n;

步骤1.2、去除所述评论文本集合D中所有停用词,得到预处理后的评论文本集合D′={d′1,d′2,…,d′i…,d′n},使用词袋法表示预处理后的第i个评论文本d′i的特征,获得预处理后的第i个评论文本d′i的特征集合 ti,s表示第i个特征集合Ti中第s个特征词,ri表示所述第i个特征集合Ti中的特征总数,s=1,2,…,ri;

步骤1.3、对n个评论文本的特征集合取并集,从而构成所述预处理后的评论文本集合D′的语料特征集合T={t1,t2,…,tc,…,tm},tc表示所述语料特征集合T中第c个特征词,m表示所述语料特征集合T的特征词总数,c=1,2,…,m;

步骤2、构建用户特征矩阵X:

步骤2.1、获取预处理后的评论文本集合D′对应的用户特征集合U,记为U={u1,u2,...,ui...,un},ui表示第i个评论文本d′i对应的用户特征集;

步骤2.2、将第i个用户特征集ui进行区间离散化,得到值为1×f的0-1向量,记为第i个用户特征向量xi=(xi,1,xi,2,...,xi,l,...,xi,f),从而构成用户特征矩阵X=[x1,x2,...,xi,...,xn]T,其中,xi,l表示第i个用户特征向量xi的第l个用户特征,f表示所述第i个用户特征向量xi中的特征总数,l=1,2,…,f;

步骤3、将所述预处理后的评论文本集合D′表示成向量形式:步骤3.1、将所述预处理后的评论文本集合D′中的所有评论文本映射到所述语料特征集合T上,并通过TF-IDF计算预处理后的第i个评论文本d′i中第c个特征词ti,c的权值wc,i,从而获得预处理后的第i个评论文本d′i中ri个特征词在所述语料特征集合T上的权值进而获得n条评论文本的权值{W1,W2,…,Wi,…,Wn};

步 骤3 .2 、将预 处 理 后的 第i 个 评 论 文 本d ′i 表 示成 向 量 形 式 :从而获得预处理后的n条评论文本的向量

形式:{h1,h2,…,hi,…,hn};

步骤4、构建语料情感字典:

步骤4.1、将情感词库中的情感词作为种子词集S,记为S={s1,s2,...,sk,...,st},sk表示情感种子词集S中的第k个情感词;k=1,2,…,t;

步骤4.2、将所述预处理后的评论文本集合D′中的所有评论文本映射到所述语料特征集合T上,并使用word2vec模型进行训练,得到语料特征集合T的向量表示集合{e1,e2,...ec,...,em},其中,ec表示所述语料特征集合T中第c个特征词的向量表示,m表示所述语料特征集合T的特征词总数,c=1,2,…,m;

步骤4.3、遍历种子词集S,并根据向量表示ec,使用余弦相似度计算和第k个情感词sk最相近的特征词tc加入种子词集S中,从而得到情感字典S*;

步骤5、初始化语料特征词的主题和情感:

步骤5.1、定义A个主题,B种情感;

步骤5.2、给预处理后的第i个评论文本d′i中的第s个特征词ti,s随机分配第a个主题,并遍历所述情感字典S*,如果第s个特征词ti,s存在于情感字典S*中,则将所述情感字典中的情感赋给第s个特征词ti,s,否则,随机分配第b种情感给第s个特征词ti,s,0≤a<A,1≤b≤B;

步骤5.3、定义预处理后的第i个评论文本d′i的初始情感分布为 表示第i个评论文本d′i属于正向情感的概率, 表示第i个评论文本d′i属于负向情感的概率;

定义第i个评论文本d′i中对应第b种情感下的主题分布为Θi,b={pi,b,0,pi,b,1,...,pi,b,a,...,pi,b,A-1},pi,b,a表示文本属于第a个主题的概率;

定义第b种情感的第a个主题下的特征词分布Φb,a={pb,a,1,pb,a,2,…,pb,a,c,…,pb,a,m},pb,a,c表示第c个特征词tc在第b种情感的第a个主题下出现的概率;

步骤6、更新语料特征词的主题和情感:

步骤6.1、定义当前迭代次数为ε,则定义第ε次迭代下的第b种情感的用户特征参数向量为λbε=(λb,1ε,λb,2ε,...,λb,lε,...λb,fε),当ε=1时,λbε为服从均值为0方差为σ2的高斯分布的随机向量,其中,λb,lε表示第ε次迭代下第b种情感的第l个用户特征参数;

定义第s个特征词ti,s更新迭代的次数为step;

初始化ε=1,step=1;

步骤6.2、利用式(1)计算第ε次更新下第step次迭代的预处理后的第i个评论文本d′i中第s个特征词ti,s属于第a个主题和第b种情感的概率p(topi,s=a,seni,s=b)ε,step:式(1)中,topi,s表示预处理后的第i个评论文本d′i中第s个特征词ti,s的主题,seni,s表示预处理后的第i个评论文本d′i中第s个特征词ti,s的情感,yi,s表示预处理后的第i个评论文本d′i中第s个特征词ti,s在所述语料特征集合T中所映射的特征词; 表示所映射的特征词yi,s属于第a个主题和第b种情感的次数, 表示排除预处理后的第i个评论文本d′i中第s个特征词ti,s后,所映射的特征词yi,s属于第a个主题和第b种情感的次数,Ni,a,b表示预处理后的第i个评论文本d′i中特征词属于第a个主题和第b种情感的次数,α为主题分布Θ的超参数,β为特征词分布Φ的超参数,Ni,b表示预处理后的第i个评论文本d′i中特征词属于第b种情感的次数,Na,b表示所述预处理后的评论文本集合D′中的词属于第a个主题和第b种情感的次数,Ni表示预处理后的第i个评论文本d′i中的词总数,m表示所述语料特征集合T中的特征词总数;

步骤6.3、令step+1赋值给step,并判断step是否为ω的整数倍,若是,则执行步骤6.4,否则,返回步骤6.2执行;

步骤6.4、利用式(2)得到所述预处理后的评论文本集合D′在第ε次迭代下用户特征参数向量λbε的第b种情感似然概率p(b,λbε),并采用最大似然法求解第ε次迭代下的第b种情感的最优用户特征参数向量λ′bε;

步骤6.5、判断step是否达到最大迭代次数,若是,则执行步骤6.6;否则,将ε+1赋值给ε,并返回执行步骤6.2-步骤6.4;

步骤6.6、根据式(3)计算第step次迭代下第i个评论文本d′i属于第b种情感的概率从而第step次迭代下第i个评论文本d′i的情感分布步骤6.7、根据式(4)计算第step次迭代下第i个评论文本d′i属于第a个主题和第b种情感的概率 从而得到第i个评论文本d′i属于第b种情感的主题分布Θi,bstep={pi,b,0step,pi,b,1step,...,pi,b,astep,...,pi,b,A-1step};

步骤6.8、根据式(5)计算第step次迭代下第c个特征词tc属于第a个主题和第b种情感的概率 从而得到第step次迭代下第b种情感下第a个主题的特征词分布由所述情感分布 主题分布Θi,bstep={pi,b,0step,pi,b,1step,...,pi,b,astep,...,pi,b,A-1step}和特征词分布 构成考虑用户特征信息的主题-情感联合模型。

说明书 :

一种考虑用户特征信息的主题-情感联合建模方法

技术领域

[0001] 本发明属于情感分析领域,具体的说是一种考虑用户特征信息的主题-情感联合建模方法。

背景技术

[0002] 随着互联网的发展,越来越多的用户倾向于在网络上发表评论,这些评论为消费者的购买决策和商家的市场监控与策略调整提供了依据。如何对数量庞大、内容复杂的在
线评论进行分析,挖掘其中的用户观点已经成为研究热点问题。
[0003] 传统的情感分析方法主要有两大类:基于知识的和基于机器学习的方法。基于知识的情感分析方法需要借助情感字典标注文档中每个词的情感倾向,并结合一些句法规则
对文档中的情感词进行加权求和,得到文档的总体情感倾向。例如,文献[Sentiment 
analysis ofChinese documents:From sentence to document level,2009]提出了一种
基于规则的两阶段方法:首先依据词汇情感倾向得到句子情感倾向,然后聚合句子情感倾
向得到文档情感倾向。基于知识的情感分析方法通常需要针对特定领域构建情感字典,在
如今信息爆炸的时代,网络流行语层出不穷,领域情感词典难于实时更新,基于知识的方法在实时、动态地分析用户的情感倾向方面略显不足。而机器学习方法将情感分析任务视为
分类问题,首先在标注正负情感的语料集上训练出分类模型,然后基于分类模型对新的语
料进行情感分类。例如,文献[Chinese sentiment classification using a neural 
network tool—Word2vec,2014]将word2vec方法与SVM分类器结合,分类准确率高达90%
以上。机器学习方法准确率较高,但是通常需要人工进行情感标注以得到训练集。此外,机器学习方法通常是将整条语料信息划分为正负两类,难以在细粒度的水平上分析用户情
感。以汽车评论为例,“时尚、动感、运动的外观让人眼前一亮,不到10万块的价格,有这样的设计外观相当不错了,最不满意的就是内饰了,塑料感太强了,基本装饰性的东西都没有”中,用户对汽车外观持正向情感,对内饰持负向情感,如果对整条评论进行情感分类,则分类结果的应用价值不大。
[0004] 主题模型可以自动识别文本中隐含的主题,且无需对语料进行人工标注,这在一定程度上弥补了传统情感分析方法的不足,因此被广泛应用于情感分析系统。起初,研究者们将主题发现和情感分类作为两个独立的任务,首先应用主题模型提取特征词,然后在文
档中寻找特征词对应的形容词作为情感词。但是,情感通常是依赖主题而存在的,将主题和情感割裂建模,会造成信息损失。主题情感联合模型则进一步考虑了主题和情感之间的依
赖关系问题,实现了对主题和情感的同步分析。
[0005] 后来的研究者对主题情感联合模型进行了改进,但大多还是对文本内容本身进行建模,较少关注和文本内容相关的用户特征信息。已有研究[External validity of 
sentiment mining reports:Can current methods identify demographic biases,
event biases,and manipulation of reviews?,2014]表明,用户的个体特征影响其情感
表达的方式,忽略用户特征会导致情感分析结果出现偏差,包括人口统计因素导致的偏差
以及事件导致的偏差等。因此,使用主题情感联合模型进行情感分析的时候,考虑用户特征的影响是很有必要的。
[0006] 发明目的
[0007] 本发明为了克服现有技术存在的不足之处,提供一种考虑用户特征的主题情感联合模型,以期望能有效解决现有主题情感联合模型因忽略用户特征而导致情感分析出现偏
差的问题,从而能提高文本情感分类的准确度。
[0008] 本发明为解决技术问题所采用的技术方案是:
[0009] 本发明一种考虑用户特征信息的主题-情感联合建模方法的特点是按如下步骤进行:
[0010] 步骤1、构建语料特征集合T:
[0011] 步骤1.1、获取n条评论文本构成评论文本集合D,记为D={d1,d2,…,di…,dn},di表示所述评论文本集合D中的第i个评论文本,n表示所述评论文本集合D中的评论文本总数,i=1,2,…,n;
[0012] 步骤1.2、去除所述评论文本集合D中所有停用词,得到预处理后的评论文本集合D′={d′1,d′2,…,d′i…,d′n},使用词袋法表示预处理后的第i个评论文本d′i的特征,获得预处理后的第i个评论文本d′i的特征集合 ti,s表示第i个特征集合
Ti中第s个特征词,ri表示所述第i个特征集合Ti中的特征总数,s=1,2,…,ri;
[0013] 步骤1.3、对n个评论文本的特征集合取并集,从而构成所述预处理后的评论文本集合D′的语料特征集合T={t1,t2,…,tc,…,tm},tc表示所述语料特征集合T中第c个特征词,m表示所述语料特征集合T的特征词总数,c=1,2,…,m;
[0014] 步骤2、构建用户特征矩阵X:
[0015] 步骤2.1、获取预处理后的评论文本集合D′对应的用户特征集合U,记为U={u1,u2,...,ui...,un},ui表示第i个评论文本d′i对应的用户特征集;
[0016] 步骤2.2、将第i个用户特征集ui进行区间离散化,得到值为1×f的0-1向量,记为第i个用户特征向量xi=(xi,1,xi,2,...,xi,l,...,xi,f),从而构成用户特征矩阵X=[x1,x2,...,xi,...,xn]T,其中,xi,l表示第i个用户特征向量xi的第l个用户特征,f表示所述第i个用户特征向量xi中的特征总数,l=1,2,…,f;
[0017] 步骤3、将所述预处理后的评论文本集合D′表示成向量形式:
[0018] 步骤3.1、将所述预处理后的评论文本集合D′中的所有评论文本映射到所述语料特征集合T上,并通过TF-IDF计算预处理后的第i个评论文本d′i中第c个特征词ti,c的权值wc,i,从而获得预处理后的第i个评论文本d′i中ri个特征词在所述语料特征集合T上的权值进而获得n条评论文本的权值{W1,W2,…,Wi,…,Wn};
[0019] 步骤3 .2、将预处理后的第i个评论文本d ′i表示成向量形式:从而获得预处理后的n条评论文本的向量
形式:{h1,h2,…,hi,…,hn};
[0020] 步骤4、构建语料情感字典:
[0021] 步骤4.1、将情感词库中的情感词作为种子词集S,记为S={s1,s2,...,sk,...,st},sk表示情感种子词集S中的第k个情感词;k=1,2,…,t;
[0022] 步骤4.2、将所述预处理后的评论文本集合D′中的所有评论文本映射到所述语料特征集合T上,并使用word2vec模型进行训练,得到语料特征集合T的向量表示集合{e1,
e2,...ec,...,em},其中,ec表示所述语料特征集合T中第c个特征词的向量表示,m表示所述语料特征集合T的特征词总数,c=1,2,…,m;
[0023] 步骤4.3、遍历种子词集S,并根据向量表示ec,使用余弦相似度计算和第k个情感词sk最相近的特征词tc加入种子词集S中,从而得到情感字典S*;
[0024] 步骤5、初始化语料特征词的主题和情感:
[0025] 步骤5.1、定义A个主题,B种情感;
[0026] 步骤5.2、给预处理后的第i个评论文本d′i中的第s个特征词ti,s随机分配第a个主题,并遍历所述情感字典S*,如果第s个特征词ti,s存在于情感字典S*中,则将所述情感字典中的情感赋给第s个特征词ti,s,否则,随机分配第b种情感给第s个特征词ti,s,0≤a<A,1≤b≤B;
[0027] 步骤5.3、定义预处理后的第i个评论文本d′i的初始情感分布为表示第i个评论文本d′i属于正向情感的概率, 表示第i个评论文本d′i属于负向情感
的概率;
[0028] 定义第i个评论文本d′i中对应第b种情感下的主题分布为Θi,b={pi,b,0,pi,b,1,...,pi,b,a,...,pi,b,A-1},pi,b,a表示文本属于第a个主题的概率;
[0029] 定义第b种情感的第a个主题下的特征词分布Φb,a={pb,a,1,pb,a,2,…,pb,a,c,…,pb,a,m},pb,a,c表示第c个特征词tc在第b种情感的第a个主题下出现的概率;
[0030] 步骤6、更新语料特征词的主题和情感:
[0031] 步骤6.1、定义当前迭代次数为ε,则定义第ε次迭代下的第b种情感的用户特征参ε ε ε ε ε ε 2数向量为λb=(λb,1 ,λb,2 ,...,λb,l ,...λb,f),当ε=1时,λb为服从均值为0方差为σ的高斯分布的随机向量,其中,λb,lε表示第ε次迭代下第b种情感的第l个用户特征参数;
[0032] 定义第s个特征词ti,s更新迭代的次数为step;
[0033] 初始化ε=1,step=1;
[0034] 步骤6.2、利用式(1)计算第ε次更新下第step次迭代的预处理后的第i个评论文本d′i中第s个特征词ti,s属于第a个主题和第b种情感的概率p(topi,s=a,seni,s=b)ε,step:
[0035]
[0036] 式(1)中,topi,s表示预处理后的第i个评论文本d′i中第s个特征词ti,s的主题,seni,s表示预处理后的第i个评论文本d′i中第s个特征词ti,s的情感,yi,s表示预处理后的第i个评论文本d′i中第s个特征词ti,s在所述语料特征集合T中所映射的特征词; 表示所
映射的特征词yi,s属于第a个主题和第b种情感的次数, 表示排除预处理后的第i
个评论文本d′i中第s个特征词ti,s后,所映射的特征词yi,s属于第a个主题和第b种情感的次数,Ni,a,b表示预处理后的第i个评论文本d′i中特征词属于第a个主题和第b种情感的次数,α为主题分布Θ的超参数,β为特征词分布Φ的超参数,Ni,b表示预处理后的第i个评论文本d′i中特征词属于第b种情感的次数,Na,b表示所述预处理后的评论文本集合D′中的词属于第a个主题和第b种情感的次数,Ni表示预处理后的第i个评论文本d′i中的词总数,m表示所述语料特征集合T中的特征词总数;
[0037] 步骤6.3、令step+1赋值给step,并判断step是否为ω的整数倍,若是,则执行步骤6.4,否则,返回步骤6.2执行;
[0038] 步骤6.4、利用式(2)得到所述预处理后的评论文本集合D′在第ε次迭代下用户特征参数向量λbε的第b种情感似然概率p(b,λbε),并采用最大似然法求解第ε次迭代下的第b种情感的最优用户特征参数向量
[0039]
[0040] 步骤6.5、判断step是否达到最大迭代次数,若是,则执行步骤6.6;否则,将ε+1赋值给ε,并返回执行步骤6.2-步骤6.4;
[0041] 步骤6.6、根据式(3)计算第step次迭代下第i个评论文本d′i属于第b种情感的概率 从而第step次迭代下第i个评论文本d′i的情感分布
[0042]
[0043] 步骤6.7、根据式(4)计算第step次迭代下第i个评论文本d′i属于第a个主题和第b种情感的概率 从而得到第i个评论文本d′i属于第b种情感的主题分布Θi,bstep=
{pi,b,0step,pi,b,1step,...,pi,b,astep,...,pi,b,A-1step};
[0044]
[0045] 步骤6.8、根据式(5)计算第step次迭代下第c个特征词tc属于第a个主题和第b种情感的概率 从而得到第step次迭代下第b种情感下第a个主题的特征词分布
[0046]
[0047] 由所述情感分布 主题分布Θi,bstep={pi,b,0step,pi,b,1step,...,pi,b,astep,...,pi,b,A-1step}和特征词分布 构
成考虑用户特征信息的主题-情感联合模型。
[0048] 相对于现有的情感分析方法,本发明的有益效果体现在:
[0049] 1、本发明在进行主题情感联合建模的过程中加入用户特征,以文档所对应的用户特征的线性函数作为文档-情感分布的先验,即每篇文档的情感dirichlet分布因受到用户
特征的影响而不同,克服了当前主题模型先验参数固定,不考虑文档用户特征的影响从而
模型学习效率低、迭代次数多的问题,能够有效减少模型的迭代次数,快速学习到语料集中的知识。
[0050] 2、本发明在进行主题情感联合建模的过程中考虑用户特征,并非直接在模型中生成用户特征,而是以线性函数值作为先验参数,将用户人口统计特征和行为事件特征直接
加入模型,解决了现有监督主题模型因采用指数族分布而导致复杂度高的问题,在不增加
模型复杂度的前提下,考虑了不同特征用户情感表达上的差异性,解决了现有情感模型因
忽略用户特征导致情感分析结果出现偏差的问题,从而提高模型的情感分类精度和模型训
练速度。
[0051] 3、本发明建模过程中将加入的用户特征都表示为二分类,用户特征可以是离散型,也可以是连续型,解决了现有主题模型因考虑不同类型的标签信息而需要重新构建模
型,模型无法复用的问题,对于不同类型的用户特征,本发明具有更强的可拓展性,
[0052] 4、本发明在构建语料情感字典时,采用word2vec方法,将文本数据集中的特征词根据其所在上下文表示为向量形式,克服了当前构建相关领域情感字典需要人工标注的问
题,从而节省了大量的人力时间成本,word2vec能够根据当前文本数据集的特点来构建情
感字典,克服了现有通用情感字典不适合特定领域研究的问题。
[0053] 5、本发明从构建领域情感字典到文档情感分类,采用完全无监督的方式,无需人工对样本进行标注,也无需标记的训练样本用以情感分类器的训练,尤其适用于当前大数
据环境背景下的数据建模,通过合理选择用户特征,本发明的情感分类同样可以取得较高
的准确性。
[0054] 6、本发明可以用于舆情监控、市场预测等领域,为消费者的购买决策和商家的市场监控与策略调整提供依据。

附图说明

[0055] 图1为本发明的模型示意图;
[0056] 图2为本发明方法流程图。

具体实施方式

[0057] 本实施例中,一种考虑用户特征信息的主题-情感联合建模方法是对语料数据预处理后,获得语料文本特征集和用户特征矩阵,然后使用word2vec方法构建语料情感字典,随机初始化语料文本特征词的主题和情感以及用户特征参数,建立如图1所示的概率生成
模型,由图1模型的联合概率推导得到语料文本特征词所属主题和情感的更新规则,通过该更新规则更新语料文本特征词的主题和情感,采用最大似然法优化用户特征参数,最终获
得语料文本的情感分布、主题分布和词分布。具体地说,如图2所示,包括以下步骤:
[0058] 步骤1、构建语料特征集合T:
[0059] 步骤1.1、假设该发明应用于识别汽车论坛的口碑数据的情感倾向,从汽车论坛上获取n条口碑评论文本构成评论文本集合D,记为D={d1,d2,…,di…,dn},di表示所述评论文本集合D中的第i个评论文本,n表示所述评论文本集合D中的评论文本总数,i=1,2,…,n;
[0060] 步骤1.2、去除所述评论文本集合D中所有停用词,得到预处理后的评论文本集合D′={d′1,d′2,…,d′i…,d′n},使用词袋法表示预处理后的第i个评论文本d′i的特征,获得预处理后的第i个评论文本di′的特征集合 ti,s表示第i个特征集合
Ti中第s个特征词,ri表示所述第i个特征集合Ti中的特征总数,s=1,2,…,ri;词袋法假定对于一个文本,忽略其句法、语法和词序,仅仅将其看成词集合;
[0061] 步骤1.3、对n个评论文本的特征集合取并集,从而构成所述预处理后的评论文本集合D′的语料特征集合T={t1,t2,…,tc,…,tm},tc表示所述语料特征集合T中第c个特征词,m表示所述语料特征集合T的特征词总数,c=1,2,…,m;
[0062] 步骤2、构建用户特征矩阵X:
[0063] 步骤2.1、获取预处理后的评论文本集合D′对应的汽车论坛上的用户特征集合U,记为U={u1,u2,...,ui...,un},ui表示第i个评论文本d′i对应的用户特征集;在本实施中,用户特征包括了用户性别、用户年龄、用户评论时间、用户评分的和购车目的;
[0064] 步骤2.2、将第i个用户特征集ui进行区间离散化,得到值为1×f的0-1向量,记为第i个用户特征向量xi=(xi,1,xi,2,...,xi,l,...,xi,f),从而构成用户特征矩阵X=[x1,x2,...,xi,...,xn]T,其中,xi,l表示第i个用户特征向量xi的第l个用户特征,f表示所述第i个用户特征向量xi中的特征总数,l=1,2,…,f;在本实施例中,年龄和评论时间为连续特征,对其区间离散化,年龄分为以下五个区间:18-30岁、31-40岁、41-50岁、51-60岁、61-70岁,用户评论时间分为以下5个区间:2012年、2013年、2014年、2015年、2016年,如果某个用户26岁,则其年龄特征采用0-1向量表示为(1,0,0,0,0);
[0065] 步骤3、将所述预处理后的评论文本集合D′表示成向量形式:
[0066] 步骤3.1、将所述预处理后的评论文本集合D′中的所有评论文本映射到所述语料特征集合T上,并通过TF-IDF计算预处理后的第i个评论文本d′i中第c个特征词ti,c的权值wc,i,从而获得预处理后的第i个评论文本d′i中ri个特征词在所述语料特征集合T上的权值进而获得n条评论文本的权值{W1,W2,…,Wi,…,Wn};
[0067] 步骤3 .2、将预处理后的第i个评论文本di ′表示成向量形式:从而获得预处理后的n条评论文本的向量
形式:{h1,h2,…,hi,…,hn};
[0068] 步骤4、构建语料情感字典:
[0069] 步骤4.1、在本实施例中,将Hownet情感词库中的情感词作为种子词集S,记为S={s1,s2,...,sk,...,st},sk表示情感种子词集S中的第k个情感词;k=1,2,…,t;
[0070] 步骤4.2、将所述预处理后的评论文本集合D′中的所有评论文本映射到所述语料特征集合T上,并使用word2vec模型进行训练,得到语料特征集合T的向量表示集合{e1,
e2,...ec,...,em},其中,ec表示所述语料特征集合T中第c个特征词的向量表示,m表示所述语料特征集合T的特征词总数,c=1,2,…,m;
[0071] 步骤4.3、遍历种子词集S,并根据向量表示ec,使用余弦相似度计算和第k个情感词sk最相近的特征词tc加入种子词集S中,从而得到情感字典S*;
[0072] 步骤5、初始化语料特征词的主题和情感:
[0073] 步骤5.1、定义A个主题,B种情感;在本实施例中,图1模型中的情感数B设置为2,主题数A设置为20;
[0074] 步骤5.2、给预处理后的第i个评论文本d′i中的第s个特征词ti,s随机分配第a个主题,并遍历所述情感字典S*,如果第s个特征词ti,s存在于情感字典S*中,则将所述情感字典中的情感赋给第s个特征词ti,s,否则,随机分配第b种情感给第s个特征词ti,s,0≤a<A,1≤b≤B;
[0075] 步骤5.3、定义预处理后的第i个评论文本d′i的初始情感分布为表示第i个评论文本d′i属于正向情感的概率, 表示第i个评论文本d′i属于负向情感
的概率;
[0076] 定义第i个评论文本d′i中对应第b种情感下的主题分布为Θi,b={pi,b,0,pi,b,1,...,pi,b,a,...,pi,b,A-1},pi,b,a表示文本属于第a个主题的概率;
[0077] 定义第b种情感的第a个主题下的特征词分布Φb,a={pb,a,1,pb,a,2,…,pb,a,c,…,pb,a,m},pb,a,c表示第c个特征词tc在第b种情感的第a个主题下出现的概率;
[0078] 步骤6、更新语料特征词的主题和情感:
[0079] 步骤6.1、定义当前迭代次数为ε,则定义第ε次迭代下的第b种情感的用户特征参数向量为λbε=(λb,1ε,λb,2ε,...,λb,lε,...λb,fε),当ε=1时,λbε为服从均值为0方差为σ2的高斯分布的随机向量,其中,λb,lε表示第ε次迭代下第b种情感的第l个用户特征参数;本实施例中,图1模型中的方差σ2取值0.5;
[0080] 定义第s个特征词ti,s更新迭代的次数为step;
[0081] 初始化ε=1,step=1;
[0082] 步骤6.2、利用式(1)计算第ε次更新下第step次迭代的预处理后的第i个评论文本ε,step
di′中第s个特征词ti,s属于第a个主题和第b种情感的概率p(topi,s=a,seni,s=b) :
[0083]
[0084] 式(1)中,topi,s表示预处理后的第i个评论文本di′中第s个特征词ti,s的主题,seni,s表示预处理后的第i个评论文本d′i中第s个特征词ti,s的情感,yi,s表示预处理后的第i个评论文本d′i中第s个特征词ti,s在所述语料特征集合T中所映射的特征词; 表示所
映射的特征词yi,s属于第a个主题和第b种情感的次数, 表示排除预处理后的第i
个评论文本d′i中第s个特征词ti,s后,所映射的特征词yi,s属于第a个主题和第b种情感的次数,Ni,a,b表示预处理后的第i个评论文本d′i中特征词属于第a个主题和第b种情感的次数,α为主题分布Θ的超参数,β为特征词分布Φ的超参数,Ni,b表示预处理后的第i个评论文本d′i中特征词属于第b种情感的次数,Na,b表示所述预处理后的评论文本集合D′中的词属于第a个主题和第b种情感的次数,Ni表示预处理后的第i个评论文本d′i中的词总数,m表示所述语料特征集合T中的特征词总数;
[0085] 步骤6.3、令step+1赋值给step,并判断step是否为ω的整数倍,若是,则执行步骤6.4,否则,返回步骤6.2执行;本实施例中整数ω取值50,即预处理后的评论文本集合D′中的词所属的主题和情感每迭代更新50次后优化第ε次迭代下的第b种情感的用户特征参数
向量λbε;
[0086] 步骤6.4、利用式(2)得到所述预处理后的评论文本集合D′在第ε次迭代下用户特征参数向量λbε的第b种情感似然概率p(b,λbε),采用最大似然法求解第ε次迭代下的第b种情感的最优用户特征参数向量
[0087]
[0088] 最大似然法具体为:
[0089] 求解用户特征参数向量λbε使公式(2)计算得到的似然概率值最大,根据公式(3)对λbε对数求导,令导数为零即可求解最优用户特征参数向量 因公式(3)非线性,无法直接计算,从而对公式(3)采用拟牛顿法L-BFGS近似求解最优用户特征参数向量 公式(3)中Ψ为双伽马函数;
[0090]
[0091] 步骤6.5、判断step是否达到最大迭代次数,若是,则执行步骤6.6;否则,将ε+1赋值给ε,并返回执行步骤6.2-步骤6.4;
[0092] 步骤6.6、根据式(4)计算第step次迭代下第i个评论文本d′i属于第b种情感的概率 从而第step次迭代下第i个评论文本d′i的情感分布
[0093]
[0094] 步骤6.7、根据式(5)计算第step次迭代下第i个评论文本d′i属于第a个主题和第bstep
种情感的概率 从而得到第i个评论文本d′i属于第b种情感的主题分布Θi,b =
{pi,b,0step,pi,b,1step,...,pi,b,astep,...,pi,b,A-1step};
[0095]
[0096] 步骤6.8、根据式(6)计算第step次迭代下第c个特征词tc属于第a个主题和第b种情感的概率 从而得到第step次迭代下第b种情感下第a个主题的特征词分布
[0097]
[0098] 由所述情感分布 主题分布Θi,bstep={pi,b,0step,pi,b,1step,...,pi,b,astep,...,pi,b,A-1step}和特征词分布 构
成考虑用户特征信息的主题-情感联合模型;
[0099] 根据情感分布Πistep即可得到第i个评论文本d′i的情感倾向。
[0100] 针对本发明方法进行实验论证,具体包括:
[0101] 1、语料数据集:
[0102] 本发明的实例语料数据是来自汽车之家的口碑数据。选择其中用户评论字数在200字以上,评论所对应的用户数据没有缺失,且用户年龄处于国家允许的驾驶机动车年龄范围内的数据。最终得到13252条评论,其中正负情感的评论各6626条。用户特征数据包括用户的年龄、性别、评论时间、评分数据、购车目的;
[0103] 2、评价指标
[0104] 本发明使用目前文本情感分类领域常用的评价指标:准确率(Accuracy)和召回率(recall),其计算公式如式(7)(8)(9):
[0105]
[0106]
[0107]
[0108] 上式中,TP表示分类模型正确预测的正样本数,TN表示分类模型正确预测的负样本数,FP表示分类模型错误预测的正样本数,FN表示分类模型错误预测的负样本数;
[0109] 3、实验结果
[0110] 为了验证本发明所提模型JUST的有效性,本发明在汽车之家的口碑数据集上进行实验,并将本发明的情感分类结果与JST模型取得的结果进行了比较。实验结果如表1所示,表1中第一列为模型名称,依次为JST模型、考虑用户性别的JUST模型、考虑用户评论时间的JUST模型等,第二列为文本情感分类的准确率,第三列为文本情感分类的正向召回率,第四列为文本情感分类的负向召回率,准确率和召回率值越大越好。由表1可以看出,相比于JST模型,JUST模型有较好的情感分类效果,在单个用户特征中,加入用户年龄的JUST模型的情感分类效果较好,在多个用户特征的组合中,用户年龄、用户评分和购车目的的特征组合效果较好,实验结果验证了本发明模型的有效性。
[0111] 表1:不同用户特征的JUST模型和JST模型在文本情感分类上的准确率和召回率
[0112]
[0113]