zoukankan      html  css  js  c++  java
  • 【转载】行走在网格之间:微博用户关系模型

    http://www.36dsj.com/archives/36545

    1      概述

    不同于传统互联网媒体,微博作为社交媒体最大的优势在于引入了非对等的用户关系,这种用户关系仅令传播更加高效。如果将微博中的用户视作节点,用户之间的关系视作节点之间的边,那么这些节点和边将构成一个社交的网络拓扑结构,或称作社交图谱,如图1所示。微博中的信息从社交图谱中的某个节点发出,并通过边来传播。

    用户关系模型

    图1 微博中的社交图谱

    但是信息在这个网络中的流动并不是无差别的,信息的起始点(信息的生产者),信息流动中所经历的节点(信息的传播者),节点之间关系的强弱(传播者相对生产者的亲密程度),以及这些节点构成的关系圈……都是影响信息流动广度和深度的重要因素。

    构建用户关系模型,就是针对图1这种关系网络中的节点(代表了用户)、边(代表了关系和方向)、关系圈(代表了由关系聚合而成的群体)进行分析,全面地描述和刻画社交媒体的关系网络。

    2      微博用户关系模型

    2.1     量化节点的传播能力:传播力

    从信息传播的角度看,当信息沿着边流经不同节点的时候,由于有些用户产生或传播的内容能够影响到更多的用户(如图1中比较大的节点),而有些用户的影响范围则非常有限(如图1中比较小的节点),那么他们给信息带来的“传播收益”(信息传播的广度与深度)也不一样。微博中采用传播力来量化这种重要程度。

    传播力的计算基于一个基本假设:传播力沿着信息传播的路径反向传递。如图2所示。通俗解释是,传播力越高的用户在传播一条微博的时候,传递给上一级用户的传播力也越高;一个用户发出的微博被越多传播力高的用户转发,他的传播力也会越高。就像我们的身边总有那么几个大嘴巴,什么事情经他们一絮叨就会路人皆知,如果某天有件不露脸的事让他给散发出去了,你也随之出名了一样。

    用户关系模型

    图2 信息传播路径(实线)&传播力传递方向(虚线)

    这个假设与PageRank的思路是相似的。那么,需要做的就是收集一定量的微博的转发记录,构建传播力传递图,图中的节点是用户,边的方向代表了传播力的传递方向(微博传播路径反方向),边上的权重代表源用户(传递的起始用户)到目标用户(传递的接收用户)的传播力的分配比例,如图3所示。给定用户的初始传播力值,通过多轮迭代(传递),直到传播力值稳定。

    用户关系模型

    图3 传播力传递图

    2.2     计算关系边强度:亲密度

    微博本身只通过方向性来区分关系边,也就是说任意u1、u2两个用户之间的关系存在三种情况“u1关注u2”“u2关注u1”“u1,u2互粉”。但相同类型的关系(例如“u1关注u2”和“u1关注u3”)存在强弱的区别,如果将方向性作为关系边的定性描述,关系强度则可以视作关系边的定量描述。 我们管关系边的强度称之为“亲密度”,由于关系边是存在方向性的,亲密度是一个用户对另一个用户的关注程度,衡量该有向边的强度。

    能够反应亲密度的互动行为都可以被纳入到亲密度计算中,在微博中包括评论行为、转发行为、赞行为、提及(@)行为等。简单来说,这些行为在亲密度评价中都具有一定的权重,当用户u1关注了用户u2,u1对u2的这些行为越多越频繁,那么u1对u2的亲密度越高。

    此外,还考虑两个因素:用户之间的关系类型以及用户本身的互动频率。首先,通常认为互粉关系的亲密度要比单向关注关系的亲密度高;其次,有些用户本身比较活跃,乐于互动(转、评、赞),那么体现出来他跟其他用户的互动行为较多,并不能说明他跟这些用户非常亲密,而有些沉默寡言的用户,虽然与其他用户互动少,但是体现出来的亲密度却更可靠。

    2.3     关系协同:粉丝相似度 & 关注相似度

    协同实际上利用了群体的智慧,无需关心item的属性,仅仅通过user对item的“评价”(购买、点击、评分都量化成一种评价值)来推测user之间或item之间的相似。

    如果将一个用户对另一个用户的关注也视作一种“评价”,利用用户之间的关注构建关系矩阵,则很容易仿照协同过滤的方式来计算两个用户的相似性。如图4所示,矩阵中每行对应一个用户ur,每列对应一个被关注用户uc,当ur关注了uc的时候,对应的元素取值为1,该矩阵是N*N阶的。事实上,行代表了对应用户的关注列表,列代表了对应用户的粉丝列表。

    用户关系模型

    图4 用户关系矩阵

    当按行进行向量的相似性计算的时候,能得到用户的关注相似性(类似于User based CF);按列进行向量的相似性计算,能得到用户的粉丝相似性(类似于Item based CF)。此外,还可以用亲密度代替图4中元素的取值,相当于考虑了用户对关注用户的不同评价。

    2.4     推导关系的延伸:二度关系

    六度关系理论肯定了人和人之间的普遍联系,那么对于社交媒体中的用户关系,也可以突破直接的一度关系来进行延伸。如图5所示,用户u1(红色边框)与用户u2(绿色边框)和u3(蓝色边框)之间没有直接关系,但是分别存在一系列的桥梁用户,使得u1和u2以及u1和u3之间存在间接的二度关系(如图5中的绿色虚线)。

    用户关系模型

    图5 二度关系示意图

    正如我们衡量了一度关系的强弱(亲密度),二度关系也存在强度衡量的问题。二度关系的强弱通常考虑两个方面的因素:桥梁的数量,u1与桥梁之间的亲密度,桥梁与u2、u3之间的亲密度。这三个因素都与二度关系的强度成正比。

    2.5     关系聚合:关系圈

    社交媒体中用户之间的关系和社会关系中存在着很大的相似性,无论是双向好友关系、单向关注关系还是不同亲密度的关系……那么社交媒体中是否也能够找到类似社会关系中的关系圈呢:关系圈圈定了一系列互相存在关联的人,这些人之间不一定两两认识,但是一定是存在某种紧密的关联,而圈外人与关系圈则不具备这种关联,此外一个人可以身处不同的关系圈。

    对于微博用户,根据关系网络的拓扑结构进行关系圈的挖掘,实际上就是根据该网络的内部紧密程度进行划分(图切分),被划分到相同子网络(子图)内的节点之间存在着趋于一致的关系,这种图切分通常分三步进行。

    Step 1: 发现极大团

    所谓极大团(Maximal Clique),就是图里面的子图,其中所有的节点之间两两存在着关系边。是一种极强的约束,通过遍历关系拓扑图,得到这种关系最紧密的用户群体。如图6所示,是微博关系拓扑中双向好友关系构成的一个极大团示例,在这个极大团里面,任何一个用户都与其他用户之间存在着双向好友关系。

    用户关系模型图6 双向好友关系的极大团

    Step 2:关系圈扩展

    社会关系中的社交圈的约束并不像极大团这么强,同处一个社交圈的人不一定互相认识,也可能只是由于某些中间人导致他们存在一定的关联。因此,在极大团的基础上,还需要对关系圈进行扩展。扩展中需要指定一个标准来判定某个用户是否能够被划分到某特定的关系圈:向某个关系圈引入一个新节点后,该关系圈内部的紧密程度增加带来的收益要大于关系圈之间关联性增加带来的损失。

    如图7所示,橙色关系边和红色关系边及其节点构成了两个极大团C1和C2(存在同一个用户同时属于C1和C2的情况)。如果将一个新用户u(图7底部有红色边框的用户)加入C1代表的关系圈,那么由于u与C1存在着关联(如图7中的绿色边),会增加改变C1的内部紧密性(内部边的条数);但同时由于u与C2也存在关联(如图7中的蓝色边),那么也会提高C1和C2之间的关联程度(增加了C1和C2之间边条数)。

    用户关系模型

    图7 一个用户同时属于两个极大团

    通过定义一个与关系圈内部紧密程度正相关,关系圈之间关联程度负相关的评价函数,关系圈每扩展一个用户都通过该函数是否增加来进行判断就可以了。扩展可以进行多轮。

    Step 3:关系圈合并

    最后,对于扩展结果中趋同的关系圈进行合并,当两个关系圈存在很大交集的时候将它们合并到一起。合并过程同样需要遵循评价函数提升的原则。

    3      小结

    微博中存在着一张关系大网,有的地方紧密,有的地方稀疏;用户存在于这张大网之中,与有些邻居亲密,与另一些却很疏远;信息在网格间游走,时而健步如飞,时而停滞不前……这可能是微博关系网络的真实写照。

    用户的关系模型,就是从不同的角度去反应这种真实的情况:“传播力”体现了用户个体对信息传播的影响;“亲密度”体现了两个用户之间关系远近对信息传播的影响;“粉丝相似度”和“关注相似度”是从整个网络中去寻找具有相同认同感和被认同感的用户;“二度关系”是对直接的一度关系的扩展和延伸;“关系圈”则是从关系网络结构本身出发去寻找关联紧密的群体。这种划分和构建是逐步深入的,也符合平台业务发展和技术演进的规律。以上针对微博关系网络不同角度的刻画,是在社交媒体最基本的非对等关系模型基础上,结合了用户行为而产生的,对关系网络的刻画会更加细致和全面。

  • 相关阅读:
    《Machine Learning in Action》—— 白话贝叶斯,“恰瓜群众”应该恰好瓜还是恰坏瓜
    《Machine Learning in Action》—— 女同学问Taoye,KNN应该怎么玩才能通关
    《Machine Learning in Action》—— Taoye给你讲讲决策树到底是支什么“鬼”
    深度学习炼丹术 —— Taoye不讲码德,又水文了,居然写感知器这么简单的内容
    《Machine Learning in Action》—— 浅谈线性回归的那些事
    《Machine Learning in Action》—— 懂的都懂,不懂的也能懂。非线性支持向量机
    《Machine Learning in Action》—— hao朋友,快来玩啊,决策树呦
    《Machine Learning in Action》—— 剖析支持向量机,优化SMO
    《Machine Learning in Action》—— 剖析支持向量机,单手狂撕线性SVM
    JVM 字节码指令
  • 原文地址:https://www.cnblogs.com/bluejoe/p/5262314.html
Copyright © 2011-2022 走看看