在使用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";
您也可以參考附錄:常見情境的資料規範,自行準備使用者表、物品表和行為表。
附錄:常見情境的資料規範
電商推薦情境
下表列出了電商情境中使用者表、物品表和行為表的建議欄位。如果還有其他未涵蓋的特徵欄位,可自行追加,欄位越豐富完善,推薦效果越好。欄位名稱無需與表格中的完全一致。
使用者表
物品表
行為表
內容推薦情境
下表列出了內容推薦情境中使用者表、物品表和行為表的建議欄位。如果還有其他未涵蓋的特徵欄位,可自行追加,欄位越豐富完善,推薦效果越好。欄位名稱無需與表格中的完全一致。
使用者表
物品表
行為表
視頻推薦
下表列出了視頻推薦情境中使用者表、物品表和行為表的建議欄位。如果還有其他未涵蓋的特徵欄位,可自行追加,欄位越豐富完善,推薦效果越好。欄位名稱無需與表格中的完全一致。
使用者表
物品表
行為表
直播推薦
下表列出了直播推薦情境中使用者表、物品表和行為表的建議欄位。如果還有其他未涵蓋的特徵欄位,可自行追加,欄位越豐富完善,推薦效果越好。欄位名稱無需與表格中的完全一致。