一种基于Hadoop的微博热点话题提取方法

文档序号:6516316阅读:174来源:国知局
一种基于Hadoop的微博热点话题提取方法
【专利摘要】本发明提出了一种基于Hadoop的微博热点话题挖掘方法。本发明首先组建一个局域网,安装相应的软件搭建Hadoop的平台;其次采集微博信息;第三,对采集的微博内容进行分词处理、噪音信息过滤、出现频率变化较大的热门关键词抽取;第四根据提取出每个潜在热门话题的特征词组;第五循环遍历潜在的热门话题,合并相似度超过阈值的话题;最后对提取出来的热点话题,以特征词组中最热门关键词的爆发得分作为话题的热度,将热点话题按热度值从高到低次序显示。本发明利用Hadoop框架中MapReduce运算模型的特点,能够准确地判断出微博的热门话题,使挖掘结果更能反映互联网舆论的客观事实,有较强的可扩展性和容错性。
【专利说明】—种基于Hadoop的微博热点话题提取方法
【技术领域】
[0001]本发明属于网络微博中的数据挖掘【技术领域】,特别是一种基于Hadoop的微博热点话题提取方法。
【背景技术】
[0002]互联网的迅猛发展给网络信息的发现和管理带来了新的机遇和挑战。据CCNIC发布的最新统计报告,截至2013年6月底,我国网民规模达到5.91亿,互联网普及率为44.1%。越来越多的人乐于刷微博、逛淘宝和玩人人。人们也习惯于写博客、记日志和看网页,网络信息的急剧上升影响着社会生活的方方面面。自2006年以来,微博的出现使得普通民众可以随时随地的关注和分享实时的信息。据CCNIC统计报告,目前我国微博用户的规模已经突破了 3亿大关,微博已经成为中国网民使用的主流应用,也成为了中国网络舆论传播的中心。无论是普通用户,还是新闻媒体,其获取新闻、传播新闻、发表意见和制造舆论的途径都不同程度的转向了微博平台,移动互联网的快速发展也进一步巩固了微博在互联网中的舆论中心地位。因此,对微博数据流进行挖掘,及时掌握微博中的舆论热点变得越来越重要。传统的热点话题挖掘研究主要针对网页文档进行处理,随着近几年微博的快速发展,话题检测的研究也逐渐转移到了微博数据。

【发明内容】

[0003]为了克服现有技术中的缺陷和不足,本发明提供了一种基于Hadoop的微博热点话题提取方法。本方法基于Hadoop来提取微博中的热点话题,能有效克服单机在处理大数据时空间以及速度方面的不足。
[0004]本发明提出了一种基于Hadoop的微博热点话题提取方法。该方法包括以下步骤:首先,组建一个局域网,安装相应的软件搭建Hadoop的平台;其次,利用微博平台的开放API接口采集微博信息;第三,对采集的微博内容进行分词处理、噪音信息过滤、出现频率变化较大的热门关键词抽取,并利用Hadoop框架中MapReduce运算模型在分布式文件系统HDFS上对微博信息建立索引;第四,把每个热门关键词都看成一个潜在的热门话题,根据特征值计算的方法提取出每个潜在热门话题的特征词组;第五,循环遍历潜在的热门话题,合并相似度超过阈值的话题;最后,对提取出来的热点话题,以特征词组中最热门关键词的爆发得分作为话题的热度,并将热点话题按热度值从高到低次序显示。本发明的技术方案,利用Hadoop框架中MapReduce运算模型的特点,能够准确地判断出微博的热门话题,使挖掘结果更能反映互联网舆论的客观事实,有较强的可扩展性和容错性。
[0005]本发明的技术方案,利用Hadoop框架中MapReduce运算模型的特点,能够准确地判断出微博的热门话题,使挖掘结果更能反映互联网舆论的客观事实,有较强的可扩展性和容错性。
[0006]本发明包括如下步骤:
步骤一、组建Hadoop集群平台 组建局域网,对局域网中的每个计算机安装Hadoop软件,通过对Hadoop配置文件中属性参数dfs.namenode和dfs.datanode的设置,将其中一台计算机配置成Hadoop名字节点,而其它计算机配置成数据节点;并通过对Hadoop配置文件中属性参数mapred.j obtracker和mapred.tasktracker的设置,将其中一台计算机配置成Hadoop调度节点,而其它计算机配置成任务节点,组建开源的Hadoop平台;
步骤二、微博数据采集
利用微博平台的开放API接口采集微博信息;其中,所述微博信息包括:微博内容、发微博的时间、微博的作者和微博的来源信息(这里所述的微博来源是指微博平台来源,例如来自网页上的新浪微博,来自iphone客户端等);将采集当天的微博使用Hadoop分布式文件命令dfs-put将数据集上传至Hadoop平台的各个节点上;
步骤三、数据预处理
数据预处理就是对采集的微博内容进行分词处理,过滤掉一些噪音信息,并抽取出热门关键词组,然后对微博信息在HDFS上建立索引。这里所述噪音信息就是对微博热点话题提取无用的信息,而所述HDFS就是Hadoop平台上的分布式文件系统。
[0007]步骤四、话题特征词组提取
把每个热门关键词都看成一个潜在的热门话题,根据特征值计算的方法提取出每个潜在热门话题的特征词组;
步骤五、相似话题的合并
循环遍历潜在的热门话题,合并相似度超过阈值的话题;
步骤六、话题展示
以特征词组中最热门关键词的爆发得分作为话题的热度值,将热点话题按热度值从高到低次序排序输出并显示。
[0008]步骤一所述的在组建Hadoop集群平台方法的具体步骤如下:
(1)为局域网中每一个节点安装ubuntu操作系统;
(2)为局域网中每一个节点安装Hadoop插件;
(3)为局域网中每一个节点安装JDK插件;
(4)配置局域网中每个节点上的ubuntu系统的etc文件,使ubuntu系统关联该节点上的Hadoop文件和该节点上的jdk文件;
(5)配置局域网中每个节点上Hadoop插件中的core-site.xml文件、hdfs-site.xml 文件和 mapred-site.xml 文件;设置属性 dfs.namenode 和 dfs.datanode,使局域网中存在一个名字节点和多个数据节点;同时设置属性mapred, jobtracker和mapred.tasktracker,使集群中存在一个任务调度节点和多个任务执行节点。
[0009]所述的步骤三预处理包括:
采用中国科学院计算技术研究所的ICTCLAS分词系统对采集的微博信息内容进行分词并标注出词性;过滤掉包含“#”(表示一个讨论的话题)、“http://”(表示已有的新闻等其他消息)、“@用户”(表示对话式的互动)的噪音信息,以及在特定时间段频繁出现的词,如“晚安”、“午饭”等;然后利用如下公式计算每一个名词和动词在一小时内的爆发程度:这里的/%,tn)表示词组#在tn时间段内在微博信息中出现的次数,而/%,tn_)表示词组#在前一天G时间段内在微博信息中出现的次数;这里的时间窗口通常设置为一个小时(如果时间窗口设置成较大时,选出的爆发词更加准确,但是由于粒度较大,有的话题会被漏掉)。
[0010]将爆发程度值从高到低次序的前200个词作为候选热门关键词;将采集得到的当天微博信息,利用Apache软件基金会支持和提供的用于全文检索和搜寻的开源程式库Lucene在Hadoop平台上的HDFS上建立索引,以便下一步的处理。
[0011]步骤四话题特征词组提取:
以每一个关键词为搜索条件在HDFS上已经建好的索引中搜索出相关微博信息,将搜索出的微博信息看作该关键词的相关文档;计算该相关文档的平均相似度,当平均相似度低于预设的阈值时(一般可设置为0.36)就认为该文档里信息不是噪音信息而是一个潜在的话题,然后利用基于特征提取方法从所述相关文档中提取该话题的特征词汇集,并计算每个特征词汇的权值。这里所述相关文档的平均相似度是指文档中所有两两相邻微博之间的相似度总和除以相关文档中的微博总数得到的值;这里所述的微博相似度是指两条微博中相同词语的个数除以微博中总的词语个数得到的值;这里所述话题特征词汇集提取及特征词汇权值计算是指以下步骤:
步骤A:对词频进行归一化计算。将关键词对应的相关文档作为一个语料库,词条的归一化词频为tfn=Nin)丨N。这里ArO?)表示词条/7在此语料库中出现的次数,Ar表示此语料库中所有词条出现次数的总和。
[0012]步骤B:逆向文档频率计算。预先准备人工挑选出的典型话题文档作为语料库(一般100篇左右即可),典型 话题语料库中的每一篇文档对应一个人工挑选出的典型话题,同一文档都是由人工挑选的同一典型话题的微博组成的,每条微博占一行;语料库中词条的逆向文档频率为iW/;=log[|N|/(l+M(/7))];这里M(Z7)是指典型话题语料库中包含词条/7的文档个数;|N|是典型话题语料库中文档个数。
[0013]步骤C:计算词汇权值,提取话题特征词汇集。词条TFJiF值=词频X逆向文档频率,即tfidfn=tfn*idfn ;这里所述的提取话题特征词汇集就是根据每个话题的词汇权值从大到小选取的话题特征词汇组成的集合,每个话题至少选取5个话题特征词汇。
[0014]步骤五相似话题的合并:
循环计算两话题相似度,当相似度超过预设阈值(一般设为0.1即可)时合并此两个话题,直到任意两话题的相似度都小于预设阈值为止。这里所述的两个话题的相似度是指来那个话题对应的两个特征词汇特征词汇集中相同的词汇数除以两个话题的特征词汇总个数;这里所谓的两话题合并是指将第二个话题中的特征词汇补充到第一个话题的特征词汇集中,然后删掉第二个话题。
[0015]步骤六话题展示具体是:
以特征词组中最热门关键词的爆发得分作为话题的热度值,将热点话题按热度值从高到低次序排序输出并显示。
[0016]利用本发明的方法使微博热点话题的提取更快更准确,并且给用户一个直观的热点话题浏览。
【专利附图】

【附图说明】
[0017]图1基于Hadoop的微博热点话题提取方法的结构示意图;图2提取潜在热点话题的特征词汇集;
图3热点话题挖掘的基本流程图;
【具体实施方式】
[0018]下面将参照附图更详细地描述本公开的示例性实施例,但不限于此。
[0019]图1是本发明一个实施例的基于Hadoop的微博热点话题挖掘方法的结构示意图,如图1所示。根据本发明实施例的基于Hadoop的微博热点话题挖掘方法包括:组建Hadoop集群平台、微博数据采集、数据预处理、话题特征词组提取、相似话题的合并和话题展示,以下对本发明实施例的各个步骤进行详细的说明。
[0020]步骤一、组建Hadoop集群平台
组建局域网,对局域网中的每个计算机安装Hadoop软件;通过对Hadoop配置文件中属性参数dfs.namenode和dfs.datanode的设置,将其中一台计算机配置成Hadoop名字节点,而其他计算机配置成数据节点;并通过对Hadoop配置文件中属性参数mapred.jobtracker和mapred.tasktracker的设置,将其中一台计算机配置成Hadoop调度节点,而其他计算机配置成任务节点,组建开源的Hadoop平台。
[0021]步骤二、微博数据采集
利用微博平台的开放API接口采集微博信息;其中,所述微博信息包括:微博内容、以及发微博的时间、微博的作者和微博的来源信息(这里所述的微博来源是指微博平台来源,例如来自网页上的新浪微博和iphone客户端等);将采集当天的微博使用Hadoop分布式文件命令dfs-put将数据集上传至Hadoop平台的各个节点上。
[0022]步骤三、数据预处理
数据预处理就是对采集的微博内容进行分词处理,过滤掉一些噪音信息,并抽取出热门关键词组,然后对微博信息在HDFS上建立索引。这里所述噪音信息就是对微博热点话题提取无用的信息,而所述HDFS就是Hadoop平台上的分布式文件系统。
[0023]步骤四、话题特征词组提取
把每个热门关键词都看成一个潜在的热门话题,根据特征值计算的方法提取出每个潜在热门话题的特征词组;
步骤五、相似话题的合并
循环遍历潜在的热门话题,合并相似度超过阈值的话题;
步骤六、话题展示
以特征词组中最热门关键词的爆发得分作为话题的热度值,将热点话题按热度值从高到低次序排序输出并显示。
[0024]如图2所示特征提取方法,其步骤包括:
步骤1,对词频进行归一化计算。将关键词对应的相关文档作为一个语料库,词条的归一化词频为tfn=N(n)丨N。这里N(n)表示词条n在此语料库中出现的次数,N表示此语料库中所有词条出现次数的总和。
[0025]步骤2,逆向文档频率计算。预先准备人工挑选出的典型话题文档作为语料库(一般100篇左右即可),典型话题语料库中的每一篇文档对应一个人工挑选出的典型话题,同一文档都是由人工挑选的同一典型话题的微博组成的,每条微博占一行;语料库中词条的逆向文档频率为iW/^lognNl/a+Mfc))];这里M(Z7)是指典型话题语料库中包含词条/7的文档个数;|N|是典型话题语料库中文档个数。
[0026]步骤3,计算词汇权值,提取话题特征词汇集。词条TFID陳=词频X逆向文档频率,即tfidfn=tfn*idfn ;这里所述的提取话题特征词汇集就是根据每个话题的词汇权值从大到小选取的话题特征词汇组成的集合,每个话题至少选取5个话题特征词汇。
[0027]如图3所示热点话题提取过程,其步骤包括:
步骤1,利用微博平台的开放API接口采集微博信息;其中,所述微博信息包括:微博内容、以及发微博的时间、微博的作者和微博的来源信息(这里所述的微博来源是指微博平台来源,例如来自网页上的新浪微博,来自iphone客户端等);将采集当天的微博使用Hadoop分布式文件命令dfs-put将数据集上传至Hadoop平台的各个节点上。
[0028]步骤2,采用中国科学院计算技术研究所的ICTCLAS分词系统对采集的微博信息内容进行分词并标注出词性;过滤掉包含“#”(表示一个讨论的话题)、“http://”(表示已有的新闻等其他消息)、“@用户”(表示对话式的互动)的噪音信息,以及在特定时间段频繁出现的词,如“晚安”、“午饭”等;然后利用如下公式计算每一个名词和动词在一小时内的爆发程度:
【权利要求】
1.一种基于Hadoop的微博热点话题提取方法,其特征在于该方法包括如下步骤: 步骤一、组建Hadoop集群平台; 组建局域网,对局域网中的每个计算机安装Hadoop软件,通过对Hadoop配置文件中属性参数dfs.namenode和dfs.datanode的设置,将其中一台计算机配置成Hadoop名字节点,而其它计算机配置成数据节点;并通过对Hadoop配置文件中属性参数mapred.jobtracker和mapred.tasktracker的设置,将其中一台计算机配置成Hadoop调度节点,而其它计算机配置成任务节点,组建开源的Hadoop平台; 步骤二、微博数据采集; 利用微博平台的开放API接口采集微博信息;其中,所述微博信息包括:微博内容、发微博的时间、微博的作者和微博的来源信息,所述的微博来源是指微博平台来源;将采集当天的微博使用Hadoop分布式文件命令dfs-put将数据集上传至Hadoop平台的各个节点上; 步骤三、数据预处理; 数据预处理就是对采集的微博内容进行分词处理,过滤掉一些噪音信息,并抽取出热门关键词组,然后对微博信息在HDFS上建立索引;所述噪音信息就是对微博热点话题提取无用的信息,所述HDFS就是Hadoop平台上的分布式文件系统; 步骤四、话题特征词组提取; 把每个热门关键词都看成一个潜在的热门话题,根据特征值计算的方法提取出每个潜在热门话题的特征词组; 步骤五、相似话题的合并; 循环遍历潜在的热门话题,合并相似度超过阈值的话题; 步骤六、话题展示; 以特征词组中最热门关键词的爆发得分作为话题的热度值,将热点话题按热度值从高到低次序排序输出并显示。
2.根据权利要求1所述的方法,其特征在于:步骤一组建Hadoop集群平台方法的具体步骤如下: (1)为局域网中每一个节点安装ubuntu操作系统; (2)为局域网中每一个节点安装Hadoop插件; (3)为局域网中每一个节点安装JDK插件; (4)配置局域网中每个节点上的ubuntu系统的etc文件,使ubuntu系统关联该节点上的Hadoop文件和该节点上的jdk文件; (5)配置局域网中每个节点上Hadoop插件中的core-site.xml文件、hdfs-site.xml 文件和 mapred-site.xml 文件;设置属性 dfs.namenode 和 dfs.datanode,使局域网中存在一个名字节点和多个数据节点;同时设置属性mapred, jobtracker和mapred.tasktracker,使集群中存在一个任务调度节点和多个任务执行节点。
3.根据权利要求1所述的方法,其特征在于:步骤三预处理具体是: 采用中国科学院计算技术研究所的ICTCLAS分词系统对采集的微博信息内容进行分词并标注出词性;过滤掉包含“#”(表示一个讨论的话题)、“http://”(表示已有的新闻等其他消息)、“@用户”(表示对话式的互动)的噪音信息,以及在特定时间段频繁出现的词;然后利用如下公式计算每一个名词和动词在一小时内的爆发程度
4.根据权利要求1所述的方法,其特征在于:步骤四话题特征词组提取具体是: 以每一个关键词为搜索条件在HDFS上已经建好的索引中搜索出相关微博信息,将搜索出的微博信息看作该关键词的相关文档;计算该相关文档的平均相似度,当平均相似度低于预设的阈值时就认为该文档里信息不是噪音信息而是一个潜在的话题,然后利用基于特征提取方法从所述相关文档中提取该话题的特征词汇集,并计算每个特征词汇的权值;所述相关文档的平均相似度是指文档中所有两两相邻微博之间的相似度总和除以相关文档中的微博总数得到的值;所述的微博相似度是指两条微博中相同词语的个数除以微博中总的词语个数得到的值;这里所述话题特征词汇集提取及特征词汇权值计算是指以下步骤: 步骤A:对词频进行归一化计算;将关键词对应的相关文档作为一个语料库,词条/7的归一化词频为tfn=N{i{) /N;这里ArO?)表示词条/?在此语料库中出现的次数,Ar表示此语料库中所有词条出现次数的总和; 步骤B:逆向文档频率计算;预先准备人工挑选出的典型话题文档作为语料库,典型话题语料库中的每一篇文档对应一个人工挑选出的典型话题,同一文档都是由人工挑选的同一典型话题的微博组成的,每条微博占一行;语料库中词条《的逆向文档频率为idf=logm/{l+NL{nm ;这里服fc)是指典型话题语料库中包含词条的文档个数;IN|是典型话题语料库中文档个数; 步骤C:计算词汇权值,提取话题特征词汇集;词条TFJiF值=词频X逆向文档频率,即tfidfn=tfn*idfn ;所述的提取话题特征词汇集就是根据每个话题的词汇权值从大到小选取的话题特征词汇组成的集合,每个话题至少选取5个话题特征词汇。
5.根据权利要求1所述的方法,其特征在于:步骤五相似话题的合并具体是: 循环计算两话题相似度,当相似度超过预设阈值时合并此两个话题,直到任意两话题的相似度都小于预设阈值为止;所述的两个话题的相似度是指来那个话题对应的两个特征词汇集中相同的词汇数除以两个话题的特征词汇总个数;所述的两话题合并是指将第二个话题中的特征词汇补充到第一个话题的特征词汇集中,然后删掉第二个话题。
6.根据权利要求1所述的方法,其特征在于:步骤六话题展示具体是: 以特征词组中最热门关键词的爆发得分作为话题的热度值,将热点话题按热度值从高到低次序排序输出并显示。
【文档编号】G06F17/30GK103617169SQ201310501234
【公开日】2014年3月5日 申请日期:2013年10月23日 优先权日:2013年10月23日
【发明者】徐 明, 代光英, 任一支, 张海平, 徐建, 郑宁 申请人:杭州电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1