基于“位置微博”的热点事件挖掘
柴 琦
(微梦创科网络科技(北京)有限公司, 北京 100193)
摘要: 每日有数百万带有地理位置信息的微博(以下简称“位置微博”),为了更好地利用这些数据,帮助用户第一时间发现事发地点现场信息。微博公司启动了基于“位置微博”的热点事件的相关研究,通过获取微博博文坐标,运用Web墨卡托投影格子聚合转化、博文切词计算词频、区域事件关键词提取、墨卡托格子密度事件评估、地图聚合显示等算法,创建了基于“位置微博”的地点事件挖掘系统。并在台湾莲花地震事件挖掘中得到了充分验证,不仅提升了热点事件的发现效率和现场用户发声率,还大大提高了相关部门快速了解灾情、定点实施救援的能力。
关键词:地理信息;位置微博;空间聚合;地点事件挖掘;基于位置服务
0 引言
微博(Weibo)作为“随时随地分享新鲜事”的国民级社交应用,每日会产生数百万带有地理位置信息(point of interest,POI)的微博(以下简称“位置微博”),包含丰富的时空信息。其中很多是不同用户面对突发事件,在同一区域、相近时间段内集中发出的(如地震、火灾、明星偶遇、区域疫情等),这些“位置微博”虽然关注角度不同,但具有较高的真实性[1]。其内容不但可以帮助微博运营部门发现区域热点价值,同时也能为政府部门快速准确了解城市运作情况、为城市安全保障及规划管理提供参考数据[2] 。国内众多学者在以微博为首的网络自媒体互联网平台数据基础上,利用不同的数据挖掘手段对事件或现象进行分析[3-7]。本文结合地理信息技术优势和微博社交媒体大数据,对系统算法进行了研究和不断改进,创建了基于位置服务(location based services,LBS)的地点事件挖掘系统,使得项目研究能够高效精准地提炼出地理位置事件关键词,并在地图系统中进行聚合和展示。
1 地点事件挖掘方法
1.1 地点事件挖掘流程
想要得到自动化、准确率高的基于位置微博事件的区域事件挖掘系统,需要投入大量的算法工作和流程工艺。其中每一步处理结果尽量做到最优,才能在最终系统中减少事件热点审核人员的工作量,为程序自动化提速[8-9]。地点事件挖掘流程如图1所示。
图1 地点事件挖掘流程图
1.2 坐标物料墨卡托格子化处理
通过地点、事件的挖掘,能够从海量微博中提取地理信息元素:发博位置城市、签到地点、用户文本提及的地域关键词、发博时区时间等。本文主要利用带地理坐标的位置微博作为事件物料(含有坐标位置的全部微博),物料信息更可信、更精准。
坐标物料格子化处理,是指将事件物料聚合在相同的地理空间区域,形成含一定数量事件物料的空间格子。空间格子即对地理空间区域划定范围给予一定约束,将地理空间划分成若干级别大小的区域,不同级别的空间格子。空间格子可以分为500 m级别、1 km级别、2 km级别等。但不能把一个省份或一个地级市作为一个地域范围进行聚合,这样的空间划定范围较大,会造成物料数量庞大种类繁杂。在实际中,应用空间格子的级别可以结合具体业务情况来定。
地理空间格子范围的划分基于墨卡托瓦片算法。该算法可以把具有精准坐标的微博物料转化到空间格子,格子的大小能够根据实际情况进行动态调整。将同一级别墨卡托瓦片空间格子里的微博物料视为一个区域整体,最终会得到若干个以墨卡托瓦片算法为划分依据的物料集合[10]。
由墨卡托瓦片算法计算得到的墨卡托瓦片格子是边长为256×256像素的正方形图像。因此墨卡托瓦片格子大小的计算公式可以表示为:墨卡托瓦片格子边长=256×地面比例尺。地图1级边长为20 000 km,18级边长为153 m。地图级别越低,墨卡托瓦片边长越小,覆盖的真实地理面积也越小。根据位置微博密度分布情况,边长为1.2 km的格子聚合效果最好,即15级的墨卡托格子,因此作为本系统的基础格子[11-12]。
(1)物料坐标转换成墨卡托投影坐标。
(2)计算墨卡托投影坐标对应的瓦片格子在x、y方向上索引号。
(3)使用GeoHash(Geography Hash)编码算法计算墨卡托瓦片格子编码。
物料W的坐标可以表示为P(x,y),其中x为经度,y为纬度。墨卡托投影坐标x方向取值范围为[-πR, πR],y方向取值范围为[-πR, πR]。将P的墨卡托投影坐标表示为M(x1,y1),具体转换公式如下。
(1)
(2)
对应的瓦片格子索引号为
(3)
式中,X表示为x方向索引号;Y表示为y方向索引号,X、Y均取整数;L为瓦片级别;R为地球半径。
图中,x为小车位移;F为加在小车上的水平作用力;P为小车与摆杆相互作用力垂直方法分量;N为小车与摆杆相互作用力水平方法分量;Fs为摆杆所受水平方向干扰力;Fh为摆杆所受垂直方向干扰力;Fg为摆杆所受干扰力的合力;θ为摆杆与垂直向下方向夹角;φ为摆杆与垂直向上方向夹角.
1.2.2 墨卡托瓦片格子编码过程
(1)X、Y转二进制数字,并高位补全0,直到长度为L。
(2)遍历二进制数字,提取相同位置的数字,得到一组2位的二进制数字,共L组2位二进制数字。一组2位的二进制数字中,纬度二进制数字在前,经度二进制数字在后,并将其转为十进制数字。
(3)将L组十进制数字按组号依次拼接起来,得到一串数字编码,即瓦片格子编码。
1.3 物料切词和事件关键词提取
将带坐标的位置微博物料转化到对应的墨卡托格子后,还需要准确高效地判断出这些格子中的物料是否存在相似及相关性。因此需要对物料切词提取物料事件关键词,统计词频,过滤常见词保证重要词。
微博博文大都较短,本文采用MMSEG(MMSegmentation)[13]分词算法对微博博文进行分词,这样就得到了若干个描述博文的关键词,并统计所有词出现的次数以及每个词的词频。一般来说,离热点事件越近的位置博文,关键词的词频也越高。
微博博文切词之后,采用词频-逆文本频率算法(term frequency-inverse document frequency,TF-IDF)计算博文关键词的重要性。该算法可以很好地评估出一个词对于一条微博甚至所有微博的重要性[14-15]。在微博系统中,TF表示词在每条微博的词频和在所有微博的词频,如果包含该词的微博越少,即IDF越大,则说明该词可以很好地标识微博,即为博文的重要关键词。某一特定微博内的高词语频率,以及该词语在整个微博集合中的低微博频率,可以产生出高权重的TF-IDF。因此,TF-IDF会过滤掉微博中的常见的词语,保留重要的词语。
1.4 墨卡托格子密度事件评估
墨卡托格子密度事件评估,即在所有的微博物料关键词提取之后,可以结合微博物料的坐标位置数据,将所有满足一定阈值的关键词以图形的形式展示出来。判断关键词是否为事件关键词,进而筛选出事件微博。
判断事件微博的过程中应用了墨卡托格子密度事件评估算法,该算法主要通过图形面积占比来计算事件发生物料是否集中。首先计算所有事件的最大点和最小点,以这个范围为事件覆盖区域,然后将所有事件的点投影到墨卡托格子,并显示在画布上,附近点越密集,则投影正方形面积越小,附近点越稀疏,则投影正方形越大。最终通过画布中的空白面积与正方形投影面积大小,来确定该集合点的空间离散程度,进而判断该集合点是否符合事件特征。同时,因为本算法核心为空间坐标转图像处理,图像处理算法上有较多的工具积累,后续叠加处理与提升效果也会更容易。并且由于处理效果比较直观,因此叠加更多逻辑后也较易维护与控制。本文将时间系数、空间系数、词频系数为参数输入,通过算法判断某一关键词是否为事件关键词。
如图2所示,通过将空间上重合的点的墨卡托格子平铺在同样大小的平面上,点越密集重合越多,在图2右图框内矩形面积越小。通过判断最终区域内矩形区域占整个白色区域比例,判断关键词是否符合空间上的突发性,从而判断关键词是否是事件类型。从图2可以看出,因为面积占比过大,因此可以判断不是典型的聚合事件。
图2 格子密度评估算法
1.5 地图空间聚合系统显示
提取到事件关键词后,能够进一步判断出哪些微博可能是事件微博。通过空间聚合算法对这些事件微博进行进一步的聚类,可以得到某类事件的热度,热度越高,表明事件级别越高。事件微博的空间聚合算法主要分三部分[16]。
1.5.1 点聚合(事件物料初步聚合)
事件物料初步聚合即遍历所有事件微博,将事件微博的墨卡托经纬度坐标转化为相对比例尺原点的像素坐标。在不同的地图级别情况下,相关经纬度坐标的像素坐标是不同的。在遍历过程中根据聚合的直径范围判断将事件微博放入不同的聚合对象中,并重新计算聚合对象的中心点,其中聚合对象的经度为该聚合中所有事件微博经度的几何平均数,聚合对象的纬度为该聚合中所有事件微博纬度的几何平均数。
1.5.2 圆聚合(事件物料聚合对象再次聚合)
对事件微博进行点聚合后,得到很多个聚合圆,每个聚合圆包含一定数量的事件微博。但由于聚合圆数量比较多,因此需要针对这些聚合圆进行再次聚合。
圆聚合根据四面八方的原则,以聚合半径为单位,按照逆时针方向,分别对8个坐标方向:(1,0);(1,1);(0,1);(-1,1);(-1,0);(-1,-1);(0,-1);(1,-1),遍历所有聚合圆。如果发现邻近的聚合圆的像素距离在聚合半径范围内,就进行合并,并重新计算聚合圆的位置,直到发现所有聚合圆的直径都没有接触到附近的聚合圆为止。
1.5.3 聚合数据地图展示
事件物料的最终聚合圆数据:事件名称、事件位置、事件数量,可以直接在地图上直观地展示出来。聚合圆包含的事件微博越多,即事件数量越多,表示该事件的热度越高。
2 试验验证
2022年9月18日,台湾莲花县发生了5.7级地震,造成大量人员伤亡。系统第一时间捕获到这一事件,并挖掘到现场地震相关信息147条,邮件通知热点运营人员。下文描述利用位置微博挖掘这次地震热点事件的全过程。系统接入位置微博后,会先对位置微博进行信息化处理,获取其发博时间、坐标以及文本内容。然后根据微博位置的坐标进行墨卡托坐标转化,并转化为15级墨卡托格子中。
对每个墨卡托格子中的微博内容进行物料切词和关键词提取,可获得每个墨卡托格子内若干关键词。可得到表1所示的若干关键词、词频,以及墨卡托格子密度占比。
表1 花莲县(9月18日)15级墨卡托格子关键词信息
从图3可见晒太阳、台北故宫博物院等非事件关键词在空间的聚集性表现较差,分布较离散。通过墨卡托格子密度算法得到的词频量大且密度占比较小的关键词“地震”事件。
图3 通过墨卡托格子密度占比判断台湾地震事件
将台湾地震事件的位置微博坐标进行点聚合和面聚合操作,最终将得到的聚合结果通过地图直观地展现出来,如图4所示。
图4 台湾地震事件聚合地图展示
通过对台湾花莲县地震相关位置微博信息和挖掘和聚合展示,可以清楚地发现受地震影响严重区域,对政务部门指导救援、快速了解受灾信息起到一定的支持效果。目前该系统已成为对外合作演示、热点运营最为重要支持工具之一。对合作客户了解认识微博大数据、区域运营提效、事件安全预警产生了很大帮助。
3 结束语
本文以“位置微博”为研究对象,运用Web墨卡托投影格子聚合转化、墨卡托格子密度事件评估、地图聚合显示等地理信息技术方法,建立了地点事件挖掘系统。并以挖掘“台湾花莲县地震”事件为例,证明其有效性。研究将地理信息技术和微博社交媒体大数据二者结合,能够帮助微博用户更快更好地了解事发现场,也对相关部门快速了解灾情,实施救援提供了帮助。
虽然用户在事件发生时有发布微博信息的习惯,但并非所有人都会带上位置信息,从而导致大数据样本不足,下一步将考虑引用IP定位及微博文本中的地点信息进行分析和识别提取,更全面地挖掘地点现场事件的相关内容。
参考文献
[1] 龚鑫.基于微博签到数据的用户分类及活动特征分析[D].上海:上海师范大学,2022.
[2] 田冬迪,芮建勋,陈能.上海市公共文化设施数量特征与空间格局研究[J].规划师,2011,27(11):24-28.
[3] 刘君.基于微博签到数据城市热点探测[J].合作经济与科技,2019(17):12-16.
[4] 王迪,左小清.基于城市微博签到数据的人群活动时空特征分析[J].地理信息世界,2020,27(2):21-26.
[5] 朱贺,黄克清.分布式数据挖掘算法在热点微博分析系统中的应用[J].数字通信世界,2018(10):205-206.
[6] 谢丽星,周明,孙茂松.基于层次结构的多策略中文微博情感分析和特征抽取[J].中文信息学报,2012,26(1):73-83.
[7] 肖锐,刘明义,涂志莹,等.基于社交媒体文本挖掘的个人事件检测方法[J].计算机应用,2022,42(11):3513-3519.
[8] 张丽,李菊.基于改进K-means算法的微博舆情热点分析[J].信息技术与信息化,2022(9):103-106.
[9] 朱贺,黄克清.分布式数据挖掘算法在热点微博分析系统中的应用[J].数字通信世界,2018(10):205-206.
[10] 李长春,蔡伯根,上官伟,等.基于Web墨卡托投影的地图算法研究与实现[J].计算机应用研究,2012,29(12):4793-4796.
[11] 周炤,李少梅,杨佳.Web墨卡托投影及其性质分析[J].测绘科学技术学报,2021,38(1):71-74,82.
[12] 李鹤元,陈刚.基于改进Web墨卡托投影的瓦片地图服务设计与实现[J].测绘工程,2016,25(2):11-16.
[13] 张中耀,葛万成,汪亮友,等.基于MMSEG算法的中文分词技术的研究与设计[J].信息技术,2016(6):17-20.
[14] 张蕾,姜宇,孙莉.一种改进型TF-IDF文本聚类方法[J].吉林大学学报(理学版),2021,59(5):1199-1204.
[15] 王彬,司杨涛,付军涛.基于改进的TF-IDF和贝叶斯算法的新闻分类[J].科技风,2020(31):9-10,17.
[16] 王思,王光霞,田江鹏.面向位置聚合的泛在地图信息分类模型[J].测绘学报,2021,50(6):789-799.
引文格式:柴琦.基于“位置微博”的热点事件挖掘[J].北京测绘,2023,37(4):508-512.
基金项目: 城市空间信息工程北京市重点实验室项目(2019101)
作者简介:柴琦(1981—)男,北京人,硕士,研究方向为地理信息在移动互联网中的应用。E-mail:chaiqi@staff.weibo.com
转自:“测绘学术资讯”微信公众号
如有侵权,请联系本站删除!