?編譯 | 王瑞平
審校 | 云昭
3月的最后一天,推特的推薦算法終于在Github上開源了,馬斯克的承諾兌現了。
圖注:馬斯克在推特上表示,上周發布的是“大部分推薦算法”,并表示其余部分將在未來發布
按照馬斯克之前的承諾,上周,Twitter已在GitHub上發布了“時間軸上顯示哪些推文”的代碼,并發布了一篇博客文章闡述了具體細節。
博客文章特別深入介紹了推薦算法的工作原理。開源代碼的做法不僅幫助馬斯克兌現了承諾,還有助于增加用戶信任度、利于產品優化改進。
1、Twitter的推薦算法
文章詳細描述了算法執行的每一步,并介紹了推薦系統由許多相互關聯的服務和工作組成。雖然Twitter的很多區域都推薦推文(往往以搜索、探索、廣告的形式出現),但是,這篇文章主要介紹了For You時間軸上的推薦系統。
Twitter每時每刻都在為用戶提供來自世界各地的新聞。這就需要一種獨特的推薦算法,從每天發布的大約5億條推文中提煉出幾條最熱門的推文,最終顯示在設備的For You時間軸上。
具體來講,推薦的算法系統以一組核心模型和功能為基礎,從Twitter、用戶和參與度數據中提取潛在信息。模型旨在回答關于Twitter網絡的重要問題,比如,“你未來與另一個用戶互動的概率是多少?”“Twitter上有哪些社區,這些社區里有哪些熱門推文?”準確回答這些問題可以讓Twitter提供更相關的建議。
推文途徑主要由3個階段組成:第一個階段,系統會從不同的推薦源獲取最好的推文,這個過程稱為推薦源候選;第二個階段,系統會使用機器學習模型對每條推文進行排名;第三個階段,啟發式和過濾器開始執行命令,例如,過濾來自已經屏蔽的用戶的推文、不適合在上班時瀏覽的內容和已看到的推文。
順便說一句,負責構建和服務For You時間軸的服務系統叫做Home Mixer。它構建在Product Mixer上,是自定義的Scala框架,可以方便地構建內容提要。該服務充當連接不同候選源、評分函數、啟發式和過濾器的軟件主干。
2、For You時間軸模型
模型的關鍵部分以在單個時間軸請求期間的調用順序開展,首先需要從Candidate Sources中檢索出候選源。
Twitter有幾個候選源,用來為用戶檢索最近的和相關的推文。對于每個用戶請求,系統試圖通過候選源從數億條推文中提取出最好的1500條推文。然后,從你關注的人(網絡內)和你不關注的人(網絡外)中尋找候選源。
具體來講,For You時間軸可以讓用戶時間軸中大約有50%來自用戶關注的人(稱為“內部網絡”)的推文,以及50%來自用戶沒有關注的“外部網絡”賬戶的推文。排名旨在“優化積極參與(例如,點贊、轉推和回復)”,最后一步將試圖確保用戶不會看到太多來自同一個人的推文。
3、內部與外部網絡消息源
下面再來具體介紹下上文提到的內部與外部網絡消息源。內部網絡消息源是最大的候選消息源,旨在提供你關注的用戶最新發布的最相關推文。它使用邏輯回歸模型根據你關注的推文的相關性有效地排名。排名靠前的推文會被送到下一個階段。
內部網絡消息源最重要的組成部分是Real Graph(實數圖)。Real Graph是一種預測兩個用戶之間產生互動可能性的模型。用戶和推文作者之間的Real Graph得分越高,模型中就會包含更多他們的推文。
那么,什么是外部網絡消息源呢?眾所周知,在用戶所關注的網絡之外尋找相關推文是一項棘手的問題,原因是如果用戶不關注作者,怎么知道某條推文是否與其相關?Twitter采取了兩種方法解決這個問題。
系統根據這些問題的答案生成候選推文,并使用邏輯回歸模型對結果推文進行排名。
第二種方法是構建嵌入空間,旨在回答系統關于內容相似性的更普遍問題:哪些推文和用戶與我的興趣相似?
嵌入空間的工作原理是生成用戶感興趣和推文內容的數字表達式。然后,用戶可以在這個嵌入空間中計算任意兩個用戶、推文或用戶-推文對之間的相似性。如果生成準確的嵌入,模型可以用這種相似性替代相關性消息。
例如,Twitter最有用的嵌入空間之一是SimClusters。SimClusters使用自定義矩陣分解算法,能夠發現由有影響力的用戶集群錨定的社區。目前,共有145000個社區,每三周更新一次。社區的規模從個人朋友群的幾千用戶到新聞中出現的數億用戶不等,下圖展示出一些最大的社區:
4、For You時間軸上的排行
下面再來介紹下推薦途徑的第二階段,即推文排名。For You時間軸上的排名是通過一個約48M參數的神經網絡實現。該神經網絡不斷地訓練推文交互,以優化積極的參與度(例如,點贊、轉發和回復)。這種排名機制“考慮”數千個特征,并輸出10個標簽給每條推文打分。每個標簽代表用戶參與的概率,根據分數對推文進行排名。
5、將推文發送至設備
在排名階段之后,啟發式和過濾器能夠幫助優化推文功能。這些功能共同創建出平衡和多樣化的推文質量,包括:根據內容和個人喜好過濾推文、避免同一作者連續發布過多推文、確保網絡內和外的推文數量平衡。
Home Mixer將推文準備發送到終端設備。系統將推文與其它非推文內容(如,廣告、關注推薦和登錄提示)混合在一起,這些內容將返回到終端上顯示。至此,一個完整的推文過程就結束了。
6、Twitter未來的動作
未來,Twitter將以此為基礎,不斷打造出更好的分析平臺,為創作者提供更多關于覆蓋面和參與度的信息。并且,用戶推文或賬戶上的任何安全標簽都會變得更透明。
為此,Twitter正在努力尋找新的機會擴展其推薦系統,包括:新的實時功能、嵌入和用戶表示,旨在構建出世界上最有趣的數據集和用戶基礎。但是,Twitter也將因此面臨來自開源社區的潛在競爭。
參考資料:
https://blog.twitter.com/engineering/en_us/topics/open-source/2023/twitter-recommendation-algorithm
https://www.theverge.com/2023/3/31/23664849/twitter-releases-algorithm-musk-open-source