顧亦然,徐澤彬,楊海根
(南京郵電大學 a.自動化學院、人工智能學院;b.智慧校園研究中心;c.寬帶無線通信技術教育部工程研究中心,江蘇 南京 210023)
隨著5G網絡的普及,人們可以使用更快速、更穩定的網絡,用戶可以獲取的短視頻數據,以及訪問短視頻資源的終端設備越來越多,短視頻平臺的用戶規模和視頻資源與日俱增,短視頻行業蓬勃發展,越來越多的人利用短視頻來消遣娛樂以及獲得利潤。隨之而來的就是海量的用戶信息以及視頻信息。所以如何在信息過載的前提下,對海量的視頻數據進行篩選,更加精確地將用戶感興趣的短視頻推薦給用戶,為用戶提供個性化短視頻推薦是當下需要研究的熱點之一。
在短視頻推薦相關領域,網絡中的用戶和項目都爆炸式增長,那么考慮用戶與項目之間的交互過程即對用戶觀看短視頻時的互動行為進行預測,可以為短視頻推薦提供有力的支撐,對用戶行為預測的本質就是對每種行為的點擊率(Click-through-rate,CTR)進行預測。點擊率預測[1]為推薦系統提供了支持與保障[2]。點擊率預測根據用戶、項目及上下文特征預測用戶點擊該項目的概率,幫助搜索引擎、推薦系統等向用戶展示更個性化、更精準的內容。
近年來,隨著數據量的日益龐大以及深度學習和神經網絡的飛速發展,越來越多的學者利用神經網絡來進行點擊率預測,并取得很好的效果,文獻[3]將寬結構網絡(類似LR)和深結構網絡(類似DNN)并行集成在一起,通過考慮低階和高階特征交互取得了一些改進。由于FM在點擊率預測上有上較好的效果,文獻[4]通過用FM模型替換寬結構網絡來改進文獻[3]中的模型,使得寬結構網絡不再依賴專業知識特征工程。現如今某些項目中點擊率預測需要對用戶的多個行為進行預測,由于多個任務間可能存在某些聯系,因此一些學者提出多任務模型,文獻[5]提出了隱層參數硬共享的方式來進行多任務學習,該模型在輸入層之上建立共享層,共享層使用一個共享的子網絡,學習共同的模式,包含行為間關聯信息。在共享層之上用一些特定的全連接層(FC)學習特定的任務。這是一種十分經典的方法,又稱為共享底層結構(Shared-Bottom)。共享底層結構最大的缺點就是底層強制共享,難以學習到適用于所有任務的表達,尤其是任務間相關性不好的時候。文獻[6]提出一種基于點擊率預測模型的新聞推薦系統,通過一鍵編碼和梯度增強決策樹處理數據特征,解決傳統新聞推薦中受時間、不活躍用戶比例高、新聞數據規模大等因素影響的問題。文獻[7]提取用戶行為序列的特征作為用戶特征的擴展,結合因子分解機結構將其與用戶、商品特征進行交叉,能夠有效提取特征質量,優化點擊率預測模型的性能。文獻[8]提出一種融合結構的點擊率預測模型,該模型能夠靈活融合不同結構的深度神經網絡來分別學習原始高維稀疏特征的高階表示,使點擊率預測模型能夠利用更豐富的高階特征信息,提高預測精度。上述方法在點擊率預測時沒有考慮到用戶歷史數據中蘊含的用戶興趣,只是將最終的點擊率預測結果作為用戶的偏好興趣,文獻[9]構建了一種基于注意力機制的深度興趣網絡(ADIN)模型,設計了一個局部激活單元和自適應激活函數,根據用戶歷史行為和給定廣告自適應地學習用戶興趣,提高點擊率預測精度。文獻[10]提出一種名為專注膠囊網絡(ACN)的方法,使用transformers進行功能交互,利用膠囊網絡從用戶歷史記錄中捕獲用戶多個興趣,提高在線廣告中點擊率預測精度。文獻[11]提出一種基于DIN(深度興趣網絡)的新模型,該模型可以更好地利用類似于注意力激活網絡的數據結構,捕捉用戶多樣性和興趣偏好,提高淘寶點擊率預測效果。上述提到的一系列點擊率預測方法只是將整體預測結果反映為用戶的興趣偏好或采用某個方法捕捉用戶興趣,沒有考慮到用戶的興趣會隨時間發生變化這一因素。
本文在對用戶觀看短視頻過程中的4種互動行為(讀評論、點贊、點擊頭像、轉發)進行點擊率預測時,主體是用戶。現實中短視頻用戶興趣可能是隨著時間變化的,考慮用戶興趣變化這一因素對提升預測準確性尤為重要。本文在MMOE模型[12]的基礎上考慮用戶興趣變化,將排序后的用戶歷史行為序列作為語料庫,引入Word2Vec訓練得到詞嵌入模型,模型學習用戶的動態興趣,有效捕獲用戶興趣的變化。將通過特征工程構建的統計特征與詞嵌入模型構建的用戶動態興趣特征輸入MMoE模型進行用戶行為預測。
Word2vec是Google在2013年開源的一款將文本表示為向量的詞嵌入工具[13],通過訓練把一些文本內容轉化為機器能夠識別與理解的N維向量進行空間向量運算,Word2vec主要模型有Skip-gram與CBOW,在模型的實際訓練過程中,Skip-gram的耗時多于CBOW,但是學習詞向量更細致[14]。當語料庫中有大量低頻詞時,使用Skip-gram學習較為合適。Skip-gram是使用中心詞預測周圍詞,而CBOW是使用周圍詞預測中心詞,兩模型整體結構相反,這里僅以Skip-gram模型為例進行介紹。
Skip-gram模型是根據已有的內容來預測上下文的,根據中心詞Wt來預測其上下文詞語Wt-c,…,Wt-1,Wt+1,…Wt+c的向量,其中c為上下文窗口大小。Skip-gram模型由三層神經網絡構成,包括輸入層、映射層、輸出層。輸入層為中心詞Wt的one-hot向量,輸入層與映射層之間的權重矩陣為Wv·p,映射層和輸出層之間的權重矩陣Wp·v,輸出層為詞語出現在中心詞周圍的概率分布。中心詞Wt的one-hot向量乘以模型訓練后得到的權值矩陣Wv·p,即詞語Wt的Word2Vec詞向量。Skip-gram 模型的結構如圖1所示。

圖1 Skip-gram模型結構
對Skip-gram模型的訓練目的就是讓優化目標L的值盡可能地變大,優化目標L的計算公式為
(1)
其中,c(c>0)為表示的是窗口的大小,T為訓練文本的大小。其中基本的Skip-gram模型計算條件概率的公式為
(2)

本文首先在原始數據中抽取一系列基本id特征,基本id特征可以最直觀地反映用戶的選擇。然后選取基本用戶特征與短視頻特征,并通過特征工程將選取的基本特征轉化為更好表達問題本質的統計特征,使得將這些特征運用到預測模型中能提高對不可見數據的模型預測精度。最后構建能反映用戶興趣變化的embedding特征。
基本id特征包括用戶id,短視頻id,短視頻作者id,短視頻背景音樂(bgm_song)id,以及短視頻背景音樂歌手(bgm_singer)id。
統計特征就是利用統計分析方法,在原有的基本特征的基礎上計算得到新的特征。本文主要是從用戶、短視頻以及短視頻作者這3個層面來構建統計特征。從用戶的層面,構建的統計特征為:用戶視頻觀看時長、停留時長占視頻總時長的比率、用戶觀看過的視頻數量、用戶與短視頻某一交互行為的總次數、平均次數、用戶觀看某一作者視頻占觀看的所有作者的比率;從短視頻的層面,構建的統計特征為:某一個短視頻被用戶觀看的次數;從短視頻作者的層面,構建的統計特征為:某個短視頻作者被點擊過的次數以及觀看某個視頻作者的用戶占所有用戶的比率。統計特征總覽如表1所示:

表1 統計特征總覽表
用戶的歷史行為數據中蘊含了用戶自身的偏好和興趣,但是用戶的興趣并不是不變的,隨著時間變化,用戶興趣可能也會發生變化。本文從數據中提取用戶-短視頻序列、用戶-短視頻作者序列、用戶-短視頻背景音樂序列、用戶-短視頻背景音樂歌手序列。下面以用戶-短視頻序列為例,其中包含了每個用戶歷史觀看的所有的短視頻id,但這僅僅能反映用戶的整體偏好,不能反映用戶的興趣變化,本文考慮時間因素,在提取用戶-短視頻序列時先將數據按照時間順序進行排序,再進行提取,這樣便可提取出每個用戶按照時間順序的排序歷史觀看短視頻序列,這個序列不僅反映了用戶偏好,也蘊含了用戶一段時間的興趣變化。由于模型只接受數值型輸入,因此需要將序列中的元素進行向量化,本文利用Word2vec來得到詞向量。
本文將按時間順序排序的用戶歷史觀看序列作為語料庫,通過numpy計算語料庫中詞語詞頻,圖2為隨機抽取的部分語料庫詞頻:圖2中數字表示詞出現的次數,從圖2中可以看出語料庫中有大量低詞頻。因此本文采用的是Skip-gram模型。

圖2 部分語料庫詞頻
本文將按時間順序排序的用戶歷史觀看序列作為語料庫引入Word2Vec訓練得到詞嵌入模型,模型學習到用戶的動態興趣,有效捕獲到用戶興趣的變化,通過詞嵌入模型得到序列中短視頻id詞向量,構建embedding特征,embedding特征中蘊含了用戶對于短視頻的興趣變化。通過同樣的方法處理用戶-短視頻作者序列、用戶-短視頻背景音樂序列、用戶-短視頻背景音樂歌手序列,得到一系列蘊含用戶興趣變化的embedding特征。
本文需要盡可能準確地對短視頻用戶在觀看短視頻過程中的互動行為發生概率進行預測。對多個行為發生概率的預測,可以看做模型需要去完成的多個任務,選擇一個合適的模型,可以提高行為預測的準確性。不同的模型適合不同的多任務應用場景,當任務間的相關性忽略不計時,使用單任務模型即可完成相應的工作,當任務間存在相關性時,使用多任務模型便是更好的選擇。本文將對任務間的相關性進行分析,并選擇合適的模型進行實驗。
在對于短視頻用戶行為(如:查看評論、點贊、點擊頭像、轉發)的相關性進行分析時,如果僅從行為本身,很難將用戶行為具體量化地來進行分析,于是本文使用在2.2節構建的與用戶行為相關的統計特征之間的相關性來間接衡量用戶行為間的相關性。在每個用戶觀看的多個短視頻中,統計各個行為的和,利用行為統計特征來進行相關性分析,得到用戶行為特征相關性圖,如圖3所示,圖3中數字為正表示正相關,數字為負表示負相關。由圖3看出,短視頻用戶在觀看短視頻過程中的查看評論,點贊,點擊頭像,轉發這4個行為中,點贊與查看評論是正相關的關系,點贊與點擊頭像是負相關的關系,而點贊與轉發幾乎不相關,可見不同的任務之間存在一定的相關性,同時也存在沒那么相關的任務,任務間關系復雜。因此如果使用單任務模型來對每個任務單獨進行訓練的話,就忽略了任務之間的相關性的影響,所以,通過任務相關性的分析研究,本文使用多任務模型來對短視頻用戶的行為進行預測。多任務模型通過學習不同任務的聯系和差異,可提高每個任務學習效率和質量。

圖3 用戶行為特征相關性圖
通過3.1節對短視頻用戶行為特征間的相關性分析可知:多行為間既有相關性可以忽略不計的,又存在有一定相關性的。為了在任務間相關性不唯一的情況下也能通過模型的訓練得到較為準確的預測結果,本文使用MMoE模型對短視頻用戶觀看短視頻時的行為發生的概率進行預測。
MMoE模型是Google的研究人員2018年提出的一種NN模型中多目標優化的模型結構。由于多任務共享底層模型最大的缺點就是底層強制共享,難以學習到適用于所有任務的表達,尤其在任務間相關性不好時,MMoE模型相較于共享底層模型,在共享底層結構的基礎上將共享層進行替換,引入多個專家網絡集群(即多個NN網絡,全連接層FC),然后再對每個任務分別引入一個門網絡,門網絡的數量和任務的數量是一致的,不同的門網絡針對各自的任務學習專家網絡的不同組合模式,使不同的任務可以多樣化地使用共享層。即對專家網絡的輸出進行自適應加權來篩選出適用于某任務的專家網絡學習內容,不同任務對應的門網絡輸出權重分布不同,說明專家學到了針對不同任務的特征,專家網絡與對應的門網絡的組合結果作為共享層提取的隱含特征傳遞到該特定任務的特定網絡層中。結構圖如圖4所示。

圖4 考慮用戶興趣變化的MMoE模型圖
其中輸入為x(input feature),考慮到捕捉到任務的相關性和區別,不同任務的門網絡可以學習到不同的組合專家的模式。不同的門為不同任務分配不同專家的權重,這種動態作加權和的操作,和attention機制的出發點是一樣的。如果兩任務間相關性不強,經門網絡之后,二者得到的權重系數差別較大,可以利用部分專家網絡輸出的信息,近似于多個單任務學習模型。如果兩個任務緊密相關,經過門網絡得到的權重分布相差不多,類似于shared-bottom模型。
門網絡的輸入x也是,門控網絡一般為多層感知機,并且門控網絡需要通過一個softmax層,通過線性變換把輸入映射到n*d維,再通過softmax計算得到每個Expert的權重,可形象化表示為
gk(x) = softmax (Wgkx)
(3)
其中,Wgk∈Rn·d為可更新的參數矩陣,n為專家個數,d為輸入特征維數,gk(x)為第k個任務的各個Expert的組合權重。第i個Expert網絡的輸出為fi(x),則此時第k個任務的底層共享網絡輸出為
(4)
最終得到第k個任務的輸出表達為
yk=hk(fk(x))
(5)
本文的數據集來源于某大數據比賽公開數據集,數據集中的各項數據均采用脫敏處理。數據集包含了用戶行為特征表和短視頻特征表。用戶行為特征表中包含某短視頻平臺2 000名用戶14d內觀看視頻的1 048 575條歷史行為數據,其中包括用戶觀看的短視頻id,觀看時長,停留時長以及用戶觀看短視頻時是否有互動行為。短視頻特征表中包含了106 447條短視頻特征數據,其中包括短視頻對應作者id,短視頻播放時長,短視頻背景音樂id和短視頻背景音樂歌手id,以及人工提取的關鍵詞和標簽序列特征。
預測用戶的行為是否發生本質是一個二分類問題,當喜好閾值不確定時,通常使用AUC指標來衡量預測結果的準確性。本實驗中采用uAUC作為單個行為預測結果的評估指標,uAUC定義為不同用戶下AUC的平均值。公式為
(6)
其中,n為驗證集中的有效用戶數,有效用戶指對于某個待預測的行為,過濾掉驗證集中全是正樣本或全是負樣本的用戶后剩下的用戶。AUCi為第i個有效用戶的行為預測結果的AUC。
本文對短視頻用戶行為預測的目的是為后續短視頻推薦提供支持與保障。考慮不同的行為對最終推薦的作用不同,實驗對200名經常使用短視頻軟件的用戶進行調查,用戶包含了各年齡層,通過調查發現將近一半的用戶在看到感興趣的短視頻時會查看評論,占總人數比例最高,其余行為的人數占總人數比例由高到低為:點贊、查看頭像、轉發。可見站在實際為用戶推薦其感興趣的短視頻的角度,行為預測模型若能對查看評論這一行為預測更準確,那么模型便具備更優的性能。行為預測模型對4個行為的發生概率進行預測,首先計算4個行為的uAUC,然后對每個行為的uAUC分配不同的權重,計算得到W-uAUC,W-uAUC能夠更貼近實際應用來評估行為預測模型的好壞。4個行為的權重如表2所示。

表2 行為權重表
W-uAUC計算公式為
(7)
其中,uAUCi為第i個行為的uAUC值,Wi為第i個行為的權重。
本實驗將MMoE模型與shared-bottom模型以及在點擊率預測領域比較有代表性的單任務模型Wide&Deep、DeepFM進行實驗對比。為了保持特征的一致性,本文先在4個模型中只加入基礎的id特征,包括用戶id、短視頻id、短視頻作者id、短視頻背景音樂id、短視頻背景音樂歌手id與播放時長這6個特征。
本文以數據集中前7天的數據作為訓練集,分別預測第8~14天的用戶點擊行為發生概率,結果如表3所示。

表3 前7天數據預測第8~14天各模型的W-uAUC得分
由實驗結果可以看出,4個模型的預測精度隨著時間的推移整體都在降低。不難看出,前面相鄰天數的數據對預測的準確率影響更大,比如近一兩天存在某些用戶感興趣的熱點短視頻。因此,本文將選取前幾天的用戶數據進行訓練,對未來一天的用戶點擊率進行預測,以得到最優的預測效果。
本文分別選取前10天,前11天,前12天,前13天數據作為訓練集,預測第11天,第12天,第13天,第14天用戶的點擊行為發生概率。結果如表4所示。

表4 由前10~13天預測后一天的各模型W-uAUC得分
由實驗結果可以看出,當選取前13天作為訓練集,預測第14天的用戶點擊行為概率,4個模型都具有最高的預測精度。因此最終本文選取前13天數據作為模型的訓練集,第14天的數據作為驗證集,預測第14天用戶行為發生概率。經uAUC評價指標計算得到每個模型對于每個行為的預測得分如圖5所示。可見MMOE對每個行為的預測準確性總體高于其它模型,計算4個行為的W-uAUC得分,如表5所示。

表5 各模型W-uAUC得分

圖5 模型各行為得分
由實驗結果可知:DeepFM的預測效果明顯優于Wide&Deep,但是這兩個模型都是單任務模型,對于每一個行為的預測都需要單獨對模型進行訓練,從而忽略了用戶行為間的隱藏關聯。多任務模型shared-bottom、MMoE的預測效果要優于單任務模型。MMoE模型利用門網絡與專家網絡相結合,考慮了行為間不同的關聯性,預測效果相較于shared-bottom有進一步提高。MMoE預測的得分相較于Wide&Deep,DeepFM和shared-bottom分別有5.9%、1.9%與0.3%的提升,因為shared-bottom與MMoE同為多任務模型,而shared-bottom只是MMoE專家數為1的特例,所以在加入特征較少時,提升不明顯。
MMoE在使用5個id特征與視頻播放時長特征訓練的基礎上,先分別同時加入1.2節構建的一系列統計特征和1.3節構建的4個蘊含用戶興趣變化的embedding特征進行訓練,MMoE對每個行為的預測的uAUC得分如圖6所示,再計算W-uAUC得分如表6所示。

表6 不同特征下MMoE的W-uAUC得分

圖6 MMoE使用不同特征下各行為uAUC得分
由實驗結果可知,模型加入更好表達問題本質的統計特征,預測得分由0.642提升到0.649,加入反映用戶興趣變化的embedding特征,預測得分由0.642提升到0.652,說明MMoE模型考慮用戶興趣變化可提高預測性能,當同時加入統計特征與embedding時,得分提高到0.660,說明統計特征與embedding特征不會相互制約,同時加入模型不會出現過擬合現象。
MMoE中專家數量是一個超參數,專家數量太少的話模型的表達能力不夠,不能充分地學到針對不同任務的特征,數量過多的話又會增加模型的參數導致模型過擬合。本文使用驗證集測試的方式來確定最優的專家數量。因為當MMoE的專家網絡層只有一個專家時,模型中的門網絡不起作用,則模型中只有一個單一的共享層,即為shared-bottom模型,所以將專家數從2開始進行設定,以步長為1對專家數進行遞增來訓練模型,模型對于不同專家數量的預測得分如表7 所示。

表7 不同專家數量下MMoE W-uAUC得分
由實驗結果可知,當專家數設定為4時,模型具有最優的預測效果,當專家數量過少時專家網絡對于不同任務的特征的學習不夠充分,當專家數量大于4時,模型會產生過擬合,從而導致預測效果變差。在實驗的最后階段,同樣使用驗證集測試的方式對模型中的其它參數進行調優,最終模型預測的W-uAUC得分為0.661。
本文對短視頻用戶行為進行預測,通過數據集構建一系列統計特征,考慮用戶對短視頻的興趣可能會隨時間而變,本文對蘊含用戶興趣與偏好的幾組序列特征按照時間排序,并作為語料庫利用Word2Vec訓練得到詞嵌入模型,模型捕捉到用戶的興趣變化并構建含有用戶興趣變化的enbedding特征。考慮任務間的相關性特點,本文選取MMoE模型進行用戶行為預測,并根據短視頻用戶行為預測的目的,提出貼近實際應用的W-uAUC評價指標來評估預測模型好壞。通過實驗分析,MMoE相較于shared-bottom、Wide&Deep、DeepFM能得到更精確的預測結果,并且考慮用戶興趣變化的MMoE模型具有最優的預測精度。未來將考慮在原有MMoE模型上進行改進,更準確地篩選出適用于某任務的專家網絡學習內容。