CN109670136A - 一种基于多策略的微博信息优先采集方法 - Google Patents
一种基于多策略的微博信息优先采集方法 Download PDFInfo
- Publication number
- CN109670136A CN109670136A CN201811633421.2A CN201811633421A CN109670136A CN 109670136 A CN109670136 A CN 109670136A CN 201811633421 A CN201811633421 A CN 201811633421A CN 109670136 A CN109670136 A CN 109670136A
- Authority
- CN
- China
- Prior art keywords
- bloger
- microblogging
- type
- rubbish
- represent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于多策略的微博信息优先采集方法,在采集能力有限的情况下,通过构建多策略的优先采集方法,能够及时有效的获取到博主的信息。首先,通过构建分类模型对博主进行筛选,剔除掉垃圾博主,并根据微博数量和粉丝数量将剩余博主分为三大类。其次,针对不同类别,构建不同的采集策略。通过将大V博主的发博时间聚类,提取大V博主的最佳采集时间;通过博主的微博统计量,训练回归模型并预测博主的活跃度值,根据活跃度值将博主排序。最后,综合三大类的采集策略设计出了多策略的微博优先采集方法,并通过定期更新采集队列保持采集策略的时效性。实验表明本发明不仅可以及时有效的获取热点微博信息,且使得采集数量得到很大的提升。
Description
技术领域
本发明属于文本信息处理领域,具体是设计一种基于多策略的微博信息优先采集方法。
背景技术
微博已经成为国内最重要的信息交流平台之一,国内外的日常新闻,明星的活动,生活中的令人感兴趣的事件都会成为人们讨论的话题,因此每天都会更新大量的与之相关的信息,这些通常被称为热点信息。通过分析微博的热点信息,可以有效的获取网民的关注热点。网络爬虫可以有效的对微博博主的页面信息进行采集,从而及时的获取热点信息。但随着微博博主的巨增,而采集能力又有限的情况下,难以做到实时微博信息采集,因此需要设计合理的优先采集次序来对微博进行采集。通常的采集器效率低主要有以下几个方面的原因:
首先,没有考虑微博大V博主的发表博文时间段和信息采集时间段的时序关系,导致热点信息没有被及时的采集。
其次,部分博主通常发博数量少且内容通常是个人的日常生活信息,不包括热点信息,没有影响力。
最后,微博博主中包括大量潜在的僵尸账号或营销账号,所发微博不仅信息量不足,而且微博数量还较多,这些都在采集的过程中浪费大量的时间,导致正常博主的热点信息不能被及时采集。
发明内容
为解决上述问题,本发明充分利用了博主个人信息、发博时间、发博内容特征,提出并实现了一种基于回归模型的微博信息优先采集策略。此方法可以在爬虫采集能力有限情况下,及时有效的获取博主所发微博。
本发明充分考虑到博主的微博影响力,活跃度,发博时间特征,首先通过对博主进行垃圾博主过滤,其次将博主分为三类,在采集能力有限的情况下,设计了一种基于回归的微博优先采集方法,完成了对不同类别的微博博主的顺序采集。
本发明根据博主的微博影响力,活跃度,发博时间特征将博主分为A、B、C三类,针对不同的博主类型设计不同的采集策略,其中:
A类博主,通常指大V博主(名人微博),粉丝数量很多。虽然这类博主所发微博数量不多,但所发内容经转发、回复、点赞的人数很多,而且内容通常都是热点信息,且影响力巨大。采集器需要保证这类博主的采集优先级,及时获取博主所发微博内容。因此针对A类博主,采集器需要考虑发博时间和采集时间的间隙差,从而进一步的细化大V博主的微博优先采集顺序。
B类博主,通常指政务微博、社会组织微博、草根微博。这类博主发博数量很多,粉丝数量较多,所发微博内容也通常是对热点信息的点评和转发等。这类博主也是本发明关注的重点,通常较多的热点信息都来自该类博主,采集器需要尽可能多的采集该类博主所发的微博。
C类博主,通常指个人微博,特点是发博数量较少,粉丝数量少,这类博主的微博内容多为个人日常生活,虽然偶尔会评论热点事件。但所带来的转发和评论数量不多,影响力也一般。因此采集器只需定期采集该类博主即可。
为实现上述目的,本发明采用如下的技术方案:
一种基于多策略的微博信息优先采集方法,包括以下步骤:
步骤(1)垃圾博主检测
步骤(1.1)构建垃圾微博检测模型
步骤(1.1.1)构建训练数据集,具体如下:
利用爬虫爬取并人工标注一组微博博文数据:G=[(x1,y1),(x2,y2),......,(xn,yn)],其中n代表总微博条数,xi代表第i条微博,其中yi=0表示xi为垃圾微博,yi=1表示xi为正常微博;
对G中微博进行数据预处理,包括分词、去除停用、英文大写转小写、繁体转简体;
对微博博文数据G中的所有微博均选取8个微博特征,从而构成训练数据集,其中8个微博特征包括博主本身的个人信息特征4个:粉丝数、关注数、N个月的发博数量和发博频率,N的取值范围为:3≤N≤5,以及博文内容特征4个:单条微博的长度、单条微博的链接的个数、单条微博图片的数量和包含的人工标定的敏感词汇个数;
步骤(1.1.2)训练垃圾微博检测模型
利用前步构建的训练数据集,采用支持向量机算法,训练得到垃圾微博检测模型,记作H(x),其中,x表示一条微博的8个特征,若H(x)=0表示垃圾微博,H(x)=1表示正常微博;
步骤(1.2)利用训练完成的垃圾微博检测模型进行垃圾博主检测并删除,具体如下:
步骤(1.2.1)获取d1天内,25≤d1≤31,所有微博博主发表的微博集合;
步骤(1.2.2)根据步骤1.1)所述对所有微博进行预处理和特征选择;
步骤(1.2.3)通过训练完成的垃圾微博检测模型H(x)对所有微博进行分类,统计每个博主的垃圾微博条数ξ,若ξ>ξmax,则将该博主归为垃圾博主,其中ξmax为当前博主是否为垃圾博主的阈值,取值范围为:8≤ξmax≤10;
步骤(2)将步骤(1)中检测出的垃圾博主从当前微博博主中剔除,然后分类:
剔除垃圾博主后的博主集合定义为U={(u1,uf1),(u2,uf2),...(un,ufn)},博主特征集合定义为uf={Nfans,Nblog},其中:(ui,ufi)分别代表博主ui和该博主的特征集合数据,Nfans表示粉丝数,Nblog表示日均更博数量;对博主集合U中每一博主ui,作如下处理:
若Nfans>Num1,则为A类型博主,记作UA;
若Num1>Nfans>Num2或Nblog>MB,则为B类型博主,记作UB;
若不满足上述两个条件且Nfans>Num3,则为C类型博主,记作UC;
其中Num1代表第一阈值,取值范围为:20万≤Num1≤80万;Num2代表第二阈值,取值范围为:1万≤Num2≤10万;MB代表第三阈值,取值范围为:3≤MB≤5;NumC代表第四阈值,取值范围为:2000≤Num3≤5000。
步骤(3)确定A类型博主优先采集策略,得到对每位博主的最优采集时间,具体如下:
步骤(3.1)对于任意ua∈UA,获取d2天内,25≤d2≤31,博主ua的博文的发表时间,去除年月日部分,只保留时分秒部分,排序后得到集合T(ua)={t1,t2,...,tn},其中ti代表博主ua的第i条微博的发表时间;
步骤(3.2)将T(ua)利用k-means算法进行聚类,簇中心的个数k定义见公式(1):
其中:δ为权重,取值范围为:0.3≤δ≤0.8,len(T(ua))为集合T(ua)的大小,k为δ和len(T(ua))乘积的向上取整;
步骤(3.3)获取k-means算法的k个簇中心为{tc1,tc2,...,tck},在每个簇中选择时间最大的作为当前簇的最优采集时间,得到对每位博主的k个最优采集时间,记作
步骤(4)确定B类型博主优先采集策略,得到对B类型博主的优先采集列表SortB,具体如下:
步骤(4.1)构建B类型博主采集回归模型,具体如下:
步骤(4.1.1)从B类型博主集合中随机采样n个,45000≤n≤50000,作为B类型博主的种子博主集合:M={ub1,ub2,...,ubn},其中ubi代表随机采样的第i个B类型博主;
步骤(4.1.2)获取种子博主集合M中每个博主ub的微博特征集合x(ub)以及活跃度值y(ub),
其中,x(ub)表示为一个7元组,x(ub)={Nhot,Nblog,Nreply,Nfollow,Nlike,len,type}
其中,Nhot表示博主d3天内微博中包含热点信息的微博条数,25≤d3≤31;Nblog表示博主d3天内的微博条数,Nreply表示博主d3天内收到的回复数量,Nfollow表示博主d3天内中微博被转发的数量,Nlike表示博主d3天内中收到的点赞数量,len表示博主d3天内所发微博的平均长度,type为1代表当前博主是转发型博主,即在微博总数中,转发微博数量大于原创微博数量,否则为0;
y(ub)由公式(2)进行计算得到:
其中:Hblog代表当前博主d4年内所发的微博数量,1≤d4≤3,Hfollow代表博主d4年内微博被转发的总数量,Hreply代表博主d4年内收到的总回复数量,Hlike代表博主d4年内收到的微博的点赞数量;wf,wr,wl分别代表B类型博主转发、回复、点赞所占的权重值,其中:0.5≤wf≤0.7,0.4≤wr≤0.2,0.2≤wl≤0.1,且wf+wr+wl=1;
步骤(4.1.3)依据种子博主集合M中每个博主ub的微博特征集合,构建回归模型训练集:trainset=[(x(ub1),y(ub1)),(x(ub2),y(ub2)),...,(x(ubn),y(ubn))],其中:(x(ubi),y(ubi))代表博主ubi的微博特征集合和活跃度分数值,活跃度分数值通过公式(2)得到;
步骤(4.1.4)利用随机森林算法构建回归模型,并通过训练集trainset进行训练,得到训练好的模型F(u),其中:u代表每个B类型博主的微博特征集合,F(u)则表示该博主的活跃度值;
步骤(4.2)构建B类型博主的优先采集列表SortB
步骤(4.2.1)通过训练好的回归模型F(u)获取每一个B类型博主ub的活跃度值F(ub)
步骤(4.2.2)依据活跃度值F(ub)将B类型博主进行降序排序,得到B类型博主的优先采集列表SortB;
步骤(5)确定C类型博主优先采集策略,得到对C类型博主的优先采集列表SortC,具体如下:
步骤(5.1)获取每个C类型博主uc的d5天内的微博总数量Nblog,以及粉丝数量Nfans,25≤d5≤31;
步骤(5.2)C类型博主的活跃度得分score由公式(3)得到:
其中wf代表C类型博主的粉丝数的权重,wb代表所发微博数量的权重,0.1≤wf≤0.3,0.7≤wb≤0.9且wf+wb=1,Nfans和Nblog则代表C类型博主uc的粉丝数和近d5天内的发博总数量;Nfmax和Nfmin代表所有C类型博主的最大粉丝数和最小粉丝数,Nbmax和Nbmin则代表所有C类型博主近d5天内发的微博总数量的最大值和最小值;
步骤(5.3)依据公式(3),依次计算每个C类型博主的活跃度得分,并降序排序得到C类型博主的优先采集列表SortC;
步骤(6)构建A、B、C类博主的采集队列list,采集器根据采集队列搜集博主信息,具体为:
将C类型博主平均分成三份,即sortC={sortC1,sortC2,sortC3},B、C类博主的采集队列为[SortB,SortC1,SortB,SortC2,SortB,SortC3],即SortB采集了三遍的同时,SortC仅仅采集了一遍;
然后将A类所有博主的采集时间加入B、C类博主的采集队列,即当任意A类博主中的最优采集时间与系统时间相等时,则将对应博主的微博采集需求插入到采集队列list中,遍历A类所有博主的最优采集时间,形成A、B、C类博主的采集队列list;
采集器依据list的顺序,采集博主的信息;
步骤(7)定期执行步骤(2)-(6),重新获取博主的近期信息,重新划定博主类型,训练模型,更新采集队列list并采集博主信息。
有益效果
本发明充分的优势主要体现在以下几个方面:
1)过滤掉垃圾博主,减少了垃圾博文的采集数量。
2)考虑到大V博主所发微博带来的影响力,依据时间轴,可以及时的采集到大V博主所发的微博。
3)根据博主活跃度值创建的优先采集队列,可以大量获热点信息微博。
4)在采集器能力有限的情况下,可以大量采集热点信息,避免获取一些日常生活微博。
实验结果表明,该发明有效改善了在采集能力有限情况下,热点微博信息采集不及时的问题,采集数量也得到明显的提高。
说明书附图
图1、本发明方法流程图。
具体实施方式
下面结合图表和实施例,对本发明的具体实施方式作进一步的详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明提出的方法是依次按以下步骤实现的:
步骤(1)垃圾博主检测
通过博主采集器,获取待采集博主782632个,则待采集博主集合记作U={u1,u2,...,un},其中n为782632。
步骤(1.1)构建垃圾微博检测模型
步骤(1.1.1)构建训练数据集,具体如下:
利用爬虫爬取并人工标注一组微博博文数据:G=[(x1,y1),(x2,y2),......,(xn,yn)],其中n代表总微博条数,xi代表第i条微博,其中yi=0表示xi为垃圾微博,yi=1表示xi为正常微博,其中n取值为5000;
对G中微博进行数据预处理,包括分词、去除停用、英文大写转小写、繁体转简体;
选取8个微博特征,包括博主本身的个人信息特征4个:粉丝数、关注数、3个月的发博数量和发博频率;博文内容特征4个:单条微博的长度、单条微博的链接的个数、单条微博图片的数量和包含的敏感词个数(敏感词汇包括:“打折”、“红包”、“抽奖”、“甩卖”、“淘宝”),敏感词汇人为标注;
步骤(1.1.2)训练垃圾微博检测模型
利用前步构建的训练数据集,采用支持向量机算法,训练得到垃圾微博检测模型,记作H(x),其中,x表示一条微博的8个特征;若H(x)=0表示垃圾微博,H(x)=1表示正常微博,支持向量机算法中惩罚系数C取0.1,选取高斯核函数,核函数参数δ取0.03;
步骤(1.2)利用训练完成的垃圾微博检测模型进行垃圾博主检测并删除,具体如下:
步骤(1.2.1)获取30天内所有微博博主发表的微博集合;
步骤(1.2.2)根据步骤1.1)所述对所有微博进行预处理和特征选择;
步骤(1.2.3)通过训练完成的垃圾微博检测模型H(x)对所有微博进行分类,统计每个博主的垃圾微博条数ξ,若ξ≥10,则将该博主归为垃圾博主;
经过垃圾博主检测,删除垃圾博主1403个,剩余待采集博主781229个。
步骤(2)将步骤(1)中检测出的垃圾博主从当前微博博主中剔除,然后分类:
剔除垃圾博主后的博主集合定义为U={(u1,uf1),(u2,uf2),...(un,ufn)},博主特征集合定义为uf={Nfans,Nblog},其中:(ui,ufi)分别代表博主ui和该博主的特征集合数据,Nfans表示粉丝数,Nblog表示日均更博数量;对博主集合U中每一博主ui,作如下处理:
若Nfans>50万,则为A类型博主,记作UA;
若50万>Nfans>1万或Nblog>5,则为B类型博主,记作UB;
若不满足上述两个条件且Nfans>5000,则为C类型博主,记作UC;
经过分类后,各个博主类别的数量如下表1所示:
表1各个类别微博博主的数量
步骤(3)确定A类型博主优先采集策略,得到对每位博主的最优采集时间,具体如下:
步骤(3.1)对于任意ua∈UA,获取博主ua,30天内博文的发表时间,去除年月日部分,只保留时分秒部分,排序后得到集合T(ua)={t1,t2,...,tn},其中ti代表博主ua的第i条微博的发表时;
步骤(3.2)将T(ua)利用k-means算法聚类,簇中心的个数k定义见公式(1):
其中:δ为权重,len(T(ua))为集合T(ua)的大小,k为δ和len(T(ua))乘积的向上取整。δ取0.3。k-means算法中选取曼哈顿距离作为距离度量公式,初始簇中心随机选择;
步骤(3.3)获取k-means算法的k个簇中心为{tc1,tc2,...,tck},在每个簇中选择时间最大的作为当前簇的最优采集时间,以确保博主在该类别时间段所发的微博都能被及时采集到。因此每位博主能获取到k个最优采集时间,记作
步骤(4)确定B类型博主优先采集策略,得到对B类型博主的优先采集列表SortB,具体如下:
步骤(4.1)构建B类型博主采集回归模型,具体如下:
步骤(4.1.1)从B类型博主集合中随机采样50000个B类型博主作为种子博主集合:M={ub1,ub2,...,ubn},其中ubi代表随机采样的第i个B类型博主,共50000个;
步骤(4.1.2)获取种子博主集合M中每个博主ub的微博特征集合x(ub)以及活跃度值y(ub);
x(ub)表示为一个7元组,x(ub)={Nhot,Nblog,Nreply,NfollowNlike,len,type}
其中:Nhot表示博主近30天微博中包含热点信息的微博条数,Nblog表示博主30天的微博条数,Nreply表示博主30天收到的回复数量,Nfollow表示博主30天中微博被转发的数量,Nlike表示博主30天中收到的点赞数量,len表示博主30天所发微博的平均长度,type为1代表当前博主是转发型博主,即在微博总数中,转发微博数量大于原创微博数量,否则为0;
博主a1和博主a2的微博特征数据如表2所示:
表2博主a1和a2的微博特征数据
y(ub)由公式(2)进行计算得到:
其中:Hblog代表当前博主ub两年内所发的微博数量,Hfollow代表博主两年内微博被转发的总数量,Hreply代表博主两年内收到的总回复数量,Hlike代表博主两年内收到的微博的点赞数量。wf,wr,wl分别代表B类型博主转发、回复、点赞所占的权重值。wf,wr,wl分别取0.5、0.3、0.2;
步骤(4.1.3)依据种子博主集合M中每个博主ub的微博特征集合和活跃度值,构建回归模型训练集:
trainset=[(x(ub1),y(ub1)),(x(ub2),y(ub2)),...,(x(ubn),y(ubn))],
其中:(x(ubi),y(ubi))代表博主ubi的特征集合和活跃度分数值,活跃度分数值通过公式(2)得到;
若博主a1和博主a2作为训练集,则得到:
步骤(4.1.4)基于训练集trainset和随机森林算法构建回归模型:F(u),随机森林算法中,基模型个数选取500个,每个树的深度默认为10;
步骤(4.2)构建B类型博主的优先采集列表SortB;
步骤(4.2.1)通过回归模型F(u)获取每一个B类型博主ub的活跃度得分F(ub);
步骤(4.2.2)依据活跃度得分将B类型博主进行降序排序,得到B类型博主的优先采集列表SortB;
步骤(5)确定C类型博主优先采集策略,得到对C类型博主的优先采集列表SortC,具体如下:
步骤(5.1)获取每个C类型博主uc的30天的微博总数量:Nblog,以及粉丝数量:Nfans;
步骤(5.2)C类型博主的活跃度得分score由公式(3)得到:
其中wf代表C类型博主的粉丝数的权重,wb代表近期所发微博数量的权重,Nfans和Nblog则代表C类型博主uc的粉丝数和30天内的发博总数量。Nfmax和Nfmin代表所有C类型博主的最大粉丝数和最小粉丝数,Nbmax和Nbmin则代表所有C类型博主30内天发的微博总数量的最大值和最小值。wf,wb分别取0.2.0.8;
步骤(5.3)依据公式(3),依次计算每个C类型博主的活跃度得分,并降序排序得到C类型博主的优先采集列表SortC;
步骤(6)构建A、B、C类博主的采集队列list,采集器根据采集队列搜集博主信息,具体为:
将C类型博主平均分成三份,即sortC={sortC1,sortC2,sortC3},B、C类博主的采集队列为[SortB,SortC1,SortB,SortC2,SortB,SortC3],即SortB采集了三遍的同时,SortC仅仅采集了一遍;
然后将A类所有博主的采集时间加入B、C类博主的采集队列,即当任意A类博主中的最优采集时间与系统时间相等时,则将对应博主的微博采集需求插入到采集队列list中,遍历A类所有博主的最优采集时间,形成A、B、C类博主的采集队列list;
例如:由步骤(3.3)得到博主ua的最优采集时间:T*(ua)={08:00,18:30,23:00}则代表在系统时间即本地时间分别为上午八点,下午六点半以及晚上十一点时会将博主ua的采集需求动态插入到采集队列中,即在这三个时刻需要采集博主ua信息;
采集器依据list的顺序,采集博主的信息;
步骤(7)定期执行步骤(2)-(6),重新获取博主的近期信息,重新划定博主类型,训练模型,更新采集队列list并采集博主信息。
步骤(8)实验分析
本发明充分考虑到在采集条件有限的情况下,能够及时采集微博热点源,以及热点传播过程携带的海量信息。相比一般的采集器,采集数量和采集质量有明显的提升。而且在时间策略方面能够及时获取热点信息。
1)在采集器每天约50万次请求的情况下,针对782632个博主构建采集器。
2)以下是一般采集器和本发明的优先级队列采集器的对比。
表3各个采集器每天的采集数量
微博数量 | 一般采集器 | 本发明优先队列采集器 |
热点微博数量 | 302451条 | 764435条 |
垃圾微博数量 | 44786条 | 5612条 |
日常微博数量 | 403472条 | 55643条 |
由表3可得,在采集条件有限的情况下,本发明的优先级队列采集器每天能够获取更多的热点微博,而且在垃圾微博以及日常微博(非热点微博)的采集量有明显的下降。
在采集时间方面,一般的采集器,通常在循环一遍之后,才能采集到热点信息,而本发明优先队列采集器依据时间轴动态插入的方式能够及时的获取微博热点信息,通常在1.5小时左右,就能及时获取到大V博主所发的微博。
Claims (1)
1.一种基于多策略的微博信息优先采集方法,包括以下步骤:
步骤(1)垃圾博主检测
步骤(1.1)构建垃圾微博检测模型
步骤(1.1.1)构建训练数据集,具体如下:
利用爬虫爬取并人工标注一组微博博文数据:G=[(x1,y1),(x2,y2),......,(xn,yn)],其中n代表总微博条数,xi代表第i条微博,其中yi=0表示xi为垃圾微博,yi=1表示xi为正常微博;
对G中微博进行数据预处理,包括分词、去除停用、英文大写转小写、繁体转简体;
对微博博文数据G中的所有微博均选取8个微博特征,从而构成训练数据集,其中8个微博特征包括博主本身的个人信息特征4个:粉丝数、关注数、N个月的发博数量和发博频率,N的取值范围为:3≤N≤5,以及博文内容特征4个:单条微博的长度、单条微博的链接的个数、单条微博图片的数量和包含的人工标定的敏感词汇个数;
步骤(1.1.2)训练垃圾微博检测模型
利用前步构建的训练数据集,采用支持向量机算法,训练得到垃圾微博检测模型,记作H(x),其中,x表示一条微博的8个特征,若H(x)=0表示垃圾微博,H(x)=1表示正常微博;
步骤(1.2)利用训练完成的垃圾微博检测模型进行垃圾博主检测并删除,具体如下:
步骤(1.2.1)获取d1天内,25≤d1≤31,所有微博博主发表的微博集合;
步骤(1.2.2)根据步骤1.1)所述对所有微博进行预处理和特征选择;
步骤(1.2.3)通过训练完成的垃圾微博检测模型H(x)对所有微博进行分类,统计每个博主的垃圾微博条数ξ,若ξ>ξmax,则将该博主归为垃圾博主,其中ξmax为当前博主是否为垃圾博主的阈值,取值范围为:8≤ξmax≤10;
步骤(2)将步骤(1)中检测出的垃圾博主从当前微博博主中剔除,然后分类:
剔除垃圾博主后的博主集合定义为U={(u1,uf1),(u2,uf2),...(un,ufn)},博主特征集合定义为uf={Nfans,Nblog},其中:(ui,ufi)分别代表博主ui和该博主的特征集合数据,Nfans表示粉丝数,Nblog表示日均更博数量;对博主集合U中每一博主ui,作如下处理:
若Nfans>Num1,则为A类型博主,记作UA;
若Num1>Nfans>Num2或Nblog>MB,则为B类型博主,记作UB;
若不满足上述两个条件且Nfans>Num3,则为C类型博主,记作UC;
其中Num1代表第一阈值,取值范围为:20万≤Num1≤80万;Num2代表第二阈值,取值范围为:1万≤Num2≤10万;MB代表第三阈值,取值范围为:3≤MB≤5;NumC代表第四阈值,取值范围为:2000≤Num3≤5000。
步骤(3)确定A类型博主优先采集策略,得到对每位博主的最优采集时间,具体如下:
步骤(3.1)对于任意ua∈UA,获取d2天内,25≤d2≤31,博主ua的博文的发表时间,去除年月日部分,只保留时分秒部分,排序后得到集合T(ua)={t1,t2,...,tn},其中ti代表博主ua的第i条微博的发表时间;
步骤(3.2)将T(ua)利用k-means算法进行聚类,簇中心的个数k定义见公式(1):
其中:δ为权重,取值范围为:0.3≤δ≤0.8,len(T(ua))为集合T(ua)的大小,k为δ和len(T(ua))乘积的向上取整;
步骤(3.3)获取k-means算法的k个簇中心为{tc1,tc2,...,tck},在每个簇中选择时间最大的作为当前簇的最优采集时间,得到对每位博主的k个最优采集时间,记作
步骤(4)确定B类型博主优先采集策略,得到对B类型博主的优先采集列表SortB,具体如下:
步骤(4.1)构建B类型博主采集回归模型,具体如下:
步骤(4.1.1)从B类型博主集合中随机采样n个,45000≤n≤50000,作为B类型博主的种子博主集合:M={ub1,ub2,...,ubn},其中ubi代表随机采样的第i个B类型博主;
步骤(4.1.2)获取种子博主集合M中每个博主ub的微博特征集合x(ub)以及活跃度值y(ub),
其中,x(ub)表示为一个7元组,x(ub)={Nhot,Nblog,Nreply,Nfollow,Nlike,len,type}
其中,Nhot表示博主d3天内微博中包含热点信息的微博条数,25≤d3≤31;Nblog表示博主d3天内的微博条数,Nreply表示博主d3天内收到的回复数量,Nfollow表示博主d3天内中微博被转发的数量,Nlike表示博主d3天内中收到的点赞数量,len表示博主d3天内所发微博的平均长度,type为1代表当前博主是转发型博主,即在微博总数中,转发微博数量大于原创微博数量,否则为0;
y(ub)由公式(2)进行计算得到:
其中:Hblog代表当前博主d4年内所发的微博数量,1≤d4≤3,Hfollow代表博主d4年内微博被转发的总数量,Hreply代表博主d4年内收到的总回复数量,Hlike代表博主d4年内收到的微博的点赞数量;wf,wr,wl分别代表B类型博主转发、回复、点赞所占的权重值,其中:0.5≤wf≤0.7,0.4≤wr≤0.2,0.2≤wl≤0.1,且wf+wr+wl=1;
步骤(4.1.3)依据种子博主集合M中每个博主ub的微博特征集合,构建回归模型训练集:trainset=[(x(ub1),y(ub1)),(x(ub2),y(ub2)),...,(x(ubn),y(ubn))],其中:(x(ubi),y(ubi))代表博主ubi的微博特征集合和活跃度分数值,活跃度分数值通过公式(2)得到;
步骤(4.1.4)利用随机森林算法构建回归模型,并通过训练集trainset进行训练,得到训练好的模型F(u),其中:u代表每个B类型博主的微博特征集合,F(u)则表示该博主的活跃度值;
步骤(4.2)构建B类型博主的优先采集列表SortB;
步骤(4.2.1)通过训练好的回归模型F(u)获取每一个B类型博主ub的活跃度值F(ub);
步骤(4.2.2)依据活跃度值F(ub)将B类型博主进行降序排序,得到B类型博主的优先采集列表SortB;
步骤(5)确定C类型博主优先采集策略,得到对C类型博主的优先采集列表SortC,具体如下:
步骤(5.1)获取每个C类型博主uc的d5天内的微博总数量Nblog,以及粉丝数量Nfans,25≤d5≤31;
步骤(5.2)C类型博主的活跃度得分score由公式(3)得到:
其中wf代表C类型博主的粉丝数的权重,wb代表所发微博数量的权重,0.1≤wf≤0.3,0.7≤wb≤0.9且wf+wb=1,Nfans和Nblog则代表C类型博主uc的粉丝数和近d5天内的发博总数量;Nfmax和Nfmin代表所有C类型博主的最大粉丝数和最小粉丝数,Nbmax和Nbmin则代表所有C类型博主近d5天内发的微博总数量的最大值和最小值;
步骤(5.3)依据公式(3),依次计算每个C类型博主的活跃度得分,并降序排序得到C类型博主的优先采集列表SortC;
步骤(6)构建A、B、C类博主的采集队列list,采集器根据采集队列搜集博主信息,具体为:
将C类型博主平均分成三份,即sortC={sortC1,sortC2,sortC3},B、C类博主的采集队列为[SortB,SortC1,SortB,SortC2,SortB,SortC3],即SortB采集了三遍的同时,SortC仅仅采集了一遍;
然后将A类所有博主的采集时间加入B、C类博主的采集队列,即当任意A类博主中的最优采集时间与系统时间相等时,则将对应博主的微博采集需求插入到采集队列list中,遍历A类所有博主的最优采集时间,形成A、B、C类博主的采集队列list;
采集器依据list的顺序,采集博主的信息;
步骤(7)定期执行步骤(2)-(6),重新获取博主的近期信息,重新划定博主类型,训练模型,更新采集队列list并采集博主信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811633421.2A CN109670136B (zh) | 2018-12-29 | 2018-12-29 | 一种基于多策略的微博信息优先采集方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811633421.2A CN109670136B (zh) | 2018-12-29 | 2018-12-29 | 一种基于多策略的微博信息优先采集方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109670136A true CN109670136A (zh) | 2019-04-23 |
CN109670136B CN109670136B (zh) | 2021-04-27 |
Family
ID=66147418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811633421.2A Active CN109670136B (zh) | 2018-12-29 | 2018-12-29 | 一种基于多策略的微博信息优先采集方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109670136B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597928A (zh) * | 2018-12-05 | 2019-04-09 | 云南电网有限责任公司信息中心 | 支持用户策略配置的基于Web网络的非结构化文本获取方法 |
CN110113635A (zh) * | 2019-04-25 | 2019-08-09 | 广州智伴人工智能科技有限公司 | 一种自动播放推送消息的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101046820A (zh) * | 2006-03-29 | 2007-10-03 | 国际商业机器公司 | 在web爬取过程期间给网站排优先级的系统和方法 |
JP2014085694A (ja) * | 2012-10-19 | 2014-05-12 | Kddi Corp | 検索装置、検索プログラムおよび検索方法 |
CN106384292A (zh) * | 2016-09-14 | 2017-02-08 | 哈尔滨工业大学(威海) | 社交网络用户关系采集系统及方法 |
-
2018
- 2018-12-29 CN CN201811633421.2A patent/CN109670136B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101046820A (zh) * | 2006-03-29 | 2007-10-03 | 国际商业机器公司 | 在web爬取过程期间给网站排优先级的系统和方法 |
JP2014085694A (ja) * | 2012-10-19 | 2014-05-12 | Kddi Corp | 検索装置、検索プログラムおよび検索方法 |
CN106384292A (zh) * | 2016-09-14 | 2017-02-08 | 哈尔滨工业大学(威海) | 社交网络用户关系采集系统及方法 |
Non-Patent Citations (2)
Title |
---|
TOKARCHUK L.ETC: "Piecing together the puzzle: Improving event content coverage for real-time sub-event detection using adaptive microblog crawling", 《POSLAD S (2017)PIECING TOGETHER THE PUZZLE》 * |
周雪: "基于用户影响力的微博数据采集技术", 《山东师范大学学报( 自然科学版)》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597928A (zh) * | 2018-12-05 | 2019-04-09 | 云南电网有限责任公司信息中心 | 支持用户策略配置的基于Web网络的非结构化文本获取方法 |
CN109597928B (zh) * | 2018-12-05 | 2022-12-16 | 云南电网有限责任公司信息中心 | 支持用户策略配置的基于Web网络的非结构化文本获取方法 |
CN110113635A (zh) * | 2019-04-25 | 2019-08-09 | 广州智伴人工智能科技有限公司 | 一种自动播放推送消息的方法及系统 |
CN110113635B (zh) * | 2019-04-25 | 2021-05-25 | 广州智伴人工智能科技有限公司 | 一种自动播放推送消息的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109670136B (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104834695B (zh) | 基于用户兴趣度和地理位置的活动推荐方法 | |
CN103678613B (zh) | 一种计算影响力数据的方法与装置 | |
Guo et al. | Hcsc: Hierarchical contrastive selective coding | |
CN105574159B (zh) | 一种基于大数据的用户画像建立方法和用户画像管理系统 | |
Horn et al. | The sexual state of Aspergillus parasiticus | |
CN108090607A (zh) | 一种基于多模型堆栈融合的社交媒体用户人口属性预测方法 | |
CN103744928B (zh) | 一种基于历史访问记录的网络视频分类方法 | |
CN101510856A (zh) | 一种sns网络中成员关系圈的提取方法和装置 | |
CN109670136A (zh) | 一种基于多策略的微博信息优先采集方法 | |
CN104182539B (zh) | 异常信息批量处理的方法及系统 | |
Frankie et al. | Native and non-native plants attract diverse bees to urban gardens in California | |
Fortini et al. | Role of micromorphological leaf traits and molecular data in taxonomy of three sympatric white oak species and their hybrids (Quercus L.) | |
Fan et al. | Molecular analysis of Chinese truffles resembling Tuber californicum in morphology reveals a rich pattern of species diversity with emphasis on four new species | |
Pellegrini Filho et al. | Production of scientific articles on health in six Latin American countries, 1973-1992 | |
Bull | Deciding whom to marry in a rural two-class society: Social homogamy and constraints in the marriage market in Rendalen, Norway, 1750–1900 | |
Taylor et al. | Immigration and the US farm labour supply | |
Mehrnia et al. | Taxonomic study of the genus Quercus L. Sect. Quercus in the Zagros forests of Iran | |
CN116861063A (zh) | 一种发掘社媒热搜商业价值度的方法 | |
Nauheimer et al. | Englerarum (Araceae, Aroideae): a new genus supported by plastid and nuclear phylogenies | |
CN107526741A (zh) | 用户标签生成方法及装置 | |
CN110232159B (zh) | 一种基于大数据的舆情智能分析方法 | |
CN106354886A (zh) | 在推荐系统中利用潜在邻居关系图筛选最近邻居的方法 | |
Mesarić Žabčić | The phenomenon of overseas chain migration to Australia | |
Ambarwari et al. | Combination of relief feature selection and fuzzy K-nearest neighbor for plant species identification | |
Xu et al. | Primulina cardaminifolia (Gesneriaceae), a rare new species from limestone areas in Guangxi, China |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |