人工智能案例分析:Quora 采用的機器學(xué)習應用與技術(shù)
【第一類(lèi)機器學(xué)習技術(shù):排名算法】
本文引用地址:http://dyxdggzs.com/article/201808/385676.htm排名可以說(shuō)是網(wǎng)上最重要的機器學(xué)習應用之一了。大大小小的公司都圍繞著(zhù)排名建立起業(yè)務(wù)模型,例如,查詢(xún)字符串返回的結果。Quora 在不同的環(huán)境、為了不同的目的,使用了不同的排名算法。一個(gè)有趣的例子就是答案排名。假設一個(gè)問(wèn)題有好幾個(gè)答案,我們感興趣的是,如何對它們降序排列,使得“最佳”答案在最前,而最差答案在最后。確定一個(gè)問(wèn)題答案的正確排序涉及到多種特征。要確定順序,首先我們要確定Quora如何定義“好答案”。要得出這個(gè)定義,有個(gè)好辦法是研究一下《Quora認為什么樣的答案是有用的》這篇帖子,里面會(huì )提到答案要“真實(shí)”、“可重用”、“給出解釋”、“格式良好”等等標準。我們的機器學(xué)習算法實(shí)現了一種特殊的機器學(xué)習排名方法,使用了多種特征,試圖將與上述抽象概念相關(guān)聯(lián)的多個(gè)維度進(jìn)行編碼。例如,我們使用了描述寫(xiě)作質(zhì)量信息的特征,也使用了描述該答案收到的互動(dòng)情況的特征(如贊、踩以及展開(kāi)數量)。我們還使用了與答案作者相關(guān)的特征,比如,他在問(wèn)題領(lǐng)域的專(zhuān)業(yè)性。在Quora,還有很多其他的排名應用,有些甚至不為人察覺(jué)。例如,對于一個(gè)答案點(diǎn)贊的用戶(hù)名也是排序后顯示的,目的是要將我們認為對于該問(wèn)題/答案最有見(jiàn)識的用戶(hù)排在最前。同樣,對于特定問(wèn)題顯示可能的回答者時(shí),那些推薦的用戶(hù)也是排過(guò)序的。讓我們來(lái)仔細看看機器學(xué)習排名算法的兩個(gè)特例:搜索以及個(gè)性化排名?!緳C器學(xué)習排名算法特例一:搜索算法】對于Quora這樣的應用,搜索算法可以被視為排名的另一個(gè)應用。實(shí)際上,搜索可以分解為兩個(gè)步驟:文字匹配和排名。第一步,以某種方式返回與搜索框輸入的查詢(xún)字符串匹配的文檔(問(wèn)題)。然后,這些文檔作為第二步的候選問(wèn)題,進(jìn)行排名,以使點(diǎn)擊概率等方面得到優(yōu)化。第二步中很多的特征可以使用,它確實(shí)是另一個(gè)機器學(xué)習排名算法的例子。包括已在最初文字匹配階段使用過(guò)的簡(jiǎn)單文字特征,以及其它與用戶(hù)行為相關(guān)的特征,或是如流行度等對象屬性?!緳C器學(xué)習排名算法特例一:個(gè)性化排名】在如上文描述的一些場(chǎng)景中,也許一個(gè)對所有用戶(hù)的全局最優(yōu)排名就夠用了。換句話(huà)說(shuō),我們可以假定,對于給定問(wèn)題,最“有幫助”答案的排序對于閱讀答案的用戶(hù)來(lái)說(shuō)是獨立的。然而,這一假設在很多重要場(chǎng)合并不成立。場(chǎng)合之一就是Quora Feed,從根本上說(shuō)它是任意登入這一產(chǎn)品的用戶(hù)都可見(jiàn)的主頁(yè)。在這個(gè)主頁(yè)上,我們試圖為特定的用戶(hù)在特定的時(shí)間挑選最“有趣”的故事,并進(jìn)行排名(見(jiàn)下例)。這就是一個(gè)典型的機器學(xué)習個(gè)性化排名,與Netflix主頁(yè)對電影和電視劇進(jìn)行排名類(lèi)似。而Quora的用例比Netflix電影電視劇排名更具挑戰性。事實(shí)上,我們的用例可以看作是Netflix、Facebook以及Google News優(yōu)化個(gè)性化排名的結合體。一方面,我們要保證排名靠前的故事在主題上與用戶(hù)相關(guān)。另一方面,Quora與用戶(hù)之間也有明確的關(guān)系。你在“社交網(wǎng)絡(luò )”上的行為也應當對排名有所影響。再次,Quora上的故事有時(shí)或許與正在進(jìn)行的潮流事件相關(guān)聯(lián)。及時(shí)性是另一個(gè)應當影響模型決策的因素,來(lái)決定一個(gè)故事的排名應當提升還是降低。正因如此,Quora的個(gè)性化排名涉及到各種不同的特征。下面列出若干:1、問(wèn)題/答案的質(zhì)量;2、用戶(hù)感興趣的主題;3、該用戶(hù)關(guān)注的其他用戶(hù);4、熱門(mén)事件 … 其實(shí),請務(wù)必記住,在Quora我們不僅對如何吸引用戶(hù)來(lái)閱讀有趣的內容感興趣,也對將問(wèn)題提交給能寫(xiě)出有趣內容的用戶(hù)感興趣。因此,我們必須將涉及答案趣味性的特征以及針對問(wèn)題的特征都納入。為了得到這些特征,我們使用從用戶(hù)、作者以及對象(如答案/問(wèn)題)行為推導出的信息。這些行為都被考慮在內并累計在不同的時(shí)間窗口內,并提供給排名算法。實(shí)際上,可以得到很多不同的特征來(lái)加入我們的個(gè)性化推送模型,而且我們一直嘗試加入更多的特征。對于我們的 Feed 排名應用,另一個(gè)重要的考慮是我們需要能對用戶(hù)的行為、觀(guān)感,甚至是熱門(mén)事件做出我們數以百萬(wàn)的問(wèn)題和答案還在不停增長(cháng),因此我們不能試圖為每一個(gè)用戶(hù)進(jìn)行實(shí)時(shí)排名。為了優(yōu)化體驗,我們實(shí)現了一個(gè)多段式排名解決方案,其中提前就對候選者進(jìn)行選擇和排序,之后真正執行最終的排名。
【第二類(lèi)機器學(xué)習技術(shù):推薦算法】
上述的個(gè)性化排名已經(jīng)是推薦的一種形式了。類(lèi)似的方法用在不同的案例中。例如,廣受歡迎的 Quora 郵件精選包括了一系列為你挑選并推薦的故事。這是一個(gè)不同的機器學(xué)習排名模型,根據不同的目標函數進(jìn)行優(yōu)化。除了排名算法,我們在產(chǎn)品的各個(gè)不同部分有其它的個(gè)性化推薦算法。例如,在好幾處地方,你都可以看到人物或主題的推薦?!就扑]的依據:相關(guān)問(wèn)題】另一個(gè)推薦的源由是為了給用戶(hù)展示與當前問(wèn)題有某種關(guān)系的其他問(wèn)題。相關(guān)問(wèn)題由另一個(gè)機器學(xué)習模型來(lái)確定的,它考慮多種不同特征,例如,文字相似性、共享數據(co-visit data),或是如主題等相同的特征。與流行度、或是問(wèn)題質(zhì)量相關(guān)的特征也要考慮。有必要指出,一個(gè)好的“相似問(wèn)題”推薦,不僅是一個(gè)條目與源問(wèn)題有多相似,還包括目標問(wèn)題的“趣味性”。實(shí)際上,對于任何一個(gè)“相關(guān)條目”機器學(xué)習模型,最麻煩的問(wèn)題是在相似性和其它關(guān)聯(lián)性因素間進(jìn)行權衡。相關(guān)問(wèn)題這個(gè)模型對于吸引登出用戶(hù)從外部搜索中訪(fǎng)問(wèn)問(wèn)題頁(yè)面特別有效。這也是為何至今這一推薦模型并未個(gè)性化的原因之一?!就扑]的極端情況:重復問(wèn)題】重復問(wèn)題是上述相關(guān)問(wèn)題的極端情況。對于Quora而言,這是一個(gè)難題,因為我們要保證用戶(hù)回答一個(gè)特定問(wèn)題的精力會(huì )被分享,并且被集中到正確的地方。同樣,有必要為想要在網(wǎng)站上提問(wèn)的用戶(hù)指出已有的答案。所以,我們花費了大量精力來(lái)檢測重復問(wèn)題,特別是在發(fā)起問(wèn)題的階段。我們現有的解決方案是基于使用重復/非重復標簽訓練的二元分類(lèi)器。我們使用多種信號量,包括從文本向量空間模型到基于使用量的特征。
【第三類(lèi)機器學(xué)習技術(shù):用戶(hù)可信度/專(zhuān)業(yè)性推斷】
在Quora這樣的應用里,掌握用戶(hù)的可信度是非常重要的事情。實(shí)際上,我們并不僅僅完全局限于回答問(wèn)題本身,還對其與相關(guān)主題的關(guān)聯(lián)性感興趣。某一用戶(hù)也許對于某些主題知識淵博,但對于其它領(lǐng)域就不一定了。Quora使用機器學(xué)習技術(shù)來(lái)推斷用戶(hù)的專(zhuān)業(yè)性。我們不僅了解用戶(hù)對于給定主題寫(xiě)了什么答案,也知道這些答案得到了多少贊、多少踩,以及什么樣的評論。我們還知道這個(gè)用戶(hù)在這個(gè)領(lǐng)域得到了多少“推薦”。推薦(Endorsements)是從其他用戶(hù)角度對于某人專(zhuān)業(yè)性非常明確的認可。另外還有件要事要記住,可信度/專(zhuān)業(yè)性通過(guò)網(wǎng)絡(luò )傳播,這也需要被算法考慮。例如,如果一位機器學(xué)習專(zhuān)家對我在機器學(xué)習領(lǐng)域的回答給出一個(gè)贊,它的分量應該超過(guò)該領(lǐng)域非專(zhuān)家的隨機用戶(hù)給出的贊。這也同樣適用于推薦以及其它用戶(hù)間特征。
【第四類(lèi)機器學(xué)習技術(shù):垃圾信息檢測與節制(Moderation)】
像Quora這樣以保持內容高質(zhì)量為傲的網(wǎng)站,必須對使用垃圾、惡意或非常低質(zhì)量的內容愚弄系統的行為非常警惕。純粹的人工審閱模式無(wú)法擴展。而問(wèn)題的解決之道,正如你猜測的那樣,是使用機器學(xué)習模型來(lái)檢測這些問(wèn)題。Quora有好些個(gè)模型來(lái)檢測內容質(zhì)量相關(guān)的問(wèn)題。這些分類(lèi)器的輸出大部分情況下不會(huì )直接用作決策,而是將這些問(wèn)題/答案提供給節制隊列,然后進(jìn)行人工審閱。
【第五類(lèi)機器學(xué)習技術(shù):內容創(chuàng )建的預測】
對 Quora 來(lái)說(shuō),有一點(diǎn)非常重要,要記?。何覀儗ο到y很多部分進(jìn)行優(yōu)化,不只是為了吸引讀者,也是為了產(chǎn)出最好的質(zhì)量、最受歡迎的內容。因此,我們有一個(gè)機器學(xué)習模型來(lái)預測某一用戶(hù)撰寫(xiě)某一問(wèn)題答案的可能性。這使得我們的系統能用多種方式給予這些問(wèn)題優(yōu)先權。其中之一就是系統的自動(dòng) A2A(Ask to Answer)問(wèn)題通過(guò)提示發(fā)送給潛在的回答者。上述其它的排名系統也使用這個(gè)模型來(lái)預測概率。
【核心技術(shù)方案:建立有效靈活的模型】
Quora對于前文所述不同的案例嘗試過(guò)很多不同的模型。有時(shí),我們使用開(kāi)源實(shí)現,但更多時(shí)候我們最后實(shí)現了更有效、更靈活的內部版本。我不會(huì )討論模型的細節,但會(huì )列出我們系統使用的模型:1、邏輯回歸;2、彈性網(wǎng)絡(luò );3、梯度增強決策樹(shù);4、隨機森林;5、神經(jīng)網(wǎng)絡(luò );6、LambdaMART;7、矩陣分解;8、向量模型以及其它自然語(yǔ)言處理技術(shù)投入
綜上所述,Quora運用機器學(xué)習的方式多種多樣。我們使用這些機器學(xué)習方法已經(jīng)取得了非常重大的收益,我們堅信未來(lái)還會(huì )有更多收益,并且我們對于新技術(shù)還會(huì )持續投入。另外,在不久的將來(lái)還有激動(dòng)人心的機器學(xué)習新應用,我們已經(jīng)有所思考了。這些新應用包括廣告排名、機器翻譯以及其它自然語(yǔ)言處理領(lǐng)域,這些都將直接成為我們計劃馬上添加的產(chǎn)品新特征。
評論