文档

基于二部图GraphSAGE算法实现推荐召回

更新时间:

本文为您介绍如何使用二部图GraphSAGE算法,快速生成推荐召回场景中的User和Item向量。

背景信息

图神经网络是深度学习的热点发展方向,PAI开源Graph-Learn框架,提供大量图学习算法。二部图GraphSAGE是经典的图神经网络算法,而GraphSAGE为二部图场景扩展,被用于淘宝的推荐召回场景。

在二部图场景下,可以将User和Item作为图中的点,User-Item之间的关系(点击或购买等)作为图中的边。对于User和Item,其邻居分别按照User-Item-User-Item…Item-User-Item-User…的Meta-Path进行采样。

前提条件

基于二部图GraphSAGE算法实现推荐召回

  1. 进入Designer页面。

    1. 登录PAI控制台

    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。

    3. 在工作空间页面的左侧导航栏选择模型开发与训练 > 可视化建模(Designer),进入Designer页面。

  2. 构建工作流。

    1. Designer页面,单击预置模板页签。

    2. 模板列表,单击推荐召回-GraphEmbedding算法下的创建

    3. 新建工作流对话框,配置参数(可以全部使用默认参数)。

      其中:工作流数据存储配置为OSS Bucket路径,用于存储工作流运行中产出的临时数据和模型。

    4. 单击确定

      您需要等待大约十秒钟,工作流可以创建成功。

    5. 在工作流列表,双击推荐召回-GraphEmbedding算法工作流,进入工作流。

    6. 系统根据预置的模板,自动构建工作流,如下图所示。

      图神经网络召回

      区域

      描述

      User&Item行为表,包括如下字段:

      • user:BIGINT类型,表示用户ID。

      • item:BIGINT类型,表示物品ID。

      • weight:DOUBLE类型,表示行为。例如1表示购买,2表示收藏。

      User特征表,包括如下字段:

      • user:BIGINT类型,表示用户ID。

      • feature:STRING类型,表示用户特征。每个用户至少配置1个特征,多个特征以半角冒号(:)分隔。每个特征必须为FLOAT类型,按照连续特征进行处理。例如:1:1:1

      Item特征表,包括如下字段:

      • item:BIGINT类型,表示物品ID。

      • feature:STRING类型,表示item特征。每个item至少配置1个特征,多个特征以半角冒号(:)分隔。每个特征必须为FLOAT类型,按照连续特征进行处理。例如:1:1:2

      通过graphSage组件生成用于推荐召回场景的User向量表和Item向量表。

  3. 运行工作流并查看输出结果。

    1. 单击画布上方的运行

    2. 工作流运行结束后,右键单击画布中的graphSage,在快捷菜单中,单击查看数据 > user_embedding,即可查看生成的User Embedding。

    3. 工作流运行结束后,右键单击画布中的graphSage,在快捷菜单中,单击查看数据 > item_embedding,即可查看生成的Item Embedding。

  • 本页导读 (1)
文档反馈