1.前言
1.1 迅猛發展的短視訊業務
短視訊一般指長度在5分鐘以内的視訊内容。由于使用者時間碎片化、移動網際網路和智能手機的快速普及、制作門檻低等原因,短視訊最近幾年引起廣泛關注。從2011年的萌芽,到2015年快手、美拍等異軍突起,到2016年抖音、火山小視訊等迅猛發展,短視訊正在搶占越來越多的使用者注意力和流量,重塑着使用者的資訊擷取習慣。
截止目前,短視訊月活使用者已經達到了4億左右,人均日觀看時長超過了60min,覆寫使用者類型廣泛,粘性強,明顯擠占了使用者在社交、影音、遊戲、新聞等應用上的花費的時間。
1.2 淘寶短視訊現狀
目前淘寶内的視訊量已達2.6億+。大量淘寶/天貓的商品頭圖展示從靜态圖檔換成了短視訊,全方位展示商品的使用方式和細節;大量買家秀采用了視訊形式,給予使用者更可靠更直覺的購買參考;直播視訊裡的大主播,吸粉和帶貨能力驚人;達人視訊制作精美、形式多樣,給使用者更愉悅的浏覽體驗。視訊量和使用者需求都急劇增大的現狀,對視訊推薦算法提出了更高的挑戰。
本文主要簡述近半年來,在哇哦視訊和首頁猜你喜歡視訊這兩個場景上,對視訊推薦算法做的一些實踐。
哇哦視訊是針對時尚年輕、購買力中上的使用者群的視訊産品,涵蓋了穿搭、美妝、美食、萌娃、萌寵、數位、健身等領域。投放内容池由數十萬達人視訊和數十萬商品視訊組成,全部經過品質篩選和人審,風格多樣,制作精美,期望使用者多逛多停留,進而引導下單。
猜你喜歡視訊是雲主題的重要組成部分,在猜你喜歡瀑布流中會根據使用者偏好以一定頻次投放視訊。投放内容池主要是數百萬商品視訊,同樣經過品質規則篩選,主要承擔引導使用者下單的功能。
在以上兩個場景的瀑布流裡,點選視訊都會跳轉到全屏承接頁,在該頁面可以完成浏覽相關商品、進入達人頁面、點贊、評論、轉發、下滑繼續浏覽等動作。
1.3 視訊推薦算法架構
視訊推薦算法的大架構與商品推薦基本相似,都是由以下幾部分組成:
- 召回,即根據使用者近期行為,擷取幾千個左右的候選集。
- 排序,一般分初排和精排。初排即較粗略的排序模型,會對候選集進行初步打分,之後截斷成為幾百個。精排即複雜度較高的排序模型,可能是多個不同目标模型的融合,會對候選集進行較精細的打分,之後截斷成為一百個左右。
- 業務政策,即基于使用者體驗的一些去重與打散政策。
本文将先介紹視訊特征體系,然後按這個架構來分塊介紹視訊推薦,重點陳述視訊推薦不同于商品推薦的部分。
2. 視訊特征體系
我們建構的視訊特征體系主要由id類特征、商品泛化特征、視訊統計類特征、視訊内容特征、标簽特征等。
- id類特征,由視訊id、作者id等組成。
- 商品泛化特征,主要來自于視訊挂載的商品性質。例如,商品id、類目id、虛拟類目id、店鋪id、品牌id、商品所屬性别、商品所屬購買力、商品标簽等等。
- 視訊統計類特征,即視訊在不同場景、類目、作者等次元下,統計的播放率、平均播放時長、有效播放率等等名額。
- 視訊内容特征,即關鍵幀圖像特征、音頻特征,可以對視訊内容/風格進行更精細的刻畫
- 視訊标簽特征,即基于多分類模型的、可擴充的網狀型的标簽體系結構,覆寫視訊所屬的體感類目與泛内容次元的相關标簽,這些标簽的組合就是對視訊内容的濃縮描述。目前主要産出了服飾領域的标簽體系,正在不斷完善中。
3. 基于視訊的召回
3.1 RankI2V Recall
淘寶視訊的特點是,絕大多數視訊是挂靠有相關商品的。是以,視訊推薦的最初版召回,就是直接利用商品推薦中的i2i召回,擴充為i2i2v召回,即:以使用者最近點選/收藏/購買/加購的商品集作為trigger item set,找到與其相似的candidate item set,再根據視訊挂靠商品的關系,找到candidate video set,優先召回熱度較高的video。同理,也可以将c2i擴充為c2i2v,seller2i擴充為seller2i2v等等。這個版本的優點是可以充分利用已有架構和資料,快速上線。但缺點也很明顯:同個商品可能挂靠許多視訊,無法評估這些視訊對于特定使用者的價值;對商品感興趣不代表對相關視訊感興趣,這其中有很大的gap;使用者對視訊的行為資訊完全沒有加以利用,比如觀看時長、點贊、關注等,而這些資訊才是最有價值的。
是以,我們實作了RankI2V召回方式,直接從商品來召回視訊。主要思路是:以全屏承接頁播放日志構造sample,以停留時長作為label,結合trigger item、video相關商品、video本身的特征,使用gbdt模型,直接對item到video的關系進行打分。
1)構造樣本:
- 在前述的i2i2v召回的基礎上,可以從日志中擷取每次使用者觀看視訊時的trigger item、所觀看video、以及觀看時長
- 清洗掉異常資料後,以時長很短的觀看作為負樣本(相當于沒有看),時長較長的播放時長作為正樣本,實際播放時長作為正樣本權重
- 重采樣,保證對于同一個user和同一個trigger item,樣本集中同時存在正樣本和負樣本
2)構造特征集,主要有三部分特征:
- trigger item的特征,如類目、價格、熱度、動态評分等自然屬性,以及其在全站的不同時間切片内的曝光點選名額,所屬賣家、類目等次元的曝光點選名額等等
- video的特征,分别統計在全站/哇哦視訊場景内的,按類目、釋出者、不同時間次元的,曝光、點選、有效播放率、完播率、次均/人均播放時長等名額
- item與video的相似關系,如是否屬于同一類目、是否屬于同一賣家,該item與視訊相關item的相似分數等等
3)model:
- 采用gbdt模型,pairwise loss來訓練
在兩個場景的線上實驗中,RankI2V都顯著優于初版中的基于商品的召回方式(i2i2v等)。實驗資料如下:
在哇哦視訊的瀑布流頁上線,次均播放時長上漲接近10%,人均播放時長上漲超過5%,pctr上升超過5%,uctr上升顯著,正向效果明顯。
在全屏承接頁上線,次均播放時長提高顯著,人均播放時長提高顯著,正向效果較明顯(全屏頁場景不關注ctr,隻關注播放時長)
在猜你喜歡視訊上線,ctr上漲接近10%,正向效果明顯。
3.2 RankV2V Recall
以商品召回視訊的優點在于,使用者在商品上的行為豐富且多樣,可以擷取較好的trigger set。然而,對于視訊而言更自然的方式是以視訊來召回視訊,畢竟使用者在商品上的偏好,不一定與對視訊的偏好一緻。參考RankI2V的思路,我們也實作了RankV2V召回算法。
首先,為了擷取trigger video和召回video的關系,先上線了一版基于全網視訊播放日志、目标為有效觀看時長的、以協同過濾計算的cf v2v召回模型。上線一段時間後,積累了足夠的播放行為,以此開始訓練rankv2v模型。主要思路是:以全屏承接頁播放日志構造sample,以停留時長作為label,結合trigger video、召回video的特征,使用gbdt模型,對video到video的關系進行打分。
- 在前述的cf v2v召回的基礎上,可以從日志中擷取每次使用者觀看視訊時的trigger video、所觀看video、以及觀看時長
- 重采樣,保證對于同一個user和同一個trigger video,樣本集中同時存在正樣本和負樣本
- trigger video的特征,分别統計在全站/哇哦視訊場景内的,按類目、釋出者、不同時間次元的,曝光、點選、有效播放率、完播率、次均/人均播放時長等名額
- 召回video的特征,與trigger video類似
- trigger與召回video的相似關系,如是否屬于同一類目、是否屬于同一賣家等
線上實驗中,RankV2V召回結果雖然數量上比RankI2V少一些(原因是使用者在視訊上的行為遠少于在商品上的行為,是以trigger set小得多),但名額上明顯優于RankI2V。随着視訊在全網的透出量增加,使用者的視訊行為進一步豐富,可以預期rankV2V的性能也會随之上升。
在猜你喜歡視訊上線,ctr大漲接近15%。其中單看rankV2V的點選率,比基準桶總體高了接近50%,正向效果顯著。
3.3 Realtime-based Interest
相對于商品推薦而言,實時性對于視訊推薦更為重要。尤其是全屏承接頁這樣的場景,使用者一次隻沉浸在一個視訊中,一旦連續下滑兩三個視訊都無法抓住使用者興趣,就極易使其流失。針對這種心理,我們在全屏承接頁上引入了以下四種實時trigger:
- 在瀑布流中,使用者通過點選某視訊進入全屏頁,該視訊強烈地展現了使用者此刻的浏覽意圖,将這個video加入trigger set。
- 在瀑布流中點選的視訊,同時具有挂靠商品資訊。該商品大機率也是使用者此刻感興趣的商品,将這個item加入trigger set。
- 在全屏頁下滑浏覽進入下一頁時,使用者對于上一頁推薦的視訊已經産生過了播放、點贊、評論、關注等行為,可以展現使用者目前浏覽興趣,以及對下一頁展現結果的期望。将使用者有過正向行為的video加入trigger set。這是實時性相對最強的一種方式。
- 基于實時日志收集使用者在全網的視訊播放行為(延遲為幾十秒到幾分鐘),将有過正向行為的video加入trigger set。
經實驗,最終的召回優先級定為:四種Realtime-based Interest召回方式相等,同時大于其他召回方式。
在全屏承接頁上線,次均觀看時長上升超過10%,人均觀看時長上升接近15%,正向效果顯著。
在哇哦視訊瀑布流上線,pctr上升明顯,uctr持平,次均停留時長上升明顯,人均停留時長上升明顯,正向效果明顯。
從實驗效果來看,沉浸式的全屏頁效果顯著高于瀑布流頁,因為瀑布流一次展現的數量較多,使用者選擇餘地較大,而全屏頁一次一個展示,對于時刻命中使用者興趣要求更高。同時,在4種實時召回方式中,上述第3種召回方式的名額優于其他,說明時效性越強的召回效率越好,與我們最初的假設是一緻的。

4. 視訊排序
4.1 粗排模型
經過多路召回,系統可以擷取使用者潛在感興趣的視訊集合。同時為了進一步提高召回的精準性,需要将多路召回的視訊統一排序,以精簡召回的視訊集合。這一過程通過精簡特征的模型在BE多路召回後進行。
視訊粗排模型以ctr或停留時長為目标,進行模型訓練和預測。模型為pointwise或pairewise的GBDT。
- 以ctr為主要優化目标的GBDT模型,将使用者對視訊是否點選作為标簽,pointwise方式訓練。特征主要有上下文特征,使用者類特征,視訊屬性類特征,視訊的回報統計特征等次元。其中視訊回報統計特征裡,通過時間資訊計算得到的點選率特征權重較高。
- 以停留時長為目标的視訊粗排模型,将停留時長離散後作為訓練為目标,pairewise方式訓練,特征中添加更多停留時長類的統計特征。
實驗效果
- 猜你喜歡視訊接入ctr的GBDT模型替換ctr的LR模型,ctr提升超過10%
- 猜你喜歡沉浸頁接入停留時長的GBDT模型,PV播放時長提升接近30%,UV播放時長提升超過30%。
- 哇哦視訊全屏頁接入停留時長的GBDT模型,次均播放時長提升接近10%,人均播放時長提升明顯
4.2 精排模型
精排通過不同目标的模型對視訊進行打分。精排相對粗排在特征上更加豐富完善,同時也将不同目标的同種模型,或同目标的不同模型組合,共同計算得分。
視訊精排模型主要包含以ctr為目标的XFTRL與GBDT,以及以停留時長為目标的GBDT三種模型,最終得分綜合了三種模型的預測。
- ctr優化目标的XFTRL模型,特征主要包含上下文次元特征,使用者次元,商品次元,視訊次元的ID類和離散屬性類特征,以及這幾種次元的組合交叉特征。其中,使用者ID、視訊ID,使用者最近x天喜歡的類目IDtop3與視訊所對應商品的類目ID進行組合形成的特征,在模型中有較好的效果。
- 以優化CTR為目标的GBDT模型,特征方面除了在粗排中已有的上下文特征,使用者特征,視訊屬性特征,視訊的回報統計特征外,添加視訊在全場景最近x天,分作者/類目的統計特征,同時對視訊的回報統計特征進行更多分天統計的特征補充。特征集中,場景内視訊的ctr類權重較高,可見該模型偏向于推薦本場景内熱度較高的視訊。
- 以優化停留時長為目标的GBDT模型,特征相較CTR模型增加了視訊停留時長最近x天,分作者/類目的統計特征,label為離散化的停留時長。特征集中,本場景視訊的播放熱度、視訊作者的平均播放熱度在模型中權重較高。
- 猜你喜歡視訊,ctr的XFTRL模型進行優化後,ctr提升明顯。接入ranki2v後,提升接近10%,合計提升接近15%;
- 猜你喜歡視訊ctr的GBDT模型優化後,ctr提升明顯;
- 猜你喜歡視訊接入停留時長的GBDT模型,停留時長增加超過10%
5. 業務政策
推薦系統在算法對點選率與停留時長優化的同時,也需要保證良好的使用者體驗與流量可調控。
5.1 體驗優化
為了達到良好的使用者體驗,視訊推薦做了豐富的體驗優化。同時加入集中度,相似性,以及視訊發現性三個次元作為體驗優化觀測名額,其中集中性與相似性主要衡量頁内體驗,視訊發現性衡量頁間體驗。
頁内rematch:每次請求在頁面内對虛拟類目,葉子類目,視訊标簽進行rematch,保證頁面内不會連續出現同一虛拟類目/葉子類目/标簽下的視訊。接入頁面rematch後,pv略降,點選率提升,視訊集中度和相似性提升明顯,使用者的觀感多樣化得到明顯提升。
頁間抑制:采集視訊實時曝光與點選,将最近x天内未點選的虛拟類目/葉子類目/标簽适當過濾。接入頁間抑制後,pv與ctr基本持平,曝光發現性提升,同類視訊多天曝光現象減少。
實時黑名單過濾:針對輿情回報與自體驗較差的視訊,作者,标題加入黑名單,線上上實時過濾。接入後體驗提升,相關輿情較少。
購買過濾:将使用者已購商品同類目下的視訊過濾。接入購買過濾後pv與ctr略跌,使用者體驗多樣化得到進一步提升。
曝光過濾:由于真實曝光收集可能出現幾分鐘的延時,利用實時資料庫記錄了僞曝光日志,同時使用真實曝光和僞曝光共同對視訊過濾。接入後ctr略跌,連續的重複曝光現象明顯消除。
6. 結語
相對于商品推薦而言,視訊推薦算法的發展空間還很大,比如目前嘗試中的multi-tag classification,利用圖像、音頻特征的multimodal video embedding以及RealTime Exploration Interest的模型化。歡迎有興趣的同學與我們多多交流、多加指正。