魏一丁
[摘 要]利用8天左右的淘寶用戶數據,基于Keras框架完成電商推薦系統排名部分構建。該系統采用了多層深度學習框架,使用用戶ID、商品ID、類目ID、用戶行為類型與行為時間作為隱藏特征來源輸入,映射成高密度低維向量,利用ReLU與Softmax等激活函數生成推薦模型,預測誤差率0.21。
[關鍵詞]隱藏特征;推薦系統;排名;深度學習;Keras
doi:10.3969/j.issn.1673 - 0194.2020.12.073
[中圖分類號]TP391.3[文獻標識碼]A[文章編號]1673-0194(2020)12-0-04
1 ? ? 基于多維隱藏特征電商推薦系統的相關研究
對于在線電商平臺來說,主要目的是最高效率地撮合交易,高性能的推薦系統不可或缺,可以讓買賣雙方在最短時間內找到對方,并實現交易。有關推薦系統的算法包括傳統推薦算法和當前基于深度學習的算法。當前有3類基于內容、協同過濾和混合的推薦方法,其中協同過濾推薦方法由GoldBerg等人提出,基于項目或基于用戶,通過矩陣的點乘積計算得分實現。目前,推薦算法引入了深度學習算法,大致說來:基于深度神經網絡的DNN適用于隱藏多層的數據維度,卷積神經網絡CNN訓練參數較少,圖卷積GNN適合推薦質量要求較高以及關注序列信息的循環(huán)神經網絡RNN與LSTM等,每種方法都有不同的側重場景。
推薦系統一般分為召回階段和排序階段。在召回時,快速使用簡單維度的數據將百萬級用戶商品等數據過濾成百級。在排序期,充分利用多維度的數據來精細化篩選,輸出個、十位數級。在上述兩個階段中,核心在于嵌入(Embedding)生成,旨在將高維數據映射到低維數據域,降低了計算復雜度。當前的嵌入方法包括:LLE、Laplacian Eigenmaps、Graph、HOPE的因式分解型,DeepWalk、node2Vec的隨機行走型,還有GCN等深度學習型。其中,每個社交媒體根據自身數據分布情況和特點選取數據維度生成嵌入。目前,成熟的社交媒體平臺采用的架構基本一致,只是在算法選擇、網絡層設計有所不同。Youtube采用前述,全部使用DNN方式,在召回時不再使用LSH,而是使用Spill-tree這種改進版的鄰域搜索方法。Instagram采用的PinSage架構,一種基于GNN的方式。衡量推薦系統的指標包括A/B測試、精準率和響應時間等,而目前各類開源架構、開放Python功能包,在所考慮的各項指標中基本能夠滿足實際方面的需求。比較成熟的是Keras框架,基本囊括了大多數算法和網絡層。此外,一些新興的算法,也可以通過引包方式實現。
相對于評論文字、星級評價這些顯性的特征,用戶在線狀態(tài)、在線時長、觀看次數、點擊數、購買頻次、加購、收藏數則是隱性特征,需要一種可量度的方式來構建用戶與商品的關聯。本研究側重隱藏特征,從用戶ID、商品ID、行為類型與行為時間構建嵌入Embedding,通過Keras的DNN,實現生成推薦。
2 ? ? 研究方法及過程
本文選取基于淘寶平臺2017年11月25日01:21:10-2017年12月3日17:38:11的數據,合計1億多條。將原始數據清洗,并按照2∶8的比例隨機分成訓練集、測試集(圖1)。
假設:研究側重于精細化排序部分,簡單地將億條數據按用戶ID大于100的條目進行刪除,得到1萬多條數據,近似于召回的結果。
沿用Keras的Embedding方法,使用“ReLU”“Softmax”函數進行激活,編譯器為“adam”,選取“mean_squared_error”指標評估。嵌入映射部分,選用用戶ID、商品ID、行為類型、時間戳等作為隱藏多維數據。其中,行為類型包括【展現-1】、【加購-2】、【收藏-3】、【購買-4】。
特征工程:給定某個用戶ID,能夠準確預測與之相近的商品ID?;诖蚍诌壿嫞擃A測假設展現對應1分,加購對應2分,收藏對應3分,購買對應4分,分數越高則越是期望推薦的商品。于是將數據集做一個處理,分別用評分1~4代替原有行為類型,嵌入部分如圖1所示。其中,用戶ID等數據分別表示嵌入,經過Flatten之后,合并輸入第一層。ReLU分別有5層,從1 028位到32位,最后通過分類函數Softmax輸出(圖2)。
這4類輸入參數均具有一對多的關系,用戶可以連接任何一個商品,商品可以連接任何一個行為類型,行為類型也可以連接任何一個時間戳(圖3)。但實際情況是,某些連接出現頻次更高,可以在任何兩個隱藏特征層之間,越粗的線條,代表頻次高;用權重代表,即模型在學習過程中更新的權重系數,可以代表某個具體特征的權重,圖4就代表了商品的權重系數。
將商品ID嵌入item_Embedding用PCA方式表示(圖5),圖5a的輸入包括所有數據維度,圖5b的輸入只有用戶ID與商品ID。橫軸占較大比例。
其學習過程曲線,橫軸代表迭代次數,縱軸代表誤差率,可以看出其逐漸達到最小誤差點,最終的誤差率維持在0.17(圖6)。通過減少輸入參數,只保留用戶ID與商品ID,誤差曲線類似。
將得到的模型存儲,并用驗證集校驗,發(fā)現其預測誤差率為21%,即準確率79%。模型參數(圖7)通過對比其他參數設置可以發(fā)現:學習深度越深越廣,誤差率越小。有Softmax激活函數比沒有的情況誤差率減小10%。
3 ? ? 結 語
越多的數據維度參與學習就會得到越豐富的特征向量,建立的預測模型越精準。Keras框架可以實現快速設計模型,通過使用自身的Embedding方法,可以輕松實現高維空間向低維空間的映射。將用戶行為類型設置為不同的等級,按照4個數據維度的網絡關系(圖3)進行多次迭代,發(fā)現各個節(jié)點的權重系數,最終形成網絡模型,可以進行推薦。電商推薦系統是提升精準度的關鍵環(huán)節(jié),可以用于召回與排序,有很多的推薦算法可以實現,但是在具體實踐中,需要考慮用戶的屬性與數據維度。依據用戶評論文字和評分會造成稀疏矩陣和冷啟動問題,這里不進一步展開。因此這就意味著賣家需要靠評價提高自身獲取流量的權重。這往往帶來虛假交易等現象,浪費了平臺很多資源,甚至花費更高的成本去監(jiān)管。隨著推薦系統的成熟,快速匹配相似度高的交易已經成為趨勢。電商平臺將隱藏維度的數據引入推薦系統中,模型會深刻地描繪用戶畫像。
主要參考文獻
[1]周萬珍,曹迪,許云峰,等.推薦系統研究綜述[J].河北科技大學學報,2020(1):76-87.
[2]David Goldberg,David.Nichols,Brian M,et al.Using Collaborative Filtering to Weave an Information Tapestey[J].Communications of the ACM,1992,35(12):61-70.
[3]Goyal P,Ferrara E.Graph Embedding Techniques,Applications,and Performance:A Survey[J].Knowledge Based Systems,2018,151:78-94.