推薦系統是一個策略行為,本文將用兩張圖,來帶你看懂今日頭條的推薦系統。
推薦系統的“前身”
2016年,騰訊以80億美元估值投資今日頭條,結果大家都知道,張一鳴拒絕了騰訊的投資,現在大家也知道,字節跳動估值750億美元,這一切,推薦系統功不可沒。
因為搜索引擎和推薦系統太相似,相對來說也更簡單(勿噴),所以我們先來了解一下搜索引擎。至於搜素引擎是不是推薦系統的前身,我很懶,沒有考察。
如上圖,搜索引擎分成為離線部分和在線部分,每一部分有不同的使命。
簡單來說,搜索引擎的離線部分,專註於內容的搜集和處理。搜索引擎通過網絡爬蟲抓取網站上的原始內容,並將內容建立索引。這些內容會根據搜索系統的不同要求建立不同的索引體系,比如新聞類型的內容,會建立時效性的索引數據。
搜索引擎的在線部分,負責響應用戶的搜索請求,完成內容的篩選和排序,並將最終結果返回給用戶。我們舉一個例子來說明這個流程:
- 用戶在搜索引擎輸入一個關鍵詞NBA,搜索引擎搜索會對關鍵詞進行分析、變換、擴充和糾錯等處理,比如發現美職籃與NBA是同義詞,就會將其擴充。
- 接下來,搜索引擎會通過多種方式從不同索引數據獲得候選集,這個環節叫召回。
- 得到候選集后,搜索引擎通過更精細的計算模型對每一篇候選內容進行分值計算,對候選集的每一項進行排序。
- 這個時候,還不能將結果展示給用戶,需要經過規則干預這一過程。這個過程服務於特定的產品目的。假如有這樣一條“官方網站保護規則,確保所有品牌搜索詞都可以優先返回官網”,則此時就會將官網插入並置頂,最後再將結果展示給用戶。
- 此時,搜索引擎的工作還未結束。搜索引擎會根據用戶的點擊反饋去優化排序模型。比如,大部分用戶都沒有點擊文章10,則文章10後續就不會獲得更靠前的展現位置。
對以上兩圖進行總結就是下圖,就是想讓你們看的第一張圖:
今日頭條的推薦系統
通過上“一”張圖,我們明白了搜索引擎的原理(無論怎樣我都會裝作你看懂了),而今日頭條的這張圖,就是比上圖上多了一筆,考慮到這兩張圖高度相似,我這麼懶的人,當然是不會去畫的了,你們發揮想象吧。
其實,推薦系統也有離線部分和在線部分。上圖(那不是圖,是PNG)即是推薦系統的離線部分,與搜索引擎大同小異。
- 和搜索引擎一樣,推薦系統也需要獲取內容。推薦系統通過數據庫導入、協議同步和用戶提交等方式獲取推薦內容。區別於搜索引擎,推薦系統獲取內容的方式較多,且內容的結構化程度要遠勝於搜索引擎爬蟲抓取的內容。
- 推薦系統也需要將待推薦的內容進行索引化處理,這一點與搜索引擎較為相似。推薦系統的維度會更多。
接下來,就是推薦系統的在線部分了。天啊,看到上圖,發現推薦系統真的和搜索引擎太像了,就多了一筆。
- 搜索引擎的輸入為用戶的搜索關鍵詞,推薦系統同樣需要輸入,只是這個過程用戶沒有感知,對推薦系統來說,它的輸入為場景信息,比如時間、地點和設備等。
- 搜索引擎獲得輸入后,會進行關鍵詞處理,對於推薦系統來說,會進行用戶畫像查詢。這個案例中,推薦系統了解到,該用戶在實體詞維度,對NBA感興趣,在分類維度,對體育和科技感興趣。
- 查詢到用戶畫像后,推薦系統就進入召迴環節。它通過多種方式,根據用戶畫像查詢結果“NBA、體育和科技”,從不同索引數據里獲得候選集合。
- 在召回完成後,和搜索引擎一樣,推薦系統按照預定預估目標對候選集進行排序。
- 同樣,推薦系統也需要經過規則干預步驟后,才會將最終結果展示給用戶。
- 對於最後一步,用戶的各種動作行為,在搜索引擎里,會持續優化排序模型,在推薦系統里,還會持續改進自身的畫像。
對以上兩圖進行總結就是下圖,就是想讓你們看的第二張PNG(圖):
推薦系統的本質
通過對搜索引擎和推薦系統的兩張圖,我們大致明白了推薦系統是怎麼個一回事。實際上,推薦系統是一個策略行為。對於策略,他有四要素,分別是:
- 待解決問題
- 輸入(影響解決方案的因素)
- 計算邏輯(將輸入轉換成輸出的規則)
- 輸出(具體的解決方案)
對於今日頭條來說:
它待解決的問題是“從海量的內容中,找到用戶喜歡的內容”;
他的輸入是“用戶畫像和內容特徵”;
計算邏輯:將這些內容特徵按一定規則轉化為喜歡度;
輸出:將內容按喜歡度從高到低排序。
由於我推薦系統的課程還未結束,先不展開這部分內容了。後面博客會對上文進行展開,有興趣的同學,歡迎關注。
說明:以上內容來源於個人閱讀和付費課程的歸納整理。