DIGIX全球算法精英大賽-視頻推薦任務亞軍方案分享
今天老肥和大家分享的是DIGIX全球算法精英大賽賽題三-基于多目標優(yōu)化的視頻推薦的亞軍方案,主要使用的是特征工程為主的樹模型和深度模型的融合方案。
賽題任務
本賽題的目標是基于用戶前十四天的行為信息以及用戶側信息表、視頻側信息表對用戶第十五天的視頻觀看時長以及是否分享進行預測(其中視頻時長的評價指標為加權分桶AUC)。
數(shù)據(jù)分析
通過對兩個預測目標進行分析,我們發(fā)現(xiàn)發(fā)生分享行為的用戶大部分都是存在觀看行為的,觀看視頻時長越長分享的概率越高,這些也符合直觀的理解,觀看視頻之后進行視頻的分享,但是當我們對這兩個任務進行聯(lián)合建模,也就是多任務學習發(fā)現(xiàn)效果較差,我們推測是兩個任務稀疏程度差距較大,很難通過調節(jié)loss權重的方法同時將兩個任務學得好,所以對于本賽題我們還是采用分開建模的方法。

通過分析數(shù)據(jù),我們發(fā)現(xiàn)該賽題存在著用戶冷啟動的問題(非完全冷啟動,只是在用戶行為表歷史中未出現(xiàn)),而冷啟動用戶的平均觀看時長要高于非冷啟動用戶,冷啟動視頻也存在相似情況。第十二天的異常我們也發(fā)現(xiàn)了原因,說來也很有意思,4月30日也就是出現(xiàn)這個異常的前一天,我國空間站天和核心艙成功發(fā)射,而這個異常的冷啟動視頻之一正是《太空救援》,應該是來源于時事相關的影片強力推送。

所以我們在做CTR類型的時候對冷啟動用戶做填充采用的是冷啟動用戶的CTR均值。另外我們還通過觀察數(shù)據(jù)發(fā)現(xiàn),由于是長視頻場景下的推薦任務,不少用戶存在著看不完視頻的情況,發(fā)生這種情況后用戶很有可能在后續(xù)的日子里繼續(xù)對該視頻進行觀看,針對該現(xiàn)象,我們也做了相應的特征提取。
特征工程
特征部分的話首先是統(tǒng)計特征部分,統(tǒng)計特征包括曝光特征、交叉特征、CTR特征,CTR特征主要是用戶側以及視頻側id類特征的歷史觀看比率、分享比率等等。

對于序列特征以及多標簽特征,我們直接采用word2vec來做embedding表征。衍生特征主要就是上述數(shù)據(jù)分析所提到的對用戶曾經(jīng)觀看過的視頻做count計數(shù)統(tǒng)計等。

損失函數(shù)
因為正樣本過于稀疏,我們保留所有正樣本,采用負樣本的10%隨機采樣。這里對NN模型采用了Focal Loss作為損失函數(shù),α參數(shù)的話通過樣本標簽的比例確定。樹模型的損失函數(shù)還是使用交叉熵,對各個類別的樣本做加權處理,加權的方式為分數(shù)權重/樣本分布比例。
權重搜索
對于視頻時長預測的目標,我們可以對測試樣本的類別預測權重進行搜索,以期得到更高的加權AUC值。我們這里直接采用基于貪心的權重搜索方法,先對類別一搜索最佳的權值,然后固定類別一的權值,對類別二進行搜索,直至完成所有類別的權值搜索。
實驗過程
這里給出我們比賽期間進行上分的一個總結,NN模型對視頻時長預測進行單獨建模,樹模型使用同一套特征同時對視頻時長和是否分享進行建模。


以上就是我所分享的全部內容啦,代碼我會在整理后開源到GitHub(閱讀原文),感謝兩位大腿帶我@汪兔摸魚、@Ernnnn,大家感興趣也可以關注@Ernnnn的同名b站,不定時更新硬核視頻喲。
——END——
