以博客、微博、Wiki、多媒体共享网站等为代表的社会化媒体近年来受到广泛的关注和应用。截至目前, Facebook全球用户数已达到10亿, 新浪微博的注册用户数也已超过5亿。随着组织和个人的加入, 学者们发现社会化媒体中存在着与现实社会一样的社区结构, 即整个网络由若干社区构成, 每个社区内部节点间的连接相对非常紧密, 而社区间的连接相对来说却比较稀疏[ 1]。若能将隐藏在其中的社区结构挖掘出来, 则可以充分利用社区关系进行深层次的应用。
目前, 主要有计算机、复杂网络、社会学等学科领域对社区发现进行了深入研究, 他们从各自学科背景出发,提出了一系列的相关理论、方法与技术。本文旨在系统梳理社会化媒体环境下的社区发现 (本文称之为社会化媒体中的社区发现) 相关研究进展, 指出现有存在问题及今后的研究趋势。
“社区”作为社会学中一个重要的术语, 不同领域学者出于不同研究视角对“社区”给出过定义和解释。结合相关工作, 笔者试图从以下三个方面给出社会化媒体研究中“社区”的定义[ 2]:
(1) 基于局部结构的社区定义
早期社会学研究中将社区定义为具有凝聚力与相互关系的子群, 如派系 (cliques) 、n-派系、n社团 (n-clubs) 、n宗派 (n-clans) 、k-丛 (k-plexes) 及k-核 (k-cores)[ 3, 4]、LS集和Lambda集[ 5]。但其限制条件过于严格且计算复杂, 使得实际应用很少。因此, 有学者从节点度数来定义社区, 如 Raddichi等[ 6]基于社区内部的连接和社区之间的连接, 将社区结构分为强社区结构和弱社区结构。张婷娜[ 7]在强社区和弱社区的基础上进一步定义了最弱社区。
(2) 基于全局结构的社区定义
第一种是基于整个网络属性来考虑的:将网络划分成若干个社区并最小化社区之间的连边数。但一般不直接使用社区间连边数, 而是使用归一化割[ 8]和导通系数[ 9];另一种是基于模块度概念来考虑的:随机网络中每对节点连接的概率是相等的, 可以认为随机网络不具有社区结构, 因此可以通过比较子图中实际的连接程度和不具有社区结构时期望的连接程度即模块度来定义社区结构[ 2];最后一种是基于网络节点相似度来考虑的:一旦两节点间相似度被计算, 则社区可以定义为彼此非常接近的节点类簇。
(3) 基于动力学作用的社区定义
这类定义是基于动力学过程来考虑的。例如, 基于逾渗理论的派系过滤算法认为社区是由相邻 “k-派系”的集合所构成, 因此通过搜索邻接的团来探测网络社区结构[ 10]。Van Dongen[ 11]描述了一个流扩散过程, 叫马尔科夫聚类算法, 该算法将社区定义为随机游走者很难逃离出去的顶点群。Arenas等[ 12]认为位相振子同步的节点属于一个社区。Raghavan等[ 13]的标签传播算法中认为最后拥有相同标签的节点属于同一个社区。
与虚拟社区相比, 社会化媒体中社区也具有非地域限制性、自主性、动态性等特点, 另外笔者总结出社会化媒体中社区还具有以下特点:
(1) 重叠性、异配性。社会化媒体中用户的在线联系很可能会跟其同事、同学、研究人员去进行, 因此一个用户很可能会参与到多个不同关系中。另外, 社会化媒体中用户有异配性, 即高度数的节点倾向于和低度数的节点相连[ 14]。
(2) 节点角色多样。Xu等[ 15]将节点划分为“Hub”与“Outliers”两类, “Hubs”连接多个社区, 充当社区间联络人角色;“Outliers”通过单一连接连到一个社区, 在社区发现中属于“噪音”节点。Scripps等[ 16]将节点角色进一步细分为“Loners”、 “Big Fish”、“Bridges” 和 “Ambassadors”。朱天[ 17]将角色分为核心节点、桥节点、极重要节点和普通节点。
(3) 社区具有层次结构。社会化媒体中社区的划分是分粒度的, 呈现分层结构, 一个大的社区可能包含多个小社区[ 4]。
根据媒体信息含量、社会关系存在度等进行划分, 社会化媒体可分为博客类、社交类、群体智慧项目、内容分享社区、虚拟游戏世界、虚拟社会世界6大类[ 18]。如今Second Life成为Game3.0平台中最具代表的平台[ 19], 因此将最后两类合并为“虚拟世界”类社会化媒体。下面逐一分析各类社会化媒体的社区发现研究进展。
(1) 现有研究概述
在博客网络研究方面, Kumar等[ 20]引入时间图对Blogs间连接进行分析, 研究了通过超链接关系聚集在一起的博客社区兴起和演化;Tseng等[ 21]结合Blog排名与社会链接, 提出了一个获知多个Blog社区的框架;Lin等[ 22]认为社区形成源于博客用户间的交互行为, 并提出一种基于用户间感知度的社区发现方法抽取受欢迎的Blog社区;Chau等[ 23]从Xanga上抽取了 820 位博客的相关信息, 然后用经典社会网络分析方法找到了两个最大仇恨团体;Lin等[ 24]提出了可发现动态网络中的社区及其进化过程的FacetNet框架;柳助民等[ 25]通过随机行走方法计算Blog间的对称社会距离, 然后在对称社区距离的基础上使用PCM算法获得了Blog的社区;罗乐[ 26]以新浪、和讯、人民网、网易博客作为数据源, 采用以核心成员为中心的分步社区发现, 加快了社区划分速度, 有效地提高了凝聚式社区发现算法效率。
在微博网络研究方面, Java等从网络拓扑属性和地理属性对Twitter进行了研究, 发现用户的交互显示出社区结构, 采用HITS[ 27]算法对用户的内容权威度和链接权威度进行分析, 并基于每个用户的权威度采用了CPM[ 28, 10]进行了社区发现[ 29];袁毅等[ 30]采用微博数据, 研究了信息交流过程中形成的评论、转发、关注和引用4种社会关系网络, 发现不同关系网络具有不同结构特征, 但又具有某些相关共性;范超然等[ 31]构造了微博无向加权图, 并通过相应的加权社区发现算法CNM实现了微博中的社区发现。
(2) 博客类的社区发现技术比较分析
这类媒体中用户关系最为复杂, 有用户间双向的“互关注”及单向的“关注”, 也有用户对博文的阅读、转发、收藏、评论和博文被动的被转发、被评论等, 并能按逆时间序查看发生频次与传播路径。因此其社区发现不能单纯考虑网络拓扑图的社区结构, 节点间的方向 (如文献[20, 22, 29]) 、强弱 (如文献[22, 25, 31]) 、时间 (如文献[20]) 等也成为重要依据。
(1) 现有研究概述
Zakharov[ 32]关注于LiveJournal中用户社区结构, 并通过网络上的热力学扩散过程识别出两个显著的社区;Leskovec等[ 33]定义了网络社团简历 (Network Community Profile, NCP) , 并研究了大量真实网络中社区质量的分布情况;Lancichinetti等[ 34]给出了一个真实社会网络中社区统计特征, 发现不同类型网络的社区有着自己独有的特征, 这可能预示着人们可以利用这些独有的特征作为网络“指纹”, 进而对不同类型的网络进行分类;刘耀庭[ 35]以社交网络为背景, 提出了基于星状子图结构的社区检测方法, 该方法适合于含有大量星状子图结构特征的社交网络上的社区发现;窦炳琳等[ 36]主要使用DBLP和Facebook构建网络, 发现网络中存在紧密连接且直径较小的核心结构, 并基于事件框架研究了社会网络中社区结构的进化。
(2) 社交网络类的社区发现技术比较分析
SNS是基于现实人际关系发展起来的, 最明显的一个特征是社区网络中存在大量的星状子图结构, 另外, SNS倡导的实名注册, 使得用户多种关系并存, 其分层与重叠结构明显, 其社区发现集中在星型结构和分层重叠的挖掘上, 如文献[32, 35, 36]。
(1) 现有研究概述
Zlati等[ 37]和Capocci等[ 38]分析发现, 维基百科的文章-文章网络表现出与万维网[ 39]类似的蝶形结构;Asur等[ 40]关注了Wiki社区间的演化, 并提出了一个事件框架用于刻画社区间的各种关系;Lizorkin等[ 41]利用GN算法找到了Wiki中语义相关的文章社区;Jesus等[ 42]用二部图派系的方法研究用户-文章关系中的聚类结构, 发现了Wiki中一些潜在的争论焦点和协同写作现象;杨方方[ 43]首先结合人物内容信息构建人物相关性网络, 然后利用GN 算法进行团体挖掘, 挖掘出的团体具有团体内部关系紧密而团体之间联系稀松的特点。
(2) 群体智慧项目类的社区发现技术比较分析
这类媒体平台中, 很多时候人们只是因为碰巧对某个问题感兴趣而在一起讨论一下, 之后便不再有太多的交往, 因此成员间的关系大多处于弱关系状态, 其社区发现需要结合百科文章目, 如文献[37, 38-42]。
(1) 现有研究概述
Saha等[ 44]将社区相似度与社区其他特征结合起来对社会化媒体信息网络进行演化分析, 并为用户推荐其感兴趣的社区群组;Kumar等[ 45]分析了 Flickr 和 Yahoo! 360的网络结构及其演化, 发现这些社交网络都被分割成三个部分:“Singletons”、“Isolated Communities”和“a Giant Component”;Chakraborty等[ 46]对三部 (User-Resource-Tag) 超图提出了一种连接聚类算法, 可以实现重叠社区的发现;燕飞等[ 47]提出了一个综合社会行动者兴趣和社会网络拓扑结构的社区发现方法;杨阳采[ 48]用分割和收缩的思想, 利用标签传播算法对超大规模社交网络Flickr进行社区发现, 对YouTube分别采用基于“博弈”的策略和“交叠”的思想运用标签传播算法进行社区发现;黄中杰[ 49]根据社交网络存在大量的重叠星状子图提出了基于重叠网络结构的社区识别算法, 通过一定的合并可以提取重叠社区。
(2) 内容分享类的社区发现技术比较分析
这些媒体仅包括非常简略的个人资料, 但有分众分类的基本构成单元——标签。用户可以为共享资源标注有价值的标签, 用户之间也可以相互共享标签, 标签成为资源与用户的桥梁, 因此社区发现方法多基于标签, 如文献[44, 46, 48]。
(1) 现有研究概述
魔兽世界中以公会为基本组织结构的合作, 其合作已经远远超出了群体成员共同利益的范畴, 发展为有感情连带、默认规则及共享价值观的社区或者部落[ 50, 51]。Ducheneaut等[ 52]从5台魔兽世界服务器中收集了一年多的数据, 共收集到300 000独特人物角色的信息, 然后利用这些信息分析他们公会的结构性变量, 如规模、联系密度、中心性、级别、平均相处时间、阶级平衡等, 发现在其构成成员各方面都比较平衡的公会比较容易维续, 并为游戏社区构建提出35人组队的若干建议。
(2) 虚拟世界类的社区发现技术比较分析
可能属于游戏范畴原因, 这类社区结构的相关研究并不多见。这类社交媒体虽然会随着游戏的需要, 也会去拓展新的人际关系, 但大部分人际关系是已有的, 所以其社区研究主要集中于游戏里所形成的团队或公会的结构性质研究, 如文献[50-52]。
笔者总结了现有研究进展, 如表1所示:
发现目前研究主要集中在以下三个方面:
(1) 社区发现算法的研究
尽管学者们提出了大量社区发现算法, 但总结这些方法, 发现主要思想还是来自于以下几类经典方法[ 2]:GN分裂算法[ 53]、模块度最大化方法[ 1]、归一化割方法[ 8]和基于拉普拉斯矩阵的谱平分方法[ 54]。尽管从时间复杂度和空间使用上来看, 并不是最有效的。面对规模庞大的社会化媒体网络, 学者们也已使用一些新方法, 如标签传播算法[ 34, 48]。
(2) 社区性质的研究
继社区提取之后, 开始了对社区性质的研究。当前的研究显示, 不同类媒体表现出不同的社区结构[ 34], 如维基类文章表现出蝶形结构[ 37, 38], 社交类规模中等的社区呈现星型结构[ 33, 35, 49]等。
(3) 社区进化的研究
由于社会化媒体具有极强的动态性, 最近其研究的重点已经开始从静态的社区性质分析转向社区进化研究, 试图去分析、解释甚至预测动态网络的结构和性质出现, 如文献[20, 24, 36, 40, 45]等。
分析表1可以发现以下几个研究局限:
(1) 网络建模上的局限性
在网络建模上, 大多数所用建模方法来自于图论, 然而, 这对于动态网络描述会存在很多的限制;另外, 为了概念和计算的简便性, 人们通常将网络抽象为单模网, 显然, 单独一种类型实体的交互只能为社会化媒体上社区发现提供非常有限的信息。
(2) 社区发现方法建模的局限性
现有绝大多数社会化媒体中社区发现算法在其概念模型中都有一个基本设计原则:社区的内部链接数应该大于外部链接数。然而, 对于可重叠的社区而言, 社区的外部链接数可能依然大于社区的内部链接数[ 55]。
(3) 实证数据规模上的局限性
从表1给出的实证数据规模上来看, 面对具有几亿以上人口规模的社会化媒体, 有的文献只采用了几千甚至几百的实证数据显然是不能说明问题的。
尽管社会化媒体中的社区发现已取得了巨大的发展与进步, 但是依然面临着巨大挑战:
(1) 大规模社会化媒体中的社区发现
为分析几亿节点规模的网络, 未来需朝以下方面努力:首先, 从方法层面上来看, 由于得到整个拓扑结构几乎是不可能的, 以个别节点开始的局部社区发现算法将成为研究重点。此外, 人们应该也在迭代算法和适合大规模网络的社区算法 (标签传播算法[ 13]) 中投入更多的精力;其次, 从数据规模处理上来看, 并行技术和大规模文本的指纹去重技术或摘要技术也是未来一个重要研究方面[ 2]。
(2) 异质网络中的社区发现
社会化媒体中用户外除了通过朋友关系与其他用户交互外, 用户间还能通过共同打标签、共同评论等行为方式进行交互, 这将使得k-partite (k-部或k-模) 、多关系和超网络很可能吸引大量研究[ 2]。
(3) 多语言社会化媒体的社区发现
随着不同地区用户的加入, 社会化媒体的多语言特征将更加明显, 社会化媒体呈现社会化、语义化及多语言化趋势, 因此研究多语言社会化媒体的社区发现的相关理论和方法将很有前景。
(4) 应用驱动的社区发现研究
社区发现作为一个交叉学科, 如何发现社区只是其中的一方面, 如何去分析、利用社区信息也是面临的一个挑战。目前社会化媒体上的社区发现主要结合协同标签系统中话题检测、标签消歧、用户文档、照片聚类、事件检测来研究[ 2], 未来社会化媒体社区发现将结合更多应用领域来研究。
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|
[18] |
|
[19] |
|
[20] |
|
[21] |
|
[22] |
|
[23] |
|
[24] |
|
[25] |
|
[26] |
|
[27] |
|
[28] |
|
[29] |
|
[30] |
|
[31] |
|
[32] |
|
[33] |
|
[34] |
|
[35] |
|
[36] |
|
[37] |
|
[38] |
|
[39] |
|
[40] |
|
[41] |
|
[42] |
|
[43] |
|
[44] |
|
[45] |
|
[46] |
|
[47] |
|
[48] |
|
[49] |
|
[50] |
|
[51] |
|
[52] |
|
[53] |
|
[54] |
|
[55] |
|