本发明涉及地震信息采集技术领域,更具体地,涉及一种从微博中挖掘地震主题词的方法和装置。
背景技术:
在地震发生时,大量关于地震灾害的相关数据通过微博进行传播。如何从大量的微博文本中挖掘、提取出热门的地震主题信息,是一个需要解决的问题。而所获取的地震微博信息为中文短文本信息,且夹杂了大量新闻事实、重复转发等公众信息含量较低的信息,因此需要对于地震微博信息需要经过筛选整理,并且按照微博信息传播影响力的评价,提取出最能代表公众的主题词。
词频-比例文档频率,即Term Frequency Proportional Document Frequency(TF-PDF),是一种用于情报检索与文本挖掘的常用加权技术。对于热点话题的提取,代表热点话题的特征词汇应当在大量文档中频繁地出现。TF*PDF为在多个渠道多个文档中频繁出现的词汇分配更大的权重,反之亦然,是一种更适合于提取热点词汇的特征词权重计算方法。
而现有的微博主题词提取方法针对地震微博信息热门主题词的挖掘,仍存在一些问题:
1、忽略了地震新闻微博及其内容纯粹的转发的噪声影响;
2、缺乏对能准确表示出地震信息的数量词、日期时间表示词组和地理位置表示词组的挖掘提取;
3、缺乏每条微博文本潜在包含的活跃度、传播力、覆盖度的综合影响力对其包含的特征词影响的考虑;
上述几个问题都会对主题词流行热度的计算造成影响,使挖掘地震主题词的结果缺乏准确性和高效性。
技术实现要素:
本发明提供一种克服上述问题或者至少部分地解决上述问题的从微博中挖掘地震主题词的方法和装置。
根据本发明的一个方面,提供一种从微博中挖掘地震主题词的方法,包括:
S1、对含有地震词汇的微博文本集中的每个微博文本提取特征词,基于TF-PDF公式计算每个特征词在该特征词所在微博文本中的权重;
S2、基于微博文本对应的活跃度、传播力以及覆盖度,获得每个微博文本的影响力;以及
S3、基于各微博文本的影响力以及微博文本中各特征词的权重,获得各特征词的流行度,按照各特征词的流行度大小进行降序排列,将排名靠前的特征词作为地震主题词。
根据本发明的另一个方面,提供一种从微博中挖掘地震主题词的装置,包括:
权重计算单元,用于对含有地震词汇的微博文本集中的每个微博文本提取特征词,基于TF-PDF公式计算每个特征词在该特征词所在微博文本中的权重;
影响力计算单元,基于微博文本对应的活跃度、传播力以及覆盖度,获得每个微博文本的影响力;以及
主题词获取单元,基于各微博文本的影响力以及微博文本中各特征词的权重,获得各特征词的流行度,按照各特征词的流行度大小进行降序排列,将排名靠前的特征词作为地震主题词。
本申请提出一种挖掘微博文本的地震主题词的方法和装置,从公众视角、以微博为数据源,通过综合考虑基于TF-PDF公式获得的特征词的权重以及微博文本的影响力,获得地震主题词,提高了特征词流行度计算的准确度,增加了从地震微博文本数据中提取热门主题词的准确性,为地震信息传播、地震防灾减灾等研究的信息分析提供了重要数据源和分析方法的补充,具有极强的实用意义。
附图说明
图1为根据本发明实施例的从微博中挖掘地震主题词的流程图;
图2为现有技术中含有标题的微博的截图;
图3为现有技术中含有话题的微博的截图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1示出了本发明实施例的一种从微博中挖掘地震主题词的流程图,如图1可知,本方法包括:
S1、对含有地震词汇的微博文本集中的每个微博文本提取特征词,基于TF-PDF公式计算每个特征词在该特征词所在微博文本中的权重;
S2、基于微博文本对应的活跃度、传播力以及覆盖度,获得每个微博文本的影响力;以及
S3、基于各微博文本的影响力以及微博文本中各特征词的权重,获得各特征词的流行度,按照各特征词的流行度大小进行降序排列,将排名靠前的特征词作为地震主题词。
本申请提出一种挖掘微博文本的地震主题词的方法和装置,从公众视角、以微博为数据源,通过综合考虑基于TF-PDF公式获得的特征词的权重以及微博文本的影响力,获得地震主题词,提高了特征词流行度计算的准确度,增加了从地震微博文本数据中提取热门主题词的准确性,为地震信息传播、地震防灾减灾等研究的信息分析提供了重要数据源和分析方法的补充,具有极强的实用意义。
以“地震”为关键词搜索得到的微博文本中,微博内容多是事实描述,不含人们自身的感受,其微博数据产生于由地震台网中心、媒体或个人转发等,这些信息对于地震微博分析意义较小,但它们发布的数量和转发量均比较多。本发明认为这些新闻微博对于地震微博信息分析有消极影响,因此对地震新闻微博及其转发进行识别,并在识别提取之后将其从数据集中清洗过滤掉。
在一个实施例中,所述步骤S1之前还包括:
采集一定时间范围内含有地震词汇的微博文本,构成微博文本集;以及
将含有特定词汇、特定话题或特定标题的微博文本、具有媒体认证的博主发送的微博文本和单纯转发的微博文本从所述微博文本集中剔除。
在微博的发布规则中,约定俗成地规定:
标题显示在【】符号中,图2示出了发明人随机从微博上截图的关于含有标题的微博的示意图,从图2中可以明显看出,该微博的标题“地震快讯”容纳在【】符号中。
话题显示在两个#符号中,图3示出了发明人随机从微博上截图的含有话题的微博示意图,图3中可以明显看出,该微博的话题“地震快讯”容纳在两个#号之间。
通过检索微博中是否含有【】符号或##符号,就可以获得该微博的话题或标题。
在一个实施例中,需要剔除的微博包括以下几类:
(1)包含“【地震快讯】”、“【快讯】”等的微博;
(2)包含“#最新消息#”、“#地震快讯#”、“#地震直播#”、“#地震最新动态#”等的微博;
(3)包含“中国地震台网”、“中国地震局”、“新华社快讯”、“统计”等词汇的微博;
(4)单纯转发以上三类微博的微博。
之所以要删除以下微博,是因为本发明更多是从微博信息中挖掘提取公众表达的地震热词,而新闻类信息及其大量纯粹的转发,会影响公众本身信息的表达。
当微博文本中如果存在繁体字,会对微博进行分词解析形成困难,造成分词结果的错误,所以,在一个实施例中,在对微博文本进行分词之前,必须进行繁体转简体的操作。
在一个实施例中,应用.NET框架的Visual Studio International Pack类库中的ChineseConverter.dll将繁体中文汉字转换为简体中文汉字。
在一个实施例中,所述步骤S1包括:
S1.1、对所述微博文本集中每个微博文本进行分词,并标注每个词汇的词性;基于不同正则表达式,对应提取每个微博文本中的不同词性的词汇组合。
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
1.给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);
2.可以通过正则表达式,从字符串中获取我们想要的特定部分。
表1示出了本发明实施例中的词性标注表,包含了不同词性的代码信息、举例以及备注信息。
表1词性标注表
S1.2、从步骤S1.2得到的所有词汇组合中提取名词、动词、量词、数词以及时间词,作为所述特征词。
S1.3、利用空间向量模型将微博文本表示为向量,所述特征词对应向量中的特征项,基于TF-PDF公式计算每个特征词在各微博文本中的权重。
利用空间向量模型将文本表示成为向量,这样就可以利用对向量空间模型的运算的方法来对文本进行处理。文本转化为向量时,文档中每个词对应向量中的每个特征项,所有文档中的词所对应的维度构成了整个空间,而权重则对应每一维的取值。
所述词性至少包括名词、数词、量词、位置词、震级、时间词、日期词以及动词。
本发明认为,决定微博影响力的主要因素有以下几方面:
微博主自身的知名度及其影响力
一般认为,用户的知名度越高,影响力越大,其发布的微博被关注的可能性就越大,其发布的消息就相容易的达到传播的广度,这些对话题的影响力也就越大。
微博主日均影响力大小的量化衡量,可以通过其微博的访问量、被评论、转发情况,微博主的活跃粉丝的数量、认证度等指标综合评价。
微博主的粉丝数
用户发送的内容被第一次收听的广度,很大程度上是由粉丝数量决定的。收听的广度越大,被转载的可能性也就越大,因为转载带来第二次亦或是第三次收听的可能性也就相应变大。而信息后期传播的广度和影响力,很大程度上是由信息迅速传播的第一链的长度的大小所决定的。
粉丝的关注数量
粉丝的关注数量是微博影响力提高的一个不利因素。如果粉丝的关注内容越多,收到的干扰信息就越多,那么把过滤掉此条信息的可能性也就越大,转载该条微博的几率就相应减小。如果被转载的次数减少,那么相应的信息本身的影响力也就会变弱。
粉丝的质量
粉丝的质量在新浪微博中表现为以V字开头的VIP实名认证用户。VIP实名认证用户的平均粉丝数通常都会远远大于普通用户的粉丝数,而且名人效应对信息传播过程中的影响是非常大的。粉丝质量越高,能够收听到的用户数量也就越多,潜在的第二次收听和多次收听能达到的信息传播范围就越广,该条信息的影响力也就越大。
微博主以及粉丝的活跃度
微博主的活跃度决定了发出的信息的数量,活跃度高,发出的信息就越多,单条信息被接受到的概率就会下降,这在没有强大影响力的普通用户中能够比较容易被证明。
而粉丝的活跃度不高,即使微博主知名度较高、拥有较多的粉丝数量,其发出的信息的影响力也会相对被削弱。
微博平台的自身影响力
受各个微博平台用户规模、广泛度及用户活跃度的影响,微博平台本身所具有的影响力也有不同的。
综合以上,本发明提出微博综合影响力的指标,包括:活跃度、传播力和覆盖度。
在一个实施例中,所述步骤S2包括:
基于微博文本的博主在该时间范围内,每天平均发微博数和转发评论数之和,获得该微博文本对应的活跃度。
例如,该博主每天平均发微博5篇,转发并评论的微博为3篇,单纯转发的微博为2篇,因为单纯转发并不属于活跃度的考虑范围,因此活跃度为5+3=8。
基于微博文本被转发评论和被评论数之和,获得该微博文本对应的传播力。
基于微博文本的博主的活跃粉丝数,获得该微博文本对应的覆盖度。
基于地震发生的时间,分别设置对应所述活跃度、传播力以及覆盖度的3个影响力参数。
在一个实施例中,可以根据实际需要调整系数,比如,如果是在地震灾情初期,覆盖度代表了微博传播的潜力,相对重要性会大一些,就可以把对应覆盖度的影响力参数调高;当地震灾情及救援到收尾时期,传播力重要性就会更大一些,就把对应传播力的影响力参数调高。
基于微博文本对应的活跃度、传播力、覆盖度以及3个影响力参数,获得每个微博文本的影响力:
影响力p=a*活跃度+b*传播力+c*覆盖度,其中a、b和c为分别对应活跃度、传播力以及覆盖度的影响力参数。
在一个实施例中,所述步骤S3中流行度的计算公式为:
其中,q(j,t)表示特征词j在时间范围t内的流行度,D表示时间范围t的微博文本集,p(d)为微博文本d的影响力,wd,j代表微博文本d中特征词j所具有的TF-PDF权重。
在一个实施例中,所述特征词i在微博文本d中出现的频率的计算公式为:
其中,ni,j表示特征词i在微博文本d中出现的次数,Σknk,j表示微博文本d中所有特征词出现的总次数。
在一个实施例中,所述基于不同的正则表达式,对应提取每个微博文本的不同词性的词汇组合,包括:
基于第一正则表达式,提取微博文本中的名词、数词或量词的组合:
“(?:\S*/n\s\S*/n\s|\S*/n\s)(?:\S*/m\s\S*/m\s|\S*/m\s)(?:\S*/n\s|\S*/qv\s|\S*/q\s|)(?:\S*/n\s|)|(?:\S*/mq\s|\S*/m\s\S*/m\s|\S*/m\s)(?:\S*/qt\s|\S*/qv\s|\S*/q\s|)(?:\S*/m\s|\S*/ns\s|)(?:\S*/n\s|)”
基于第二正则表达式,提取微博文本中的位置词、震级或时间词的组合;
“(?:\S*/ns\s\S*/ns\s\S*/ns\s\S*/ns\s\S*/ns\s|\S*/ns\s\S*/ns\s\S*/ns\s\S*/ns\s|\S*/ns\s\S*/ns\s\S*/ns\s|\S*/ns\s\S*/ns\s|\S*/ns\s)(?:\S*/v\s|\S*/n\s|)(?:\S*/m\s|)(?:\S*/t\s\S*/t\s\S*/t\s|\S*/t\s\S*/t\s|\S*/t\s|\S*/qt\s|)(?:\S*/m\s|)(?:\S*/v\s|\S*/q\s|\S*/t\s|)(?:\S*/n\s|)(?:\S*/vi\s|)”
基于第三正则表达式,提取微博文本中的动词、名词或量词的组合:
“(?:\S*/v\s|\S*/vi\s)(?:\S*/n\s|)(?:\S*/m\s\S*/m\s|\S*/m\s|)(?:\S*/qt\s|\S*/q\s|)(?:\S*/m\s|\S*/vn\s|)(?:\S*/n\s|)”
基于第四正则表达式,提取微博文本中的日期词或时间词的组合:
“(?:\S*/t\s\S*/t\s\S*/t\s\S*/t\s\S*/t\s|\S*/t\s\S*/t\s\S*/t\s\S*/t\s|\S*/t\s\S*/t\s\S*/t\s|\S*/t\s\S*/t\s|\S*/t\s)(?:\S*/m\s|\S*/ns\s|)(?:\S*/t\s|\S*/qt\s|\S*/q\s|)(?:\S*/n\s|)|\b\S*/m\s\S*/qt\s\S*/t\s\S*/m\s\S*/q\s\S*/t\s\S*/t\s\S*/m\b”
在一个实施例中,所述TF-PDF公式为:
wd,i=tfi*exp(dfi/D)
其中,wd,i表示特征词i在微博文本d中的权重,tfi表示特征词i在微博文本d中出现的频率,dfi则表示微博文本集中包含特征词i的微博文本数,D为微博文本集中微博文本的总数。
本发明还提供一种从微博中挖掘地震主题词的装置,包括:
权重计算单元,用于对微博文本集中的每个微博文本中提取特征词,基于TF-PDF公式计算每个特征词在各微博文本中的权重;
影响力计算单元,基于微博文本对应的活跃度、传播力以及覆盖度,获得每个微博文本的影响力;以及
主题词获取单元,基于各微博文本的影响力以及微博文本中各特征词的权重,获得各特征词的流行度,按照各特征词的流行度大小进行降序排列,将排名靠前的特征词作为地震主题词。
在一个实施例中,所述权重计算单元包括:
词汇组合模块,对所述微博文本集中每个微博文本进行分词,并标注每个词汇的词性,基于不同正则表达式,对应提取每个微博文本中的不同词性的词汇组合;
特征词获取模块,从步骤S1.2得到的所有词汇组合中提取名词、动词、量词、数词以及时间词,作为所述特征词;以及
权重获取模块,利用空间向量模型将微博文本表示为向量,所述特征词对应向量中的特征项,基于TF-PDF公式计算每个特征词在各微博文本中的权重;
其中,所述词性至少包括名词、数词、量词、位置词、震级、时间词、日期词以及动词。
在一个实施例中,所述影响力计算单元具体用于:
基于微博文本的博主在该时间范围内,每天平均发微博数和转发评论数之和,获得该微博文本对应的活跃度;
基于微博文本被转发评论和被评论数之和,获得该微博文本对应的传播力;
基于微博文本的博主的活跃粉丝数,获得该微博文本对应的覆盖度;
基于地震发生的时间,分别设置对应所述活跃度、传播力以及覆盖度的3个影响力参数;以及
基于微博文本对应的活跃度、传播力、覆盖度以及3个影响力参数,获得每个微博文本的影响力。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。