APP下载

融合用户相似性的Hegselmann-Krause模型研究

2021-11-22曹春萍康远路

小型微型计算机系统 2021年11期
关键词:相似性正确率观点

曹春萍,康远路

(上海理工大学 光电信息与计算机工程学院,上海 200093)

1 引 言

在互联网中时时刻刻都有海量的信息交互,尤其是微博的普及,为广大民众提供了前所未有的表达机会和表达平台[1].微博作为社交网络,具有实时性、开放性、互动性和便捷性等特点,使得微博信息近乎以“裂变”的方式传播,进而可能演变为网络舆情,这将给社会的稳定带来不确定性.微博信息的传播就是微博用户观点信息的演化,因此对微博网络信息传播的研究,构建合适的观点传播模型,有着重要的研究价值和现实意义.

2 相关工作

利用观点动力学对观点演化进行模拟,能够较好的反映微博网络中信息的传播[2].观点动力学认为用户观点的变化不仅受自身影响,还受自身所处环境的影响.目前运用于网络信息传播的观点动力学模型主要有两种[3]:离散型观点模型(Discrete Opinion Model,DOM)和连续型观点模型(Continuous Opinion Model,COM).离散型观点模型主要有Ising模型[4]、Sznajd模型[5]和Voter模型[6].离散型观点模型基于“个体观点离散”这一假设,分别使用-1、0和1来表示反对观点、中立观点和支持观点,但是在微博网络中用户的观点是复杂的,因此离散型模型存在难以精确表达用户观点的问题.连续型观点模型主要以Deffuant模型[7]和HK(Hegselmann-Krause)模型[8]为代表,Deffuant模型认为:在每个时刻随机选取两个个体进行观点交互,若这两个个体之间的观点值之差在置信值之内,则两个个体按照指定规则进行观点交互;否则不进行交互.这显然与微博网络中用户观点交互不相符.HK模型中,每个时刻个体观点与网络中的邻居群体观点进行交互,从而促进整个群体的观点演化.微博网络中用户获取的观点信息往往来源于自身已关注的用户,但又不全来源于已关注的用户.若假设在微博网络中已关注的用户之间关系是邻居关系,则可以使用HK模型模拟微博网络信息的传播.

2.1 HK模型

HK模型是一种研究群体观点演化的模型,在2002年由Hegselmann以及Krause提出,在信息传播学领域取得了较大的成就.HK模型是基于微博网络结构并且根据传播规则而得到信息的传播过程.微博网络结构是一个弱关系社交网络[9],由于弱关系的单向性,因此可以使用有向图G=(V,E)表示微博网络结构[10].V为图G的节点集合,表示微博网络中的用户;E为图G的连边集合,表示微博网络中的用户之间的关注关系,在HK模型中存在连边的节点之间认为是邻居节点.假设微博网络中有N个节点,每个节点表示可以传播观点信息的用户.HK模型认为网络中的节点vi∈V(i=1,2,…,N)选择与观点值之差在置信值d内的邻居节点vj∈V(j=1,2,…,N)进行观点交互,并将所有邻居节点的观点值的平均值作为节点vi的新观点值[11,12],因此节点vi在每个时间t观点值的更新规则为:

(1)

(2)

HK模型主要算法如下:

算法1.HK模型

输入:微博数据集合

输出:用户观点值的变化

a[][]=genGraph(users)//利用用户信息生成图的邻接矩阵

x0[]=initOpinion(data)//初始化用户观点

for t=1…T do

for i=1…N do

wi=calculateWeight(i)//计算其他用户对i的影响权重

for j=1…N do

delta=isConfidence()//计算观点值是否在置信值内

end for

end for

end for

2.2 相关研究

研究人员先后改进HK模型,并提出了其他观点演化模型.Fu[13]等人将个体的异质性考虑到HK模型中,提出一个不同开放度的HK观点演化模型.Chen[14]等人以有界置信模型为基础,从声誉、固执、吸引力和极端性4个方面分析了意见领袖对社会群体追随者的吸引作用.Zhao[15]等人基于有界置信规则,提出了一个“领导者-追随者”意见动力学模型,用以考虑由意见领袖和舆论追随者组成的社区的意见形成.何[16]等人将个体间亲密度、人际相似性等新概念引入交互集合的计算,从而扩展交互集合.上述模型基于HK模型做出了一定的改进,促进了群体观点演化的研究.但鲜有学者将HK模型微博用户属性进行微博网络信息传播的研究.

在HK模型中,节点更新观点值时只受邻居节点的影响,若将HK模型直接运用至微博网络中,这显然是不符合微博网络信息传播规律的,因为微博平台中推荐系统的存在,使得微博网络中节点的观点值不仅会受到邻居节点观点值的影响,还会受到非邻居节点观点值的影响.基于此,本文将经典的HK模型和微博平台的推荐特性相结合,提出了一种基于用户推荐的HK传播模型(user-recommendation-based HK,URHK).该模型利用用户之间的相似性为用户推荐非邻居节点,使得用户观点值更新时不仅受到邻居用户的影响,同时也受部分非邻居节点的影响,从而让URHK模型更加符合微博网络信息传播的规律.

本文的结构安排如下,第2节介绍了HK传播模型的原理,介绍了其他研究人员基于HK所提出的模型具有的优势和存在的不足,并结合微博的推荐特性提出URHK传播模型;第3节详细介绍了提出的URHK传播模型;第4节进行实验,对研究结果分析;第5节是对本文工作的总结与展望.

3 URHK模型

为研究更加符合微博网络信息传播的规律,本文基于微博网络结构,建立URHK传播模型,该模型主要过程如下:

1)依据微博用户的信息计算各个用户之间的相似性;

2)依据计算所得的用户相似性以及用户之间的关注关系构建网络结构;

3)依据网络结构以及传播规则对用户的观点值进行更新.

3.1 用户相似性

“物以类聚,人以群分”是指同类用户之间的吸引力更强,用户之间相互吸引的重要原则之一就是用户相似性原则,用户往往倾向于与自己有相似兴趣爱好或社会地位的人交流,并更加信任他们.徐[17]等人根据微博用户的3个基本属性信息(包括用户个人背景信息、用户发布的微博文本信息以及用户的社交信息)来计算不同用户之间的用户相似性.受徐等人的启发,本文将根据用户的个人背景信息和用户的社交信息来计算微博用户之间的相似性.假设用户vi的属性集合可表示为Attribute(vi)={Background(vi),Relation(vi)},其中:Background(vi)表示用户vi的个人背景信息集合,共包含3个用户属性信息,即所处位置信息、个人标签信息以及用户个人简介信息.易知这些文本信息一般都是短文本,并且都可以将这些信息表示为字符串,因此个人背景信息集合为Background(vi)={Place(vi),Tag(vi),Introduction(vi)}.Relation(vi)表示用户vi的社交信息集合,共包括两种属性信息:用户的关注信息和粉丝信息.本文分别用两个向量来表示它们:用户vi关注向量Followee(vi)和用户vi粉丝向量Follower(vi).具体表示规则为:如果用户vi关注了用户vj,则用户vi的关注向量Followee(vi)的对应第j个分量值为1,否则为0;同样的,如果用户vj同时也关注了用户vi,则用户vi的粉丝向量Follower(vi)的对应第j个分量为1,否则为0.因此用户vi的社交信息集合由上述两个向量可以表示为:Relation(vi)={Followee(vi),Followee(vi)}.

本文依据用户vi和用户vj之间的个人背景信息以及社交信息来计算彼此之间的相似性sim(vi,vj).具体计算步骤为:先分别计算用户vi和用户vj之间个人背景信息相似性,然后计算社交信息相似性,最后再对个人背景信息相似性和社交信息相似性进行加权融合,也即:

sim(vi,vj)=α1sim(Background(vi),Background(vj))+α2sim(Relation(vi),Relation(vj))

(3)

其中α1和α2分别为个人背景信息相似性和社交信息相似性所占的权重,且α1+α2=1.接下来将分别介绍个人背景信息相似性和社交信息相似性的计算方法.

3.1.1 个人背景信息相似性计算

本文在计算用户之间的个人背景信息相似性时,需使用用户的3种属性信息(所处位置信息、个人标签信息和个人简介信息).因此用户之间的个人背景信息相似性由上述3种信息相似性的加权融合决定,即:

sim(Background(vi),Background(vj))=α1sim(Place(vi),sim(Place(vj))+α2sim(Tag(vi),Tag(vj))+α3sim(Introduction(vi),Introduction(vj))

(4)

其中sim(Place(vi),sim(Place(vj))表示用户vi和vj所处位置信息的相似性,sim(Tag(vi),Tag(vj))表示用户vi和vj个人标签信息的相似性,sim(Introduction(vi),Introduction(vj))表示用户vi和vj个人简介信息的相似性,α1、α2和α3分别是所处位置信息、个人标签信息和个人简介信息的相似性所占权重,且α1+α2+α3=1.式(4)右边的3种属性信息相似性计算方式如下:

1)位置信息相似性sim(Place(vi),Place(vj)):由于微博平台中用户的所处位置信息只包含省和市的信息,故当vi和vj处于同一个省且同一个市时,sim(Place(vi),Place(vj))=1;当vi和vj处于同一个省但不同一个市时,sim(Place(vi),Place(vj))=2/3;当vi和vj处于不同省且不同市时,sim(Place(vi),Place(vj))=0.

2)对于个人标签信息和个人简介信息,由于它们都是短文本,因此可以通过编辑距离方法[18]来计算信息之间的相似性.编辑距离方法常用来表示计算两个字符串之间所具有的差异性,同时也可以反映出两个字符串之间的相似性.编辑距离方法得到的结果为[0,1],计算结果为1时表示两个字符串之间存在较大的差异性,即几乎没有相似性,同理,计算结果为0时表示两个字符串之间相似性高,几乎没有差异性.本文用Dis(Tag(vi),Tag(vj))表示个人标签信息的编辑距离,用Dis(Introduction(vi),Introduction(vj))表示个人简介信息的编辑距离.则由文献[18]可知,用户vi和vj之间的个人标签信息相似性可以表示为:

sim(Tag(vi),Tag(vj))=1-Dis(Tag(vi),Tag(vj))/max(Len(Tag(vi)),Len(Tag(vj)))

(5)

其中Len(str)表示字符串str的长度.同理,用户vi和vj之间的个人简介信息相似性可以表示为:

sim(Introduction(vi),Introduction(vj))=1-Dis(Introduction(vi),Introduction(vj))/max(Len(Introduction(vi)),Len(Introduction(vj)))

(6)

3.1.2 社交信息相似性计算

本文中用户社交信息主要体现在用户的个人粉丝信息以及关注信息,因此用户vi的社交信息集合可以表示为:Relation(vi)={Followee(vi),Follower(vi)}.社交信息相似性与个人背景信息相似性计算较为类似,首先分别计算用户之间的关注信息和粉丝信息的相似性,然后再对两个属性的相似性进行加权融合,即:

sim(Relation(vi),Relation(vj))=α1*sim(Followee(vi),Followee(vj))+α2*sim(Follower(vi),Follower(vj))

(7)

其中α1、α2分别表示用户关注信息相似性和粉丝信息相似性在社交相似性计算时所占的权重,且α1+α2=1.本文利用文献[19]中提出的余弦相似度算法来分别计算关注信息相似性和粉丝信息相似性,因此用户vi和用户vj的关注信息相似性和粉丝信息相似性的计算方法分别为:

sim(Followee(vi),Followee(vj))=(Followee(vi)·Followee(vj))/(‖Followee(vi)‖*‖Followee(vj)‖)

(8)

sim(Follower(vi),Follower(vj))=(Follower(vi)·Follower(vj))/(‖Follower(vi)‖*‖Follower(vj)‖)

(9)

经由以上步骤之后,微博用户之间的相似性便可以通过式(3)-式(9)计算得到.

3.2 网络结构

在经典HK模型中,网络结构是利用用户之间的关注关系构建,但由于微博平台中推荐系统的存在,显然这样构建网络结构是不合理的.因此本文在构建网络结构时,不仅依据用户之间的关注关系,还依据用户之间的相似性.假设vi和v2用户之间的相似性不小于某一阈值θ时,则可以认为vi和v2也是邻居关系,不过本文将通过相似性计算得到的邻居关系称为“云邻居”.则意味着每个节点就会有两类邻居,一类是在有向图G中存在连边关系的邻居,另一类是用户相似性计算得到的“云邻居”.设节点vi的邻居节点集合为Neighborvi,则:

Neighborvi={vj|(aij>0)or(aij=0,sim(vi,vj)≥θ),i≠j}

(10)

式(10)中aij表示节点vi是否关注了节点vj,aij=0表示vi未关注vj,aij=1时表示vi关注了vj;θ表示用户相似性阈值.

这样使得节点在进行观点值更新时,不仅可以与邻居节点进行交流,同时也可以和部分非邻居节点进行交流.

3.3 传播规则

在HK模型中节点vi观点值受每个邻居节点影响的权重wij是相等的.但是在与其他用户进行交流时,用户往往倾向于相信“权威值”更高的用户观点[20].因此本文认为用户的粉丝数量越多,则该用户的“权威值”就越高,即对其他用户观点值的影响越大;粉丝量越少,其“权威值”就越低,即对其他用户观点值的影响越小.因而本文重新计算每个邻居节点对节点vi的影响权重wij,计算方式如式(11)所示:

(11)

因此URHK模型节点观点值更新规则为:

(12)

其中Neighborvi表示用户vi的邻居用户集合,包含“云邻居”和存在关注关系的邻居.

URHK模型主要算法如下:

算法2.URHK模型

输入:微博数据集合

输出:用户观点值的变化

sim[][]=calculateSimilarity(users)//计算用户之间相似性

a[][]=genGraph(users,sim)//生成图的邻接矩阵

x0[]=initOpinion(data)//初始化用户观点

for t=1…T do

for i=1…N do

for j=1…N do

wij=calculateWeight(i,j)//依据式(11)计算影响权重

delta=isConfidence()//计算观点值是否在置信值内

end for

end for

end for

4 实验及结果分析

根据上述URHK传播模型,使用Python3运行环境,基于微博网络对URHK传播模型进行了仿真实验.首先探讨模型中参数对模型准确率的影响.其次验证权重设置以及用户相似性对模型的影响.最后将HK模型和通过加入权重以及加入用户相似性进行比较,验证URHK模型的有较高的准确率.

4.1 实验数据

本文实验所使用的数据集是微博中关于“昆山反杀案”这一话题的用户数据,来源于中国新闻史学会计算传播学研究委员会与新浪微热点大数据研究院联合举办的传播数据挖掘竞赛.首先对该数据集进行预处理,即将数据集中博文发布时间或转发时间为空的记录清除,且由于需要提供用户的位置信息来计算用户相似性,因此用户位置信息为空的数据记录也要清除.经过数据预处理后还有73852名用户,共108821条博文记录.由于该数据集中并未提供用户之间的关注关系以及用户的粉丝数量,因此还利用了微博平台的API来获取这些用户之间的关注关系以及每个用户的粉丝数量.

4.2 实验过程与评价标准

4.2.1 实验过程

实验第1步是将用户发布的博文数据根据文本相似度算法将用户发布的博文内容转化为用户的观点值x∈[0,1],其中观点值为0表示发布的内容与当前话题无关,即对该事件完全不关注;同理,观点值为1表示十分关注该话题.本文采用经典的TF-IDF算法来计算观点值.第2步利用用户的属性信息并根据式(3)-式(9)计算用户之间的相似性,结合文献[17]计算用户相似性的权重设置如表1所示.第3步依据用户之间的关注关系以及用户相似性构建有向图G.第4步结合用户的观点值和URHK模型进行观点传播模拟演化.

表1 计算用户相似性权重设置表

4.2.2 评价标准

本实验采用观点值的正确率来对模型的性能进行评估,假设整个传播过程的所需的总时间为T,总节点数为N,则正确率P的计算公式为:

(13)

4.3 实验结果分析

实验过程中,总共有两个实验参数:置信值d和相似性阈值θ,因此本实验采取控制变量法,实验中先确定其中一个参数,再调试另外一个参数.图1所示的是在部分置信值和相似性阈值条件下URHK模型用户观点值的演化结果.

由图1可知,当置信值较小时(d=0.1),用户的观点值较难达到一致,容易产生分歧,且这种分歧并不会随着时间的变化而消失,但是随着用户相似性阈值的逐渐增大,用户之间观点值的分歧会有所降低(例如d=0.1,θ=0.88).置信值为0.2时,在相似性阈值较小情况下,前半部分时间用户观点值之间还是存在一定分歧的,但随着时间的变化这些分歧最终达到一致,同样,随着用户相似性阈值的增大,用户观点值达到一致的时间越快.可以发现,在置信值较大情况下(d=0.3),用户之间的观点值能够较快的达成一致,但在相似性阈值较小时,最终形成了两类观点值.由以上分析可知在用户观点值演化过程中,置信值d和相似性阈值θ的取值都会对演化结果产生较大影响,进而表明本文所提出的相似性阈值是有效的.为了寻找最优的置信值d和相似性阈值θ,本文计算了URHK模型在不同参数下的正确率P.同时,为了减小实验误差,本文将实验过程重复50次,并将50次计算得到的正确率求和取平均,得到置信值d、相似性阈值θ和正确率P的关系图,如图2所示.

图1 不同置信值和相似性阈值条件下URHK模型观点值演化结果图

图2中横轴表示相似性阈值,纵轴表示置信值,每个单元格内的颜色表示正确率,颜色越深代表正确率越高.从图2中可知,当置信值d为0.2,相似性阈值θ为0.84时,URHK模型观点演化达到最高的正确率80.4%,即在该参数下URHK模型性能是最佳的.研究发现当置信值比较小时(d=0.1或0.15),由于节点与邻居节点的观点值之差需在置信值区间内才会进行观点的交流,因此会减少用户与用户之间的交流性,从而导致正确率P有所降低.同样的,当置信值较大(例如d=0.3)时,原本观点值差距较大的用户是大概率不进行交流(现实生活中的人们也是如此,当二者之间对某一事件的观点认识差距较大时,会减少交流,甚至不交流),由于置信值较大,会大大增加原本不交流用户之间的交流性,从而影响当前用户的观点值,导致正确率降低.对于相似性阈值θ,当θ取值较大时(θ>0.87),模型会为用户推荐较少的“云邻居”,导致节点减少与“云邻居”的交流,进而导致模型的准确率有所降低,同理当θ较小时(θ<0.81),系统推荐较多的“云邻居”,从而使得相似性比较低的用户之间也会发生观点交流,导致正确率降低.

图2 置信值d、相似性阈值θ和正确率P的关系图

本文还将经典HK模型、改进权重计算的HK模型和URHK模型进行观点值演化实验对比,改进权重计算HK模型是利用式(12)替换经典HK的权重计算.同样重复50次实验,实验结果如图3所示.从图中可知,经典HK模型的正确率为51.6%,改进权重计算的正确率为62.5%,而加入用户相似性的URHK模型达到80.4%.可以发现利用用户相似性而加入的推荐算法,较大程度上的提升了正确率.因此URHK模型能够较好的符合微博网络信息传播规律.

图3 正确率图

5 结束语

本文利用传播数据挖掘竞赛所提供的数据集,结合经典HK模型中存在的不足和微博平台的推荐特性,提出了更加符合微博网络信息传播规律的URHK模型.利用微博用户之间的相似性为用户推荐“云邻居”,让用户不仅可以和自己的邻居进行观点交互,同时也能和非邻居用户进行观点交互.并且由于每个邻居用户的影响力可能不同,因此在计算邻居用户的影响权重时也与经典HK模型不同,做到“权威值”越高,影响权重越大.实验结果表明:基于用户推荐的URHK模型准确率达到80.4%,能够较好的符合微博网络信息传播规律,稳定性和适用性比经典HK模型更强,为微博网络信息传播的研究提供了一种解决方法.微博网络信息传播的研究仍有许多待解决的问题,本文的局限在于:微博平台的推荐系统是极为复杂的,而本文仅利用用户相似性来为用户推荐“云邻居”,这是有一定局限性的,下一步准备更加深入的研究微博推荐系统,进一步提高模型的准确率.

猜你喜欢

相似性正确率观点
个性化护理干预对提高住院患者留取痰标本正确率的影响
隐喻相似性问题的探讨
课程设置对大学生近视认知的影响
更多观点,请扫码阅读。
更多观点,请扫码阅读
更多观点,请扫码阅读。
12个毫无违和感的奇妙动物组合
基于隐喻相似性研究[血]的惯用句
生意
生意