李思琴 林磊 孫承杰
摘 要:廣告點擊率的預測是搜索廣告進行投放的基礎。目前已有的工作大多數(shù)使用線性模型或基于推薦方法的模型解決點擊率預測問題,但這些方法沒有對特征之間的關系進行深入的探索,無法完全體現(xiàn)廣告點擊預測中各個特征之間的關系。本文提出了基于卷積神經(jīng)網(wǎng)絡的搜索廣告點擊率預測的方法,闡述了卷積神經(jīng)網(wǎng)絡在特征的學習上模擬人的思維過程,并進一步分析了不同特征在廣告點擊率預測中的作用,在KDD Cup 2012中Track 2數(shù)據(jù)集上的實驗結(jié)果驗證了本文提出的方法能夠提高搜索廣告點擊率的預測效果,其AUC值達到0.7925。
關鍵詞:卷積神經(jīng)網(wǎng)絡;點擊率預測;搜索廣告
中圖分類號:TP391.41 文獻標識號:A 文章編號:2095-2163(2015)04-
Click-Through Rate Prediction for Search Advertising based on Convolution Neural Network
LI Siqin, LIN Lei, SUN Chengjie
(School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China)
Abstract: Click-Through Rate (CTR) prediction is the foundation of search advertising. Nowadays, lots of researches have been explored to predict CTR, and most of those researches either rely on liner model or employ method of recommendation system. However, the relations between different features in CTR predication have not been fully explored in previous works, and the relations between different features also cannot be fully embodied. In this paper, CTR prediction for search advertising based on convolution neural network is proposed, and process of convolution neural network simulating the process of human thought on feature learning is explained. Furthermore, the performance of different features have been analyzed in the task of predicting CTR. Experiments are conducted on the dataset of KDD Cup 2012 Track2 and the proposed method achieves 0.7925 in AUC, demonstrating the effectiveness of the proposed approach.
Keywords: Convolution Neural Network; Click-Through Rate Prediction; Search Advertising
0 引 言
隨著Web搜索技術的成熟,搜索廣告已經(jīng)成為互聯(lián)網(wǎng)行業(yè)的主要收入來源之一,其根據(jù)用戶輸入的查詢詞,在搜索的結(jié)果頁面呈現(xiàn)出相應的廣告信息。廣告媒介的收益通過每次點擊費用(CostPerClick,CPC)與廣告點擊率(Click-Through Rate,CTR)預測共同影響而得到,即CPC*CTR。由于用戶點擊廣告的概率隨著廣告位的排放順序呈遞減趨勢,因此對CTR進行準確高效的預測,并將CTR高的廣告投放在搜索結(jié)果頁面靠前的位置,不僅能增加廣告媒介的收益,還能提高用戶對搜索結(jié)果的滿意程度。
廣告點擊率預測是廣告算法中最核心的技術,近年來被學術界廣泛關注。部分學者使用基于推薦方法的模型來解決CTR預測問題?;魰则E等人[1]采用協(xié)同過濾算法,為頁面找到與其相似的其他鄰居頁面,實現(xiàn)CTR的預測,以此作為基礎進行廣告推薦,但當相似頁面的數(shù)量增加時,該方法的結(jié)果質(zhì)量會嚴重下滑。Kanagal等人[2]提出了一種聚焦矩陣分解模型,針對用戶對具體的產(chǎn)品的喜好以及相關產(chǎn)品的信息進行學習,解決因用戶-產(chǎn)品交互活動少而造成的數(shù)據(jù)稀疏問題。在文獻[2]的基礎上,Shan等人[3]提出了一種立方矩陣分解模型,通過對用戶、廣告和網(wǎng)頁三者之間關系的立方矩陣進行分解,利用擬合矩陣的值來預測CTR,雖然立方矩陣分解模型增加了一維交互關系,但所刻畫的交互關系仍然十分局限,不能在CTR預測中充分挖掘廣告所有特征之間的聯(lián)系。
作為典型的預測問題,很多研究中通過將CTR預測問題看作分類或者回歸問題來解決,其中最常見的是應用線性模型來預測CTR。Chapelle等人[4]使用動態(tài)貝葉斯網(wǎng)絡,通過對用戶產(chǎn)生的點擊過程建立模型,考慮級聯(lián)位置的信息模擬出特定位置與相近位置的相關性,以判斷該位置上的廣告是否滿足用戶搜索要求。Chakrabarti等人[5]利用點擊反饋的相關性,通過在網(wǎng)頁和廣告詞等特征上使用邏輯回歸模型提高廣告檢索和預測的效果。Wu等人[6]基于融合的思想,將不同線性模型的實驗效果相結(jié)合,來提高搜索廣告CTR預測的結(jié)果。真實的場景中CTR的預測并非簡單的線性問題,因此,一些學者開始使用非線性模型來解決CTR的預測。Dave等人[7]在搜索廣告點擊信息以及廣告商賬戶信息上提取語義特征,使用基于投票思想的梯度提升決策樹模型,提高了CTR預測的效果。Zhang等人[8]利用神經(jīng)網(wǎng)絡模型對影響搜索廣告點擊率的因素進行的探索,從特征因素方面提高CTR預測的結(jié)果,但是資源單一,數(shù)據(jù)交互的關系沒有獲得良好的利用。
本文對基于卷積神經(jīng)網(wǎng)絡(Convolution Neural Network,CNN)的CTR預測進行研究,通過卷積與亞采樣操作的結(jié)合,能更好地學習出數(shù)據(jù)特征之間的關系,不僅解決了線性模型無法模擬真實廣告數(shù)據(jù)場景的問題,也解決了淺層學習模型無法深入挖掘特征間相互關系的問題,并且較之于傳統(tǒng)的神經(jīng)網(wǎng)絡,CNN能更好地理解特征之間的關系。在真實的數(shù)據(jù)集上的實驗驗證了本文的方法能夠提高搜索廣告中CTR預測的AUC值。
1卷積神經(jīng)網(wǎng)絡模型
1.1 卷積神經(jīng)網(wǎng)絡基本模型
卷積神經(jīng)網(wǎng)絡作為人工神經(jīng)網(wǎng)絡之一,目前已成為深度學習領域中研究的熱點,權(quán)值共享以及局部窗口滑動的特點使之能更好地模擬出生物神經(jīng)網(wǎng)絡。卷積神經(jīng)網(wǎng)絡在結(jié)構(gòu)上有兩個重要的組成部分:卷積層和亞采樣層。如圖1所示。
圖1 卷積層與亞采樣層結(jié)構(gòu)
Fig.1 Convolution layer and sub-sampling layer structure
在卷積層中,原始特征通過卷積核進行卷積得到輸出的特征,使用不同的卷積核就可以得到一系列不同的輸出特征。對卷積層的計算,有如下公式:
(1)
這里, 是sigmoid 函數(shù), , ; 代表輸入特征上選定的窗口,即在卷積過程中當前卷積核在計算時所對應在輸入特征上的位置; 和 分別是第 層輸入特征和第 層輸出特征上相應的值; 是卷積核的權(quán)重值; 是特征的偏置,每一層對應一個。
卷積過程,一個卷積核通過滑動會重復作用在整個輸入特征上,構(gòu)建出新的特征。同一個卷積核進行卷積時,共享相同的參數(shù),包括同樣的權(quán)重和偏置,這也使要學習的卷積神經(jīng)網(wǎng)絡參數(shù)數(shù)量大大降低了。而當我們使用不同的卷積核進行卷積時,可以得到相應的不同的輸出特征,這些輸出特征組合到一起,構(gòu)成卷積層的輸出。
在亞采樣層,前一個卷積層的輸出將作為該層的輸入特征,首先設定大小的窗口,然后通過滑動,用窗口區(qū)域中最大(或平均)的特征值來表示該窗口中的特征值,最后組合這些特征值得到降維后的特征。亞采樣過程可表示如下:
(2)
這里,類似于卷積層, 和 分別是第 層輸入特征和第 層輸出特征上相應的值, 是特征的偏置; 表示取最大值 或者平均值 的函數(shù)。
典型的卷積神經(jīng)網(wǎng)絡通常由n(n>=1)個卷積層和亞采樣層以及最末尾的m(m>=1)全連接層組合而成。一個亞采樣層跟隨在一個卷積層后出現(xiàn),通過這若干卷積層和亞采樣層后得到的特征,將經(jīng)過全連接層與輸出層相連。全連接層公式如下:
(3)
這里, 是sigmoid函數(shù), 是計算第 層到第 層時的權(quán)重值。
1.2基于卷積神經(jīng)網(wǎng)絡的CTR預測模型
研究中使用卷積神經(jīng)網(wǎng)絡對搜索廣告的CTR進行預測,網(wǎng)絡結(jié)構(gòu)如圖2所示。
圖2 卷積神經(jīng)網(wǎng)絡在搜索廣告點擊率預估中的應用
Fig.2 Convolution neural network in search ad click rate through prediction
實驗中一共設置了兩個卷積層、兩個亞采樣層以及一個全連接層。首先從歷史日志中提取相應的特征構(gòu)建出輸入(Feature_Input),設置好卷積的窗口大小后根據(jù)公式(1)對輸入特征進行卷積,每一次卷積是對窗口內(nèi)所有值的組合,因此卷積過程相當于特征融合過程。對卷積后得到的特征,設置亞采樣的窗口并根據(jù)公式(2)進行最大值-采樣,選取出窗口中的最有表達能力的特征值(最大特征值)表示整個窗口的特征,因此亞采樣過程相當于特征的萃取過程。整個卷積和亞采樣過程的結(jié)合,模擬出了人對事物的理解和總結(jié)的過程。最后將特征經(jīng)過一層全連接后連接到輸出,得到最終的預測結(jié)果。
在一次特定的卷積(或亞采樣)全過程中即訓練的一次迭代過程中,權(quán)值并不會隨著窗口的滑動而改變,即在計算中,所有窗口滑過的特征享受同樣的權(quán)值。這也是CNN區(qū)別于其他神經(jīng)網(wǎng)絡的特點——權(quán)值共享。如此即使得CNN更方便訓練,更能多角度地對特征進行學習。
2特征構(gòu)建
本文所采用的實驗數(shù)據(jù)集為KDD Cup 2012中Track 2提供的數(shù)據(jù)集。該數(shù)據(jù)由騰訊公司下的搜索品牌搜搜(SOSO)搜索引擎提供,因為涉及公司商業(yè)信息,數(shù)據(jù)經(jīng)過哈希處理。實驗數(shù)據(jù)集中,每條記錄包含12個屬性,各屬性詳解如表1所示。
研究按照實際含義將這12個屬性構(gòu)造了四大類特征:歷史點擊率特征、相似度特征、位置特征和高影響力特征。
2.1基于卷積神經(jīng)網(wǎng)絡的CTR預測模型
歷史點擊率特征是不同類別ID在歷史數(shù)據(jù)中的點擊率,雖然比較簡單但十分有效,因為歷史點擊率在一定程度上代表了類別ID對某個廣告感興趣程度的高低,當一個ID對某個廣告的歷史點擊率高時,意味著其對這個廣告更感興趣,后續(xù)點擊的概率也更大。
歷史點擊率( )是點擊數(shù)( )與展示數(shù)( )之比,在統(tǒng)計計算過程發(fā)現(xiàn)有很多情況下有些類別信息沒有點擊實例,因此研究采用了平滑方法解決零值問題,根據(jù)公式(4)來計算平均點擊率。計算公式如下:
(4)
公式中的 和 是調(diào)節(jié)參數(shù),根據(jù)公式(4)計算出AdID,AdvertiserID,QueryID,KeywordID,TitleID,DescriptiomID,UserID的歷史點擊率。
2.2相似度特征
相似度特征用來刻畫屬性兩兩之間的相似程度,用戶搜索的內(nèi)容與被投放的廣告屬性相似度高時,廣告被點擊的概率更大。例如當搜索內(nèi)容Query與廣告關鍵字屬性Keyword相似度高時,意味著網(wǎng)頁投放的廣告與用戶期望搜索的廣告結(jié)果相似度高,更符合用戶點擊廣告的動作。
通過對Query、Keyword、Title、Description的屬性描述文件構(gòu)造出相關的TF-IDF向量,Query為用戶搜索內(nèi)容,Keyword,Title,Description是廣告的相關屬性,數(shù)據(jù)集提供的屬性信息都是經(jīng)過哈希后的數(shù)字形式,但是屬性之間的相對含義不變,然后計算相互之間的余弦相似度作為特征。
2.3位置特征
該特征描述的是指定廣告在搜索結(jié)果頁面中的位置信息。用戶搜索時需求的多樣化要求在對廣告進行排序和投放時,在結(jié)果頁面靠前的位置中盡可能地投放滿足用戶需求的廣告,從而最大化用戶的滿意度、提高用戶點擊的興趣[9]。因此,研究即用當前預測廣告的相對位置Pos來刻畫該廣告在結(jié)果頁面中排序靠前的程度,其定義如下:
(5)
這里, 指頁面投放的廣告總數(shù), 指當前所預測廣告的位置。
2.4位置特征
在預測模型中,ID屬性信息通常采用one-hot形式的特征編碼方式,在將不同的屬性經(jīng)過one-hot編碼后的特征向量組合在一起,這樣方式簡單直觀,卻使得特征的維度巨大并且非常稀疏。然而在這龐大且稀疏的特征中,絕大部分維度上的特征值對整個模型的預測結(jié)果貢獻非常小甚至為零,只有少數(shù)維度上的特征值對預測結(jié)果有較高的影響力。因此研究采用L1范數(shù)正則化的方式,在邏輯回歸模型的代價函數(shù)中加入L1范數(shù)[10],使得模型學習得到的結(jié)果滿足稀疏化,在學習參數(shù)中按大小順序取出前N維權(quán)重較大的,將這N維權(quán)重對應位置上的特征值構(gòu)建新的特征,稱為高影響力特征,考慮到實驗硬件,取N=180。
3 實驗結(jié)果與結(jié)論分析
3.1數(shù)據(jù)準備
實驗目標是通過給定的信息預測搜索網(wǎng)頁的廣告點擊率,由于數(shù)據(jù)量過大并且正負樣本不平衡,實驗中從訓練集隨機采樣10%作為本文實驗中模型訓練的訓練集,既縮小了樣本空間,同時隨機采樣也保持了原始數(shù)據(jù)的分布信息。實驗中隨機抽取部分樣本作為驗證集用于參數(shù)的調(diào)節(jié)。本文所用測試集為 KDD Cup 2012中track 2的全部測試數(shù)據(jù),因此本文的結(jié)果與KDD Cup 2012中track 2比賽的結(jié)果具有可比性。數(shù)據(jù)的統(tǒng)計信息如表2所示。
這里, 、 分別表示結(jié)果中預測對的正樣本數(shù)和負樣本數(shù), 、 分別表示結(jié)果中預測錯的正樣本數(shù)和負樣本數(shù)。對于廣告點擊率預測問題,較大的AUC值代表了較好的性能。
3.2實驗設置和結(jié)果分析
實驗的操作系統(tǒng)為Ubuntu 12.04 LTS OS,卷積神經(jīng)網(wǎng)絡在4G RAM 的NVIDIA GeForce GT 610 GPU條件下運行。過程中選用了Dense Gaussian對卷積層、亞采樣層的邊和節(jié)點進行初始化,用常數(shù)初始化輸出層,學習卷積神經(jīng)網(wǎng)絡各邊權(quán)值時的優(yōu)化函數(shù)使用梯度下降算法,其中學習率為0.01、動量項為0.9,訓練步數(shù)為100,設置公式(4)中參數(shù)α=0.05,β=75。實驗時使用邏輯回歸模型(LR)、支持向量回歸模型(SVR)和深度神經(jīng)網(wǎng)絡(DNN)作為對比方法,所有方法都使用相同的特征,其中DNN的層數(shù)以及每層的節(jié)點數(shù)與卷積神經(jīng)網(wǎng)絡相同。
具體地,首先探究了卷積神經(jīng)網(wǎng)絡中節(jié)點的設置,因為在CNN中后續(xù)層的節(jié)點數(shù)根據(jù)第一個卷積層和每層卷積(或亞采樣)滑動窗口的大小計算得到,并以第一個卷積層節(jié)點的設置為實驗變量,同時控制DNN中每層的節(jié)點數(shù)均與CNN相同,在驗證集上的實驗結(jié)果如圖3所示。
從圖3可以看出,隨著節(jié)點的增加,AUC的值也在不斷增長,在一定范圍內(nèi),節(jié)點數(shù)越多,實驗的結(jié)果越好。但隨著節(jié)點數(shù)的增大,模型的訓練時間也在延長,對設備的開銷需求也在升高,綜合上述因素,最終將第一層的節(jié)點數(shù)設為9 216。
CNN與各對比實驗的實驗結(jié)果如表3所示,可以看出CNN的效果最佳,此外在表中還列出了KDD Cup 2012 track 2比賽中第一名的結(jié)果。DNN的AUC值優(yōu)于LR和SVR,驗證了深度學習模型比淺層學習模型更適合解決CTR預估問題,同時CNN的結(jié)果高于DNN,說明CNN中卷積層的特征融合和亞采樣層的特征萃取過程是有效的。本文中CNN目前的實驗結(jié)果略低于KDD Cup 2012 track 2中第一名的結(jié)果,原因是比賽隊伍使用了多模型融合并提取了龐大的(千萬維)輸入特征。
進一步地,實驗探索了每一類特征對搜索廣告點擊率預測的貢獻。在所有特征的情況下,去掉某一類特征來進行預測,實驗結(jié)果如表4所示。實驗結(jié)果表明,去掉任意一類特征都將使得實驗效果有所下降。其中去掉歷史點擊率特征效果下降得最明顯,說明用戶是否點擊廣告,與其之前的點擊行為非常相關。而去掉位置特征時,效果下降得最為不明顯,因為在實驗使用的數(shù)據(jù)集中,每個頁面最多僅呈現(xiàn)三個廣告,頁面中的廣告數(shù)少時,位置對用戶點擊的影響小。
4 結(jié)束語
對搜索廣告點擊率的有效預測不但能夠更好的提高在線廣告投放的性能,增加廣告商的收益,還能增強用戶的體驗。研究使用卷積神經(jīng)網(wǎng)絡CNN對搜索廣告點擊率進行預測,對特征因素的分析之后,在真實數(shù)據(jù)的環(huán)境下對搜索廣告點擊率進行預測的實驗本文的方法的效果相對于其他方法有明顯的提高。本文的主要貢獻有:(1)本文提出了基于卷積神經(jīng)網(wǎng)絡的搜索廣告點擊率預測的方法。(2)針對高維特征,提出了一種特征選擇策略,可以在計算能力受限的情況下使用CNN模型來解決廣告點擊預測問題,并取得較好效果。在未來的工作中,一方面要繼續(xù)研究更有效的特征來提高對點擊率的預測效果,另一方面也將嘗試對CNN模型的內(nèi)部細節(jié)進行改進,使之更適合我們的預測場景。
參考文獻:
[1] 霍曉駿,賀樑,楊燕. 一種無位置偏見的廣告協(xié)同推薦算法[J]. 計算機工程, 2014, 40(12): 39-44.
[2] BHARGAV K, AHMED A, PANDEY S, et al. Focused matrix factorization for audience selection in display advertising[C]// Data Engineering (ICDE), 2013 IEEE 29th International Conference on, Brisbane , Australia: IEEE, 2013:386-397.
[3] SHAN Lili, LEI Lin, DI Shao, et al. CTR Prediction for DSP with Improved Cube Factorization Model from Historical Bidding Log[M]// C K Loo, et al(Eds.): Neural Information Processing. Switzerland:Springer,2014,8836:17-24.
[4] OLIVIER C, ZHANG Ya. A dynamic bayesian network click model for web search ranking[C]//Proceedings of the 18th international conference on World wide web. Madrid: ACM,2009:1-10.
[5] DEEPAYAN C, AGARWAL D, JOSIFOVSKI V. Contextual advertising by combining relevance with click feedback[C]//Proceedings of the 17th international conference on World Wide Web. Beijing: ACM,2008:417-426.
[6] WU Kuanwei, FERNG C S, HO C H, et al., A two-stage ensemble of diverse models for advertisement ranking in KDD Cup 2012[J]. KDDCup, 2012.
[7] DAVE K S, VARMA V. Learning the click-through rate for rare/new ads from similar ads[C]// Proceedings of the 33rd international ACM SIGIR conference on Research and development in information retrieval, Geneva, Switzerland:ACM,2010.
[8] ZHANG Ying, JANSEN B J , SPINK A. Identification of factors predicting clickthrough in Web searching using neural network analysis[J]. Journal of the American Society for Information Science and Technology, 2009, 60(3): 557-570.
[9] 林古立.互聯(lián)網(wǎng)信息檢索中的多樣化排序研究及應用[D].華南理工大學,2011.
[10] YUAN Guoxun, HO C H, LIN C J. An improved glmnet for l1-regularized logistic regression[J]. The Journal of Machine Learning Research, 2012. 13(1): 1999-2030.
[11] FAWCETT T. ROC graphs: Notes and practical considerations for researchers[J]. Machine learning, 2004. 31: 1-38.