抖音推薦系統冷啟動

左眼眸子發表於2018-08-19

推薦系統的冷啟動問題是指對於新使用者系統缺乏足夠的資料來捕捉使用者的興趣並有效的推薦內容。這個問題是推薦系統再實際產品應用中的一個主要挑戰。再眾多針對此問題的解決方案中,又一類廣泛使用的方法是鼓勵使用者用社交網路賬號登陸推薦系統。推薦系統可以利用使用者社交網路的資訊(比如關注關係、好友關係、興趣標籤、釋出內容等)初始化使用者的興趣模型,從而進行有效的推薦。

  1. 通過挖掘使用者釋出內容的關鍵字作為使用者興趣關鍵字。
  2. 利用使用者的社交關係吧使用者好友或者關注物件的興趣標籤匯聚到使用者身上。

但在實際應用中,很多使用者都比較敏感自己的隱私問題或者怕麻煩不會選擇社交網路賬號登入推薦產品。據統計,再一些熱門的新聞推薦類的產品中,所有使用者中用微博、QQ、微信等主流賬戶登入的不超過50%。這就是使得現有的方法很難徹底解決推薦系統新使用者的冷啟動問題。

下面我們就來講講抖音是如何解決這類使用者的冷啟動問題的:

  1. 獲取使用者移動裝置資訊,通過該使用者的移動裝置的作業系統獲取使用者的移動裝置型號及安裝再該移動裝置上的所有APP資訊。
  2. 基於協同過濾產生第一推薦列表,將資料庫中與該使用者的移動裝置型號或安裝的APP類似的其他使用者喜歡的內容作為推薦內容生成第一推薦列表
  3. 基於興趣標籤對映產生第二推薦列表,把APP顯式地對映到一個或多個興趣標籤,然後根據每個興趣標籤篩選對應的內容作為推薦內容生成第二推薦列表。
  4. 將上述的第一推薦列或第二推薦列表中的內容推薦給該使用者。

下面我們來看看具體是如何算的:

  1. 篩選常用有區分性的APP。
  2. 選取常見的只能手機機型。
  3. 把APP和機型對映到特定維度。
  4. 對於給定使用者,從該給定使用者的移動裝置資訊中抽取移動裝置特徵向量。
  5. 基於WeakAND演算法找到向量距離和該給定使用者最近的K個使用者。
  6. 統計這K個使用者中點選率最高的內容作為推薦內容。

如何抽取移動裝置的特徵向量:

  1. 將每個APP對映到一個[0, N-1]之間的維度。
  2. 將每個機型對映到一個[0,M-1]之間的維度,與使用者機型對應維度的值為1,其他維度的值均為0.
  3. 使用者安裝的APP對應維度的值為該使用者最近特定天數的使用次數,其他維度的值均為0
  4. 定期分別統計每個APP和常用機型的使用者群體點選率Top K的高點選內容列表。
  5. 給定使用者移動裝置,通過使用者移動裝置安裝的APP和機型分別獲取對應的所述高點選內容列表
  6. 按照對應的APP和機型的權重合並獲取的所述高點選內容列表並將其中的Top N作為推薦內容。

如果維護興趣標籤:

  1. 建立推薦系統自身的標籤資料庫。
  2. 用網頁抓取技術抓取APP應用市場中每個APP的標籤。
  3. 把抓取過來的APP的標籤對映到標籤資料庫中。

相關文章