全部產品
Search
文件中心

Platform For AI:使用FM-Embedding實現推薦召回

更新時間:Jul 13, 2024

在推薦業務情境中,使用Designer提供的整套FM-Embedding方案可以快速獲得User和Item對應的特徵向量,您只需要在召回模組對該特徵向量進行乘積,即可得到User對Item的評分結果。本文為您介紹如何使用FM演算法和Embedding提取演算法,快速產生User和Item的特徵向量。

前提條件

背景資訊

智能推薦包括召回和排序模組。召回模組中,通常使用向量分別表示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

目標列,含義如下:

  • 1.0:表示購買。

  • 0.0:表示未購買。

工作流程的未經處理資料樣本如下。未經處理資料

實現推薦召回

  1. 進入Designer頁面。

    1. 登入PAI控制台

    2. 在左側導覽列單擊工作空間列表,在工作空間列表頁面中單擊待操作的工作空間名稱,進入對應的工作空間。

    3. 在工作空間頁面的左側導覽列選擇模型開發與訓練 > 可視化建模(Designer),進入Designer頁面。

  2. 構建工作流程。

    1. Designer頁面,單擊預置模板頁簽。

    2. 在模板列表,單擊使用FM-Embedding實現推薦召回下的建立

    3. 建立工作流程對話方塊,配置參數(可以全部使用預設參數)。

      其中:工作流程資料存放區配置為OSS Bucket路徑,用於儲存工作流程運行中產出的臨時資料和模型。

    4. 單擊確定

      您需要等待大約十秒鐘,工作流程可以建立成功。

    5. 系統根據預置的模板,自動構建工作流程,如下圖所示。

      推薦召回實驗

      地區

      描述

      針對全量特徵的One-Hot編碼。One-hot編碼可以將字元型資料轉換為數值型,該FM-Embedding工作流程中,onehot編碼-1組件先對全量資料進行One-Hot編碼,再將產生的編碼模型輸入至onehot編碼-2onehot編碼-3組件。

      產生FM模型。您可以單擊該組件,在右側的參數設定頁簽,查看系統已配置的預設參數。其中維度(預設值為1,1,10)的第三個參數(預設值中的10)表示產生的Embedding維度。

      產生User特徵編碼。該組件的輸入(選擇二值化列)為useridgenderage附加列userid

      產生Item特徵編碼。該組件的輸入(選擇二值化列)為itemidpricesize附加列itemid

      提取Item-Embedding。該組件的參數含義如下:

      • Embedding向量的id列名:FM訓練中的模型feature_id

      • Embedding向量列名:FM訓練中的模型feature_weights

      • 權重向量列名:One-Hot編碼對應的稀疏化資料列。

      • 輸出結果列名:輸出的Embedding欄位名。

  3. 運行工作流程並查看輸出結果。

    1. 單擊畫布上方的image.png按鈕。

    2. 工作流程運行結束後,按右鍵畫布中的Embedding提取-1,在捷徑功能表,單擊查看資料 > 輸出,即可查看User特徵向量。User特徵向量

    3. 按右鍵畫布中的Embedding提取-2,在捷徑功能表,單擊查看資料 > 輸出,即可查看Item特徵向量。Item特徵向量