知乎:源自社區又服務於社區的 AI 技術

「知乎希望利用 AI 技術打造一個智能社區。」

每次知乎的技術負責人公開談及人工智能技術,「智能社區」都是一個繞不開的詞彙。然而「智能社區」也是一個相對陌生的概念:如今研究者與工程師們明確了深度神經網絡在語音、圖像和自然語言數據上的作用,並將它們進行逐一的細化和延展成了種種「智能應用」。然而「智能社區」是什麼?

「每個人來到知乎,都能快速看到他感興趣的人和內容,他的疑問可以被極速送達到有意願和能力回答的人,他也會快速遇到讓他拍案的好問題,分享只有他最懂的信息,收穫最令他滿足和愉悅的認同,與他希望遇到的人產生有價值的交流、討論,甚至爭執。這一切會是這個時代的思考和總結。我們會以從未有過的效率,創造思維的連接。讓每個個體的思考和經驗,被分享,被篩選,被總結,被轉化成為這個時代的知識。知識的生產方式和迭代效率會因為這樣的連接發生質的改變。」這是知乎合夥人、高級副總裁李大海對智能社區的定義。

然而為什麼選擇 AI 技術實現這一目標?AI 技術為社區帶來了哪些變化?五月,機器之心來到知乎,希望找到這些問題的答案。

知乎:源自社區又服務於社區的 AI 技術

請輸入描述

不是「哪裡有 AI」而是「處處皆 AI」

知乎誕生的初心是認為「在信息爆炸的互聯網海洋中,有價值的信息仍然是稀缺的」。而其中最有價值的部分,是那些深藏在某些特定用戶的腦海中的知識、經驗與見解。平臺需要對這些內容進行大量的挖掘與沉澱工作,才能讓它們被真正需要的用戶利用起來。完成這樣的工作需要龐大的用戶基數——這一點知乎已經通過成為最大的中文知識分享平臺做到了。而規模也帶來了問題多樣性的指數級增長,讓原有的產品機制開始「失效」,對排序、推薦算法都提出了更高的需求,這就是 AI 技術引入的必要性。

這個過程與深度學習本身的興起邏輯是一致的:當數據的數量超出一定範圍,人類就很難從大量數據中找到規律,需要在自己設置設計模型結構的基礎上,引入可訓練的模型,讓機器幫助研究者完成參數的選擇。而當數據的維度也超過一定範圍時,進行特徵提取變成了需要消耗大量人力物力進行試驗的工作,因此研究者進一步引入可訓練的特徵提取器。

「AI 技術的引入讓每一個人持有的信息都能高效地被髮掘、得到交流、並且通過大家評價的過程進行過濾。換言之,整個知識生產的方式、節奏和效率都得到了質的變化,知識的生產與消費、社區的建立與管理,都變成了一個不一樣的過程。」李大海總結道。

在這樣的一個智能社區裡,對 AI 技術的應用情況是十分驚人的。當我們試圖從業務邏輯對知乎對 AI 的應用進行梳理,會發現從內容生產、消費到用戶連接與社區管理,每一個過程都涉及不同的機器學習問題,放眼望去,與其說「哪裡有 AI」,不如說「處處皆 AI」。

內容的分發和消費部分,按照情景可以分為首頁信息流、搜索和相關推薦等。在信息流部分,李大海特別強調,「知乎的信息流設計與其他平臺有所不同的地方在於,知乎希望用戶來探索更大的世界而不是進入信息繭房,因此我們特別注重在信息流裡拓展用戶的興趣邊界。」除此之外,搜索是典型的文本與問題之間相關性迴歸問題,而相關推薦則既可以基於用戶進行,也可以基於問答文本進行,可以用協同過濾(Collaborative Filtering)的方法進行,也可以用深度表示的方法進行。

連接和治理則是社區特有的需求,知乎在連接方向的追求是「讓人發現更多有趣的靈魂」,本質上是理解用戶價值觀、興趣,然後進行推薦的過程。而治理則是甄別不同類別的低質行為(如答非所問、軟文)和不友善行為(陰陽怪氣、貼標籤),以針對不同情況進行不同處理,降低對討論氛圍的影響。

而除了業務邏輯主線的各個部分外,AI 技術也幫助進行了眾多的細節優化,比如如何對不同呈現形式的信息流進行針對性渲染:如何挑選封面圖、挑選後如何進行

裁剪操作,以在首頁的卡片中呈現更多信息量,幫助用戶判斷是否要進行消費。

「知乎從 16 年起進行開始引入機器學習相關算法,最開始從經典機器學習方法開始(例如梯度提升決策樹(GBDT)),再逐步替換成深度神經網絡(DNN)的新方法。」李大海也提到了在業界的深度學習方法迭代之迅速,「一、兩年前,帶注意力機制的雙向 LSTM 模型還是一個『新方法』,如今已經是一個『經典方法』了。」

內容消費裡的 AI 技術:從首頁信息流說起

當你打開知乎,你看到的是什麼?

知乎的「推薦」信息流是首頁裡十分重要的一欄。用戶在這裡可以看到符合自己興趣的內容,當下的一些熱點討論,也有知乎幫助你拓展興趣邊界的探索。然而知乎上僅問題與回答就超過 1 億條,其中還有類目繁多的 live、電子書等付費內容。這道擁有超過一億個選項的多選題,沒有任何一個排序算法能獨立給出令人滿意的答案。因此龐大的內容體系決定了,只有分層級的排序系統才能勝任這個任務。

知乎的首頁負責人張瑞用一張架構圖為機器之心詳細地描述了這個名為「水晶球」的推薦系統的組成。

知乎:源自社區又服務於社區的 AI 技術

首頁上出現的內容經歷過兩次排序。第一次是從數十個推薦隊列裡被「召回」,第二次是在合併後經過深層神經網絡(DNN)的「排序」。

「召回」的第一個步驟是,召回模塊根據用戶的歷史行為表現(用戶畫像),確定數十個推薦隊列,或者說數十個「召回源」的召回比例和召回數量。

推薦隊列是一個個含有特定標籤的內容合集。有些隊列裡內容性質相似,比如熱點新聞隊列、視頻隊列。還有的隊列與用戶行為緊密相關,比如關注的人隊列、搜索關鍵詞隊列。

「召回」過程的第二個步驟是各召回源根據用戶的需求分別將自己的隊列中的內容做排序後,按召回數量返回內容。

整個「召回」過程都是以用戶為中心的、高度個性化的:

比如一個初來乍到的新用戶還沒有「關注的人」,召回模塊就不會從關注的人隊列拉取內容,而是轉向興趣探測隊列,幫助算法更好地瞭解用戶。

再比如今天的視頻類內容非常豐富,但是根據用戶畫像,這位用戶極少消費視頻內容,那麼召回模塊仍然只會從視頻隊列請求三條內容,視頻隊列也只推薦三條最符合用戶需求的內容。

而不同的推薦隊列長度從幾千到數十萬各有不同、召回過程中採用的排序方法也各有不同。有的召回源會對用戶和內容都做嵌入式表示 (embedding),進而通過內積的方式確定召回的對象;還有的召回源,比如關鍵詞隊列,會採用倒排索引的方式,用自然語言處理的方式把內容打上標籤,然後針對用戶的關鍵詞需求,組建倒排索引,進行召回。

「召回」過程會選出數百條候選內容進入「排序」過程,最後,DNN 可以在一百毫秒內對這數百條完成打分和排序過程,決定推送給用戶的內容。

「我們把系統命名為『水晶球』,是希望能夠通過這個系統得以一窺用戶想要看到什麼內容,然後推薦給他。」

排序算法進化史:從 edgerank 到深度神經網絡

張瑞也為我們講述了首頁信息流的「算法進化史」。

「首頁一開始是基於 edgerank 算法進行簡單的算法排序,後來逐漸引入了以 GBDT 為主的機器學習排序技術,現在這個階段會把深度神經網絡技術(DNN)應用在召回和排序的各個階段,現在的大部分推薦結果都是通過神經網絡推薦的。」

現在的 DNN 模型本質上是一個用於預測的迴歸模型,預測的對象是用戶是否對一條內容感興趣。迴歸的目標是一個與興趣相關的用戶行為的綜合打分:用戶是否有點擊、是否進行閱讀、閱讀了多長時間、是否收藏、是否有正面或負面的評論等等。

預測所使用的特徵主要可以分為三類:用戶相關、內容相關以及上下文相關。用戶相關的特徵包括用戶畫像、用戶一段時間內的閱讀歷史等等,內容相關的特徵包括內容的標籤、贊數、歷史點擊率等,上下文特徵則是可能影響用戶行為的時間空間特徵。例如用戶在早上可能會偏好閱讀與成長相關的內容,晚上則更多閱讀泛興趣類內容。

預測模型主體是一個多路徑網絡結構:一個四層的神經網絡把用戶特徵都表達為一個 256 個浮點數輸出單元的向量,另一個神經網絡把內容特徵提取為另一個 256 維的向量,兩個向量與代表上下文的向量一起,經過一個兩層的全連接神經網絡,輸出最後的預測結果,即用戶感興趣的程度。

DNN 排序模型的前身是 GBDT 模型。「GBDT 模型的缺點來自它能接受的數據規模。」張瑞介紹道,「我們曾經做過實驗,分別用 2000 萬和 2 億條數據訓練同樣的 GBDT 模型,得到的模型效果沒有太大區別,換言之,數千萬的數據量,已經達到了 GBDT 的容量極限。而這正是深度學習模型的優勢所在:更大規模的數據、更多的特徵會進一步增加深度學習模型的效力。如今在線上對排序階段的內容進行打分的就是我們使用數億條樣本訓練的一個 DNN 模型。」

張瑞也展示了兩張 DNN 模型的引入在用戶數據上得到的體現:

知乎:源自社區又服務於社區的 AI 技術

「在半年的時間裡,用戶在線時長取得了 50% 的增長。用戶人均在線時長是每個用戶每天使用信息流的平均時間長度,是一個代表了用戶興趣的良好指標,1 月開始的第一波增長來自於召回逐漸開始使用 DNN 技術,3 月開始的增長主要對應排序開始使用 DNN 模型的過程。」

他還格外興奮地講述了點擊率「下降」背後的故事:

「我們發現,完全基於用戶反饋進行推薦後,用戶的表現會表現出趨同性——大家都去看熱門的、吸引眼球的內容。我們覺得這雖然增加了點擊率,但給用戶帶來的整體體驗是不好的。所以我們通過產品策略等手段對這部分內容進行了比例上的調整,控制吸引眼球但是對用戶成長作用不大的內容的比例,提高知識型內容的推送比例。」

這樣的產品策略變動必然引起了點擊率的下降,「但是在線時長仍然在穩定的增長,說明用戶對我們的改進是認可的。我們希望大家不只是刷知乎的時候很開心,之後也能獲得成長。新聞是有時效性的,但知識是不會隨著時間貶值的。我們希望算法能夠挖掘到長效的優質內容,把這部分內容傳遞給用戶。」

知乎的獨一無二:以社區為基礎的 AI

作為一個獨一無二的社區,知乎在利用 AI 技術方面有著明確的優勢:

「知乎的特長在於我們擁有非常多附帶用戶行為的語料。我們很少去進行人工數據標註,而是更多地利用語料與行為數據之間天然的相關關係。」李大海說。

這些數據都可以轉化為大量的高質量標註數據。尤其是對於自然語言領域這類主觀性更強、不容易獲得「標準答案」的問題而言,用戶反饋是最高質量的標籤。

知乎的另一個特長在於明確的落地場景和非常願意表達的用戶群體。

張瑞也談及了知乎的「推薦算法成長」與「用戶成長」之間密不可分的關係。

「我們用成熟穩定的內容幫助新用戶完成興趣探測,也向成熟穩定的用戶群體投放新內容判定內容的質量。」張瑞說。

而另一方面,知乎的算法初步判定可能為「優質」的新內容則會被隨機分發給在相關話題下表達出強烈興趣的老用戶,由他們給出反饋來判斷一條內容是否真的優質,是否值得進行更大範圍的分發。

知乎明確的場景意味著算法與用戶可以有針對性地快速迭代、優化,形成閉環,而願意明確表達的用戶則在閉環中提供最重要的一環:及時的反饋。

現在,知乎也在致力於將自己的優勢以數據集與數據競賽的形式開放向學術界與業界。

今年,知乎和中國信息檢索學術會議(CCIR)、清華大學計算機系信息檢索課題組(THUIR)一起舉辦了「移動環境下知識分享平臺上的內容推薦」比賽。拿出了來自超過七百萬名用戶的兩千四百餘萬條知乎移動端信息流推薦數據,讓選手從一個約六萬條的內容候選集合中產生推薦給用戶的內容列表。

「我們希望以這種形式回饋學術界一些真實的問題和一些真實的數據,讓他們能夠做一些更有意思的研究。」李大海提到,「有非常多的實驗室找到知乎,說『你們的數據太好了,我們能不能和你們合作。』如果大家都有這種需求,我們不如以數據集和數據競賽的形式把資源開放給大家。」

除了學術界以外,業界的交流以及人才的引入也是知乎格外看重的方面,「知乎一直在紮實地做事情,我們也希望業界能夠知道,也希望有更多機會和同行進行交流。另外也希望能夠在這個過程中發現人才。以智能社區為目標的話,我們的人才需求仍然在日益擴大,仍然需要非常多新鮮血液加入進來。」


分享到:


相關文章: