当前位置:文档之家› 基于微博影响力的评价模型(最终版)

基于微博影响力的评价模型(最终版)

可编辑 精品文档,欢迎下载 基于微博影响力的评价模型

摘要 本文研究的是微博用户和微博的影响力,以及最大好友圈和消息最佳发布问题。 对于问题一,首先,我们查阅相关文献,基于已给数据将用户粉丝数量,用户和粉丝的活跃度,粉丝的专注度作为我们评价微博用户影响力的指标。根据这 些指标,我们对题目所给表格中的数据进行统计,将得到的结果作为各个用户在各指标下得到的分数。然后,我们建立了熵权模型,将这些数据进行标准化处理,对各个指标的权重进行了计算,分别得到了在不同人数的微博环境下各指标在评价用户影响力时所占权重。最后,将各指标下分数与权重相乘,再将各个用户的所有指标分数求和得到最终用户影响力评分。将其排序筛选后,得到影响力最大的十个大V编号。 对于问题二,首先,在问题一所建立模型的基础上,我们确立了将微博被转发次数和转发人的影响力作为我们评价微博影响力的指标。然后,我们统计了各条微博在各指标下的数据。其次,我们利用熵权模型将数据标准化处理,并求出了这两个指标在评价微博影响力时所占权重。最后,我们将各微博各指标下分数与权重相乘,并将所有指标分数求和得到最终微博影响力评分。将其排序筛选后,得到影响力最大的十条微博消息。 对于问题三,首先,我们根据题目对于好友圈的定义,将M={(i,j)}定义为关注情况矩阵,即第j用户关注第i用户的情况。进而将多人相互关注的关系用函数关系式表达出来,将所有符合条件的用户编号写入矩阵E中。然后,先通过对符合两两关注情况的用户进行筛选,再从筛选好的用户中逐步添加用户,判断是否为三人相互关注,四人相互关注,直至好友圈内不能再添加人为止。此时的 好友圈为最大好友圈。最后,我们通过循环算法实现上述过程,得到了2000人微博环境下10人为最大好友圈,10000人微博环境下13人为最大好友圈,并求出了好友圈中所有用户的编号。 对于问题四,我们将其转化为优化问题,建立了0-1规划模型处理。首先,将用户发布消息与微博用户之间相互关注的情形转化为0-1矩阵(0表示用户未发布消息或表示微博用户之间未相互关注,1则反之),分别表示为x和A。这样若某用户能看到消息,则x与A转置后的矩阵乘积大于等于1。然后,我们将其推广至所有用户,将该问题转化为目标函数为发布消息的人数最少,约束条件为x与A转置后的乘积全部大于等于1的优化问题。最后,我们通过matlab中自带的遗传算法求得最小用户数。但发现效果并非很好。又采用了贪婪算法,求得了2000人微博环境下发布该消息的用户数最少为93人,10000人微博环境下则为249人。 本文建立的模型在已有文献的基础上有一定的改进,求解算法科学,定位速度更快,定位精度更高,有一定的实用和推广价值。

关键词:微博影响力 熵权模型 遗传算法 贪婪算法可编辑 精品文档,欢迎下载 1 问题重述 1.1 问题背景 微博,作为互联网上新兴应用,由于智能手机的普及,使得其运用变得极其方便,从而吸引了大量的注意力。而微博上的大V用户往往有着很大的影响力,如何正确而有效的评价用户影响力是需要关注的应用问题之一。 1.2数据集 数据文件data1.xls和data2.xls分别包含了当用户总量为2000和10000时这些用户的相互关注数据,每一行为该行号对应的用户对其它用户的关注信息。 数据文件data3.xls和data4.xls分别为当用户总量为2000和10000时这些用户发布或转发的消息数据,每一行为该行号对应的用户发布或转发的消息编号。 1.3 提出问题 根据上述问题背景及数据,题目要求我们建立数学模型讨论下列问题。 (1) 对具有较大影响力的大V定义合适的影响因子,并且找出影响力最大的十个大V。 (2) 某些微博消息,被大量的用户关注和转发,因而具有很大的影响,请找出影响力最大的十条消息。 (3) 在微博中,相互关注的用户被称为好友,对于一个群体,如果他们相互之间均为好友,则称为好友圈,请找出人数最多的好友圈。 (4) 假设一微博用户发布的消息,其粉丝都会看到,如果要发布一则消息,确保所有用户都能看到(不考虑转发),请选择一种发布该消息的用户数最少的方案。

2 模型假设 (1)用户之间不会因为消息的转发而对消息的原创者进行关注,即关注是在初始状态下不会改变的。 (2)忽略各条微博影响力的时效性,即微博影响力随时间是不变的。 (3)假设所有用户均非长期不上线用户。 (4)不考虑同一用户多次转发同一消息的情况。 (5)用户只能由关注对象发布后才能看到或转发消息。 可编辑 精品文档,欢迎下载 3 符号说明 ijb 第i个微博用户或微博消息的第j个指标标准化后的值

jw 为熵权法模型中所得的第j个指标的权重

ijS 第i个微博用户或微博消息的第j个指标的最终分数

jH 第j列数据所属指标的熵值

ija 第i个微博用户与第j个微博用户建立起的关注矩阵 注:其余符号在文中使用时说明。

4 问题分析 4.1问题一 问题一要求我们分别在2000人和10000人的微博环境下,对用户的影响因子进行定义,并筛选出影响力前十的用户。 首先,经查阅文献[1],并基于已给数据,我们确定了用户的影响力指标可由名人指标和粉丝指标两项决定,将这两个指标作为一级指标。名人指标又由博主活跃度和粉丝数量两个指标决定。而粉丝指标又由粉丝活跃度和粉丝专注度两项指标决定。将这四个指标作为二级指标(如图1所示)。其中,活跃度由博主或粉丝发布或转发微博数量反映。 可编辑

精品文档,欢迎下载 名人指标 粉丝指标 用户影响力

用户粉丝数量 用户活跃度 粉丝活跃度 粉丝专注度 图1 用户影响力评价指标体系

其次,根据选好的指标,我们通过matlab程序对已给数据进行统计,求出各用户所关注的人数,发布或转发的微博数量,以及各用户被关注的人数。然后对各项指标下的数据进行标准化处理,作为各用户各项指标的得分,使用熵权法算出各项指标的权重。 最后,将各指标下的分数与权重相乘,再将各指标下处理后的分数相加,作为各用户影响力评判的最终得分。根据分数高低进行排序,筛选出影响力为前十的用户。

查阅文献,确立影响因子统计各用户关注人数和被关注人数以及发布或转发微博数量

统计数据标准化处理作为各指标下得分

熵权法确定各指标权重

利用权重对各指标分数进行处理,求和得最终得分将分数进行排序,

筛选出影响力最大的前十名用户

图2 问题一思路流程图 4.2 问题二 问题二要求我们确定评价微博消息影响力的指标,并依照这些指标进行评分,进而排序和筛选出影响力前十名的消息。 首先,由题意可知,微博消息影响力主要由微博被转发次数和转发人的影响力决定。所以,我们将这两个因素作为评价微博消息影响力的两个指标。并且,可编辑 精品文档,欢迎下载 对各条微博消息被转发次数以及所有转发人的影响力进行统计,得到统计结果。可编辑

精品文档,欢迎下载 其次,我们将得到的统计结果进行数据的标准化处理,得到两指标下的处理后的分数。再利用熵权法求出两项指标的权重。 最后,将权重与各指标分数相乘,对各指标分数求和,得到各条微博消息的影响力评分,将其排列并筛选出影响力前十名的消息。

4.3 问题三 问题三要求我们求出2000人和10000人环境下的最大好友圈,这实则是最大团问题。 首先,根据定义好友圈中的每个人都和圈中其余的人互相关注,所以,构成好友圈的用户一定有好友,即和某人互相关注。由此,我们可以缩小数据规模,只考虑存在相互关注情况的用户,故可将两两关注的情况可以列出。本文则采用循环算法从小到大找到最大的好友圈。 其次,若已知两人构成好友圈,若有第三人与这两人构成好友圈,就说明第

三人与这两人都相互关注。如此类推至第四人,第五人至第N人,直至已有M

人的朋友圈内的任意一个人都找不到1M个人加入该好友圈,则该好友圈已为最大好友圈 最后,我们通过不断循环求解,得到在2000人微博用户环境下最大好友圈内人数为10人,10000人微博用户环境下最大好友圈内人数为13人。

1

234N……

图3 好友圈确立示意图 4.4 问题四 问题四要求我们求出在发布某消息的用户数最少的情况下,使所有用户都能看到的最少用户数量。 首先,将用户发布消息与微博用户之间相互关注的情形转化为0-1矩阵,分别表示为x和A。这样若某用户能看到消息,则矩阵x与A转置后的矩阵乘积大于等于1。 然后,我们将其推广至所有用户,将该问题转化为以发布消息的人数最小值为目标函数,以x与A的乘积全部为1的列矩阵为约束条件的优化问题。 最后,使用遗传算法和贪婪算法对其求解即可。

5 模型建立与求解可编辑 精品文档,欢迎下载 5.1 问题一的模型建立与求解 5.1.1 数据统计 经查阅文献,我们已确立了将博主活跃度和粉丝数量,粉丝活跃度和粉丝专注度作为我们的二级指标,也是我们需要统计的对象(统计结果如下列表格所示,表1至表4为2000人微博环境下各指标统计结果,表5至表8为10000人微博环境下各指标统计结果,所有表格只展示用户编号为前50名的结果)。

表1 博主粉丝数量的统计结果(2000人微博环境) 用户编号 粉丝数量(单位/个) 用户编号 粉丝数量(单位/个) 1 26 26 26 2 22 27 18 3 23 28 11 4 21 29 17 5 23 30 32 6 18 31 19 7 21 32 25 8 21 33 21 9 25 34 24 10 13 35 22 11 26 36 23 12 19 37 20 13 33 38 20 14 27 39 22 15 23 40 17 16 29 41 26 17 21 42 25 18 26 43 19 19 21 44 26 20 28 45 18 21 28 46 25 22 11 47 22 23 20 48 22 24 17 49 17 25 15 50 27

表2 用户发布或转发微博数量的统计结果(2000人微博环境) 用户编号 用户微博数(单位/个) 用户编号 用户微博数(单位/个) 1 25 26 21 2 27 27 20 3 28 28 18 4 27 29 21

相关主题