Skip to main content

社会网络分析

微博分析

通过该案例,我们将会学习如何对微博数据进行分析。将要学习和掌握的技术有文本挖掘技术、社会网络分析技术、集成 R 算法的能力、基于矩阵的层次聚类算法等。在学习该案例前首先需要了解以下基本概念。

什么是社会网络?

  • 社会网络是指社会行动者及其间的关系的集合。也可以说,一个社会网络是由多个点(社会行动者)和各点之间的连线(行动者之间的关系)组成的集合。用点和线来表达网络,这个是社会网络的形式化界定。
  • 这里的行动者不但指具体的个人,还可指一个群体、公司或其他集体性的社会单位。每个行动者在网络中的位置被称为“结点(node)”。

行动者之间常见的关系:

  • 亲属关系:父母、子女、夫妻关系等。
  • 正式关系(权威关系):正式角色也是关系性的,如老板/职员、教师/学生、医生/病人关系等。
  • 个人之间的评价关系:喜欢、信任、尊重等。
  • 行为上的互动关系:行动者之间的自然交往,如谈话、参加会议、拜访、提建议等。
  • 隶属关系:如参加一项协会、属于某些俱乐部等。
  • 物质资本的传递:商业往来、物资交流。
  • 非物质资源的转换关系:行动者之间的交往、信息的交换等。
  • 空间关联:城市之间的关系,迁入和迁出。
  • 职位的升迁,地位的流动。

社会网络的形式化表达:

社群图:用于表示一个群体成员之间的关系,由点和线连成的图。根据不同的标准,社群图的种类也不同。

  • 有向图、无向图:根据关系的方向进行划分。
  • 二值图、符号图、赋值图:根据关系紧密的“程度”进行划分。
  • 完备图、非完备图:根据网络中各个成员之间联系的紧密度进行划分。如果一个图中的任何两点之间都相连,则称为完备图,否则为非完备图。完备图很少见,一般图都是非完备图。
  • 矩阵:矩阵中的行与列都代表“社会行动者”,即图中的各点。行与列对应的要素代表的就是各个行动者之间的“关系”。

有向图和无向图:

无向关系:行动者之间的关系没有方向,如参加会议、交流等。无向图仅仅表明重要关系的存在与否。无向图对应的矩阵通常是对称的。

有向关系:行动者之间的关系是有方向的,如借款关系、权力关系等。有向图矩阵通常是不对称的,因为关系通常不是对称的。

二值图、符号图、赋值图:

二值图:如果一种关系的选择项仅有两个:是或不是,在画图的时候,仅仅利用箭头线就可以表示这种二择一的关系,根据这种资料得到的网络图叫做二值图。

符号图:如果我们关注的问题的问题为行动者之间的关系是好、无关系还是不好,我们可以用“+”表示关系好,“0”表示无关系,“-”表示关系不好。根据这种资料得到的网络图叫做符号图。在这类途中,我们可以再箭头上标注相应的符号来表示关系的好坏。

赋值图:如果关系的强度很重要并且可以用一定的数值来表达的话,可以据此构建一个赋值图,把一定的数值赋予每条线上。

邻接矩阵:在社会网络分析中,最常使用的一类矩阵是正方阵,在此方阵中,行和列都代表完全相同的社会行动者,并且行和列排列的顺序相同,矩阵的中的元素可以代表行动者之间的关系或者关系的强度,这样的矩阵称为邻接矩阵。

朋友关系:

亲近关系:

线路与途径:

各个点可以通过一条线直接相连,也可以通过一系列线间接相连。在一个图中的这一系列线就叫做一条“线路”。如果线路中的每个点和每条线都各不相同,则称该线路为“途径”。如 1-2-3-1-2-7-1-7-8 是一条线路,1-2-3-4-5-6-7-8 是一条路径。

长度和距离:

一个途径的长度用构成该途径的线的条数来测量。如途径 1-4-5-6 的长度为

3。

两点之间的距离指的是连接这两点的最短途径的长度,如点 1 和 6 之间有很

多途径,其最短途径 1-6 的长度为 1,故 1 与 6 之间的距离为 1。

距离矩阵:

社会网络分析相关的概念

与“关联性”有关的概念 :

子图:一个图 G 的子图 Gs 的定义是, Gs 中的点集(记作 Ns )是 G 的点集(N)的一个子集,并且 Gs 中的线集( Ls )也是 G 的线集(L)的一个子集, Gs 中的所有线也必须是在 G 中的所有点之间的线。

关联图和成分:对于一个图来说,如果其中的任何两点之间都存在一个途径

(Path),则称这两点是相互可达的,称该图时关联图(connected graph)。也就是说,关联图中的任何两点之间都是可达的。如果一个图不是关联的,就称之为 “不关联图”。一个“不关联图”,可以分为两个或者多个子图,我们称之为关联子图。一个图中的各个关联子图都叫做“成分”(components),它是最大的关联子图。也就是说,“成分”内部的任何点之间都存在途径。但是,成分内部的一点与任何外在于该成分的点之间都不存在任何途径。一个关联图仅仅由一个单一成分构成。其他图主要由一个或多个独立的成分以及一系列孤立点构成。

上图中共包含 4 个成分:2 个关联成分和 2 个孤立成分。

切割点:切割点是指如果去掉这个点,就会增加成分数目的点。没有切割点,子图就会分为两个或多个独立的子群,并且各个子群之间无关联。

与“距离”有关的概念

点的度数:与某点相邻的那些点称为该点的“邻点”(neighborhood),一个点

ni 的邻点的个数称为该点的“度数”(nodaldegree),记作 d(ni),也叫关联度(degree of connection)。一个点的度数就是对其“邻点”多少的测量。实际上,一个点的度 数也是与该点相连的线的条数。如果一个点的度数为 0,称之为“孤立点”(isolate)。在一个有向图中,必须考察线的方向。因此,一点的“度数”包括两类,分别称为

“点入度”(in-degree)和“点出度”(out-degree)。一个点的点入度指的是直接指向该点的点的总数;点出度指的是该点所直接指向的点的总数。

点 5 的度数为:4,点 10 的度数为:2,点 8 的点数为:1

测地线、距离和直径:在给定的两点之间可能存在长短不一的多条途径。两点之间的长度最短的途径叫做测地线。如果两点之间存在多条最短途径,则这两个点之间存在多条测地线。两点之间的测地线的长度叫做测地线距离,简称为“距离”(distance)。也就是说,两点之间的距离指的是连接这两点的最短途径的长度。一个图一般有多条测地线,其长度也不一样。我们把图中最长测地线的长度叫做图的直径。如果一个图是关联图,那么其直径可以测定。如果图不是关联的,那么有的点对之间的距离就没有界定,或者说距离无穷大。在这种情况下,图的直径也是无定义的。

密度:密度指的是一个图中各个点之间联络的紧密程度。固定规模的点之间的连线越多,该图的密度就越大。

密度的测量:在无向图中,密度用图中实际拥有的连线数_l_与最多可能存在的连线总数之比来表示,即密度=2_l_/n(n-1)。在有向图中,有向图所能包含的最

大连线数恰恰等于它所包含的总对数,即 n(n-1),密度=l/n(n-1)(n 表示图的规模,即该图一共有 n 个点)。

农忙季节农户之间互帮互助的关系网络图:

这两个村庄,哪个村庄更容易存活呢?当然第二个图的村庄 2。

平均距离:平均距离(Average Distance)代表了网络中所有成员到达其他成员的平均最短距离。 平均距离越大则说明该网络的节点间跨度越大,凝聚性较低。

与“中心性”有关的概念

“中心性”的研究意义:“权力”在社会学中是一个非常重要的概念。一个人之所以拥有权力,是因为他与他者存在关系,可以影响他人。在一个群体中,我们如何去界定某个人的权利大小?社会网络学者就从“关系”的角度出发,用“中心性”来定量研究权力。人或者组织在社会网络中具有怎样的权力,或者说居于怎样的中心地位,这一思想是社会网络分析者最早探讨的内容之一。

点度中心度:刻画的是行动者的局部中心指数,测量网络中行动者自身的交易能力,没有考虑到能否控制他人

中间中心度:研究一个行动者在多大程度上居于其他两个行动者之间,因而是一种“控制能力”指数

接近中心度:考虑的是行动者在多大程度上不受其他行动者的控制

与“凝聚子群”有关的概念

大体上说,凝聚子群是满足如下条件的行动者子集合,即在此集合中的行动者之间具有相对较强的、直接的、紧密的、经常的或者积极的联系。

研究意义:通过对社会网络的凝聚子群的分析,可揭示社会结构,量化结构。派系:在一个图中,“派系”指的是至少包含三个点的最大完备子图。

  • 派系的成员至少包含三个点;
  • 派系是“完备”的,即其中任何两点之间都是直接相关,都是邻接的;
  • 派系是“最大”的,其含义是,我们不能向其中加入新的点,否则将改变“完备”这个性质。

对社会网络分析的基本概念有所了解后,下面我们开始学习这个案例。工作流如下:

商业目标

业务理解:数据名称:中国最强音微博。该案例所用的数据是中国最强音官方微博数据。其中,字段包括 Author、Weibo、Forward、Time_Weibo、Time_Search、 Count_Reply。如下:

表 1:数据视图

业务目标:寻找意见领袖,为自媒体传播提供参考,另外还要对语义进行聚类,挖掘特征相似用户群体。

数据挖掘目标:建立社会网络图,挖掘意见领袖和微博传播路径,再使用聚类算法对语义进行聚类。

数据准备

第一步,使用数据库节点读取数据,配置如下:

第一步,使用 R 代码段节点,借助 R 的编程能力利用关键字提取提及的微博用户。代码如下:

smartR.out<-smartR.in

library(data.table) library(stringr)

At<-str_extract_all(smartR.in$"Weibo","@\\b\\w*\\b")

textnumber = rep(1:nrow(summary(At)),as.numeric(summary(At)[,1])) smartR.out<-data.frame(提及用户=unlist(At),句子=textnumber)

节点配置如下:

第三步,使用汇总节点,以句子为组,以提及用户为选项建立列表。节点配置如下:

第四步,使用 Apriori 节点通过关联分析算法训练规则。节点配置如下:

计算生成的结果如下:

前项和后项

关联规则是形如 X→Y 的蕴涵式,其中, X 和 Y 分别称为前项和后项 。其中,关联规则 XY,存在支持度和置信度。

假设

的集合。给定一个交易数据库 D,其中每个事务(Transaction)t 是 I 的非空子集,即,每一个交易都与一个唯一的标识符 TID(Transaction ID)对应。关联

规则在 D 中的支持度(support)是 D 中事务同时包含 X、Y 的百分比,即概率;置信度(confidence)是 D 中事务已经包含 X 的情况下,包含 Y 的百分比,即条件概率。如果满足最小支持度阈值最小置信度阈值,则认为关联规则是有趣的。这些阈值是根据挖掘需要人为设定。

第五步,派生规则质量字段。我们定义规则质量=支持度*规则置信度,配置如下:

第六步,对前项和规则质量字段按照降序进行二重排序。配置如下:

第七步,筛选规则质量在 20 以上的记录。配置如下:

第八步,使用派生节点派生边 id 字段。

经过以上八步处理结果如下表所示:

最后在进行社会网络建模之前,需要对字符串数据的前项,后项,边 ID 等字段

插入重新编码的整数型字段,如下图:

意见领袖挖掘

接下来,开始挖掘意见领袖。意见领袖是指在人际传播网络中经常为他人提供信息,同时对他人施加影响的“活跃分子”,他们在大众传播效果的形成过程中起着重要的中介或过滤的作用,由他们将信息扩散给受众,形成信息传递的两级传播。

意见领袖的重要性在不同的产品、不同的目标市场上存在很大的区别。因此,在使用意见领袖时,第一步是通过调查或凭经验或逻辑来确定意见领袖在当前环境中的角色。这一步完成后,就可以利用意见领袖制定营销策略了。

  1. 广告

广告应力图激励人们做意见领袖,或使他们模仿意见领袖。激励包括设计一些活动,鼓励使用者谈论产品或品牌,或者让可能的购买者向使用者询问他们的感受。模仿意见领袖涉及找到一位众所周知的意见领袖——如为跑步器材找到乔伊娜( Florence Joyner)或卡尔·刘易斯(Carl Lewis),使他们认可某一品牌。或者在一则“生活片段”式的广告中,让一位醒目的意见领袖推荐产品,这种广告通常是“偷听到的两个人的谈话,其中一个人向另一个人提供选择品牌的建议。”

  1. 产品质量和顾客抱怨

非常明显的是,消费者会同其他消费者谈论他们有关产品、商店和服务的经历。因此,营销者提供满足或者超过消费者期望的产品是绝对重要的。当顾客的期望未能满足时,企业必须及时妥当地处理顾客抱怨。不愉快的顾客会将其不满平均告诉其他 9 个人。

  1. 市场调查

由于意见领袖接受、解释并向他人传播营销信息,在那些意见领袖作用明显的产品领域和群体里,市场调查的重点应放在意见领袖身上而不是“代表性”样本上。因此,产品使用实验、广告文案的预试和媒体偏好研究,都应当以可能成为意见领袖的个人为样本。使意见领袖接触企业的营销组合策略并做出良好反应是成功的关键。当然,在那些意见领袖影响小的产品领域或群体内,使用这种策略或许并非明智之举。

  1. 赠送产品样品

赠送样品,即将产品样品送给一个潜在的消费群体使用,是激发人们传播该产品信息的有效方法。在一项研究中,随机选择一群妇女,免费送给他们新速溶咖啡样品。结果发现,一周之内 33 %的样品获得者与家庭以外的人谈论到这种咖啡。营销者不能随机选择样本,而应该尽量将产品送到可能成为意见领袖的人手中。克莱斯勒公司为了引入它的 L H 汽车—无畏(Dodge Intrepid)、统一

( Chrysler Concorde)和鹰眼(Eagle Vi s i o n),向 6000 名可能的意见领袖提供新车,让他们免费使用一个周末。这些人包括经理和社区首脑,也包括经常提供意见但却不受瞩目的人,如理发师。随后的市场调查发现,有 32 000 多人驾驶或乘坐了这种汽车,而其口头赞誉则流传更广。

  1. 零售与个人推销

零售商或推销员有成千上万的机会使用意见领袖。服装店设计了“时尚意见委员会”,由目标市场中可能成为服装款式意见领袖的人组成。面向青少年的商店使用的活跃分子和班级干部也是意见领袖。餐馆老板也可以向目标市场中的可能领袖做出特别邀请,或提供二兑一的赠券,以及菜谱等等。零售商或推销员可以鼓励现有顾客向潜在的新顾客传达信息。例如,一位现有的顾客带来一位朋友看车时,汽车推销员或经销商就可以为他免费地洗车或加油。不动产商可以为顾客或可以带来新顾客的其他人提供一张在豪华餐厅享用双人餐的赠券。

  1. 识别意见领袖

意见领袖可以通过社会学技术,或者关键信息的提供和自行设计的问卷来识别。如果想要知道一个产品在全国范围内的意见领袖,又当如何呢?意见领袖的辨认是不容易的,因为他们与被影响的人们十分相像。意见领袖大量地使用大众媒体,尤其是那些与其意见领域相关的媒体,由此为识别意见领袖提供了线索。例如,耐克推测《跑步者世界》的订阅者可能是散步鞋和跑鞋等产品的意见领袖。同时,由于意见领袖很合群,喜欢加入俱乐部和社团,耐克也可将当地跑步俱乐部的成员,特别是俱乐部的活跃分子作为意见领袖。某些产品领域有职业性的意见领袖。对于家禽产品,乡村推广机构一般都颇具影响力;理发师和发型师可以充当护发产品的意见领袖;药剂师则是很多保健护理品的重要意见领袖;计算机专业的学生,也自然而然地成为其他打算购买个人计算机的学生的意见领袖。

分为三步进行:

第一步,使用选择节点剔除缺失值,保证数据质量。配置如下:

第二步,使用对象插入节点将特征添加到网络中。配置如下:

第三步,使用网络视图创建社会网络图。配置如下:

从网络图中可以看出,没有我们想要的意见领袖,只有一些亲密的群组。主要原因是我们本次只选择了一部分数据,因此没有呈现真实网络的全貌。

语义聚类

接下来要分析的是:通过中文分词的办法对微博内容进行分析,对每句话中出现的名词进行聚类,从而将语句进行相似性划分,即语义聚类。

进行语义聚类的过程如下:

第一步,使用中文节点对博文进行分词。节点配置如下:

其中,自定义词汇是通过 Excel 节点进行定义的,如下:

再使用过滤节点过滤一些字段,配置如下:

第二步,过滤噪声词。使用噪声词过滤节点将分词结果中无效的词过滤掉。配置如下:

第三步,选择要分析的词。

首先,使用 excel 节点定义要保留的类别。配置如下:

然后,使用参考行过滤节点将词性为名词和自定义的记录筛选出来。配置如下:

第四步,数据转换。

首先,使用过滤节点删除字段 Auther、计数。

其次,使用旋转节点生成以 MID 组,分词为支点,词性为选项的关联矩阵。节点配置如下:

然后,使用过滤节点修改字段名称。配置如下:

第六步,使用 K-means 聚类节点进行聚类。执行后,可右键该节点查看树状图。节点配置如下:

聚类结果和视图分别如下:

小结

通过这个案例我们重点掌握了意见领袖挖掘和语义聚类的方法。但是该案例进行到这里还远远没有结束,比如需要进一步优化聚类结果,还需要将聚类结果和之前的表合并,了解具体哪些语句分到了一起,还有每个语义类的特征是什么。只有深入了解了这些问题才可以辅助决策,为营销推广提供有价值的建议。

[TOC]