為看一看及搜一搜“去污”,AI怎么做到的?
編輯導(dǎo)讀:網(wǎng)上沖浪,我們時常會看見一些低俗色情的不良內(nèi)容,這時候就需要平臺介入清除。本文作者以微信的搜一搜和看一看為例,介紹低俗色情識別任務(wù)在從看一看業(yè)務(wù)遷移到搜一搜業(yè)務(wù)中遇到的一些問題、思考以及所做的一些嘗試。
本文主要介紹低俗色情識別任務(wù)在從看一看業(yè)務(wù)遷移到搜一搜業(yè)務(wù)中遇到的一些問題、思考以及所做的一些嘗試。本文嘗試分析一下看一看與搜一搜場景的差異以及因差異導(dǎo)致的應(yīng)用遷移困難;進而思考如何建立更好的分析機制和評價體系;最后在模型方面談一下基于Bert的一些遷移改進與應(yīng)用;本文工作主要集中在短文本領(lǐng)域。
01 看一看與搜一搜場景的差異分析
1.?業(yè)務(wù)焦點的差異
在中心業(yè)務(wù)發(fā)展過程中,低俗色情識別最先應(yīng)用于看一看場景,主要包括公眾號文章、視頻和新聞等內(nèi)容源。在基于上述內(nèi)容源的推薦場景中,由于內(nèi)容以PGC生產(chǎn)為主,因此低俗色情問題的90%以上都是輕微低俗擦邊,完全色情的問題比例很?。唤?jīng)過我們的努力,擦邊程度以上的問題被控制在較低的水平(可參考之前的看一看介紹文章)。
隨著搜索業(yè)務(wù)的發(fā)展,搜索場景的環(huán)境凈化也變得刻不容緩,從用戶query的提示、相關(guān)搜索到搜索結(jié)果的展示,都需要低俗色情識別來進行過濾。與看一看推薦場景不同的是,推薦是平臺的主動行為,所以搜索場景90%以上的注意力更關(guān)注色情內(nèi)容的識別過濾,推薦分發(fā)擦邊內(nèi)容是不可以的。(至少在看一看的調(diào)性中如此)
2.?數(shù)據(jù)的差異
在從推薦場景轉(zhuǎn)移到搜索場景中,我們面對的語料也發(fā)生了一些質(zhì)變,從主要PGC生產(chǎn)的較標(biāo)準(zhǔn)的PGC語料轉(zhuǎn)為了全網(wǎng)開放領(lǐng)域(例如搜索query與搜狗網(wǎng)頁),色情問題規(guī)模也是相較之前有了爆發(fā)式的增長。因此看一看中多個數(shù)據(jù)源的模型在遷移到開放的搜索語料時,存在很大的領(lǐng)域差異,嚴(yán)重色情問題的召回不足,導(dǎo)致遷移應(yīng)用的效果較差。
3.?問題解決環(huán)境的差異
在問題發(fā)現(xiàn)上,看一看中有較完備的人工輪詢機制,同時用戶負反饋也可以提供很好的問題發(fā)現(xiàn)和樣本。而到了搜一搜這里,相較海量用戶query及網(wǎng)頁結(jié)果,色情case的比例很低,輪詢機制的效率極低(比如推薦中輪詢100個可以發(fā)現(xiàn)1個問題case,而搜索匯總可能需要輪詢1k個);搜索也缺少像推薦那樣用戶對單個內(nèi)容的即時負反饋。在問題分布上,由于推薦系統(tǒng)的機制及用戶習(xí)慣,天然的會將擦邊內(nèi)容推到點擊top的集合中;而這一效應(yīng)在搜索中并不明顯,依舊十分稀疏。由于搜索場景的問題稀疏,長尾問題更多(各種可能的作弊、黑話),這里不僅要跟黑產(chǎn)做對抗,還需要與用戶的輸入斗智斗勇,在效果評價上(主要是召回)也更加困難。
02 如何更好地分析樣本與評價效果
如上文所述,由于兩個業(yè)務(wù)的差異導(dǎo)致原有一些模型遷移到搜索的語料上時效果較差,模型精度的提升一般相對容易,通過樣本清洗、誤分樣本的糾正及特征權(quán)重的調(diào)整(比如使用Lime輔助分析),可以較快的對精度進行提升。而在面對開放領(lǐng)域的query、網(wǎng)頁標(biāo)題時,問題的稀疏性、長尾性以及問題發(fā)現(xiàn)機制的不健全(或者說低效)都導(dǎo)致了召回的提升是一個難題,同理召回的效果評價也更困難,因此這里也是主要探討對于樣本召回的分析,主要集中在query與搜狗網(wǎng)頁標(biāo)題。
在分析方法上,通過已有模型的baseline結(jié)合傳統(tǒng)的基于關(guān)鍵詞、embedding向量相似可以為我們提供一份較多的種子數(shù)據(jù)。在此基礎(chǔ)上,我們結(jié)合搜索業(yè)務(wù)的場景特點以及一些可用的知識,嘗試了以下一些方法并取得了更好的效果。
1.?搜索引擎結(jié)果的分析
站在巨人的肩膀上,可以幫助我們快速取得提升。一些搜索引擎的搜索結(jié)果質(zhì)量以及展現(xiàn)的特征可以輔助我們擴展語義與分析樣本。通過分析網(wǎng)址安全中心提醒、搜索結(jié)果數(shù)、相關(guān)搜索等特征可以幫助我們快速分析篩選一些疑似樣本。這個方法在色情小說等問題的運用上有較好的效果。
同時,搜索引擎的搜索結(jié)果以及相關(guān)搜索結(jié)果也可以幫助擴展query語義以及一些變種,達到舉一反三的功效,在實踐中得以應(yīng)用。
2.?Query用戶改寫串分析
用戶行為是我們做分析的一個利器,既然搜索場景沒有推薦那樣顯示的負反饋,那就通過分析用戶心理和行為為我們提供隱式的負反饋。這個idea的出發(fā)點很簡單,用戶的搜索行為往往是連續(xù)的,直到得到想要的結(jié)果才會停止。那么在一次用戶的連續(xù)搜索行為中,我們可以利用用戶query的改寫串來進行批量分析,通過已有模型對改寫串的打分可以高效的分析目前模型還不能解決的case。
由于個別字的改變(作弊)導(dǎo)致表面語義的飄逸,很容易逃過色情檢測。通過這類作弊case,我們可以進一步深挖搜索黑產(chǎn)所進行的一些seo作弊操作,由session發(fā)現(xiàn)作弊進而映射到uin,可以分析一批作弊用戶及其作弊query。與黑產(chǎn)的對抗在低質(zhì)識別工作中是永恒的話題,矛與盾的不斷升級,不斷試探;而借助已有的能力并進一步分析黑產(chǎn)用戶的搜索模式,可以幫助我們建立起良性的循環(huán)和有效的對抗升級。
3.?Query與點擊doc的聯(lián)動分析
在實際業(yè)務(wù)中,由于query與網(wǎng)頁標(biāo)題語料的不同,文本長度上,query偏超短文本而網(wǎng)頁標(biāo)題偏短文本;同時二者的表述等也存在領(lǐng)域差異,因此在業(yè)務(wù)中是訓(xùn)練了各自的模型。那么與query改寫分析類似的思路,結(jié)合已有模型的能力與用戶行為進行樣本分析和補充。這里利用搜索引擎已自帶的query與結(jié)果的相關(guān)性加上用戶點擊這一強行為特征,尤其在色情領(lǐng)域上使得query與結(jié)果的相關(guān)性比大盤水平高出很多。那么通過query與點擊title的各自模型的預(yù)測得分,就可以較快的將不足的一方進行補全優(yōu)化,實現(xiàn)多模型的聯(lián)動升級。
4.?評價指標(biāo)
在效果評價上,我們一般采用精度、召回與F1值作為主要的效果評價指標(biāo),這里的難點主要在于召回評價上。因為搜一搜場景問題數(shù)據(jù)的稀疏性和長尾性,采用大盤隨機評測召回需要投入很多人力來獲取一個置信度較高的結(jié)果,因此我們盡量采用多個維度來體現(xiàn)模型的效果。通過比較迭代模型前后的diff勝出率可以實現(xiàn)自身的比較;通過引入其他開放領(lǐng)域測試集輔助驗證模型的泛化通用性。除此之外,我們的業(yè)務(wù)使用方還單獨分析了一批業(yè)務(wù)測試集,對算法側(cè)保持黑盒狀態(tài),用打比賽的方式來評價成績也是一個不錯的選擇。
03 基于Bert的遷移學(xué)習(xí)改進
在模型方面,可以說Bert(及其各種升級版)是目前在大多數(shù)NLP任務(wù)中效果最佳的模型。在GPU資源充足的情況下,我們也優(yōu)先部署B(yǎng)ert提高業(yè)務(wù)效果,并在Bert的基礎(chǔ)上結(jié)合業(yè)務(wù)特點進行一些模型創(chuàng)新。下面將從如何使用pivot詞改良Bert的預(yù)訓(xùn)練過程和如何利用業(yè)務(wù)中天然的多任務(wù)學(xué)習(xí)場景來提高模型最終效果這兩點來展開介紹。
1.?基于可遷移Pivot詞的Bert遷移學(xué)習(xí)
目前對于Bert的應(yīng)用來說,大多情況(簡單用法)都是直接在少量的標(biāo)注數(shù)據(jù)上去Finetune最后一層即可取得較好的效果。對于精細化的升級用法,會先在特定任務(wù)的語料上去精調(diào)預(yù)訓(xùn)練的語言模型,這樣的好處是可以讓模型更加適應(yīng)當(dāng)前任務(wù)的語言環(huán)境。而這一點在低俗色情問題上是非常匹配且需要的,因為一般Bert預(yù)訓(xùn)練語言模型的語料都是類似維基百科這種較正常標(biāo)準(zhǔn)的內(nèi)容,缺少低俗色情里的很多低俗說法、黑話、作弊等內(nèi)容(比如“干”“棒棒糖”等詞),這就使得預(yù)訓(xùn)練得到的語言模型缺少對這些一詞多義的理解,即基于上下文的語義理解,而這些的一詞多義正是我們這一特定任務(wù)最需要的。
對于Bert的優(yōu)化方向之一就是引入更多輔助任務(wù)以及外部知識,對下游的知識類任務(wù)或者包含NER相關(guān)的任務(wù)有直接的效果提升作用。與此思路類似的是,我們引入了pivot詞的知識,學(xué)術(shù)界有不少遷移學(xué)習(xí)的工作是基于pivot詞來提升不同領(lǐng)域之間的遷移效果,這在低俗色情問題上同樣十分匹配,通過學(xué)習(xí)領(lǐng)域不變的pivot特征來橋接源領(lǐng)域和目標(biāo)領(lǐng)域,從而使得在源域上訓(xùn)練的模型可以適配目標(biāo)域。
我們的TPT(Transferable Pivot Transformer)模型分為兩部分,pivot選擇網(wǎng)絡(luò)以及mask pivot的預(yù)訓(xùn)練語言模型網(wǎng)絡(luò)(分別對應(yīng)模型示意圖的右半部分和左半部分)。在pivot選擇部分,為了優(yōu)化色情領(lǐng)域很多新詞或作弊詞的問題(例如“輪軒”“好庠”等),我們采用基于字的bi-gram和tri-gram,通過已有標(biāo)注數(shù)據(jù)計算互信息MI獲取到一批權(quán)重高的pivot詞表。進一步為了使得pivot詞更具可遷移性,我們通過訓(xùn)練pivot詞的領(lǐng)域分類器來挑選出領(lǐng)域不可分(即可遷移)的最終pivot詞表。
在預(yù)訓(xùn)練語言模型階段,與傳統(tǒng)bert的mask策略不同的是,我們加入了針對pivot詞的mask策略,我們希望模型能更多的關(guān)注和學(xué)習(xí)到pivot詞在不同上下文語境中的語義。因此在訓(xùn)練語言模型的過程中,我們對于pivot詞大概率下進行mask,小概率下保持不變;同時bert原有的隨機mask策略可繼續(xù)使用,最終生成的即為適用于我們這一特定任務(wù)場景的預(yù)訓(xùn)練語言模型。我們這一idea的工作已發(fā)表在AAAI2020上,感興趣的同學(xué)可以細看一下。Simultaneous Learning of Pivots and Representations for Cross-Domain Sentiment Classification
2.?基于Bert&知識蒸餾的多任務(wù)學(xué)習(xí)
如前文所述,在搜一搜的低俗色情的任務(wù)場景中有query、搜狗網(wǎng)頁、公眾號文章、視頻等多個數(shù)據(jù)領(lǐng)域,多個領(lǐng)域間均存在不同程度的領(lǐng)域差距,也因此每個領(lǐng)域都會訓(xùn)練生成對應(yīng)的分類模型。與此同時,多個領(lǐng)域之間的任務(wù)目標(biāo)又十分相似,很多知識是通用的,這十分適合多任務(wù)模型的應(yīng)用。在之前看一看的工作中,我們也嘗試了例如基于LSTM的多任務(wù)模型、領(lǐng)域遷移對抗模型等,在Bert興起后,如當(dāng)年Imagenet的進化路徑,Bert可以作為一個優(yōu)良的底層特征提取器,繼續(xù)在Bert之上結(jié)合傳統(tǒng)的多任務(wù)學(xué)習(xí)或者遷移學(xué)習(xí)的工作進一步提升效果。這里我們嘗試了Google發(fā)表在ACL2019的工作BAM! Born-Again Multi-Task Networks for Natural Language Understanding,其將Bert與多任務(wù)學(xué)習(xí)、知識蒸餾巧妙地結(jié)合在一起。
知識蒸餾即將知識從「教師」模型遷移到「學(xué)生」模型,執(zhí)行方式為訓(xùn)練學(xué)生模型模仿教師模型的預(yù)測。在「born-again network」(Furlanello et al., 2018) 中,教師和學(xué)生具備同樣的神經(jīng)網(wǎng)絡(luò)架構(gòu)和模型大小,然而學(xué)生網(wǎng)絡(luò)的性能超越了教師網(wǎng)絡(luò)。有研究分析其提升的原因是因為教師模型的輸出不再是原來one-hot label的形式,而轉(zhuǎn)為對label分布的輸出,這可以提供更多的訓(xùn)練信息(dark knowledge)。
BAM進一步將知識蒸餾擴展到多任務(wù)模型訓(xùn)練環(huán)境中,在業(yè)務(wù)應(yīng)用中,首先對各個領(lǐng)域的數(shù)據(jù)訓(xùn)練bert的教師模型,進而結(jié)合教師模型的預(yù)測值和實際label作為多任務(wù)學(xué)習(xí)的label,在BAM中提供了教師模型退火的機制,即在迭代中逐漸減少教師預(yù)測值的權(quán)重,達到青出于藍而勝于藍的效果。
04 結(jié)語
近一年我們集中優(yōu)化了搜一搜下多個場景的低俗色情任務(wù)的效果,在query(包括suggestion、hint及意圖識別)、網(wǎng)頁、文章等多個搜索場景取得了較好的效果,整體F1值在0.8以上。在做業(yè)務(wù)的時候,我們盡量分析業(yè)務(wù)自身的特點,借助各種可用的知識以及適用業(yè)務(wù)特點的模型來快速提升效果。在如何完善問題發(fā)現(xiàn)機制、與黑產(chǎn)模式對抗、使模型更具可遷移性、效果評估更置信等問題上我們還在不斷地嘗試發(fā)掘出一些新的思路,感興趣的同學(xué)歡迎一起探討,感謝大家捧場。
作者:
,微信公眾號:微信AI來源:https://mp.weixin.qq.com/s/D_4G_OWtmLN8hrYM8PThHg
本文由 @微信AI 授權(quán)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自 Unsplash,基于CC0協(xié)議。
- 目前還沒評論,等你發(fā)揮!