上海二三四五網絡科技有限公司 劉凡平
信息流推薦一般需要在數十毫秒內解決海量的用戶和資訊匹配的問題,從大量資訊中找到用戶最可能感興趣的資訊,雙塔結構的召回模型由于在實時性、通用性等方面存在缺陷,本文提出一種針對雙塔結構召回模型的改進方法,通過兩組模型實現對資訊的特征向量生成和用戶喜好的特征向量生成,并應用到信息流推薦領域。同等條件下,改進后的模型在實際信息流場景中用戶點擊率提升超過27%,實驗證明提出的改進算法能夠有效提高推薦結果的準確性。
隨著互聯網信息化程度的提升,推薦系統成為了連接用戶和互聯網信息中的關鍵技術,推薦系統一般分為召回、粗排和精排三部分。召回一般是從千萬級甚至億級的原始內容池中召回以千為單位的候選內容集,粗排和精排主要是針對候選集的排序過程。常見的召回策略包括協同過濾、FM、FFM、熱門召回、歷史記錄召回等。召回是推薦中極為關鍵的環節,直接決定了用戶可見內容的候選集,同時一組推薦算法可以有一個或多個召回策略,因此可以通過不同的召回策略使得推薦效果提升。
雙塔模型是Google 在2019 年提出的一種應用于推薦領域的召回模型,其主要思想是生成用戶的特征向量和物品的特征向量。針對用戶的特征向量則是將用戶的特征輸入到深度神經網絡轉變為特征向量;針對物品的特征向量則是將推薦物品的特征和物品標識轉變到物品的特征向量。整個過程也需要通過用戶的點擊、閱讀等行為的日志數據對模型進行訓練,使得用戶的特征向量和推薦物品的特征向量的距離盡可能近。
基于深度雙塔模型的訓練,后續將生成的推薦物品特征向量索引到檢索引擎,同時將當用戶訪問時獲得的特征通過雙塔模型生成用戶特征向量,最后基于用戶特征向量檢索匹配相近的物品,從而實現用戶感興趣的物品推薦。
當前的雙塔模型及其衍生模型,主要應用于視頻推薦,然而應用于信息流推薦會存在如下缺陷:
(1)無法滿足信息流的實時性推薦要求。信息流時效性要求遠高于視頻內容,每天出現大量資訊,資訊短時間內極容易過時,因此需要從海量的資訊庫中及時、有效的匹配到用戶感興趣的內容。但是目前的雙塔模型,資訊的特征向量計算需要提前獲得用戶對資訊的閱讀、點贊、收藏等行為數據,針對剛剛發布的資訊無法解決冷啟動問題;
(2)信息流中的大量文本信息無法高效利用。資訊中大量的文本信息可以幫助推薦策略實現匹配推薦,但雙塔模型當前并未對大量基于文本信息內容進行特征分析,同時當一部分資訊僅有少量用戶有閱讀等行為時,生成的資訊特征向量無法比較全面的表述資訊特征;
(3)特征向量更新成本過高。為了能夠對新資訊生成特征向量,需要多次對模型進行訓練,而這將同時改變已有資訊的特征向量。由于特征向量的改變則也需要對檢索引擎進行不斷的更新,當資訊數量較大時則會導致更新性能、服務穩定性等受到影響;
(4)特征向量的通用性不足。由于現有雙塔模型產生的資訊特征向量有使用局限性,則會使得不同項目都需要訓練不同的特征向量,導致應用的通用性較差。
改進后的雙塔模型整體由兩個模型組成,如圖1 所示的用戶資訊混合雙塔模型和資訊雙塔模型,兩個模型均屬于雙塔結構。其中資訊雙塔模型負責生產內容的特征向量,用戶資訊混合雙塔模型負責用戶的特征向量生成。

圖1 改進后的新雙塔模型結構Fig.1 Improved structure of the new twin towers model
模型中主要的網絡結構基于BERT 和自定義的DNN網絡,損失函數采用0-1 損失函數,損失函數公式:

y ^
是模型預測樣本是正例的概率,y
是樣本標簽,如果樣本屬于正例,取值為1,否則取值為0。BERT 網絡結構如圖2 所示,基于上下文信息對內容進行深度雙向表示,通過預訓練即可生成文本的深度雙向表示。基本結構是Transformer,相比于全連接網絡,BERT 是把神經元替換成了Transformer,每一層都利用了文本語料的上下文信息。

圖2 BERT 網絡的基本結構Fig.2 Basic structure of BERT network
BERT 網絡的主要創新點在于語言模型的預訓練方式上,它使用了Masked LM 和Next Sentence Prediction兩個任務來訓練模型,以分別捕捉詞語和句子級別的表征。
2.1.1 資訊雙塔模型的訓練過程
資訊雙塔模型的訓練依賴于用戶對信息流資訊的反饋數據,反饋數據如點擊閱讀、收藏、評論等。基于反饋數據訓練BERT 網絡,能夠基于資訊的標題、正文內容、作者信息等生成特征向量,通過用戶對資訊的反饋數據計算資訊的相似度,要求生成的特征向量能夠較好的表達出用戶興趣特征。具體步驟如下:
(1)定義集合A
表示喜歡資訊a
的用戶集合,集合B
表示對資訊b
的有興趣的用戶集,用f
(x
)表示集合x
中擁有的元素數量,為計算準確,則要求任意的f
(x
)均需大于某個閾值;(2)將大于某一閾值p
的兩個資訊,標記為正樣本,將小于某一閾值的兩個資訊標記為負樣本;(3)將正負樣本輸入圖1 的資訊雙塔模型部分,進行二分類訓練后得到微調后的資訊雙塔模型;
(4)將所有資訊內容輸入資訊雙塔模型,并將其最后的詞嵌入(Embedding)層作為資訊特征向量的輸出層。
2.1.2 用戶資訊混合雙塔模型的訓練過程
通過資訊雙塔模型可以獲取資訊的特征向量后,需再訓練結合用戶與資訊的雙塔模型,以獲得用戶的特征向量,即用戶資訊混合雙塔模型。用戶資訊混合雙塔模型的訓練目標是期望用戶的特征向量和用戶喜歡的資訊的特征向量盡可能的接近,基于此則可以通過用戶特征向量與資訊特征向量的距離計算,匹配適合用戶的資訊。具體步驟如下:
(1)基于用戶對資訊的閱讀行為,從數據中提取正負樣本:當用戶有點擊、評論、收藏等行為的資訊,選擇為正樣本;同時從資訊庫中隨機采樣若干資訊且用戶未對采用的資訊有任何閱讀行為,選擇為負樣本;
(2)將步驟(1)中選取的正、負樣本作為圖1 中用戶資訊混合雙塔模型的輸入,基于用戶特征和文本上下文等特征對模型進行訓練,通過獲取其用戶塔最后一層Embedding 作為用戶的特征向量;
(3)用戶歷史點擊特征的表示:用戶歷史點擊特征采用所有點擊過的資訊根據資訊雙塔模型生成Embedding 的均值;
(4)相似地址位置雖然可以通過位置信息進行聚類分析,但可以將用戶的地理位置信息采用IP 分解后向量化的方式來表示。例如針對IPV4 地址,則將地址拆解為4 個0 到255 的整數,并對4 個整數單獨進行生成向量,然后對4 個整數對于的向量進行組合輸入到殘差網絡中生成該IPV4 地址的特征向量,最后將該IPV4 地址的特征向量與用戶的其他特征向量組合作為雙塔模型的輸入。通過向量化的組合方法可以增強模型的泛化能力,例如后續對于任何IP 的輸入,模型均能對其特征向量化。
由于改進的模型有資訊雙塔模型和用戶資訊混合雙塔模型兩部分,因此對改進模型的應用,可以基于2 個模型產生2 種應用方法。
2.2.1 基于用戶的歷史閱讀行為推薦資訊的相似資訊
具體步驟如下:
(1)將每一篇資訊的標題、正文內容、作者信息等輸入資訊雙塔模型,獲得資訊的特征向量,將每篇資訊的特征向量索引到向量檢索引擎,這里包括歷史資訊和新采集資訊;
(2)實時統計用戶最近一段時間點擊、點贊、收藏的資訊并存入緩存中間件中,例如Redis、Memcache、Ehcache 等;
(3)當用戶請求時,對于當前用戶(2)中的每條資訊,去緩存中找到資訊的特征向量;
(4)對于(3)中每個資訊的特征向量,基于向量檢索引擎查找N 個最相近的資訊,在查找時可根據業務實際情況限定資訊的時間范圍;
(5)對于(4)中所有檢索到的資訊,按照特定順序排序后推薦給用戶。特定順序可以按照發布時間的逆序、閱讀量或其他排序規則等。
整體流程如圖3 所示,通過上述過程可以實現用戶的喜歡的資訊進行相似喜好的推薦,同時具備較好的可解釋性。在步驟(1)中,任何新采集的資訊也可通過模型快速生成特征向量,并將特征向量加入向量檢索引擎,加入后即可立即被檢索到。因此此種方法同樣可以很好的解決新資訊實時冷啟動問題。同樣的,可以對用戶閱讀的資訊進行實時統計更新,當用戶的閱讀喜好存在變化時,也可實時帶來推薦結果的變化。因此綜上,上述方法同樣是實現實時的個性化推薦的方法。

圖3 基于用戶的歷史閱讀行為推薦資訊的相似資訊Fig.3 Similar information recommended based on the user's historical reading behavior
2.2.2 根據用戶的閱讀資訊特點推薦用戶可能感興趣的資訊
在“基于用戶的歷史閱讀行為推薦資訊的相似資訊”的步驟(1)和(2)基礎上,繼續以下步驟:
(1)對于用戶有閱讀行為的每條資訊,去緩存中找到所有資訊的特征向量,將所有資訊的特征向量求均值,將此均值后的特征向量視為用戶的喜好特征向量;
(2)當用戶請求時,一般會帶上用戶的位置信息例如IP 地址、GPS 位置信息等,同時也會帶上用戶當前請求的時間、時區等信息,將各類請求信息依次記錄;
(3)將(1)和(2)獲取的用戶喜好特征向量以及用戶的請求信息,集合用戶畫像的特征(如性別、年齡等)作為模型的輸入,生成用戶本次請求的特征向量;
(4)將用戶請求的特征向量輸入到向量檢索引擎查找N 個最相近的資訊,推薦給用戶。
上述方式基于用戶閱讀行為、用戶即時訪問的請求、地理位置、用戶畫像等的實時變化更新,因此比較好的實現了用戶多樣化資訊的實時個性化推薦。尤其是對于新用戶,當未有用戶閱讀行為時,模型依然能夠基于用戶的位置信息、時間等推薦合適的資訊。
傳統的推薦算法指標可以通過AUC、RMSE、MAE、MAP 等進行評估,為使得評價結果更貼合業務效果,本文衡量指標為統計用戶的UV 點擊率,計算公式如下:

在二三四五公司某信息流場景下進行應用效果對比測試,改進的雙塔結構模型10 d 的平均UV 點擊率4.68%,未改進的雙塔結構模型10 d 平均點擊率3.66%,10d 的平均點擊率提升約27.87%,如圖4 所示。

圖4 改造后的雙塔模型效果對比Fig.4 Effect comparison of the modified twin towers model
(1)有效的解決用戶冷啟動問題。資訊雙塔模型在訓練過程中雖然需要使用用戶閱讀行為日志,但在推理過程中則不需要,推理的向量生成中僅需要資訊的標題、正文、作者信息、發布時間、資訊類別等信息。因此任何時刻采集的資訊均可通過模型實時生成特征向量,同時可以實時統計用戶的行為和請求信息,實時生成用戶的特征向量,兩個特征向量的生成可以有效的解決新資訊冷啟動和新用戶的冷啟動問題;
(2)有效的利用了資訊的上下文信息。資訊雙塔模型訓練時,主體網絡結構采用BERT,能夠基于資訊中的正文、標題等信息生成可靠的特征向量,使得召回結果更精準,不同于傳統的基于標簽推薦的方式,由于標簽的不全面帶來的推薦效果差異;
(3)保障了訓練過程和預測過的特征一致性。資訊雙塔模型在訓練后會相對穩定,則已生成的資訊特征向量可以直接應用到召回后續的粗排、精排過程中,對于進一步通過用戶畫像的推薦場景也比較重要,同時也無需對已生成的特征向量進行更新處理。
改進后的雙塔模型雖然在模型效果上已經有提升,但是推薦系統中至少由召回、粗排、精排組成,雙塔模型解決了召回中的部分問題,推薦是一個綜合性的效果提升,因此未來將圍繞兩部分進行繼續改進:
(1)在召回環節內部,基于改進后的雙塔模型融合熱門召回、協同過濾召回等多路召回,形成豐富的召回集,豐富的召回方式可以使得數據具有更廣泛的選擇策略,單一的策略會導致用戶獲得的內容相對單一,如僅有協同過濾的情況下也存在著推薦精度不高、難以處理稀疏數據等缺點;
(2)由于針對召回候選集采用不同的排序方式,也會影響推薦效果,因此在召回、粗排、精排中,適配改進雙塔模型的最佳粗排或精排策略,以獲得更優的推薦結果。
本文通過改進雙塔召回模型,設計和實現了資訊特征向量、用戶喜好特征向量的表示方法。通過穩定的特征表達使得改進后的模型在推薦的通用性、實時性方面得到較好進步,對于信息流場景產生正向的效果提升作用,可作為個性化推薦、實時推薦的關鍵召回策略之一。
引用
[1] Badrul Sarwar,George Karypis,Joseph Konstan,et al.Itembased collaborative filtering recommendation algorithms[C]//Proceedings of the 10th international conference on World Wide Web.2001:285-295.
[2] RENDLE S.Factorization machines[C]//2010 IEEE International Conference on Data Mining.IEEE,2010:995-1000.
[3] GUO Hui-feng,TANG Rui-ming,YE Yun-ming,et al.Deep FM:A Factorization-machine Based Neural Network for CTR Prediction[C]//International Joint Conference on Artificial Intelligence, 2019:1377-2022.
[4] YI Xin-yang,YANG Ji,HONG Li-chan,et al.Samplingbias-corrected Neural Modeling for Large Corpus Item Recommendations[C]//Proceedings of the 13th ACM Conference on Recommender Systems,2019:269-277.
[5] 沈振雷,劉凡平.一種近似物品推薦的控制方法及裝置:CN, CN112256979A[P].2021.
[6] Jacob Devlin,CHANG Ming-wei,Kenton Lee,et al.BERT:Pretraining of Deep Bidirectional Transformers for Language Understanding[C]//Conference on the North American Chapter of the Association for Computational Linguistics:Human Language Technologies,2019:3498-4195.
[7] 胡凱達.基于混合推薦算法的個性化新聞推薦系統設計與實現[D].北京:北京郵電大學,2021.
[8] 王志丹.基于位置的個性化推薦算法在消費類應用中的實現[J].信息技術與信息化,2021(11):153-155.
[9] 唐港迪.基于地理位置的個性化新聞推薦系統設計與實現[D].成都:電子科技大學,2021.
[10] 田萱,丁琪,廖子慧,等.基于深度學習的新聞推薦算法研究綜述[J].計算機科學與探索,2021,15(6):971-998.
[11] WEI G Y,WEI Y M,LEI J C.News Recommendation Based on Click-Through Rate Prediction Model[C]//LISS 2020:Proceedings of the 10th International Conference on Logistics,Informatics and Service Sciences.Springer Nature,2021:373.
[12] 耿化聰,梁宏濤,劉國柱.基于知識圖譜與協同過濾的飲食推薦算法[J].計算機與現代化,2021(8):24-29.
[13] 詹皖江,洪植林,方路平,等.基于對抗性學習的協同過濾推薦算法[J].計算機科學,2021,48(7):172-177.
[14] 章雅楠.基于用戶畫像的短視頻平臺個性化信息推薦研究[D].哈爾濱:黑龍江大學,2021.
[15] XIA L H,HUANG C,XU Y,et al.Knowledge-Enhanced Hierarchical Graph Transformer Network for Multi-Behavior Recommendation[C]//Proceedings of the AAAI Conference on Artificial Intelligence,2021,35(5):4486-4493.
[16] 王斐,吳清烈.基于用戶畫像與協同過濾的大規模定制智能推薦算法研究[J].工業工程,2021,24(5):159-164.
[17] 張紫嫣,周馳.結合類別偏好的協同過濾推薦算法[J].計算機應用與軟件,2021,38(1):293-296.