本文作者:李金波 新华智云 首席数据官
摘要:随着自媒体的发展,传统媒体面临着巨大的压力和挑战,新华智云运用大数据和人工智能技术,致力于为媒体行业赋能。通过媒体大数据开放平台,将媒体行业全网数据汇总起来,借助平台数据处理能力和算法能力,将有价值数据内容和能力开放给用户。本文主要从新华智云数芯平台,媒体行业数据特征,批流处理数据架构,以及通用的媒体大数据平台能力等几个方面介绍了如何基于MaxCompute做媒体大数据开放平台建设。
演讲嘉宾简介:
李金波,新华智云首席数据官。负责阿里巴巴大数据通用计算平台MaxCompute(原ODPS)框架架构。对高可用分布式系统设计开发有多年经验。先后研发过阿里巴巴机器学习平台在线预测系统和通用大数据计算平台框架系统。
以下内容根据演讲嘉宾视频分享整理而成。
本次的分享主要围绕以下五个方面:
一、关于新华智云
二、数芯-媒体大数据开放平台
三、媒体大数据平台能力
四、Project依赖
五、几点小提示
一、关于新华智云
新华智云是新华社与阿里巴巴合资成立的一家公司,主要面向运用大数据和人工智能技术,致力于为媒体行业赋能。随着自媒体的发展,自媒体公司非常的火热,如今日头条,抖音等。对传统媒体来说,面临着巨大的压力和挑战。传统媒体急切的希望互联网的技术帮助他们赋能。
媒体大脑-数芯
媒体大脑是新华智云底层的产品品牌,数芯是媒体大脑基础的数据平台。数芯定位为媒体大数据开放平台,平台中包含了媒体行业所依赖的各种各样的数据。数芯希望通过平台本身的数据处理能力和算法加工,将挖掘的有价值数据内容和能力开放给上层用户。目前,数芯包含了各种各样的数据,涵盖了400多万互联网站点,主要以中文站点为主,日增7千万文章,包含微信公众号,微博账号,图片以及多媒体来源等。将不同来源存储在平台中,之后对接数据,进行更多的加工和运用。“数据已经不再是一种成本,而是成为一种生产资料”,这句话在媒体行业更能够有所感受。一篇新闻除了是新闻之外,还是一条数据,同时新闻本身又会衍化产生新闻。很多媒体公司利用互联网技术获得大量的新闻内容之后,辅助他们新闻的生成过程。数芯会将媒体数据从不同的源头,不同供应商,以不同内容格式存储到平台中,进行数据清洗,结构化,加工等等一系列的操作之后,生成有价值的内容。如,这段时间之内媒体关注的热点,互联网上发生的事件,同时识别新闻和机构之间的关系,基于实体将各个渠道上的数据整合起来,为用户提供统一的视图。用户可以看到信息的发酵过程,以及信息在什么地方传播。
二、数芯-媒体大数据开放平台
数芯是一个开放的大数据平台,开放的点主要有三个方面。第一,数据的开放。任何数据进到数芯之后,都会在整个大数据处理的链条中做计算,内容结构化,加入标签。同时基于用户感兴趣的数据范围,做标签的特征过滤,筛选用户想要的数据。数芯帮助用户了解互联上的信息,了解互联网上与自身相关的事件。第二,数芯提供智能能力的开放。用户不管怎么努力,不可能获取到互联网上所有的数据;而且不可能每个公司都会自建内容大数据平台,做数据分析,也不可能都配备算法工程师;而且公司的数据处理能力也不是足够强;媒体大数据平台可以帮助用户将与他们有关的数据加工好,通过算法能力获得用户关心的信息。如用户提供一个文章,数芯可以反馈这篇文章与谁相关,相同的文章在什么地方传播,文章由谁编写,发在什么地方等等信息。通过开放算法能力,帮助用户做数据能力和算法能力的应用,提供文本反垃圾服务,互联网内容结构化服务,文本内容实体识别服务,文本去重判定服务,图像人物识别服务和图像标签化服务等等。第三,产品能力的开发,包含舆情监测能力,版权检测,传播分析等能力。
媒体数据特征
媒体大数据有三大特征,第一,媒体数据是非结构化性非常强。与传统行业数仓最大的区别是媒体行业90%以上数据都是非结构化的,如文本,图片,视频等等。第二,数据来源多样性。媒体行业数据有多种外部的数据源,它们有不同的数据提供的方式,提供不同的数据能力。所以必须要有强大的数据汇总能力才能将所有数据汇总在一起并服务好下游客户。另外,数据效性要求非常高。媒体行业天然追逐新闻热点,假如知道一个事件是潜在的热点,媒体希望第一时间对热点进行追踪,报道和解读。媒体机构希望通过数芯平台,能够最快的发现互联网上发生的事情,发现热点之后以最快的方式,将结构化后的数据给到用户。
批流处理结合
基于媒体行业数据的特征,数芯平台采取批,流结合的方式解决目前客户和业务场景对数据的要求。批指的是大量的计算,基于平台特征完成复杂的模型,算法训练,长周期计算,文本实体识别,文本挖掘,借助批量的能力解决数据更深度,更大规模的加工。流指的是流式的计算,完成数据的清洗,结构化,轻计算和实时统计。出来一篇新闻,在整个新闻流传的过程中实时的将信息处理好。目前数芯整体的流计算大概需要300毫秒,即一篇新闻从源头过来,存储到平台,服务化出去中间需要经过300毫秒的时间。
批流结合的数据架构
数据从不同数据源过来,如API,OTS,ROS,log,file等,一方面数据要在实时计算当中做URL去重,正文结构化,标记来源,垃圾识别,实体识别和轻度的实时统计。另外基于MaxCompute,利用DataHub将数据存储在批处理平台中,由于流计算本身不做持久化存储,所以所有数据都将存储在MaxCompute上。数据存储之后做主题建设,关系挖掘,知识图谱计算,算法训练。通过批流结合的的处理方式能够满足客户对数据本身能力的需要。之后,给用户提供搜索能力,大屏能力和BI能力等。
三、媒体大数据平台能力
内容结构化
人们在网页当中看到一篇新闻,而在数据库当中新闻是按字段存储的。比如,分为新闻标题,发布网站,时间,新闻来源,情感等等。平台需要将新闻信息进行结构化,成为后续计算过程需要依赖的数据结构化字段。
主题构建
媒体行业会分主题建设数据。平台会获取到不同的数据源,不同类型的数据。这些数据不可能完全的结合在一起,数芯平台会将所有数据分门别类的分成不同主题,按不同主题建设,存放和加工。媒体是一个非常复杂的行业,对各个行业的数据都是有所诉求,媒体需要挖掘很多不同行业的数据支撑新闻生产和报道。目前,数芯集中在媒体内在的数据,体育,金融,气象等几个主题。数芯一方面将不同的数据源汇总到平台当中,另一方面数据进来之后,挖掘潜在的新闻点,生成选题策划,帮助用户做选题等等工作。
实体识别
实体识别对于媒体大数据来说是最基础的能力。数芯目前积累的实体围绕人,机构,地点等三类数据。新闻行业,媒体行业会围绕某一个实体,关注与实体相关的数据能力。比如,很多公司会关注和自己相关的咨询,关心这些新闻是正面还是负面,哪些机构会发正面的信息,哪些机构会发负面的信息等。只有当将大批量的数据汇集起来之后,才能做相关内容的分析。实体识别场景在媒体大数据领域是非常基础的能力,首先,建立实体库。同时,当有一篇新闻产生,数芯需要实时的识别新闻与哪些人,机构和地点相关。另外,数芯需要汇集实体之间关系,做实体关系图谱。比如,很多品牌会瞄准自己的竞争对手,调整品牌战略,实体关系图谱对很多公司品牌运营的推广有很大的帮助。
情感分析
情感分析也是媒体大数据平台中比较通用的能力,当一篇新闻出来之后,用户需要知道是情感上褒义还是贬义。信息数量少的信息可以人工判断,但是如果每天有上千篇,上完篇的内容就无法通过人工来判断。媒体行业的情感分析与学术上的情感分析有差异。目前,自媒体出来之后短文本的内容越来越多。短文本的情感分析和长文本的情感分析不同,以往都是采用同一个算法实现情感分析,但发现效果并不好。现在,数芯将情感分析场景分开,微博短文本的情感分析用Word2vec+LSTM,新闻类的长文本的情感分析用Word2vec+CNN+RNN。分开之后发现每一类情感分析的效果都有所提升。
内容去重
内容去重是媒体大数据平台非常重要的一部分。去重能力是对于常见的新闻摘录,编辑,删减有准确的判重能力。一篇新闻并不是只由一个人写,它会被很多机构和渠道所转发。如何知道一篇新闻在哪些渠道被转发,其实就是通过去重的方式实现的。通过从大量的渠道汇集数据后,平台需要比对一篇新闻与之前哪篇新闻相似,通过相似度的比对得到结果。最早的时候,去重是基于关键词进行比对,数芯采取关键词和语义,两种方式比对,去重效果明显提升。内容去重可以用于新闻的热度计算,新闻数据顾虑清洗,文章版权追踪等业务场景。
内容标签化
搜索引擎可以用来搜索新闻,通过关键词和文章的匹配度来决定这篇内容是否推荐给用户。但纯搜索的方式已经满足不了用户家的需求。今日头条之所以成功,是因为它基于新闻和用户的习惯推荐内容。内容标签化就是通过机器的方式理解新闻,理解新闻与哪些信息相关,基于文本挖掘的手段,实现对于全网采集的内容数据进行分类打标。
四、Project依赖
很多时候,使用大数据平台要不要分项目都是一个很难的抉择。不分项目的好处是开发人员都在同一个平台工作,互相之间不需要太多的授权,整体工作效率会比较高。分项目的好处是利用不同平台做不同的业务会更清晰,更具条理性。数芯在开始使用MaxCompute时,便采取分项目方式,其考虑的原因有以下三点。首先,分项目可以区分业务优先级,避免低优先级任务影响高优先级的数据产出。另外,可以区分资源消耗型,避免出现高资源消耗任务整体影响数据产出。还有区分内外服务,避免内部服务互相交叉影响。总体上,分项目可以为数据产出的稳定性提供很好的保障。
五、几点小提示
首先,由于媒体行业大部分数据都是非结构化的数据,会造成对单字段的容量要求比较大的问题。而且不同的平台和传输工具对于数据的字段大小的限制不同。在从不同平台做数据传输时,尤其需要关注这个问题。
第二,能用UDF解决的问题,不要使用MR。使用UDF可以提高开发和运维的效率。即尽量用简单的表达式处理逻辑,这对整体数据产出稳定性有好处。
第三,对查询效率要求不高的数据报表可以直连MaxCompute,减少中间环节。如此可以大大减少数据转换和数据维护成本。
第四,Datahub一方面可以接数据源,另外还可以较好的串联批,流之间的计算流程,保持数据一致性和形成依赖。
第五,合理设计批,流的数据处理分工,减少重复计算。
第六,媒体大数据经常需要运用不同的算法,PAI可以帮助解决很多算法问题,减少开发的工作量,提高数据处理的效率。