一种基于社交网络文档的热点信息挖掘方法技术领域
本发明涉及数据挖掘技术领域,具体地说,本发明涉及一种基于社交网络文档的
热点信息挖掘方法。
背景技术
随着Web2.0的到来,网民参与互联网的方式已经从之前的浏览信息、被动接收转
变为制造信息、主动发送的方式,而这些使得网络环境和网络信息传播都发生了巨大的改
变。微博、博客、微信等社交网络应用已经成为亿万网民生活的重要组成部分。
目前很多重大新闻的发布和最新进展都源自社交网络,互联网因此成了很多社会
热点事件的发生地和传播渠道,比如最近的热点事件“刘翔退役”,“王健林超李嘉诚成亚洲
新首富”等等,这些都是由于网民较高的关注度而成为热点事件。同时,互联网也是政府部
门了解民情的渠道,是新时代下政府部门重视的重要舆论阵地。比如网民通过互联网揭发
一些腐败官员,网络反腐成为互联网时代的一种群众监督新形式。政府只有及时发现,及时
跟进,及时处理,才能全面的把握舆论和民情,引导互联网的正面发展。
不同于传统新闻媒体,互联网热点事件具有爆发迅速、数据海量、内容不规范等特
性,因此如何尽可能快速地在海量不规则信息中捕获热点事件,并将其核心信息用易于理
解的语言要素高效表达,是近年来学界的一个热门研究问题。
当前的主流热点挖掘算法,主要依托于热点事件中的核心词汇(热词)集合及其规
则来表示事件。其中,热点词汇挖掘是热点事件发现的重要的部分,它反映了在一定时间和
空间内人们普遍关注的问题和事物。热点词汇挖掘的准确度对热点事件发现有着重要的影
响。
另一方面,由于词汇的表达能力有限,往往一个词汇只是事件抽象的一个方面,不
能有效表达热词背后的热点事件的真正含义。比如“刘翔”、“王健林”很难让人准确获取其
背后真正的事件。因此,为发现热点事件,有时还需要针对热词做词义扩展(或者称为语义
扩展)。
在词义扩展方面,一种现有的方案是通过提取前缀等词缀,然后根据语法规则来
识别数字和专有名词,但这种方法局限性较大,其效果集中于识别比较明显的实体名词。另
一种现有的方案是:构建一个三字词的构词模板,利用神经网络算法对筛选出的三字串进
行训练,然后利用统计特征进行过滤来得到热词。这种方法识别速度快,但是只能针对特定
规则的词。
上述现有技术的方案虽然能一定程度上进行语义扩展,但并不完全适用于海量的
社交网络数据分析,因为社交网络的数据主要有以下特点。1)语法不规范,垃圾噪音大;2)
缺乏有效的编辑,没有事件中心概况。而传统词义扩展更多基于新闻语料,由于新闻语料
“标题”本身有较强的表达能力,具有天然的优势,因此语料集的质量比较高。但是面对基于
非新闻语料集、文本内容质量较差、没有有效的“中心事件标题”的社交网络语料,则前述方
法的效果就会受到较大影响。
发明内容
因此,本发明的一个任务是提供一种能够更准确地挖掘社交网络文档的热点信息
的解决方案。
根据本发明的一个方面,提供了一种基于社交网络文档的热点信息挖掘方法,包
括下列步骤:
1)根据词项在热度统计窗口内的权重相对于该词项在总语料库中的基准权重的
波动程度,得出该词项在热度统计窗口内的热度;
2)基于各个词项的热度排序,得出当前热度统计窗口内的热点词项。
其中,所述步骤1)中,所述词项在热度统计窗口内的权重是该词项在热度统计窗
口内的TFIDF权值;所述词项在总语料库中的基准权重是该词项在总语料库中的TFIDF权
值。
其中,所述步骤1)中,各个词项的所述基准权重是按照一定的统计周期进行动态
更新而获得的当前基准权重。
其中,所述步骤1)中,对于任意词项k,其热度F(k)的计算方法如下:
![]()
其中,N代表当前热度统计时间窗口内的文档数量,ck代表当前热度统计时间窗口
内的包含词项k的文档个数,ftk代表词项k在文档t中的频率,D代表词项权重的更新周期,W
代表词项热度统计的时间窗口长度,base(k)代表词项k的基准权重。
其中,所述步骤1)中,所述当前基准权重根据动态更新的基准权重表获得,基准权
重表中每个词项k的当前基准权重的计算方法如下:
![]()
其中,D代表词项权重表统计的单位时间,W代表词汇热度统计的时间窗口长度,
base代表基准词项值,下标d代表当前的词项权重表统计次数,Di代表第i次词项权重表统
计与前一次词项权重表统计的时间间隔。
其中,所述的基于社交网络文档的热点信息挖掘方法还包括步骤:
3)对于当前热度统计窗口内的热点词项,进行同主题合并。
其中,所述的基于社交网络文档的热点信息挖掘方法还包括步骤:
4)将合并后的热点词项作为中心词进行语义扩展,获得能够表达更多内容的热点
信息。
其中,所述步骤3)中,进行同主题合并的方法是:基于词文档向量矩阵,根据词向
量的余弦相似度对同主题词进行合并。
其中,所述步骤4)中,词项的语义扩展方法如下:对词项的上下文进行语义标注,
然后根据预设的语法模板提取上下文的关键词,并形成基于该词项的有效语义,统计语料
集中基于该词项的各种有效语义的频度,根据该频度选择将该词项的哪一有效语义作为该
词项的语义扩展。
其中,所述预设的语法模板包括:“主系表”、“主谓宾”、“主主”和“主宾”模板。
与现有技术相比,本发明具有下列技术效果:
1、本发明能够提高社交网络中挖掘候选词的准确率。
2、本发明能够获得更准确的表达社交网络热点事件的语义。
3、本发明能够更好地发现社交网络中那些文档数目相对较少的热点事件。
4、本发明能够更早更及时地发现社交网络中尚处于舆情爆发前期的热点事件。
附图说明
以下,结合附图来详细说明本发明的实施例,其中:
图1示出了本发明一个实施例的热点信息挖掘方法的流程图。
具体实施方式
如前文所述,目前很多重大新闻的发布和最新进展都源自社交网络,互联网已经
成了很多社会热点事件的发生地和传播渠道。本发明的目的之一,就是要通过对海量社交
网络文档的数据挖掘,发现这些数据中所蕴含的热点信息(例如热点事件)。下面结合实施
例对本发明做进一步地描述。
根据本发明的一个实施例,提出一种自反馈词义扩展(Self-Feedback Semantic
Extension,以下简称SSE)的海量社交网络文档热点信息挖掘方法,图1示出了该热点信息
挖掘方法的流程图,参考图1,该方法包括下列步骤:
步骤1:对历史语料分词并建立词项权重表。本步骤中,对待分析的海量社交网络
文档进行分词,得到各个词项及其对应的词项权重。该词项权重表示词在整个文档集中的
权重。本实施例中,使用TFIDF值作为词项权重。TFIDF(term frequency–inverse document
frequency)是一种用于信息检索与数据挖掘的常用加权技术,它能够评估词汇对于一个文
件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次
数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TFIDF值一方面能够在
一定程度上的过滤噪音词,另一方面仅需要对语料集进行一次遍历即可得到,比较适合做
大规模语料集的计算。
在一个实施例中,将海量社交网络文档中的长文本的文档建立文档集,仅对文档
集中的文档进行分词和建立词项权重表。该词项权重表记录了各个词项及其词项权重,即
TFIDF值。
步骤2:计算当前时间窗口内各个词项的热度,选出热度为前若干名的词项。如果
词项的重要程度在当前语料集下有改变,那么就可以检测到词项对历史语料集中的波动程
度,进而显示词项在语料集中的热度。词项TFIDF值的提升,既可能是词项的使用频率增高,
也可能是词项相关事件的集中爆发。因此,TFIDF值的波动可以体现词项的热度。而且,由于
动词、形容词等的使用并不是紧耦合于热点事件,所以动词、形容词等的权值变化不会太
大。因此,用上述方法统计词项热度的同时能够进一步消除这些与热点事件无关的干扰词
项。
在一个实施例中,词项热度F(k)按照公式(1)计算得出。
![]()
其中,k代表当前所统计的词项,N代表当前热度统计时间窗口内的文档数量,ck代
表当前热度统计时间窗口内的包含词项k的文档个数,ftk代表词项k在文档t中的频率。D代
表词项权重表更新周期,即统计词项权重表的单位时间,W代表词项热度统计的时间窗口长
度,base代表词项的基准权重。基准权重就是当前的词项权重表中对应词项的权重。其中,
可以将
视为词项k在当前热度统计时间窗口内的TFIDF值,
是与统
计时间相关的修正系数。
这样,词项基准权重描述了词项在网络中的基准活跃度,而属于当前的热点信息
的词项的活跃度一定会明显高于其基准值。因此本实施例提出了SSE算法,通过统计时间窗
口内词项的权重作为词项当前活跃度与词项基准活跃度之差来发掘当前热词,同时还动态
地更新各个词项基准活跃度,从而提升热词统计的准确性(见步骤3)。
步骤3:每经过一个统计周期,对词项权重表进行一次更新。
词项热度具有时间属性,随着时间的推移,持续热词也会变为普通词项。例如:有
些网络词汇(例如“给力”等)可能会在短时间内“爆红”,成为热词,而一定时间后该词可能
会被广大网民普遍接受,成为经常使用的普通词项。此时,该词项已不再是当前热点信息,
但由于它已被广泛接受,它在语料集中的活跃度可能会显著地提高,原有的基准权重已经
不再适合描述当前该词项的正常活跃度。因此动态地更新词项的基准权重(即基准活跃
度),有助于获得更加准确的热点信息。
本实施例中,基于一定语料集,统计词项的TFIDF值作为基准词项权重表。并通过
统计当前词项,对基准词项权重表更新。
更新公式如(2)所示:
![]()
其中,D代表词项权重表统计的单位时间,W代表词汇热度统计的时间窗口长度,
base代表基准词项值,d代表词项权重表统计的次数,即d代表第d次统计,d-1代表第d-1次
统计。Di代表第i次词项权重表统计与前一次词项权重表统计的时间间隔。本实施例中,每
两次词项权重表统计之间的时间间隔均相等,因此也可以称为词项权重表统计的单位时
间。当然,在本发明其它实施例中,两次词项权重表统计之间的时间间隔也可以不相等。
上述更新方法可以构成词项表自学习的闭环,并且由于不依赖分词和特定领域,
有较好的扩展性和可移植性。
步骤4:合并同主题词项。
上述过程虽然可以高效产生候选词项,但是TFIDF的缺陷是易产生若干同主题词
项。比如“王健林超李嘉诚成亚洲新首富”,“王健林”和“李嘉诚”都有可能随着同一个主题
同时成为候选词项。本实施例通过词文档向量矩阵V(wi)对同主题词进行合并。
V(wi)=(d1(wi),d2(wi),d3(wi)……dn(wi)) (3)
其中,n表示在文本分词时所抽取的文本的总数,wi代表词i,dj(wi)表示第j个文本
在词向量i中的权值。此处权值可以直接使用TFIDF权值。但这种方式并不是唯一的,在本发
明的其它实施例中,也可以根据使用场景应用不同类型的权值,例如:0-1权值、textRank权
值等等。也就是说,这里用dj(wi)抽象代表词向量权值。
距离公式选择余弦相似度,具体公式如下:
![]()
wi和wj代表词向量i和j,wik代表词向量i中第j个文档的权值。通过候选词项间相
似度的计算,可对大于一定阈值的词项进行合并。
步骤5:对所选出的词项进行语义扩展。
由于社交网络语料语法不规范,并且表达方式带有很强的吸引性,而非事件的描
述性,所以本发明通过对社交网络语料的内容进行语义匹配,而不是传统新闻语料针对标
题进行语义匹配。本发明的方法是通过语法模板提取扩展词项的上下文语义词。虽然基于
规则的方式很容易模板失效,但是本实施例根据语言表述方式选择了4个比较有代表性的
语法模板,分别是“主系表”,“主谓宾”,“主主”,“主宾”。由于是依据的语法表达方式,而不
是针对特定领域表达特点构造的语法模板,因此这样的方法更具通用性,可以应用到大部
分领域中。但是,简单通用模板的问题是会产生比较多的垃圾项,一些非期望的语义扩展也
会被提取。进一步的,本实施例通过大量文本语料集的支撑,统计词义扩展频度,最终从扩
展的语义中选择最高频的表达方式。SSE算法首先对候选词上下文进行语义标注,然后根据
模板匹配的提取上下文的关键词,并形成一个有效的语义。通过统计候选词项语料集的有
效语义,选择高频度词义扩展为词项的语义扩展。由于基于一定规模的语料,根据大数定
律,统计值可以认为非常接近真实值。
在完成语义扩展后,即可获得更准确的表达社交网络热点事件的语义。
进一步地,为验证本发明的技术效果,发明人进行了对比测试,以下分为数据集、
热点词项筛选和扩展词义三个部分描述该对比测试。
数据集:
在测试中选用的数据集是微信公开数据,具体内容为微信公众账号发布的消息。
每天的数据采集量约为2000万篇文本,并存储最近20天内的数据集。每天长文本数据量约
为800万篇,短文本数据量约为1200万篇。
针对一定时间窗口内的微信数据计算候选词项。实验的时间窗口为24小时,共约
有2000万篇文本。其中针对800万篇长文档计算候选热词。而且,采用过去15天的历史数据
对词项权重进行了基准训练,作为词项基准数据。
对24小时的数据随机选取了9个主题,分别是“未成年人司法保护”,“中国的军事
战略白皮书”,“宋建国涉嫌贪污受贿”,“河南养老院失火”,“杨科璋烈火救人”,“末日崩
塌”,“北京市控烟条例”,“南海争端”和“全国法院毒品犯罪审判工作”。文档数量分别为
1244,898,66,800,227,666,661,2000和251篇。为了模拟实验的真实性,从数据集中随机选
取出4348篇文档做干扰数据。最终文档总数是10759篇。在实验进行前,使用ICTCLASS2015
分词工具对文档集进行分词,共产生55387个不同的词项。同时,为了保证测试结果的准确
性,邀请了5位评价者对每个主题随机选取的100篇文档进行人工标注。最终确定了116个词
项作为候选热词,其余55271个词项为垃圾词。
热点词项筛选:
实验数据有9个主题,通常情况下10个关键词可以完整描述一个主题,因此和主题
紧相关的候选词个数在90个左右。并且,在生产应用中,候选词个数一般在30个以内,这是
由于:1)过多词项更容易引入垃圾2)用户更关心排名较高的词项,而是关心所有词项。在实
验中,选择词项权重的Top10,Top20,Top30,Top40,Top50和Top60作为候选词,分别使用前
述实施例中提出的SSE算法和现有技术中的ICTCLASS关键词抽取模块的算法(可简称为
ICT)提取候选词项,并计算准确率(Accuracy)。其中,准确率(Accuracy)描述了候选词项中
候选热词的百分比。表1示出了对比实验中的候选词准确率。
表1
![]()
通过实验发现,SSE算法挖掘的候选词平均准确率比ICT提供的候选词高10.2%。
接下来,通过主题词的分布来分析两种算法候选词的质量。主题词是每个主题句
的主语,主题词不仅能更精准的描述事件,而且有助于下一步扩展词义,还原主题。因此主
题词可以反应候选词质量。这9个主题词分别是“未成年人”,“白皮书”,“宋建国”,“养老
院”,“杨科璋”,“末日”,“控烟”,“南海”和“毒品”。表2示出了对比实验中命中主题词的数
量。
表2
![]()
![]()
从实验结果分析,Top50候选词中,SEE算法将9个主题词全部挖掘出来。Top60候选
词,ICT挖掘出8个主题词,没有找到所有主题词。并且,SEE算法在每个阶段挖掘出的主题词
个数都大于等于ICT。这说明SEE候选词的质量优于ICT。
其中,ICT算法没有挖掘出候选词“宋建国”。该主题有共66篇文档,占所有文档集
的0.6%,是一个小文档集主题。而“宋建国”出现在SEE候选词的Top50中,这证明SEE算法可
以更加有效的挖掘出热点词。尤其在海量的数据集中,对数据集进行深度挖掘,发掘潜在热
点,可以有效进行热点事件跟踪。
扩展词义:
选择SEE算法的Top30候选词做词义扩展。首先通过词向量合并相关词,然后通过
语义标注和词项权重选出组合词的代表词项。代表词项通常是名词主语,如果同时存在多
个名词主语,那么选择权重最高的词项作为代表词项。筛选出的代表词项分别是“未成年
人”,“白皮书”,“宋建国”,“养老院”,“杨科璋”,“末日”,“控烟”,“南海”和“毒品”。接下来,
通过本发明基于词性的语义扩展方法和Nagao串频方法计算扩展词义,并使用9个主题的主
题句作为标准答案通过编辑距离计算相似度。
计算公式
![]()
对于公式(5),其中T代表主题句,S代表候选句,L(T)代表主题句的长度,Distance
(S,T)计算S和T的编辑距离,并除以L(T)归一化。
表3示出了基于本发明的SEE算法的扩展语义与主题句的编辑距离。表4示出了基
于现有的Nagao算法的扩展语义与主题句的编辑距离。
表3
![]()
![]()
表4
![]()
通过两个实验结果对比,本算法扩展后的语义和主题句的平均相似度比Nagao算
法的相似度高36.2%。时间复杂度上,本算法基于语义标注,所以时间复杂度为O(N2);
Nagao是对串频进行统计,每个汉字都可以作为结束项,所以时间复杂度为O(N2);因此在相
同的复杂度上,本算法更适合对社交网络的数据做语义扩展。
在具体扩展项上,Nagao算法对“白皮书”和“养老院”词项的语义扩展的f(s,t)值
比较低,导致可读性比较低差。通过分析“白皮书”相关的微信数据,发现很多文章主题的表
达方式都带有一定的号召性,比如“我国军事白皮书发布了,大家快来围观”就是比较典型
的表达方式。这样导致通过高频串扩展语义,会引入很多不规范的表达方式。再加上这样不
规范的表达方式在数据集中是一种常态,因此通过寻找高频串的方法不适合微信等社交数
据。本发明的算法通过设置语法规则,基于模板的方式抽取语义,可以保证抽取的语义结果
有较高的质量,这样再进行高频统计更为合理。
最后应说明的是,以上实施例仅用于描述本发明的技术方案而不是对本技术方法
进行限制,本发明在应用上可以延伸为其他的修改、变化、应用和实施例,并且因此认为所
有这样的修改、变化、应用、实施例都在本发明的精神和教导范围内。