劉乾超



摘 要: 準確地預估用戶的點擊率,并根據該概率對商品排序以供用戶選擇在推薦系統領域有著重要的意義。推薦系統中常用的因子分解機等機器學習模型一般只考慮用戶選擇單個商品的概率,忽略了候選商品之間的相互影響,離散選擇模型則考慮將商品候選集作為整體進行考慮。提出了使用深度學習模型來改進離散選擇模型,模型使用相對特征層、注意力機制等網絡結構幫助深度學習模型進行不同商品間的特征比較,研究結果表明引入離散選擇模型的深度學習模型表現優于梯度提升決策樹、因子分解機等模型。
關鍵詞: 推薦系統;離散選擇模型;注意力機制
中圖分類號: C 93
文獻標志碼: A
Abstract: It is of great significance in the field of recommendation system to accurately estimate the click-through rate of users and sort the products according to the probability for users to choose. Machine learning models such as factorization machine commonly used in recommendation systems generally only consider the probability that users choose a single product, ignoring the interaction between candidates, while discrete choice model consider the candidates as a whole. In this paper, a deep learning model is proposed to improve the discrete choice model. The model uses network structures such as relative feature layer and attention mechanism to help deep learning model to compare the features of different commodities. The results show that the performance of the deep learning model with discrete selection model is better than that of the gradient boosting decision tree and the factorization machine.
Key words: recommender systems; discrete choice models; attention mechanism
推薦系統廣泛應用在電子商務、信息媒體、金融科技等多個領域,準確地給用戶推薦其喜歡的內容,能給用戶、企業雙方帶來收益。推薦系統的主要流程包括召回和排序,召回過程從所有商品集合中篩選和用戶相關的待推薦候選集,排序過程將召回的待推薦集進行個性化排序,將用戶最有可能購買的商品排列在較前的位置。準確估計用戶選擇商品的概率,并根據該概率對商品進行排序、推薦,在推薦系統領域有著重要的意義。
目前,大多數推薦系統將點擊率預測問題構建為二分類問題,預測用戶點擊某件商品的概率,根據點擊率預測的結果將候選商品集排序后推薦給用戶。而在實際上,用戶是否選擇某件商品不僅取決于用戶對該產品的偏好,還受其他候選商品的影響。比如,在效用相同的情況下,候選集中價格更低的商品具有更高的吸引力。
一方面,離散選擇模型將候選商品集作為整體考慮的假設更符合實際情況;另一方面,深度學習模型因為其復雜的網絡結構能比離散選擇模型進行更高層的特征抽象。本文考慮將離散選擇模型的假設引入深度學習模型中,并設計合理的神經網絡結構幫助模型學習用戶在多個商品中進行選擇時的行為偏好。
1 文獻綜述
在經濟學領域,選擇模型通過效用來量化用戶對商品的偏好,McFadden提出的MNL(multinomial logit model)是使用最為廣泛的選擇模型。在推薦系統領域,常用的推薦算法包括協同過濾(collaborative filtering)和基于特征的推薦。區別于協同過濾算法僅考慮用戶過去的購買記錄,基于特征推薦的算法同時考慮用戶的特征和商品的特征,能夠更好地預測用戶購買商品的概率。Friedman提出的梯度提升決策樹和Rendle提出的因子分解機以及這兩類模型的改進算法是常用的基于特征的推薦算法。此外,深度學習由于具有強大的特征提取以及非線性學習的能力,也逐漸被應用在推薦系統領域,包括基于深度學習的協同過濾模型以及谷歌的研究人員提出的基于特征表示學習的Wide & Deep模型等。進一步,Guo等人將因子分解機與Wide & Deep模型結合提出DeepFM模型,該模型由于結合了兩類模型的優點,實踐效果較優。
1.2 單值排序模型
不同于MNL模型考慮候選集商品之間的相互影響,目前大多數基于特征的推薦算法往往只考慮決策者選擇單個商品的概率,同一選擇場景下的其他商品對用戶選擇某一具體商品的概率沒有影響,這類算法被稱為單值學習排序(pointwise learning to rank),梯度提升樹和因子分解機均屬于單值學習排序算法。
單值排序模型認為同一件產品在不同的候選商品集中對用戶的效用是相同的,但在實際情況中,同一件產品在與不同的候選集進行比較時,用戶對該產品的點擊率是不同的,MNL的假設相比于單值排序模型更符合實際情況。
2 基于離散選擇模型的神經網絡模型
2.1 模型構建思想
MNL模型由于使用線性函數來估計候選商品的效用,模型本身并不能學習到輸入變量之間的非線性關系。為解決該問題,本文中使用神經網絡模型。神經網絡模型具有靈活的網絡結構,通過引入非線性的激活函數,可以比線性模型學習到更多的信息。在神經網絡模型中,最常見的模型是前饋神經網絡(feedforward neural network, FNN), 但該類模型由于結構簡單,當模型輸入較為復雜時,容易出現欠擬合的問題。為解決該問題,在本文中引入四種特殊的網絡結構:相對特征層、卷積層、雙向LSTM層和注意力機制(attention mechanism)。基于不同商品之間相互影響這一基本假設,這四類網絡結構可以幫助模型更好地進行不同商品的比較,從而準確地判斷用戶更可能選擇哪一種產品。
2.2 模型構建
為了將用戶的選擇決策依賴候選集整體這一假設引入推薦系統中,可以將某一決策環境下所有產品的單值學習模型輸入進行向量拼接、構造得到選擇集,使用神經網絡模型預測用戶選擇各個產品的概率。為了幫助模型進行不同產品之間特征的比較,本文引入了幾種特殊的網絡結構。
模型的整體架構見圖1。模型的基本架構采用Cheng等人提出的Wide & Deep框架。Wide部分對應原始輸入的線性模型組合,Deep端對應DNN模型,用于提取屬性間的非線性關系。本文對原模型的修改包括將Wide部分的全連接操作改為FM模型的因子分解操作,將Deep部分修改為包含相對特征層、1D卷積層、雙向LSTM、注意力機制的神經網絡。將Wide和Deep部分進行特征拼接,經過全連接層,最后以Softmax層作為輸出層,輸出層維度等于輸入層商品的件數,表示用戶選擇購買各商品的概率預測值。
不同產品的連續性變量(比如價格)在數值上的大小關系,會對購買者的購買決策產生影響。本文在輸入層的下一層引入相對特征層,對不同商品的同一種特征進行相對大小比較之后,將次序關系加入模型原始輸入中。一般地,對于價格、評分等連續型變量可以進行相對特征層的構造。相對特征層的引入是為了在神經網絡模型的較前階段加入部分變量的相對大小關系,進而在后續的網絡層級中學習相對特征對用戶選擇決策帶來的影響。
為使輸入的商品數目一致,一般會選取一個較大的數字N作為輸入層的商品輸入個數。由于在線選購商品的會話中返回的商品數目是不同的,大多數情況下商品數目小于N。一般的情況會對相對位置的缺失商品的所有特征進行補0操作,但為了進一步提高模型預測效果,本文在相對特征層中加入特征缺失層,對于缺失的商品集合sI, 任意商品i∈s,有vij=wj,其中wj∈(w1,…,wJ)作為模型的參數參與模型學習,J為單個商品的特征總數。
在相對特征層之后,使用1維卷積層和雙向LSTM模型提取不同產品各自的特征組合信息。為實現這一目的,卷積核的長度設定為單個商品的特征長度,卷積操作的步長設定為單個商品的特征長度,在LSTM模型中將每件產品作為一個時間步驟。將1維卷積神經網絡和雙向LSTM輸出的特征進行拼接作為該層輸出。
Bahdanau等人在2015年提出的注意力機制被廣泛應用在機器翻譯等領域,其基本假設是輸入向量不同部分的重要程度是不一樣的,輸出層特定位置的向量表示依賴于前一層的局部信息,而非全部的信息。注意力層的隱層狀態ct通過前一層輸出的加權平均獲取。Raffel等人將注意力機制應用到前饋神經網絡中。具體到本文的研究內容,不同商品對于消費者最終決策的影響權重是不一樣的,構建注意力機制可以減少不相關商品對預測的影響。使用ht
Guo等人提出的DeepFM模型首次將FM操作引入Wide & Deep模型中。本文在模型的Wide部分使用DeepFM模型的FM Layer。在具體的模型實施中,對不同商品的相同特征使用一致的特征分解向量,分別計算N件商品的FM得分,將FM得分向量作為Wide部分的輸出,與Deep部分的輸出進行特征拼接。
輸出層的輸入是Deep和Wide層做特征拼接后的向量,使用Softmax層作為輸出層,輸出維度與商品數量保持一致,表示用戶購買各商品的概率。
3 數字算例
3.1 實驗數據
實驗數據使用某機票在線預訂平臺的用戶航班選擇數據。該數據集主要包含用戶可以瀏覽到的機票價格、機場等商品信息,以及用戶最終購買的選擇。值得注意的是,在實際的購買行為中,用戶可能在瀏覽若干商品之后未進行購買,而本文的實驗數據僅包含實際產生購買行為的用戶瀏覽了哪些商品,以及最終的選擇。實驗中使用的數據維度見表1。
3.2 實驗設計及評價指標
將基于離散選擇模型的神經網絡算法和傳統的離散選擇模型MNL,以及點擊率預測問題中常用的XGBoost、FFM模型的預測結果進行對比。其中,XGBoost是梯度提升決策樹的改進算法,FFM是因子分解機的改進算法。另外,還將只推薦最便宜產品的策略加入實驗結果中作為對比。
本文使用的評價指標是Top-k 準確率(Top-k accuracy),其中Top-k是指按照模型預估用戶最可能購買的前k個產品,該指標用來描述用戶實際購買的產品出現在Top-k產品中的比例。
3.3 實驗參數
本實驗中使用Softmax交叉熵作為損失函數,訓練過程使用Dropout、Batch Normalization以及Early Stop策略避免過擬合問題。在優化方法上,模型使用Adam作為批量隨機梯度下降的更新方法,該方法結合了動量來動態調整學習速率以及更新梯度,其余模型參數見表2。
3.4 實驗結果與分析
在Top-1準確率的表現上,MNL、XGBoost、FFM的準確率分別為22.1%、23.4%和23.7%。本文模型的Top-1準確率為28.6%,預測效果優于其他模型。另外,作為對照,如果僅給用戶推薦最便宜的產品,該策略的Top-1準確率為16.5%
圖3給出了四種模型在Top-1到Top-10準確率的分布。MNL由于其模型簡單,對特征的抽取能力相對較弱,表現劣于其他三種模型。本文模型由于考慮了候選商品集合的整體信息,表現優于XGBoost和FFM兩類單值學習模型。
4 結語
隨著用戶數據的積累,個性化內容推薦由于其能降低用戶檢索成本、挖掘用戶潛在興趣,逐漸成為電子商務等領域的默認解決方案。如何更合理地對用戶進行推薦,是推薦系統中的核心問題。離散選擇模型假設同一個產品在不同的候選產品集合中對用戶的吸引力是不同的,本文將離散選擇模型的假設引入深度學習模型中,通過相對特征層、注意力機制等網絡結構幫助模型更好地進行預測。實驗結果表明,將候選商品作為整體考慮的模型比傳統的單值學習模型表現更優,在實踐應用中具有一定的指導意義。
參考文獻:
[1] MCFADDEN D. Conditional logit analysis of qualitative choice behavior[J]. Frontiers in econometrics, 1973, 105-142.
[2] LINDEN G,SMITH B, YORK J. Amazon.com recommendations: item-to-item collaborative filtering[J]. IEEE Internet Computing, 2003, 76-80.
[3] FRIEDMAN J H. Stochastic gradient boosting[J]. Computational Statistics & Data Analysis, 2002, 38(4):367-378.
[4] RENDLE S. Factorization Machines[C]//International Conference on Data Mining. IEEE, 2011:995-1000.
[5] HE X, LIAO L, ZHANG H, et al. Neural collaborative filtering[C]. International Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 2017, 173-182.
[6] CHENG H T, KOC L, HARMSEN J, et al. Wide & deep learning for recommender systems[J]. 2016.
[7] GUO H, TANG R, YE Y, et al. DeepFM: a factorization-machine based neural network for CTR prediction[J]. 2017:1725-1731.
[8] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[C]//International Conference on Neural Information Processing Systems. Curran Associates Inc. 2012:1097-1105.
[9] HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural Computation, 1997, 9(8):1735-1780.
[10] CHOROWSKI J, BAHDANAU D, SERDYUK D, et al. Attention-based models for speech recognition[J]. Computer Science, 2015, 10(4):429-439.
[11] RAFFEL C, ELLIS D P W. Feed-forward networks with attention can solve some long-term memory problems[J]. 2015.
[12] CHEN T, HE T, BENESTY M. Xgboost: extreme gradient boosting[J]. 2016.
[13] HE R, FANG C, WANG Z, et al. Field-aware factorization machines for CTR prediction[C]//Proceedings of the 10th ACM Conference on Recommender Systems - RecSys 16, 2016:309-316.
[13] HINTON G E, SRIVASTAVA N, KRIZHEVSKY A, et al. Improving neural networks by preventing co-adaptation of feature detectors[J]. Computer Science, 2012, 3(4): 212-223.
[14] IOFFE S, SZEGEDY C. Batch normalization: accelerating deep network training by reducing internal covariate shift[C]//International Conference on International Conference on Machine Learning. JMLR.org, 2015:448-456.
[15] KINGMA D P, BA J. Adam: a method for stochastic optimization[J]. CoRR, 2014, abs/1412.6980.