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

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

○ 关键词提取,关键词提取好坏直接影响统计效果,如何提取高质量关键词?常规的技术方案,一般是通过计算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. 梯度下降之模拟退火、梯度下降之学习计划、牛顿法、拟牛顿法、共轭梯度法
  2. grep -v XXXXX
  3. protocol buffer介绍(protobuf)
  4. geotif 添加坐标_python – 如何获取geotif中单元格的坐标?
  5. eclipse 隐藏项目_前5个有用的隐藏Eclipse功能
  6. OpenGL 入门第一课 视窗以及三角形
  7. try...catch...finally java
  8. Android 音频开发(三) 如何播放一帧音频数据上
  9. PLSQL DEVELOPER编辑器的自动替换文件
  10. CryptoJS 加密
  11. 麻理工MIT的脑计划eyewire (顺便学习一下医学影像知识)
  12. 设置Google文档离线同步,更好的高效离线工作
  13. 刚从阿里、头条面试回来,java处理excel文件数据
  14. python3 输入数字_python怎么输入数字
  15. 开源数据可视化 datart-自定义Jquery图表插件教程
  16. 数据结构和算法基础(4)——树
  17. Gateway网关的使用
  18. SVM算法实现(一)
  19. A later version of Node.js is already installed. Setup willnow exit.
  20. 阿里云部署k8s集群

热门文章

  1. 基于项目协同过滤的电子商务推荐系统
  2. ActiveMQ学习笔记07 - 优缺点
  3. C# 完美解决窗体切换闪屏问题
  4. 解决ubuntu的wifi连接不稳定
  5. 阿里云物联网ACP认证模拟测试题
  6. ChatGPT也懂如何设计开发板!?
  7. KVM虚拟化之小型虚拟机kvmtool的使用
  8. 2014清华计算机系直博名单,2018年清华大学接收推荐免试直博生拟录取名单公示...
  9. 基于Vue 的瑜伽场馆会员信息管理系统java设计
  10. S3C2440_GPB7的小驱动