乾貨|一文帶你入門算法分發!

乾貨|一文帶你入門算法分發!

本文共4457字,建議閱讀9分鐘。

本文用最通俗語言為你拆解算法分發全過程。

乾貨|一文帶你入門算法分發!

閆澤華 知乎知識市場產品總監

當音樂應用變得越來越懂你,當新聞客戶端逐一裝配了推薦引擎,當各色巨頭紛紛入場短視頻算法分發:圖文、音頻、視頻,種種信息載體正藉由算法的力量提速分發效率。

願意或不願意,你我已經事實上被時代的浪潮所挾持,走進了內容的算法分發時代。

對於算法分發很多人會有所誤解,這或許源自我們的遠觀,缺乏瞭解才會覺得算法猛如虎。而當走近了算法分發,有了一定的瞭解之後,或許會有重新的認知:縱然算法如虎,也可細嗅薔薇。

斷物識人,推薦起點

儘管算法分發中應用了各種高深的模型或公式,但其基礎原理是樸素的:更好地瞭解待推薦的內容,更好地瞭解要推薦給的人,才能更高效的完成內容與人之間的對接。

從這個角度來看:斷物識人,是一切推薦行為的起點。

何以斷物,何以識人?用打標籤的形式最容易理解。

標籤是對高維事物的降維理解,藉由單個短語抽象出了事物更具有表意性、更為顯著的特點。在不同的業務消費場景下,我們會選擇不同的標籤集合來對內容和用戶進行標註。

比如,對於職場社交應用,職業背景、工作經歷會是用戶重要的標籤;而對於興趣社交應用,興趣偏好類的標籤則具有更高的權重。

在內容畫像層面,有兩種典型的標籤產出方式,以音樂為例:

專家系統:潘多拉(Pandora)的音樂基因工程(Music Genome Project)。在這項工程中,歌曲體系被抽離出450個標籤,細化到如主唱性別、電吉他失真程度、背景和聲類型等等。

每一首歌曲都會被經由工作人員耗時30分鐘左右,有選擇性標註一些標籤,並以從0到5的分值代表這一標籤的表徵程度。

UGC產出:在豆瓣音樂,音樂的標籤化體系源於普通網友的貢獻。群體的力量為豆瓣積累了大量具有語義表意性的標籤。

而由於用戶的多樣性和編輯的開放性,用戶標籤需要經過特定的清洗和歸一化才能投入使用。

而在用戶畫像層面,則可以大致劃分為靜態和動態畫像兩個層面:

  • 靜態畫像:即用戶的設備信息、地理位置、註冊信息等等。通常,我們將用戶的靜態信息認為是業務無關信息。
  • 動態畫像:用戶在使用某一項業務時,和業務所提供內容服務產生交互後的顯性或隱性種種行為,構成了用戶畫像的動態部分。以視頻消費場景為例,點贊、評論、分享等種種顯性動作都會讓用戶與相應的內容標籤產生關聯。而拖拽行為、播放完成度、頁面停留時長等隱性行為則得以讓系統更好的衡量用戶在特定標籤下的偏好程度。
乾貨|一文帶你入門算法分發!

內容畫像和用戶畫像,藉由業務場景下的交互,構成了一個相互影響的循環系統。

內容畫像決定人的畫像,自然是最容易理解的。在音樂場景下,你收聽、收藏、評分了很多爵士類的音樂,那麼系統就會判定為你是一個喜歡爵士音樂的用戶;在讀書場景下,你完整閱讀、點評了哪些書籍,哪些書籍做了筆記,哪些書籍只是潦草翻閱,都會影響系統中你的用戶畫像。

因此,“你的選擇決定你的畫像”可以說絲毫不為過。

而反過來,用戶的畫像也會影響到內容的畫像。我們可以將其看作是基於典型畫像的用戶行為對內容做出的後驗投票。

在一個大體量的視頻上傳體系裡,人工打標籤的方式已經不具有可行性了,只有用戶的播放行為才有助於我們更好的揣測視頻內容的分類。

在實際工程應用中,由於內容的複雜性與多樣性,畫像遠不止於預設的標籤集合。在這種情況下,我們引入了聚類的方式來表徵內容。

在聚類的方式下,我們不再試圖用標籤詞來描述事物,而是基於某一維度的特徵將相關的物品組成一個集合,用“物以類聚”來試圖說明內容的特徵。比如,一段藏獒捕食的視頻,會同動物世界裡猛獸捕食的內容聚為一類,而不會同家貓捕捉老鼠的內容聚為一類。

協同過濾,群體智慧

如前所述,標籤的應用更多的是在幫助我們快速建立對事物的抽象理解。而由於前置標籤系統的有限性和封閉性,必然不足以應對更復雜多變的新增場景。比如,一則大吃豬肘子的短視頻,你應該如何標籤或分類?是美食還是獵奇,亦或是生活記錄?

放棄標籤,轉而以用戶的群體消費行為進行分類和記錄,這就是協同過濾的基礎思想

舉一個生活中的場景,初次為人父母,“無證上崗”的新手爸媽們內心是激動而又惶恐的。打聽,成了他們育兒的重要法寶之一。

乾貨|一文帶你入門算法分發!

“你家寶寶用的是什麼沐浴液啊、你們有沒有上什麼早教班啊…”親子群中,無時無刻不在發生這樣的討論,這樣的討論也構成大家後續消費決策的主要因素之一。

這種基於人和人之間的相互推薦固然是弱社交關係分發的一種形態,但是促成大家有價值信息交換和購買轉化的,其實是人和人之間的相似點:為人父母、擁有相似的價值觀和消費觀。

把用戶的消費行為作為特徵,以此進行用戶相似性或物品相似性的計算,進行信息的匹配,這構成了協同過濾(Collaborative Filtering)。

協同推薦可以分為三個子類:

  • 基於物品(Item-based)的協同
  • 基於用戶(User-based )的協同
  • 基於模型(Model-based)的協同

基於用戶的協同,即切合了上面的例子,其基礎思路分為兩步:找到那些與你在某一方面口味相似的人群(比如你們都是新手爸媽,傾向於同一種教育理念),將這一人群喜歡的新東西推薦給你。

基於物品的協同,其推薦的基礎思路是:先確定你喜歡物品,再找到與之相似的物品推薦給你。只是物品與物品間的相似度不是從內容屬性的角度衡量的,而是從用戶反饋的角度來衡量的。

使用大規模人群的喜好進行內容的推薦,這就是在實際工程環境裡,各家公司應用的主流分發方式。

基於模型的協同,是應用用戶的喜好信息來訓練算法模型,實時預測用戶可能的點擊率。比如,在Netflix的系統中就將受限玻爾茲曼機(Restricted Boltzmann Machines, RBM)神經網絡應用於協同過濾。將深度學習應用於基於模型的協同,也成為了業界廣泛使用的方式。

由冷到熱,內容的算法分發生命週期

作為連接內容與人的推薦系統,無時無刻不在面對著增量的問題:

  • 增量的用戶
  • 增量的內容

新的用戶、新的內容對於推薦系統來說都是沒有過往信息量積累的、是陌生的,需要累積一定的曝光量和互動量(閱讀、分享等)來收集基礎數據。這個從0到1積累基礎數據的過程就是冷啟動,其效果的好壞直接關係到用戶端、作者端的滿意度和留存率。

如果我們假設一篇新內容要經過100次閱讀才能夠得到相對可信的內容畫像,新用戶同樣需要完成100次閱讀之後才能夠建立起可用的用戶畫像。那麼一個最直觀的問題就是:怎麼樣達成這100次有效的閱讀?

這就是冷啟動面臨的問題。下面我們從內容和用戶兩個維度來分別論述。

在推薦系統中,通過分析一篇內容的標題、關鍵字來確定要向哪個目標人群進行探索性展示,藉由探索性展示完成了從0到1的用戶反饋積累過程。

在這個冷啟動過程中,如果沒能得到足夠正面的用戶反饋(點擊行為和閱讀體驗),系統就會認為這篇內容是不受歡迎的,為了控制負面影響,就會逐步降低這篇內容的推薦量。

反之,如果內容在冷啟動過程中順利找到了自己的目標人群,收穫了很高的點擊率,就有可能被推薦系統快速放大,具有了成為爆款的可能。

因此,冷啟動決定一篇內容命運的說法,可以說絲毫不為過。

以時下最火熱快手類小視頻應用為例,一則視頻在分發過程中的生命週期,亦跳不脫“豐富先驗信息、依賴後驗信息”這一定律。

在一個小視頻應用裡面,大體上會有三類人:

  • 半職業或職業的生產者
  • 視頻工具的使用者
  • 視頻內容的消費者

從信息的消費性角度來看,其結合方式大概率是第一類人生產,第三類人消費。先驗信息就是儘可能多挖掘出第一類人的固有特徵,比如作者是誰(考慮關注分發)、配的音樂是什麼、是否有參與活動話題(考慮活動分發)等等,對於足夠的頭部生產者還可能會以運營介入的方式去人工標註,去完善先驗信息。

客觀上說,小視頻先驗信息的豐富程度是遠小於文本內容的,我們將其類比微博類的短文本內容或者全圖片內容可能會更合適。先驗信息的缺乏,使得小視頻的分發過程更依賴協同算法支撐下,用戶參與行為的後驗信息的補充。

在冷啟動的環節裡,一則小視頻會分發給特定類別的用戶來查看,系統從用戶角度去統計不同聚類用戶的播放情況(如完整播放、分享、點贊、評論、重複播放等),以用戶行為的後驗信息去刻畫小視頻特徵,以解答:“哪一類用戶會喜歡這則視頻”這一問題。

乾貨|一文帶你入門算法分發!

比如,時下很熱的海草舞,不同的生產者都會上傳類似主題的視頻,哪個更好?

在業務場景裡,真正值得依賴的一定不是專家,而是基於普通用戶真實觀看行為的投票,才能選擇出更值得擴散內容,用以優化全局的效率。

對於用戶冷啟動,算法分發所做的則是一個剪枝和快速收斂的過程。

這是因為算法分發首先服務的是業務的大目標,即用戶的留存率。畢竟,只有保證了留存率的前提下,儘可能的留住用戶之後,系統才會有進一步探索用戶的可能性。人都留不住,推薦的多樣性、興趣探索等等自然無從談起。

因此,算法分發會更傾向於在有限次數的展示裡儘可能快的探索出用戶的興趣點,會從覆蓋面大的興趣內容開始,逐步縮小範圍,以用戶的點擊反饋來確定其更感興趣的類目,並通過快速強化已知興趣偏好下的內容分發量來試圖留住用戶。

不誇張的說,算法分發將是未來信息分發行業的標準配置。

為什麼這麼說?因為算法是個筐,什麼都能往裡裝。在內容展現和推薦的過程當中,可以參考下述公式:算法分發權重=編輯分發權重 + 社交分發權重 + 各種算法產出權重。

如果將任意一個權重設置為1,其他設置為0,算法分發系統就會變成一個標準的編輯分發系統或者是社交分發系統。也就是說,算法分發的基線就是編輯分發或社交分發。

從這個角度來看,只要算法應用的不太差,基本上引入算法分發一定是正向。因為它在有限的貨架裡,圍繞用戶展示了無限的貨品。

在業務層面,我們通常會複合型使用三種分發,在不同的環節應用不同的因素,才達到最好的效果。

以知乎讀書會為例,我們將其劃分為:

  • 內容生產
  • 用戶觸達
  • 反饋改進

在內容生產中,為了保證調性,一定是需要引入編輯專家去選人、選書的。選擇的書是否有價值,選擇的人是否是行業專家,還是職業的拆書人,都是體現產品價值觀判斷的事情。

當內容從生產進入流通,進入觸達環節後,為了追求效率的最大化,人工干預的作用就會相對弱化。

舉一個業務場景的例子,對於讀書類產品,運營一定會有今日推薦的需求,推薦給用戶今日讀書會上新了什麼大咖領讀的書籍。從編輯的角度,領讀人是大咖,書是經典,編輯權重一定非常高。

乍聽來很合理的需求,當進入用戶場景後就會發現其值得商榷:首先,用戶不是每天都來的。如果他一週來一次,那麼提供給他的應該是今日推薦,還是本週推薦呢?

進一步,考慮到用戶偏好問題。你是應該把物理學大咖的內容強加給他,還是推薦給他一個朋友們最近都好評的一本領讀書(社交分發),又或者是他自己已經標註了“想讀”的一本藝術類書籍的解讀呢?

乾貨|一文帶你入門算法分發!

在信息觸達環節中,產品應當追求的是信息和人的有效鏈接,是用戶體驗的最大化而非產品經理意識的最大化。

當服務收集到了足夠多用戶數據的時候,又可以反過來影響內容的二次迭代。在迭代的環節中,編輯的作用又凸顯了出來,結合數據的反饋來對內容進行調整:內容的播放完成率為什麼低?是稿件問題,還是領讀人語音的問題,是否需要重新錄製等等。

站在編輯分發和社交分發之上,算法分發一定能夠獲得更大的發展、收穫更多元的可能性。

運營人員:冉小山


分享到:


相關文章: