推薦系統評估

hackeey發表於2017-09-19

如果我們只關心推薦演算法這一核心,其目標就在於更好的分發系統中的內容,讓每一篇內容獲得展示,讓每一個使用者有更多的點選,評估指標可以拆分為兩部分:

推薦準確度。對應到內容推薦系統中,表現為對使用者點選的預判(點選率)和對消費情況(點選後的各種主動行為)的印證。由於這部分資料是可以複用既有資料進行離線計算的,故通常用於各種演算法的迭代。

推薦覆蓋度(多樣性)。好的推薦系統是能夠給使用者推薦視野範圍之外內容的。從使用者的角度來看,可以評估使用者的展示歷史中各種題材、類目、話題的豐富程度是怎樣的,豐富度越高代表個體體驗上多樣性越好。從內容的角度來看,可以評估有推薦展示的內容佔整體內容量的佔比,或是整個內容分發體系的基尼係數。

以Netflix為例,其站在視訊被播放的角度,使用了ECS(Effective Catalog Size)指標來衡量系統推薦的多樣性。如果系統內絕大多數的播放都來自同一部視訊時,ECS指標接近於1;如果系統內每部視訊都有相近的播放量時,ECS指標將等於影片數。如下圖,對比應用了個性化推薦技術和只採用熱門排序的情況,ECS相差近4倍,即系統中有更多長尾的視訊都得到了有效的展示和播放。

當然,只有一部演算法引擎,推薦系統這部賽車是無法正常運轉的。推薦演算法應當服務於整體系統的目標,比如使用者端的內容消費量、長期留存、作者端的活躍度等。為了這些長線目的,會給推薦演算法補充很多其他目標,這些目標可能會對短期點選率構成損傷。

指標是我們對於業務的抽象和預判印證,所以客觀上它是後驗性的體現。如果只關注已有指標,很容易讓我們忽略了那些尚沒有被納入指標體系之內的資訊。比如:如果只有全域性內容分發多樣性的指標而沒有個體多樣性指標,那麼很可能出現全域性內容基尼係數不高,但個體多樣性體驗極差的情況。又如,某些內容的點選率還不錯(如蛇、野生動物捕食),但是對敏感人群構成了極大的傷害。

基於此,我們需要在資料指標的基礎上,增加人工評估的環節,以幫助我們更好更快的發現潛在的問題。

援引公開博文,Facebook亦建立了一套完整的人工評估系統,分為三個部分:1-1使用者訪談,面向常駐千量級外包團隊的人工評估(Feed Quality panel),面向萬量級普通大眾的問卷。問卷表現為多種形式:

  • 給出兩篇內容,讓使用者進行點對點的對比
  • 給單篇展示打分選項,建議使用者從相關性、資訊量等角度給予1-5分的評分
  • 提出開放性問題的方式來收集使用者對於自己資訊流的反饋。

藉由人工問卷反饋,可以得到一些有趣的資訊。比如,人們更願意在資訊流的頭部看到那些他們願意互動的內容或是那些更願意打高分的資訊。基於此,Facebook在排序演算法中將使用者的互動預估(點贊、評論)較高的內容和使用者更願意首先看到的內容進行了提權。


作者:zehuaYan

原文地址:http://www.pmcaff.com/article/index/935949966755968

相關文章