著录项信息
专利名称 | 一种基于微博的事件实时监测方法及系统 |
申请号 | CN201410168703.5 | 申请日期 | 2014-04-24 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-07-30 | 公开/公告号 | CN103955505A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 中国科学院信息工程研究所 | 申请人地址 | 北京市海淀区闵庄路甲89号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国科学院信息工程研究所 | 当前权利人 | 中国科学院信息工程研究所 |
发明人 | 李凌云;张鹏;曹亚男;乔治;敖吉;谭建龙;郭莉 |
代理机构 | 北京轻创知识产权代理有限公司 | 代理人 | 杨立 |
摘要
本发明涉及一种基于微博的事件实时监测方法及系统,所述方法包括:异常事件检测步骤,输入事件关键词,统计与事件关键词相关的微博数量,采用波峰识别方法将统计的微博数量以曲线图展示,将曲线图中的波峰时间作为事件的异常时间点,将存在异常时间点的事件作为异常事件;地理位置定位步骤,在与异常事件相关的微博文本内容中,抽取出地理位置实体,并采用聚类方法从抽取的地理位置实体中筛选出异常事件发生的地理位置。此外,还包括有相关事件推荐步骤和/或事件相关度分析步骤。本发明对用户所关心的事件进行实时监测,监控该事件在微博平台上的传播和发展趋势,能精准地挖掘出事件发生的异常时间点和地理位置,并推荐给用户其感兴趣的话题。
1.一种基于微博的事件实时监测方法,其特征在于,包括:
异常事件检测步骤:输入事件关键词,统计与事件关键词相关的微博数量,采用波峰识别方法将统计的微博数量以曲线图展示,将曲线图中的波峰时间作为事件的异常时间点,将存在异常时间点的事件作为异常事件;
所述异常事件检测步骤具体包括:
步骤A1,输入事件关键词,获取与事件关键词相关的微博,并对获取的所有微博进行数据量化,产生一组数据,并初始化该组数据的平均值mean和方差meandev;
步骤A2,对于产生的一组数据中的点Ci,判断是否满足以下条件:
且Ci>Ci-1
式中,i>1,且i小于该组数据的数组长度,τ为事先设定的阈值;
步骤A3,若Ci满足该条件,则基于点Ci存在一个波峰区间,否则基于点Ci不存在波峰区间,需更新平均值和方差,并重复步骤A2;
步骤A4,将存在波峰区间的点Ci作为异常事件;
地理位置定位步骤:在与异常事件相关的微博文本内容中,抽取出地理位置实体,并采用聚类方法从抽取的地理位置实体中筛选出异常事件发生的地理位置;
所述地理位置定位步骤具体包括:
步骤B1,抽取每一条与异常事件相关的微博文本内容中的地理位置实体,并对抽取出的地理位置实体进行分析,获得事件发生的地理位置集合;
步骤B11,选取一条与异常事件相关的微博文本内容进行中文分词,并抽取其中所有的地理位置实体,同时记录事件的关键词与抽取的地理位置实体在微博文本中的位置索引;
步骤B12,根据步骤B11记录的位置索引,计算抽取到的地理位置实体与事件关键词之间的距离,保存与事件关键词最近的地理实体位置的距离;
步骤B13,对步骤B11抽取到的每个地理位置实体附加权重,权重取值为事件关键词与该地理实体位置之间的距离;
步骤B14,根据实际的地理位置级别关系,整理步骤B11抽取出的地理位置实体,只保留最细粒度的地理位置实体,且不改变步骤B13为其附加的权重;
步骤B15,从保留的最细粒度的地理位置实体中,选取事件发生的地理位置;
步骤B16,对每一条与异常事件相关的微博文本内容,重复步骤B11到步骤B15,获得事件发生的地理位置集合;
步骤B2,采用聚类的方式从事件发生的地理位置集合中筛选出群体性地理位置实体;
步骤B3,将筛选出的群体性地理位置实体转变为便于展示的信息格式。
2.根据权利要求1所述的事件实时监测方法,其特征在于,所述步骤A3中,当基于点Ci存在一个波峰区间时,该波峰区间的起点索引为i-1,终点索引需要先使用贪心算法得到伪终点索引,然后再通过对该伪终点索引进行修正而得到真正的终点索引。
3.根据权利要求1所述的事件实时监测方法,其特征在于,对于步骤B12,若抽取到的地理位置实体与事件关键词之间存在标点符号,则增大该地理位置实体与事件关键词之间的距离。
4.根据权利要求1所述的事件实时监测方法,其特征在于,所述步骤B2具体包括:
步骤B21,设置频度阈值,过滤事件发生的地理位置集合中小于频度阈值的地理位置实体;
步骤B22,获取经过滤后剩下的地理位置实体的经纬度信息;
步骤B23,根据地理位置实体间的经纬度信息,两两计算地理位置实体之间的空间距离,再利用层次聚类的单链接算法对经步骤B21过滤后的地理位置实体聚类,提取出概率大的聚类簇作为群体性地理位置。
5.根据权利要求1至4中任一所述的事件实时监测方法,其特征在于,还包括相关事件推荐步骤和/或事件相关度分析步骤:
相关事件推荐步骤:构建热点事件数据库,用于实时收集微博平台上的热点事件,遍历该热点事件数据库,抽取与输入的事件关键词相关的若干热点事件,并计算事件关键词与抽取的热点事件的相关度,再按相关度从大到小的顺序将热点事件返回给用户;
事件相关度分析步骤:分析与异常事件相关的微博文本内容,过滤微博文本内容中与事件无关联的微博文本数据,再对过滤后的结果进行相关度分析,按相关度大小进行排序。
一种基于微博的事件实时监测方法及系统\n技术领域\n[0001] 本发明涉及信息安全和数据挖掘领域,特别是涉及一种基于微博的事件实时监测方法及系统。\n背景技术\n[0002] 微博,即微博客(Micro-blog),作为Web2.0的产物,是一个基于用户关系信息分享、传播以及获取的平台,用户可以通过WEB、WAP等客户端组建个人社区,以最多140字左右的文字更新信息,并实现即时分享。微博作为一种新型的社交传播媒体,发展迅猛,具有传播速度快、互动性强、信息更新方便等特点,其已经对社会生活产生巨大影响,强势有力的成为我国主要传播媒介之一。比起传统媒体,微博更可能占据信息发布的制高点,这点在突发事件中表现尤为突出。例如2009年11月,西安发生4.4级地震,微博只用了不到1分钟就对该事件做了报道,而国家官方网站第一次发布该信息是在15分钟之后。\n[0003] 可见,微博的出现拓宽了信息传播的渠道,对经济的发展,社会的进步,科技的普及起到了积极的作用。但是另一方面,随之产生的负面问题也越来越多,比如以下两个方面。\n[0004] 1、反动、淫秽、迷信、暴力等有害信息在微博上传播,严重危害了国家和社会的稳定,侵蚀人民的思想。譬如恐怖分子在微博上呼吁打砸抢烧,煽动民族动乱等。\n[0005] 2、社会突发事件经微博快速传播后,造成网络上的小道消息流传,容易引起公众的不理性判断和混乱行为,从而酿成严重后果,特别是经过实名大V账号转发。譬如突尼斯“茉莉花革命”,推手们通过微博推波助澜,最终导致政局动荡。\n[0006] 如何有效利用社交媒体良好的信息传播特性,同时应对和解决其产生的负面影响?针对此问题,本发明提出了一种基于微博的事件实时监测方法及系统。\n发明内容\n[0007] 本发明所要解决的技术问题是提供一种基于微博的事件实时监测方法及系统,用于解决高效、实时地进行微博事件监测的问题。\n[0008] 本发明解决上述技术问题的技术方案如下:一种基于微博的事件实时监测方法,包括:\n[0009] 异常事件检测步骤:输入事件关键词,统计与事件关键词相关的微博数量,采用波峰识别方法将统计的微博数量以曲线图展示,将曲线图中的波峰时间作为事件的异常时间点,将存在异常时间点的事件作为异常事件;\n[0010] 地理位置定位步骤:在与异常事件相关的微博文本内容中,抽取出地理位置实体,并采用聚类方法从抽取的地理位置实体中筛选出异常事件发生的地理位置。\n[0011] 在上述技术方案的基础上,本发明还可以做如下改进。\n[0012] 进一步,所述异常事件检测步骤具体包括:\n[0013] 步骤A1,输入事件关键词,获取与事件关键词相关的微博,并对获取的所有微博进行数据量化,产生一组数据,并初始化该组数据的平均值mean和方差meandev;\n[0014] 步骤A2,对于产生的一组数据中的点Ci,判断是否满足以下条件:\n[0015] 且Ci>Ci-1\n[0016] 式中,i>1,且i小于该组数据的数组长度,τ为事先设定的阈值;\n[0017] 步骤A3,若Ci满足该条件,则基于点Ci存在一个波峰区间,否则基于点Ci不存在波峰区间,需更新平均值和方差,并重复步骤A2;\n[0018] 步骤A4,将存在波峰区间的点Ci作为异常事件。\n[0019] 进一步,所述步骤A3中,当基于点Ci存在一个波峰区间时,该波峰区间的起点索引为i-1,终点索引需要先使用贪心算法得到伪终点索引,然后再通过对该伪终点索引进行修正而得到真正的终点索引。\n[0020] 进一步,所述地理位置定位步骤具体包括:\n[0021] 步骤B1,抽取每一条与异常事件相关的微博文本内容中的地理位置实体,并对抽取出的地理位置实体进行分析,获得事件发生的地理位置集合;\n[0022] 步骤B2,采用聚类的方式从事件发生的地理位置集合中筛选出群体性地理位置实体;\n[0023] 步骤B3,将筛选出的群体性地理位置实体转变为便于展示的信息格式。\n[0024] 进一步,所述步骤B1具体包括:\n[0025] 步骤B11,选取一条与异常事件相关的微博文本内容进行中文分词,并抽取其中所有的地理位置实体,同时记录事件的关键词与抽取的地理位置实体在微博文本中的位置索引;\n[0026] 步骤B12,根据步骤B11记录的位置索引,计算抽取到的地理位置实体与事件关键词之间的距离,保存与事件关键词最近的地理实体位置的距离;\n[0027] 步骤B13,对步骤B11抽取到的每个地理位置实体附加权重,权重取值为事件关键词与该地理实体位置之间的距离;\n[0028] 步骤B14,根据实际的地理位置级别关系,整理步骤B11抽取出的地理位置实体,只保留最细粒度的地理位置实体,且不改变步骤B13为其附加的权重;\n[0029] 步骤B15,从保留的最细粒度的地理位置实体中,选取事件发生的地理位置;\n[0030] 步骤B16,对每一条与异常事件相关的微博文本内容,重复步骤B11到步骤B15,获得事件发生的地理位置集合。\n[0031] 进一步,对于步骤B12,若抽取到的地理位置实体与事件关键词之间存在标点符号,则增大该地理位置实体与事件关键词之间的距离。\n[0032] 进一步,所述步骤B2具体包括:\n[0033] 步骤B21,设置频度阈值,过滤事件发生的地理位置集合中小于频度阈值的地理位置实体;\n[0034] 步骤B22,获取经过滤后剩下的地理位置实体的经纬度信息;\n[0035] 步骤B23,根据地理位置实体间的经纬度信息,两两计算地理位置实体之间的空间距离,再利用层次聚类的单链接算法对经步骤B21过滤后的地理位置实体聚类,提取出概率大的聚类簇作为群体性地理位置。\n[0036] 进一步,所述基于微博的事件实时监测方法还包括相关事件推荐步骤和/或事件相关度分析步骤:\n[0037] 相关事件推荐步骤:构建热点事件数据库,用于实时收集微博平台上的热点事件,遍历该热点事件数据库,抽取与输入的事件关键词相关的若干热点事件,并计算事件关键词与抽取的热点事件的相关度,再按相关度从大到小的顺序将热点事件返回给用户;\n[0038] 事件相关度分析步骤:分析与异常事件相关的微博文本内容,过滤微博文本内容中与事件无关联的微博文本数据,再对过滤后的结果进行相关度分析,按相关度大小进行排序。\n[0039] 本发明的技术方案还包括一种基于微博的事件实时监测系统,其包括:\n[0040] 异常事件检测模块,其用于输入事件关键词,统计与事件关键词相关的微博数量,采用波峰识别方法将统计的微博数量以曲线图展示,将曲线图中的波峰时间作为事件的异常时间点,将存在异常时间点的事件作为异常事件;\n[0041] 地理位置定位模块,其用于在与异常事件相关的微博文本内容中,抽取出地理位置实体,并采用聚类方法从抽取的地理位置实体中筛选出异常事件发生的地理位置。\n[0042] 进一步,还包括相关事件推荐模块和/或事件相关度分析模块:\n[0043] 相关事件推荐模块,用于构建热点事件数据库,用于实时收集微博平台上的热点事件,遍历该热点事件数据库,抽取与输入的事件关键词相关的若干热点事件,并计算事件关键词与抽取的热点事件的相关度,再按相关度从大到小的顺序将热点事件返回给用户;\n[0044] 事件相关度分析模块,用于分析与异常事件相关的微博文本内容,过滤微博文本内容中与事件无关联的微博文本数据,再对过滤后的结果进行相关度分析,按相关度大小进行排序。\n[0045] 本发明的有益效果是:本发明对用户所关心的事件进行实时监测,监控该事件在微博平台上的传播和发展趋势,并对该事件的异常时间点进行地理位置定位,展示给用户清晰全面的事件实时信息。同时,基于用户查询的关键词和查询历史,向用记推荐其可能感兴趣的的相关事件。本发明易于在具体的系统中实现,能精准地挖掘出事件发生的异常时间点和地理位置,并适当推荐给用户相关热点话题。\n附图说明\n[0046] 图1为实施例中基于微博的事件实时监测方法的流程示意图;\n[0047] 图2为实施例中进行地理位置定位的流程示意图;\n[0048] 图3为实施例中实现事件实时监测的系统架构示意图。\n具体实施方式\n[0049] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。\n[0050] 如图1所示,本实施例给出了一种基于微博的事件实时监测方法,主要包括异常事件检测步骤、地理位置定位步骤、相关事件推荐步骤和事件相关度分析步骤,其中异常事件检测步骤和地理位置定位步骤为本实施例的核心技术要点,而相关事件推荐步骤和事件相关度分析步骤可根据实际,实施其中之一的步骤或同时实施两个步骤均。\n[0051] 一、异常事件检测步骤\n[0052] 该步骤主要完成的功能为:输入事件关键词,统计与事件关键词相关的微博数量,采用波峰识别方法将统计的微博数量以曲线图展示,将曲线图中的波峰时间作为事件的异常时间点,将存在异常时间点的事件作为异常事件。\n[0053] 具体地,异常事件检测步骤又由以下子步骤实现:\n[0054] 步骤A1,输入事件关键词,获取与事件关键词相关的微博,并对获取的所有微博进行数据量化,产生一组数据,并初始化该组数据的平均值mean和方差meandev;\n[0055] 步骤A2,对于产生的一组数据中的点Ci,判断是否满足以下条件:\n[0056] 且Ci>Ci-1\n[0057] 式中,i>1,且i小于该组数据的数组长度,τ为事先设定的阈值;\n[0058] 步骤A3,若Ci满足该条件,则基于点Ci存在一个波峰区间,否则基于点Ci不存在波峰区间,需更新平均值和方差,并重复步骤A2;当基于点Ci存在一个波峰区间时,该波峰区间的起点索引start为i-1,终点索引end需要先使用贪心算法得到伪终点索引,然后再通过对该伪终点索引进行修正而得到真正的终点索引,索引对(start,end)就表示基于点Ci的波峰区间。\n[0059] 步骤A4,将存在波峰区间的点Ci作为异常事件。\n[0060] 波峰识别(Peak-Finding)方法可以高效准确地挖掘事件的异常时间点,其在实时性要求较高的系统中一般采用移动均值(Moving average),移动方差(Moving Variance)和滑动窗口机制来实现。具体算法如下所示的函数find_peak_windows。\n[0061] function find_peak_windows(C):\n[0062] windows=[]\n[0063] mean=C1\n[0064] meandev=variance(C1,…,Cp)\n[0065] for i=2;itemp)length=temp;\n[0112] geoDistance.add(length);\n[0113] 步骤B13,对步骤B11抽取到的每个地理位置实体geo[]附加权重weight=geoDistance[i],即权重取值为事件关键词与该地理实体位置之间的距离。\n[0114] 步骤B14,根据实际的地理位置级别关系,整理步骤B11抽取出的地理位置实体,只保留最细粒度的地理位置实体(如四川和汶川,只保留汶川),且不改变步骤B13为其附加的权重。本实施例中根据自定义的地理实体词典来示意实际的地理位置级别关系,该词典包含了中国所有县级以上的地理位置实体名,词典每行的字段:地理位置实体名、行政级别0-\n3、唯一id、经纬度信息,均如表1所示。行政级别0代表国家级,1代表省级,2代表市区级,3代表县级。唯一id字段是人工生成的数字,该数字中含有根据实际的地理位置关系产生的前缀信息,该前缀信息包含那些行政级别小于自身的地理位置实体的信息。根据该唯一id的前缀信息能够高效的实现保留最细粒度地理位置实体的功能。\n[0115] 表1自定义地理位置词典部分示例\n[0116]\n[0117] 步骤B15,从保留的最细粒度的地理位置实体中,选取事件发生的地理位置。\n[0118] 步骤B16,对每一条与异常事件相关的微博文本内容,重复步骤B11到步骤B15,获得事件发生的地理位置集合geoList[]。\n[0119] 另外,对于所述步骤B2具体包括:\n[0120] 步骤B21,设置频度阈值,过滤事件发生的地理位置集合中小于频度阈值的地理位置实体,其程序实现过程如下:\n[0121] Set threshold;\n[0122] 统计geoList[]中各地理位置实体名出现的频度count;\n[0123] If(count
法律信息
- 2017-09-26
- 2014-08-27
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201410168703.5
申请日: 2014.04.24
- 2014-07-30
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-01-23
|
2007-08-21
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |