数据准备
在使用PAI-Rec搭建推荐系统前,需要准备基础数据,分析用户特征,用于模型训练与校准。本文为您介绍部分典型场景的数据规范。
背景信息
特征数据一般包含以下三张基础表:
用户表:
包含与用户相关的特征数据,用于描述用户的个人信息、偏好和行为习惯。
用户表中用户ID不重复,用户表和行为表可通过用户唯一ID进行关联,应包含用户基础属性信息,如年龄、性别、所属城市、积分、注册时间和用户标签等。每天一个分区,记录所有用户信息。
物品表:
包含推荐物品的详细信息,用于描述物品的属性和特性。
商品表中商品ID不重复,物品表和行为表可通过商品唯一ID进行关联,应包含商品基础属性信息,如一级类目、二级类目、价格、标题、颜色、规格、上架时间、作者ID和粉丝数量等。每天一个分区,记录所有的物品信息。
行为表:
包含用户和物品之间的行为,例如用户在什么时间对什么物品做了什么行为。
前提条件
操作步骤
为了方便您快速上手体验,PAI-Rec在MaxCompute的pai_online_project项目中预置了三张表,您可将数据克隆至自己的项目中使用。
登录DataWorks控制台,在左侧导航栏单击数据开发与运维 > 数据开发。
选择已创建的DataWorks工作空间后,单击进入数据开发。
鼠标悬停至新建,选择新建节点 > MaxCompute > ODPS SQL,在弹出的页面中配置节点参数,然后单击确认。
在新建节点区域运行以下SQL命令,将用户表、物料表、Label表从pai_online_project项目同步到自己的MaxCompute项目中。
-- 用户信息表 CREATE TABLE IF NOT EXISTS rec_sln_demo_user_table( user_id BIGINT COMMENT '用户唯一ID', gender STRING COMMENT '性别', age BIGINT COMMENT '年龄', city STRING COMMENT '城市', item_cnt BIGINT COMMENT '创作内容数', follow_cnt BIGINT COMMENT '累计关注数', follower_cnt BIGINT COMMENT '累计粉丝数', register_time BIGINT COMMENT '注册时间', tags STRING COMMENT '用户标签' ) PARTITIONED BY (ds STRING) STORED AS ALIORC; INSERT OVERWRITE TABLE rec_sln_demo_user_table PARTITION(ds) SELECT * FROM pai_online_project.rec_sln_demo_user_table WHERE ds > "20221231" and ds < "20230217"; -- 商品信息表 CREATE TABLE IF NOT EXISTS rec_sln_demo_item_table( item_id BIGINT COMMENT '内容ID', duration DOUBLE COMMENT '视频时长', title STRING COMMENT '标题', category STRING COMMENT '一级标签', author BIGINT COMMENT '作者', click_count BIGINT COMMENT '累计点击数', praise_count BIGINT COMMENT '累计点赞数', pub_time BIGINT COMMENT '发布时间' ) PARTITIONED BY (ds STRING) STORED AS ALIORC; INSERT OVERWRITE TABLE rec_sln_demo_item_table PARTITION(ds) SELECT * FROM pai_online_project.rec_sln_demo_item_table WHERE ds > "20221231" and ds < "20230217"; -- 日志行为表 CREATE TABLE IF NOT EXISTS rec_sln_demo_behavior_table( request_id STRING COMMENT '埋点ID/请求ID', user_id STRING COMMENT '用户唯一ID', exp_id STRING COMMENT '实验ID', page STRING COMMENT '页面', net_type STRING COMMENT '网络型号', event_time BIGINT COMMENT '行为时间', item_id STRING COMMENT '内容ID', event STRING COMMENT '行为类型', playtime DOUBLE COMMENT '播放时长/阅读时长' ) PARTITIONED BY (ds STRING) STORED AS ALIORC; INSERT OVERWRITE TABLE rec_sln_demo_behavior_table PARTITION(ds) SELECT * FROM pai_online_project.rec_sln_demo_behavior_table WHERE ds > "20221231" and ds < "20230217";
您也可以参考附录:常见场景的数据规范,自行准备用户表、物品表和行为表。
附录:常见场景的数据规范
电商推荐场景
下表列出了电商场景中用户表、物品表和行为表的建议字段。如果还有其他未涵盖的特征字段,可自行追加,字段越丰富完善,推荐效果越好。字段名称无需与表格中的完全一致。
用户表
物品表
行为表
内容推荐场景
下表列出了内容推荐场景中用户表、物品表和行为表的建议字段。如果还有其他未涵盖的特征字段,可自行追加,字段越丰富完善,推荐效果越好。字段名称无需与表格中的完全一致。
用户表
物品表
行为表
视频推荐
下表列出了视频推荐场景中用户表、物品表和行为表的建议字段。如果还有其他未涵盖的特征字段,可自行追加,字段越丰富完善,推荐效果越好。字段名称无需与表格中的完全一致。
用户表
物品表
行为表
直播推荐
下表列出了直播推荐场景中用户表、物品表和行为表的建议字段。如果还有其他未涵盖的特征字段,可自行追加,字段越丰富完善,推荐效果越好。字段名称无需与表格中的完全一致。