tft每日頭條

 > 圖文

 > 騰訊音樂内容審核怎麼樣

騰訊音樂内容審核怎麼樣

圖文 更新时间:2024-08-03 11:18:53

導讀:本次分享的題目為音樂評論AI審核與排序,主要圍繞以下三個方面展開:

  • 背景介紹
  • 評論審核
  • 評論排序

01

背景介紹

1. 業務場景對比

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)1

音樂評論是音樂類APP裡面比較重要的模塊之一,它是用戶表達心情和觀點的窗口。我們主要有兩個相關的業務場景,第一個是QQ音樂,第二個是全民K歌。這兩個業務場景的評論是有差異的。QQ音樂中的評論類型很豐富,包括個人崇拜類、玩梗類、個人聽歌感受類等。通常這些評論長難句子相對較多,語法較難。而K歌中的評論主要以互動和評價為主,句子較短,語法相對簡單。此外,QQ音樂每日的新增評論大約有幾十萬條,而全民K歌則有千萬量級之多。

2. 評論審核

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)2

評論審核指根據評論的質量去操作評論的狀态。比如,對于一些抄襲、辱罵、或是包含敏感詞的評論,我們會對它們進行隐藏,删除或者設為僅自己可見等等;對于一些輕度負面或者蓋樓型的評論,我們可能會給它貼上劣質的标簽,在排序上進行降權,減少曝光。此外,對于一些潛在的優質評論,是指那些文字寫得不錯,并且跟歌曲内容比較相關,但是因為點贊數較低而處于一個比較靠後的排序位置的評論,我們會在短期内給它們一個頭部位置,使它們得到足夠多的曝光。

我們針對不同的業務場景訓練模型,讓模型給出操作建議來輔助審核,甚至自動審核,以達到減少人力成本的目的。

3. 評論排序

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)3

好的排序可以極大提升用戶閱讀評論的體驗。我們的算法需要綜合考慮更多的因素,給出更優的分發方式。我們主要考慮了兩類因子:

第一個是文本語義标簽,包括文本的質量、主題、情緒等等。第二個是後驗因子,包括評論的點贊、回複以及點贊飙升情況等。

上圖是我們的一個排序白闆,帶顔色的部分是評論的文本标簽,後面是它的置信度。而圖右的一些數值就是後驗因子。

我們将相關技術應用到QQ音樂的評論排序上面,在最熱和最新tab的基礎上增加了一個推薦序tab,使得排序核心指标得到了有效的提升。

--

02

評論審核-QQ音樂

1. 業務目标

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)4

審核的人力無法滿足需求,因此我們需要借助NLP實現兩個業務目标:①使用模型輔助審核,提高審核效率。②實現部分評論的自動審核。

上圖右側紅框内是文本質量标簽和模型給出的處理意見,其下面打碼的部分是一些具體操作。

2. 質量模型

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)5

基于上述業務目标,我們構建了一個質量模型我們把文本質量分為優質、良好、普通、劣質四類标簽,主要以語言的優美流暢性,與歌曲的相關性,情感極性以及主題類别等作為考量因素。例如上圖中的紅色評論,首先它和歌曲名有一定的相關性,并且使用了對偶句式。它的語言是比較優美流暢的,因此,我們給它打上了優質的标簽。相較之下,黃色的評論是批評周董唱功,我們就給它打上了劣質的标簽。

結合質量标簽以及評論狀态,模型可以給出具體的操作建議,從而輔助或者替代人工審核。

3. 質量模型-V1

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)6

第一版質量模型比較簡單,主要是用BERT模型進行編碼,然後做四分類。我們之前提到的優質、良好标簽,它的判定需要融入一些歌曲相關性的信息,因此我們使用了Sentence Pair這種方式去引入歌手歌曲等信息,來幫助模型提取相關性特征。此外,在數據增強層面,我們使用了EDA以及适配業務的一些數據增強方法,有不錯的效果。

4. 質量模型-V2

① V2模型的業務目标

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)7

第一版模型的劣質标簽召回率偏低,主要來源于兩種類型的漏召回

第一個是對抄襲評論的漏召回,比如“初聽不識曲中意,再聞已是曲中人。”初看這句話可能會覺得寫得還不錯,對仗工整,語言優美。但實際上這條評論頻繁地出現在各種歌曲下,所以我們把它認定為為抄襲評論,這種評論大量出現在頭部評論中,會影響用戶閱讀體驗,因此我們需要給它打上劣質的标簽。

第二,質量粗分類模型隻能識别一些情緒比較強烈的辱罵評論,針對歌手歌曲客觀負面評價難以召回。因此,我們的第二版模型的目标主要是去提升這兩類劣質評論的召回。

② 提升抄襲評論的召回

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)8

針對抄襲評論的召回,我們使用Min Hash與LSH結合的方式,預先構建抄襲文本詞典和倒排索引,哪怕與詞典中評論有幾字的差别,也可以較快較好地召回,圖中是Min Hash & LSH以及其倒排索引構建的過程。

③ 提升攻擊歌手歌曲評論的召回

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)9

攻擊歌手歌曲的評論是一些負面性情感的評論,我們通過構建情感分析模塊來處理它們。考慮到情感分析任務的複雜性,音樂評論中有較多情緒并沒那麼強烈,或是句式結構較複雜的文本,因此我們将此部分從質量模型裡面分離開來,單獨去構建一個模塊。這個模塊主要分為評價類分類和感情極性分類兩個子模塊。

評價類分類模塊主要用于判斷某評論是不是在評價當前對象(歌手或歌曲)。比如“天氣讓人心煩”是一條負面性的評論,但它并不是在攻擊歌手歌曲,并不需要召回;而“唱得讓人心煩”就是典型的一條攻擊歌手歌曲的評論,需要模型召回。評價類分類模塊就主要起到一個初篩的作用。

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)10

然後就是情感極性分類模塊,它用于判斷句子的情感極性是正向、中立還是負向。

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)11

對于評價類分類模型的實現,我們是用BERT進行編碼,并且在Embedding層融入歌手歌曲實體信息。例如“DT很不錯哦。”、“熱狗真棒”這類評論,需要告知模型“DT”、“熱狗”為歌手實體,使得模型能正确地召回。

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)12

對于情感極性分類任務,我們遇到了三個難點。首先是複雜句式,比如說“周傑倫比林俊傑唱得棒。”,對周傑倫而言,它是一個正向情感,而對于林俊傑而言,它是一個負向的情感。所以指定不同的Target,可能情感極性就不同。然後是領域詞典,當看到“躁”這個字,我們可能會想到急躁或暴躁,這時它是一個負向情感詞。但是在音樂領域裡,比如“這首歌很躁。”,它卻是一個正向的感受。同樣的,“悲”這個字在音樂中可能是一個較中性的個人感受,而非負面。第三個問題是前期訓練數據較少

為了解決這些難點,針對前兩個問題我們将傳統的Embedding與自定義Embedding進行融合,圖中式子前三項是傳統Embedding方式,後三項是我們的自定義的Embedding。

圖中的Entity Embedding用于指定評價對象,在這個例子中我們指定了“林”。User Vocab Embedding是自定義詞典的Embedding,例子中,“棒”在自定義情感詞典中是一個正向情感詞,需要加上一個正向的Embedding。Adverb Embedding用來處理一些轉折句式,此句式中句子重心通常出現在轉折詞之後,以此來決定句子的情感極性。有了這些特征之後,還需要大量的數據去強化模型對這些特征的理解。我們主要是使用模闆去構造大量的難點句式,包括比較,轉折型等等。針對前期訓練數據比較少的問題,我們引入了DANN結構,我們使用了不同領域的極性分類數據,把它加到模型中,并引入一個Domain Layers領域分類層進行對抗訓練,使得BERT能夠提取到領域無關性的特征。

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)13

兩個子模塊需要兩次BERT編碼,模塊性能較差。考慮到這兩個任務具有一定的特征相關性,可以用Multi Task共享部分編碼層,提升模型性能。這裡借鑒了MTAN構建模型;此外,Embedding融合則是延用了之前的方法。BERT作為全局共享網絡進行文本編碼,不同的GRU對應不同的任務,用于特征提取和分類。此外,在損失函數中,加入了方差不确定性,去動态調整兩個損失的權重,并起到去噪的作用。在計算梯度時,引入Gradient Surgery,用于修正梯度沖突。

④ 業務效果

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)14

模型的業務效果很不錯,針對高精确率或高置信度的一些操作,實現自動審核,人工待審量大幅減少。同時模型給出建議操作可以協助審核人員效率提升20%。此外,審核人員的實際操作,可及時反饋算法側,通過得到的hard樣本,完成模型疊代。

--

03

評論審核-K歌

1. 業務目标

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)15

K歌評論審核主要是對一些辱罵性評論進行展示降權。目前評論的日增千萬級,人工審核不現實,所以我們需要模型自動去識别辱罵評論,并自動處理。

2. 辱罵模型-V1

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)16

V1版主要是判斷某條評論是否為辱罵評論,模型結構仍舊基于BERT。

在數據構建方面,我們采取了僞标簽加對抗樣本增強的方式。什麼是對抗樣本?假設有一個正例數據,我們給它一個輕微的擾動,模型會把它判成負例,并且這個擾動不足以改變句子的原始語義,這樣就是一條有效的對抗樣本。訓練中加入對抗樣本,可以極大地提升模型的魯棒性。

在構建對抗樣本時,我們使用了一種基于梯度的白盒攻擊方法,且具有一定的可解釋性,它可以告訴我們哪些字詞是模型中比較重要的特征,我們還可以通過構建顯著圖,來了解模型是不是真學到了有用的特征。相比于圖像對抗領域,文本對抗更難,是因為文本的特征是離散的,度量比較困難,稍微改動一兩個字,文本的語意可能就會發生巨大的改變。比如“這首歌曲真好聽呀! ”,我們把“真”改成“不”,它的情感極性就從正向變成負向,但是它們的Jaccard相似度卻依舊很高。

這裡使用了Hot Flip方法,圖中展開式的L代表損失函數,Δ x是輕微擾動。意味着我們需要沿着梯度上升的方向去找一個Δ x,這個Δ x能夠使得損失函數快速增大。此外,因為文本序列的特征是離散的,我們還需要對Δ x進行離散化處理,模型最終給出了一些有效和無效的對抗樣本實例。

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)17

除此之外,我們對預訓練任務做了一定的修改,融合了目前非常火熱的Prompt方法

一般來說,首先利用大規模的中文語料得到預訓練模型,然後利用目标領域的無标簽數據再次預訓練。這裡我們将Prompt運用在Post Train階段,希望能得到一個更适配于下遊任務的預訓練模型。Prompt被證明在few shot場景下有不錯的效果,其核心思想是将下遊任務轉換成一個語言模型或者完形填空的任務。在上圖例子中,我們在句子前添加Prefix(Prompt Token),句子其他部分采用傳統的MLM采樣方式,然後對MSK Token進行預測。此外,不同Prompt模闆産生的訓練效果差異較大,我們希望通過模型自動找到最合适的Prompt Pattern。

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)18

這裡借鑒了Auto Prompt的思想,把之前确定性的Prompt全部替換成Mask Token,然後讓模型自己去決定Mask Token是什麼。我們的目标是要找到一個最好的Prompt,使得LABEL部分的預測損失變小。因此需要沿着梯度負方向去尋找這樣的Prompt。此外,我們還加入了語言模型,使得生成的Prompt能夠更加流暢。

3. 辱罵模型-V2

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)19

第一版模型沒有考慮用戶的關系鍊和評論的辱罵等級,比如好友評價“唱的不是很好聽,需要繼續努力。”,這是比較客觀的負面評價,如果把這樣的評論也沉底或隐藏了,整個K歌隻有單一的正向誇贊的評論,這不是我們所期望的。這裡需要将辱罵等級重新切分為非負面、客觀負面、輕度辱罵和重度辱罵四個等級,負面程度依次遞增,然後根據不同的用戶關系進行不同程度的隐藏或沉底。此外,我們希望模型的誤傷判錯能夠控制在相鄰等級之間,這樣業務損失會比較小。

為了解決這個問題,我們把四分類模型變成了多個二分類模型。例如,對于一條重度辱罵評論,我們會先去判斷它是非負面還是其他三類等級,如果是其他三類,我們才會接着進行後面的判斷。此外,在模型層面我們加入了分類鍊去強化标簽之間的相關性。其中,GRU每個時刻生成一個0/1标簽,最終得到了一個标簽序列,去對應一個具體的辱罵等級。比如一條輕度辱罵評論,它對應的分類序列就是110,重度辱罵對應的序列是1110。此外,我們加入了一個V矩陣來加強不同任務的感知。此外,我們還複用了之前的Prompt MLM預訓練模型,有不錯的提升。

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)20

以上是我們隐藏辱罵的一些實例。V2模型每天能打擊萬級别的新增辱罵評論。

--

04

評論排序

1. QQ音樂評論排序現狀

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)21

之前QQ音樂評論排序隻有最熱和最新兩個tab。最熱tab排序出現了較嚴重的馬太效應,頭部評論萬年不變;還會有一些抄襲、騙贊、負面的頭部評論,例如“有人看到這句話麻煩點個贊”等;評論的多樣性也比較差,頭部經常出現重複性或是主題相同的評論。最新tab排序也存在一定的問題。因為評論是按照發布時間逆序排列的,最新評論沒有熱度因子(點贊、回複)幹預排序,所以可能會導緻頭部評論的内容質量比較差。所以我們要綜合考慮時間,互動,NLP因子來給出一個更好的分發方式。

2. 排序模型-V1

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)22

目前的評論上報是不完善的,所以我們使用手寫經驗公式,其中最重要是熱度與NLP因子的融合。其中,熱度因子主要包括點贊、回複、時間衰減等等;而NLP因子主要是一些質量、主題、情緒等标簽。

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)23

此外,我們還對頭部評論的主題内容進行了多樣性重排。我們采用了推薦中常用的DPP算法,同時融合了熱度信息,利用Cholesky矩陣分解和貪心的方法求近似解,就可以得到内部相似度較低,而熱度較高的評論子集。上述行列式中使用了文本相似度計算,因此我們還需要提前對文本進行向量化處理,這裡使用LSA主題模型,先将文檔詞矩陣進行SVD分解,得到文檔主題矩陣,然後再計算相似度。多樣性重排的方式很好地解決了頭部評論主題重複的問題,提升了内容豐富性。

3. 排序模型-V2

① V2模型的業務目标

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)24

V1版的模型存在一個明顯的問題,即對一些與歌曲無關或弱相關的一些優質良好評論會給予較高的語義分數。例如上圖例子中歌曲《水星記》下的兩條評論,模型同時給予了第一條和第二條評論優質的标簽。從文本和語言角度看,兩條評論都很優美。然而第一條包含了“銀河”、“星空”等與歌曲信息相關的主題詞,所以它與歌曲的相關性明顯更強。但是之前的質量模型并沒有充分考慮這種相關性,因此我們需要再加入一個相關性模型,在優質标簽的基礎上再分檔,從而使得與歌曲更相關的評論能夠得到更高的語義分數。

此外,我們之前使用的質量模型在判斷相關性上也存在明顯的缺陷。首先,考慮到我們需要把歌詞,演唱會等更多的信息融入到輸入中,質量模型采用的Sentence Pair 這種方式會導緻輸入序列過長,有可能超過BERT模型的最長處理長度;其次使用CLS可能會使模型看到并過分依賴描述信息,導緻過拟合。因此我們重新構建了一個相關性模型,并分為相關性預訓練和相關性分類任務兩個階段。要做預訓練是因為相關性判定需要使用到标注數據,然而其标注成本較高,所以我們想通過一些自監督的方法,使得相關性分類任務能夠得到較好的初始化參數。

② 相關性預訓練

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)25

我們的預訓練模型使用了MLM任務和百萬量級的QQ音樂評論。考慮到相關性高的評論中的一些字詞或者主題等可能來自于歌詞,歌曲名或者描述信息,所以在MLM生成Token時時需要考慮這部分信息的。這裡分别對歌曲和評論進行編碼,然後通過局部多頭注意力機制層,用歌曲信息去表示MSK部分。之後,使用一個門控層去幫助模型取舍評論文本和歌曲信息,并最終得到一個向量表示來進行MSK部分的預測。假設評論的某部分和歌曲信息某部分相同或者具有相同的上下文,那麼歌曲信息部分對MLM預測的貢獻度就較高,對應門控層中紅色部分的模也會較大,這在一定程度上反映了歌曲和評論的相關性。

③ 相關性分類任務

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)26

我們的相關性分類任務複用了之前的模型結構和參數。之前提到上圖紅色的部分代表相關性信息,我們這裡将它和模型原始BERT Embedding進行了拼接,去做一個強相關,弱相關和無關的三分類任務。我們把相關性标簽應用到排序中,相關性較高的優質評論的排名會上升,最終評論點贊率有所提升。

--

05

未來展望

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)27

1. 評論審核

評論審核方面,我們後期的目标是對整體的審核準确率進行持續優化。對人工審核的數據實現自動清洗并且擴充訓練集。此外,我們還準備開放更多的音樂評論标簽的服務接口。

2. 評論排序

排序上,我們将推進評論流水上報,将經驗公式變成排序模型。此外,我們也會對語義因子進行擴展和持續優化。

--

06

Q & A

Q1:排序中的相似度計算會不會很費資源?

A1:不會。因為我們使用的是LSA方法,它的向量化比較簡單,其本質就是做SVD矩陣分解。

Q2:情感分析中提到的轉折性句式是什麼?

A2:例如“你前面唱的還可以,但是後面唱的不太行”,這句話我們認為它的重心是“但是”轉折詞後面那句話,即我們認為這是比較偏負向的一條評論。再例如“你後面唱的不行,即使你前面唱得很好”,這樣的句子重心就在前面。我們通過加入轉折詞概念的方式來讓模型去知道句子的重心在哪裡,幫助模型去判斷。

Q3:自定義Embedding和BERT Embedding是如何拼接的?

A3:我們是在傳統Embedding的基礎上加上自定義Embedding,但是我們是在Norm之後加上的,因為我們發現這種方式效果更好。如果直接将兩者拼接,自定義Embedding的信息會被之前的BERT Embedding淹沒掉。

今天的分享就到這裡,謝謝大家。


分享嘉賓:yiping TME 算法工程師

編輯整理:桑小晰 深交所

出品平台:DataFunTalk


01/分享嘉賓

騰訊音樂内容審核怎麼樣(騰訊音樂評論審核)28

yiping|TME 算法工程師

yiping畢業後一直從事評論審核、評論分類,以及評論排序相關工作。相關技術已應用于QQ音樂、全民K歌的評論區,顯著降低成本并提高業務核心指标。


02/關于我們

DataFun:專注于大數據、人工智能技術應用的分享與交流。發起于2017年,在北京、上海、深圳、杭州等城市舉辦超過100 線下和100 線上沙龍、論壇及峰會,已邀請超過2000位專家和學者參與分享。其公衆号 DataFunTalk 累計生産原創文章700 ,百萬 閱讀,14萬 精準粉絲。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved