一种移动群智感知中社会事件的总结方法
技术领域
本发明涉及移动群智感知技术领域,尤其是涉及一种移动群智感知中社会事件的总结方法。
背景技术
随着以Foursquare为代表的移动社交网络的兴起,以及以Facebook、Twitter和微博等为代表的传统社交网络在移动端的广泛应用,人们线上的社交活动已经由PC端向移动端大量倾斜。特别是在社会事件爆发时(如波士顿爆炸案),人们越来越多的开始使用移动互联网作为消息发布的渠道。例如,在类似于波士顿爆炸案等突发事件发生时,现场的目击者等往往比新闻记者更早的获悉事件相关情况。这些事件亲历者在利用移动互联网和移动社交网络发布事件信息时,也在贡献可以用于感知社会事件的数据。而用户贡献的感知数据,即与社会事件相关的信息就可以作为我们了解社会事件的有价值的参考。因此,我们可以抓取社会性事件发生时,用户通过移动互联网或者移动社交网络发布的与社会事件相关的信息,并以此为基础来形成对社会事件的自动总结,所得结果可以作为人们获取事件相关信息的有价值参考。
专利201410406784.8提出了一种对新闻事件的动态跟踪和总结算法,但其数据来源是与事件相关的若干个新闻文档,无法满足新闻报道的时效性。专利201210250175.9提出了一种面向微博的突发事件发现方法,但该方法主要针对突发事件的检测,所得结果主要关键词的形式呈现,无法提供与事件相关的更丰富的信息。专利201310452806.X提出了一种识别微博突发热点事件的方法及装置,该方法从热点事件的微博话题标签出发,来判断热点事件是否是突发事件,但该方法只是在已有热门事件的基础上判断事件是否热门,没有形成对事件发展过程的总结。本专利利用Tucker张量分解,可以得到对社会事件贡献了较多有价值信息的用户、事件发展过程中一系列重要的时间节点、以及用于描述事件发展过程的关键词等,从用户、时间、关键词三个维度来对社会事件进行总结。
发明内容
为解决上述问题,本发明提供了一种移动群智感知中社会事件的总结方法,综合利用用户发布的与社会性事件相关的感知数据,来形成对社会性事件的总结,作为人们获取事件相关信息的参考。
为实现上述目的,本发明采取的技术方案为:
一种移动群智感知中社会事件的总结方法,包括如下步骤:
S1、在某个社会性事件发生之前,设置一些用户在使用移动社交网络发布与该事件相关信息时可能会使用的一些关键词;
S2、在社会性事件发生时,利用移动社交网络的数据接口,采集包含指定关键词的感知信息;
S3、在得到全部的感知信息之后,从中选取信息发布地点与事件发生地点相吻合的感知信息;
S4、根据每个用户发布的感知信息数量进行排序,选取发布信息个数大于阈值n1的用户作为研究对象;
S5、提取信息中的用户、时间、正文三个字段,对正文进行预处理,删除表情符、标签符、用户名等噪音数据,只保留与正文相关的文本信息;
S6、对于每一条感知信息,利用自然语言处理中的词性标注提取具有名词形式的词,利用命名实体辨识提取有特定意义的实体,并将上述提取结果统一作为该条信息的关键词;
S7、从全体用户发布的信息中提取出关键词之后,选取使用频率最高的n2个关键词作为研究对象;
S8、以第一条感知信息发出的时间作为开始时间,以最后一条感知信息发出的时间作为结束时间,将全体时间T均匀地划分为J个时间段;
S9、以时间、用户和关键词为三个维度,构建张量,如果用户ui在时间ti发表的感知信息正文中包含关键词wk,则在所构建的张量中,对应的元素mijk为1,否则为0;
S10、在张量构建完成之后,利用Tensorlab中的工具对张量进行Tucker张量分解计算,得到在时间、用户和关键词三个维度上的因子矩阵;
S11、在得到三个维度的因子矩阵之后,利用K-means聚类算法对因子矩阵进行行聚类,得聚类结果;
S12、分析聚类结果,得结果。
其中,所述步骤S10中分解计算的公式为:
M≈[G;U,T,W]=G×1U×2T×3W
其中,M∈RI×J×K,U∈RI×N,T∈RJ×N,W∈RK×N;I为参与的用户数量;J为时刻个数;K为关键词的个数;G为核心张量;U,T,W为在时间、用户和关键词三个维度上的因子矩阵。
其中,所述步骤12所得的结果包括在该社会事件中具有较大影响力的用户,这些用户对该社会事件贡献了较多有价值的信息;事件发展过程中一系列重要时刻,这些时刻与事件发展的不同阶段相关;一系列的关键词,这些关键词用来对事件的发展过程进行描述。
本发明具有以下有益效果:
综合利用用户发布的与社会性事件相关的感知数据,来形成对社会性事件的总结,作为人们获取事件相关信息的参考。
附图说明
图1为本发明实施例1的流程图。
具体实施方式
为了使本发明的目的及优点更加清楚明白,以下结合实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明实施例提供了一种移动群智感知中社会事件的总结方法,包括如下步骤:
步骤一、采集社会性事件发生时,大量用户发布的与社会性事件相关的感知信息;由于随着智能手机的普及,人们越来越多的开始使用移动互联网,特别是移动社交网络作为消息发布的渠道。因此,需要首先采集大量用户贡献的与社会性事件相关的感知数据。现有的很多移动社交网络,都提供了丰富的数据接口供开发者调用。例如,在Twitter中,可以事先指定与社会性事件相关的多个关键词,在事件发生时利用Twitter Streaming数据接口采集事件进行过程中用户发布的包含指定关键词的推文,从这些推文中提取出从移动端发出、且发布地点与事件发生地点向吻合的,作为用户贡献的事件相关感知数据。
步骤二、感知数据的预处理;
记用户ui在时刻ti发布的社会事件相关感知信息为texti,则一条感知信息可以表示为(ui,ti,texti)。对每个用户ui发布的texti进行预处理,从中去除噪音信息,如表情符、标签符、用户名等,只保留与正文相关的文本信息。利用自然语言处理中的词性标注(Part-of-speech tagging),提取出名词形式的词;利用命名实体辨识(Named EntityRecognition)工具,从文本中提取具有特定意义的实体,如人名、地名、机构名、专有名词等。将上述结果统一作为该条信息的关键词。这样,就从texti中得到了关键词列表kwi,原始信息(ui,ti,texti)相应地被转化为(ui,ti,kwi)。
步骤三、利用三阶张量对感知数据进行建模;
利用三阶张量对感知数据进行建模,三阶分别代表、时间、用户、关键词。从全体用户集合U中选择发布信息较多的I个用户,记为U={u1,u2,u3,uI-1,uI}。根据用户发布感知信息的时间,以第一条感知信息发出的时间作为开始时间,以最后一条感知信息发出的时间作为结束时间,将全体时间T均匀地划分为J个时间段,记为T={t1,t2,t3,...,tJ-1,tJ}。在完成对全体用户发表的感知数据的预处理后,可以得到全体用户的关键词集合W,从中选择被记为W={w1,w2,w3,...,wK-1,wK}。则对于张量M∈RI×J×K中的元素mijk来说,如果用户ui在时间tj发表的感知信息中包含关键词wk,则mijk为1,否则为0。这样,就可以将全体用户发布的社会事件相关信息利用一个张量来表示。
步骤四、利用Tucker张量分解和K-means聚类分析对社会事件进行总结。
在Tucker分解中,一个张量被分解为一个非对角核心张量(non-diagonal coretensor)和在各个维度上的因子矩阵(factor matrix)之积。因子矩阵代表了对应维度上的主成分,核心张量表示这些主成分之间的相互作用。在得到三阶张量M后,利用Tucker张量分解,可以得到张量在用户、时间和关键词三个维度的因子矩阵,其计算过程如下。
M≈[G;U,T,W]=G×1U×2T×3W
其中,M∈RI×J×K,U∈RI×N,T∈RJ×N,W∈RK×N。I为参与的用户数量,J为时刻个数,K为关键词的个数,G为核心张量。在得到因子矩阵U,T,W后,使用K-means方法对其进行行聚类,聚类的结果即为社会事件总结的结果。因子矩阵U的聚类结果为在该社会事件中具有较大影响力的用户构成的集合,这些用户对该社会事件贡献了较多有价值的信息;因子矩阵T的聚类结果对应于事件发展过程中一系列重要时刻,这些时刻与事件发展的不同阶段相关;因子矩阵W的聚类结果对应于一系列的关键词,这些关键词用来对事件的发展过程进行描述。
如图1所示,为本发明一个具体实施例的流程图。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。