在推薦業務情境中,使用Designer提供的整套FM-Embedding方案可以快速獲得User和Item對應的特徵向量,您只需要在召回模組對該特徵向量進行乘積,即可得到User對Item的評分結果。本文為您介紹如何使用FM演算法和Embedding提取演算法,快速產生User和Item的特徵向量。
前提條件
已建立工作空間,詳情請參見建立工作空間。
已將MaxCompute資源關聯到工作空間,詳情請參見管理工作空間計算資源。
背景資訊
智能推薦包括召回和排序模組。召回模組中,通常使用向量分別表示User(使用者)和Item(待推薦的內容),且通過User與Item的向量乘積判斷User對Item的興趣程度。該工作流程基於真實的推薦情境資料,其完整商務程序已預置在Designer模板中,您僅通過拖拽組件即可快速產生User和Item的特徵向量。
資料集
未經處理資料包括如下欄位。
欄位名 | 類型 | 描述 |
userid | STRING | 使用者ID。 |
age | DOUBLE | 使用者年齡。 |
gender | STRING | 使用者性別 |
itemid | STRING | 商品ID。 |
price | DOUBLE | 商品價格。 |
size | DOUBLE | 商品大小。 |
label | DOUBLE | 目標列,含義如下:
|
工作流程的未經處理資料樣本如下。
實現推薦召回
進入Designer頁面。
登入PAI控制台。
在左側導覽列單擊工作空間列表,在工作空間列表頁面中單擊待操作的工作空間名稱,進入對應的工作空間。
在工作空間頁面的左側導覽列選擇 ,進入Designer頁面。
構建工作流程。
在Designer頁面,單擊預置模板頁簽。
在模板列表,單擊使用FM-Embedding實現推薦召回下的建立。
在建立工作流程對話方塊,配置參數(可以全部使用預設參數)。
其中:工作流程資料存放區配置為OSS Bucket路徑,用於儲存工作流程運行中產出的臨時資料和模型。
單擊確定。
您需要等待大約十秒鐘,工作流程可以建立成功。
系統根據預置的模板,自動構建工作流程,如下圖所示。
地區
描述
①
針對全量特徵的One-Hot編碼。One-hot編碼可以將字元型資料轉換為數值型,該FM-Embedding工作流程中,onehot編碼-1組件先對全量資料進行One-Hot編碼,再將產生的編碼模型輸入至onehot編碼-2和onehot編碼-3組件。
②
產生FM模型。您可以單擊該組件,在右側的參數設定頁簽,查看系統已配置的預設參數。其中維度(預設值為1,1,10)的第三個參數(預設值中的10)表示產生的Embedding維度。
③
產生User特徵編碼。該組件的輸入(選擇二值化列)為userid、gender及age,附加列為userid。
④
產生Item特徵編碼。該組件的輸入(選擇二值化列)為itemid、price及size,附加列為itemid。
⑤
提取Item-Embedding。該組件的參數含義如下:
Embedding向量的id列名:FM訓練中的模型feature_id。
Embedding向量列名:FM訓練中的模型feature_weights。
權重向量列名:One-Hot編碼對應的稀疏化資料列。
輸出結果列名:輸出的Embedding欄位名。
運行工作流程並查看輸出結果。
單擊畫布上方的按鈕。
工作流程運行結束後,按右鍵畫布中的Embedding提取-1,在捷徑功能表,單擊 ,即可查看User特徵向量。
按右鍵畫布中的Embedding提取-2,在捷徑功能表,單擊 ,即可查看Item特徵向量。