李超男
摘要:近来社交网络的研究主要在社会网络分析方面,包括公共关系、大众传播等领域,借鉴并融合了心理学、传播学、社会学、信息论等多学科,逐步演变成为完整化、系统化的理论研究策略。这对在线社交网络的数据分析与数据挖掘产生了非常大的挑战。那么,对于不同的数据源,如何用适合的挖掘算法进行挖掘分析是数据挖掘研究工作者需考虑的重要问题。
关键词:网络模式;社交平台;网络用户;数据挖掘算法
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)29-0003-03
1 概述
互联网高速发展时期,不同类型的网络社交媒体不断涌现,除微信、微博、博客等热门社交媒体外,其他应用型软件也相继出现网络社交媒体的属性,如百度网盘、淘宝、京东等。因此如今网络模式下,用户的社交属性无处不在的,这也相继产生了许多社交数据,如何充分的、有效的挖掘利用此类社交数据以及热门话题,这成为了很多学者和公司市场部门研究的热点方向。
研究此类数据的原因是显而易见的,利用对社交媒体数据的挖掘和分析,可以增加对新话题的理解能力,达到商业中的人工智能,这也能对网络用户进行更好的服务,同时发现新的商机。如:对社会性网络中的数据进行分析,辨别筛选出在特定的社会网络用户群体中具有意见领袖特征的人;发现网络中一部分隐性兴趣群体,归类不一样的兴趣群组;找到特定用户,根据用户的某段时间内的主观情感进行主动规划和推荐信息等。网络模式下的社交网络数据研究,是一个有活力的研究方向,可以为不同交叉学科领域带来很大贡献。
2 网络模式用户数据
2.1 社交网络的分类
网络模式下社交媒体多种多样,在概述部分已经进行了一些举例,下文进行详细的分类,如表1。
2.2 网络模式数据的特征
传统的数据,在分析之前,我们可以预见到它的趋势并制定相应的算法进行分析,而网络社交数据却存在着很大的差异性,网络社交数据的差异性体现在数据量庞大、非结构化、动态且分散[1],因此,这种数据类型的数据分析,对高效的数据算法的需求很高。
2.3 网络模式数据的价值
网络数据从一些层面上看,体现出了用户在某个时段的特定需求,通过网络社交平台,直接或间接表达出了自身的需求,这就会给我们人类行为学的问题的研究带来很多便利,同时对商业平台的运营也会带来很大的帮助,比如:通过对社交平台的数据分析挖掘出潜在的客户并加以推销,对高效、新型的数据算法的需求也越来越强烈。
3 网络模式下的数据研究思路
3.1 社会性网络团体检测
网络社交团体与实际生活中社团属性相似[2] ,同样是由个体组成的,并且网络社交团体中个体与个体之间的交流活动,会比个体与外界的交流活动要多。在真正意义上网络社交团体中,又分为显性的社交网络团体和隐性的社交网络群体。其中,显性的社交网络团体,就是一些具有相同爱好兴趣的用户主动聚集起来的团体,而隐性社交网络团体,则是由一些兴趣关注相同個体组成,个体之间的交流不多,但会在自然的网络环境的交流中逐渐发展为显性群体。
由于显性的社交网络团体,特征明显,数据直观,研究的难度并不大,因此,我们所说的对于社交网络的社团的检测,一般我们是针对隐性群体[3]。这些网络社团的检测充满了挑战,因为这些团体的评估具有多样化的特征,通常没有决定性的正确。比如,在一个社交平台中,两个同时喜欢品茶的人,对茶的了解都非常深入,当我们把它们检测为隐性群体时,实际上两个人确实喜欢的完全不同的茶,一个喜欢喝绿茶,对红茶很反感,而另外一个人正好相反。
通常在网络社团的检测中,我们使用以下几种方法:
(1) 使用以层级关系建立的社团检测法。其目标是创建出来一个社团的层级构架。可以采用不相同的策略来分析,比较常用的有合并时聚类和分裂式聚类。
(2) 使用以节点为中心的社团检测。判断节点是否符合一些特征,例如相互完整性、内外联系频繁性等,数据的分析者常用的策略有k-clubs、cliques等。
(3) 使用以网络为中心的社团检测。这一类的检测中,数据分析者一般将网络中一些不相交的子集,组织起来进行区分归类而实现,经典的有谱聚类和模块最大化等策略。
本文以微博的社交数据的处理方法为研究对象,选取了基于模块化的最大值算法。例如:假设一个社会性网络被划分为N个社团Kn,定义模块化值为M(Kn) 用做分别社交网络中社团质量的度量,表示公式为:
在这里,W=()n×n为权重值矩阵,A(V′,V″)= ,V为用户节点集合为全部与社团c中的节点有联系的边的权重和,为在社团c中全部边的权重和,表示整个社交图中边的权重和。
在社会网络团体中,N个社团的构造特征越显著,M(Kn)的值就越大。
3.2 影响力建模
对于社交网络的潜在性分析,有两个驱动性的要求需要特别注意,即这种潜在性的社交网络是由同质性驱动还是影响力驱动的。比如,在商业领域,若判定出该网络社交团体是同质性驱动,也就是相似性驱动的话,就可以直接向一些被作为目标的用户发送推荐的商品信息;如果判定出该社交网络是有影响力驱动的话,那么其中具有影响力的用户一般被称做“意见领袖”,辨别出来意见领袖,就能有偿的让那些意见领袖向网络社交用户推荐商品和服务[4]。如今网络社交团体比较多且复杂,大多团体兼顾影响力驱动和同质性驱动,因此如何准确的分析社团中哪种驱动性为核心主导力是重中之重的工作。如何检测出社交团体中具有影响力的核心节点,显得尤为重要,接下来介绍几种对影响力建模的有效实现途径。
(1) 社会网络平台中的用户在网络中的度数越大,则他的影响力就越大,具体表示为:
其中,a为某一个用户的节点,A为整个社交网络。endprint
(2) 顾及到微博等社交网络平台的交互活动,依据用户的消息记录来计算出每个社交消息的平均转发率,把每条消息引发的转发行为视作用户影响力的衡量指标:
(3) 基于谷歌的PageRank算法思想,在某一社交网络中,如果发现某一个用户的影响力越大,则说明他被较多的优质用户所关注,由此为依据获得的社交网络中的关注排名影响力算法如下:
在此算法中,K(n)为社交网络中用户n的影响力,B(n)为所有关注n的社交网络用户的总和,A(m)是用户m关注的用户的总和。
3.3 情感分析与意见挖掘
情感分析与意见挖掘的主要目的是从用户发布的信息中自动抽取出观点。由于人们的语言具有多义性,这使得情感分析存在一定的难度。
情感分析的主要步骤为:
(1) 检索出相应的文档
(2) 从文档中找到相关的部分
(3) 从相关的部分找到所有的感情
(4) 进行量化分析每个感情
(5) 聚集全部感情,并形成一个概述判断
意见挖掘的主要组成部分为:
(1) 哪个用户是意见表达的对象
(2) 对这个对象表达了什么意见
(3) 意见是谁表达的
4 网络数据的数据挖掘算法分析
上文提到几种对于社交网络数据分析的重点部分,此章节主要对数据挖掘及处理部分进行对比分析,以求最优的方案对数据进行有效的分析。
常用的数据挖掘算法有数据库知识发现(Knowledge Discovery in Databass,KDD)、聚类分析、K-Means聚类算法等,此章节将对这几个算法进行一一的分析。
4.1 数据库知识发现(数据挖掘的常规步骤)
数据库知识发现,一般包括七个阶段,分别是数据集成、数据清理、数据选择、模式发现、数据变换、知识表示和模式评估[5]。其中,数据的预处理阶段包括数据集成、数据清理、数据选择和数据变换,这个阶段是决定数据挖掘质量优劣的重要步骤。接着,利用数据挖掘的算法在数据中提取出有用模式的过程就是模式发现。模式评估与知识表示是接下来的处理步骤,通过采取一定的量规标准,辨别出真正有效的知识,通过可视化等技术呈现给用户。
数据库知识发现的流程如图1所示。
4.2 聚类分析
聚类分析是最经常使用的数据挖掘的算法之一,并和机器学习的无监督学习具有一定的关联。另外聚类还在图像识别、Web检索、人工智能等领域具有广泛的应用,也成为另外一些数据挖掘算法的预处理步骤。通常而言,聚类就是将数据划分成为不同簇的过程,在不同簇的对象互相不同,而簇中的对象则彼此相似。大部分情况下,同一簇内的对象可以被当做一个整体来看待。
(1) 聚类的划分标准
依据聚类分类的不同标准,聚类算法通常可分为划分方法、层次方法、基于网格的方法和基于密度的方法。
划分方法:把n个原始的数据对象划分成i个簇(i≤n),每个簇至少包含一个对象。接下来假设Dm(1≤m≤k)是聚类划分后的一个簇,N表示原始数据集合,便有:
经典的划分算法主要有:k-中心点(K-Medoids)和k-均值(K-Means)算法,它们都是采用启发式方法来逐步逼近最优聚类结果,这一类算法适用于发现中小规模数据库中的球状簇。
层次方法:层次方法分为凝聚的层次聚类和分裂的层次聚类两种。层次聚类方法可以发现差异层次上的数据聚集模式。BIRCH算法便是一种传统的层次聚类算法,它通常是用做大规模数据集聚类问题的处理;而Chameleon算法则是现阶段应用良好的动态聚类算法,它能够发现任意形状的聚类簇。
基于密度的方法:这类聚类方法是为了发现非球状簇。他的主要思想是:一旦密度超过某一个限定的密度闽值,就能够继续扩大这个簇的范围。通常来讲,基于密度的聚类算法仅考虑互斥的簇,而不考虑模糊集合。DENCLUE和DBSCAN都是基于密度的聚类算法[6]。
基于网格的方法:这种方法首先要形成一个网格的结构,形成网格结构的方法是将数据空间分类成特定个数的数据单元,最终在网格结构上进行聚类操作。基于网格的聚类主要有STING,GRIDCLUS 等。
(2) 相似性的度量
主要的相似性度量方法有以下四种:基于概率的度量方法、基于密度的度量、基于连接的度量方法和基于距离的度量方法。
基于距离的相似性度量方法的优点是:计算比较简单,易于理解。但缺点也相对较明显,对不相关的数据信息比较敏感。主要的距离度量指标有角度的余弦值、曼哈顿距离和欧几里德距离。基于密度的相似性度量方法有基于密度函数的方法、基于网格的方法和最近邻方法。DBSCAN,OPTICS和CLIQUE都是基于密度的相似度量方法。基于连接的相似性度量方法是建立在数据连接图的基础上,根据图的边测信息来进行数据聚类,把满足一定连接数闽值的数据聚合成簇。这种方法的度量标准是数据对象的连接数量。基于概率的度量方法建立在统计学理論基础上,主要有COBWEB, AutoClass和混合模型等。
(3) 簇的分离性
通常来说,按照簇的分离性可将聚类结果分为模糊簇和互斥簇。一般的聚类筛选是一种硬性的筛选,数据集中的每个数据对象都被硬性地按照某个规则划分到某个簇中,这样划分会使得簇之间具有明显的区别界限。其实模糊聚类簇不是互斥的,多个簇与数据对象之间有着不一样的隶属关系,它们之间形成了数据对象和类别的不确定性描述。所以模糊簇相对于硬性划分的聚类簇能够更真实地反应客观世界。通过计算对应目标函数的最小值得到最终的软化分结果的模糊C均值(FCM)聚类算法就是一种常见的模糊聚类算法。endprint
4.3 K-Means聚类算法
对网络用户行为的特征相似程度以及分布情况进行分析时,经常会应用K-Means聚类算法。此算法是由J.B.MacQueen最早发现并提出的,以及在医学、生物科学、文本文档聚类等领域得到了广泛应用[7]。K-Means聚类算法的目标是发现对象簇的相似度和分布状况,从而获得研究对象的群体特征。
K-Means算法在网络用户的兴趣特征挖掘分析中的应用,能够准确快速的发现用户的兴趣,并且,通过对网络用户的数据挖掘,进一步对群体用户的兴趣特征进行聚类分析[8]。这样便于之后对用户进行内容推送以及兴趣的预测。
K-Means聚类算法可以简单描述为首先任意从数据集F中采用k个数据点当做初始簇的中心点,然后在每个簇的中心以外的数据点依次计算到各簇以特定为半径的区域距离,将数据点分类到最近的簇中心所代表的簇中,再从新计算出每个簇的簇中心。将这个步骤经数次的重复迭代,一直迭代到符合中止的条件为止[9]。
K-Means算法簇中心的计算公式是:
其中,Cj表示第j个簇,j=1,2,….,k;mj用来呈现簇Cj的簇的中心区域(抽象理解为簇中全部数据的平均值向量);表示簇Cj中包含的数据点数。数据点xi到簇中心mj的距离计算公式为:
下面任意一个条件都能够终止此迭代过程:
(1) 不再有数据点被重新分配
(2) 簇中心没有再发生变化
(3) 误差平方和(SSE)局部最小
K-Means算法的特征为首先就要确定预计将要分类的簇个数k,并且聚类的最终效果在较为偏重于依赖选取初始簇的中心。学者常用的判断簇个数k的方法是选取多个k的值,实现尽可能多数次的聚类,将之前多数次聚类的值进行分析,再依据分析结果来最终判断簇的个数。选择初始簇中心的方法有很多种,目前大众普遍接受的方法是“密度法”[10],密度法是按特定的半径将所有数据点进行分类,选取分布在数据点为中央的以特定长度为半径的区域内的数据点数最多的前k个点为初始簇中心。
5 小结
对于网络模式下的社交团体的数据挖掘分析,由于数据量庞大、情感因素较多等等原因近年来一直是此类数据挖掘研究的難题。本文就几种最常用的数据挖掘分析算法进行了对比分析,并对网络模式下社交团体的数据挖掘进行详细的预分析。但网络社交团体的数据挖掘分析,依然存在着很多客观的难题,这也将是我以后研究工作的重要方向。
参考文献:
[1] 周小平,梁循,赵吉超,李志宇,马跃峰. 面向社会网络融合的关联用户挖掘方法综述[J]. 软件学报:1-21.
[2] 刘冰,赵君丽. 基于社会网络分析的国内E-learning数据挖掘研究述评[J]. 通化师范学院学报,2015(04):127-129.
[3] 宋洋. 基于社会网络分析的Web数据挖掘研究[D].山东理工大学,2015.
[4] 肖志军. 一种面向社会网络的热点话题数据挖掘算法[J]. 计算机应用与软件,2014(06):24-28.
[5] 于乐. 社会网络中社团发现及网络演化分析[D].北京邮电大学,2014.
[6] 刘行军. 微博用户及其信息传播影响因素研究[D].华中师范大学,2013.
[7] 陈康,朱应坚,向勇. 面向社交网络的用户数据挖掘技术研究[J]. 电信科学,2013(S1):94-101.
[8] 王千,王成,冯振元,叶金凤. K-means聚类算法研究综述[J]. 电子设计工程,2012(07):21-24.
[9] 周志勇. 聚类分析算法研究[D].河北大学,2007.
[10] 邢留伟. K-Means算法在客户细分中的应用研究[D].西南财经大学,2007.endprint