一种微博舆情监控方法及监控系统的制作方法
【专利摘要】本发明涉及一种微博舆情监控系统及方法,所述系统包括用于爬取微博实时数据并写入数据库的数据采集模;用于按照预定算法对预定时间内的微博实时数据进行排序,筛选出特定时间段内的热门微博的热门微博检测模块;用于将微博文本向量化,对向量化的微博文本进行聚类,选取各类中热度最大的微博作为监测到的异常微博的异常微博监控模块;用于根据预设阈值显示相应条数的热门微博和异常微博的数据显示模块。本发明可快速的分析一段时间内的微博,提取出最热微博,跟踪最热门的微博话题;监控一段时间内的实时微博,检测出最近一段时间内的异常微博,系统能够自动进行数据清洗,算法采用成熟的聚类方法具有较高的稳定性和准确率。
【专利说明】一种微博舆情监控方法及监控系统
【技术领域】
[0001]本发明涉及自然语言处理领域,尤其涉及一种微博舆情监控方法及监控系统。
【背景技术】
[0002]微博是近年来出现的新兴媒体,具有便捷性、背对脸和原创性等特性。在数据爆炸的今天,用户不可能通过阅读大量的微博信息来获取实时的突发事件。因此,从海量微博数据中挖掘出用户感兴趣的突发事件,是非常有意义的。
[0003]现有技术中按照突发特征识别的顺序挖掘突发事件,突发事件识别可以分为以文本为中心的方法和以突发特征为中心的方法。前者是先进行文本聚类,再在类中抽取出突发特征,进行突发事件的识别;后者是先抽取出突发特征,再对突发特征进行分组,使用突发特征组进行突发事件的识别。
[0004]以文本为中心的方法针对传统的文本,效果较好,但是微博文本稀疏并且含有很多垃圾信息,先进行聚类再进行突发特征识别会引入很多噪声信息,并且在文本聚类时还存在较多阈值的选取问题,阈值选取大多是根据经验值来设定,对聚类结果比较敏感。以突发特征为中心的方法避免了阈值的问题,但是没有很好地解决垃圾信息的问题。
【发明内容】
[0005]本发明所要解决的技术问题是针对现有技术的不足,提供一种微博舆情监控方法及监控系统。
[0006]本发明解决上述技术问题的技术方案如下:一种微博舆情监控方法,包括如下步骤:
[0007]爬取微博实时数据并写入数据库;
[0008]按照预定算法对第一预定时间段内的微博实时数据进行排序,筛选出第一预定时间段内的热门微博;
[0009]对第二预定时间段内的由微博数据构成的微博文本进行突发词抽取,进而进行向量化,对向量化的微博文本进行聚类,选取各类中异常值最大的微博作为监测到的异常微博;
[0010]根据预设阈值显示相应条数的热门微博和异常微博。
[0011]本发明的有益效果是:本发明可快速的分析一段时间内的微博,提取出最近一段时间内的最热微博,跟踪最近一段时间内的最热门的微博话题;监控一段时间内的实时微博,检测出最近一段时间内的异常微博,系统能够自动进行数据清洗,算法采用成熟的聚类方法具有较高的稳定性和准确率。
[0012]在上述技术方案的基础上,本发明还可以做如下改进。
[0013]进一步,利用网络爬虫爬取微博实时数据,并写入数据库便于进行数据分析。
[0014]进一步,所述按照预定算法对第一预定时间段内的微博实时数据进行排序,筛选出特定时间段内的热门微博的具体操作为:对第一预定时间段内的微博实时数据分别按照转发量、评论量和热度进行排序,根据微博实时数据的转发量和评论量筛选出最热门的微博,对其进行跟踪。
[0015]进一步,将第二预定时间段内的由微博数据构成微博文本向量化,对向量化的微博文本进行聚类,选取各类中热度最大的微博作为监测到的异常微博的具体操作为:
[0016]步骤A:对爬取的微博文本进行数据清洗;
[0017]步骤B:从清洗后的微博文本中根据词增长率和TF-1DF值抽取突发词en ;
[0018]步骤C:将第二预定时间段内的每个微博文本向量化表示成突发词微博文本text—{θ?,θ2?...θπ);
[0019]其中,text表示突发词微博文本,en表示抽取的突发词,利用该公式将微博文本表示成突发词微博文本;
[0020]步骤D:对突发词微博文本进行聚类,选取各类中热度最大的微博作为监测到的异常微博。
[0021]进一步,所述步骤D中对突发词微博文本进行聚类,选取各类中热度最大的微博作为监测到的异常微博的具体操作为:利用k-means对突发词微博文本进行聚类,对每个类簇根据如下公式计算其异常值:
[0022]hottweet=入 1*N MplyC_t+λ 2*Nretweetc_t
[0023]其中,队_。_和N_Mt&)Unt分别表示单条微博的评论数和转发数,λ I和λ 2为两个参数,且λ 1+ λ 2 = I。
[0024]本发明解决上述技术问题的另一技术方案如下:一种微博舆情监控系统,包括数据采集模块、热门微博检测模块、异常微博监控模块、数据库和数据显示模块;
[0025]所述数据采集模块,其用于爬取微博实时数据并写入数据库;
[0026]所述热门微博检测模块,其用于按照预定算法对第一预定时间段内的微博实时数据进行排序,筛选出第一预定时间段内的热门微博;
[0027]所述异常微博监控模块,其用于将第二预定时间段内的由微博数据构成的微博文本进行突发词抽取,进而进行向量化,对向量化的微博文本进行聚类,选取各类中异常值最大的微博作为监测到的异常微博;;
[0028]所述数据显示模块,其用于根据预设阈值显示相应条数的热门微博和异常微博。
[0029]在上述技术方案的基础上,本发明还可以做如下改进。
[0030]进一步,所述数据采集模块利用网络爬虫爬取微博实时数据,并写入数据库便于进行数据分析。
[0031]进一步,所述热门微博检测模块对第一预定时间段内的微博实时数据分别按照转发量、评论量和热度进行排序,根据微博实时数据的转发量和评论量筛选出最热门的微博,对其进行跟踪。
[0032]进一步,所述异常微博监控模块包括数据清洗单元、突发词抽取单元、微博向量化单元和微博聚类单元;
[0033]所述数据清洗单元,其用于对爬取的微博文本进行数据清洗;
[0034]所述突发词抽取单元,其用于从清洗后的微博文本中根据词增长率和TF-1DF值抽取突发词;
[0035]所述微博向量化单元,将第二预定时间段内的每个微博文本向量化表示成突发词微博文本 text = {el, e2,...en};
[0036]其中,text表示突发词微博文本,en表示抽取的突发词,利用该公式将微博文本表示成突发词微博文本;
[0037]所述微博聚类单元,其用于对突发词微博文本进行聚类,选取各类中热度最大的微博作为监测到的异常微博。
[0038]进一步,所述微博聚类单元利用k-means对突发词文件进行聚类,对每个类簇根据如下公式计算其异常值:
[0039]hottweet=入 1*N MplyC_t+λ 2*Nretweetc_t
[0040]其中,队_。_和N,—_t分别表示单条微博的评论数和转发数,λ I和λ 2为两个参数,且λ 1+ λ 2 = I。
【专利附图】
【附图说明】
[0041]图1为本发明所述一种微博舆情监控系统框图;
[0042]图2为本发明所述监控异常微博的方法流程图。
[0043]附图中,各标号所代表的部件列表如下:
[0044]1、数据采集模块,2、热门微博检测模块,3、异常微博监控模块,4、数据库,5、数据显示模块,31、数据清洗单元,32、突发词抽取单元,33、微博向量化单元,34、微博聚类单元。
【具体实施方式】
[0045]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0046]如图1所示,一种微博舆情监控系统,包括数据采集模块1、热门微博检测模块2、异常微博监控模块3、数据库4和数据显示模块5 ;所述数据采集模块1,其用于爬取微博实时数据并写入数据库4 ;所述热门微博检测模块2,其用于按照预定算法对第一预定时间段内的微博实时数据进行排序,筛选出第一预定时间段内的热门微博;所述异常微博监控模块3,其用于对第二预定时间段内的由微博数据构成的微博文本进行突发词抽取,进而进行向量化,对向量化的微博文本进行聚类,选取各类中异常值最大的微博作为监测到的异常微博;所述数据显示模块5,其用于根据预设阈值显示相应条数的热门微博和异常微博。所述第一预定时间段和所述第二预定时间段可以是相同时间段也可以为不同时间段。
[0047]所述数据采集模块I利用网络爬虫爬取微博实时数据,并写入数据库便于进行数据分析。
[0048]所述热门微博检测模块2对第一预定时间段内的微博实时数据分别按照转发量、评论量和热度进行排序,根据微博实时数据的转发量和评论量筛选出最热门的微博,对其进行跟踪。
[0049]所述异常微博监控模块3包括数据清洗单元31、突发词抽取单元32、微博向量化单元33和微博聚类单元34 ;所述数据清洗单元31,其用于对爬取的微博文本进行数据清洗(主要使用正则表达式过滤掉一些广告、欺诈微博数据);所述突发词抽取单元32,其用于从清洗后的微博文本中根据词增长率和TF-1DF值抽取突发词;所述微博向量化单元33,将第二预定时间段内的每个微博文本向量化表示成突发词微博文本text = {el,e2,...en};其中,text表示突发词微博文本,en表示抽取的突发词,利用该公式将微博文本表示成突发词微博文本;所述微博聚类单元34,其用于对突发词微博文本进行聚类,选取各类中热度最大的微博作为监测到的异常微博。所述微博聚类单元利用k-means对突发词文件进行聚类,对每个类簇根据如下公式计算其异常值:hottweet= λ 1*Ν
replyCount+ 入 ^ ^re tweet Count
中,N分别表示单条微博的评论数和转发数,λ I和λ 2为两个参数,且
λ 1+ λ 2 = I。
[0050]微博舆情监控系统主要分为两部分:热门微博的检测和异常微博的监控。热门微博的检测即是根据转发量和评论量检测一段时间内的热门微博。当一定时间内的转发量和评论量超过一定的阈值就判定该微博为热门微博,将其加入到热门微博的列表中。该系统可以根据用户需求抽取一定时间内的最热门的10条、20条等微博数据。异常微博的监控即是运用一定的统计规律并根据相应的算法评判一条微博是否异常,并提取一段时间内的异常微博。然后根据一定的算法画出异常微博的走势曲线。
[0051]本发明在实现异常微博监控是,首先进行数据清洗,去除垃圾信息,其次,进行突发词集抽取,使用突发词表示微博文本,然后分析微博描述突发事件的特性,再次,对微博文本进行向量化,最后,使用k-means的方法对文本进行聚类,返回各类簇中热度最大的微博作为突发事件的检测结果。
[0052]一种微博舆情监控方法,包括如下步骤:爬取微博实时数据并写入数据库;按照预定算法对第一预定时间段内的微博实时数据进行排序,筛选出第一预定时间段内的热门微博;对第二预定时间段内的由微博数据构成的微博文本进行突发词抽取,进而进行向量化,对向量化的微博文本进行聚类,选取各类中异常值最大的微博作为监测到的异常微博;根据预设阈值显示相应条数的热门微博和异常微博。
[0053]优选地,利用网络爬虫爬取微博实时数据,并写入数据库便于进行数据分析。所述按照预定算法对第一预定时间段内的微博实时数据进行排序,筛选出特定时间段内的热门微博的具体操作为:对第一预定时间段内的微博实时数据分别按照转发量、评论量和热度进行排序,根据微博实时数据的转发量和评论量筛选出最热门的微博,对其进行跟踪。
[0054]如图2所示,将第二预定时间段内的由微博数据构成微博文本向量化,对向量化的微博文本进行聚类,选取各类中热度最大的微博作为监测到的异常微博的具体操作为:
[0055]步骤A:对爬取的微博文本进行数据清洗;
[0056]步骤B:从清洗后的微博文本中根据词增长率和TF-1DF值抽取突发词en ;
[0057]步骤C:将第二预定时间段内的每个微博文本向量化表示成突发词微博文本text—{θ?,θ2?...θπ};
[0058]其中,text表示突发词微博文本,en表示抽取的突发词,利用该公式将微博文本表示成突发词微博文本;
[0059]步骤D:对突发词微博文本进行聚类,选取各类中热度最大的微博作为监测到的异常微博。
[0060]所述步骤D中对突发词微博文本进行聚类,选取各类中热度最大的微博作为监测到的异常微博的具体操作为:利用k-means对突发词微博文本进行聚类,对每个类簇根据如下公式计算其异常值:
[0061 ] hottweet = λ 1*N replyCount+ λ 2*Nretweetc贿t
[0062]其中,队_。_和N_Mt&)Unt分别表示单条微博的评论数和转发数,λ I和λ 2为两个参数,且λ 1+ λ 2 = I。
[0063]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种微博舆情监控方法,其特征在于,包括如下步骤: 爬取微博实时数据并写入数据库; 按照预定算法对第一预定时间段内的微博实时数据进行排序,筛选出第一预定时间段内的热门微博; 对第二预定时间段内的由微博数据构成的微博文本进行突发词抽取,进而进行向量化,对向量化的微博文本进行聚类,选取各类中异常值最大的微博作为监测到的异常微博; 根据预设阈值显示相应条数的热门微博和异常微博。
2.根据权利要求1所述一种微博舆情监控方法,其特征在于,利用网络爬虫爬取微博实时数据,并写入数据库便于进行数据分析。
3.根据权利要求1所述一种微博舆情监控方法,其特征在于,所述按照预定算法对第一预定时间段内的微博实时数据进行排序,筛选出特定时间段内的热门微博的具体操作为:对第一预定时间段内的微博实时数据分别按照转发量、评论量和热度进行排序,根据微博实时数据的转发量和评论量筛选出最热门的微博,对其进行跟踪。
4.根据权利要求1所述一种微博舆情监控方法,其特征在于,将第二预定时间段内的由微博数据构成微博文本向量化,对向量化的微博文本进行聚类,选取各类中热度最大的微博作为监测到的异常微博的具体操作为: 步骤A:对爬取的微博文本进行数据清洗; 步骤B:从清洗后的微博文本中根据词增长率和TF-1DF值抽取突发词en ; 步骤C:将第二预定时间段内的每个微博文本向量化表示成突发词微博文本text =(el, e2,...en}; 其中,text表示突发词微博文本,en表示抽取的突发词,利用该公式将微博文本表示成突发词微博文本; 步骤D:对突发词微博文本进行聚类,选取各类中热度最大的微博作为监测到的异常微博。
5.根据权利要求4所述一种微博舆情监控方法,其特征在于,所述步骤D中对突发词微博文本进行聚类,选取各类中热度最大的微博作为监测到的异常微博的具体操作为:利用k-means对突发词微博文本进行聚类,对每个类簇根据如下公式计算其异常值:
hottweet 人 1*N replyCount+ 人 2NretweetQount 其中,^―和N,—_t分别表示单条微博的评论数和转发数,λ I和λ 2为两个参数,且 λ 1+ λ 2 = I。
6.—种微博舆情监控系统,其特征在于,包括数据采集模块、热门微博检测模块、异常微博监控模块、数据库和数据显示模块; 所述数据采集模块,其用于爬取微博实时数据并写入数据库; 所述热门微博检测模块,其用于按照预定算法对第一预定时间内的微博实时数据进行排序,筛选出第一预定时间段内的热门微博; 所述异常微博监控模块,其用于将第二预定时间段内的由微博数据构成的微博文本进行突发词抽取,进而进行向量化,对向量化的微博文本进行聚类,选取各类中异常值最大的微博作为监测到的异常微博; 所述数据显示模块,其用于根据预设阈值显示相应条数的热门微博和异常微博。
7.根据权利要求6所述一种微博舆情监控系统,其特征在于,所述数据采集模块利用网络爬虫爬取微博实时数据,并写入数据库便于进行数据分析。
8.根据权利要求6所述一种微博舆情监控系统,其特征在于,所述热门微博检测模块对第一预定时间段内的微博实时数据分别按照转发量、评论量和热度进行排序,根据微博实时数据的转发量和评论量筛选出最热门的微博,对其进行跟踪。
9.根据权利要求6所述一种微博舆情监控系统,其特征在于,所述异常微博监控模块包括数据清洗单元、突发词抽取单元、微博向量化单元和微博聚类单元; 所述数据清洗单元,其用于对爬取的微博文本进行数据清洗; 所述突发词抽取单元,其用于从清洗后的微博文本中根据词增长率和TF-1DF值抽取突发词; 所述微博向量化单元,将第二预定时间段内的每个微博文本向量化表示成突发词微博文本 text = {el, e2,...en}; 其中,text表示突发词微博文本,en表示抽取的突发词,利用该公式将微博文本表示成突发词微博文本; 所述微博聚类单元,其用于对突发词微博文本进行聚类,选取各类中热度最大的微博作为监测到的异常微博。
10.根据权利要求9所述一种微博舆情监控系统,其特征在于,所述微博聚类单元利用k-means对突发词文件进行聚类,对每个类簇根据如下公式计算其异常值:
hottweet 人 1*N replyCount+ 人 ^^retweetCount
中,Nrepiycount矛口 NretweetCount 分别表示单条微博的评论数和转发数,λ I和λ 2为两个参数,且 λ 1+ λ 2 = I。
【文档编号】G06F17/30GK104516962SQ201410800391
【公开日】2015年4月15日 申请日期:2014年12月18日 优先权日:2014年12月18日
【发明者】姬东鸿, 王路路, 白旭 申请人:北京牡丹电子集团有限责任公司数字电视技术中心