背景
被實驗案例的資料和完整實驗流程已經内置于PAI-Studio模組化平台
https://data.aliyun.com/product/learn進入PAI-Studio,首頁模闆最下方位置點選從模闆建立“推薦場景-FM向量召回”開箱即用

智能推薦分為排序和召回兩大子產品,在召回子產品中通常會采用将 使用者User和待推薦的 内容Item 分别以向量表示,然後通過User和Item的向量乘積大小作為User對Item的感興趣程度的判斷。本案例介紹如何基于真實的推薦場景資料,通過使用PAI平台提供的FM算法和Embedding提取算法産生User和Item的描述向量。
詳細流程
完整業務流程圖:
1.資料說明
原始資料如圖:
資料字段描述:
- userid:user的id資訊
- age:user的年齡
- gender:user的年齡
- itemid:item的id資訊
- price:item的價格
- size:item的大小
- label:目标列,是否購買,1為買,0為未買
2.One-hot編碼
One-hot編碼可以将字元型資料轉成數值型表示,在FM-Embedding方案中首先利用“onehot編碼-1”針對全量資料進行編碼,生成編碼模型再輸入到“onehot編碼-2”和“onehot編碼-3”中,“onehot編碼-2”需要選擇User對應的特征資訊進行編碼,“onehot編碼-3”選擇Item對應的特征資訊進行編碼。
“onehot編碼-2”的輸入是userid、gender、age,附加列選擇userid。
“onehot編碼-3”的輸入是itemid、price、size,附加列是itemid。
3.FM訓練
正則化和次元這兩個參數有3個參數,分别對應常數項、一次項和二次項。其中次元的第3個參數“10”代表生成的Embedding的次元。
4.Embedding提取
- Embedding向量id列名:輸入左樁FM訓練中的模型“feature_id”
- Embedding向量列名:輸入左樁FM訓練中的模型的“feature_weights”
- 權重向量列名:輸入右樁對應的稀疏化資料列
- 輸出結果列名:輸出的Embedding字段名
最終輸出結果:
總結
使用PAI提供的整套FM-Embedding方案可以在推薦業務場景中快速挖掘出User和Item對應的特征向量,在實際召回子產品隻要做User和Item的特征向量積就可以得到打分結果。