在互联网时代,热词往往反应了一段时间内公众普遍关注的事件。因此,热词计算是舆情系统中的核心模块,针对资讯、评论、弹幕等进行热词统计,可以快速对海量资讯提取核心词汇,帮助用户快速研判舆论舆情。然而海量数据的热词计算,对计算的实时性、准确性提出了很大的挑战。

一、技术难点与常规解决方案

○ 关键词提取,关键词提取好坏直接影响统计效果,如何提取高质量关键词?常规的技术方案,一般是通过计算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.

在热词中看舆论,摆脱“黑天鹅”效应相关推荐

  1. “大数据杀熟”成网络热词,科技公司信任危机到来?

    两个人用同一款打车软件去相同的目的地,手机软件显示价格相差30%,这类情况被冠名为"大数据杀熟". 传说中,在"平台大数据库"里被标记为"价格不敏感型 ...

  2. 2020年 “十大热词” 出炉了,你知道它们的含义和出处吗?

    来源:百度图片.百度百科 编译:黄同学(有删改) 2020年即将过去,那些刷屏网络的热词.你get到了哪一个呢?你又知道他们的含义和出处吗?今天,就利用本文带你读懂热词背后的意义! 2020年11月8 ...

  3. 重估2020:“黑天鹅”催生的AI新业态

    2019年末,不少人对人工智能在2020年的趋势做出了预判,并大致形成了这样的基本共识: AI作为驱动"第四次工业革命"的核心技术,将进一步演变为蒸汽机.电力.计算机一样的&quo ...

  4. 2020年 网络 “十大热词” 出炉,你熟悉哪些?

    2020年即将过去, 那些刷屏网络的热词.你get到了哪一个呢?你又知道他们的含义和出处吗?今天,就利用本文带你读懂热词背后的意义! 2020年11月8日,<青年文摘>公布了2020年年度 ...

  5. 2020十大热词!你猜到几个……

    2020年还有42天就过去了 在这不寻常的一年里 "奇怪的词语又增加了" 我们盘点了2020年十大网络热词 总结成了一句顺口溜 双节棍尾款人,后浪集美打工人 云监工逆行者,专业工具 ...

  6. 如何搜索最新热点,热词热点工具帮你收纳,帮助你打造10万+爆文

    ♢ 搜 狗 微 信 ♢ weixin.sogou.com 搜狗微信是公众号文章的搜索平台,我们可以从平台搜索公众号,并查看热门的文章.首页打开后,我们主要搜索热点的是三个入口,分别为搜索热词.热门文章 ...

  7. “赶上热词热概念,是我们不幸的一面” | 对话小冰公司CEO李笛

    金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 小冰的很多进展,往往只能借用科幻电影才能更好解释. <Her>中描绘过一个如影随形的专属AI虚拟人,跟主人公聊天聊地,从诗词歌赋 ...

  8. 《黑天鹅》读书笔记(part2)--我们从重复中学习,但忽略了从未发生过的事件

    觉得不错的句子收藏 "我从未想说保守主义者通常很愚蠢,我想说的是愚蠢的人通常很保守" 我们对一则信息的反应不是根据它的逻辑特性,而是根据它的环境,以及它在我们的社会情绪系统中的位置 ...

  9. 《黑天鹅》读书笔记(part3)--那些声称注重过程而非结果的人并没有完全讲真话

    觉得不错的句子收藏 在原始环境下,情感会起作用.这一点也适用于知识.当我们试图收集关于周围世界的信息时,我们倾向于受生物性的指引,我们的注意力很容易流向情感部分,而不是那些影响力不如情感的部分. 那些 ...

最新文章

  1. XCMS V1.0 Beta1 发布
  2. web服务的搭建 windows server 2008
  3. Jake Coco - Under The Covers, Vol. 2 {2011}
  4. 前端学axios还是ajax,【Web前端问题】axios发送ajax请求问题?
  5. 为什么机器学习工程师用PyTorch的多于TensorFlow?
  6. 忠于职守 —— sysmon 线程到底做了什么?(九)
  7. SQLServer数据库收缩相关知识笔记
  8. 给初学者的 RxJava2.0 教程 (八)
  9. c#爬虫-1688官网自动以图搜图
  10. B.一个人的旅行 (dijkstra算法)
  11. HBase 基本Java API
  12. python的web可视化_Python的Web可视化框架Dash(8)---核心组件
  13. PHP实时生成并下载超大数据量的EXCEL文件 1
  14. 2015 湘潭大学程序设计比赛(Internet)--D题-最小的数
  15. “this”不能在常量表达式中使用报错的解决方法
  16. 诺基亚n9支不支持java_诺基亚N9支持720p播放吗
  17. 5个很牛的黑科技网站分享
  18. php 微信签到功能,微信小程序实现签到功能
  19. 51单片机-波特率的计算定时器初始值的计算
  20. amoeba mysql读写分离_MySQL和Amoeba实现同步读写分离centos7

热门文章

  1. .net 工具集,支持.net fx和.net core
  2. Android 蓝牙驱动 概要
  3. A Tour of C++
  4. 农药化工企业设备管理制度参考-PreMaint推荐
  5. 数据结构实验1-日期:9月8日
  6. 车距检测预警HMW与前车碰撞预警FCW的区别
  7. keyword笔记(zz)
  8. mysql聚合函数求数据总和的语句_以下聚合函数求数据总和的是( )_学小易找答案...
  9. Word中尾部空格不能显示下划线的解决方法
  10. RFCN论文阅读笔记