「知乎希望利用 AI 技術打造一個智能社區(qū),?!?/p>
每次知乎的技術負責人公開談及人工智能技術,「智能社區(qū)」都是一個繞不開的詞匯。然而「智能社區(qū)」也是一個相對陌生的概念:如今研究者與工程師們明確了深度神經(jīng)網(wǎng)絡在語音,、圖像和自然語言數(shù)據(jù)上的作用,并將它們進行逐一的細化和延展成了種種「智能應用」,。然而「智能社區(qū)」是什么,?
「每個人來到知乎,都能快速看到他感興趣的人和內容,,他的疑問可以被極速送達到有意愿和能力回答的人,,他也會快速遇到讓他拍案的好問題,分享只有他最懂的信息,,收獲最令他滿足和愉悅的認同,,與他希望遇到的人產(chǎn)生有價值的交流、討論,,甚至爭執(zhí),。這一切會是這個時代的思考和總結。我們會以從未有過的效率,,創(chuàng)造思維的連接,。讓每個個體的思考和經(jīng)驗,被分享,,被篩選,,被總結,被轉化成為這個時代的知識,。知識的生產(chǎn)方式和迭代效率會因為這樣的連接發(fā)生質的改變,。」這是知乎合伙人,、高級副總裁李大海對智能社區(qū)的定義,。
然而為什么選擇 AI 技術實現(xiàn)這一目標,?AI 技術為社區(qū)帶來了哪些變化?五月,,機器之心來到知乎,,希望找到這些問題的答案。
不是「哪里有 AI」而是「處處皆 AI」
知乎誕生的初心是認為「在信息爆炸的互聯(lián)網(wǎng)海洋中,,有價值的信息仍然是稀缺的」,。而其中最有價值的部分,是那些深藏在某些特定用戶的腦海中的知識,、經(jīng)驗與見解,。平臺需要對這些內容進行大量的挖掘與沉淀工作,才能讓它們被真正需要的用戶利用起來,。完成這樣的工作需要龐大的用戶基數(shù)——這一點知乎已經(jīng)通過成為最大的中文知識分享平臺做到了,。而規(guī)模也帶來了問題多樣性的指數(shù)級增長,讓原有的產(chǎn)品機制開始「失效」,,對排序,、推薦算法都提出了更高的需求,這就是 AI 技術引入的必要性,。
這個過程與深度學習本身的興起邏輯是一致的:當數(shù)據(jù)的數(shù)量超出一定范圍,,人類就很難從大量數(shù)據(jù)中找到規(guī)律,需要在自己設置設計模型結構的基礎上,,引入可訓練的模型,,讓機器幫助研究者完成參數(shù)的選擇。而當數(shù)據(jù)的維度也超過一定范圍時,,進行特征提取變成了需要消耗大量人力物力進行試驗的工作,,因此研究者進一步引入可訓練的特征提取器。
「AI 技術的引入讓每一個人持有的信息都能高效地被發(fā)掘,、得到交流,、并且通過大家評價的過程進行過濾。換言之,,整個知識生產(chǎn)的方式,、節(jié)奏和效率都得到了質的變化,知識的生產(chǎn)與消費,、社區(qū)的建立與管理,,都變成了一個不一樣的過程?!估畲蠛,?偨Y道。
在這樣的一個智能社區(qū)里,對 AI 技術的應用情況是十分驚人的,。當我們試圖從業(yè)務邏輯對知乎對 AI 的應用進行梳理,,會發(fā)現(xiàn)從內容生產(chǎn)、消費到用戶連接與社區(qū)管理,,每一個過程都涉及不同的機器學習問題,,放眼望去,與其說「哪里有 AI」,,不如說「處處皆 AI」,。
內容生產(chǎn)部分,可以分為問題提出與問題路由,。問題提出是一個從用戶的查詢中識別出意圖,,發(fā)現(xiàn)知乎現(xiàn)在還無法滿足的意圖,引導用戶進行提問,,并根據(jù)用戶的意圖生成合理的問題的過程,,得到提問和描述后,后臺的卷積神經(jīng)網(wǎng)絡模型會從知乎超過二十五萬個話題中選擇出最匹配的話題,,進行話題的推薦和綁定,。問題路由則是如何分發(fā)問題以讓合適的用戶看到問題,、激發(fā)他們的創(chuàng)作欲望,。這就是一個典型的機器學習排序(learning to rank)問題。先在眾多用戶中通過召回定位合適的范圍,,然后通過 pointwise/pairwise/listwise 等排序方法,,找出最有可能接受邀請以及最有可能產(chǎn)生優(yōu)質回答的用戶,進行推薦,,或讓用戶選擇委托系統(tǒng)進行邀請,。
內容的分發(fā)和消費部分,按照情景可以分為首頁信息流,、搜索和相關推薦等,。在信息流部分,李大海特別強調,,「知乎的信息流設計與其他平臺有所不同的地方在于,,知乎希望用戶來探索更大的世界而不是進入信息繭房,因此我們特別注重在信息流里拓展用戶的興趣邊界,?!钩酥猓阉魇堑湫偷奈谋九c問題之間相關性回歸問題,,而相關推薦則既可以基于用戶進行,,也可以基于問答文本進行,可以用協(xié)同過濾(Collaborative Filtering)的方法進行,也可以用深度表示的方法進行,。
連接和治理則是社區(qū)特有的需求,,知乎在連接方向的追求是「讓人發(fā)現(xiàn)更多有趣的靈魂」,本質上是理解用戶價值觀,、興趣,,然后進行推薦的過程。而治理則是甄別不同類別的低質行為(如答非所問,、軟文)和不友善行為(陰陽怪氣,、貼標簽),以針對不同情況進行不同處理,,降低對討論氛圍的影響,。
而除了業(yè)務邏輯主線的各個部分外,AI 技術也幫助進行了眾多的細節(jié)優(yōu)化,,比如如何對不同呈現(xiàn)形式的信息流進行針對性渲染:如何挑選封面圖,、挑選后如何進行
裁剪操作,以在首頁的卡片中呈現(xiàn)更多信息量,,幫助用戶判斷是否要進行消費,。
「知乎從 16 年起進行開始引入機器學習相關算法,最開始從經(jīng)典機器學習方法開始(例如梯度提升決策樹(GBDT)),,再逐步替換成深度神經(jīng)網(wǎng)絡(DNN)的新方法,。」李大海也提到了在業(yè)界的深度學習方法迭代之迅速,,「一,、兩年前,帶注意力機制的雙向 LSTM 模型還是一個『新方法』,,如今已經(jīng)是一個『經(jīng)典方法』了,。」
內容消費里的 AI 技術:從首頁信息流說起
當你打開知乎,,你看到的是什么,?
知乎的「推薦」信息流是首頁里十分重要的一欄。用戶在這里可以看到符合自己興趣的內容,,當下的一些熱點討論,,也有知乎幫助你拓展興趣邊界的探索。然而知乎上僅問題與回答就超過 1 億條,,其中還有類目繁多的 live,、電子書等付費內容。這道擁有超過一億個選項的多選題,,沒有任何一個排序算法能獨立給出令人滿意的答案,。因此龐大的內容體系決定了,,只有分層級的排序系統(tǒng)才能勝任這個任務。
知乎的首頁負責人張瑞用一張架構圖為機器之心詳細地描述了這個名為「水晶球」的推薦系統(tǒng)的組成,。
首頁上出現(xiàn)的內容經(jīng)歷過兩次排序,。第一次是從數(shù)十個推薦隊列里被「召回」,第二次是在合并后經(jīng)過深層神經(jīng)網(wǎng)絡(DNN)的「排序」,。
「召回」的第一個步驟是,,召回模塊根據(jù)用戶的歷史行為表現(xiàn)(用戶畫像),確定數(shù)十個推薦隊列,,或者說數(shù)十個「召回源」的召回比例和召回數(shù)量,。
推薦隊列是一個個含有特定標簽的內容合集。有些隊列里內容性質相似,,比如熱點新聞隊列,、視頻隊列。還有的隊列與用戶行為緊密相關,,比如關注的人隊列,、搜索關鍵詞隊列。
「召回」過程的第二個步驟是各召回源根據(jù)用戶的需求分別將自己的隊列中的內容做排序后,,按召回數(shù)量返回內容,。
整個「召回」過程都是以用戶為中心的、高度個性化的:
比如一個初來乍到的新用戶還沒有「關注的人」,,召回模塊就不會從關注的人隊列拉取內容,,而是轉向興趣探測隊列,幫助算法更好地了解用戶,。
再比如今天的視頻類內容非常豐富,,但是根據(jù)用戶畫像,這位用戶極少消費視頻內容,,那么召回模塊仍然只會從視頻隊列請求三條內容,視頻隊列也只推薦三條最符合用戶需求的內容,。
而不同的推薦隊列長度從幾千到數(shù)十萬各有不同,、召回過程中采用的排序方法也各有不同。有的召回源會對用戶和內容都做嵌入式表示 (embedding),,進而通過內積的方式確定召回的對象,;還有的召回源,比如關鍵詞隊列,,會采用倒排索引的方式,,用自然語言處理的方式把內容打上標簽,然后針對用戶的關鍵詞需求,,組建倒排索引,,進行召回,。
「召回」過程會選出數(shù)百條候選內容進入「排序」過程,最后,,DNN 可以在一百毫秒內對這數(shù)百條完成打分和排序過程,,決定推送給用戶的內容。
「我們把系統(tǒng)命名為『水晶球』,,是希望能夠通過這個系統(tǒng)得以一窺用戶想要看到什么內容,,然后推薦給他?!?/p>
排序算法進化史:從 edgerank 到深度神經(jīng)網(wǎng)絡
張瑞也為我們講述了首頁信息流的「算法進化史」,。
「首頁一開始是基于 edgerank 算法進行簡單的算法排序,后來逐漸引入了以 GBDT 為主的機器學習排序技術,,現(xiàn)在這個階段會把深度神經(jīng)網(wǎng)絡技術(DNN)應用在召回和排序的各個階段,,現(xiàn)在的大部分推薦結果都是通過神經(jīng)網(wǎng)絡推薦的?!?/p>
現(xiàn)在的 DNN 模型本質上是一個用于預測的回歸模型,,預測的對象是用戶是否對一條內容感興趣?;貧w的目標是一個與興趣相關的用戶行為的綜合打分:用戶是否有點擊,、是否進行閱讀、閱讀了多長時間,、是否收藏,、是否有正面或負面的評論等等。
預測所使用的特征主要可以分為三類:用戶相關,、內容相關以及上下文相關,。用戶相關的特征包括用戶畫像、用戶一段時間內的閱讀歷史等等,,內容相關的特征包括內容的標簽,、贊數(shù)、歷史點擊率等,,上下文特征則是可能影響用戶行為的時間空間特征,。例如用戶在早上可能會偏好閱讀與成長相關的內容,晚上則更多閱讀泛興趣類內容,。
預測模型主體是一個多路徑網(wǎng)絡結構:一個四層的神經(jīng)網(wǎng)絡把用戶特征都表達為一個 256 個浮點數(shù)輸出單元的向量,,另一個神經(jīng)網(wǎng)絡把內容特征提取為另一個 256 維的向量,兩個向量與代表上下文的向量一起,,經(jīng)過一個兩層的全連接神經(jīng)網(wǎng)絡,,輸出最后的預測結果,即用戶感興趣的程度,。
DNN 排序模型的前身是 GBDT 模型,?!窯BDT 模型的缺點來自它能接受的數(shù)據(jù)規(guī)模?!箯埲鸾榻B道,,「我們曾經(jīng)做過實驗,分別用 2000 萬和 2 億條數(shù)據(jù)訓練同樣的 GBDT 模型,,得到的模型效果沒有太大區(qū)別,,換言之,數(shù)千萬的數(shù)據(jù)量,,已經(jīng)達到了 GBDT 的容量極限,。而這正是深度學習模型的優(yōu)勢所在:更大規(guī)模的數(shù)據(jù)、更多的特征會進一步增加深度學習模型的效力,。如今在線上對排序階段的內容進行打分的就是我們使用數(shù)億條樣本訓練的一個 DNN 模型,。」
張瑞也展示了兩張 DNN 模型的引入在用戶數(shù)據(jù)上得到的體現(xiàn):
「在半年的時間里,,用戶在線時長取得了 50% 的增長,。用戶人均在線時長是每個用戶每天使用信息流的平均時間長度,是一個代表了用戶興趣的良好指標,,1 月開始的第一波增長來自于召回逐漸開始使用 DNN 技術,,3 月開始的增長主要對應排序開始使用 DNN 模型的過程?!?/p>
他還格外興奮地講述了點擊率「下降」背后的故事:
「我們發(fā)現(xiàn),,完全基于用戶反饋進行推薦后,用戶的表現(xiàn)會表現(xiàn)出趨同性——大家都去看熱門的,、吸引眼球的內容,。我們覺得這雖然增加了點擊率,但給用戶帶來的整體體驗是不好的,。所以我們通過產(chǎn)品策略等手段對這部分內容進行了比例上的調整,,控制吸引眼球但是對用戶成長作用不大的內容的比例,提高知識型內容的推送比例,?!?/p>
這樣的產(chǎn)品策略變動必然引起了點擊率的下降,「但是在線時長仍然在穩(wěn)定的增長,,說明用戶對我們的改進是認可的。我們希望大家不只是刷知乎的時候很開心,,之后也能獲得成長,。新聞是有時效性的,但知識是不會隨著時間貶值的,。我們希望算法能夠挖掘到長效的優(yōu)質內容,,把這部分內容傳遞給用戶,。」
知乎的獨一無二:以社區(qū)為基礎的 AI
作為一個獨一無二的社區(qū),,知乎在利用 AI 技術方面有著明確的優(yōu)勢:
「知乎的特長在于我們擁有非常多附帶用戶行為的語料,。我們很少去進行人工數(shù)據(jù)標注,而是更多地利用語料與行為數(shù)據(jù)之間天然的相關關系,?!估畲蠛Uf。
在擁有大量評論的基礎上,,還有大量用戶對評論的反饋:哪些用戶點了贊成,、哪些用戶點了反對,又有哪些用戶進行了舉報,,進行每一種操作的用戶都是什么樣的用戶,;在擁有大量問題及描述的基礎上,還有非常多邀請數(shù)據(jù):邀請了哪些用戶,,他們是否接受了邀請,,是否產(chǎn)生了優(yōu)質回答。
這些數(shù)據(jù)都可以轉化為大量的高質量標注數(shù)據(jù),。尤其是對于自然語言領域這類主觀性更強,、不容易獲得「標準答案」的問題而言,用戶反饋是最高質量的標簽,。
知乎的另一個特長在于明確的落地場景和非常愿意表達的用戶群體,。
張瑞也談及了知乎的「推薦算法成長」與「用戶成長」之間密不可分的關系。
「我們用成熟穩(wěn)定的內容幫助新用戶完成興趣探測,,也向成熟穩(wěn)定的用戶群體投放新內容判定內容的質量,。」張瑞說,。
一個用戶畫像尚不完備,、亟需補充的新用戶會收到許多來自「興趣探測」隊列的內容,這部分隊列的內容相對穩(wěn)定,,能夠保證產(chǎn)品體驗,,用戶在這部分內容上進行的點贊、收藏等行為都能夠幫助算法更好地了解用戶,。
而另一方面,,知乎的算法初步判定可能為「優(yōu)質」的新內容則會被隨機分發(fā)給在相關話題下表達出強烈興趣的老用戶,由他們給出反饋來判斷一條內容是否真的優(yōu)質,,是否值得進行更大范圍的分發(fā),。
知乎明確的場景意味著算法與用戶可以有針對性地快速迭代、優(yōu)化,,形成閉環(huán),,而愿意明確表達的用戶則在閉環(huán)中提供最重要的一環(huán):及時的反饋,。
現(xiàn)在,知乎也在致力于將自己的優(yōu)勢以數(shù)據(jù)集與數(shù)據(jù)競賽的形式開放向學術界與業(yè)界,。
今年,,知乎和中國信息檢索學術會議(CCIR)、清華大學計算機系信息檢索課題組(THUIR)一起舉辦了「移動環(huán)境下知識分享平臺上的內容推薦」比賽,。拿出了來自超過七百萬名用戶的兩千四百余萬條知乎移動端信息流推薦數(shù)據(jù),,讓選手從一個約六萬條的內容候選集合中產(chǎn)生推薦給用戶的內容列表。
「我們希望以這種形式回饋學術界一些真實的問題和一些真實的數(shù)據(jù),,讓他們能夠做一些更有意思的研究,。」李大海提到,,「有非常多的實驗室找到知乎,,說『你們的數(shù)據(jù)太好了,我們能不能和你們合作,?!蝗绻蠹叶加羞@種需求,我們不如以數(shù)據(jù)集和數(shù)據(jù)競賽的形式把資源開放給大家,?!?/p>
除了學術界以外,業(yè)界的交流以及人才的引入也是知乎格外看重的方面,,「知乎一直在扎實地做事情,,我們也希望業(yè)界能夠知道,也希望有更多機會和同行進行交流,。另外也希望能夠在這個過程中發(fā)現(xiàn)人才,。以智能社區(qū)為目標的話,我們的人才需求仍然在日益擴大,,仍然需要非常多新鮮血液加入進來,。」