馬斯克的 " 開源承諾 ",終于如約而至。
就在剛剛,馬斯克正式宣布:
大部分(Twitter 的)推薦算法将在今天開源,剩下的也會跟進。
而且馬斯克緊接着亮出了 GitHub 上 Twitter 推薦算法源代碼的地址。
僅僅數小時,便攬獲上萬個 Star:
除此之外,馬斯克還表示:
推特将每 24 到 48 小時更新一次基于用戶建議的推薦算法。
至此,這個号稱每天從 5 億條推文做推薦的大算法的廬山真面目,終于得以露出。
Twitter 的推薦算法長什麽樣?
據介紹,Twitter 的推薦系統基于一組核心模型和功能,可以從推文、用戶和互動數據中提取潛在信息。
這些模型的作用是回答 Twitter 網絡中的重要問題,例如," 未來你與另一個用戶互動的概率是多少?" 或者,"Twitter 上有哪些社區以及其中的趨勢推文是什麽?"
若是能夠準确回答這些問題,就可以讓 Twitter 提供更多相關的推薦。
Twitter 的推薦系統由三大部分構成:
從不同的推薦源獲取最好的推文,這個過程稱爲候選源。
使用機器學習模型對每條推文進行排名。
應用 heuristics 和 filters,例如過濾來自已屏蔽用戶的推文、NSFW 内容和已看到的推文。
負責構建和提供 "For You" 時間軸的服務被稱爲 "Home Mixer"。
"Home Mixer" 建立在 "Product Mixer" 之上,這是定制的 Scala 框架,有助于構建内容的動态流。
這項服務作爲軟件主幹,連接不同的候選源、評分函數、heuristics 和 filters。
候選源(Candidate Sources)
Twitter 使用多個候選源來爲用戶檢索最近和相關的推文。
對于每個請求,推特嘗試通過這些源從數億條推文池中提取最佳的 1500 條。
從您關注的人(内部網絡)和不關注的人(外部網絡)中尋找候選人。
如今," 爲您推薦 " 時間軸平均由 50%的内部網絡推文和 50%的外部網絡推文組成(盡管這可能因用戶而異)。
内部網絡資源(In-Network Source)
内部網絡資源是最大的候選來源,旨在提供關注的用戶最相關、最新的推文。
它使用邏輯回歸模型高效地對關注的人的推文進行排名,以其相關性爲基礎。然後将排名最高的推文發送到下一階段。
排名内部網絡推文最重要的組成部分是 Real Graph。
Real Graph 是一種模型,用于預測兩個用戶之間的互動可能性。用戶和推文作者之間的 Real Graph 分數越高,就會包括更多他們的推文。
内部網絡來源最近成爲 Twitter 的研究對象。最近 Twitter 停止使用 Fanout 服務,這是一個 12 年前用來從每個用戶的推文緩存中提供内部網絡推文的服務。
外部網絡資源(Out-of-Network Sources)
在用戶網絡之外尋找相關的推文是一個棘手的問題。
因爲如果你不關注作者,怎麽知道某條推文是否與你相關?
爲此,Twitter 采取了兩種方法來解決這個問題。
一個是社交圖(Social Graph)。
這個方法是通過分析你關注的人或有相似興趣的人的活動,來估計你會發現什麽是相關的。
主要遍曆參與的圖,并按照以下步驟回答以下問題:
我關注的人最近在 Twitter 上發了什麽消息?
誰和我一樣喜歡類似的推文,他們最近還喜歡什麽?
團隊根據這些問題的答案生成候選推文,并使用 Logit 模型對産生的推文進行排名。
這種類型的圖形遍曆對于外部網絡推薦是必不可少的;團隊開發了 GraphJet,一個維護用戶和推文之間實時交互圖的圖形處理引擎,來執行這些遍曆。
雖然這種搜索 Twitter 參與和關注網絡的啓發式方法已經被證明是有用的,但嵌入式空間方法已經成爲外部網絡推文的更大來源。
第二個是嵌入空間(Embedding Spaces)。
嵌入式空間方法旨在回答一個關于内容相似性的更普遍的問題——什麽推文和用戶與我的興趣相似?
Embeddings 通過生成用戶興趣和推文内容的數字表示來工作。然後可以計算這個嵌入空間中任意兩個用戶之間的相似度,推文或用戶 - 推文 對。
隻要生成準确的 embedding,就可以使用這種相似性作爲相關性的替代。
Twitter 最有用的嵌入空間之一是 SimClusters。
SimClusters 使用自定義矩陣分解算法發現由一群有影響力的用戶錨定的社區(有 14.5 萬個社區,每三周更新一次)。
用戶和推文在社區空間中表示,并且可以屬于多個社區。社區的規模從個人朋友群的幾千名用戶到新聞或流行文化的數億用戶不等:
……
更多與之相關的詳細内容,可戳文末鏈接 ~
One More Thing
Twitter 的算法開源了,然後手快的網友吧……都已經開始根據算法總結怎麽成爲大 V 了:
你關注的人數和關注你的人數比例很重要、訂閱 TwitterBlue 有一定作用……
參考鏈接:
[ 1 ] https://blog.twitter.com/engineering/en_us/topics/open-source/2023/twitter-recommendation-algorithm
[ 2 ] https://github.com/twitter/the-algorithm
[ 3 ] https://twitter.com/elonmusk/status/1641874582473695246
[ 4 ] https://twitter.com/steventey/status/1641892386564640768?s=46&t=iTysI4vQLQqCNJjSmBODPw