天天看點

内容推薦場景下多模态語義召回的若幹實踐

本系列将系統介紹召回技術在内容推薦的實踐與總結。

第一篇:

2021召回技術在内容推薦的實踐總結 第二篇: CMDM:基于異構序列融合的多興趣深度召回模型在内容平台的探索和實踐

背景

内容分發平台已經成為網際網路使用者擷取資訊資訊的主要來源,已經完全滲透進網際網路使用者的日常生活。内容推薦系統作為精準比對使用者和内容的手段,在内容分發的鍊路中舉足輕重,而其中召回則決定了整個推薦系統的上界。内容分發平台中,基于行為的召回模型通過個性化模組化不同尺度的使用者興趣,建構個性化的内容消費體驗。但是完全依賴平台上的可用日志資訊,會使得推薦系統容易陷入自旋,進一步加重資訊繭房效應,優質的長尾内容無法得到更加公平的有效分發,不利于整個平台的生态健康。實際上我們知道生态的健康,幾乎可以決定整個産品的發展态勢。而且電商app下的内容消費場景中使用者消費更加稀疏,在behavior-base的模型下他們的興趣表征容易出現較大的bias, 需要有相應的手段保證這部分使用者的興趣比對。content-base的召回方式由于與行為解耦,在緩解此類問題上具有一定的優勢,傳統的content-base方法包括标簽、屬性等召回,一定程度上能夠緩解這類問題,但是标簽和屬性的比對一般都比較hard, 泛化能力和擴充能力存在一定的瓶頸,而随着多模态和深度召回模型的演進,采用多模态和語義召回模型解決content-base問題成為衆多推薦平台的利器之一。

整體算法架構

多模态語義召回整體的算法架構如下所示,主要包含幾個部分。底層是内容了解子產品,主要從文本、視訊、音頻、類目體系等方面對内容進行結構化了解,得到結構化的體系表征。在使用者側通過profile等提取使用者興趣标簽等,在内容側根據标題、描述、視覺資訊提取出内容體系下的結構化表征,然後通過标簽、圖譜、多模态、語義DM等手段進行全方位的内容召回。基礎的内容召回方面有标簽召回、屬性召回、query2v等,這部分工作在此不再贅述了。這部分召回相似度刻畫的方式由于與平台使用者行為完全解耦,在生态名額方面都有20%+的提升。多模态召回主要是通過了解内容多模态表征,先後進行了v2v、聚類中心召回、個性化多模态表征相關的探索工作,在多樣性方面取得了一定的效果,深度語義召回方面針對使用者行為去噪和更好的表達語義資訊角度出發,疊代了cate aware和query aware和序列mask 自監督任務的模型,此外針對多種序列之間的更好融合,也提出了一種異構資訊圖的模型,下面作分别介紹。

内容推薦場景下多模态語義召回的若幹實踐

▐  多模态召回

語義包含多層次的資訊,除了文本标簽之外還有視覺音頻等,二者均對使用者的決策具有一定的影響,兩者相結合能夠更好的表征出視訊的語義資訊和人格化特征。在推薦系統召回中更全面的了解視訊内容也有益于更加全面的了解使用者推薦意圖,進而提升推薦的效果。目前業界比較常見的方案是多模态模組化,将文本和視訊等多種模态進行融合,互相促進表達,能夠達到更全面了解視訊内容的目的。一般而言文本視訊融合有多種模式,通過參考業界和學術界的研究,多模态召回采用了video bert的架構,通過雙流輸入+later fusion 以及文本mask, 視訊幀mask等輔助任務,更好的學習出多模态表達的内容,整體模型架構如下。

内容推薦場景下多模态語義召回的若幹實踐
多模态召回根據不同的階段,有三個有較為明顯效果的疊代優化,向量v2v、聚類中心v2v和行為fineturn的個性化内容表征,下面分别介紹。
内容推薦場景下多模态語義召回的若幹實踐

  • 多模态召回v1.0: 向量v2v

基于大規模預訓練模型,我們能夠得到全部内容的多模态表征,融合了視覺和文本的表征一定程度上能夠給推薦系統賦予找相似的能力。我們先後上線了視覺相似v2v和視覺聚類召回,前者基于多模态預訓練表征,刻畫使用者trigger視訊到分發視訊的相似度,線上進行v2v召回,這一路上線之後,自然鍊路和冷啟鍊路生态和效率名額均有一定程度提升(自然鍊路下7天内新釋出容占比累計提升70%+,pctr/uctr基本持平). 實際的實驗中更實時的trigger去進行v2v召回會有更明顯的效果。

内容推薦場景下多模态語義召回的若幹實踐
  • 多模态召回v2.0: 聚類中心召回

v1.0 提供的是使用者興趣空間中的臨近表達,解決的是找更相似的問題,類似于K近鄰算法。但是在内容分發平台,頻繁的推薦相似視訊反而會更容易引起使用者消費疲勞。是以我們希望通過一種更加泛化的“找相似”的方法去比對使用者興趣。我們采用了聚類召回的方法,通過k-means聚類,将連續的、廣泛的多模态空間降維為離散的、被限制的聚類空間。K-means聚類之後更有可能去觸達到更廣泛的使用者興趣,而且召回的内容更為發散。從圖中可以得知,k-means聚類有更大機率命中使用者興趣(交叉部分面積較大),并且召回的類目更為發散。

内容推薦場景下多模态語義召回的若幹實踐

在實際線上的時候,我們擷取使用者trigger視訊的聚類id, 然後去召回這些聚類中的視訊(如圖所示)。通過将視覺表征抽象為視覺風格,召回寬度得到進一步加強。線上的召回寬度進一步得到提升,而且單路獨占召回的多樣性遠超其他各路,上線之後多樣性(唯一内容數)有19%+的提升。

内容推薦場景下多模态語義召回的若幹實踐
  • 多模态召回v3.0: 個性化多模态内容表征召回

多模态表征在訓練的時候由于采用的是自監督的方式,僅僅模組化内容本身的特征。但是在實際的情況下,一個視訊中所描述的東西可能僅僅隻有一部分是使用者感興趣的,如果我們在召回的是将全部視訊内容的表征去進行相似度計算的話,很容易引入噪聲而影響真正對大多數人都較為感興趣的部分。是以我們需要有某種指導信号對我們已有的表征進行進一步個性化區分,我們希望達到的目标是,我們學習出的内容表征函數f(x)能夠既能一定程度上能夠表征内容,同時也能突出群體最感興趣的部分。

很自然的,結合使用者行為進行多模态表征finetune是值得嘗試的方向,是以我們提出了結合多模态表征和使用者行為的内容表征子產品該子產品結合海量使用者偏好信号和預訓練ready的表征,得到更貼合實際業務場景的内容表達。需要注意的是,雖然這裡的樣本也是基于可用的平台日志,但是統計類的特征和id類(contentId等)并沒有被使用,因為我們的目标不是個性化的召回模型,而是通過群體智慧,對内容表征提煉出适配大多數使用者的表達。

我們認為使用者真實的表達Eu應該包含兩個部分,ECu和EPu, 前者可以了解為對内容的無偏偏好,後者可以了解為個性化的偏好。而内容Ei本身也應該包含兩個部分ECi和EPi, 前者ECi可以表達為内容本身的特征,在我們的模型裡可以認為是通過濾波器對我們的多模态等特征的輸入進行過濾得到的共同特征表現,而EPi則表示為内容的bias. 是以我們的模型在使用者側和item側分别設計了兩個bias, 來提取出個性化的偏執資訊。

整個模型架構如下:

内容推薦場景下多模态語義召回的若幹實踐

整個模型采用的是contrastive learning的架構,正樣本來自于點選,負樣本來自于随機采樣+部分hard sample. 預訓練好的多模态表征作為整個模型的輸入。通過訓練,我們便可以學習出一個能融合多模态和行為的語義表征函數G。

内容推薦場景下多模态語義召回的若幹實踐

可以通過下面的case可以看到,模型捕捉到的不隻是視覺層面的相似,更多是視訊内所表示的内容。

内容推薦場景下多模态語義召回的若幹實踐

這一路召回上線之後,在雙列流和詳情頁在多樣性和效率上均有一定的提升。其中雙列流多樣性能夠提升10%+,詳情頁也有8%+的提升.

深度語義召回模型

在預訓練模型和行為fineturn的加持下,内容表征得到進一步加強,生态效率等名額有一定提升。但是此時對于使用者的表達還是依賴使用者的實時行為,通過使用者的實時行為經過triggerSelection等各種操作得到興趣錨點,在利用T+1生成的v2v表進行召回,此時使用者興趣表達粒度較細,且泛化受到一定的局限,于是我們開始了端到端的深度語義召回模型的探索。

一提到語義比對,搜尋的同學肯定不陌生,搜尋場景下語義相似一般意味着與query相似,比對的核心是了解query和doc。但是在推薦場景下,語義比對是一個更寬泛的問題-從單點到多點,解空間也更大更廣,挑戰也不太一樣。

首先是使用者行為的不确定性。與商品推薦不同的是,内容推薦場景下使用者決策空間更大更廣,進而導緻使用者對推薦系統的回報信号本身就存在較大的不确定性,使用者點選不一定代表語義相似,有行為不代表使用者一定感興趣。據統計在一跳場景中有超過40%的點選信号與使用者行為在CPV空間或者詞袋空間中沒有任何關系,在這樣的樣本中想要學習使用者真實的語義偏好,無異于把原本就不太容易優化的解空間增加更多的bias,如果貿然将這部分行為加入到使用者表征中,會給模型帶來一定的負擔,需要一定的手段去進行噪音去除。當然完全過濾掉也讓模型失去了泛化和破圈的能力,比如從鞋子泛化到襯衣,是以就需要在實際的模型中去權衡expoitation和exploration. expoitation旨在發掘使用者真實偏好,而exploration則希望模型有一定的泛化.

再就是語義空間表達的對齊問題。這裡的對齊包含兩個方面,第一個方面是單個序列(例如内容點選序列)裡的内容表達,内容本身能提現語義資訊的有cpv、分詞、語義标簽、多模态表征等,需要将這些資訊進行融合對齊,得到更合适的内容表達。另外一個方面是多序列之間的語義空間對齊問題。平台内行為序列多樣,且使用者除了在内容域消費之外,商品域、搜尋域等行為也提供了豐富的語義資訊,但是這些語義資訊尺度不一,粒度不一,且空間也不盡相同。從簡單的文本分布和CPV分布來看,商品域和内容域就存在諸多不一,文本分布方面商品域較多的關注商品買點屬性,而内容則更多的關注種草體驗,是以我們也需要去考慮多序列融合的問題,當然這方面業界和學術界有大量的工作在進行實踐,我們的探索工作也是站在前人的肩膀之上。

基于以上幾點考慮,在深度語義比對模型我們作出了幾種嘗試。首先針對行為不确定的問題,我們嘗試過手動去進行樣本過濾,具體是根據标簽分類體系對target content和序列中的seq content進行比對校驗,如果不符合則将樣本剔除。但是實際中發現在語義召回方面離線評測提升不大,原因在于剔除出這部分樣本之後,原因在于這種操作降低了模型的興趣泛化能力,讓興趣更加收斂,進而影響效果。我們一般通過self-attention 自适應的去進行信号去噪,但是self-attention并不能夠完全的模組化使用者真實的語義偏好,基于此我們分别提出了Cate Interest Aware Attention和Query Aware Attention,通過結合使用者真實的類目偏好和搜尋query seq去對内容和商品序列進行去噪,實際的效果也驗證了這種方式的效果,在雙列流和全屏頁的實驗也有不錯的提升。針對語義空間對齊的問題,單序列内容表達我們提出了sequence mask learning的方法,通過輔助任務增強語義表達,提升效果。針對多序列的融合我們借鑒了集團内外的工作,提出了異構資訊圖 的序列融合方法,通過語義标簽資訊建構多序列之間的異構資訊圖模型,通過标簽資訊建構異構序列之間的異構圖,然後在圖中進行資訊的對齊和表達, 下面進行分别介紹。

▐  Cate Aware Attention

顧名思義,cate aware attention是借助于使用者真實的類目偏好,對序列進行attetntion, 更偏向于語義空間向使用者類目偏好靠起,用到的是商品域内的類目偏好資訊。整個模型架構如下:

内容推薦場景下多模态語義召回的若幹實踐

從架構來看,可以使用者實時和長期的類目偏好分别和query sequence, video sequence, item sequence中的類目資訊進行attention, 然後得到使用者的表達。這樣做的好處是能夠通過使用者先驗的類目偏好限制使用者表征,這個操作類似于在搜尋語義召回中我們一般會對向量召回加入類目簇的限制,類目體系下更相關某種程度上可以認為表達的語義興趣更為精準,模型上線後,vv +1.7%, 多樣性+4%,七天内内容pvr 提升30%+ 。

ModelType hitRate@100 hitRate@50 hitRate@30 hitRate@10
CatAttention 11.79% 8.16% 6.15% 3.36%
Base 9.63% 6.31% 4.56% 2.16%

▐  Query Aware Attention

基于cate aware attetnion的方式利用了使用者的類目偏好,在序列之間做attention, 但是實際上序列之間也應該有一定的互動關系,query aware attention通過加入query sequence 對content sequence 和 item sequence的attention, 建構intra aware attention,能夠一定程度上增強序列的語義表達。

内容推薦場景下多模态語義召回的若幹實踐

cate aware attention這種inter aware的方式能夠限制語義表達到使用者的類目偏好空間,而query aware attention則可以在早期的sequence fusion中提煉語義表達,提升精度。在實際的實驗中,這種方式線上上有較好的效果,單路ctr相較于其他路deepMatch都有2%+的提升,對大盤也有正向的收益,雙列流内短視訊pctr提升+1.3%。

QueryAttention 13.67% 9.72% 7.37% 3.94%

▐  Auxiliary Sequence Mask Learning

端到端的deepMatch模型依賴于較好的語義表達,是以我們期望通過一些輔助的任務,幫助模型更好的捕捉到單序列内的語義表達(當然我們也嘗試過預訓練好的cate,term embedding作為模型輸入,也有一些效果), 我們設計了序列重建任務,通過在各自序列内,随機mask 掉一個位置,然後将序列重構任務作為總任務的輔助loss。

整個模型架構如下:

内容推薦場景下多模态語義召回的若幹實踐

▐  Heterogeneous Graph  Sequence Fusion

這部分工作與另外一部分關于圖召回的工作類似(見:url), 主要的動機來自于多序列融合的考慮,原本的融合方式一般是經過self-attention + MLP做late fusion, 或者類似于前面query aware attention這種cross attention的方式,但是這些融合方式并不能有效的利用序列之間的互補資訊,例如一個點選了商品球鞋,又在内容分發域内觀看了球鞋、球衣類食品的使用者,在使用者表征的時候,内容序列和商品序列中的球鞋球衣類的内容的表征應該得到增強,進而強化使用者在該類内容上的興趣。但是傳統的序列拓撲結構很難在異構序列之間建立聯系,借鑒KGAT,HGAT等模型的思想,我們提出了一種異構圖使用者表征的模型,該模型采用的Meta-path learning的範式,通過異構圖抽象出meta path, 然後利用meta path采用GCN的方式進行資訊聚合,最終得到使用者表征,這部分工作還在探索之中,感興趣的同學可以一起交流。

總結和展望

本文相關的一些工作随着業務小步快跑的節奏一直在探索,還存在諸多不足,在這個過程得到了非常多的同學的幫助和建議,在此表示感謝。立足目前業務現狀和實際問題,這部分工作還需要進一步加強和探索,未來主我們将與内容了解團隊深入合作,進一步探索内容了解在分發推薦中的應用。

團隊介紹

我們來自淘寶逛逛算法團隊,逛逛是淘寶重要的内容化場景,團隊優勢有:

  1. 業務空間大、基礎設施完善:場景海量回報,在工程團隊的支援下,算法工程師可以輕松上線大規模模型,分鐘級更新,更加注重算法本身。
  2. 團隊氛圍好、研究與落地深度結合:團隊不僅僅解決業務算法問題,還會緊跟學術領域進展。也歡迎有實習想法的同學加入,由資深師兄根據同學優勢與興趣定義好業務問題,輔導研究,給每位同學都有充分的成長空間。

人才需求:有機器學習、深度學習有一定了解,對内容分發和内容了解感興趣,可以發郵件到郵箱mingyi.ff#alibaba-inc.com或者jinxin.hjx#alibaba-inc.com(發送郵件時,請把#替換成@)

繼續閱讀