在互联网时代,热词往往反应了一段时间内公众普遍关注的事件。因此,热词计算是中的核心模块,针对资讯、评论、弹幕等进行热词统计,可以快速对海量资讯提取核心词汇,帮助用户快速研判舆论舆情。然而海量数据的热词计算,对计算的实时性、准确性提出了很大的挑战。
一、技术难点与常规ag凯发旗舰厅的解决方案
○ 关键词提取,关键词提取好坏直接影响统计效果,如何提取高质量关键词?常规的技术方案,一般是通过计算tf-idf词频提取关键词。然而,该方案需要维护复杂的词库,后续还需要不断更新词条,因此维护成本较大。
○ 海量资讯分析,当需要处理海量数据时,如何保证系统高吞吐量、实时性、精确性?常规的技术方案,大多通过离线全量计算,比如每天统计一次当天所有资讯的热词。这种技术方案,统计热词的时间窗口是固定的,无法针对灵活的动态时间窗口进行统计。
○ top-n排名统计,精确top-n计算必须统计全量数据,如何平衡数据量与响应时间的矛盾?常规的技术方案只能在某个固定时间窗口,离线全量统计该窗口内的top-n,该方法不能满足我们可选时间窗口的热词分析需求,因此需要寻找更优的ag凯发旗舰厅的解决方案。
针对上述三个问题,业界常规ag凯发旗舰厅的解决方案已经无法满足易盾的热词分析需求,下面谈谈易盾是如何解决这些问题的:
○ 针对关键词提取,易盾使用textrank提取关键词提高提取效果,该算法思想来源于pagerank,相比于传统的tf-idf,不需要维护停驻词、词库等,计算简单有效。实际效果验证表明,textrank关键词提取,比传统的tf-idf关键词提取效果好,同时不需要维护一大堆词库配置,大大简化了运营维护成本。
○ 针对海量资讯分析,易盾通过实时流式计算 数据回流保证系统高吞吐量与实时性,支持灵活的动态时间窗口统计。同时,为了提高热词分析的精度,在简单统计词频的基础上,针对文章的热度对词进行加权,而文章的热度会综合考虑以下因素:文章的转发量、浏览量、评论量、发布时间衰减因子等等。
○ 针对top-n计算,易盾使用一种快速top-n统计算法实现快速排名统计。利用二八定律,通过一种分治算法,将t时间窗口内的热词top-n计算,分解为若干个小窗口内的top-m计算,再把若干小窗口的top-m合并成得出最终结果。实践证明,该方案大大提高了计算速度,支持可选时间范围的实时top-n计算,同时计算精度损失可以忽略不计。
关键词提取
海量资讯如何做热词分析?为了提高分析效率,我们首先对每篇资讯提取核心关键词,基于这些核心关键词统计整体资讯的热词分布情况。那么如何提取单篇文章的关键词呢?易盾舆情选择textrank提取算法,该算法思想来源于pagerank,其算法原理可以用如下的数学公式概况:
具体来说,textrank 算法是一种用于文本的基于图的排序算法。 通过把文本分割成若干组成单元(单词、句子)并建立图模型,利用投票机制对文本中的重要成分进行排序,通过不断迭代计算最终解。相比于传统的tf-idf,该方案不需要维护复杂的词库配置,计算简单有效,仅利用单篇文档本身的信息即可实现关键词提取。
二、热词统计流式计算
易盾通过实时流式计算 数据回流保证系统高吞吐量与实时性,支持灵活的动态时间窗口统计。因为每篇文章的热门程度不一样,词的热度计算不能仅仅统计这个词在所有文章中的出现次数。因此,热词分析在计算热度时,会用文章的热度对词进行加权,而文章的热度会综合考虑以下因素:文章的转发量、浏览量、评论量、文章发布的时间,如果发布时间越长,则热度衰减地越高。
针对时间衰减因子,我们针对线上数据反复调整衰减因子取值,最终得出了最优的计算公式。
三、一种快速top-n计算算法
为了满足根据时间范围实时筛选查询top-n热词排名榜单,我们采用一种快速top-n计算算法,利用二八定律,通过一种分治算法,将t时间窗口内的热词top-n计算,分解为若干个小窗口内的top-m计算,再把若干小窗口的top-m合并成得出最终结果。
○ 将t时间窗口内的热词top-n计算,分解为若干个小窗口内的top-m计算,实时统计小窗口内的热词top-m排名,同时把小窗口结果回流。
○ 把若干小窗口的top-m合并成得出最终结果,简化为对多个时间窗口内top-m的合并,由于小窗口的数量优先,大大简化了计算复杂度。
二八定律,这是在很多领域存在的规律。我们认为热词统计也差不多能符合二八原则,即热词与非热词的热度差别比较大。
简单来说,存储空间越多准确率越高。有统计分析说明,发现 50 倍空间[1][2]对于普通的数据分布是够用的。换而言之,用户需要 top 100 的结果,对于每种组合条件值,保留 top 5000 的记录, 并供以后再次合并。这样即使多次合并, top100 依然是比较接近真实结果 。通过反复统计对比数据,分析m取值不同,对top-n的计算精度的影响,我们选择m等于25*n,该值在满足计算实时性的同时,对计算精度的影响可以忽略不计。
四、总结
本文主要介绍了易盾舆情热词分析的核心技术难点,及其ag凯发旗舰厅的解决方案。从文本中提取关键词用于统计,易盾使用textrank提取关键词提高提取效果;通过流式计算 数据回流保证系统高吞吐量、实时性;为了能够选择时间范围实时聚合热词,使用一种快速top-n统计算法实现快速实时统计。最终,热词分析模块能够支撑舆情海量长文本资讯实时热词分析,数据时延在秒级,同时时间筛选查询控制在秒级。
目前,易盾舆情已经为网易云音乐、网易公关部、网易严选等客户提供服务。我们将继续与用户在一起,精益求精,进一步优化打磨舆情产品,持续为客户提供高质量舆情服务。
参考文献:
[1]ahmed metwally, et al. “efficient computation of frequent and top-k elements in data streams”. proceeding icdt'05 proceedings of the 10th international conference on database theory, 2005.
[2]massimo cafaro, et al. “a parallel space saving algorithm for frequent items and the hurwitz zeta distribution”. proceeding arxiv: 1401.0702v12 [cs.ds] 19 setp 2015.