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

 本文作者: 魏無羨 

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

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

現代人每天都在接觸個性化推薦,例如常刷的今日頭條、騰訊新聞、抖音等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. 羣體評估意義:當內容的“不喜歡”數累積到一定閾值,結合賬號等級,內容將進入人工複審進行質量判斷;若累積到一個高閾值,將直接下撤內容或回爐再造(大概率是降低體驗感的差內容),起到維護內容生態的作用。

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

(推薦系統示例)

結語

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

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

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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章