舆情监测产品的过去与现在
舆情,从技术角度来说,主要指的是舆论的监测与分析,分析可以分为基于统计学的和基于语义的。不过,我这里先不谈分析,先从舆情类产品的整体,以及业务流的起始到结束这样探讨和说明。
首先舆情类产品,所谓一类,主要是该类产品都是基于采集网络公开数据并进行分析,以满足组织或企业的业务需求的产品。该类产品可以从几个维度来进行分类:
按目标客户分类:
政府机构,事业单位。该类客户主要为了维护整体形象和社会稳定;
企业。该类客户主要需求包括广告营销、形象维护、竞品分析、市场调研、负面公关等;
个人,该类客户主要是为了个人形象维护,一些高管或高净值客户也需要用舆情产品应对潜在的对手抹黑或资本操作等。
注:涉及个人隐私的监测,通常是没有的,因为一个人在网络公开发布的数据,我们是视为开源数据的,他既然公开了,就不涉及隐私。凡是真正涉及隐私的数据采集,都不是常规的舆情系统所做的事情,都是一些征信公司或黑产公司做的。
按应用领域区分:
提高营收。一般是广告营销、精准营销、社群营销等为了提高销售业绩所需的网络舆论分析以及推广等;
降低成本。这里的降低成本是广义的,通常指的是类似买保险一样的综合成本考量,如果一个企业完全不担心有舆论风险,那么其实就没有这个成本因素。大多数情况下,公众企业都需要考虑到舆论对资本市场的影响,有些是可以衡量的,有些则不是,这些隐性成本,才是舆情系统的主要价值。一般包括负面舆论发现和应对、突发事件的监测、竞争对手的网络舆论策略应对等;
战略分析。在战略层面,主要指的是竞品分析,竞争对手的产品情报在这里是主要调研方向,通过网络舆论判断市场对企业自身及竞品的评价与反馈,从而分析产品定位以及后续优化的方向等等。(这里说明一下,真正的竞品分析,并不是单一的舆情系统可以做到的,而是竞争情报分析系统,数据维度更广,复杂度更高)
上面我们大概对舆情类产品做了初步分类,接下来我们探讨一下舆情系统的过去。首先,舆情系统出现时间并不短了,它本身就是大数据分析的一种具体应用。涉及包括数理统计学、传播学、社会学、心理学、语义分析技术、爬虫技术、分布式技术等多种技术和理论。早期可追溯到80 年代中期,当时有一批高等院校相继成立了具有学术性质的舆论研究和调查机构,其中以甘惜分教授领导的中国人民大学舆论研究所为主要代表。在90年代初中国政府开始允许民营独立市场研究与民意测验机构合法注册,允许其从事民意调查工作。 比如1992年成立的零点研究咨询集团。根据历史记录,截止1997年,内地注册的市场与舆论调查机构约850余家 。此后,舆情类产品变伴随大数据与人工智能技术的发展,突飞猛进。(引用自: 我国网络舆情服务业发展实践与反思,王张,上海理工大学)
在近些年,专攻技术的人应该深有感触,大数据和人工智能的技术发展以及硬件算力的提升,极大地提高了数据自动化、智能化处理能力,助推了舆情产品的发展。
谷歌在 2004 年左右相继发布谷歌分布式文件系统 GFS、大数据分布式计算框架 Mapreduce、大数据 Nosql 数据库 BigTable ,这三篇论文奠定了大数据技术的基石。在当时大部分公司还在致力于提高单机性能时,谷歌已经开始设想把数据存储、计算分给大量的廉价计算机去执行。
受 Google 的论文启发,2004 年 7 月,Doug Cutting 和 Mike Cafarella 在 Nutch 中实现了类似 GFS 的功能,即后来 HDFS 的前身。后来 2005 年 2 月,Mike Cafarella在 Nutch 中实现了 MapReduce 的最初版本。到 2006 年 Hadoop 从 Nutch 中分离出来并启动独立项目。Hadoop 的开源推动了后来大数据产业的蓬勃发展,影响了很多传统软件产品的迭代,技术革新明显。
由于 Mapredece 编程繁琐,Facebook 贡献 Hive,sql 语法为数据分析、数据挖掘提供巨大帮助。第一个运营 Hadoop 的商业化公司 Cloudera 也在 2008 年成立。
此时,内存等硬件已经突破成本限制,于是2014 年 Spark 逐渐替代 Mapreduce 的地位,受到业界追捧。Spark 在内存内运行程序的运算速度能做到比 Hadoop MapReduce 的运算速度快 100 倍,并且其运行方式适合机器学习任务。Spark 在 2009 年诞生于 UC Berkeley AMPLab, 2010 年开源,2013 年贡献到 Apache 基金会。
Spark 和 Mapreduce 都专注于离线计算,通常时间是几十分钟甚至更长时间,为批处理程序。由于实时计算的需求,流式计算引擎开始出现,包括 Storm、Flink、Spark Streaming。
大数据存储和处理技术的发展同时也带动了数据分析、机器学习的蓬勃发展,也促使了新兴产业的不断涌现。舆情产品也受益于此,海量的数据爬取、抽取、统计分析、语义分析、实时更新都成为现实。接下来我们就从舆情系统的整体流程来分析一下。
首先,舆情系统的数据源,主要指的是网络开源数据,一般包括新闻类网站、政府类网站、门户类网站、教育类网站、各种协会类网站、其他类网站的资讯频道、新闻类APP、微信公众号、微博、各类论坛、博客、问答类网站、百科词条类网站,境外一般就是脸书、推特, 此外还有视频类网站、短视频类网站、直播类网站、自媒体网站、搜索引擎等等。产品里一般按照新闻、公众号、微博、博客、数字报、纸媒、论坛、APP、问答、百科、Facebook、Twitter、Instagram、视频、短视频等分类来显示。数据的获取是这里的最大难点,也是衡量一个舆情系统好坏的最重要指标。一般数据覆盖广度、数据采集频率、数据更新总量、数据抽取成功率、脏数据处理能力等几个维度来衡量一个舆情系统里的爬虫系统能力如何。
爬虫系统这里就不阐述了,作为数据采集的基本系统,一定程度上已经广为人知并且广泛应用于各行业中。在舆情系统里,爬虫系统的能力承担了最重要的数据总规模的决定性因素。首先,爬虫系统调度系统决定了系统运行稳定性以及硬件资源的消耗,爬虫系统设计的目的比较明确,就是最大利用硬件资源,在单位时间内获得最多的有效信息。基于此,爬虫系统需要解决大量细节问题,包括下载器和解析器的分离、任务分配以及错误重试、IP代理池控制、验证码识别控制、JS和ajax的采集策略、数据清洗等等。一个好的舆情爬虫系统应该具备以下主要特点:
下载器和解析器是分离的,合理分配硬件资源
任务分配时要结合硬件资源消耗智能分配
因为网络问题导致无法获取数据时需要有合理的重试策略
面对反爬采集源,需要支持应对策略,例如模拟登陆、JS渲染、IP智能切换、验证码识别、加解密尝试
自动收录新的采集源、自动更新采集源
自动解析网站结构,自动判断列表页
自动结构化提取文章
自动训练和迭代抽取模型
自动管理IP池,最大限度利用IP资源
秒级预测发文概率,最大限度利用硬件资源采集更可能发表文章的采集源
硬件资源支持接近无限的横向扩充
当数据采集系统达到一定强度的时候,日更新的数据量级会很大,此时会有大量脏数据,数据清洗和过滤模块也需要跟上。重复文章、广告文章、乱码等等,都需要在数据获取的不同阶段进行过滤,保障最终入库的数据是去重后且干净的。
综合以上能力,一个舆情类爬虫系统每日处理的数据量是很大的,一般面向国内的舆情系统日数据处理量小于1亿条(去重后)的是中小型系统,1亿条以上的才是大型系统,这是数据规模。数据覆盖面来说,由于全面采集一般是投入产出最不成比例的,所以都会加入权重系统,权重包括系统动态生成的权重以及客户自定义的权重,权重是以采集频率来决定的,一般是秒级到60分钟级到无限制级,不同的级别采集所消耗的资源有很大区别,所以秒级的监测通常会限定范围,如果没有限制的公司,那就一定是商务人员在吹牛逼了。由于采集量巨大,对带宽和IP数量需求较高,所以一个大型舆情系统的采集部分一般都不会是基于公有云的,而是自建机房并尽可能压低硬件成本,如果一个销售说他们的采集都在云服务器上且有好几千台,那么要么是他们的技术架构不合理,要么就是话术了,因为大家都知道公有云的带宽是相当贵的。
关于数据源覆盖范围,还有一个直白的情况就是,很少有人能解释清楚真正的覆盖范围,因为采集范围作为核心,一般都是不对外真实公开的,即使说采集2000-20000个网站,也不会轻易告知权重是如何分配和安排的。大体上来说,需要考虑以下一些问题,国内和国外有多少个根域名?按新闻、政府、教育等分类分别后都是多少?社交媒体等采集源有多少账号ID?认证的,高级认证的等等的分别有多少?论坛类采集,一般论坛有多少个版块?凡涉及资讯的采集源会整理出来多少个列表页?这些问题都决定了采集系统的真实规模能Cover住多少。
数据已经获取了,接下来就可以探讨一下舆情系统的基本分析功能了,至于那些基于关键词规则的监测逻辑、预警、自动生成报告、数据可视化等功能并不值得多说,我以前的文章里已经做过一些阐述了,而舆情分析功能才是重中之重,我也说一下舆情类产品的现状。
大部分舆情产品的现状就是,它们大都是基于统计学进行分析的,比如这些很常见的分析功能:
文章数量趋势,一般是曲线图
采集源排行榜
文章排行榜
词云
树状传播路径
网状网民互动节点关系
地域分布(地图型)
时间轴
其实这些都是数据统计的基础,计算复杂度也低一些,技术要求也低一些,所以是舆情分析的主力。不管是否熟悉舆情系统,基本也可以理解这些基础分析,但是更有价值的其实是基于NLP语义分析技术的文本分析,该类分析技术决定了舆情数据的分析深度以及准确度。
如果是作为一个舆情分析员或者叫舆情监测员,他的主要业务就是找出有价值的舆情数据,对未来发展做预测,提供给领导决策支持的依据。基于此,他需要舆情系统数据覆盖广、更新频率快、定位和筛查目标线索能力强等等。而NLP技术是协助舆情业务人员定位目标线索的得力助手。
从实际业务角度来说,筛查目标主要是从以下角度来进行:
时间范围,在某个时间段集中分析
事件范围,基于某个特定事件或特定主题来分析
人员范围,基于某个人,可能是分析提及这个人的线索,也可能是分析这个人发布的文章线索;
地理范围,重点分析某个地理范围,比如朝阳区或南京市发生的舆情。
NLP技术在这方面的应用我就不从技术角度来探讨了,而是从应用角度来讨论。首先我视为一篇文章进入系统后,会被完整分析,文章中的所有实体(人物、组织、地域)提取、句法提取、描述关系提取、关键词及词性和权重提取、情感指数化等等。那么真正较为精准的舆情系统在舆情分析的时候,不应该只是基于关键词匹配来进行分析,而是应该基于语义,比如:
分析人的时候,并不是文章中提及或者出现了某人的名字,就算。而是要分析出,这篇文章讲的是这个人的事情,并且排除重名(比如利用人名、地域、职位的关系来分析约束);
分析地域的时候,也同理,并不是地名出现了就可以,而是要分析出文章确实讲的是关于该地域的事情,并且要支持多级的地域包容,这个主要指的是上级对下级的涵盖关系。比如我要找讲关于北京市的文章,那讲海淀区的文章也算,讲朝阳区的也算,讲人民大学的也算。这就对地域分析要求较高,得建立完整的一套多级体系并智能判断;
情感指数其实是个鸡肋功能,因为情感很难直接定义并且衡量,尤其是每个人对情感的理解和感受不一,所以该功能价值并不如舆情分类功能价值高;
舆情分类功能也是基于NLP技术的,通过人工智能训练分类模型,实现文本分类器功能,可以更好,更有效的协助舆情业务人员找出目标文章,比如涉贪腐、突发灾害、涉黄赌毒等。
综上所述,舆情类产品是大数据分析产品的一个分支,目前舆情类产品能已经从监测,延伸至发现、监测、追踪、评估、疏导。同样,舆情类产品的分析维度也从基于文本的分析,延伸至对图片的分析、对视频的分析。而人工智能技术的加入,使舆情系统对文本的理解能力更强,这对于舆情业务的本质需求是很有帮助的,因为舆情业务是一种大海捞针式的海量数据分析并找出线索的过程,通过层层筛选,最终降低分析范围,获得精准的目标线索并顺藤摸瓜梳理整体脉络。以前很多完全要基于人的分析,现在可以通过NLP技术简化。
以上就是我对目前舆情产品、舆情行业、数据采集技术的思考。我本人是大数据及人工智能领域的从业人员,舆情只是其中一部分,欢迎私信交流。
注:我目前已经不搞其他形式的群和收费,专注于技术的落地和应用。如需交流,可以通过私信形式。此外,如果您是一家公司的总监级别以上的职位,也欢迎私信沟通加我微信,我会拉您进入一个大数据交流群,共享行业最新动态以及各类研究报告。
个人网站:http://www.bizworld.com.cn/