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

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

基于微博影响力的评价模型摘要本文研究的是微博用户和微博的影响力,以及最大好友圈和消息最佳发布问题。

对于问题一,首先,我们查阅相关文献,基于已给数据将用户粉丝数量,用户和粉丝的活跃度,粉丝的专注度作为我们评价微博用户影响力的指标。

根据这些指标,我们对题目所给表格中的数据进行统计,将得到的结果作为各个用户在各指标下得到的分数。

然后,我们建立了熵权模型,将这些数据进行标准化处理,对各个指标的权重进行了计算,分别得到了在不同人数的微博环境下各指标在评价用户影响力时所占权重。

最后,将各指标下分数与权重相乘,再将各个用户的所有指标分数求和得到最终用户影响力评分。

将其排序筛选后,得到影响力最大的十个大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 符号说明注:其余符号在文中使用时说明。

4 问题分析4.1问题一问题一要求我们分别在2000人和10000人的微博环境下,对用户的影响因子进行定义,并筛选出影响力前十的用户。

首先,经查阅文献[1],并基于已给数据,我们确定了用户的影响力指标可由名人指标和粉丝指标两项决定,将这两个指标作为一级指标。

名人指标又由博主活跃度和粉丝数量两个指标决定。

而粉丝指标又由粉丝活跃度和粉丝专注度两项指标决定。

将这四个指标作为二级指标(如图1所示)。

其中,活跃度由博主或粉丝发布或转发微博数量反映。

图1 用户影响力评价指标体系其次,根据选好的指标,我们通过matlab程序对已给数据进行统计,求出各用户所关注的人数,发布或转发的微博数量,以及各用户被关注的人数。

然后对各项指标下的数据进行标准化处理,作为各用户各项指标的得分,使用熵权法算出各项指标的权重。

最后,将各指标下的分数与权重相乘,再将各指标下处理后的分数相加,作为各用户影响力评判的最终得分。

根据分数高低进行排序,筛选出影响力为前十的用户。

图2 问题一思路流程图4.2 问题二问题二要求我们确定评价微博消息影响力的指标,并依照这些指标进行评分,进而排序和筛选出影响力前十名的消息。

首先,由题意可知,微博消息影响力主要由微博被转发次数和转发人的影响力决定。

所以,我们将这两个因素作为评价微博消息影响力的两个指标。

并且,对各条微博消息被转发次数以及所有转发人的影响力进行统计,得到统计结果。

其次,我们将得到的统计结果进行数据的标准化处理,得到两指标下的处理后的分数。

再利用熵权法求出两项指标的权重。

最后,将权重与各指标分数相乘,对各指标分数求和,得到各条微博消息的影响力评分,将其排列并筛选出影响力前十名的消息。

4.3 问题三问题三要求我们求出2000人和10000人环境下的最大好友圈,这实则是最大团问题。

首先,根据定义好友圈中的每个人都和圈中其余的人互相关注,所以,构成好友圈的用户一定有好友,即和某人互相关注。

由此,我们可以缩小数据规模,只考虑存在相互关注情况的用户,故可将两两关注的情况可以列出。

本文则采用循环算法从小到大找到最大的好友圈。

其次,若已知两人构成好友圈,若有第三人与这两人构成好友圈,就说明第三人与这两人都相互关注。

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

……图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 26 26 262 22 27 183 23 28 114 21 29 175 23 30 32 61831198 21 33 219 25 34 2410 13 35 2211 26 36 2312 19 37 2013 33 38 2014 27 39 2215 23 40 1716 29 41 2617 21 42 2518 26 43 1919 21 44 2620 28 45 1821 28 46 2522 11 47 2223 20 48 2224 17 49 1725 15 50 27表2 用户发布或转发微博数量的统计结果(2000人微博环境)用户编号用户微博数(单位/个)用户编号用户微博数(单位/个)1 25 26 212 27 27 203 28 28 184 27 29 215 28 30 246 23 31 267 27 32 268 24 33 199 29 34 2410 17 35 2111 26 36 2812 21 37 2613 21 38 2314 28 39 3015 26 40 2016 34 41 2117 29 42 2218 20 43 2319 21 44 2520 26 45 2021 25 46 1623 20 48 2524 23 49 3125 27 50 30表3 用户粉丝发布或转发微博数量的统计结果(2000人微博环境)用户编号粉丝活跃度用户编号粉丝活跃度1 984 26 2592 943 27 3673 367 28 8254 484 29 9845 804 30 5386 325 31 2517 466 32 5308 705 33 3129 256 34 50410 317 35 59111 130 36 55712 922 37 89013 731 38 27814 454 39 20115 204 40 59516 567 41 72517 414 42 29618 356 43 41919 262 44 58320 225 45 57521 487 46 97522 513 47 76923 628 48 83424 825 49 51825 660 50 951表4 用户所关注他人人数的统计结果(2000人微博环境)用户编号粉丝专注度用户编号粉丝专注度1 934 26 2932 861 27 3553 327 28 7514 487 29 8245 738 30 4876 324 31 2647 444 32 5838 655 33 2889 274 34 49810 300 35 56011 109 36 54612 991 37 84913 755 38 28514 491 39 18915 213 40 60616 618 41 69717 359 42 26618 363 43 37719 260 44 52120 242 45 63921 442 46 102022 484 47 80523 610 48 77924 764 49 49225 660 50 931表5 博主粉丝数量的统计结果(10000人微博环境)用户编号粉丝数量(单位/个)用户编号粉丝数量(单位/个)282 2786390 2880493 2990593 3074695 3175774 3273887 3385987 34881083 35801196 36911271 37781381 38771487 399115106 40861688 41841788 42791899 43741987 447520104 45882182 46712282 47722381 48912488 49842589 5082表6用户发布或转发微博数量的统计结果(10000人微博环境)用户编号用户微博数(单位/个)用户编号用户微博数(单位/个)152 2659261 2740345 2852449 2943533 3051650 3157743 3245843 3358956 34581045 35551144 36581246 37401355 38561446 39491546 40381656 41511741 42521842 43581954 44432034 45452136 46442250 47482350 48492454 49352547 5058表7 用户粉丝发布或转发微博数量的统计结果(10000人微博环境)用户编号粉丝活跃度用户编号粉丝活跃度16411 2688527622 27220334289 28178043450 29785051149 307767 6629 317466 74427 327598 84087 332127 91085 345893 101259 356369 11792 366650 126493 376297 134161 381292 142436 396114 155594 402262 163291 416275 176970 425596 186759 431561 192726 445177 204956 451058 214055 462134 221145 477763 231675 48780 243123 49781 256481507484表8 用户所关注他人人数的统计结果(10000人微博环境)用户编号粉丝关注度用户编号粉丝关注度111416 261615 213339 27446 36896 283738 46439 2914531 52094 3013536 61021 3113930 78727 3213855 88257 333881 91828 3410709 102231 3512279 111208 3611754 1211727 3711130 137470 382237 143901 3911168 159265 403956 165921 4111113 1712146 429637 1811521 43309719 4737 44 9495 20 9378 45 1762 21 7103 46 3890 22 2355 47 14268 23 2777 48 1282 24 4955 49 1272 251147450145295.1.2影响力评价模型的建立鉴于指标集都是有具体的数据,我们采用客观赋权的方法——熵权法,对各个指标进行赋权,进而建立线性综合评价模型。

相关主题