首页> 中国专利> 基于融合特征筛选与随机森林的微博转发行为预测方法

基于融合特征筛选与随机森林的微博转发行为预测方法

摘要

本发明公开了一种基于融合特征筛选与随机森林的微博转发行为预测方法,首先,从互联网中采集数据,并对其进行清洁整理,生成用户信息、用户博文信息存放到用户数据库,从用户数据库中提取用户基本特征、博文基本特征、博文主题特征,并基于相对熵计算用户活跃度、博文影响力;其次,通过Filter特征选择法与Wrapper特征选择法筛选出关键特征组;最后,融合异常检测与随机森林算法,依据筛选后的关键特征组进行微博转发行为预测,并利袋外数据误差估计设置随机森林中决策树和特征数。本发明有效解决了目前微博转发行为预测特征选择任意性,准确率不高的问题。

著录项

  • 公开/公告号CN106682208A

    专利类型发明专利

  • 公开/公告日2017-05-17

    原文格式PDF

  • 申请/专利权人 桂林电子科技大学;

    申请/专利号CN201611260965.X

  • 发明设计人 黄文明;周先亭;孙晓洁;邓珍荣;

    申请日2016-12-30

  • 分类号G06F17/30(20060101);G06Q50/00(20120101);

  • 代理机构45112 桂林市华杰专利商标事务所有限责任公司;

  • 代理人杨雪梅

  • 地址 541004 广西壮族自治区桂林市七星区金鸡路1号

  • 入库时间 2023-06-19 02:08:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-01-13

    专利实施许可合同备案的生效 IPC(主分类):G06F16/9536 专利申请号:201611260965X 专利号:ZL201611260965X 合同备案号:X2022450000390 让与人:桂林电子科技大学 受让人:桂林瀚辰科技有限公司 发明名称:基于融合特征筛选与随机森林的微博转发行为预测方法 申请日:20161230 申请公布日:20170517 授权公告日:20200403 许可种类:普通许可 备案日期:20221226

    专利实施许可合同备案的生效、变更及注销

  • 2020-04-03

    授权

    授权

  • 2017-06-09

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20161230

    实质审查的生效

  • 2017-05-17

    公开

    公开

说明书

技术领域

本发明涉及社交网络转发行为预测方法,具体是一种基于融合特征筛选与随机森林的微博转发行为预测方法。

背景技术

微博,即微型博客的简称,是一种通过关注机制分享实时信息的广播式的社交网络平台。其具有便捷性、背对脸、原创性、草根性的特点,同时具有反腐、打拐、营销、自媒体等效应。

转发是微博的一个重要机制。微博网络中,信息的传播主要是通过微博的转发实现的。当微博上某用户发布一条博文,该博文会被推送给该用户的全部粉丝,而当其粉丝看到这条博文后,可以选择转发这条博文,系统会将此博文再推送给这个粉丝用户的全部粉丝。微博信息通过用户的转发行为在微博平台上实现了持续的传播。因此,研究微博的转发行为对研究信息在微博中传播,比如微博用户行为和兴趣、突发事件预测、控制敏感信息、网络舆情监控、产品营销、以及用户推荐等方面具有重要意义。

在微博转发行为预测中,能采集到的特征众多,而数据集中存在本身与预测无关的特征以及冗余特征,如果选择了几乎不具辨别能力的特征,将导致设计的预测模型性能低下,但若是选择的特征具有充分辨别能力,则会极大提高预测模型的预测精度。

近年来,针对微博转发行为预测准确率不高,特征选择任意性的问题,国内外学者展开了广泛和深入的研究。Petrovic等人通过人工实验证明了微博转发预测的可行性,然后利用改进的passive-aggressive算法预测转发,但正确率仅为46.6%。Morchid等人的研究表明选取的特征如果有较高的辨别能力,预测算法的性能会得到有效的提高。张旸等人提出了一种微博转发行为预测的方法。首先将微博转发转换为二元分类问题,然后使用支持向量机(Support Vector Machine,SVM)算法对加权后的各特征进行训练,但该模型未考虑微博主题特征,且仅有85.9%的总体命中率。

发明内容

本发明的目的在于克服上述现有方法中存在的问题和不足,提供一种基于融合特征筛选与随机森林的微博转发行为预测方法,主要解决目前微博转发行为预测特征选择任意性,准确率不高的问题。

实现本发明目的的技术方案是:

一种基于融合特征筛选与随机森林的微博转发行为预测方法,包括以下步骤:

步骤1:从互联网中采集数据,并对其进行清洁整理,生成用户信息、用户博文信息存放到用户数据库;

步骤2:特征提取,从用户数据库中提取用户基本特征、博文基本特征、博文主题特征;

步骤3:特征合成,基于提取的用户特征计算用户活跃度、博文影响力进行特征合成;

步骤4:特征筛选:首先通过Filter特征选择法剔除所有特征中无关特征或噪声特征,去冗余、无效特征,缩减后续特征搜索规模;然后将选取后的特征通过Wrapper特征选择法继续进行优化选取;

步骤5:对筛选后的特征进行参数调整和模型优化,利用袋外数据误差估计设置随机森林中决策树和特征数,通过实验设置异常检测的阈值;

步骤6:依据优化后的特征组通过随机森林算法进行转发与否预测,再通过异常检测算法对预测结果进行修正,得到最终预测结果。

作为本发明的进一步改进,步骤1中,采集数据使用爬虫程序按照广度优先的策略,从一个特定的用户开始,编写网络爬虫,爬取用户基本信息,以及最近发表的N条微博,然后按该用户关注列表爬取其他用户数据,生成用户数据库并对数据库中的数据进行基础清洗,清洗后处理数据为所需格式。该方法不受微博API的功能限制,且速度快、可并行化处理。

采集的数据至少包括:是否使用昵称、用户关注他人数量、用户性别、拥有粉丝的数量、教育经历、工作经历;博文发布时间、是否分享图片、是否为分享、是否为收藏、是否为转发以及具体博文内容。

所述提取用户基本特征、博文基本特征、博文主题特征采用现有技术。

所述博文基本特征提取采用LDA(Latent Dirichlet Allocation),根据隐含狄利克雷分布主题模型的生成过程,给定一篇文档集合,文档m中的第n个单词Wm,n的生成概率为:

而LDA模型生成文档m,即产生全部Nm个单词的生成概率为:

多篇文档共同组成语料库,其似然计算如下:

LDA主题模型生成算法如下:

将每个用户发布或转发的博文作为文本语料,将语料进行预处理后,即可用来训练博文主题模型。

预处理过程:首先通过中文分词效果较好的“结巴分词”对语料进行分词处理;其次通过停用词字典去掉停用词,并去掉标点符号;然后将英语单词词干化,最后去掉低频词汇。

设置超参数α,β,话题数K,构建主题模型,根据构建好的主题模型推断博文主题分布概率,将其作为转发预测模型特征之一。

所述用户活跃度和博文影响力,主要体现了用户在微博社交网络上的活动状态。用户的活动行为对扩大其影响力具有积极作用,如添加新的关注、发布新的信息等。将用户关注他人数量、博文总量、粉丝数量特征结合考虑,按照不同的权重通过计算得到用户活跃度。

作为本发明的进一步改进,步骤3中,由于不同数据产生的方式不同,需要根据数据的特点进行相应处理,对于用户博文数量使用式(1)计算其日平均发微博数量,对于用户关注数、用户粉丝数则使用式(2)进行取对数处理,

其中,xi表示用户i日平均发微博数量,Xi表示获取到的用户i的博文总数,Tlast,i表示获取到的用户i最新发微博日期,Tfirst,i表示获取到的用户i最早发微博日期,

xi,j=log(Xi,j+1)(2)

其中Xi,j是第j类特征的第i个数据,由于不同用户的粉丝数量和用户关注数量差别很大,所以使用式(2)将不同数量级的差别调整到合适的范围进行预处理。

为了定量评测各个特征的重要性,采用了比其他特征算法更简洁有效的相对熵来计算,它在特征选择中被广泛使用。特征越重要其相对熵越大,该特征相应的在接下来的加权模型中就会发挥更大的作用。对于某特征ji,设它取值为x0,x1,…,xn,则该特征相对熵计算公式为式(3),其中cl代表类别,m代表类别数目,

不同特征对于一条微博是否会被转发有着显著不同的影响,为了得到更好的结果,需要考虑不同特征的差异,赋予各个特征不同的权重,对特征进行预处理后,就可以计算各类特征的权重,权重计算方法如式(4)所示,

其中,w(ji)表示用户i的特征j的权重,D(ji)表示用户i的特征j的相对熵,其计算方法如式(3),DMEAN表示所有特征的平均相对熵,式中的开平方是为了缓和该特征对加权机制的影响;

给定用户v的日均发微博数量Xwb、粉丝数量Xfans、关注数量Xfollow以及对应特征的权重w(wb)、w(fan)、w(fol),用户v的活跃度ActiveValue为:

博文影响力体现了用户博文在微博平台上的感召力与说服力,影响力大小会对转发行为产生影响。博文影响力与用户粉丝数量,博文平均被评论数量、被转发数量、被点赞数量有密切的关系,将这些特征按照不同权重通过计算得到博文影响力。

所述博文影响力的计算方法:

首先,需要对数据根据其特点进行相应预处理,将用户粉丝数量,博文平均被评论数量、被转发数量、被点赞数量通过式(2)处理,将较大数量级的差别调整到一个合适的范围内;

其次,基于相对熵可以定量分析出各特征关键性的区分度,对不同的特征,需要采用不同的权重,以更好地区分其关键性,通过式(3)计算相对熵,通过式(4)计算出不同特征的权重;

最后,给定用户v的粉丝数量Xfans、博文的平均被评论数量Xcomm、博文的平均被转发数量Xretweet、博文的平均被点赞数量Xlike,及对应特征的权重w(fan)、w(comm)、w(ret)、w(like),用户v的博文影响力InfluenceValue为:

作为本发明的进一步改进,步骤4中,首先通过Filter特征选择法剔除所有特征中无关特征或噪声特征,去冗余、无效特征,缩减后续特征搜索规模;然后将选取后的特征通过Wrapper特征选择法继续进行优 化选取。具体是,首先采用奇异值分解(Singular ValueDecomposition,SVD)方法对数据降维去噪,使得后续特征搜索规模得到有效缩减;然后利用随机森林分类器的分类准确率作为特征可分性判据,基于随机森林算法本身的变量重要性度量进行特征重要性排序,利用可回溯的贪婪搜索扩张,选取最优特征子集,得到关键特征组。

作为本发明的进一步改进,步骤5中,异常检测是一个非监督学习算法。通过高斯分布异常检测来提升随机森林算法在微博转发预测方面的性能。虽然多元高斯分布能够自动捕捉特征间的相关性,但是计算代价高且协方差必须要可逆,所以最终选择原高斯分布模型,虽然它不能捕捉特征间的相关性,但可以通过将特征线性组合来解决,并且它计算代价低,适应大规模特征,训练集较小时也适用。

高斯分布异常检测提升预测结果算法如下:

Step 1,Choose features xi>

X=log(x+1)

Step 2,Training set of random forest which will be right predicted isused as the training set to fit parameters μ1,…,μn,by

And then construct the p(χ)function.

Step 3,Extract data which Random forest algorithm predicted theretweet probability below 0.6,they can be used as the data set to bedetected.

Step 4,Data obtained from step 3detected by Gauss anomalydetection.Compute

Anomaly if p(χ)<e

Step 5,If the data is determined to be anomaly,the prediction resultsof the random forest need to be reversed。

选择的特征需要近似服从高斯分布,如果明显不服从高斯分布,可以做适当的转换,例如等。将随机森林不能很好预测转发行为的部分数据作为异常来对待,通过异常检测的方式来提高该部分的转发预测准确率,使用log(x+1)来处理不服从高斯分布的数据,而异常数据极易被随机森林算法错误预测,将其预测结果反转以期修正。

本发明方法主要解决目前微博转发行为预测特征选择任意性,准确率不高的问题。由于可提取的特征较多,所以根据经验首先分析了用户活跃度、博文主题、博文影响力以及其它,如粉丝数量与用户性别等基本特征;其次,因为弱辨别能力的特征会导致设计的预测模型性能低下,所以通过Filter特征选择法与Wrapper特征选择法,进行实验分析得到关键特征组;最后,基于筛选后的关键特征,提出一个融合特征筛选与随机森林微博转发行为预测算法,实现对微博转发行为较好的预测。

附图说明

图1为本发明基于融合特征筛选与随机森林的微博转发行为预测方法整体流程图。

图2为博文影响力等频离散化后直方图。

图3为选定特征组相对熵直方图。

图4为不同交叉验证折数下的准确率比较图。

图5为使用不同预测算法及不同预测数据量的耗时对比图。

具体实施方式

下面结合附图和实施例对本发明内容作进一步详细说明,但不是对本发明的限定。

参照图1,基于融合特征筛选与随机森林的微博转发行为预测方法,包括如下步骤:

步骤1:从互联网中采集数据,并对其进行清洁整理,生成用户信息、用户博文信息存放到用户数据库;

采集数据使用爬虫程序按照广度优先的策略,从一个特定的用户开始,编写网络爬虫,爬取用户基本信息,以及最近发表的N条微博,然后按该用户关注列表爬取其他用户数据,生成用户数据库并对数据库中的数据进行基础清洗,清洗后处理数据为所需格式;

采集的数据至少包括:是否使用昵称、用户关注他人数量、用户性别、拥有粉丝的数量、教育经历、工作经历;博文发布时间、是否分享图片、是否为分享、是否为收藏、是否为转发以及具体博文内容。

步骤2:特征提取,从用户数据库中提取用户基本特征、博文基本特征、博文主题特征;

步骤2.1:提取用户基本特征:是否使用昵称、用户关注他人数量、用户性别、拥有粉丝的数量、教育经历、工作经历、用户博文平均被点赞数量、用户博文平均被转发数量、用户博文平均被评论数量、用户个性标签数量、日均发微博数;

步骤2.2:提取博文基本特征:博文发布月份、发布星期、发布小时、是否分享图片、是否为分享、是否为收藏、是否为转发、是否包含关键字“红包”、“抽奖”、“转发”、“教程”、包含话题的数量、“@”他人的数量、包含外链的数量、博文长度;

步骤2.3:每个用户发布或转发的博文作为文本语料,将语料进行预处理后,可用来训练博文主题模型。首先通过中文分词效果较好的“结巴分词”对语料进行分词处理,其次通过停用词字典去掉停用词,并去掉标点符号,然后将英语单词词干化,最后去掉低频词汇。令超参 数,话题数K=50,根据构建好的主题模型推断博文主题分布概率,将其作为转发预测模型特征之一。

步骤3:特征合成,基于提取的用户特征计算用户活跃度、博文影响力进行特征合成;

步骤3.1:对特征进行预处理,使用式(1)计算用户日均发微博数量,对于用户关注数、用户粉丝数则使用式(2)进行取对数处理,通过式(3)计算特征相对熵。考虑到不同特征的差异,赋予各个特征不同的权重,对特征进行预处理后,通过式(4)计算各类特征的权重,继而通过公式(5)计算用户活跃度。

步骤3.2:首先对数据根据其特点进行相应预处理。将用户粉丝数量,博文平均被评论数量、被转发数量、被点赞数量通过式(2)处理,将较大数量级的差别调整到一个合适的范围内。对不同的特征,需要采用不同的权重,以更好地区分其关键性,通过式(3)计算相对熵,通过式(4)计算出不同特征的权重,继而通过公式(6)计算博文影响力。

步骤3.3:将数据划分为训练集和测试集。

步骤4:特征筛选:首先通过Filter特征选择法剔除所有特征中无关特征或噪声特征,去冗余、无效特征,缩减后续特征搜索规模;然后将选取后的特征通过Wrapper特征选择法继续进行优化选取;

具体是,首先采用奇异值分解(Singular Value Decomposition,SVD)方法对数据降维去噪,使得后续特征搜索规模得到有效缩减,然后利用随机森林分类器的分类准确率作为特征可分性判据,基于随机森林算法本身的变量重要性度量进行特征重要性排序,利用可回溯的贪婪搜索扩张,最好优先原则选取特征子集。除主题特征外,筛选出关键特征组为:用户活跃度、博文影响力、是否使用昵称、用户性别、关注他人数量、粉丝数量、教育经历、用户博文平均被点赞数量、用户博文平均被转发 数量、用户个性标签数量、日均发微博数、博文发布月份、是否为转发、是否含关键字“转发”、包含话题的数量、博文长度。

步骤5:对筛选后的特征进行参数调整和模型优化,利用袋外数据误差估计设置随机森林中决策树和特征数,通过分别固定特征数量、决策树数量,对OOB误差估计进行观察,最终选择6个特征,45个决策树数;通过实验设置异常检测的阈值e=0.03。

步骤6:依据筛选后的特征组通过随机森林算法进行转发与否预测,再通过异常检测算法对预测结果进行修正,得到最终预测结果。预测效果如图4、图5所示。

参照图2,博文影响力等频离散化后直方图,证明了基于相对熵计算的博文影响力特征有较高的预测能力。

参照图3,选定特征组相对熵,可以对特征重要性做辅助参考,同时可以看出用户活跃度与博文影响力对后续预测有积极作用。

参照图4,不同交叉验证折数下的准确率比较,随机森林算法效果优于其它基本算法,说明选取的基准预测算法是有效的,同时筛选后多特征的使用效果也好于使用未筛选特征,而在不同的交叉验证折数下算法的运行效果也比较稳定。

参照图5,使用不同预测算法及不同预测数据量的耗时对比,本发明方法耗时略高于随机森林方法,但准确率、ROC曲线等各项指标均好于随机森林方法。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号