一篇文章是如何被推薦到你眼前的?

7 評論 9442 瀏覽 71 收藏 15 分鐘

筆者以獨特的角度入手,以一篇文章自白的角度講述了個性化推薦的功能邏輯。

“hi,我是魏無羨,我出生后被送到一個內容庫,在這里遇到了很多師兄弟,在一個個黑盒子里,我們身上被打上了N個不同的標簽來表明我們的出生地、武功高低、門派風格等等,經過各種試煉檢驗,有些師兄弟被淘汰了,而我順利通過了審核進入下發環節。我依靠著一身武藝和好的身世背景,順利進入尖子班,并在每一階梯流量中脫穎而出?!?/p>

現代人每天都在接觸個性化推薦,例如常刷的今日頭條、騰訊新聞、抖音等APP。

個性化推薦是特定場景下人和信息更有效率的連接,粗顆粒度理解就是斷物識人:左邊是內容(斷物),右邊是用戶(識人),中間通過推薦引擎鏈接兩者,追求的是一種高效連接。

在開篇的自白里,高質量下發的核心:識別藍忘機愛的是魏無羨,并且把魏無羨推給他。

魏無羨:我經歷的各種“黑盒子”——內容庫

各式各樣的黑盒子,都是為了建立人機結合的用戶喜愛的高質量內容生成系統,這個實時、高效的系統需要具備哪些特征?

  1. 能夠持續發掘“高質量”內容;
  2. 能夠持續發掘用戶興趣;
  3. 能夠給用戶發送感興趣的“高質量”內容。

個性化推薦從一個好的內容庫開始(第一個黑盒子),目的是為個性化推薦提供精準的內容數據基礎,為了創造一個好的內容庫,要做哪些工作?

總地來說,是把不能分發或影響體驗的內容剔除:

  1. 硬質量過濾:如排版錯誤、言之無物等
  2. 低俗色情過濾
  3. 敏感惡心過濾
  4. 高度一致過濾
  5. 政審安全過濾
  6. 推薦優化:標題、圖片、正文等優化
  7. 其他

除了部分運營內容外,推出的內容基本來自內容庫,內容的質量奠定了個性化推薦的基調。內容庫里的內容根據一定規則形成內容候選,機器就開始挑內容進行后續的個性化推薦。

魏無羨奔向的藍忘機長啥樣? ——用戶畫像

如果你介紹一位朋友,在不同的場合,你也許會有不同的介紹方法。

  • 在公司,你會介紹他是一位牛逼的開發大大;
  • 在球場,你會介紹他是北大的流川楓;
  • 在相親局,你會介紹他是你“兩眼淚汪汪”的同鄉。

正是因為事物具有多面性和復雜性的特點,不是一兩個詞就能概括全的。標簽實質上是我們對多維事物的降維理解,抽象出事物更具有表意性、更為顯著的特點,所以需要有針對性的投射,以換取信息匹配效率最大化。

用戶畫像根據用戶自然屬性、社會屬性、閱讀習慣和線上行為等信息抽象出的一個標簽化的用戶模型,常用于用戶數據化、個性化推薦、各大業務支撐等等。簡單概括為“他是誰”,“他喜歡什么”,為個性化推薦提供豐富而精準的用戶畫像。

資訊推薦的用戶畫像一般會分為長期畫像和短期畫像,前者為離線處理,后者為在線處理。

  • 長期畫像:是一段時間內的行為+用戶自主選擇或填寫的畫像+外部渠道補充的畫像等,相對穩定。
  • 短期畫像:是近幾天的行為(例如近7天內點擊的100條item),受時間衰減影響較大。
  • 綜合畫像:是以上兩者融合。

用戶畫像的建立更像一門統計學,在處理數據的時候有些關注點:

  • 噪音處理:如熱門事件會有惡意噪聲
  • 時間衰減:自建短期模型,新動作提高權重
  • 反向懲罰:如曝光未點擊進行懲罰
  • 歸一化:使計算結果具有可比性
  • 其他

除了用戶在APP的閱讀行為,完善用戶畫像還有哪些路徑?

  • 外部渠道數據(渠道、喚醒物料、矩陣畫像、APPlist等);
  • 借助產品設計(如新手引導的興趣預選);
  • 借助運營活動(如支付寶活動收集好友關系)。

畫像優化如何評估?

以下指標可供參考:

  • 畫像覆蓋率、人均畫像個數;
  • 畫像準確率:離線人工評估->在線abtest(點擊率、時長等指標)。

關于用戶畫像,還有一點需要了解:不是有了用戶畫像,便能驅動和提高業務,而是為了驅動和提高業務,才需要用戶畫像。

藍忘機還記得魏三歲的好嗎?——NLP

藍忘機已有畫像,魏無羨的標簽怎么打?也就是機器怎么做?

資訊推薦常見的標簽有:分類(CATEGORY)、興趣點(POI)、關鍵詞(TAG)、主題(TOPIC),顆粒度由小到大:KEYWORD<TAG<POI<TOPIC<CATEGORY。

KEYWORD

  1. 思路:與文章關聯度越高,出現頻次越高,與別的詞關聯度越高,其重要度就越高。
  2. 算法:tfidf,textrank,embedding。

TAG

  1. 思路:人工標注(行業知識庫)、機器候選
  2. 算法:分詞+關鍵詞提取+詞典匹配(保留命名實體)

POI

  1. 思路:人工整理基于關鍵詞的實體興趣點(POW,如:彩票)+概念興趣點(POC,如:財經)
  2. 算法:分詞+關鍵詞抽取+詞典匹配

TOPIC

  1. 思路:隱式主題,粒度比分類細
  2. 算法:機器無監督學習,聚簇,難點是數據預處理 + 調參

CATEGORY

  1. 思路:(有監督)機器學習模型或深度學習模型
  2. 其他:資訊類APP的分類,少則幾十,多則上百,層級多為2-5級,應用分類時必須考慮分類權威性和信息完備性問題,避免因為子節點覆蓋不全或分類錯誤導致的認知問題。

過往標簽推薦較多,現在更多嘗試向量化(embedding)推薦,即把特征表征為多維向量,可通過距離衡量語義相關性,YouTube的視頻推薦率先實踐。

給想了解深度學習(Deep Learning)的產品汪推薦《Deep Learning with Python》[美]弗朗素瓦·肖萊 著,閱讀第一章即可(畢竟是一本開發教程書),詳見下一篇推送。

通過所有特征標注,魏無羨隨千軍萬馬過獨木橋 ——召回

打上標簽的內容一起涌來,機器怎么挑?在召回環節,通過索引,幾十個召回模塊一共召回幾千條內容,各召回模塊的召回條數有限制,例如本地召回限制最多召回30條內容,召回的內容會根據一定條件(例如CTR、篇均時長、互動指標等)排序后截斷,所有召回模塊召回的內容匯總到一塊,成為一個初步的候選集。

這些召回模塊都有他自己存在的理由,例如根據地理位置的召回、根據分類興趣的召回、根據關鍵詞的召回、根據熱議度的召回等等,都是產品經理或開發的想法的一種嘗試,大致可分為四類:

1. 興趣

  • 基于內容及用戶模型進行推薦;
  • 基于訂閱收藏等互動行為進行推薦。

2. 協同

  • 基于內容:內容的協同
  • 基于用戶:用戶的協同
  • 基于用戶:內容的協同

3. 熱門

  • 流量熱門推薦:用戶行為表現熱門的內容;
  • 事件熱門推薦:最近發生的熱搜事件。

4. 本地

  • 本地內容推薦;
  • 地域內容推薦。

產品汪基于業務需求,在召回模塊的探索有:增減召回模塊、召回模塊邏輯/效果優化、調整召回條數配額。

此類abtest除了關注整體指標外,還需要關注對召回模塊的影響:

召回過后會有一個小的過濾環節,主要是一些拉黑過濾,重復過濾等等,把一些不能推或影響體驗的內容過濾掉。此環節的過濾和索引前內容候選的過濾不同,前者是具有普適性的過濾(例如低點擊過濾、過期過濾等),后者和用戶的行為、屬性有關。

尖子生魏無羨重新加持,開始 CTR PK 環節——排序

排序環節關注三個詞:模型、特征和權重。

  1. 模型:如LR、XGBoost等,單模型或多模型融合都有可能。
  2. 特征:一般有幾百個,如分類、興趣點、閱讀時長、閱讀速度等等,應有盡有,只怕你想不到。
  3. 權重:特征之間相互PK,權重高的特征對排序結果影響較大,權重可以是機器學習的自然結果,也可能是人工干預的結果。

所以CTR工程師的工作就是選擇模型、采樣數據優化、增刪特征和調參,字少事大的又一典型。

奔向藍忘機之前,魏無羨還要過一道人工坎——重排

重排環節主要處理一些業務規則。例如視頻推薦占比不超過60%、第2個位置固定出運營內容、相同興趣點新聞黏連不能超過3條等等,都需要在重排環節處理,這塊代碼是開發最不忍直視。

規則是最快的上線生效途徑,可以用于糾偏、提權等操作。例如,希望增加視頻推薦,一開始可在重排環節強出視頻(召回環節簡單做),保證視頻的曝光增多,abtest驗證加入視頻推薦可行后,再從內容池、召回等環節精細化開發,走一個較長的排期。

總地來說,短期的人工干預應該逐步被長期的機制所替換。過多的“補丁”會嚴重增加系統的復雜度,降低可理解性。所以更建議優化召回模塊優先于排序模塊,因為修改召回模塊擴充候選集能擁有更多可能性;而主觀修改排序模塊則極有可能損失公平,降低效率。

Happy Ending

最終下發8-12條,魏無羨奔向屏幕前的藍忘機,有情人點擊閱讀,終成眷屬。

有的人覺得個性化推薦是“APP更懂我”,但其實個性化推薦的過程不僅具有個體進化意義,還具有群體評估意義,就拿正文頁末的“喜歡”、“不喜歡”按鈕來說:

  1. 個體進化意義:當用戶點擊“喜歡”按鈕時,是主動表達他喜歡這類內容,次數可以表示程度,用戶畫像得到完善,可加權推薦此類內容。
  2. 群體評估意義:當內容的“不喜歡”數累積到一定閾值,結合賬號等級,內容將進入人工復審進行質量判斷;若累積到一個高閾值,將直接下撤內容或回爐再造(大概率是降低體驗感的差內容),起到維護內容生態的作用。

以上是智能推薦系統的整體概念,其中的去重、相似推薦、本地推薦、新文章冷啟動、相關視頻推薦等等,每一模塊都可以是獨立業務,精細化做起來都是滿滿的工作量,學無止境。

(推薦系統示例)

結語

引用閆澤華在《內容算法》里寫的:

個性化的好:在既定的指標體系下,借助技術手段不斷追求更好的數據表現,是生意。

好的個性化:在不改變用戶目的的前提下,借助技術手段達成用戶效率和體驗提升,是理想。

 

本文由 @張小喵Miu 原創發布于人人都是產品經理,未經作者許可,禁止轉載。

題圖來自Unsplash,基于CC0協議。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 一年產品狗表示好多看不懂、(.﹒?︿﹒?.)

    回復
    1. 加油 ??

      來自浙江 回復
  2. 很強。

    回復
  3. 可以加你好友嗎?相互交流學習

    來自四川 回復
    1. 可以通過公眾號“XO喵妖”交流學習 ??

      來自浙江 回復
  4. 工作相關的文章 也不讓我從忘羨坑底爬起來的么 ??

    來自四川 回復
    1. 忘羨魔力太大 ??

      來自浙江 回復