在社会焦点透视镜系统中,设计了一个实时微博焦点事件抽取框架。该框架的核心是基于统计的思想,利用启发式规则和聚类算法。该框架主要包含3个组成部分,分别如下。
●话题发现:候选热点话题发现。
●话题聚类:候选热点话题聚类。
●话题排序:对聚类得到的话题聚簇进行排序,排序靠前的即焦点事件。
具体的算法可见参考文献[6]。
2.4 情感分析
这里使用的情感分析技术具体是指面向焦点事件的情绪分类,最终显示为如图1(a)所示的焦点事件的情绪分布。其中的基础技术环节是,针对一条包含焦点事件的微博,判断它所表达的情绪是“喜悦”、“愤怒”、“悲伤”、“恐惧”还是“惊奇”。
情绪分类是情感分析领域研究得比较深入的一项基础任务,主要有基于情感词和基于分类器两大类方法。其中基于SVM(support vector machine,支持向量机)和丰富特征的方法是最经典和快速的方法[7]。近年来,随着深度学习在自然语言处理的深入发展,深度学习技术在情感分类领域也取得了较好的效果[8]。因此,在社会焦点透视镜系统中,笔者采用了词向量和SVM经典特征相结合的方法[9],取得了较好的性能。
这里值得一提的是,微博的口语化较为严重,充斥着隐式情感(如:“满满的正能量”,“我给他打满分”)和反讽(如:“你真是太给我长脸了!”)、隐喻(如:“此人是垃圾”)等丰富的语言现象,这给情感分析技术提出了较大的挑战,这也是未来努力的目标。
2.5 情感归因分析
如前文所述,“事件发现”和“情感分析”模块属于社会焦点透视镜系统的浅层分析。用户更想探究的是为何会有某种情绪的产生、什么导致了某种情绪等更深层的透视。这也是本文的社会焦点透视镜系统不同于国内外其他现有系统的重要区别所在。在该系统中,第一层次的透视就是面向焦点事件的民众情绪的原因分析,具体体现为哪个子事件的发生导致了这种情绪。
本系统首次提出了情感归因分析任务,并使用自动抽取用户自然标注的Hashtag作为子事件的算法来解释焦点事件的原因分析。图3显示的是“长江游轮倾覆”事件的“喜悦”和“愤怒”两种情绪的原因分析。从图3(a)中可以看出,子事件“沉船内部有生命迹象”和“载客458人已救起8人”的情绪分布中“喜悦”的情绪占据了一定的比重,因此这两个子事件可以用来解释“长江游轮倾覆”事件所表露出的“喜悦”情绪。从图3(b)中可以看出,子事件“乘客家属收到诈骗短信”的情绪分布中“愤怒”的情绪占据了大部分的比重,因此该子事件可以用来解释“长江游轮倾覆”事件所表露出的“愤怒”情绪。具体的算法细节可见参考文献[10]。
图 3 “长江游轮倾覆”事件的“喜悦”和“愤怒”两种情绪归因分析
2.6 基于用户画像的情感分析
除了焦点事件的情绪归因分析之外,用户不同群体与情绪之间的对照也是社会焦点透视镜系统深层透视的重要组成部分。事实证明,不同的用户群体对同一事件的情绪反馈也不同。如图1(c)所示,不同性别的用户对“文章出轨事件”的情绪反馈是不同的。用户群体的特性除了用性别表示外,还有职业、年龄、地域等不同的用户画像角度,都可以从不同的侧面展示出不同的用户群体对同一事件的情绪反馈。如果能够将用户的各个画像角度与情绪分析相结合,无疑是从用户角度对焦点事件的深层次透视。
在目前的社会焦点透视镜系统中,仅仅针对用户的地域和性别两个维度的属性,对提及的微博数量进行了统计分析,图4(a)和图4(b)分别展示了针对“长江游轮倾覆”事件用户在省份和性别这两个维度上的微博数量。当然,将不同的用户属性与其情感分布进行对照是更深入的社会舆情透视,这也将是下一步的研究工作。
图 4 “长江游轮倾覆”事件微博数量