
如何利用“图计算”实现大规模实时预测分析
一、何为“图计算”
相比起“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主要用于存储各种对象(用户,信息(商品页面,广告页面)之间的互动关系,经过测试,它具有以下特点:
四、结束语
图是一种抽象人类行为的方法,就像一句谚语所说“知道的越多,未知的就更多。对人类的行为的分析不是一个简单的“分类”问题,而是一种概率预测和排序问题。图计算的应用才刚刚开始,随着大数据研究和应用的发展,我们相信更多的支持“图计算”的系统会被大量使用。如果你有兴趣参与其中,希望和我们一起探讨。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
用 Power BI 制作地图热力图:基于经纬度数据的实践指南 在数据可视化领域,地图热力图凭借直观呈现地理数据分布密度的优势,成 ...
2025-07-24解析 insert into select 是否会锁表:原理、场景与应对策略 在数据库操作中,insert into select 是一种常用的批量数据插入语句 ...
2025-07-24CDA 数据分析师的工作范围解析 在数字化时代的浪潮下,数据已成为企业发展的核心资产之一。CDA(Certified Data Analyst)数据分 ...
2025-07-24从 CDA LEVEL II 考试题型看 Python 数据分析要点 在数据科学领域蓬勃发展的当下,CDA(Certified Data Analyst)认证成为众多从 ...
2025-07-23用 Python 开启数据分析之旅:从基础到实践的完整指南 在数据驱动决策的时代,数据分析已成为各行业不可或缺的核心能力。而 Pyt ...
2025-07-23鸢尾花判别分析:机器学习中的经典实践案例 在机器学习的世界里,有一个经典的数据集如同引路明灯,为无数初学者打开了模式识别 ...
2025-07-23解析 response.text 与 response.content 的核心区别 在网络数据请求与处理的场景中,开发者经常需要从服务器返回的响应中提取数 ...
2025-07-22解析神经网络中 Softmax 函数的核心作用 在神经网络的发展历程中,激活函数扮演着至关重要的角色,它们为网络赋予了非线性能力, ...
2025-07-22CDA数据分析师证书考取全攻略 一、了解 CDA 数据分析师认证 CDA 数据分析师认证是一套科学化、专业化、国际化的人才考核标准, ...
2025-07-22左偏态分布转正态分布:方法、原理与实践 左偏态分布转正态分布:方法、原理与实践 在统计分析、数据建模和科学研究中,正态分 ...
2025-07-22你是不是也经常刷到别人涨粉百万、带货千万,心里痒痒的,想着“我也试试”,结果三个月过去,粉丝不到1000,播放量惨不忍睹? ...
2025-07-21我是陈辉,一个创业十多年的企业主,前半段人生和“文字”紧紧绑在一起。从广告公司文案到品牌策划,再到自己开策划机构,我靠 ...
2025-07-21CDA 数据分析师的职业生涯规划:从入门到卓越的成长之路 在数字经济蓬勃发展的当下,数据已成为企业核心竞争力的重要来源,而 CD ...
2025-07-21MySQL执行计划中rows的计算逻辑:从原理到实践 MySQL 执行计划中 rows 的计算逻辑:从原理到实践 在 MySQL 数据库的查询优化中 ...
2025-07-21在AI渗透率超85%的2025年,企业生存之战就是数据之战,CDA认证已成为决定企业存续的生死线!据麦肯锡全球研究院数据显示,AI驱 ...
2025-07-2035岁焦虑像一把高悬的利刃,裁员潮、晋升无望、技能过时……当职场中年危机与数字化浪潮正面交锋,你是否发现: 简历投了10 ...
2025-07-20CDA 数据分析师报考条件详解与准备指南 在数据驱动决策的时代浪潮下,CDA 数据分析师认证愈发受到瞩目,成为众多有志投身数 ...
2025-07-18刚入职场或是在职场正面临岗位替代、技能更新、人机协作等焦虑的打工人,想要找到一条破解职场焦虑和升职瓶颈的系统化学习提升 ...
2025-07-182025被称为“AI元年”,而AI,与数据密不可分。网易公司创始人丁磊在《AI思维:从数据中创造价值的炼金术 ...
2025-07-18CDA 数据分析师:数据时代的价值挖掘者 在大数据席卷全球的今天,数据已成为企业核心竞争力的重要组成部分。从海量数据中提取有 ...
2025-07-18