孫曉燕, 聶 鑫, 暴 琳, 陳 楊
(中國礦業(yè)大學(xué)信息與控制工程學(xué)院, 江蘇 徐州 221008)
在計算廣告和移動APP推薦等領(lǐng)域,廣告產(chǎn)品的轉(zhuǎn)化率預(yù)估對于主廣告產(chǎn)品投放、廣告平臺收益和廣告推廣有效性衡量等有著重要作用[1].基于用戶對廣告實(shí)施的交互行為, 獲取其興趣特征并用于轉(zhuǎn)化率預(yù)估可有效提高預(yù)估的精度.近年來,關(guān)于用戶興趣特征提取的研究成果頗豐, 在個性化推薦領(lǐng)域,如基于因子分解機(jī)(factorized machine, FM)[2]以及域感知因子分解機(jī)(field-aware FM, FFM)[3]的用戶點(diǎn)擊、瀏覽、安裝等交互行為的低階和高階的興趣特征.目前, 基于各種深度學(xué)習(xí)的自動興趣特征及其交互關(guān)系的提取策略成為研究熱點(diǎn), 如并行神經(jīng)網(wǎng)絡(luò)[4]、深度寬度模型Wide & deep[5]、深度交叉模型Deep & cross[6]以及混合模型[7]等.然而, 上述工作均未考慮用戶行為的時序相關(guān)性和興趣的持續(xù)性等, 故面向用戶行為序列提取用戶興趣特征的策略進(jìn)一步被提出, 如阿里巴巴研究團(tuán)隊(duì)提出了深度興趣網(wǎng)絡(luò)(deep interest network, DIN)[8]和深度興趣進(jìn)化網(wǎng)絡(luò)(deep interest evolution network, DIEN)[9]模型, 通過分析某時段用戶的行為序列及其點(diǎn)擊購買的物品對象,提取用戶對物品的興趣特征, 引入注意力機(jī)制[10]獲取用戶與目標(biāo)物品間的興趣關(guān)系,構(gòu)建興趣模型并用于個性化推薦,從而提高推薦的準(zhǔn)確率.但該算法未考慮用戶多個不同行為序列間的關(guān)系以及該行為序列對用戶興趣模型的影響,且未用于解決轉(zhuǎn)化率預(yù)估問題.本文考慮用戶多行為序列所隱含的用戶興趣特征的提取,采用深度遞歸神經(jīng)網(wǎng)絡(luò)模型和自注意力機(jī)制[11-12],獲取用戶隱含在多行為序列中的興趣特征,并將其用于轉(zhuǎn)化率預(yù)估模型的構(gòu)建,以期提高預(yù)估精度.
本文考慮用戶的行為序列是由具有時序關(guān)系的點(diǎn)擊或下載的項(xiàng)目組成,首先對其進(jìn)行嵌入編碼,作為特征提取模型的輸入;然后構(gòu)建時序數(shù)據(jù)特征提取模型,獲取用戶單行為序列的興趣特征, 并通過引入注意力機(jī)制融合行為序列中的項(xiàng)目和用戶興趣特征, 獲得用戶興趣的動態(tài)演化表示;進(jìn)一步地,采用自注意力機(jī)制集成用戶的各行為序列特征,獲取多行為序列的興趣特征;最后基于上述興趣特征,與廣告屬性、用戶屬性和上下文特征等特征拼接表示,作為轉(zhuǎn)化率預(yù)估的輸入,構(gòu)建基于多層前饋網(wǎng)絡(luò)的廣告轉(zhuǎn)化率預(yù)估模型.綜上, 本文算法主要包括基于注意力機(jī)制的用戶單行為序列的興趣特征提取建模、基于自注意力機(jī)制的用戶多行為序列興趣特征提取以及基于多行為序列特征的轉(zhuǎn)化率預(yù)估,算法流程如圖1所示.
門控遞歸單元網(wǎng)絡(luò)(gated recurrent unit, GRU)[13-14]是對長短期記憶網(wǎng)絡(luò)的改進(jìn), 模型更簡單, 訓(xùn)練算法更有效, 故本文采用GRU網(wǎng)絡(luò)模型獲取用戶單行為序列所隱含的興趣特征.
設(shè)t時刻用戶行為序列為bt, 將其作為GRU網(wǎng)絡(luò)的輸入, 用戶在該時刻的興趣特征記為ht,則該特征不僅與當(dāng)前輸入有關(guān), 而且受上一時刻行為特征的影響, 故有ht=f(bt,ht-1), 與GRU工作原理一致. 于是可以獲得t時刻下用戶行為序列的狀態(tài):
(1)
為了精準(zhǔn)獲取興趣特征,采用融合目標(biāo)損失函數(shù)和輔助損失函數(shù)的方法訓(xùn)練GRU網(wǎng)絡(luò).設(shè)用戶在t+1時刻的真實(shí)行為為b(t+1), GRU輸出單元的預(yù)測行為為b′(t+1), 則目標(biāo)損失函數(shù)Ltarget和輔助損失函數(shù)Laux分別為
(2)
(3)
其中N為用戶在t+1時刻的行為序列長度.于是本文訓(xùn)練模型的損失函數(shù)
L=Ltarget+βLaux,
(4)
其中β∈[0,1]是用于平衡用戶興趣和廣告轉(zhuǎn)化率的關(guān)系系數(shù).
用戶行為會隨興趣發(fā)生變化,故行為序列提取的興趣特征具有演化特性.為了跟蹤該特性,精準(zhǔn)構(gòu)建基于用戶興趣的轉(zhuǎn)化率預(yù)估模型, 筆者在GRU模塊中融入反映用戶交互對象和興趣特征相關(guān)性的注意力機(jī)制.在式(1)基礎(chǔ)上,考慮轉(zhuǎn)化廣告特征ea和用戶行為隱含興趣特征的關(guān)聯(lián)關(guān)系,在更新門模塊加入注意力模塊.廣告特征與興趣特征越相關(guān),則注意力分?jǐn)?shù)越高.計算注意力分?jǐn)?shù)
(5)
其中權(quán)值W∈RnH×nA,nA為廣告嵌入向量維數(shù), 該權(quán)值為廣告屬性嵌入表示ea與興趣特征間的連接權(quán)值, 其值可隨機(jī)初始化后在GRU訓(xùn)練過程中基于式(4)損失函數(shù)進(jìn)行訓(xùn)練獲得.
此時, GRU隱層狀態(tài)的輸出[15]為
(6)
設(shè)含注意力機(jī)制的GRU提取的用戶第i種行為的動態(tài)興趣特征集合為Xi={h′t1,h′t2,…,h′ti}, 由于用戶的多種行為之間存在著相互影響,且用戶的瀏覽、點(diǎn)擊、下載、安裝或評論等行為對于最后轉(zhuǎn)化率預(yù)估的重要性程度不同,故須依據(jù)其與當(dāng)前廣告的相似度進(jìn)行重要性度量,然后集成各行為的興趣特征,作為轉(zhuǎn)化率預(yù)估的輸入內(nèi)容之一.鑒于此,筆者在多行為興趣特征的融合中引入自注意力機(jī)制[10].首先,將用戶的所有行為序列興趣特征作為自注意力機(jī)制的輸入,構(gòu)成鍵值向量矩陣K,V(K=V), 然后將當(dāng)前廣告嵌入表達(dá)向量Xi={h′t1,h′t2,…,h′ti}作為查詢對象Q, 采用文獻(xiàn)[10]算法中的點(diǎn)積運(yùn)算, 計算K和Q的相似度矩陣,對其進(jìn)行不同的線性變化,得到查詢向量變換序列WQ、鍵向量序列WK和值向量序列WV; 然后, 分別對查詢對象Q以及鍵值向量矩陣K,V進(jìn)行線性變換,獲得經(jīng)相似度加權(quán)后的Q,K和V; 最后,計算融合后的多行為興趣特征
(7)
其中向量dk是鍵值矩陣K的特征值向量,用于調(diào)節(jié)內(nèi)積大小,使之不至于過大.
將得到的用戶多行為向量特征表示H作為用戶的行為特征,與用戶的基礎(chǔ)屬性數(shù)據(jù)、廣告的特征和上下文的特征表示進(jìn)行拼接,輸入至多層神經(jīng)網(wǎng)絡(luò)中,對最終用戶的下載轉(zhuǎn)化行為進(jìn)行預(yù)估.
本文移動APP廣告轉(zhuǎn)化率預(yù)估模型使用的特征主要包含用戶配置信息、用戶行為信息、廣告和上下文的相關(guān)信息.上述4類特征都分別包含多個基礎(chǔ)特征,如用戶配置信息包含用戶的性別、年齡、職業(yè)、受教育情況、婚戀狀態(tài)、育兒狀態(tài)和常住地等信息; 用戶行為信息包含用戶的點(diǎn)擊行為序列信息和用戶的下載安裝APP的序列信息; 廣告特征包含推廣計劃ID、APP類別和素材ID等信息;上下文特征包含廣告位ID、廣告類型、聯(lián)網(wǎng)方式和運(yùn)營商等信息.在實(shí)驗(yàn)數(shù)據(jù)中,第17天至第29天的訓(xùn)練樣本有34 548 872個, 第30天的測試數(shù)據(jù)有3 364 044個, 用戶的APP安裝記錄有575 832 463個.為了本文實(shí)驗(yàn)的順利進(jìn)行,挑選出用戶的歷史行為序列長度為不小于3的數(shù)據(jù)集,最終實(shí)驗(yàn)中使用的訓(xùn)練數(shù)據(jù)為22萬個,測試數(shù)據(jù)為6萬個.
本文提出的模型可以對多個行為序列的特征進(jìn)行提取,但是鑒于所采集數(shù)據(jù)集的局限性,現(xiàn)僅在用戶的點(diǎn)擊行為序列和下載行為序列上進(jìn)行實(shí)驗(yàn).比較算法所得轉(zhuǎn)化率預(yù)估模型的測試精度、曲線下面積(area under curve, AUC)和損失函數(shù)等3項(xiàng)性能指標(biāo),其中測試精度和AUC值越大越好,損失函數(shù)值越小越好.表1給出了考慮用戶單行為序列特征提取情況下得到的轉(zhuǎn)化率預(yù)估結(jié)果.由表1可知,僅考慮用戶點(diǎn)擊行為序列特征的情況下,模型的預(yù)測精度達(dá)73.6%;僅考慮用戶下載行為序列的情況下,模型的預(yù)測精度達(dá)72.9%.在單行為模型預(yù)測中,考慮用戶點(diǎn)擊行為比用戶下載行為時的精度高0.7%,這是由于用戶的點(diǎn)擊行為數(shù)據(jù)更多,相較于采集到的用戶下載行為,點(diǎn)擊行為數(shù)據(jù)包含了更豐富的用戶行為信息.
表1 單用戶行為特征下的轉(zhuǎn)化率預(yù)估
為了驗(yàn)證本文基于自注意力機(jī)制的多行為興趣特征融合對于轉(zhuǎn)化率預(yù)估的有效性,現(xiàn)與用戶行為興趣特征加權(quán)平均融合和直接向量拼接融合2種策略進(jìn)行對比,結(jié)果如下: 1) 基于加權(quán)平均融合興趣特征的轉(zhuǎn)化率預(yù)估精度為74.5%, 其單獨(dú)行為模式的轉(zhuǎn)化率預(yù)估精度分別為73.6%和72.9%,顯然,進(jìn)行多行為興趣特征融合優(yōu)于單行為特征模式; 2) 對用戶所有行為序列興趣特征進(jìn)行拼接的轉(zhuǎn)化率預(yù)估精度為74.1%,略低于加權(quán)平均融合策略,原因在于該方法直接擴(kuò)展了特征維度,但未對相似特征進(jìn)行集成,可能導(dǎo)致冗余特征而不利于后續(xù)的轉(zhuǎn)化率預(yù)估; 3) 本文算法的轉(zhuǎn)化率預(yù)估精度為75.1%,高于其他2種方法,說明基于自注意力機(jī)制的融合能夠更精準(zhǔn)獲得興趣特征,進(jìn)而提高轉(zhuǎn)化率預(yù)估精度.上述結(jié)果表明考慮用戶多行為序列隱含的興趣特征及其演化特性,通過自注意力機(jī)制對各行為特征進(jìn)行融合,有利于提高轉(zhuǎn)化率預(yù)估精度.
為了進(jìn)一步說明本文算法的有效性,現(xiàn)與無行為序列興趣特征的算法進(jìn)行對比,考慮如下5種情況:
1) BaseModel: 僅利用用戶的基礎(chǔ)屬性數(shù)據(jù)、廣告的特征及上下文的特征表示進(jìn)行拼接,作為多層神經(jīng)網(wǎng)絡(luò)的輸入,其嵌入操作和多層神經(jīng)網(wǎng)絡(luò)的參數(shù)設(shè)置與本文模型相同;
2) Wide & Deep[5]: Wide & Deep模型深度部分與基礎(chǔ)模型的設(shè)置相同, 其Wide部分為線性模型;
3) DIN[8]: 利用注意力機(jī)制激活相關(guān)的行為來獲取用戶對于不同廣告的興趣的自適應(yīng)表達(dá);
4) 兩層 GRU Attention: 采用本文所提雙層GRU和注意力機(jī)制提取用戶單行為序列的興趣特征, 并作為轉(zhuǎn)化率預(yù)估的輸入部分;
5) DIEN[9]: 阿里巴巴團(tuán)隊(duì)在2018年提出的利用注意力機(jī)制和GRU捕捉用戶單行為序列信息的模型.
為了保證實(shí)驗(yàn)結(jié)果的可靠性,每組實(shí)驗(yàn)分別進(jìn)行5次,在測試集上取平均值得到如表2所示的轉(zhuǎn)化率預(yù)估結(jié)果.
由表2可知, 本文算法所得轉(zhuǎn)化率預(yù)估模型的預(yù)測精度、AUC及損失函數(shù)均優(yōu)于其他算法,特別是明顯優(yōu)于不加任何用戶行為興趣特征的傳統(tǒng)轉(zhuǎn)化率預(yù)估模型.與當(dāng)前得到廣泛認(rèn)可的DIEN算法比較, 本文算法由于考慮了多行為特征序列的興趣特征融合, 故測試精度有1.1%的提升.綜上所述,本文所提融合注意力機(jī)制的用戶多行為興趣特征提取和基于該特征的轉(zhuǎn)化率預(yù)估策略可有效提高預(yù)估精度,該方法是可行且有效的.
表2 轉(zhuǎn)化率預(yù)估對比結(jié)果
本文提出了基于注意力機(jī)制的門控循環(huán)神經(jīng)網(wǎng)絡(luò)的模型,并對廣告轉(zhuǎn)化率預(yù)估問題中用戶的行為序列信息進(jìn)行建模;在特征提取時引入目標(biāo)廣告的信息,通過注意力模型對用戶的多行為序列隱含的興趣特征進(jìn)行有效融合,獲取用戶行為間的相互影響,進(jìn)而提取出更準(zhǔn)確的用戶行為特征.實(shí)驗(yàn)結(jié)果驗(yàn)證了本文算法對轉(zhuǎn)化率預(yù)估的有效性.