写点什么

华为云新一代黑科技核心算法揭秘

  • 2020-04-01
  • 本文字数:3697 字

    阅读完需:约 12 分钟

华为云新一代黑科技核心算法揭秘

推荐技术在社交 APP、电商、音乐视频图片平台、咨讯推送平台等场景中大展身手,带给用户便利的同时,提高了用户平台活跃度,增加了“物品”销量。但是,随着互联网技术的飞速发展,所能够获取的数据量和数据类型越来越多,如何利用这些错综复杂的数据,挖掘背后潜在关系,进行快速有效的推荐成为各公司必须思考的问题。



常见推荐应用场景


目前的推荐算法层出不穷,数据利用效率、推荐的效果、速度也不尽相同。例如,在电影推荐场景,传统基于协同过滤(CF)的方法仅考虑到左半边人对电影的 feedback 数据,而传统基于内容(CB)的方法仅考虑右半边电影的特性数据,这样单纯的依赖部分数据进行推荐难以满足用户更深层次的推荐需求,同时存在稀疏性等问题;基于深度学习的推荐是近期比较热火的方向,推荐效果较传统方法也有很大的提高,但却以牺牲时间性能为代价,推荐的结果解释性也较低。



电影推荐

1. Pixie 实时推荐算法介绍:

Pixie 实时推荐过程如图所示,主要基于对图上多起点的 Pixie Random Walk:其根据各节点的重要性给各请求节点分配不同的游走步数, 同时对各请求节点进行 Pixie Random Walk,综合各起点 Pixie Random Walk 下候选节点的得分结果,进行推荐。



Pixie 实时推荐过程示意图


其中,Pixie Random Walk 过程:从请求节点(如下图中的节点 V4)沿着边,根据一定的倾向性不断地“游走“到相邻的节点,达到一定步数(步长)时返回起点重新游走。


游走步长:CurrSteps = SampleWalkLength(α)


多次这样的游走后, 当高频率经过的点的个数超过一定数量时,或者达到分配的步数上限时结束。


Pixie Random Walk 游走过程中,随着被经过的次数的增加,候选节点被推荐的得分也相应增加;当所有的 Pixie Random Walk 结束时,Pixie 将给出各候选节点的综合得分,得分越高被推荐的程度越大。



Pixie RandomWalk 过程示意图

2. Pixie 实时推荐特点:

(1)考虑多重关系共同作用:


Pixie 推荐基于多重关系的评价,不仅仅是基于用户与商品之间的历史交互关系,同时考虑到用户之间、商品之间等多层隐含关系。推荐结果是在多重关系下共同作用的结果,推荐某种程度上相较于单纯的利用用户历史交互数据或商品属性进行推荐更为精准。同时,可以避免“信息茧房”的问题。


例如:某电影平台用户 Frank 打开电影平台,Pixe 实时推荐算法向其推荐电影:Artificial Intelligence> Lincoln>Ready Player One


这里,Pixie 首推 Artificial Intelligence,是多个重关系多个原因的叠加:


①从用户与电影交互角度,与 Frank 有相似爱好的 Sarah 观看了 Artificial Intelligence: The Sixth Sense ->Sarah-> Artificial Intelligence,


②社交关系上,Frank 的好友 Mike 也观看了此电影:Frank->Mike-> Artificial Intelligence


Frank 的好友 Sarah 也观看了此电影:Frank->Sarah-> Artificial Intelligence


③电影特性关系上,电影 Artificial Intelligence 与 The Sixth Sense 具有相同的主演: The Sixth Sense-> Haley Joel Osment ->Artificial Intelligence;


相同的主题:The Sixth Sense ->Drama->Artificial Intelligence


④更多深层潜在关系:Frank->Mike->Alice->Artificial Intelligence。


以上各种关系在 Pixie 实时推荐中进行了叠加,最终向 Frank 首推 Artificial Intelligence。



(2)支持多请求节点(qurey vertices)下综合推荐,满足各种复合型、时变、多样性推荐场景需求


例如:电影平台上的用户,小雨近期看了 2 部电影 Ready Player One、;小易刚浏览了好友 Gina 主页,添加巨星 Haley Joel Osment 的动态关注;小桐刚刚进行了关键词搜索 Drama,Sci-Fi;等等,对于用户一些列实时的多样性组合操作行为,Pixie 实时推荐算法均可以综合各类操作,考虑各请求类型起点出发的多重关系,快速给出最相关的推荐排序。



不仅如此, Pixie 不同于以往那种单一性的推荐方法, 其推荐的范围更加多样,可以是不同类的商品,也可以是人,避免推荐结果局限于单一类型。同样以电影推荐场景为例,针对同一组数据,不需要重新建模,只需要改变输入参数,即可推荐电影,兴趣好友(Sarah>Alice>Gina), 甚至系列主演(Haley Joel Osment>Tye Sheridan)等等。


(3)可扩展性更强,对大数据量依然能够满足实时性推荐需求


社交巨头 facebook 从 2007 年的 5000 万用户,已增长之 20 亿+;拥有图片版 Twitter 之称的 Pinterest 目前坐拥 30 亿+的图片,2 亿+用户月活。在如此庞大的数据量下,传统方法(例如 CF)计算量随着数据量呈线性(或者不止线性)增长,很难满足实时性推荐需求,Pixie 算法与之不同,其计算量几乎独立于数据量。Pinterest 曾用其业务数据测试对 Pixie 实时推荐算法进行测试发现,在 10 亿+数据时,Pixie 实时推荐算法依然能够秒极内产生推荐结果。大数据量下,依然能够达到较好的实时推荐效果。相较于过去传统算法,通过 Pixie 算法新增的推荐量增长了 50%以上。


  1. 基于图引擎(GES)平台的 Pixie 实时推荐使用:

  2. 首先,在 GES 创建图,这里以图 2 所示的电影推荐场景为例

  3. 首先,在元数据管理栏创建 schema 如下:



图管理栏创建图,根据提示上传点边数据文件:


其中,点数据文件 vertex.csv 内容:


Frank,user,弗兰克M,18-24,college/grad student,2906Mike,user,麦克,M,25-34,other or not specified,30606Sarah,user,莎拉,F,18-24,other or not specified,55105Alice,user,爱丽丝,F,25-34,academic/educator,79928Gina,user,吉娜,F,35-44,sales/marketing,60202Ready Player One,movie,头号玩家,2011Lincoln,movie,林肯,2012Artificial Intelligence,movie,人工智能,2001The Sixth Sense,movie,灵异第六感,1999Haley Joel Osment,actorTye Sheridan,actorSteven Spielberg,directorDrama,genreSci-Fi,genre边数据文件edge.csv内容:Frank,The Sixth Sense,like,2017/12/22 23:24Mike,Artificial Intelligence,like,2017/12/22 20:20Mike,Lincoln,like,2017/12/23 13:08Sarah,The Sixth Sense,like,2017/12/22 22:00Sarah,Artificial Intelligence,like,2017/12/23 21:05Alice,Artificial Intelligence,like,2017/12/22 10:24Alice,Ready Player One,like,2017/12/23 17:25Gina,Lincoln,like,2017/12/22 16:30Gina,Ready Player One,like,2017/12/22 21:37Frank,Mike,friendsFrank,Sarah,friendsMike,Sarah,friendsMike,Alice,friendsAlice,Gina,friendsThe Sixth Sense,Haley Joel Osment,hasActorThe Sixth Sense,Drama,hasGenreArtificial Intelligence,Drama,hasGenreArtificial Intelligence,Sci-Fi,hasGenreArtificial Intelligence,Haley Joel Osment,hasActorArtificial Intelligence,Steven Spielberg,hasDirectorLincoln,Steven Spielberg,hasDirectorLincoln,Sci-Fi,hasGenreReady Player One,Steven Spielberg,hasDirectorReady Player One,Sci-Fi,hasGenreReady Player One,Tye Sheridan,hasActor
复制代码


创建图成功后,访问所创建成功的图,左栏可以看到目前 GES 上的图分析算法,选择“实时推荐”(Real-time Recommendation)算法根据提示选择左侧栏的参数,这里 sources 栏用于输入请求节点(可以多个,标准的 csv 数据格式输入),label 参数过滤出期望得到的节点类型。


例如:


(1)“当 Frank 打开电影平台,向其推荐电影“时,可以输入 sources 为 Frank, label 为 movie,其他参数如下图(左),点击运行。


算法运行结束后,页面画布上将会出现含有推荐节点的子图(大小反映了推荐程度,点击右上角图例上的相关项目,可以快速锁定相应类型节点);Pixie 的结果将会出现在下方“查询结果”栏:



由图引擎的运算结果可以很清晰显示用户、电影、演员、导演等之间的关系,根据多因素共同作用结果,演算出最为精确的推荐结果,相较于过去的推荐结果,精度更高,解释能力更强。


(2)当某“游客”用户小易登陆平台,浏览了 Gina 主页以及搜索了演员 Haley Joel Osment 动态,这一行为具有很强的个人偏好属性说明他对 Gina 以及 Heley Joel Osment 有兴趣,这时,我们可以输入参数如下图左,综合考虑这两种兴趣(“Gina”、“Haley Joel Osment”)进行实时推荐:


sources: Gina, Haley Joel Osmentlabel: movie
复制代码



值得注意的是,图引擎因为是基于图的结构进行实时计算,因此可以适应数据的动态变化,如上图“小易刚浏览了好友 Gina 主页,添加巨星 Matt Damon 的动态关注”这一行为,可以通过 gremlin 等语句实时更新到当前图数据里,做到实时更新,实时推荐。不仅可以考虑到考虑小易的近期倾向性行为,同时考虑小易特有的各类关系(人->电影,人->人,电影->电影等等),这样的实时推荐,可以极大增加推荐的准确度,从而增加点击率,提高转化率。


综上,可以看出,图引擎服务提供的实时推荐算法,在多重关系(用户与商品的历史交互信息,人与人、商品与商品等背后潜在关系)共同作用下进行推荐,精度更高;支持多请求节点下综合推荐,满足各种复合型、时变、多样性推荐场景需求;大数据量下速度,依然能够达到较好的实时推荐效果,可扩展性强,欢迎大家进行试用。


本文转载自 华为云产品与解决方案 公众号。


原文链接:https://mp.weixin.qq.com/s/pTxc8wi7By8qy_uqcmHQqw


2020-04-01 21:12734

评论

发布
暂无评论
发现更多内容

行业案例| MongoDB在腾讯零售优码中的应用

MongoDB中文社区

mongodb

去哪儿网MySQL日志分析实践,80%数据丢失都给你救回来!

Qunar技术沙龙

dba

企评家|华润三九医药股份有限公司成长性评价报告摘要

企评家

塔米狗企评家 企业评价 企业成长性分析 企评家 企业投资价值评价

【愚公系列】2022年05月 二十三种设计模式(七)-桥接模式(Bridge Pattern)

愚公搬代码

5月月更

解决方案| 阿里云数据库MongoDB版助力餐道显著提升运维效率,打造卓越餐饮/零售服务

MongoDB中文社区

mongodb

技术干货| MongoDB如何查询Null或不存在的字段?

MongoDB中文社区

mongodb

信息系统的建设周期

奔向架构师

信息系统 5月月更

遇到bug怎么分析,这篇文章值得一看

伤心的辣条

Python 程序人生 软件测试 自动化测试 测试开发

建木持续集成平台v2.3.1发布

Jianmu

开源 DevOps 自动化 持续集成 gitops

Hadoop hdfs 的shell操作

Emperor_LawD

hadoop Shell 5月月更

恒源云 (Gpushare)_Restormer:用于高分辨率图像重建的高效Transformer

恒源云

人工智能 深度学习 Transformer

Flutter 组件渲染模式详解

岛上码农

flutter ios 安卓开发 跨平台应用 5月月更

LabVIEW仪器控制:智能示波器(普源DS1000E)

不脱发的程序猿

LabVIEW 串口通信 VISA LabVIEW示波器软件

nginx配置系列(十)代理服务(proxy_pass)

乌龟哥哥

5月月更

gRPC服务开发和接口测试初探【Go】

FunTester

Mysql的事务操作问题

恒山其若陋兮

MySQL 5月月更

华创视讯加入龙蜥社区,携手共建开源新生态

OpenAnolis小助手

开源 龙蜥社区 CLA 华创视讯 龙腾计划

TiKV 缩容不掉如何解决?

TiDB 社区干货传送门

飞桨云上沙龙——智能制造专场

百度大脑

渗透测试工具一一Nmap(从初级到高级)

网络安全学海

网络安全 渗透测试 WEB安全 漏洞挖掘 nmap

观测云产品更新|优化观测云商业版升级流程;新增进程、日志、链路详情页关联网络;场景模块优化等

观测云

运维 可观测性 可观测

区块链系统开发,交易所交易平台搭建

Geek_56201b

基调听云研发总监杨金全出席CSDN可观测性与APM峰会

基调听云

云原生 APM 可观测性 基调听云

从活动能力层建设看业务架构

Qunar技术沙龙

业务架构

在基础语法中Java与c++有哪些不同?(对于学过c++转Java必看)

工程师日月

c++ java 5月月更

Java中容易混淆的基础知识

工程师日月

java 5月月更

从手工测试到自动化测试进阶,需要学什么?结合自身分享我10+年的测试经验!

伤心的辣条

Python 程序人生 软件测试 自动化测试 接口测试

虎符交易所Hoo研究院|币海寻珠 2022年4月下半月区块链投融事件TOP20

区块链前沿News

虎符研究院

模块一

Geek_28cf33

用阅读和写作应对未来风险

石云升

写作 阅读 5月日更

linux时间格式化命令

入门小站

Linux

华为云新一代黑科技核心算法揭秘_文化 & 方法_华为云产品与解决方案_InfoQ精选文章