CN104778210B - 一种微博转发树和转发森林构建方法 - Google Patents
一种微博转发树和转发森林构建方法 Download PDFInfo
- Publication number
- CN104778210B CN104778210B CN201510111754.9A CN201510111754A CN104778210B CN 104778210 B CN104778210 B CN 104778210B CN 201510111754 A CN201510111754 A CN 201510111754A CN 104778210 B CN104778210 B CN 104778210B
- Authority
- CN
- China
- Prior art keywords
- microblogging
- forwarding
- tree
- micro
- bloger
- 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.)
- Active
Links
Abstract
本发明公开了一种微博转发树和转发森林构建方法,属于数据挖掘领域,包括以下步骤:收集该条微博的原创微博信息;并且根据单条原创微博信息,获取其转发微博信息;然后在单条原创微博信息及其所有转发微博信息上,构造单条微博的微博树结构;根据用户给定时间段t3‑t4内的话题关键词Topic,收集与该话题相关的全量微博信息,针对每一条微博信息,构造单条微博的微博树结构;最后汇总该话题相关的全量微博信息的转发树;形成微博转发森林。本发明的优点为:通过转发树生成算法,高效快速完整地进行转发树和转发森林的提取,具有较高的效率和效果。
Description
技术领域
本发明属于数据挖掘领域,具体涉及一种微博转发树和转发森林构建方法。
背景技术
目前微博内容发布量巨大,已成为中国最大的舆论平台。春运、伦敦奥运、江南style等社会热点话题在微博平台上得到聚焦和延伸,千万级甚至亿级的话题讨论已成为微博平台上的常态化现象。面对如此庞大、复杂的微博数据,如何对微博及话题的转发结构进行提取及如何进行可视化成为重要挑战。
发明内容
本发明鉴于大数据环境下微博转发结构稀疏、难以溯源的问题,构建了一种微博转发树和转发森林构建方法,以实现微博传播结构还原和微博信息溯源。
其具体步骤如下:
步骤一、获取用户指定单条微博的原创微博。
用户指定单条微博分为单条原创微博和单条转发微博两种;
对于一条微博,微博信息包含微博识别号的MID,原创微博识别号的MID,微博内容,微博创建时间戳,微博创建时间,博主信息,博主身份识别号UID,博主注册地址,是否认证,博主昵称,关注数,性别,博主头像地址,认证类型,粉丝数,微博数,自我描述,注册时间和微博URL地址;
如果用户指定单条微博为原创微博,利用该单条微博的微博识别号的MID字段检索并获取该单条原创微博信息;如果用户指定单条微博为转发微博,利用其原创微博识别号的MID字段检索并获取该单条转发微博的原创微博信息;
步骤二、根据单条原创微博信息,获取该单条原创微博在某时间段内的所有转发微博信息。
时间段为用户指定时间段。
步骤三、构建转发微博列表RL,并将步骤二中的转发微博信息依次加入;
转发微博列表RL,指对该单条原创微博的所有转发微博信息按照其微博创建时间进行升序排列形成的列表;转发微博列表RL的元素个数用RL_Len表示。
步骤四、构建树型存储空间Tree,并将步骤一中单条原创微博信息转化成树节点对象加入,用TN0表示;
树型存储空间Tree初始化为空的有序列表,用于存储微博信息转化的树节点对象Tree Node,该单条原创微博信息转化的Tree Node为TN0。
步骤五、取RL中的第i个元素RLi,将其转化成Tree Node,用TNm表示,并加入到Tree列表的末尾。
其中,i为计数器,1≤i≤RL_Len;初始i为1;
步骤六、解析步骤五中元素RLi记录的所有转发博主昵称字段,构建博主昵称列表RU;
针对元素RLi,提取该元素中的微博内容字段text,解析获得被该元素记录的所有转发的博主昵称形式为“//@博主昵称”的博主昵称字段,构成博主昵称列表RU;博主昵称列表RU的长度为RU_Len,RU_Len大于等于0且为整数;RU列表的第j个元素为RUj,0≤j≤RU_Len;
步骤七、构建树型存储空间Tree的倒序列表TreeReverse;
将树型存储空间Tree中,除去最后一条Tree Node外,将其他的Tree Node按微博创建时间的降序排列形成列表TreeReverse;TreeReverse列表中的元素为TNw,表示第w个Tree Node;1≤w≤i;
步骤八、判断博主昵称列表RU中元素与TreeReverse列表中每个元素TNw的博主昵称是否相同,如果相同,将TNm加入到元素TNw的children属性中;否则,将TNm加入到元素TN0的children属性中;
具体为:将TreeReverse列表中每个元素TNw的博主昵称去遍历博主昵称列表RU中的所有元素RUj的博主昵称,如果含有相同字段,将TNm加入到元素TNw的children属性中;否则,将计数器w+1,继续重复步骤八进行比较,直至TreeReverse列表中所有元素TNw比较完后,博主昵称列表RU中任何一个元素与TreeReverse列表中所有元素TNw的博主昵称均不相同,将TNm加入到元素TN0的children属性中。
步骤九、将计数器i+1,转步骤五执行;
步骤十、重复执行步骤五到步骤九,直至将转发微博列表RL所有元素比较完,完成单条微博的微博转发树;
依次将转发微博列表RL中的元素RLi,转化树节点对象,加入到树型存储空间Tree中,完成单条微博的微博转发树。
步骤十一、建立微博转发森林;
根据用户指定话题关键词Topic,收集与该话题相关的全量微博信息,针对每一条微博信息构建微博转发树,最后汇总该话题相关的全量微博信息的微博转发树,形成微博转发森林。本发明的优点在于:
(1)本发明一种微博转发树和转发森林构建方法,从海量微博信息中提取稀疏的转发关系,进行信息传播结构复原及信息溯源,通过转发树生成算法,可以高效快速完整地进行转发树和转发森林的提取。
(2)本发明一种微博转发树和转发森林构建方法,具有较高的效率和效果。
附图说明
图1是本发明一种微博转发树和转发森林构建方法的流程图。
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。
一种微博转发树和转发森林构建方法,用于信息溯源和信息传播路径复原,服务于国家信息安全;首先构建单条微博转发树,包括获取单条微博的原创微博信息及其转发微博信息、在原创微博及其转发微博信息数据上,构造微博转发树结构;然后,构建话题相关的微博转发森林。
具体实施步骤如图1所示,包括:
步骤一、获取用户指定单条微博的原创微博。
用户指定单条微博分为原创微博和转发微博,根据用户需求而定;
微博信息包括原创微博信息和转发微博信息,均由:微博识别号的MID,原创微博识别号的MID,微博内容,微博创建时间戳,微博创建时间,博主信息,博主身份识别号UID,博主注册地址,是否认证,博主昵称,关注数,性别,博主头像地址,认证类型,粉丝数,微博数,自我描述,注册时间和微博URL地址组成。
其中,微博识别号的MID采用int 64型,形式如下:“mid”:5612814510546515491;
原创微博识别号的MID,采用int 64型,形式如下:“mid”:5612814510546515491;
微博内容,采用string型,形式如下:“text”:“求关注。”;
微博创建时间戳,自1970年以来的秒数,采用int型;形式如下:“timestamp”:1306835215;其中,自1970年以来的秒数,表示从1970年1月1日至微博创建时间的秒数
微博创建时间,采用string型,形式如下:“created_at”:“Tue May 31 17:46:55+0800 2011”;
博主信息,形式如下:“user”;
博主身份识别号UID,形式如下:“uid”:11488058246;
博主注册地址,形式如下:“location”:“北京朝阳区”;
是否认证,形式如下:“verified”:false;
博主昵称,形式如下:“name”:“zaku”;
关注数,形式如下:“friends_count”:447;
性别,形式如下:“gender”:“m”;
博主头像地址,形式如下:
“profile_image_url”:http://tp1.sinaimg.cn/1404376560/50/0/1;
认证类型,形式如下:“verified_type”:-2;
粉丝数,形式如下:“followers_count”:1204;
微博数,形式如下:“statuses_count”:2908;
自我描述,形式如下:“description”:“人生五十年,乃如梦如幻;有生斯有死,壮士复何憾。”;
注册时间,形式如下:“created_at”:“Fri Aug 28 00:00:00+0800 2009”。
微博URL地址,形式如下:
“weibo_url”:http://weibo.com/1813080181/Bb6CmdLnM;
用户指定的单条微博,其微博识别号的MID字段设为Mid1,原创微博识别号的MID字段设为Mid2;
收集用户指定单条微博的原创微博信息具体分为:
如果用户指定单条微博为原创微博,其微博识别号的MID字段与原创微博识别号的MID字段相同均为Mid1,利用该单条微博的微博识别号的MID字段Mid1检索并获取该单条原创微博信息;
如果用户指定单条微博为转发微博,其微博识别号的MID字段为Mid1,其原创微博识别号的MID为Mid2,利用原创微博识别号的MID字段Mid2检索并获取该单条转发微博的原创微博信息;
步骤二、根据单条原创微博信息,获取该单条原创微博在某时间段内的所有转发微博信息。
根据步骤一得到的原创微博字段Mid2和给定时间段t1-t2,检索单条原创微博的所有转发微博信息,该转发微博信息最新为10万条;本实施例中选取100条转发微博信息;t1-t2为用户给定的起始到结束时间。
步骤三、构建转发微博列表RL,并将步骤二中的转发微博信息依次加入;
转发微博列表RL,指对该单条原创微博的所有转发微博信息按照其微博创建时间created_at字段进行升序排列形成的列表;转发微博列表RL的元素个数用RL_Len表示,初始值为0;RL_Len大于等于0且为整数;
步骤四、构建树型存储空间Tree,并将步骤一中单条原创微博信息转化成树节点对象加入,用TN0表示;
树型存储空间Tree初始化为空的有序列表,用于存储微博信息转化的树节点对象,树节点对象用Tree Node表示,其信息包括:博主昵称,博主注册地址,微博创建时间,微博识别号的MID,博主头像地址,微博URL地址和存储子节点数组;
其中,博主昵称形式如下:“node”:“zaku”;
博主注册地址,形式如下:“location”:“北京朝阳区”;
微博创建时间,形式如下:“datetime”:“Tue May 31 17:46:55+0800 2011”;
微博识别号的MID形式如下:“wid”:5612814510546515491;
博主头像地址形式如下:“img_url”:http://tp1.sinaimg.cn/1404376560/50/0/1;
微博URL地址形式如下:
“weibo_url”:http://weibo.com/1813080181/Bb6CmdLnM;
存储子节点数组,形式如下:“children”:[];用于存储该节点的子节点信息,初始化为空数组,用于存放Tree Node。
该单条原创微博信息转化的Tree Node为TN0。
步骤五、取RL中的第i个元素RLi,将其转化成Tree Node,用TNm表示,并加入到Tree列表的末尾。
转发微博列表RL中的第i个元素为RLi,即为单条原创微博的第i条转发微博;i为计数器,初始i为1;1≤i≤RL_Len。
步骤六、解析步骤五中元素RLi记录的所有转发博主昵称字段,构建博主昵称列表RU;;
博主昵称列表RU用来存储元素RLi转发的博主昵称字段,初始化为空;博主昵称列表RU的长度为RU_Len,RU_Len大于等于0且为整数;
针对元素RLi,提取该元素中的微博内容字段text项,解析获得被该元素记录的所有转发的博主昵称形式为“//@博主昵称”的博主昵称字段,构成博主昵称列表RU;RU列表的第j个元素为RUj,0≤j≤RU_Len;
针对某一个元素RLi,本身为直接转发原创微博的转发微博或者经过多次转发后的转发微博,该博主昵称列表RU中存储了该元素RLi的所有转发的博主昵称字段,如果元素RLi为直接转发原创微博的转发微博,将该原创微博的博主昵称字段存入博主昵称列表RU中;如果元素RLi为经过多次转发后的转发微博,将每一次转发的博主昵称字段均存入博主昵称列表RU中。
步骤七、构建树型存储空间Tree的倒序列表TreeReverse;
TreeReverse列表为树型存储空间Tree的倒序列表,将树型存储空间Tree中,除去最后一条Tree Node外,将其他的Tree Node按微博创建时间的降序排列形成的列表,初始化为空;TreeReverse列表中的元素为TNw,表示第w个Tree Node;1≤w≤i;
步骤八、判断博主昵称列表RU中元素与TreeReverse列表中每个元素TNw的博主昵称是否相同,如果相同,将TNm加入到元素TNw的children属性中;否则,将TNm加入到元素TN0的children属性中;
具体为:将TreeReverse列表中所有元素TNw的博主昵称依次与博主昵称列表RU中所有元素RUj的博主昵称一一比较,如果含有相同字段,TNw的博主昵称node属性与元素RUj相同,则表示找到节点TNw的直接父节点,将TNm加入到TNw对象的children属性中;同时将TNm加入到树型存储空间Tree中;否则,将计数器w+1,继续重复步骤八进行比较;
如果直至TreeReverse列表中所有元素TNw比较完后,博主昵称列表RU中任何一个元素与TreeReverse列表中所有元素TNw的博主昵称node属性均不相同,则表示没有从树型存储空间Tree中找到TNm的直接父节点,就将Tree中的根节点TN0作为其直接父节点,将TNm加入到元素TN0的children属性中。
步骤九、将计数器i+1,转步骤五执行;
步骤十、重复执行步骤五到步骤九,直至将转发微博列表RL所有元素比较完,完成单条微博的微博转发树;
依次将转发微博列表RL中的元素RLi,转化树节点对象,加入到树型存储空间Tree中,完成单条微博的微博转发树。
步骤十一、建立微博转发森林;
根据用户给定时间段t3-t4内的话题关键词Topic,收集与该话题相关的全量微博信息,针对每一条微博信息按着步骤一收集该条微博的原创微博信息;并且根据单条原创微博信息,进行步骤二获取其转发微博信息;然后根据步骤三到步骤十在单条原创微博信息及其所有转发微博信息上,构造单条微博的微博树结构;其中对每条原创微博信息收集其最新的5000条转发微博信息;最后汇总该话题相关的全量微博信息的转发树;形成微博转发森林。
Claims (4)
1.一种微博转发树和转发森林构建方法,其特征在于:包括以下步骤:
步骤一、获取用户指定单条微博的原创微博;
对于一条微博,微博信息包含微博识别号的MID,原创微博识别号的MID,微博内容,微博创建时间,博主信息,博主身份识别号UID,博主注册地址和博主昵称;
步骤二、根据单条原创微博信息,获取该单条原创微博在某时间段内的所有转发微博信息;
步骤三、构建转发微博列表RL,并将步骤二中的转发微博信息依次加入;
转发微博列表RL,指对该单条原创微博的所有转发微博信息按照其微博创建时间进行升序排列形成的列表;转发微博列表RL的元素个数用RL_Len表示;
步骤四、构建树型存储空间Tree,并将步骤一中单条原创微博信息转化成树节点对象加入,用TN0表示;
树型存储空间Tree初始化为空的有序列表,用于存储微博信息转化的树节点对象TreeNode,单条原创微博信息转化的Tree Node为TN0;
步骤五、取RL中的第i个元素RLi,将其转化成Tree Node,用TNm表示,并加入到Tree列表的末尾;
其中,i为计数器,1≤i≤RL_Len,初始i为1;
步骤六、解析步骤五中元素RLi记录的所有转发博主昵称字段,构建博主昵称列表RU;
其中,RU列表的第j个元素为RUj,0≤j≤RU_Len;博主昵称列表RU的长度为RU_Len,RU_Len大于等于0且为整数;
步骤七、构建树型存储空间Tree的倒序列表TreeReverse;
将树型存储空间Tree中,除去最后一条Tree Node外,将其他的Tree Node按微博创建时间的降序排列形成列表TreeReverse;列表TreeReverse中的元素为TNw,表示第w个TreeNode;1≤w≤i;
步骤八、判断博主昵称列表RU中元素与TreeReverse列表中每个元素TNw的博主昵称是否相同,如果相同,将TNm加入到元素TNw的children属性中;否则,将TNm加入到元素TN0的children属性中;
具体为:将TreeReverse列表中每个元素TNw的博主昵称去遍历元素RUj的博主昵称,如果含有相同字段,将TNm加入到元素TNw的children属性中;否则,计数器w+1,继续重复将TreeReverse列表中每个元素TNw的博主昵称去遍历元素RUj的博主昵称进行比较,直至TreeReverse列表中所有元素TNw比较完后,如果博主昵称列表RU中任何一个元素与TreeReverse列表中所有元素TNw的博主昵称均不相同,将TNm加入到元素TN0的children属性中;
步骤九、将计数器i+1,转步骤五执行;
步骤十、重复执行步骤五到步骤九,直至将转发微博列表RL所有元素比较完,完成单条微博的微博转发树;
步骤十一、建立微博转发森林;
根据用户指定话题关键词Topic,收集与该话题相关的全量微博信息,针对每一条微博信息构建微博转发树,最后汇总该话题相关的全量微博信息的微博转发树,形成微博转发森林。
2.根据权利要求1所述的一种微博转发树和转发森林构建方法,其特征在于:步骤一中所述的用户指定单条微博分为原创微博和转发微博,如果用户指定单条微博为原创微博,利用该单条微博的微博识别号的MID检索并获取该单条原创微博信息;
如果用户指定单条微博为转发微博,利用其原创微博识别号的MID检索并获取该单条转发微博的原创微博信息。
3.根据权利要求1所述的一种微博转发树和转发森林构建方法,其特征在于:所述的步骤六具体为:针对元素RLi,提取该元素中的微博内容字段text,解析获得被该元素记录的所有转发的博主昵称形式为“//@博主昵称”的博主昵称字段,构成博主昵称列表RU。
4.根据权利要求1所述的一种微博转发树和转发森林构建方法,其特征在于:所述的步骤十一具体为:根据用户给定时间段t3-t4内的话题关键词Topic,收集与该话题相关的全量微博信息,针对每一条微博信息按着步骤一收集该条微博的原创微博信息;并且根据单条原创微博信息,获取其转发微博信息;然后根据步骤三到步骤十在单条原创微博信息及其所有转发微博信息上,构造微博树结构;最后汇总该话题相关的全量微博信息的转发树;形成微博转发森林。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510111754.9A CN104778210B (zh) | 2015-03-13 | 2015-03-13 | 一种微博转发树和转发森林构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510111754.9A CN104778210B (zh) | 2015-03-13 | 2015-03-13 | 一种微博转发树和转发森林构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104778210A CN104778210A (zh) | 2015-07-15 |
CN104778210B true CN104778210B (zh) | 2018-04-27 |
Family
ID=53619674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510111754.9A Active CN104778210B (zh) | 2015-03-13 | 2015-03-13 | 一种微博转发树和转发森林构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104778210B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411683B (zh) * | 2015-07-30 | 2019-07-12 | 华为技术有限公司 | 一种关键社交信息的确定方法及装置 |
CN107222381B (zh) * | 2016-03-21 | 2020-03-06 | 北大方正集团有限公司 | 微博数据的传播路径确定方法和装置 |
CN106503230A (zh) * | 2016-11-07 | 2017-03-15 | 贾志娟 | 一种基于复杂网络的微博传播溯源方法 |
CN107135153A (zh) * | 2017-04-28 | 2017-09-05 | 常州工学院 | 基于传播路径逆向追溯的信源和影响力节点定位方法 |
CN109388767A (zh) * | 2017-08-10 | 2019-02-26 | 深圳市星电商科技有限公司 | 基于信息源传播路径建立关系网的方法 |
CN109299340B (zh) * | 2018-12-03 | 2022-02-15 | 江苏警官学院 | 一种基于图数据库的微博用户转发关系导入及可视化方法 |
CN110912809B (zh) * | 2019-12-23 | 2021-09-17 | 京东数字科技控股有限公司 | 信息分享链的生成方法及装置、电子设备、存储介质 |
CN111639680B (zh) * | 2020-05-09 | 2022-08-09 | 西北工业大学 | 一种基于专家反馈机制的身份识别方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605661A (zh) * | 2013-10-18 | 2014-02-26 | 清华大学 | 社会网络信息传播树生成方法及系统 |
CN104133897A (zh) * | 2014-08-01 | 2014-11-05 | 哈尔滨工程大学 | 一种基于话题影响力的微博话题溯源方法 |
CN104636324A (zh) * | 2015-01-21 | 2015-05-20 | 深圳市北科瑞讯信息技术有限公司 | 话题溯源方法和系统 |
-
2015
- 2015-03-13 CN CN201510111754.9A patent/CN104778210B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605661A (zh) * | 2013-10-18 | 2014-02-26 | 清华大学 | 社会网络信息传播树生成方法及系统 |
CN104133897A (zh) * | 2014-08-01 | 2014-11-05 | 哈尔滨工程大学 | 一种基于话题影响力的微博话题溯源方法 |
CN104636324A (zh) * | 2015-01-21 | 2015-05-20 | 深圳市北科瑞讯信息技术有限公司 | 话题溯源方法和系统 |
Non-Patent Citations (3)
Title |
---|
"一个基于随机森林的微博转发预测算法";罗知林 等;《计算机科学》;20140430;第41卷(第4期);第62-64页 * |
"基于微博社交网络的信息传播分析";陈斌 等;《智能计算机与应用》;20131031;第3卷(第5期);第70-74页 * |
"新浪微博的大规模信息传播规律研究";易成岐 等;《计算机科学与探索》;20130305;第7卷(第6期);第551-561页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104778210A (zh) | 2015-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104778210B (zh) | 一种微博转发树和转发森林构建方法 | |
CN102426609B (zh) | 一种基于MapReduce编程架构的索引生成方法和装置 | |
CN104615699B (zh) | 一种家族网谱系统及其数据采集方法 | |
CN105389329B (zh) | 一种基于群体评论的开源软件推荐方法 | |
CN104615627B (zh) | 一种基于微博平台的事件舆情信息提取方法及系统 | |
CN106503230A (zh) | 一种基于复杂网络的微博传播溯源方法 | |
Cheong et al. | A study on detecting patterns in Twitter intra-topic user and message clustering | |
CN102884528A (zh) | 减少活动记录中的重复和循环 | |
CN104954236A (zh) | 为主题事件生成传播路径的信息的方法和装置 | |
CN104424187B (zh) | 一种向客户端用户推荐好友的方法及装置 | |
CN104142936A (zh) | 匹配音视频的方法和装置 | |
Jiang et al. | Mining interesting “following” patterns from social networks | |
CN102497333A (zh) | 用以输出联系人对象天气信息的方法、客户端及系统 | |
CN104834650A (zh) | 一种有效查询任务生成方法及系统 | |
CN103425653A (zh) | 实现dicom影像二次检索的方法及系统 | |
CN105183916A (zh) | 一种管理非结构化数据的装置和方法 | |
Leung et al. | Mining ‘following’patterns from big sparse social networks | |
CN105279159B (zh) | 联系人的提示方法和装置 | |
CN103942213B (zh) | 数据分页方法及装置 | |
CN102810103A (zh) | 搜索结果分享方法及系统 | |
CN108111310A (zh) | 一种候选口令字典的生成方法与装置 | |
Leung et al. | Mining social networks for significant friend groups | |
CN104111926B (zh) | 通讯录的关注推荐列表的生成方法及装置 | |
CN105608201A (zh) | 一种支持多关键词表达式的文本匹配方法 | |
CN107465519B (zh) | 一种基于即时通讯应用的数据管理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |