APP下载

签到数据的热点区域时空模式与情感变化的可视化分析

2018-10-26魏宝乐周怡帆李英姿

小型微型计算机系统 2018年9期
关键词:热点可视化词语

蔡 莉 ,潘 俊 ,魏宝乐,周怡帆 ,李英姿

1(复旦大学 计算机科学技术学院,上海 201203)2(云南大学 软件学院,昆明 650091)

1 引 言

当今社会,互联网已经演变为无所不在的计算与信息共享的平台.随着计算机技术与互联网技术的快速发展,微博、博客、在线社交网站以及论坛等网络应用迅速发展.人们使用互联网的方式从简单的信息搜寻和网页浏览逐渐演变为基于互联网的社会关系的构建和维护,信息交流与共享.特别是Twitter作为知名的微博应用从2006年在美国上线以来,基于互联网的社交媒体在全球范围内迅速发展[1].如今,微博作为一种分享和交流平台,因其具有原创性、时效性、简洁性和平台开放性,吸引了数量庞大的用户群体.每天都有大量的微博内容在互联网上发布和传播,其传播信息的实时性和快捷性使得微博已经超越报纸、电视等传统媒体,成为人们获得信息的一种主要方式.

近年来,对于微博数据的挖掘受到了学术界和工业界的广泛关注,微博数据可以反映社会的真实缩影,具有很高的研究价值.微博平台提供了API接口,研究人员和开发人员可以方便地获取微博数据,并基于这些数据开展相关研究.

可视化分析是一门结合了计算机图形学、心理学、数据挖掘技术和人机交互技术等技术,以可视交互界面为基础的分析推理的综合性学科[2].近十年来,可视化分析技术依托计算机视觉、计算机图形学、图像处理、人机交互和分布式技术得到迅速发展.人们通过可视化分析技术可以快速有效的从海量数据中整合信息,检验预测从而探索未知的知识[3].

最近几年,国内外对于海量微博数据的挖掘和可视化方面都取得了一些进展和成果.在微博数据的情感分析与主题挖掘方面,Davidiv等人[4]基于Twitter上的数据,利用50个推特标签和15种情绪符号作为情感标签提出了一种有监督的分类器,可以将推文划分为多种情感类型.Shen Yang等人[5]将情感词分类,建立了一个包含1342个词的态度词权重字典,同时还构建否定词、程度词和感叹词词典等来分析微博的情感倾向性,最终得到每一条微博的情感指数.Bermingham等人针对微博的短文本特性,研究了微博中的情感分类技术.Diakopoulos等人[6]研究了2008年美国大选时总统候选人演讲辩论后用户发布的推文,依靠这些数据分析选民情感.Jo 等人[7]首先提出了SLDA(Sentence-LDA)模型来发现评论的主题,在此基础上提出ASUM模型,两种模型用于细化分析来自电子产品和餐厅评论中的情感.王振飞等人[8]针对现有微博研究中情感分析对象较为单一的问题,通过面向多维关联的数据进行情感分析,融合微博主题扩散度和主题情感倾向得到微博主题的舆情值,增强结果的有效性.

可视化方面,王臻皇等人[9]开发了面向微博主题的可视分析系统,该系统结合了微博数据的特点,引入微博用户与时间因素,支持分析者从多角度对微博主题进行全面分析.Eddi Starbird 等人[10]利用 Twitter 上的信息,通过时间线来了解红河洪灾的发展.Panpan Xu等人[11]设计了一个扩展主题竞争模型用于描述社交媒体上各种意见领袖在多个主题间的竞争,他们采用时间线视图和主题河流的可视化形式来表现每个主题竞争力的增加和衰减,并利用2012年美国总统选举和占领华尔街运动两个事件来验证可视化分析的有效性.

上述研究往往更关注Twitter数据或者微博数据的文本特性而忽略其空间特性.签到数据是一类包含较为精确的时空属性和用户文本的特殊微博类型.当用户到达某一个POI点时,他们可以在该位置签到并写下此刻的心情和感受.利用这类数据,研究者一方面可以分析用户签到特别频繁的POI点和区域,发现签到地点的偏好,从而探索城市的热点区域;另一方面,由于每个签到点都有用户文本,利用这些文本进行情感分析就能挖掘出用户对这些POI点的特定情感,如正面情感还是负面情感.对于情感的分析能让POI点的所有者(如:商家、政府机构等)及时获得用户评价和满意度,更好地改进服务质量.鉴于此,本文以签到数据为研究对象,利用聚类算法和文本挖掘算法分析签到数据的时空信息和文本信息,并借助Web可视化方法开发了一个名为CIDVis的可视化系统,该系统可以帮助分析者了解微博用户签到的热点区域和用户的情感趋向以及关注的热点主题.

2 CIDVis框架概述

本文提出的CIDVis可视化系统框架如图1所示.CIDVis系统主要由数据采集与预处理、签到热点区域挖掘、情感分析及主题挖掘和可视化分析4个模块组成.数据采集与预处理模块的功能包括:1)通过新浪微博API接口获取签到数据;2)对签到数据进行质量评估发现有问题的数据;3)执行数据清洗,删除错误数据和重复数据;4)将签到数据划分为位置数据和文本数据两个部分.

签到热点区域挖掘模块的功能为:1)利用本文提出的AC-DBSCAN算法对位置数据进行聚类;2)根据聚类结果发现签到热点区域并分析其时空特性.

图1 CIDVis系统架构图Fig.1 Architecture of CIDVis visualization system

情感分析及主题挖掘模块的功能可划分为:1)对文本数据执行中文分词操作,在分词过程中会涉及词典加载,删除停用词等步骤;2)将分好词的文本进行特征值提取并进行情感评分以及情感倾向分析;3)运用LDA主题发现模型研究微博用户签到文本中的主题内容.

可视化模块的功能为:1)加载百度地图;2)绘制情感变化分析的条形图,直观地反映用户的情感变化;3)按时间轴展示主题模型,并绘制词频标签云,展示微博用户讨论的热点主题;4)将热点区域加载到百度地图上,展示不同时段下热点区域的空间演变.

3 城市热点挖掘

城市热点区域是指交通需求旺盛、人流量较高、公共配套设施比较完善或者商业较发达的区域,也是居民出行聚集程度的体现[12].本节采用优化参数选择的AC-DBSCAN聚类算法来处理签到数据,挖掘其中蕴含的热点区域.作为经典的基于密度的聚类算法,DBSCAN算法面临着参数难以选择的问题[13].尽管很多文献针对其参数Eps及MinPts的选择方法做了一定的研究,但结果还不够理想.本文提出了一种基于截断距离的参数自适应方法,称之为AC-DBSCAN.它无需人工参与确定参数,而且与具体领域无关.

截断距离是指从排好序的距离序列中选出的一个距离值,本文用符号DC表示.基于截断距离的参数选择方法可以划分为三个阶段:1)数据集样本的距离计算;2)距离值集合排序;3)根据数据占比来确定Eps和MinPts参数.该方法的具体步骤如下:

Step1.对数据集S={s1,s2,…,sn}中的每一个数据点与其他n-1个数据点进行距离运算,得到由n(n-1)个距离值组成的集合K.

Step2.集合K中虽然有n(n-1)个元素,但是其中有一半是重复的,原因在于每个数据点计算了两次.将K中的元素定义为dij(i

Step3.将DC取值为dk,k∈{1,2,…,m},在距离集合K中,满足dij

Step4.将上一步得到的比例k/m定义为t,如果知道t值,就能得到k=mt,并求得DC.

确定好两个参数后,继续使用DBSCAN算法完成后续的热点挖掘.

4 中文情感分析

4.1 情感倾向

情感倾向反映了主体对某一客体所表现出的内心喜恶,是一种内在评价的表达.它可以从情感倾向方向和情感倾向度两个方面来衡量[14].情感倾向方向也称为情感极性,表示用户对某客体所表达出的主观态度,即正面情感、中性情感和负面情感[15].情感倾向度是指主体对客体表达情感时的强弱程度,不同的情感程度可以通过不同的情感词或情感语气等来体现,例如:喜欢、特别好等词语就表现为较高的正面情感,而讨厌、非常糟糕则反映了较低的负面情感.在情感倾向分析研究中,为了区分两者往往采用给每个情感词赋予不同权值的方式来体现[16].

本文使用基于情感词典的方法来计算微博情感倾向,其基本思想是:1)通过文本切割方式将文本数据转变为可以执行情感评分的数据格式,然后将其与预先建好的情感词表逐个比对,通过特征值提取来对文本的词语进行评分;2)通过分析情感词的倾向和倾向度来确定句子的情感,进而确定整个文本的情感类型.本文以知网的情感极性字典和台湾大学研制的中文情感极性词典(NTUSD)为依据,同时使用jieba分词工具并导入搜狗15万词库实现文本分词.

4.2 TF-IDF模型与词频统计

通常在文本分析中总会涉及到分词与词频统计.在中文分词过程中,一般通过TF-IDF对特征值进行提取.TF-IDF是一种用于信息检索与数据挖掘的常用技术,用来分析某个词语对于一个文件集或一个语料库中的一份文件的重要程度[17].

在一篇文章中,词频(Term Frequency,TF)表示一个给定的词语在该文章中出现的频率.为了防止词频偏向长的文章,可以对它进行归一化处理.假设一篇文章中存在词语ti,则它的重要性可以用下面的公式表示:

(1)

其中,变量ni,j表示词语ti在文章dj中的出现次数,分母表示在文件dj中所有词语的出现次数之和[14].

逆向文件频率(Inverse Document Frequency,IDF)是一种统计方法,用来衡量一个词语的重要程度.一个字词的重要性与它在文章中出现的次数成正比,但与它在语料库中出现的频率成反比.一个特定词语ti的IDF值,可以由以下公式计算得到:

(2)

其中,|D|表示语料库中文件的总量,|{j:ti∈dj}|表示出现词语ti的文件数目.最后TF-IDF可以表示为:

tfi,jidfi=tfi,j×idfi

(3)

TF-IDF技术可以计算出某一文件中出现的高频率词语,并计算该词语在整个语料库中的低文件频率,进而获得权重较高的TF-IDF.因此,使用这一方法可以过滤掉常见词语,只保留重要的词语.

4.3 CIDVis的情感趋向分析

本文对于微博签到文本的情感分析流程如图2所示.基本过程为:1)选择每条微博中的文本执行预处理,以标点符号作为划分标志,将每条微博划分为多个句子;同时,依据情感词表提取每个句子中的情感词[18];2)以每个情感词作为基准,顺序寻找出现在它前方的程度副词、否定词,计算相应分值;之后,计算句子中所有情感词的得分总和;3)判断句子是感叹句还是反问句,是否存在表情符号?因为表情符号也代表了用户的感情倾向.如果存在,则该分句需要在原有得分的基础上加上或减去对应的权值[19];4)最后,累加所有分句的分值就能得到该条微博的最终分数.本文根据最终分数的高低来表示该条微博的情感趋向.

图2 情感分析流程图Fig.2 Flow chart of emotion analysis

5 主题发现

文本分析常用的方法是先对文本进行预处理即删除本文不需要的信息,然后通过分词系统将文档进行分词并删掉一些停顿词.最后使用TF-IDF模型计算词频并对词频排序,将词频高的词语作为主题中心[20].这种方法忽略了文字背后的语义关联,因为可能存在两个文档的共有单词很少甚至没有,但它们在语义上却很相似的情况.例如:“乔布斯离我们而去.”和“苹果价格会不会降?”这两个句子就没有出现共同的单词,但它们表达的语义是相近的.如果按照传统方法分析就会得出这两个句子不相似的结论.所以,在判断文档相关性时需要考虑文档的语义,LDA就是一种比较有效的语义挖掘模型.

LDA主题模型在是由David M.Blei、Andrew Y.Ng和Michael.Jordan三人在2002年第一次提出的.他们认为一篇文章可以划分为若干个主题,某个主题是由一些关键词构成,每个词在这个主题中以一定的概率分布出现.例如,一篇文章中每个词语出现的概率可以表示如下[21]:

(4)

LDA主题模型是一个由“文档-主题-词”形成的3层贝叶斯概率模型,每个文档表示为一个或者多个主题,每个主题和对应的词形成一个多项式分布,LDA对应的模型如图3所示.

图3 LDA模型Fig.3 Model of LDA

假设给定参数α和β,N个主题分布θ,则N个主题z和N个词汇ω的联合概率分布为:

(5)

对于LDA模型生成的主题,本文使用了LDAvis[22]来进行可视化分析.

6 CIDVis可视化系统实现

本文使用Python爬虫程序通过新浪微博开放平台的API接口,获取到昆明市2015年7月-11月的43万条记录,数据格式为Json.

6.1 CIDVis可视化系统开发

CIDVis的前端可视化技术采用百度地图、JavaScript、HTML语言、Echarts可视化组件和主题开源可视化工具实现.它提供多种交互分析工具,实现了热点区域、用户情感和签到主题的实时分析和动态展示.可视化提供的功能菜单如表1所示.

表1 CIDVis可视化系统的功能菜单
Table 1 Menu of CIDVis system

6.2 签到热点区域可视化

CIDVis可以借助时间轴展示不同日期下的签到数据在整个城市的时空分布情况,如图4所示.图4圆圈中的数字越大,就表示这个位置附近的签到数量越多.

图4 签到数据的空间分布Fig.4 Spatial distribution of check-in data

本文使用AC-DBSCAN算法对签到数据的经纬度坐标进行聚类,再将聚类结果加载到地图上展示,并采用不同的颜色来区分热点区域.图5(a)-图5(b)显示了2015年8月1日和2日数据的可视化结果,从图5中可以直观地看出,这两天的签到热点在空间位置上和数量上存在一定的差异.

图5 签到热点区域Fig.5 Hotspots formed by check-in data

接着,本文重点分析主城区的热点区域.通过7-10月的微博热点区域的可视化展示可以发现:主城区一共有15个热点区域,这些区域主要分布在商业中心区、高等院校周边、餐饮聚集地、休闲娱乐区、旅游景点和产业园.其中,火车站、南屏街商业区、云南大学周边、翠湖公园、南亚风情美食城、北辰商业区等是最受微博用户关注的地点.除了主城区以外,还有两个热点区域,即长水机场和位于嵩明县的大学城,如图6所示.

嵩明县大学城由云南师范大学文理院、云南工商学院等多所学校组成.这里与机场一样每天都能成为签到的热点区域,说明高校学生是昆明市微博签到用户的主要群体.

图6 机场与嵩明大学城签到位置的可视化Fig.6 Visualization of airport region and university town region in Songming county

通过可视化分析,本文发现人流量、用户群体类型、城市基础设施的配套程度都是影响微博签到点形成的主要因素.

6.3 CIDVis可视化系统展示情感趋向

本文对昆明市各个行政区域产生的签到数据进行情感评分,可视化效果如图7所示.通过对行政区域的情感可视化,本文可以发现:西山区的民族村、官渡区长水机场的情感值一直很高,这说明风景好的景点或者交通枢纽可以对人们的情感产生积极的影响.

图7 情感趋向的可视化Fig.7 Visualization of sentiment analysis

通过对情感变化的柱状图分析,本文发现在七夕节(8月20日)、教师节(9月10日)、中秋节(9月27日)、国庆节(10月1日)当天的情感值都很高,表明人们在节假日的情感趋向比平常更为积极.但是,图7(b)中可以发现9月3日的情感值很低,因为这天是抗战胜利日,人们在回忆历史,缅怀先烈.此外,中元节(8月28日)和重阳节(10月21日)两天的情感分数也向下波动.

综上所述,本文通过情感可视化可以发现:人们的情感趋向容易受地理环境、节假日以及传统文化等因素的影响,因此会产生正面或者负面的情绪.

6.4 CIDVis可视化系统展示主题发现

利用LDA主题模型,可以从微博用户上传的签到文本中发现特定主题,这些主题是由一些在语义上相关而且出现频率较高的单词构成.但是,LDA模型的难点在于如何合理地对合并到一起的词语进行主题总结[23].本文使用标签云和LDAvis开源软件,设计了可视化分析功能模块来展示签到数据中所蕴含的主题模型,效果如图8所示.

图8是以9月27日的微博签到数据为例进行主题发现的可视化分析,从图8(a)中可以看出,传统通过词频统计得到的标签云主题仅是单个词语,并不能将语义相关的词语合并成主题.在图8(b)中,利用LDA的可视化生成了10个文本主题,并用气泡图表示.气泡的大小表示主题出现的频率,而气泡相互之间的位置远近则表明主题之间的接近程度.分析者用鼠标单击悬浮在窗口左则的任何一个气泡就能查看其对应的主题,右侧面板会相应地显示出跟这个主题相关的词汇,总结这些词汇的含义就可以归纳出该主题的含义.

图8 主题发现的可视化结果Fig.8 Visualization of topic discovery

图8(b)展示了9月27日10个主题中的主题6.本文发现这一主题包含“中秋节快乐”,“月亮”,“亲人”,“回家”,“赏月”,“月饼”等词语.从这些词语中能够明显地判断出该主题与中秋节相关.

通过CIDVis系统提供的基于LDA模型的可视化分析功能,本文可以将不同的词语进行合并,从而发现隐含的语义与人们当天关注的热点主题.

7 总 结

本文以新浪微博的签到数据为研究对象,实现了一个名为CIDVis的可视化分析系统.CIDVis系统不仅能根据时间展示微博用户的签到位置,而且利用本文提出的AC-DBSCAN聚类算法对签到数据的地理特征进行挖掘,发现了昆明市微博用户的签到热点区域及其时空变化规律.同时,利用文本挖掘技术和LDA模型对签到内容进行情感分析和主题发现,并采用多种可视化组件和前端开发技术,绘制了每天微博签到数据的热点区域分布图、签到内容情感趋向变化图和签到内容主题发现图.这些可视化分析的手段可以更好地帮助管理者和决策者充分使用微博签到数据,发现其中蕴藏的规律和知识.研究成果可以为公共服务质量评价、舆情监测、土地价值评估、商铺选址推荐、流量预测等应用领域提供的依据和参考.今后,将增加更多的可视化分析图表,向用户提供更好地决策支持.

猜你喜欢

热点可视化词语
容易混淆的词语
基于CiteSpace的足三里穴研究可视化分析
自然资源可视化决策系统
思维可视化
自然资源可视化决策系统
找词语
热点
结合热点做演讲
一枚词语一门静
热点