如何利用“图计算”实现大规模实时预测分析

一、何为“图计算”

相比起“Hadoop、Spark”这种流行的大数据处理平台,说起“图计算”,可能许多人还比较陌生。甚至有人会误把它当成专门进行“图像”处理的技术。 首先我们互联网上通常的定义来说明一下图计算:

“图计算”是以“图论”为基础的对现实世界的一种“图”结构的抽象表达,以及在这种数据结构上的计算模式。通常,在图计算中,基本的数据结构表达就是:

G = (V,E,D) V = vertex (顶点或者节点) E = edge (边) D = data (权重)。比如说:对于一个消费者的原始购买行为,有两类节点:用户和产品,边就是购买行为,权重是边上的一个数据结构,可以是购买次数和最后购买时间。对于许多我们面临的物理世界的数据问题,都可以利用图结构的来抽象表达:比如社交网络,网页链接关系,用户传播网络,用户网络点击、浏览和购买行为,甚至消费者评论内容,内容分类标签,产品分类标签等等。

图数据结构很好的表达了数据之间的关联性( dependencies between data ),关联性计算是大数据计算的核心——通过获得数据的关联性,可以从噪音很多的海量数据中抽取有用的信息。比如,通过为购物者之间的关系建模,就能很快找到口味相似的用户,并为之推荐商品;或者在社交网络中,通过传播关系发现意见领袖。但现有的并行计算框架像MapReduce还无法满足复杂的关联性计算。比如,笔者曾经发现有公司利用MapReduce进行社交用户推荐,对于5000万注册用户,50亿关系对,利用10台机器的集群,需要超过10个小时的计算。

最近有许多新型的基于图的计算平台和引擎出现,来应对这种复杂的需求。比如开始有专注与图结构化存储与查询的图数据库 Neo4j,infinitegraph等。Google为了应对图计算的需求,推出了新的“计算框架”——Pregel。CMU给出了一个开源的版本——GraphLab,虽然二者都是对于复杂机器学习计算的处理框架,用于迭代型(iteration)计算,但是二者的实现方法却采取了不同的路径——Pregel是基于大块的消息传递机制,GraphLab是基于内存共享机制。同样的,最近非常火的“Spark”也有支持图计算机器学习的模块——GraphX,可以实现复杂的图数据挖掘。

二、业务挑战

时趣SocialTouch是数据驱动的移动营销解决方案提供商。所涉及的客户数据源涵盖了自媒体行为,关系,内容。企业内部营销,销售,售后数据,以及其他第三方和广告投放数据。数据来源结构复杂。数据的应用类型也比较多样化,主要包括:消费者画像,交互式消费者洞察分析,潜在消费群体挖掘,个性化内容等等。因此,从业务出发面临许多现实的技术挑战:

1、大数据量:SocialTouch提供的是SaaS 模式的数据管理平台,那么对于不同的应用,可能会用到不同的算法策略。而一家客户的数据平均都在100T以上,同时还在持续增加。如何利用不同的算法策略在同样的数据结构之上进行计算,而不是为了使用不同的算法需要修改和迁移海量的数据。需要我们采取一致性的数据结构。

2、动态变化:营销的核心是研究“人”,而对人的描述的主要数据是行为数据。SocialTouch通常会根据客户的需求,持续采集消费者的行为数据。而用户行为往往是实时动态发生,因此需要数据与模型也能够实时更新。

3、实时性:对于数据分析人员来说,往往许多分析的维度不是事先预定的,需求总是不断在变化。能够进行交互式的数据的钻取,无疑有助于更好的发现营销“真相”。因此,对于大数据量的实时计算就成为了一个挑战。同时,基于消费者个体画像和当前的“上下文”触发的个性化营销也是移动营销的主流需求。因此,这就需要服务器端在毫秒级别内给出个性化的预测结果。目前针对复杂机器学习的“图计算”虽然可以支持“批处理”模式的迭代计算,比如著名的PageRank模型。但对于实时分析和预测,并不是最好的解决方法。

4、关联性:对于营销来说“预测性”分析不仅仅是发现营销的好坏,更重要的是发现为何好,以进行优化。比如“归因分析”和“相似人群”等预测性模型,都需要关联计算的支持。而且,这种关联性计算也对实时性有一定的要求。虽然一些图数据库可以支持图数据结构的读取访问,但对于大数据量的关联计算支持较差。

三、CrowdGraph——从业务出发的选择

为了应对以上业务需求。SocialTouch从构建大数据架构开始,就启动研发了专利技术——CrowdGraph,专业应对消费者行为数据处理的实时图计算引擎。并成功应用于SocialTouch BI,社会化聆听,数据管理平台等产品中。下图给出了CrowdGraph的逻辑架构:

 

整体架构从逻辑上划分为4层, 分别为应用服务层,计算查询层,索引管理层和索引层。应用服务层提供稳定高效的网络服务和相关的Query解析,查询计算层负责 查找、筛选、分组过滤、游走等算法。索引管理层主要负责索引段的管理和适配,保证索引的灵活使用。索引分为vertex和edge两种类型,vertex、edge的属性支持Scheme定义,索引建立支持采用hadoop离线完成。 整体上索引和算法是核心。

以微博用户的影响力标签计算为例子,只需要简单的三步:

第一步:用户以等边上概率游走到粉丝,根据粉丝属性值计算此步游走的权重。

第二步:粉丝以等边概率游走到标签,根据标签的属性值计算此步的权重。

第三步:对相同相同标签所在的路径的权值累加后,对候选标签进行排序、过滤。

在实践应用中,GrowdGraph主要用于存储各种对象(用户,信息(商品页面,广告页面)之间的互动关系,经过测试,它具有以下特点:

  • 高性能与实时:由于本身就是专为挖掘关系设计的数据系统, CrowdGraph预先建立和存储了对象关系数据,同时考虑了块读取和内存加速,所以与关系型数据库相比,具有更高的查询性能和无法比拟的计算性能,比如计算超过百万潜在的消费者的属性分布,只需要秒级返回结果,是传统数据库查询的60—1200倍。
  • 灵活性:与传统BI系统和数据仓库相比,由于CrowdGraph不必预先设计表格的结构,所以可以动态的插入任意关系类型,非常适合存储动态变化的信息(如人的行为)。
  • 抽象性: CrowdGraph高度抽象了各种关系,不必定义结构,就可以可以很好的表达人的行为,属性,社会活动,广告点击,内容浏览和商品交易等各种抽象关系。
  • 精准性:与其他开源的图数据库不同, CrowdGraph中间包括了相关算法框架层,可以直接支持实时聚类,归因分析,贝叶斯网络等模型。同时避免直接访问抽象的数据,可以提供面向业务逻辑的精准预测服务。

四、结束语

图是一种抽象人类行为的方法,就像一句谚语所说“知道的越多,未知的就更多。对人类的行为的分析不是一个简单的“分类”问题,而是一种概率预测和排序问题。图计算的应用才刚刚开始,随着大数据研究和应用的发展,我们相信更多的支持“图计算”的系统会被大量使用。如果你有兴趣参与其中,希望和我们一起探讨。

原文发布时间为:2015-09-22

时间: 2024-11-06 03:49:50

如何利用“图计算”实现大规模实时预测分析的相关文章

突破流计算极限挑战后,阿里将发力图计算及大规模机器学习

近日,体系结构顶级会议ASPLOS首次在中国举办,阿里巴巴副总裁.阿里云首席科学家周靖人发表主旨演讲,介绍了阿里巴巴云的大数据和AI计算平台,以及其中广泛的产品和服务.同时透露阿里接下来将在图计算和大规模机器学习领域进一步发力. 随着物联网传感器.移动应用和在线服务的普及和广泛应用,越来越多的数据以流的形式源源不断的产生.基于数据流的实时分析变得越来越重要,例如实时化的商业决策依赖高时效性的报表,在线服务优化需要动态捕捉用户行为等. 这一系列应用的背后离不开大规模流计算平台的支撑.从系统架构角度

当前大数据和预测分析的新动力

当前,无论是从预测市场趋势到获取客户需求的洞察力,预测分析可以帮助企业利用他们的数据发现新的机遇并赢得竞争对手. 然而,通过研究发现,企业并不是用大数据和预测分析来实现他们的全部潜力. 这并不是说他们没有看到好处: 85%的机构受访者表示,预测分析对他们的业务产生了积极的影响,而77%的人认为这能帮助他们在竞争中占上风. 主要的障碍是技能,有四分之三的受访者发现企业内需要新的数据科学技能来利用技术. ●越来越重要 为什么预测分析变得越来越迫切? 在过去的几年中关于大数据我们已经听到了很多.企业收

【ATF】钱正平:大规模实时计算及其在阿里的应用与创新

2016 ATF阿里技术论坛于4月15日在清华大学举办,主旨是阐述阿里对世界创新做出的贡献.阿里巴巴集团技术委员会主席王坚,阿里巴巴集团首席技术官(CTO)张建锋(花名:行癫),阿里巴巴集团首席风险官(CRO)刘振飞(花名:振飞),蚂蚁金服首席技术官(CTO)程立(花名:鲁肃)以及来自阿里巴巴集团各部门多位技术大咖齐聚一堂,与莘莘学子分享阿里的技术梦想. 阿里云高级专家 钱正平正在分享<大规模实时计算及应用> 在下午的<云计算和大数据>分论坛中,阿里云高级专家钱正平(花名:布民)

代码-如何利用ffmpeg库实现对实时rtsp流每一秒截一张图

问题描述 如何利用ffmpeg库实现对实时rtsp流每一秒截一张图 我想实现这个功能,利用ffmpeg库,对实时rtsp流每一秒截一张图.我自己写了段代码 while(av_read_frame(pAVFormatContext,&pAVPacket) >= 0){ if(pAVPacket.stream_index == videoStreamIndex){ avcodec_decode_video2(pAVCodecContext,pAVFrame,&m_i_frameFinis

【谢源评体系结构顶会 MICRO 2016】神经网络加速器仍是热点,但图计算加速器夺最佳论文(下载)

MICRO(The 49th Annual IEEE/ACM International Symposium on Microarchitecture)是计算机体系结构领域的顶级会议,重点关注处理器体系结构的设计等内容.自 1968 年创办以来,迄今已经举办了 49 届,今年的 MICRO 于 10 月 15 日至 19 日在台北召开. 历史上,MICRO 长期被美国顶尖研究机构所占领,例如开会地点,仅有 10 次在美国之外的城市召开,本次是 MICRO 第二次在亚洲召开(第一次是 1999 年

实时计算 流数据处理系统简单分析

一. 实时计算的概念 实时计算一般都是针对海量数据进行的,一般要求为秒级.实时计算主要分为两块:数据的实时入库.数据的实时计算. 主要应用的场景: 1) 数据源是实时的不间断的,要求用户的响应时间也是实时的(比如对于大型网站的流式数据:网站的访问PV/UV.用户访问了什么内容.搜索了什么内容等,实时的数据计算和分析可以动态实时地刷新用户访问数据,展示网站实时流量的变化情况,分析每天各小时的流量和用户分布情况) 2) 数据量大且无法或没必要预算,但要求对用户的响应时间是实时的.比如说: 昨天来自每

利用PS计算工具调出别致色彩

在这篇PS教程里,将教大家怎样利用Photoshop计算工具来创建一个新的阿尔法通道,并调整出很别致的图片颜色效果.先看一下原图和调整后的对比吧! 图00 因为照片是纵向的,所以,很不好意思你们要一直滚动鼠标来看这个教程. 图01 图02 步骤1:让我们先来快速浏览一下这张我们要应用这个效果的照片吧.这张照片是一幅加州肉质植物的特写,尽管它本身就已经十分吸引人,但是我觉得我们可以让它更具表现力. 图03 步骤2:我们先简单的说一说利用计算工具来生成一个黑白混合的效果.尽管很多摄影师由于计算工具的

实时预测用户对物品偏好 阿里云推荐引擎帮助你更好的提升业务

现实中有很多企业或创业者,不晓得如何用数据来更好的运营自己的产品或网站,而阿里云推荐引擎(Recommendation Engine)的出现,则很好的解决了这个问题. 阿里云推荐引擎是一款用于实时预测用户对物品偏好的数据工具,能够帮助客户面对众多物品信息时发现令用户感兴趣的物品. 这是怎么做到的?我们来看看它的原理. 推荐系统一般包括展现子系统.日志子系统和算法子系统三个部分,三者互为一体. "展现"部分不仅要负担展现,还是数据采集的窗口,用户在展现系统的所有行为通过日志录入,采集到的

佩奇梦想中的Logo:能实时预测天气

腾讯科技 冰尘9月26日编译据国外媒体报道,上周谷歌CEO拉里·佩奇( Larry Page)在公司会议中畅谈了对谷歌Logo的期待,他希望谷歌Logo能够实时预测未来的天气.佩奇表示:"科技的使命就是攻克难题,为人们的生活提供方便."他在问答环节中称,谷歌Logo多年来一直都以特殊纪念日和名人生日为主题,但佩奇并不仅仅满足这些.他所希望的是个性化的.本地化的.实时更 新的Logo,比如天气插件."我有了这个主意后就试着让团队去研发.我希望谷歌Logo可以根据天气改变,我想用