首页 / 一种基于博弈论的在线交互式评论支持度倾向的预测方法

一种基于博弈论的在线交互式评论支持度倾向的预测方法无效专利 发明

技术领域

[0001] 本发明属于信息科学领域,涉及一种在线交互式评论的支持度预测方法。具体说来是一种基于博弈论的在线交互式评论支持度倾向的预测方法。

相关背景技术

[0002] 社会网络的迅速发展使得越来越多的人习惯借助微博、QQ和论坛等平台参与公众话题讨论,发表在线评论表达自己的观点和态度。支持度分析作为机器学习和计算机语言学的重要分支,包含支持度计算和支持度演化分析。支持度计算的任务是识别主观性文本的支持度极性,并对极性强度进行判定。支持度演化是分析复杂交互式文本的支持度随时间的演化规律。对在线评论进行支持度分析对网络舆情监控、口碑营销和信息预测等诸多应用都起着基础性支撑作用,已成为社会网络分析领域的热点议题之一。[赵妍妍,秦兵,刘挺.文本情感分析[J].软件学报,2010,21(8):1834-1848]
[0003] 已有的支持度计算研究工作大多立足于解决主观性文本的支持度分类问题,根据文本处理粒度的不同,支持度计算可以分为词语级、语句级和篇章级三个研究层次。词语级支持度计算是文本支持度计算的基础,包括基于语料库和基于词典两种方法,前者利用词语之间的连词及统计特征判别词语的支持度极性;而后者则利用词典提供的语义相似度或者层次结构来判别词语的支持度极性。语句级和篇章级支持度计算侧重于从整体上判断语句或篇章的支持度倾向。其主要包括基于支持度知识的方法以及基于特征分类的方法。前者主要是依靠一些已有的支持度词典或领域词典以及主观文本中带有支持度极性的组合评价单元进行计算,来获取主观文本的极性。后者将支持度分析归化为分类问题,抽取特征构建有效的分类器。[P.D.Turney and M.L.Littman,“Measuring praise and criticism:Inference of semantic orientation from association,”ACM Transactions on Information Systems(TOIS),vol.21,no.4,pp.315-346,2003]
[0004] 传统的支持度计算研究在主观性文本支持度分类上获得较好的效果。面向复杂交互式文本(如微博、社交网络和论坛上的评论)的支持度演化分析却力所不逮。社会网络中交互用户间支持与反对的行为,可以视为网络用户之间支持度的博弈。一方面用户可以发表积极评论提升自身的受欢迎度;另一方面用户也可以发表消极评论发泄心中的不满。由于用户间态度是相互影响的,表现为用户i收到用户j支持或反对的回复时,自身满意度会随之上下波动,该用户往往在追求自身满意度最大化的基础上,根据双方历史支持度交互行为做出最合理的决策,回馈用户j一条支持或消极的评论。[Y.Liu,X.Yu,A.An,and X.Huang,“Riding thetide of sentiment change:sentiment analysis with evolving online reviews.”World Wide Web,vol.16,no.4,pp.477-496,2013]发明内容
[0005] 针对传统支持度计算无法解决面向复杂交互式文本支持度演化预测问题,本发明的目的是提供一种基于博弈论的在线交互式评论支持度倾向的预测方法,该方法首先采用一种高效的支持度计算框架捕捉在线评论所蕴含的支持度倾向,仅需依靠极少量的标注词汇支持度,就可准确地计算出整条评论的支持度倾向,然后将支持度计算和博弈论相结合,定义了支持度交互双方的效用函数,结合三种占优策略选择规则以混合纳什均衡策略作为交互行为的预测结果。
[0006] 本发明是一种基于博弈论的在线交互式评论支持度倾向的预测方法,该方法首先采用支持度计算框架捕捉在线评论所蕴含的支持度倾向,然后将支持度计算和博弈论相结合,定义支持度交互双方的效用函数,结合三种占优策略选择规则以混合纳什均衡策略作为交互行为的预测结果,其特征在于以下步骤:
[0007] 1)在线交互式评论支持度计算框架
[0008] 给定在线评论的文本集合,利用分词工具ICTCLAS对所有评论文本分词,选择高频词形成特征词汇集,并确定合理的特征词个数,定义无二义性正/负范例集,对于任意未在正/负范例集中出现的词汇,通过互信息(mutual information)计算其支持度值,最后基于特征词汇支持度值得加权平均计算给定评论的支持度倾向。
[0009] 2)基于博弈的支持度倾向预测
[0010] 构建支持度交互博弈模型,根据用户双方历史支持度交互行为定义效用函数,基于混合纳什均衡理论,提出三种规则选择博弈双方的占优策略,最终以混合纳什均衡策略作为交互行为的预测结果。
[0011] 本发明步骤1)中,11)考虑到大部分词汇与支持度表达无关、且出现频率极低,选择包括形容词、副词、名词和动词词性的Top-n(n<<N)个高频词形成特征词汇集F(n)={f1,f2,…,fn};12)定义F(n)的累积分布函数cdf(n)以确定合理的参数n值,cdf(n)表示包含F(n)中至少一个词汇的评论占评论集的比率,选择cdf(n)>0.95时n的取值作为特征集合中特征词汇的个数。
[0012] 步骤2)中,21)如图1所示,定义用户i和j之间的博弈过程为一个二元组其中,Aij是用户i和j的策略集合:Ai+和Ai-分别表示用户i做出给j回复积极和消极评论的决策,Uij是两个用户效用函数的集合,用来衡量两个用户选择不同策略的满意度;22)考虑用户i的效用函数定义,UTik(Ai+,·)表示用户i基于话题T的第k次交互时发给用户j一条积极评论所得的主观满意度,此时,用户i的效用主要取决于用户j回复的所有评论支持度值:若用户j给予i支持的回复,那么用户i会很满意,获得极高的效用值;如果用户j反过来给予i反对的回复,那么i会很失望,获得极低的效用值;当用户i发给用户j一条反对支持度的评论时,此时i的效用主要取决于用户i发出的所有评论的支持度值:如果用户i对j抨击的很尖锐,用户会感到很满意;
相反,如果批评的很一般,那么用户i的效用值会比较低;23)选择占优策略三条规则,(规则1)如果用户i存在主导策略,则在未来交互过程中,用户i一定会采取该主导策略;(规则2)如果用户i不存在主导策略,而用户j存在主导策略,此时的用户i会选择面对j主导策略的最优响应;(规则3)如果用户i和j都不存在主导策略,计算博弈双方的混合纳什均衡策略。
[0013] 本发明与现有技术相比有如下积极效果:
[0014] 为了验证方法的有效性,以天涯论坛“国际观察”板块中用户的发帖/回帖为实验数据,分两个阶段进行验证:首先分析支持度计算框架的有效性,然后进一步验证支持度演化预测算法的准确性。
[0015] 利用ICTCLAS对5174799条评论样本分词,得到N=1524906个不同词汇。为了降低评论支持度计算的复杂性,我们拟选择Top-n(n<<N)个高频词形成特征词汇集F(n)。为了确定合理的参数n值,图3给出了cdf(n)随参数n的变化曲线,观察可知,随着参数n的逐渐增大,cdf(n)快速向100%收敛,这说明少量的高频特征词汇可以较完整的描述数据集中的评论样本。实验将n设为533,此时,cdf(533)=0.95,表示数据集中有约95%的评论样本可以由这533个特征表示,剩余5%的评论样本被视为离群点,不纳入实验测试范围。
[0016] 根据互信息(mutual information)理论,学习获得533个特征词汇的支持度值。图4展示规格化之后的特征词汇支持度值分布,可以看出,大部分词汇呈现出清晰的支持度极性,只有少部分词汇表现为中性(0.5左右),最终获得270个积极词汇和263个消极词汇。
[0017] 获得特征词汇支持度值后,根据式(5)可以计算所有评论的支持度值,由于评论数量巨大,难以逐一手工标注其真实支持度值,即评论分类的真实标签未知。为了验证评论支持度分类的准确性,采用一种间接的评价方法:首先,对评论按照其支持度值降序排列,选取序列中前x%和后x%评论分别标记为正/负样本构建测试集;然后利用不同分类算法在测试集上进行10折交叉验证,计算出分类评估指标。如果不同分类算法都在测试集评论上表现出优良的性能,则间接验证了本文提出的评论支持度计算方法的有效性,即能够准确地标注评论支持度。
[0018] 表1 样本分类结果
[0019]
[0020] 表1给出了x分别为5、10和15时由3种分类算法,支持向量机(SVM)、决策树(J48)、朴素贝叶斯( Bayes)的10折交叉验证结果。其中,P表示准确率,R表示召回率,F1表示F-measure指标。实验中,评论样本的初始标签是根据支持度值给定的。当x=5时,分类器对样本的分类结果接近完美,各个指标达到了100%;当x=15时,正/负样本的特征表示趋近,分类准确率有所下降。上述实验间接验证了支持度计算的有效性。
[0021] 随机地选择讨论深度d>10的1000个用户对建立相应的测试集验证支持度演化预测算法的准确性。基于用户i和j,在主题T下交互的测试集构建如下:首先计算他们第k(2≤k≤d)次交互的效用值(UTik(Ai±,·)和UTjk(·,Aj±));然后根据实际支持度值(ETijk和ETjik)将双方在第k次交互的评论标记为正/负样本构建测试集。实验中,共标记生成了59622个测试样本,平均每个测试集包含59.6个样本。最后,利用支持度演化预测算法在每个测试集上进行验证,计算出分类评估F1指标。图5给出了算法在每个测试集上预测结果(实验中,惩罚因子ξ设置为0.1)。其中x坐标和y坐标分别表示用户i和j的标识符,每个数据点表示算法在相应测试集上的分类预测结果。算法在测试集上的平均F1指标达到80.4%,说明其预测用户支持度演化的总体表现良好。
[0022] 进一步研究预测算法对数据集中一个特定讨论实例的预测性能(实验中,惩罚因子ξ同样设置为0.1)。我们选择ID为“ls2075”和“每日夜露死哭”的两个用户在话题“也谈琉球非日本领土”下的74条评论。根据双方历史交互行为,预测他们距离当前最近的72次交互的支持度态度。实验结果如图6所示。算法在该讨论实例上预测的准确率P=
84.7%、召回率R=69.2%、F1值为76.2%。从图6还可以观察到,在双方交互过程的前期,算法的预测精度不高,这是由预测算法可参考的历史评论支持度信息不足造成的;随着双方历史交互信息的不断累积,效用函数的计算更加合理,算法的预测精度会有所提高。

具体实施方式

[0030] 一种基于博弈论的在线交互式评论支持度倾向的预测方法,首先采用支持度计算框架捕捉在线评论所蕴含的支持度倾向,然后将支持度计算和博弈论相结合,定义支持度交互双方的效用函数,结合三种占优策略选择规则以混合纳什均衡策略作为交互行为的预测结果,具体包含以下两个阶段:
[0031] 1、在线交互式评论支持度计算框架
[0032] 给定包含m条评论的文本集合C={c1,c2,…,cm},利用分词工具ICTCLAS对C中所有评论文本分词,得到规模极大的词汇集合(设为N)。考虑到大部分词汇与支持度表达无关、且出现频率极低,因此,根据ICTCLAS所标注的词性,选择包括形容词、副词、名词和动词等词性的Top-n(n<<N)个高频词形成特征词汇集F(n)={f1,f2,…,fn}。定义F(n)的累积分布函数cdf(n),其表示包含F(n)中至少一个词汇的评论占评论集的比率:
[0033]
[0034] 选择cdf(n)>0.95时n的取值作为特征集合中特征词汇的个数。为了计算F(n)中所有特征词汇的支持度,首先按照特征词汇出现频率由高到低的次序,人工将高频词汇标注为支持和否定两种极性,前者表示积极肯定的支持度,后者则表示消极否定的支持度。最终获得由无二义性的nP个正面词汇和nN个负面词汇组成正/负范例集,分别记为FP和FN。对于任意未在FP和FN中出现的词汇f1,支持度极性S(f1)计算公式为:
[0035]
[0036] MI(fl,fi)表示两个词汇之间的互信息(mutual information),是信息论中常用的关联程度衡量指标:
[0037]
[0038] 为了避免σ({fi,fj})的取值为0,采用拉普拉斯校准,即在σ(fi,fj)取值基础上加0.01。为了消除不同词汇支持度值数量级的差异,采用最大值-最小值对S(f1)进行如下规格化:
[0039]
[0040] 其中,Smin和Smax分别为S(f1)的最小值和最大值。规格化之后,当f1表示支持时(即S(f1)>0),S’(f1)∈[0.5,1];反之,S’(fl)∈[0,0.5)。令cTijk为用户i对j在主题T下的第k次评论文本,k=1表示时间最早的一次评论,cTijk的支持度值ETijk定义为:
[0041]
[0042] 其中,|cTijk|表示评论cTijk中包含的特征词的个数。ETijk的取值范围是[0,1],取值越大表示评论表达的态度越积极;反之,则越消极。
[0043] 2、基于博弈的支持度倾向预测;
[0044] 用户i和j之间的博弈过程可以建模为一个二元组:
[0045]
[0046] 其中,Aij是用户i和j的策略集合:Ai+和Ai-分别表示用户i做出给j回复积极和消极评论的决策,Uij是两个用户效用函数的集合,用来衡量两个用户选择不同策略的满意度。用户i和j相互之间所持有的两种支持度极性(支持或反对)将形成4种策略组合,如图1所示,博弈模型试图寻求双方满意度最大化的策略组合,图1中,Aij是用户i和j的策略集合:Ai+和Ai-分别表示用户i做出给j回复积极和消极评论的决策,Uij是两个用户效用函数的集合,用来衡量两个用户选择不同策略的满意度。
[0047] 不失一般性,从用户i角度出发,针对用户j可能采取的所有策略,用户i希望选择一条占优策略以获得最大满意度。考虑用户i的效用函数定义。当用户i基于话题T的第k次交互时发给用户j一条积极评论所得的主观满意度,此时,用户i的效用主要取决于用户j回复的所有评论支持度值:若用户j给予i支持的回复,那么用户i会很满意,获得极高的效用值;如果用户j反过来给予i反对的回复,那么i会很失望,获得极低的效用值。由此,UTik(Ai+,·)的定义如下:
[0048]
[0049]
[0050] 式(7)和(8)中,我们用惩罚因子ξ表征用户i给予j支持支持度的评论后,收到用户j的支持和反对回复时的满意度变化。其中,wl是第l(1≤l≤k-1)条评论支持度值的权重,wl随着1的等比递增。在本文中,设wl=2-(k-1)/∑12-(k-1)。这表明距离当前越近的历史评论支持度对用户效用的影响越大。
[0051] 当用户i发给用户j一条反对支持度的评论时,此时i的效用主要取决于用户i发出的所有评论的支持度值:如果用户i对j抨击的很尖锐,他/她会感到很满意;相反,如果批评的很一般,那么用户i的效用值会比较低。这样,用户i基于话题T的第k次交互时发给用户j一条消极评论所得的效用值,UTik(Ai-,·),定义如下:
[0052]
[0053]
[0054] 对用户j的相关定义类似,在此不再累述当用户i和j在交互过程中,双方对彼此的效用函数值是充分了解的。
[0055] 用户i获得的主观满意度不仅仅取决于自己选择的策略,还受用户j选择的影响,用户i选择占优策略的三条规则如下:
[0056] 规则1.如果用户i存在主导策略,即:
[0057]
[0058] 则在未来交互过程中,用户i一定会采取该主导策略Ai*。
[0059] 令pTijk为基于话题T的第k次互动时用户i采取策略Ai+的概率为pi,1-pTijk为此时用户i采取策略Ai-的概率。用户i满足规则1时pTijk的可定义如式(11)所示,pTijk=1表示用户i的主导策略为Ai+,反之,pTijk=0说明用户i的主导策略为Ai—。
[0060]
[0061] 规则2.如果用户i不存在主导策略,而用户j存在主导策略,即:
[0062]
[0063] 此时的用户i会选择面对j主导策略Aj*的最优响应,即:
[0064]
[0065] 从概率角度看,与规则1相同,pTijk仍取1或0,由最优响应Ai*决定,pTijk计算公式如式(11)所示。
[0066] 规则3.如果用户i和j都不存在主导策略,即:
[0067]
[0068] 根据效用函数定义,此时用户j采取Aj+和Aj—的期望回报分别为:
[0069]
[0070]
[0071] 基于混合纳什均衡(Mixed Nash Equilibrium)理论,当用户j积极评论的期望回报同消极评论的期望回报一致时,即式(15)和(16)相等时,求解得到的pi是用户i的占优策略:
[0072]
[0073] 规则1、2和3给出了约束条件由强到弱的3种情况,综合以上3种情况,得到计算任意用户的策略选择概率如图2所示。
[0074]
[0075] 具体流程图如图2所示,在实施过程中首先需要对在线评论文本进行分词处理;其次根据分词处理后所标注的词性,选择一定数量的具有代表性的高频词汇构建特征词汇集;再次使用互信息(mutual information)理论学习单个特征词汇的支持度极性;然后基于在线评论对特征词汇的使用情况,计算单条在线评论的支持度极性;接下来基于交互双方历史评论支持度值计算其效用函数集合;最后根据三种情景选择相应规则计算用户采取占优策略的选择概率。具体实施方式如下所示:
[0076] 步骤1:在线评论自动分词。输入数据由在线评论文本集合组成,采用ICTCLAS对文本集合进行自动分词,并标注每个分词的词性。
[0077] 步骤2:特征词汇选择。选择包括形容词、副词、名词和动词等词性的Top-n(n<<N)个高频词形成特征词汇集F(n)={f1,f2,…,fn};并根据F(n)的累积分布函数cdf(n)确定合理的特征词个数n。
[0078] 步骤3:特征词汇支持度极性计算。人工标注无二义性的nP个正面词汇和nN个负面词汇组成正/负范例集,分别记为FP和FN;对于任意未在FP和FN中出现的词汇f1,根据互信息(mutual information)理论计算其支持度极性S(f1),并采用最大值-最小值对S(f1)进行规格化。
[0079] 步骤4:在线评论支持度极性计算。通过公式(5)计算用户i对j在主题T下的第k次评论文本的支持度值ETijk。
[0080] 步骤5:博弈双方效用函数计算。根据公式(7)-(10)计算用户i和j基于话题T交互的效用函数集合UTik(Ai±,·);UTjk(·,Aj±)。
[0081] 步骤6:计算用户采取占优策略的选择概率。根据用户所处的情景,选择相应的规则计算其占优策略的选择概率。即1)如果用户存在主导策略,则采取该主导策略;2)如果用户不存在主导策略,而其交互对方存在主导策略,则采取其面对对方主导策略的最优响应;3)如果交互双方都不存在主导策略,则采取其满足纳什均衡的混合策略。

当前第1页 第1页 第2页 第3页