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

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

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

                        社交                                                     电商                                                          资讯

  1.JPG            2.JPG3.png      

                            图1 常见推荐应用场景

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

4.JPG

2 电影推荐

 

 

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

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

5.JPG

3  Pixie实时推荐过程示意图

 

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

游走步长:currSteps = SampleWalkLength(α)

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

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

 

 6.JPG 

4  Pixie RandomWalk 过程示意图

                   

 

3. 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 IntelligenceThe 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

 

7.JPG

5  

 

 

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

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

8.JPG9.JPG

 

6

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

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

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

 

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

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

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

10.JPG

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

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

Frank,user,弗兰克,M,18-24,college/grad student,2906

Mike,user,麦克,M,25-34,other or not specified,30606

Sarah,user,莎拉,F,18-24,other or not specified,55105

Alice,user,爱丽丝,F,25-34,academic/educator,79928

Gina,user,吉娜,F,35-44,sales/marketing,60202

Ready Player One,movie,头号玩家,2011

Lincoln,movie,林肯,2012

Artificial Intelligence,movie,人工智能,2001

The Sixth Sense,movie,灵异第六感,1999

Haley Joel Osment,actor

Tye Sheridan,actor

Steven Spielberg,director

Drama,genre

Sci-Fi,genre

边数据文件edge.csv内容:

Frank,The Sixth Sense,like,2017/12/22 23:24

Mike,Artificial Intelligence,like,2017/12/22 20:20

Mike,Lincoln,like,2017/12/23 13:08

Sarah,The Sixth Sense,like,2017/12/22 22:00

Sarah,Artificial Intelligence,like,2017/12/23 21:05

Alice,Artificial Intelligence,like,2017/12/22 10:24

Alice,Ready Player One,like,2017/12/23 17:25

Gina,Lincoln,like,2017/12/22 16:30

Gina,Ready Player One,like,2017/12/22 21:37

Frank,Mike,friends

Frank,Sarah,friends

Mike,Sarah,friends

Mike,Alice,friends

Alice,Gina,friends

The Sixth Sense,Haley Joel Osment,hasActor

The Sixth Sense,Drama,hasGenre

Artificial Intelligence,Drama,hasGenre

Artificial Intelligence,Sci-Fi,hasGenre

Artificial Intelligence,Haley Joel Osment,hasActor

Artificial Intelligence,Steven Spielberg,hasDirector

Lincoln,Steven Spielberg,hasDirector

Lincoln,Sci-Fi,hasGenre

Ready Player One,Steven Spielberg,hasDirector

Ready Player One,Sci-Fi,hasGenre

Ready Player One,Tye Sheridan,hasActor

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

例如:

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

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

11.JPG

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

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

sources Gina, Haley Joel Osment

label: movie

12.JPG

 


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

 

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

了解图引擎


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。