基于图引擎服务 GES 实现实时推荐
参考https://bbs.huaweicloud.com/blogs/4adfd1761a4811e9bd5a7ca23e93a891,创建图。
使用实时推荐算法进行推荐。
选择“实时推荐”(Real-time Recommendation)算法根据提示选择左侧栏的参数,这里 sources 栏用于输入请求节点(可以多
个,标准的 csv 数据格式输入),label 参数过滤出期望得到的节点类型。
例如:
(1)“当 Frank 打开电影平台,向其推荐电影“时,可以输入 sources 为 Frank, label 为 movie,其他参数如下图(左),点
击运行。算法运行结束后,画布上将会出现含有推荐节点的子图(大小反映了推荐程度,点击右上角图例上的相关项目,可以快速锁
定相应类型节点);Pixie 的结果将会出现在下方“查询结果”栏。由图引擎的运算结果可以很清晰显示用户、电影、演员、导演等之间的关系,根据多因素共同作用结果,演算出最为精确的推荐结果,相较于过去的推荐结果,精度更高,解释能力更强。
(2)当某“游客”用户小易登陆平台,浏览了 Gina 主页以及搜索了演员 Haley Joel Osment 动态,这一行为具有很强的个人
偏好属性说明他对 Gina 以及 Heley Joel Osment 有兴趣,这时,我们可以输入多个 sources 节点(参数如下图左),综合考虑
这两种兴趣(“Gina”、“Haley Joel Osment”)进行实时推荐:
sources: Gina,Haley Joel Osment
label: movie
3 动态更新图,实时更新,实时推荐
基于图的结构进行实时计算,可以适应数据的动态变化,如上图“小易加入平台,看了电影 Ready Play One”这一行为,图引
擎服务可以通过 gremlin 等语句实时更新到当前图数据里,做到实时更新,实时推荐。
(1)Gremlin 增加点,输入 Gremlin 语句
g.addV('user').property(id, '小易'). property('ChineseName', '小易' ).property('Gender','M').property('Age', '25-34')
.property('Occupation', 'student'). property('Zip-code', 331100)
(2)Gremlin 增加边,输入 Gremlin 语句:
g.V('小易').addE('like'). property('Datetime', '2018-07-27, 19:49:20').to(g.V('Ready Play One'))
扩展:
Gremlin 是 Apache TinkerPop 框架下的图遍历语言。Gremlin 是一种函数式数据流语言,可以使得用户使用简洁的方式表述复杂的属性图
(property graph)的遍历或查询。每个 Gremlin 遍历由一系列步骤(step,可能存在嵌套)组成,每一步都在数据流(data stream)上执行一
个原子操作。
用户只需要将标准 gremlin 语言进行简单的组合和嵌套,就能完成复杂的查询功能,例如:
查询图上的点:g.V().limit(100)
查询 Frank 用户的信息:g.V(“Frank”)
查询 Frank 喜欢的电影:g.V (“Frank").out("like") .hasLabel("movie");
查询 Frank 朋友喜欢的电影:g.V (“Frank"). out (“friends").out("like") .hasLabel("movie");
等等
- 点赞
- 收藏
- 关注作者
评论(0)