本文为您介绍如何使用二部图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. 进入PAI-Studio控制台。
    1. 登录PAI控制台
    2. 在左侧导航栏,选择模型开发和训练 > Studio-可视化建模
    3. PAI可视化建模页面,单击进入机器学习进入机器学习
  2. 构建实验。
    1. 在PAI-Studio控制台的左侧导航栏,单击首页
    2. 模板列表,单击推荐召回-GraphEmbedding算法下的从模板创建
    3. 新建实验对话框,配置参数(可以全部使用默认参数)。
      参数 描述
      名称 输入推荐召回-GraphEmbedding算法
      项目 不支持修改。
      描述 输入图神经网络召回
      位置 选择我的实验
    4. 单击确定
    5. 可选:等待大约十秒钟,在PAI-Studio控制台的左侧导航栏,单击实验
    6. 可选:我的实验下,单击推荐召回-GraphEmbedding算法_XX
      其中我的实验为已配置的实验位置推荐召回-GraphEmbedding算法_XX为已配置的实验名称_XX为系统自动添加的实验序号)。
    7. 系统根据预置的模板,自动构建实验,如下图所示。
      图神经网络召回
      区域 描述
      User&Item行为表,包括如下字段:
      • user:BIGINT类型,表示用户ID。
      • item:BIGINT类型,表示物品ID。
      • weight:DOUBLE类型,表示行为。例如1表示购买,2表示收藏。
      User特征表,包括如下字段:
      • user:BIGINT类型,表示用户ID。
      • feature:STRING类型,表示用户特征。每个用户的多个特征以英文冒号(:)分隔,0元特征不能省略。每个特征必须为FLOAT类型,按照连续特征进行处理。
      Item特征表,包括如下字段:
      • item:BIGINT类型,表示物品ID。
      • feature:STRING类型,表示item特征。每个item的多个特征以英文冒号(:)分隔,0元特征不能省略。每个特征必须为FLOAT类型,按照连续特征进行处理。
      通过graphSage组件生成用于推荐召回场景的User向量表和Item向量表。
  3. 运行实验并查看输出结果。
    1. 单击画布上方的运行
    2. 实验运行结束后,右键单击画布中的graphSage-1,在快捷菜单,单击查看数据 > 查看输出桩1,即可查看生成的User Embedding。
    3. 实验运行结束后,右键单击画布中的graphSage-1,在快捷菜单,单击查看数据 > 查看输出桩2,即可查看生成的Item Embedding。