异构社交网络用户兴趣挖掘方法

2019-04-22 08:02屠守中卫玲蔚朱小燕
西安电子科技大学学报 2019年2期
关键词:普通用户向量社交

屠守中,闫 洲,卫玲蔚,朱小燕

(1.清华大学 计算机科学与技术系,北京 100084;2.中国科学院信息工程研究所,北京 100093)

随着移动互联网的飞速发展,社交网络(Social Network Service, SNS)渐渐地渗透到人们的日常生活中。近几年,社交网络的发展出现了新的趋势:①用户节点两极分化;②社交平台内容化,内容平台社交化。文献[1]指出,社交网络具有Scale-free的特性,极少量的用户拥有较多的关系连接,而大量的用户具有少量的关系。以微博为例,由于明星、媒体机构等拥有巨大影响力的超级节点出现,用户的分化愈发明显,网络社区也逐渐向超级节点汇聚。超级节点经常发布高质量的信息内容,制造热点话题,是社交网络中的重要信息制造者和传播者;而广大普通用户则更多的是关注、参与这些话题讨论,自己主动发布的信息很少。因此,社交模式已由用户之间的交互逐渐转变为信息内容的传播和接收。

然而,现有的社交网络研究方法建立在节点地位平等、关系相似的基础上,在面对高度分化的用户,如果直接进行分析计算,则可能最终的结果就不够精确,甚至与实际网络关系形态大相径庭。笔者重点针对社交网络节点分化的特性,提出了一种基于社交关系在大规模异构网络中挖掘用户兴趣的方法。一方面,充分利用机构媒体、明星等超级节点发布的高质量信息内容提取话题;另一方面,利用社交关系研究话题的传播,从而推断普通用户的兴趣,解决普通用户不活跃、信息少的问题。该文章主要贡献点如下:

(1)针对异构社交网络中节点和关系分化的特性,提出一种基于社交关系的兴趣挖掘通用算法框架。

(2)用无监督的矩阵分解算法分析超级节点的内容得到兴趣话题,大量减少了人工标注和训练工作。

(3)引入标签传播算法计算兴趣话题在普通用户之间的传播,在异构网络中快速构建大规模用户群体的兴趣图谱。

1 相关研究

由于社交网络的迅猛发展,人们越来越习惯于从社交平台上获得其感兴趣的话题或消息,这也就使得用户个性化推荐成为重要的一项网络服务。因此,挖掘用户的潜在兴趣话题并推荐相关信息具有重大的研究价值。一些学者通过分析用户内容的话题分布,从而推断用户兴趣,如文献[2]研究了结合用户浏览的行为和信息内容挖掘兴趣的方法。文献[3]也提出了用户交互行为和标签信息相结合的方法对新浪微博用户的兴趣进行挖掘。语义理解是常用的用户兴趣挖掘方法,如结合词频和逆文档频率指数和TextRank的关键词抽取方法[4]以及分析和识别文本外链信息的方法[5]。文献[6]提出了一种摘要树模型(the UIP tree model),通过用户信息和行为挖掘潜在兴趣。文献[7]先用Wikipedia把Twitter上的名人用户划分为不同类别,再把关注这些名人的用户归类到对应的兴趣上。

除此之外,还有部分学者基于内容或好友相似度进行建模,推荐用户感兴趣的信息或好友。文献[8]通过对用户的显式兴趣和隐式兴趣进行建模,设计实现了个性化推荐系统。文献[9]提出了用社交话题模型发现并推荐用户感兴趣的地理信息。文献[10-11]研究了如何利用个人信息、关键词和社交关系计算不同用户的兴趣相似度。文献[12]综合考虑了用户的长期兴趣和短期行为,应用马尔科夫链解决稀疏数据集问题,实现顺序的个性化推荐。文献[13]提出了TWITOBI系统,通过概率模型向用户推荐Top-k用户和Top-K Tweets。而文献[14]则基于文档主题生成模型分析微博的主题分布和用户的兴趣取向,在流数据用滑动窗口模型来实时搜寻和推荐热门微博。

以上的研究方法重点都在于通过分析用户相关信息来提取兴趣,优点是直接、相对简单,但是往往受限于消息文本字数少、用语不规范等特性,没有充分考虑社交因素。此外,当前社交网络中存在大量不够活跃、很少主动发布信息的用户,如何挖掘这些用户的兴趣也是一大挑战。

2 算法总体框架

2.1 用户潜在兴趣挖掘模型

根据社交网络的特点,把社交网络的节点分为明星和机构账号等内容发布节点以及普通用户节点,节点间的关系则包括了单向的内容传播和双向的信息交互等。据此,提出了以下两条假设:

(1)用户关注的明星和机构等节点所发布的内容反映了该用户的兴趣倾向。

(2)用户和邻接的好友节点具有相似的兴趣。

在文中把用户兴趣分为显式兴趣和潜在兴趣两类。其中,显式兴趣能够从用户自身的信息(文字、标签等)直接得到,而基于以上两条假设从社交关系间接推断得到的则是潜在兴趣。具体来说,对于一个社交网络G=⟨V,E⟩,V由m个内容发布节点(集合Ua)和n个普通用户节点(集合Uf)组成,V=Ua∪Uf,其中,Ua∩Uf=Ø,|Ua|=m,|Uf|=n。设用户兴趣集合T共有k个分类,(t1,…,tk)表示兴趣向量,每个分量代表对应兴趣类别的概率。用户i的潜在兴趣和显式兴趣向量分别用fi和ei表示,其社交关系则分为内容发布节点集合Na⊂Ua和普通好友集合Nf⊂Uf,xj表示内容发布节点j所发的文本信息,q是从xj中提取的兴趣向量。则该用户的潜在兴趣概率为

(1)

式(1)之第一式将影响用户的潜在兴趣的因素总结为3项,前两项分别为该用户普通好友的潜在兴趣和显式兴趣,第3项表示用户关注的内容发布节点的话题,3项因素的权重分别由α、β、γ决定。因此,文中提出的模型算法重点包括初始兴趣向量的生成及兴趣话题的传播。这两步的具体实现将在下文中进行阐述。

2.2 初始兴趣向量的生成

在社交网络中,明星及新闻机构等发布的内容往往都包含了丰富的话题,这些节点也普遍是普通网民关注和感兴趣的对象。可从用户关注的这些节点提取到诸多与用户兴趣向量有关的信息,再结合用户自身发布信息所提取的显示兴趣,从而生成用户的初始兴趣向量。具体实现步骤如下:

(1)根据文本内容挖掘潜在话题。需要在社交网络G中对用户关注的内容发布节点(根据粉丝数、名字等特性来确定)进行有效话题的提取。由于这些内容绝大多数为文本内容,因此需要一种合适的方法来对文本内容进行潜在话题的挖掘,从而为接下来初始向量的生成奠定基础。最终通过使用文本聚类(Document-clustering)来对整个文本进行压缩与提取,从而形成有意义的话题以及对应的特征向量。同时这是基于正交非负矩阵分解方法[15](Non-nagative Matrix Factorization, NMF)来找出内容发布节点的内容话题,即

min‖X-QGT‖ ,

(2)

其中,X是m×l的节点-文本矩阵,Q是m×k的节点-兴趣话题矩阵,G是l×k的文本-兴趣话题矩阵。通过分解求得Qm×k,每一行qi代表内容发布节点i在k个兴趣话题上的分布情况。根据这种方法来进行文档聚类的高效性已经在文献[16]中得到详细的证明。

(2)挖掘普通用户关注的兴趣话题。根据普通用户关注内容发布节点的情况构造矩阵An×m,其中,aij=1表示用户i关注了内容发布节点j;aij=0表示无关注关系。An×mQm×k能够计算出普通用户在k个话题上的兴趣分布,这样就得到了用户关注节点对其初始兴趣向量的影响。此外,考虑到用户自身还有的显式兴趣En×k,最终普通用户的兴趣特征可以表示为两者的加权平均:

(3)

综上,根据用户关注的内容发布节点与其自身的发布内容,进行了文档聚类,并将两者所得结果综合,最终得到了用户的初始兴趣向量矩阵Bn×k,其中每一行表示普通用户i的兴趣特征向量。

2.3 兴趣话题的传播

在得到用户的初始兴趣向量矩阵后,基于社交网络用户与邻接好友之间具有相似兴趣的设想,考虑到用户在自己初始兴趣的基础上,必定会受到其邻接好友对其兴趣的影响。而这个影响显然是会随着网络来进行不断传播的,每一个点都会迭代地将其兴趣信息传递给它的邻居,想要的是网络达到全局稳定状态时各个用户的兴趣向量矩阵,此时用户的兴趣向量矩阵显然与初始兴趣向量矩阵有所区别。

(4)

接下来给出对于文中的潜在兴趣挖掘模型对应于上式的具体含义。首先,在计算兴趣的传播过程中,只考虑由普通用户节点组成的网络,即邻接矩阵Wn×n表示n个普通用户节点之间的关系:

(5)

其中,Sim(i,j)是节点之间的联系函数。在实际应用中可以根据节点间的相似度(内容、结构等属性)或者交互程度计算,取值越大,表明节点关系越紧密。而在式(4)中使用矩阵S,而不是矩阵W来进行迭代,是为了之后的计算部分具有更好的收敛性。此外,用2.2节计算结果Bn×k作为初始用户兴趣矩阵Y,而F(t)则表示第t次迭代后的用户-兴趣矩阵。文献[17]已证明,经过不断迭代,最终的传播结果F(t)是收敛的,在传播结束后可以得到,即最终的用户兴趣向量矩阵为

F*=(1-α′)(I-α′S)B。

(6)

3 实验设计及结果分析

3.1 实验设计

3.1.1 数据集

文中将以知乎为平台进行实验。首先,通过网络爬虫获取了1 041个知乎内容发布者的粉丝、关注用户以及其发布的文本内容。并根据内容发布者的粉丝列表,爬取其粉丝用户的粉丝信息和关注信息,得到40 708个普通用户的关注关系。并随机抽取1 041个用户,作为文中的测试集用户。

3.1.2 对比实验

为了更好地评估文中算法的可行性及有效性,所采用的基线实验的细节如下:

(1)隐含狄利克雷分布(Latent Dirichlet Allocation, LDA)主题模型。在自然语言处理领域,关于兴趣话题挖掘的研究备受关注,很多研究人员提出了不同的解决思路和方案,其中LDA是最典型的主题模型之一。通过LDA提取内容发布者的潜在话题,构建用户的初始兴趣向量,再用标签传播算法得到普通用户的兴趣向量。

(2)支持向量机(Support Vector Machines, SVM)模型。对用户兴趣的挖掘本质上是一种分类问题,因此,将选取较为典型的分类模型SVM与文中的兴趣传播算法进行对比。在此实验中,将兴趣这一多分类问题转变为二分类问题,采用一对多(one-versus -rest)的方式构建模型。

(3)邻居投票算法。邻居投票算法通过每个邻居节点对新加入节点的兴趣所属状态进行投票,然后对各个票数进行加权统计,若票数大于某一阈值,则判定该节点具有某兴趣。

3.1.3 评价标准

本次实验的评价标准计算方式主要由两部分构成。首先,构建测试集中普通用户的评价体系(查准率和查全率)。计算测试集中普通用户的平均标准,得到平均查准率(Pm)、平均查全率(Rm),并计算相应的F1(衡量分类问题的一个指标)值综合评估算法的性能。具体计算公式为

(7)

(8)

(9)

3.2 实验结果及分析

结合知乎话题特点,文中选取K=10,通过调节式(4)中的参数α进行实验,结果如图1所示。

图1 参数α对实验结果的影响

当α=0.3时,文中算法的综合性能表现最佳。实验的结果验证了文中提出的假设和算法模型,即在一定程度上,普通用户关注的内容发布者的文本内容可以反映该用户的兴趣,同时普通用户与好友之间往往具有相似的兴趣爱好。

采用在不同基线算法的实验结果如表1所示。

表1 对比实验结果 %

由实验结果可知,在一定的条件下,文中提出的基于NMF的标签传播算法相比LDA和邻居投票算法虽然在查准率上提升较小(约为0~17%),但是在查全率上有大幅提升,最大提升约为42%;作为查准率和查全率的调和平均数,F1值也有所提升,最大提升达到了33%。而在本次实验中,SVM并未表现出较好的效果,也说明单纯依靠用户关注的内容并不能很好地推测用户的兴趣特征,还需要考虑该用户邻接好友的兴趣情况。

4 结束语

文中通过对现有社交网络节点分化的特性进行分析,提出了一种基于社交关系在大规模异构网络中发现用户兴趣的方法,通过引入标签传播算法,计算兴趣话题在普通用户之间的传播,在异构网络中快速构建大规模用户群体的兴趣图谱。此外,文中采用无监督的矩阵分解算法分析超级节点的内容得到兴趣话题,使得人工标注和训练工作大大减少。

最后,以知乎为研究平台,与LDA主题模型、邻居投票机制、SVM模型进行对比分析,结果表明,文中算法虽然查准率提升较小,但在查全率上较基线方法提升约42%,从而使得算法的综合性能提高,F1值最大提升约为33%。同时,文中也为社交网络中不活跃用户的兴趣挖掘提供了很好的思路。

猜你喜欢
普通用户向量社交
社交牛人症该怎么治
向量的分解
A quantitative analysis method for contact force of mechanism with a clearance joint based on entropy weight and its application in a six-bar mechanism
聪明人 往往很少社交
聚焦“向量与三角”创新题
社交距离
即使是普通用户也需要备一张家庭影院入门攻略:影音调校工具篇1
你回避社交,真不是因为内向
Numerical Analysis of Refueling Drogue Oscillation During Refueling Docking
向量垂直在解析几何中的应用