在我们上一篇数据可视化专题文章《如何将“情感”可视化》(链接:http://mp.weixin.qq.com/s/bIiTr25ZJQ5IXC6e4wPyAg)中,我们介绍了将“细节情感”数据可视化的一些基本理论及实例,希望能在大家绘制类似的数据图表时给到一些启示和帮助。
同时,我们也希望在如今这个大数据时代中,“数据可视化”技术能够得到越来越多地重视,以此能让我们不管是在PPT、Prezi或是Tableau中都能更科学、更系统、更有效地展现我们的数据。
今天,我们将进一步向大家介绍数据可视化相关技术,并且同样是从文本入手——文本情感(极性/意见)分析的数据可视化。
简介
不同于上一篇文本细节情感的可视化,文本情感极性/意见分析(后文统称文本情感分析)是一个使用面更广更重要的文本挖掘手段,被广泛运用在分析用户自己生成的文本数据上。维基百科上对于文本情感分析的介绍是“情感分析的目的是为了找出说话者/作者在某些话题上或者针对一个文本两极的观点的态度。”当然由于情感维度的加入,我们可以对文本数据进行更多有意思的分析,接下来我们就来介绍一些文本情感分析分析系统。
大部分文本情感可视系统都是以展示基于时间轴的信息流为主,像是今日头条上的新闻、微博信息流、商品的用户评论等等。下图是一张twitter数据的情感时间序列图,其中正向的值代表积极情绪,负向则是消极情绪,这张图展现了在时间轴上各个不同事件对于网民twitter情绪的影响。
上面这种简单的可视方法太过于抽象,以至于难以表现出这些情绪转换出现的原因。为了解决这个问题,越来越多的可视化技术开始从不同的角度来展现情绪。下面从用户评论和社交媒体两个方面来看一下一些具体的文本情感可视系统的应用与实现。
顾客评论的可视分析
从应用层面来看,文本情感分析最具有价值也是最便于直接利用的领域是对于顾客评论的分析,尤其是在当今网购已成为人们不可或缺的消费渠道时,人们会非常直接在各个电商平台上对所购买的商品做出正负面评价。实时上,现在已有很多情感可视化系统正是是专门针对这一场景设计的。
下图的可视系统例举的是顾客对某款打印机评论的可视化分析结果,以热力图的方式同时展示了评论量和情感。其中每一行代表一种品类的打印机,每一列则是打印机的某一属性,红色表示消极情绪,蓝色则代表正面情绪,颜色的深浅程度代表该情绪的高低,每一个方格中的方块大小表示评论数量。这种可视化方式,不仅合理地将情绪极性数据同产品的各个维度结合在一起,还简洁、高区分度地呈现出数据分析师最想第一时间获取的关机讯息:情感极性。
Rohrdantz在2012年在ACM
Trans上发表了一整套完整的用户评论情感可视系统,该系统整合了文本挖掘、情感分析与可视分析技术,帮助系统使用者提取文本中的有意义信息,比如情感变化、数据密度、关键词等等。下面的热力图展示了时间线上的情感变化,其中每一个像素点代表一条文本,绿色为积极情绪、红色为负面情绪、黄色为中性情绪。该图以日历的形式展现整体时间线上的情感分析结果。
该系统为了更好地表现情感变化、数据密度以及关键词上下文,还提供了如下的时间密度图。下图中的例子是抽取了5万条包含了关键词”password”的评论形成的情感时间密度图,每一条评论以竖线的形式展示,依然以红色(消极)、绿色(积极)、灰色(中性)的方式表示情绪,而竖线的高度则代表了计算结果的可信度,越高代表可信程度越高。当选中每一条竖线的时候,可以回溯到具体的评论内容,评论内容中出现的名词形容词也会用具体的情绪颜色做出标注。最下方的曲线则是用来展示数据密度。
除此之外,系统还设计了一套算法用来标识出系统使用者可能会感兴趣的内容,如下图所示是系统自动识别出的5个在时间密度图中值得被关注的话题。
社交媒体的可视分析
社交媒体(以文本形式为主的帖子或状态)的可视分析被大量运用在舆情分析上,比如政府了解民众对于某些政策或者事件的意见,或者是企业收集网民对于公司产品的看法。这样的舆情分析的难点在于互联网上人们的想法传播非常快,而公众意见也具有多样性的特点。
OpinionFlow是一套专门面向社交媒体的意见传播可视分析系统。对于某一个特定的主题,OpinionFlow会分析一系列用户发布的相关Tweet,对于每一个用户u在时间t上发表或者转发的相关推文,系统会计算出情感值并记录为S(u,t)。通过对现有传播模式的识别,系统能够推断一个用户u把意见传播给另一个用户v的可能性Puv。下图是一个简单的意见传播示意图,分别表示了A向BCD传播的可能性。
OpinionFlow最后使用桑基图的方式展现了社交媒体中多个主题的意见传播状况,下图是5个主题下系统的示例,红色和绿色依然代表意见的积极与消极状态。右面四个图是左图中ABCD点传播的具体展示,其中A和D是媒体用户的传播图,而B和C是普通用户的传播图。
另一个社交媒体可视化系统的例子是SocialHelix,分析社交媒体上出现的用户意见分歧。所谓用户意见分歧是指比如在政治运动中,不同党派的支持者在社交媒体上根据自己的政治观点进行辩论。意见分歧产生的条件是必须至少有两组持有不同观点的人,其次在一系列相关的焦点事件中他们会发表各自阵营不同的意见。
SocialHelix的灵感来自于DNA螺旋结构(下图a),能够充分展示意见分歧中需要包含的用户群、焦点事件以及观点情绪等因素。b图中双螺旋的两条主链(backbone)分别代表情感意见相反的两个群体,而碱基对(base
pairs)则代表发生的焦点事件,磷酸基团(phosphate)代表了该事件中该群体发表意见的典型代表用户,图中越接近上方情绪越积极,反之则越消极,同时也以红绿黄三色对情绪作出了标识。c图以另一种形式展示了同样的数据,仅以颜色体现正负情绪观点,相较之下b图更为直观。
下图是SocialHelix分析了2012年ObamaCare政策两个不同群体的意见分歧,其中的数据是在10月3日晚上实时采集的。该图清晰地展示了在10点之后两个群体开始有了不同的意见。但有意思的是在12:40之后之前持有负面意见的群体转为了正面,而正面意见群体却转向了负面,有必要对具体的推文做进一步分析。
结语
文本情感可视化是一个非常有趣的领域,而且仍在不断发展中,目前还没有一套特别完备的标准。而目前的情感可视化技术大多是应用驱动的,并没有特备清晰的分类。相信这一方向仍然会是之后的研究热点。有兴趣的同学可以读一下(本文整理自)《Introduction
to Text Visualization》第六章,书中对文本情绪可视化会有更详细的介绍。
—— 专注于大数据与人工智能 Yuyidata.com