APP下载

融合用户情感评分的节点专业影响力分析

2018-07-25王仁武张文慧华东师范大学经济与管理学部信息管理系上海200241

现代情报 2018年7期
关键词:数据挖掘影响力领域

王仁武 周 威 张文慧(华东师范大学经济与管理学部信息管理系,上海 200241)

社交网络是一个无标度网络[1],其无标度性质决定了少数具有较高度数的节点统治着网络,这些极重要的节点即是本文研究的“影响力节点”。“影响力节点”用户对其他节点具有较大的影响力,他们能够在更大程度上影响到网络的结构和功能,甚至控制信息的传播和流通,对舆论的发展起着关键性的导向作用。因此,识别影响力节点是极其重要的。在社交网络中,影响力节点通常又是多主题的,会针对各种不同专业领域的热点问题发表言论见解。在他们擅长的领域内,他们是这个领域中的权威,而在其不擅长的领域中,他们就成了一般意义上的“听众”。“专业影响力节点”特指在某个专业领域内有权威的影响力节点,相对于一般意义上的“影响力节点”而言,“专业影响力节点”在其擅长的专业领域内拥有更强的影响力,能够更为有效的控制领域内信息的传播和流通。

基于互联网的社交网络节点数据的可获得性,为社交网络用户节点影响力的定量计算带来方便。目前比较多的研究节点影响力的方法是基于复杂网络分析技术的中心度方法,苑卫国等[2]认为节点的重要性指标可以用来分析节点的影响力,例如节点的度中心性、介数中心性、紧密中心性、k-core等都能一定程度地表示节点影响力,并且通过实验证明,紧密度和k-core较其他指标可以更加准确地描述节点在信息传播中所处的网络核心位置。这类方法一定程度上可以解决节点影响力的度量问题,但指标尚显单一。韩忠明等人[3]则较全面地从拓扑结构、行为特征、内容特征这3个维度来度量节点影响力。其中内容维度包括了话题分析、新颖度敏感度分析、文本倾向性分析、文本相似性分析。但是该文并没有考虑用户(其关注者)的观点,在专业领域中,节点的专业影响力与熟悉该领域的用户对其的认可有关,所以需要纳入用户评价的测度。

本文以新浪微博社区为例,对其中的专业影响力节点进行挖掘和评估时,除了需要考虑节点本身的微博吸引力、微博转发数等基本特征之外,还引入了节点的领域相关度和情感支持度两个新的评价指标来改进和优化算法。

1 相关研究

节点影响力的评估首先需要科学合理的评价指标。社交网络中的评价指标可选范围非常广泛,基于用户行为的评价指标经常使用的是转发、评论、提及3种行为,Cha M[4]等人根据这3种行为评估Twitter用户的影响力并分析了这3种行为所表征的用户影响力类型。齐超[5]等综合分析用户的转发、评论、提及3种行为,结合PageRank算法提出一种基于用户行为综合分析的微博用户传播影响力评价算法。时间维度对于用户影响力的评估同样是一个关键指标,Chen S[6]基于PageRank思想,结合时间维度建立用户实时影响力算法(MURank),通过微博用户之间的转发关系,对用户进行影响力测量评估,相比于现有算法,该算法能够体现用户影响力随时间变化的特征,算法也具有不错的收敛性。

专业影响力节点的识别需要计算用户的专业权威性,用户专业权威度计算可以采用影响力节点分析时常用的链接分析技术,一个具有权威性的用户会被大量链接所指向。大多数使用链接关系进行影响力节点挖掘的研究中,多是基于PageRank算法的改进。国外基于推特的研究就产生了类似TwitterRank[7],InfluenceRank[8]等PageRank改进算法。这类方法能够比较客观合理地给出用户影响力的度量。然而这些方法是针对一般意义上的“影响力节点”的挖掘,无法有效的识别和挖掘“专业影响力节点”。主要原因在于PageRank算法忽略了粉丝的情感观点的倾向性对于节点影响力大小的影响,通常情况下,转发和评论等互动行为会出现在粉丝比较支持博主观点的情况下。

另外,因链接分析方法只考虑了社交网络的结构特征,而忽视社交网络信息的生成传播,即没有考虑内容分析。因此刘济群[9]对基于内容的节点影响力度量的方法进行了综述,在内容分析方面比较多的是采用LDA主题模型的分析框架。

本文在借鉴已有研究成果的基础上,利用领域字典和话题识别模型对主题进行限定,从而降低主题漂移带来的影响;然后结合节点的微博数量、转发数量、粉丝数量、领域相关度等基本特征,并深入挖掘微博评论中的情感观点特征,利用节点之间的关注关系构建链路结构,在此基础上提出基于PageRank算法改进的Domain Rank算法来识别和挖掘社交网络中的专业影响力节点。

2 节点专业影响力分析模型

本文设计的节点专业影响力分析模型如图1所示。首先在相关研究文献的基础之上构建和节点专业影响力相关的评估指标,然后确定研究的专业领域,通过构建领域字典进行社交网络话题限定,通过话题识别对全网的社交网络用户进行定向主题筛选,确认某用户是否关注该领域,从而识别出关注该领域的社交网络用户,并筛选出该领域最有代表性的话题以及谈论这些话题的用户;然后构建情感字典对用户谈论话题的用户评论进行情感评分;进一步需要基于关注关系的链接分析方法来识别和评估这些用户在该领域的贡献以及权威性;最后在实证分析中,通过专家背景调研对专业影响力节点进行分析解读从而能评估结果的准确性。

2.1 领域字典构建与社交网络数据采集

构建领域字典的目的是方便将所抓取的社交网络的话题内容限定在该领域的范畴内。为了构建目标领域的字典,本文选择知乎网作为语料采集对象。知乎网是目前国内最专业的问答社区,这里的问题和答案相比百度知道更加专业完善,利用从知乎网中采集下的文本数据经过分词和提取并采取TFIDF算法处理,筛选出最能够代表这个领域话题的关键词,通过分词和话题识别,发现具有代表性的关键词及词块(一组相关词)。同时,知乎网的口语化问答交流方式与社交网络例如新浪微博等社交媒体用户的信息表达方式比较匹配。

本文以新浪微博为例,通过其数据接口,采集微博数据。存放采集的微博数据库中包括4张核心数据表。

表A——用于存储单条微博的详细信息,主要字段有微博ID、用户ID、昵称、微博文本、发布时间、转发数、评论数;

表B——是所有用户所在的表,包括用户个体的详细信息,主要字段有用户ID、昵称、性别、地区、主页微博ID、关注数、粉丝数、微博数、简介;

表C——是用户之间的关注关系,每条记录表示一条关注关系,这个关系是有向的,主要字段有关注者ID、关注者昵称、被关注者ID、被关注者昵称;

表D—用于存储微博的评论详细信息,主要字段包括微博ID,评论者ID,评论时间,评论内容。

2.2 基于关键词共现的话题识别

话题总是涉及某一领域的主题,而专业影响力节点往往是指某一特定领域的影响力节点,所以首先要确定领域主题。在专业影响力节点识别时要注意的是通常来说用户擅长的不仅是领域中单独的一个主题,而是相近似的多个主题。比如一个用户在音乐领域中的声乐方面表现突出,那么他有很大可能会在乐器这一领域也有一定量的高质量内容发布。所以社交网络中的专业影响力节点的识别需要结合某领域的多个主题来分析。

图1 社交网络中专业影响力节点识别的模型

目前比较主流的话题识别方法有LDA主题模型[10]、PLSA潜在语义识别模型[11]、模块化话题聚类算法以及其它改进版本。因领域中的专业节点讨论的话题会涉及多主题,前述的话题识别方法会产生主题漂移,所以本文采用关键词共现的话题识别方法[12]。

2.3 节点专业影响力评估的指标选择

本文在对微博社区中的专业影响力节点进行挖掘和评估时,除了需要考虑节点本身的微博吸引力、微博转发数等基本特征之外,还引入了节点的领域相关度和情感观点支持度两个新的评价指标来改进和优化算法。

2.3.1 微博吸引力

微博吸引力定义为微博数量/粉丝数量。在实际应用中,微博吸引力比微博数量更能客观准确的衡量微博内容的质量。因为一个没有粉丝或者粉丝数量非常少的节点即使经常发微博也不会产生很强的专业影响力。节点的微博质量越高,吸引力就越大,从而也会产生越大的影响力。因此,微博吸引力同节点影响力正相关。将节点微博数量/粉丝数量归一化处理得到其微博吸引力,计算方法如下:

(1)

其中,Mblogs是节点i的微博数量,Followers是节点i的粉丝数量。

2.3.2 微博转发次数

转发是微博中的一个重要功能,通过转发就可以将自己看到的信息分享给自己的粉丝,微博转发过程中会产生转发网络,转发网络的形成进一步扩大了信息的传播范围和覆盖面。因此,节点微博被转发频次越高,其产生的影响力也就越大。与微博吸引力的计算类似,对节点i微博的总转发次数也采取归一化处理:

(2)

其中,Rnumsk是节点i的第k条微博的转发次数。

2.3.3 领域相关度

在社交平台中,用户一般都是同时关注多个领域的,为了计算节点的专业影响力,需要将节点的主题范围限制在固定的专业领域内。因此,我们定义了节点的领域相关度指标,领域相关度指的是用户其微博同某个专业领域的相关程度,如果用户经常发送该领域的相关信息,则其领域相关度较高。在基于文本挖掘的微博主题相关度的研究中[13],通常采用以下公式来计算:

(3)

其中,j为微博编号,k表示主题词库中的词,m表示领域字典中主题词的数量,p(j,k)表示第j条微博中的第k个主题词的权重,权重使用TFIDF计算出来,θ表示微博是原创还是转发。

但由于微博文本短、信息量少、特征关键词不足,通过TFIDF方法并不能达到很好的区分微博主题的预期效果。因此,我们采用每个用户和数据挖掘领域相关的微博数量占其所有微博数量的比例作为该节点的领域相关度指标。归一化后的节点领域相关度计算方法如下:

(4)

其中,RelatedNums是节点i的领域相关微博数量,Blogs是节点i的全部微博数量。

2.3.4 情感支持度

目前常见的情感极性分析方法主要有两种:基于情感词典的方法和基于机器学习的方法。本研究使用基于情感词典的情感分析方法,常用的情感词典有台湾大学中文情感词典(NTUSD)、知网(HowNet)、BosonNLP情感词典等。

我们将每位博主所有微博的情感极性得分之和除以总评论数量得到每个节点的情感极性平均分,归一化后的节点情感支持度计算公式如下:

(5)

其中,scoren为节点i第n条评论的情感分值,N为评论数量。

许多学者针对不同的场景分别提出了用户评论情感赋值公式[14],本研究参考已有BosonNLP情感词典增加了情感副词的不同强度划分,并用不同强度的情感副词进行赋值,再利用情感赋值公式对用户评论进行情感倾向分析。在前人研究的基础上,提出情感赋值公式:

Score=-1j(x×k)

(6)

算法设计如下:

1)情感词,x值。调用分词后的评论,与正负两个情感词集匹配相应情感词,出现一个积极词就+1,出现一个消极词就-1。

2)程度词权重,k值。情感词前往往会有一个程度修饰词。如“极好”就比“较好”或者“好”的情感更强,所以需要对情感词前的程度修饰词进行识别,并给不同的程度赋予权值。赋值如表1所示。

表1 程度修饰词赋值表

3)否定词,j值。情感词前存在否定词时,会出现情感的反转。因中文的表达方式为双重否定为肯定,所以在寻找情感词前的否定词时,还需对否定词出现的次数进行计数,如果是单数,情感词的权重为-1;如果是偶数,那情感就没有反转,权重为1。

4)输出值,S值。由于博主经常会和粉丝进行互动,1条微博下面会有几条留言和回复,针对微博评论的这种特点,我们先计算出粉丝每条评论的情感分值,然后将其所有评论的正向情感分值和负向情感分值相加得到粉丝对这条微博的评论的情感分数,最终输出粉丝评论的情感值。

2.3.5 节点领域传播能力

节点的微博吸引力、转发数量、评论情感支持度以及微博的主题相关度等指标之间是相互促进、互为影响的关系,基于上述4个指标可以定义一个新的指标——节点领域传播能力。节点领域传播能力衡量了用户在某个专业领域内对信息传播和流通的控制能力,计算公式如下:

SPi=Ai×Ri×SEi×TRi

(7)

2.4 节点专业影响力评估算法

目前不少研究方法通过关注关系来发现用户网络中的关键人物,比如社交网络中意见领袖、影响者的识别研究。PageRank算法通常用于在社会网络中识别关键影响力节点的研究,算法公式如下:

(8)

其中Mpi是所有对节点Pi有出链的节点集合,L(pj)是节点Pi的出链数目,N为节点总数,α取0.85。

从表达式理解,PageRank算法中页面的PR值是均匀地传递到链出的页面上去的,这样做的结果就是忽略了页面本身的重要程度,因此,为了克服PageRank算法在计算时将PR值均匀地传递到链出的节点这一缺陷,我们将公式7中定义的节点领域传播能力作为分配PR值的标准,根据节点领域传播能力大小来分配PR值。从而使得模型能够更加准确和客观地衡量节点的专业影响力大小。最终基于PageRank算法改进的Domain Rank算法设计如下:

(9)

其中,Mpi是所有对节点Pi有出链的节点集合,N为节点总数,α取0.85,以保证算法收敛,Wij是节点Pj分配给Pi的DR权重,其计算公式如下:

(10)

其中,SPi是节点i的领域传播能力,N为节点j的好友数,从公式上理解,节点j分配给节点i的DR权重是用节点i的领域传播能力占节点j所有好友的领域传播能力之和的比例得到的,如果节点i的领域传播能力强,则分配较大的权重,反之,则分配较小的权重,从而保证了节点DR值的传递是不均匀的。

3 节点专业影响力分析的实证研究

本文尝试在新浪微博中识别数据挖掘领域的专业影响力节点。为了将采集的微博文本限定在数据挖掘领域,先要构建数据挖掘领域词典;然后利用该词典对微博数据中有关数据挖掘领域的微博进行话题识别,从而确定相关领域的用户。通过对这些用户的发表微博数据采集处理、话题聚类,同时根据话题内容和人群聚类结果进行人群划分,筛选出发表内容较专业且属于“数据挖掘”的用户群体作为候选节点;然后计算候选节点用户的领域相关度。通过用户的微博评论数据同时结合情感字典,对候选节点用户进行情感评分。最后通过微博用户的基本信息数据计算节点用户的吸引力和转发数。完成指标计算之后,通过归一化处理获得候选节点的传播力,最终以排序的方式得到专业影响力节点的综合排名结果。

图2 节点专业影响力实证分析过程

3.1 数据挖掘领域词典构建

数据挖掘是一门交叉学科,涉及机器学习、人工智能、信息检索、信息可视化和专家系统等多个领域。这个领域中人们较多关注于相关技术的问题讨论、行业应用、技术发展等。为了构建该领域的字典,本文采集了知乎网数据挖掘版块下的所有提问和答案。利用采集下来的文本数据经过分词和提取等步骤构建好“数据挖掘”的领域字典,表2给出了该字典的部分内容。

表2 数据挖掘领域字典(部分)

3.2 微博数据采集与话题识别

通过3.1节建立好的领域字典,编写Python爬虫程序,我们抓取了2015年8月31日-2016年7月31日这段时间内的所有涉及“数据挖掘”领域字典中关键词的微博。数据按照2.2设计的表格内容抓取,共计67 616条原创微博。对这些数据进行去重和清洗处理后,保留53 120条符合条件的微博记录。通过统计发现这53 120条微博由29 051人发布,绝大多数人在抓取时间跨度内只发布了1条与“数据挖掘”领域相关的微博。进一步发现发布超过两条相关微博的用户有3 100人,超过3次的共有1 561人,而超过5次的只有323人,因此,我们保留了超过3次以上的用户,共计1 561人。然后,对筛选后留下的这1 561个用户的微博文本数据经过分词和提取,分析词与词共现关系,通过模块化词聚类算法,识别出该领域中主要讨论的话题,有算法讨论与研究、技术问题咨询以及数据挖掘在公司的价值和应用。话题识别结果见图3、图4。另外,研究中发现也有一些不相关的话题存在,比如“范冰冰:知识图谱”、“韩庚:知识图谱”这些内容虽涉及“知识图谱”,但其本身并没有讨论知识图谱的知识或者相关研究。最后,通过对多个话题进行郵别,从中筛选出“数据挖掘技术讨论”、“数据挖掘学习与实现”、“数据挖掘招聘”等6个主要话题,将这6个话题集合映射到用户集合,从中筛选出741位用户作为候选节点。

图3 话题例举:数据挖掘技术讨论

图4 话题例举:数据挖掘学习和实现

3.3 专业影响力节点基本信息采集

通过领域词典和话题识别技术对用户进行定向主题筛选后,将保留下的741位用户的基本信息存储在2.1节的表B中。下一步根据这些用户的微博ID信息,通过Python程序爬取了他们2016年8月后发布的微博共计3万条,并将以上信息存储在2.1中定义的表A中。表3中展示了计算节点领域传播能力所需要的粉丝数、微博数、转发数等详细信息的部分示例数据。

表3节点基本信息表(部分)

微博昵称微博数量粉丝数量转发数量36大数据网8176101279402 452nlp1334215115132752 9爱范儿3577210678647970002爱可可爱生活366610121132892 5陈利人4172128770151339 3广告门17901249964542400 3好东西传送门33882963928882 7黄晓庆83621158190195879 9老师木1076721317236874李航博士12024395061752 75

3.4 专业影响力节点领域相关度计算

为了提高计算节点领域相关度的准确性,在计算节点领域相关度之前,需要扩展和完善领域词典。基本思路是:首先结合利用Jieba分词工具对3.2节采集到的数据挖掘领域相关微博进行了预处理,预处理主要包括文本分词、词性过滤、停用词过滤等;然后通过人工挑选的方法从分词集合中挑选出数据挖掘领域的主题词加入领域词典中,最终扩展完善领域词典;下一步通过完善后的领域词典对微博文本进行分类后即可计算每个用户和数据挖掘领域相关的微博数量占其所有微博数量的比例。计算出来的领域相关度结果如表4所示:

表4 节点领域相关度(部分)

3.5 微博评论的情感评分

本文采用基于情感词典的文本情感极性分析方法对粉丝的评论进行情感打分,将用户的情感极性分为正向、负向和中性3类。正向为1分,负向为-1分,中性为0分。本文以BosonNLP情感词典为基础,进一步通过Python爬虫程序抓取了这741个微博用户2016年8月后的所有微博评论,将所有的评论数据存放在2.1节定义的表D中;然后利用Jieba分词工具对这些评论进行分词和去除停用词处理;最后利用Google的Word2Vec算法[15],对大量语料进行无监督学习,将词语转化为高维词向量。通过计算词向量之间的距离,得到与现有情感词极性相同的情感新词,结合现有的BosonNLP情感词典形成一部较为完善的情感词典。

在情感词典的构建过程中我们发现,评论中存在很多“@我的印象笔记”、“@有道云笔记收藏”这样的评论,印象笔记、有道云笔记都是用来收集和整理知识的专业笔记软件,用户收藏微博到笔记的行为,反映出了微博内容符合粉丝的需求,因此,我们将收藏到笔记的行为判断为积极的表现,进行单独计算。

最后,利用2.3节中的公式5和公式6,计算得到这741个节点的情感极性平均分,计算结果如表5所示:

表5 节点微博评论情感极性平均分(部分)

3.6 节点领域传播能力计算

关注关系作为微博主要功能之一,用户可以关注自己感兴趣的人,接受他们发布的信息。不少影响力研究中,关注关系是计算研究的核心数据。为此,我们进一步采集了这741个候选节点的相互关注关系,例如,其中A关注了B,C关注了B则我们记录这两条有向数据为A→B和C→B。通过python爬虫抓取处理,共获取到4 721条有效数据记录。为了使用2.4节中提到链接分析方法挖掘和识别数据挖掘领域中的专业影响力节点,需要利用上文得到的节点基本信息评估指标计算各个节点领域传播能力,节点的领域传播能力使用2.3节的公式7来计算。在计算之前,首先需要对表3、表4和表5提供的各项指标进行标准化处理,以消除数据在量纲和数量级上的差异。经过归一化后的各节点基本信息以及计算出来的领域传播能力如表6所示:

表6 节点基本信息及领域传播能力(部分)

得到各节点的领域传播能力以后,利用2.4节提出的专业影响力节点挖掘算法,最终得到节点的专业影响力排序结果。表7是使用本文提出的专业影响力挖掘框架最终产生的排名前10位的影响力节点。

排名前10位的专业影响力节点分别为:龙星镖局、王威廉、南大周志华、梁斌penny、好东西传送门、马少平thu、老师木、陈利人、张栋_机器学习、西瓜大丸子汤。排名第11~20位的专业影响力节点有:网路冷眼、爱可可爱生活、数据挖掘研究院、李航博士、研究者July、社会网络与数据挖掘、微软亚洲研究院、52nlp、36大数据网、爱范儿。接下来我们对这些用户进行了持续跟踪以及背景调研,发现其中一部分是机构组织账号,如36大数据网、微软亚洲研究院等,另一部分为个人微博。其中个人微博用户都是该领域中具有一定建树的研究人员。比如“张栋_机器学习”为百度科学家、凤巢系统架构师、原GOOGLE研究员;“南大周志华”,为南京大学教授,主要从事人工智能、机器学习、数据挖掘、模式识别等方面的研究;“梁斌penny”为清华大学人工智能方向博士研究生,曾就职于搜狗搜索,承担新闻搜索、个性化新闻、日志挖掘、商业广告系统等开发和研究;研究者july为数据科学在线教育平台“7月在线”创始人。这些用户是在“数据挖掘”领域影响力比较大的节点。

表7 专业影响力节点排名(部分)

综上所述,通过对本文计算出的排名靠前的专业影响力节点在现实生活中的专业背景的调研,确实他们绝大多数都是专业领域权威的专家,这也证明了本文算法具有比较高的正确性。

4 结 语

本文提出了社交网络中专业影响力节点的识别模型。其中利用了话题识别技术找到了用户关注的话题以及关注这些话题的用户,将专业影响力节点的挖掘范围限制在这些用户群体内;以用户的粉丝数量、微博数量、转发数量、领域相关度等特征为基础,同时利用语义分析技术研究微博评论中的情感特征,并基于关注关系构建链路网络,采用Domain Rank算法识别和挖掘社交网络中的专业影响力节点;同时针对最终结果,本文还对其进行调研和专业评估,证实该方法确实成功识别出“数据挖掘”领域的专业影响力节点。

本文对用户的情感评价主要是基于情感词典的情感评分方法。进一步的研究,可以考虑充分利用本文在3.4中用到的词向量技术,利用深度学习的方法来提高情感评分的效果。

猜你喜欢

数据挖掘影响力领域
领域·对峙
天才影响力
基于并行计算的大数据挖掘在电网中的应用
黄艳:最深远的影响力
一种基于Hadoop的大数据挖掘云服务及应用
3.15消协三十年十大影响力事件
传媒不可估量的影响力
新常态下推动多层次多领域依法治理初探
基于GPGPU的离散数据挖掘研究
肯定与质疑:“慕课”在基础教育领域的应用