在互联网时代,热词往往反应了一段时间内公众普遍关注的事件。因此,热词计算是中的核心模块,针对资讯、评论、弹幕等进行热词统计,可以快速对海量资讯提取核心词汇,帮助用户快速研判舆论舆情。然而海量数据的热词计算,对计算的实时性、准确性提出了很大的挑战。
一、技术难点与常规九游会网址最新的解决方案
○ 关键词提取,关键词提取好坏直接影响统计效果,如何提取高质量关键词?常规的技术方案,一般是通过计算tf-idf词频提取关键词。然而,该方案需要维护复杂的词库,后续还需要不断更新词条,因此维护成本较大。
○ 海量资讯分析,当需要处理海量数据时,如何保证系统高吞吐量、实时性、精确性?常规的技术方案,大多通过离线全量计算,比如每天统计一次当天所有资讯的热词。这种技术方案,统计热词的时间窗口是固定的,无法针对灵活的动态时间窗口进行统计。
○ top-n排名统计,精确top-n计算必须统计全量数据,如何平衡数据量与响应时间的矛盾?常规的技术方案只能在某个固定时间窗口,离线全量统计该窗口内的top-n,该方法不能满足我们可选时间窗口的热词分析需求,因此需要寻找更优的九游会网址最新的解决方案。
针对上述三个问题,业界常规九游会网址最新的解决方案已经无法满足易盾的热词分析需求,下面谈谈易盾是如何解决这些问题的:
○ 针对关键词提取,易盾使用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,该值在满足计算实时性的同时,对计算精度的影响可以忽略不计。
四、总结
本文主要介绍了易盾舆情热词分析的核心技术难点,及其九游会网址最新的解决方案。从文本中提取关键词用于统计,易盾使用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.