论文部分内容阅读
近年来,随着互联网技术的飞速发展,加上移动终端及移动互联网的逐渐普及,越来越多的人成为了社交网络中的一员。社交网络的不断发展,导致了社交网络的规模呈现出了爆炸式的增长。社区发现也面临着数据量大、复杂性高等问题。由于传统的社区发现算法大多数只能适用于一些小规模的网络或者实验生成的网络,当网络中用户数量的规模很大时,使用传统的社区发现算法受到了硬件及算法自身复杂度的限制,因此很难高效的来处理如此海量的数据,严重制约了大规模社交网络中的社区发现。本文针对传统社区发现方法难以适应大规模的社交网络场景,采用Spark大数据处理框架将传统的社区发现算法并行化,利用集群所具有的计算优势来处理海量的用户数据,降低算法执行所消耗的时间。选取经典的标签传播方法作为基础算法,在Spark平台上进行并行化拓展,实现了一种基于Spark的并行化社区发现算法,同时针对算法在实验过程中所产生的问题对算法进行了相应的改进。最后,通过使用Faceboo、Twitter社交网络数据集进行实验,验证了本文所设计的算法的高效与简洁性。本论文的主要工作及创新点有以下几方面:(1)首先,对传统的社区发现算法进行理论研究,同时对其并行化的可行性进行分析;接着,对当前流行的Spark等大数据处理工具作了理论与技术上的分析,为后续算法的并行化提供技术保障。(2)选择传统的标签传播算法作为基础算法,通过将其与Spark技术相结合进行并行化实现,解决了传统标签算法难于解决大规模网络社区发现的问题;(3)为解决基于Spark的标签传播算法在实验过程中表现出的随机性较强等问题,引入社区核心节点影响力的概念,并将其用于标签传播算法之中。同时实现了基于Spark的PageRank算法来解决社区核心节点影响力的计算。通过在Spark平台上实现了改进前后的算法,对改进前后算法所得的实验结果进行了详细的分析,并对出现的相关问题进行了深入探讨。最后,通过几组对比实验对两种算法所发现社区质量进行了比较。