WSDM(Web Search and Data Mining,讀音爲Wisdom)是業界公認的高質量學術會議,注重前沿技術在工業界的落地應用,與SIGIR一塊兒被稱爲信息檢索領域的Top2。算法
剛剛在墨爾本結束的第12屆WSDM大會傳來一個好消息,由美團搜索與NLP部NLP中心的劉帥朋、劉碩和任磊三位同窗組成的Travel團隊,在WSDM Cup 2019大賽 「真假新聞甄別任務」 中得到了第二名的好成績。隊長劉帥朋受邀於2月15日表明團隊在會上做口頭技術報告,向全球同行展現了來自美團點評的解決方案。本文將詳細介紹他們本次獲獎的解決方案。spring
信息技術的飛速發展,催生了數據量的爆炸式增加。技術的進步也使得了人們獲取信息的方式變得更加便捷,然而任何技術都是一把「雙刃劍」,信息技術在爲人們的學習、工做和生活提供便利的同時,也對人類社會健康持續的發展帶來了一些新的威脅。目前亟需解決的一個問題,就是如何有效識別網絡中大量存在的「虛假新聞」。虛假新聞傳播了不少不許確甚至虛構的信息,對整個線上資訊的生態形成了很大的破壞,並且虛假新聞會對讀者形成誤導,干擾正常的社會輿論,嚴重的危害了整個社會的安定與和諧。所以,本屆WSDM Cup的一個重要議題就是研究如何實現對虛假新聞的準確甄別,該議題也吸引了全球衆多數據科學家的參與。網絡
雖然美團點評的主營業務與在線資訊存在一些差別,但本任務涉及的算法原理是通用的,並且在美團業務場景中也能夠有不少能夠落地,例如虛假評論識別、智能客服中使用的問答技術、NLP平臺中使用的文本類似度計算技術、廣告匹配等。因而,Travel團隊經過對任務進行分析,將該問題轉化爲NLP領域的「天然語言推理」 (NLI)任務,即判斷給定的兩段文本間的邏輯蘊含關係。所以,基於對任務較爲深刻理解和平時的技術積累,他們提出了一種解決方案——一種基於多層次深度模型融合框架的虛假新聞甄別技術,該技術以最近NLP領域煊赫一時的BERT爲基礎模型,並在此基礎上提出了一種多層次的模型集成技術。架構
爲了客觀地衡量算法模型的效果,本屆大會組織方提供了一個大型新聞數據集,該數據集包含32萬多個訓練樣本和8萬多個測試樣本,這些數據樣本均取材於互聯網上真實的數據。每一個樣本包含有兩個新聞標題組成的標題對,其中標題對類別標籤包括Agreed、Disagreed、Unrelated等3種。他們的任務就是對測試樣本的標籤類別進行預測。框架
「磨刀不誤砍柴功」,在一開始,Travel團隊並無急於搭建模型,而是先對數據進行了全面的統計分析。他們認爲,若是可以經過分析發現數據的一些特性,就會有助於後續採起針對性的策略。dom
首先,他們統計了訓練數據中的類別分佈狀況,如圖1所示,Unrelated類別佔比最大,接近70%;而Disagreed類佔比最小,不到3%。訓練數據存在嚴重的類別不均衡問題,若是直接用這樣的訓練數據訓練模型,這會致使模型對佔比較大類的學習比較充分,而對佔比較小的類別學習不充分,從而使模型向類別大的類別進行偏移,存在較嚴重的過擬合問題。後面也會介紹他們針對該問題提出的對應解決方案。機器學習
而後,Travel團隊對訓練數據的文本長度分佈狀況進行了統計,如圖2所示,不一樣類別的文本長度分佈基本保持一致,同時絕大多數文本長度分佈在20~100內。這些統計信息對於後面模型調參有着很大的幫助。ide
本着「數據決定模型的上限,模型優化只是不斷地逼近這個上限」的想法,接下來,Travel團隊對數據進行了一系列的處理。學習
在數據分析時,他們發現訓練數據存在必定的噪聲,若是不進行人工干預,將會影響模型的學習效果。好比新聞文本語料中簡體與繁體共存,這會加大模型的學習難度。所以,他們對數據進行繁體轉簡體的處理。同時,過濾掉了對分類沒有任何做用的停用詞,從而下降了噪聲。測試
此外,上文提到訓練數據中,存在嚴重的樣本不均衡問題,若是不對該問題作針對性的處理,則會嚴重製約模型效果指標的提高。經過對數據進行了大量的分析後,他們提出了一個簡單有效的緩解樣本不均衡問題的方法,基於標籤傳播的數據加強方法。具體方法如圖3所示:
若是標題A與標題B一致,而標題A與標題C一致,那麼能夠得出結論,標題B與標題C一致。同理,若是標題A與標題B一致,而標題A與標題D不一致,那麼能夠得出結論,標題B與標題D也不一致。此外,Travel團隊還經過將新聞對中的兩條文本相互交換位置,來擴充訓練數據集。
BERT是Google最新推出的基於雙向Transformer的大規模預訓練語言模型,在11項NLP任務中奪得SOTA結果,引爆了整個NLP界。BERT取得成功的一個關鍵因素是Transformer的強大特徵提取能力。Transformer能夠利用Self-Attention機制實現快速並行訓練,改進了RNN最被人所詬病的「訓練慢」的缺點,能夠高效地對海量數據進行快速建模。同時,BERT擁有多層注意力結構(12層或24層),而且在每一個層中都包含有多個「頭」(12頭或16頭)。因爲模型的權重不在層與層之間共享,一個BERT模型至關於擁有12×12=224或24×16=384種不一樣的注意力機制,不一樣層可以提取不一樣層次的文本或語義特徵,這可讓BERT具備超強的文本表徵能力。
本賽題做爲典型的天然語言推理(NLI)任務,須要提取新聞標題的高級語義特徵,BERT的超強文本表徵能力正好本賽題所須要的。基於上述考慮,Travel團隊的基礎模型就採用了BERT模型,其中BERT網絡結構如圖4所示:
在比賽中,Travel團隊在加強後的訓練數據上對Google預訓練BERT模型進行了微調(Finetune),使用瞭如圖5所示的方式。爲了讓後面模型融合增長模型的多樣性,他們同時Finetune了中文版本和英文版本。
模型融合,是指對已有的多個基模型按照必定的策略進行集成以提高模型效果的一種技術,常見的技術包括Voting、Averaging、Blending、Stacking等等。這些模型融合技術在前人的許多工做中獲得了應用而且取得了不錯的效果,然而任何一種技術只有在適用場景下才能發揮出最好的效果,例如Voting、Averaging技術的融合策略較爲簡單,通常來講效果提高不是很是大,但優勢是計算邏輯簡單、計算複雜度低、算法效率高;而Stacking技術融合策略較複雜,通常來講效果提高比較明顯,但缺點是算法計算複雜度高,對計算資源的要求較苛刻。
本任務使用的基模型爲BERT,該模型雖然擁有很是強大的表徵建模能力,但同時BERT的網絡結構複雜,包含的參數衆多,計算複雜度很高,即便使用了專用的GPU計算資源,其訓練速度也是比較慢的,所以這就要求在對BERT模型融合時不能直接使用Stacking這種高計算複雜度的技術,所以咱們選擇了Blending這種計算複雜度相對較低、融合效果相對較好的融合技術對基模型BERT作融合。
同時,Travel團隊借鑑了神經網絡中網絡分層的設計思想來設計模型融合框架,他們想既然神經網絡能夠經過增長網絡深度來提高模型的效果,那麼在模型融合中是否也能夠經過增長模型融合的層數來提高模型融合的效果呢?基於這一設想,他們提出了一種多層次深度模型融合框架,該框架經過增長模型的層數進而提高了融合的深度,最終取得了更好的融合效果。
具體來講,他們的框架包括三個層次,共進行了兩次模型融合。第一層採用Blending策略進行模型訓練和預測,在具體實踐中,他們選定了25個不一樣的BERT模型做爲基模型;第二層採用5折的Stacking策略對25個基模型進行第一次融合,這裏他們選用了支持向量機(SVM)、邏輯迴歸(LR)、K近鄰(KNN)、樸素貝葉斯(NB),這些傳統的機器學習模型,既保留了訓練速度快的優勢,也保證了模型間的差別性,爲後續融合提供了效率和效果的保證;第三層採用了一個線性的LR模型,進行第二次模型融合而且生成了最終的結果。模型融合的架構如圖6所示:
總體方案模型訓練分爲三個階段,如圖7所示:
爲了緩解數據集中存在的類別分佈不均衡問題,本任務使用帶權重的準確率做爲衡量模型效果的評價指標,其定義以下所示:
其中,y爲樣本的真實類別標籤,y^y^爲模型的預測結果,ωiωi爲數據集中第i個樣本的權重,其權重值與類別相關,其中Agreed類別的權重爲1/15,Disagreed類別的權重爲1/5,Unrelated類別的權重爲1/16。
在官方測試集上,Travel團隊的最優單模型的準確率達到0.86750,25個BERT模型簡單平均融合後準確率達0.87700(+0.95PP),25個BERT模型結果以加權平均的形式融合後準確率達0.87702(+0.952PP),他們提出的多層次模型融合技術準確率達0.88156(+1.406PP)。實踐證實,美團NLP中心的經驗融合模型在假新聞分類任務上取得了較大的效果提高。
本文主要對解決方案中使用的關鍵技術進行了介紹,好比數據加強、數據預處理、多層模型融合策略等,這些方法在實踐中證實能夠有效的提高預測的準確率。因爲參賽時間所限,還有不少思路沒有來及嘗試,例如美團使用的BERT預訓練模型是基於維基百科數據訓練而獲得的,而維基百科跟新聞在語言層面也存在較大的差別,因此能夠將現有的BERT在新聞數據上進行持續地訓練,從而使其可以對新聞數據具備更好的表徵能。