国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種用于垃圾評論分類的融合主題信息的生成對抗網(wǎng)絡(luò)模型

2021-11-22 08:03徐閩樟陳羽中
小型微型計算機系統(tǒng) 2021年11期
關(guān)鍵詞:分類器樣本分類

徐閩樟,陳羽中

1(福州大學(xué) 數(shù)學(xué)與計算機科學(xué)學(xué)院,福州 350116)

2(福建省網(wǎng)絡(luò)計算與智能信息處理重點實驗室,福州 350116)

1 引 言

在快速發(fā)展的信息時代,網(wǎng)絡(luò)中充斥著海量的信息,但它們并不一定都是出于正確的目的或者能夠提供有效的服務(wù),特別在電商領(lǐng)域,網(wǎng)絡(luò)平臺上的評論在很大程度上影響了消費者的消費觀.在利益的驅(qū)動下,許多投機者在網(wǎng)絡(luò)中發(fā)布大量的垃圾評論,文中的垃圾評論是指網(wǎng)絡(luò)平臺中傳播的沒有參考價值的無效評論.針對這種廣泛的不良現(xiàn)象,如何準確高效的識別垃圾評論成為一個亟待解決的問題.

商品垃圾評論首先由Jindal等人[1]提出,并將垃圾評論分為3類:1)欺騙性評論,指故意提升或詆毀商品聲譽和口碑的不真實評論;2)不相關(guān)評論,指評論的對象并非針對商品本身,而是與商品無關(guān)的品牌、商鋪等;3)非評論信息,即廣告、聊天等.在這3類中欺騙性評論難以人工識別,因為一個垃圾評論發(fā)布者若是刻意偽裝掩飾自己的真實意圖,使其發(fā)布的評論與正常用戶發(fā)布的評論并無太大差別,那么即使是人工識別也很難奏效.當前針對垃圾評論的識別方法主要分為兩種[2]:基于評論文本分析的垃圾評論識別與基于用戶行為特征的垃圾評論識別.

基于用戶行為特征的垃圾評論識別的研究對象擴大到用戶,通過對用戶的評論發(fā)布行為進行特征提取和建模進行垃圾評論識別.這里用戶可以是個體用戶也可以是用戶群體,基于個體用戶行為的垃圾評論識別方法主要有反常行為偵測,或構(gòu)建用戶、商品和評論之間的關(guān)系圖來建模迭代運算來進行識別等,基于用戶群體的垃圾評論識別方法主要有通過對垃圾評論發(fā)布者之間的關(guān)系進行群組特征提取或者是聚類等來進行群體垃圾評論發(fā)布者識別.這些方法一方面或多或少都需要進行特征工程處理,特征選擇費時費力,也使得模型的遷移較為困難,要求較高,另一方面用戶與評論的關(guān)系并不絕對,容易產(chǎn)生噪聲,使得模型訓(xùn)練不穩(wěn)定.

基于評論文本分析的垃圾評論識別的觀點是雖然垃圾評論發(fā)布者會盡可能的偽裝、掩飾自己的真實意圖,但一定程度上在語言的細節(jié)上仍然會暴露破綻,它側(cè)重于對文本特征的挖掘和組合.在傳統(tǒng)機器學(xué)習(xí)方法中,基于評論文本分析的垃圾評論識別方法的主要思路是通過特征工程,對評論文本進行特征選擇,對這些評論特征建立模型,進而訓(xùn)練分類,主要用到的模型有貝葉斯分類、支持向量機、決策樹等傳統(tǒng)模型.基于評論文本分析的傳統(tǒng)垃圾評論識別方法相對于基于用戶行為特征的傳統(tǒng)垃圾評論識別方法,它的特征工程難度更高,特征選擇更為困難,且難以獲取評論深層語義信息,分類效果差強人意,泛化能力較弱.近年來,隨著深度學(xué)習(xí)的發(fā)展,通過卷積神經(jīng)網(wǎng)絡(luò)或循環(huán)神經(jīng)網(wǎng)絡(luò)對評論文本深層次編碼,對評論文本自動進行特征提取,將評論信息映射到高維空間,從而建立垃圾評論分類模型,較好解決了傳統(tǒng)機器學(xué)習(xí)方法所面臨的主要問題.但是,深度學(xué)習(xí)方法依賴大規(guī)模數(shù)據(jù)集,而垃圾評論的人工識別成本高昂,標記樣本數(shù)量有限,在深度學(xué)習(xí)訓(xùn)練中容易發(fā)生過擬合,且正負樣本非常不均勻,模型訓(xùn)練不穩(wěn)定;另外評論文本本身并不存在垃圾與否的屬性,而是這個評論出現(xiàn)在當前的主題是否合適,能不能有效的為消費者提供幫助是定義評論是否為垃圾評論的重要參考,其中的主題可以是商品或服務(wù),因此在不考慮評論出現(xiàn)的主題信息,僅關(guān)注評論文本的情況下,容易使模型出現(xiàn)過擬合,泛化能力較弱,影響分類效果.

綜上所述,針對現(xiàn)有方法存在的問題,本文提出融合主題信息的生成對抗網(wǎng)絡(luò)模型Topic-SpamGAN模型,使用對抗神經(jīng)網(wǎng)絡(luò)能夠有效解決標記數(shù)據(jù)集匱乏的問題,避免在大規(guī)模的深度學(xué)習(xí)訓(xùn)練中由于缺乏標記數(shù)據(jù)和正負樣本不平衡導(dǎo)致的過擬合等問題,利用強化學(xué)習(xí)解決文本生成中生成對抗神經(jīng)網(wǎng)絡(luò)的梯度不連續(xù)問題;此外引入主題信息,一方面主題信息能夠強調(diào)評論所處環(huán)境,幫助生成器擬合真實樣本,提高生成器生成的評論樣本的質(zhì)量,另一方面引入主題特征顯式強化了分類器的評論主題學(xué)習(xí),主題特征作為分類的重要參考,引導(dǎo)分類器在主題情景下進行學(xué)習(xí)分類,提高分類器的識別效率和準確度,解決;另外,本文通過優(yōu)化鑒別器和分類器的結(jié)構(gòu),提高模型對于文本的信息挖掘能力,進一步加強文本特征提取能力,從而提高模型的性能.

2 相關(guān)工作

本文基于評論文本分析的垃圾評論方法根據(jù)模型劃分為傳統(tǒng)學(xué)習(xí)方法和深度學(xué)習(xí)方法,根據(jù)訓(xùn)練樣本組成劃分為監(jiān)督學(xué)習(xí)和半監(jiān)督學(xué)習(xí).

在傳統(tǒng)監(jiān)督學(xué)習(xí)方法方面,Jindal等人首先通過2-grams來判斷兩個評論的相似度,再使用邏輯斯特回歸對垃圾評論進行分類;Ahmed等人[3]使用N-gram建立統(tǒng)計模型,使用貝葉斯分類器和支持向量機進行分類,何瓏等人[4]提出使用隨機森林模型,針對數(shù)據(jù)集中的樣本不平衡問題,對樣本中的大、小類有放回的重復(fù)抽取同樣數(shù)量樣本或者給大、小類總體樣本賦予同樣的權(quán)重以建立隨機森林模型來垃圾評論識別;Xu等人[5]提出一個集成了依存句法樹等高級語言特征的模型,分類器采用支持向量機,在多語言垃圾評論識別場景中取得不錯的效果;金相宏等人[6]提出LDA主題-情感分析模型,首先利用LDA主題模型過濾出內(nèi)容型垃圾評論,然后結(jié)合情感分析識別出欺騙型垃圾評論.這些方法作為經(jīng)典算法,都能夠取得不錯的識別率,此外引入主題模型,直接對評論進行內(nèi)容篩選,雖然能夠在一定程度上提高分類效率,但對主題信息的利用過于低效,沒有充分挖掘主題和評論的聯(lián)系.另外這些方法均需要進行特征工程,而不同領(lǐng)域的評論特征空間也有差異,因此這些方法往往在特定領(lǐng)域才能夠取得效果,泛化能力有限.

在深度學(xué)習(xí)監(jiān)督學(xué)習(xí)方法方面,卷積神經(jīng)網(wǎng)絡(luò)與循環(huán)神經(jīng)網(wǎng)絡(luò)被廣泛運用在垃圾評論識別中.Li L等人[7]使用卷積神經(jīng)網(wǎng)絡(luò)在文檔級別上做語義表示進行垃圾評論分類,通過在CNN中加入注意力機制,使用KL散度作為權(quán)重計算,先計算句中每一個詞的重要性,再進一步得到評論句的重要性權(quán)重,與評論句向量加權(quán)后組合為文檔向量用于分類;Siwei Lai[8]等人引入遞歸卷積神經(jīng)網(wǎng)絡(luò)來進行垃圾評論識別,在網(wǎng)絡(luò)學(xué)習(xí)單詞表示時,通過應(yīng)用遞歸結(jié)構(gòu)來盡可能地捕獲上下文信息,另外還采用一個最大緩沖層,該層可以自動判斷哪些單詞在文本分類中起關(guān)鍵作用,以捕獲文本中的關(guān)鍵成分;Y.Ren[9]等人使用卷積神經(jīng)網(wǎng)絡(luò)并結(jié)合循環(huán)神經(jīng)網(wǎng)絡(luò)建立模型識別垃圾評論,其中使用卷積神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)評論句表示,然后使用帶有注意機制的門控遞歸神經(jīng)網(wǎng)絡(luò)對其進行組合,以對話語信息進行建模并生成文檔向量.最后,文檔表示形式將直接用于垃圾評論識別;原福永等人[10]則提出融入注意力機制的卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建特征提取模型,在使用評論本身的特征外,還引入用戶和商品的特征,首先,使用融入全局-局部注意力機制的卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建評論特征提取模型;其次,分別使用神經(jīng)網(wǎng)絡(luò)及卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建評論者及商品特征提取模型;最后,將3個特征模型融合,構(gòu)成垃圾評論檢測模型;Yuan C等人[11]則提出利用張量分解與注意力機制的結(jié)合,通過設(shè)計多層次單元和融合注意力單元來獲取用戶和產(chǎn)品層次的語義表示,將評論和產(chǎn)品關(guān)系聯(lián)合起來檢測虛假信息.在深度學(xué)習(xí)框架下,模型能夠適應(yīng)更多的領(lǐng)域和商品,從而取得不錯的效果,但是注意到神經(jīng)網(wǎng)絡(luò)對于標記數(shù)據(jù)的需求更為關(guān)鍵,且數(shù)量要求較高,受限于人工標記的高成本,人們開始更多的考慮半監(jiān)督學(xué)習(xí)策略.

針對深度學(xué)習(xí)的樣本要求,許多研究工作開始采用半監(jiān)督學(xué)習(xí)策略.對于垃圾評論分類領(lǐng)域,不同于情感分析等其他文本分類場景中的文本生成,由于評論文本的詞項與垃圾屬性不存在直接聯(lián)系,不能直接幫助垃圾評論的分類,這就要求在垃圾評論識別的文本生成中不能僅僅局限于生成詞項與垃圾類別標記的關(guān)聯(lián),也意味著直接使用數(shù)據(jù)樣本并不能很好的指導(dǎo)垃圾識別中的文本生成,此外,由于標記數(shù)據(jù)集的限制,文本生成訓(xùn)練中擬合的樣本分布也相應(yīng)的受到限制,影響泛化能力.于是圖像處理領(lǐng)域成熟的生成對抗神經(jīng)網(wǎng)絡(luò)逐漸進入視野,生成對抗神經(jīng)網(wǎng)絡(luò)的生成器參數(shù)更新不是直接來自數(shù)據(jù)樣本,而是來自鑒別器的反向傳播,基于鑒別器提供的自適應(yīng)損失能夠指導(dǎo)生成器的生成目標由詞項關(guān)聯(lián)類別標記轉(zhuǎn)移到使文本整體更為符合類別標記上,提高生成器的健壯性,生成效果更好,此外生成器可以分布空間中任意取樣,并不僅僅局限于標記數(shù)據(jù)集,由鑒別器提供損失更新參數(shù)來擬合樣本空間,提高泛化能力.Lantao Yu等人[12]提出的SeqGAN使用Seq2Seq框架實現(xiàn)評論樣本的自動生成,并在之后由Yi-Lin Tuan等人[13]提出的StepGAN,William Fedus等人[14]提出的MaskGAN以及Nie W等人[15]提出的RelGAN進一步提高了評論樣本生成的準確性,隨后Stanton G等人[16]提出SpamGAN將GAN引入垃圾評論識別,將小部分的標記數(shù)據(jù)用于GAN的樣本生成,利用GAN生成的大量標記數(shù)據(jù)來滿足分類神經(jīng)網(wǎng)絡(luò)的龐大樣本需求,取得相當不錯的成果.

綜上所述,傳統(tǒng)監(jiān)督學(xué)習(xí)方法在垃圾評論識別領(lǐng)域逐漸出現(xiàn)性能不足,泛化能力弱的情況下,深度學(xué)習(xí)的蓬勃發(fā)展給垃圾評論識別帶來矚目的成果,但是標記數(shù)據(jù)獲取成本高昂,標記數(shù)據(jù)稀少成為深度學(xué)習(xí)方法垃圾評論識別中更為緊迫的問題,本文通過引入GAN,利用深度學(xué)習(xí)方法解決標記數(shù)據(jù)稀少的問題,具有更多的優(yōu)化空間,分類性能也隨著標記數(shù)據(jù)的增加得到明顯提高;另外為了避免僅針對評論文本進行分類學(xué)習(xí),本文引入主題,并充分利用深度神經(jīng)網(wǎng)絡(luò)的特點,深入挖掘評論與主題的聯(lián)系,引導(dǎo)分類器基于主題信息對評論進行分類,提高分類效果.

3 Topic-SpamGAN

本節(jié)主要介紹Topic-SpamGAN模型框架,包括生成器、鑒別器和分類器3個主要模塊.

3.1 問題描述

本文垃圾評論分類主要聚焦于常見的電商平臺評論.在評論數(shù)據(jù)集中隨機抽取評論文本和相應(yīng)主題文本,通過分類模型的分類識別,輸出一個二類標簽,標識該評論是否為垃圾評論.以下給出相關(guān)的符號標記.

本文使用SL來表示已標記數(shù)據(jù)集,SU表示未標記數(shù)據(jù)集,用來提高對抗網(wǎng)絡(luò)中的生成器的性能.模型最終使用S=SL∪SU進行訓(xùn)練.對于數(shù)據(jù)集S中的每一個訓(xùn)練評論句r1:N={r1,r2,…,rn,…,rN,}都是包含N個詞項的序列,其中rn∈R表示在此訓(xùn)練句中的第n個詞項,而R則表示詞項集合.另外模型使用主題信息來進一步獲取評論樣本信息以及提升分類性能,每一個評論樣本的主題t1:M={t1,t2,…,tm,…,tM,}同樣都是包含M個詞項的序列,其中tm∈T表示在此主題中的第m個詞項,而T則表示是所有使用的主題詞的集合.對于數(shù)據(jù)集中所有的已標記評論樣本rL,同樣會有類別標簽標記每一個評論樣本,本文將類別分為兩類:c∈:{spam,no-spam}.

3.2 模型框架

為了能夠在訓(xùn)練中更加有效的運用數(shù)據(jù)集中的標記評論樣本和未標記評論樣本,Topic-SpamGAN將分為3部分:生成器 G,鑒別器 D,分類器C,如圖1 所示.對于給定的主題句和類別,生成器 G能夠?qū)W習(xí)生成一個新的樣本,稱之為生成句,且該評論句應(yīng)該相似于訓(xùn)練數(shù)據(jù)集中的對應(yīng)類別的已標記評論句.鑒別器則通過比較真實評論樣本與生成評論樣本的差別學(xué)習(xí)判斷一個評論樣本是否為真實評論句或為生成評論句,同時利用鑒別器的判斷來指導(dǎo)生成器生成更加真實的評論樣本.通過生成器與鑒別器之間的博弈以提高生成器所生成的評論樣本的質(zhì)量.

圖1 Topic-SpamGAN框架

生成句是由生成器根據(jù)給定的主題句與類別標簽所生成,因此其對應(yīng)的主題句與類別標簽是已知的,基于SL中的標記評論樣本,由生成器根據(jù)給定主題句與類別標簽,生成標記評論樣本對分類器進行訓(xùn)練,從而提高分類器的泛化能力.此外,分類器同樣可以指導(dǎo)生成器生成更加符合要求的評論樣本,從而使得生成器能夠生成更加符合給定的主題句和類別標簽的生成句,進一步提高分類的準確性.在生成器與鑒別器相互對抗,生成和鑒別生成句時,生成器與分類器同樣在互相促進學(xué)習(xí).在對Topic-SpamGAN的3個主要模塊進行預(yù)訓(xùn)練后,再進行聯(lián)合訓(xùn)練,此時生成器能夠生成與訓(xùn)練集非常相似的評論樣本,分類器通過對大量的標記評論樣本進行特征學(xué)習(xí),從而能夠正確識別垃圾評論與正常評論.

3.3 生成器

首先假設(shè)PR(y1:N,t,c)是從真實訓(xùn)練集中采樣得到的評論樣本r1:N、主題t∈T和類別標簽c∈C的真實聯(lián)合分布,那么生成器的目標就是尋找一個參數(shù)化的條件分布(r1:N|t,c,z,θg),且該條件分布應(yīng)盡可能接近真實聯(lián)合分布.生成句由生成器網(wǎng)絡(luò)中的參數(shù)θg、隨機噪聲z、類別標簽c和主題信息t共同控制生成,其中隨機噪聲z從隨機分布Pz中采樣獲得,類別標簽c從隨機分布Pc中采樣獲得,主題信息t由主題句t1:M經(jīng)過主題編碼器獲得.其中對于類別標簽c采樣得0(c為0表示樣本為垃圾評論,反之c為1則表示樣本為非垃圾評論)的隨機樣本噪聲z取為-z,類別標簽c采樣為1則仍為z,以此保證生成器能更加有效獲知類別差異.最后由z與t拼接構(gòu)成輸入向量.這個輸入向量將會在生成評論樣本時,作為每個時間步的輸入,保證在每個時間步的生成都能準確獲知類別標簽信息和主題信息,本文將網(wǎng)絡(luò)對評論樣本的每一個詞項生成或每一個詞項向量處理的過程為一個時間步.

(rn|rt-1,t,c,z,θg)

(1)

在預(yù)訓(xùn)練階段,首先從數(shù)據(jù)集S中批采樣真實評論樣本,并通過最小化在每個時間步上的條件交叉熵進行訓(xùn)練.具體來說,對于從SU中隨機采樣的樣本,為這些樣本從類別標簽隨機分布中隨機采樣標記類別標簽,這些樣本與從SL中隨機采樣的樣本一同作為訓(xùn)練樣本,最小化如下的損失函數(shù):

(2)

其中t為主題句,c為類別標簽,z為隨機噪聲,θg為生成器參數(shù).

在對抗訓(xùn)練階段,Topic-SpamGAN模型將生成器的評論句序列生成過程視為序列的決策問題,將生成器作為強化學(xué)習(xí)中的智能體,生成器在評論樣本生成的每一個時間步上都在做決策,通過策略梯度算法,訓(xùn)練生成器去最大化期望獎勵,這些獎勵由鑒別器與分類器在已生成的評論樣本上進行評估而共同提供(詳見3.4).生成器的主要結(jié)構(gòu)是由帶有門控循環(huán)單元的雙向多層循環(huán)神經(jīng)網(wǎng)絡(luò)單元作為基礎(chǔ)神經(jīng)元,以提供雙向解碼和選擇記憶能力.

3.4 鑒別器

鑒別器D用于檢測一個評論樣本是真實的(采樣于S)還是生成的(由生成器G生成),它具有參數(shù)θd,通過計算一個評論樣本的真實度得分(r1:N|θd),進而判斷這個評論樣本是否為真實的評論樣本.鑒別器會在評論樣本的每個時間步上都進行計算真實度得分QD(r1:n-1,rn),隨后平均所有時間步的真實度得分得到評論樣本總體真實度得分.

(3)

QD(r1:n-1,rn)是僅在時間步n處的真實度得分,它僅僅依賴于評論文本的前n-1個詞項部分r1:n-1.之所以這樣設(shè)置,是因為鑒別器D是Topic-SpamGAN中的重要部分,Topic-SpamGAN將評論部分詞項r1:n-1視為生成器 G 也即強化學(xué)習(xí)中的智能體現(xiàn)在所處的評論樣本生成狀態(tài)s,將詞項rn視為智能體所做出的評論樣本生成動作a,而QD(r1:n-1,rn)則為估計值.這樣就能夠不用蒙特卡洛搜索獲得估計值,節(jié)省計算開銷.

在訓(xùn)練階段,首先會從數(shù)據(jù)集S以及生成器G分別批量采樣相同數(shù)量的評論樣本,顯然,可以得知采樣評論樣本的真實與生成類別標簽,隨后分別計算每個評論樣本真實度得分(r1:N|θd),此時和訓(xùn)練其他GAN一樣,通過最大化在真實評論樣本上的真實度得分,最小化在生成評論樣本上的真實度得分.最后即可最小化損失LD.

LD=LDR+LDG

(4)

其中:

LDR=r1:N~PR-[log(r1:N|θd)]

(5)

LDG=r1:N~-[log(1-(r1:N|θd))]

(6)

此外,由于Topic-SpamGAN采用強化學(xué)習(xí)算法,因此在鑒別器中包含一個評價器Dcritic,用于強化學(xué)習(xí)的訓(xùn)練.評價器同樣在每一個時間步上進行真實度得分的估計,對于基于評論部分詞項r1:n-1的下一個詞項rn,評價器Dcritic將會根據(jù)鑒別器計算出一個基準得分VD(r1:n-1),使得QD(r1:n-1,rn)能夠盡可能逼近該基準得分.基準得分VD(r1:n-1)將會用于鑒別器的對抗訓(xùn)練,使得策略梯度的更新更加穩(wěn)定.

VD(r1:n-1)=rn[QD(r1:n-1,rn)]

(7)

評價器Dcritic的損失函數(shù)為QD(r1:n-1,rn)和VD(r1:n-1)間的均方差,如下所示:

(8)

對于鑒別器,Topic-SpamGAN采用Transformer作為主要網(wǎng)絡(luò)結(jié)構(gòu),相比于循環(huán)神經(jīng)網(wǎng)絡(luò),Transformer結(jié)構(gòu)能夠更加有效的捕捉文本中的信息;另外為了更好地表示文本位置信息,對輸入加入位置信息編碼;通過掩碼計算評論樣本在每個時間步上的真實相似度得分QD(r1:n-1,rn)等,之后使用二元分類Dense層判斷該評論樣本是否為真實評論樣本.對于評價器Dcritic,Topic-SpamGAN采用在Transformer結(jié)構(gòu)后額外增加一個Dense層用于評估計算VD(r1:n-1).

3.5 分類器

給定一個評論樣本r1:N和其主題句t1:M,分類器C將會判定該句是否為垃圾評論,并對比其真實類別標簽,調(diào)整分類器C的參數(shù)集θc進行訓(xùn)練學(xué)習(xí).首先,對給定的評論樣本r1:N和其主題句t1:M進行處理,評論樣本r1:N通過詞編碼器得到訓(xùn)練句詞向量序列,主題句通過主題編碼器獲得主題句詞向量序列,Topic-SpamGAN使用注意力機制獲得訓(xùn)練句詞向量序列和主題句的注意力序列,拼接到句向量序列后,作為輸入向量序列.與鑒別器類似,分類器C同樣會在序列的每一個時間步上根據(jù)評論部分詞項r1:n來得出一個預(yù)測分值QC(r1:n-1,rn,t,c),該分值將用于判定該訓(xùn)練句是否屬于類別c.將這些時間步上的平均分值作為總體分值.

(9)

分類器C的損失LC分為兩個部分:LCR與LCG.LCR是分類器在真實的已標記樣本上進行預(yù)測分類分值的交叉熵;LCG是分類器在由生成器生成的生成句上進行預(yù)測分類分值的損失.生成句在這里被視為具有潛在噪聲的訓(xùn)練樣本,因此它的損失不僅包含交叉熵損失,還包含香農(nóng)信息熵H((c|r1:N,θc)).

LC=LCR+LCG

(10)

LCR=(r1:N,c,t)~PR-[log(c|r1:N,θc,t)]

(11)

LCG=c~Pc,r1:N~-[log(c|r1:N,θc,t)+αHC]

(12)

其中

HC=H((c|r1:N,θc,t))

(13)

在LCG中α是一個平衡參數(shù),用于平衡香農(nóng)熵的影響.加入香農(nóng)熵能夠增加分類器在分類時的確信度,這對于提高生成器在生成給定類別的評論樣本時的性能很重要.

類似于鑒別器,分類器中同樣包含一個評價器Ccritic用于計算估計在每個時間步rn上基于評論部分詞項r1:n-1的基準得分VC(r1:n-1,c),使得QC(r1:n-1,rn,c)能夠盡可能逼近這個基準得分,公式如下所示:

VC(r1:n-1,t,c)=rn[QC(r1:n-1,rn,t,c)]

(14)

同樣,評價器Ccritic的訓(xùn)練損失LCcritic設(shè)置為QC(r1:n-1,rn,t,c)和VC(r1:n-1,t,c)之間的均方差,公式如下所示:

(15)

分類器的實現(xiàn)采用Transformer結(jié)構(gòu),輸入的評論句與主題句的注意力序列通過一個Transformer結(jié)構(gòu)獲得,與評論句拼接后作為分類預(yù)測輸入向量,分類預(yù)測的主體結(jié)構(gòu)同樣是一個Transformer結(jié)構(gòu),輸出是一個二元分類Dense層用來預(yù)測類別標簽的概率分布.分類器的評價器與鑒別器的評價器類似,在分類器的Transformer結(jié)構(gòu)之后額外加一層Dense層用于在每一個時間步上計算估計VC(r1:n-1,t,c).

3.6 強化學(xué)習(xí)

Topic-SpamGAN采用強化學(xué)習(xí)策略對生成器進行訓(xùn)練,將生成器的生成句的生成視為序列決策過程,生成器則作為強化學(xué)習(xí)中的智能體或者行為者,將已生成的詞項序列r1:n-1視為智能體當前所處的狀態(tài),所要生成的下一個詞項rn即為智能體所采取的行為,而智能體采取的這個行為是基于策略函數(shù)(rn|r1:n-1,t,c,z,θg)進行選擇,策略函數(shù)通過計算各行為的期望獎勵,給出各行為的概率,智能體依據(jù)概率選擇相應(yīng)的行為,一方面保證總體獲得的獎勵較高,另一方面能夠提高生成器的樣本多元性,避免生成器出現(xiàn)過擬合.在給定類別標簽c和主題句t后,生成器生成的評論樣本r1:N所獲得的獎勵將由鑒別器和分類器共同確定提供.具體來說,Topic-SpamGAN將式(3)中的(r1:N|θd)和式(9)中的(r1:N,c|θc)進行組合,整個評論樣本的獎勵如下:

(16)

生成器智能體將會學(xué)習(xí)去最大化期望獎勵,即:

LG=r1:N~[R(r1:N)]

(17)

為了最大化LG,生成器通過梯度策略算法一步步學(xué)習(xí)調(diào)整自己的參數(shù)θg.具體來說,生成器智能體在每一個時間步都需要考慮最大化期望獎勵,Topic-SpamGAN設(shè)置優(yōu)勢函數(shù)為Q(r1:n,t,c)-V(r1:n-1,t,c),這樣可以有效減少方差,公式如下:

(18)

(19)

另外增加一個參數(shù)β=N-n使得在更新生成器的參數(shù)θg時提高初始生成的詞項的重要性,β是一個線性遞減的參數(shù),它能夠幫助生成器在初始生成階段更加大膽的生成詞項.在對抗訓(xùn)練時,生成器的參數(shù)梯度更新為:

?θOlogG(rn|rn-1,t,c,z,θg)

(20)

3.7 訓(xùn)練策略

第2個訓(xùn)練階段是對抗訓(xùn)練階段,是主要的算法部分.在對抗訓(xùn)練中,首先訓(xùn)練生成器,保持鑒別器和分類器的參數(shù)不變,給定從Pc中采樣的類別標簽c,生成器G根據(jù)類別標簽c和主題句t批量產(chǎn)生生成句樣本,隨后利用鑒別器和分類器在每個時間步上計算Q(r1:n,t,c)公式(18)和V(r1:n-1,t,c)公式(19),進行生成器的策略梯度的參數(shù)更新公式(20).為使生成器在強化學(xué)習(xí)訓(xùn)練中依然保持所生成評論樣本的穩(wěn)定性,本文在對抗訓(xùn)練中會繼續(xù)使用真實樣本S對生成器進行最大似然估計訓(xùn)練公式(2).接著保持生成器不變,從SL和SU中采樣真實評論樣本,在生成器中采樣生成句用于訓(xùn)練鑒別器公式(4),同時對鑒別器的評價器進行訓(xùn)練公式(8).同理對分類器公式(10)和分類器的評價器公式(15)進行訓(xùn)練.

4 實 驗

4.1 評價指標

實驗使用分類準確率和F1分值作為度量標準,分類準確率公式如下:

(21)

其中,ncorrect表示模型預(yù)測正確的文本總數(shù),npredict表示模型預(yù)測的文本總數(shù).

F1分值公式如下:

(22)

其中Precision為分類準確率,Recall為分類召回率.

4.2 數(shù)據(jù)集

本文使用的標記數(shù)據(jù)集是旅館評價數(shù)據(jù)集[17],該數(shù)據(jù)集共1600條標記評論,包含在芝加哥旅館的800條非垃圾評論,以及在亞馬遜上的800條垃圾評論.另外使用從TripAdvisor數(shù)據(jù)集中隨機抽取的13400條芝加哥旅館無標記評論.所有的評論文本將全部轉(zhuǎn)換為小寫,并分詞到單詞層次,設(shè)置詞典大小為10000,均為語料中單詞,出現(xiàn)頻次前10000的單詞.評論的最大長度N設(shè)置為120個單詞,接近整個數(shù)據(jù)集的評論樣本長度的中位數(shù).數(shù)據(jù)集主題均為旅館評論,故設(shè)置評論主題句為旅館.

在詞典D中還包含特殊字符用于訓(xùn)練,、、.其中表示未登錄詞,不在詞典中,依然會計算詞向量.則分別表示每個評論句的結(jié)束和開始,幫助訓(xùn)練器學(xué)習(xí)評論句的結(jié)束和開始.若評論句長度小于N,則使用將評論句長度填充至最大長度N,反之則截斷,保證所有的輸入句的長度一致,簡化訓(xùn)練,對于填充的,在參數(shù)更新與模型預(yù)測時,通過掩碼忽略,在訓(xùn)練時將不會計算梯度,避免填充的影響模型訓(xùn)練與預(yù)測.

4.3 參數(shù)設(shè)置及基準算法

在Topic-SpamGAN中,生成器、鑒別器和分類器分別擁有獨立的詞編碼器,保證在不同的應(yīng)用場景下,詞向量空間能夠靈活適應(yīng),所有的詞編碼器維度均為128.

生成器由2個GRU層組成,每層GRU具有1024個神經(jīng)單元,最后一層Dense層輸出10000個單詞的概率,用于生成句的生成.

鑒別器的Transformer結(jié)構(gòu)由2個多頭注意力塊結(jié)構(gòu)組成,每個多頭注意力塊包含8個注意力頭、512個單元,之后一層二元分類Dense層輸出類別標簽概率,以及評價器的一層Dense層進行估計計算.

分類器中用于融合評論句與主題句的Transformer結(jié)構(gòu)由2個多頭注意力塊結(jié)構(gòu)組成,每個多頭注意力塊包含8個注意力頭、128個單元,分類預(yù)測的主體Transformer結(jié)構(gòu)由8個多頭注意力塊結(jié)構(gòu)組成,每個多頭注意力塊包含8個注意力頭、512個單元,之后一層二元分類Dense層輸出類別標簽概率,以及評價器的一層Dense層進行估計計算.

生成器、鑒別器和分類器全部使用ADAM優(yōu)化器訓(xùn)練,對于生成器,在進行最大似然估計訓(xùn)練時優(yōu)化器設(shè)置學(xué)習(xí)率為0.001,權(quán)重衰減為5e-3;在進行強化學(xué)習(xí)訓(xùn)練時優(yōu)化器設(shè)置學(xué)習(xí)率為0.001,權(quán)重衰減為1e-7.梯度截取均設(shè)置為最大全局范數(shù)5.對于鑒別器及分類器,優(yōu)化器設(shè)置學(xué)習(xí)率均為0.0001,權(quán)重衰減均為1e-4,與各自評價器優(yōu)化器設(shè)置相同.設(shè)置香農(nóng)熵平衡參數(shù)α為1.0.Topic-SpamGAN在單塊Tesla V100 GPU上訓(xùn)練用時約3小時.

本文將標記數(shù)據(jù)集按照70%訓(xùn)練集,10%驗證集,20%測試集劃分.本文選取的對比算法包括:傳統(tǒng)貝葉斯分類方法[18],兩種使用循環(huán)神經(jīng)網(wǎng)絡(luò)的監(jiān)督學(xué)習(xí)方法,即RCNN[19]和DRI-RCNN[20],2種半監(jiān)督學(xué)習(xí)方法,包括使用貝葉斯分類器的Co-Training[21]和使用貝葉斯分類器的PU Learning[22].

4.4 實驗結(jié)果分析

在實驗中,本文除驗證不同模型之間的性能差距外,對于Topic-SpamGAN的性能提升,本文做了3個方面的比較:1)從Topic-Spam中去除主題部分,以驗證引入主題對分類性能的影響.2)驗證在給予分類器對生成句進行分類得到的分類損失不同的權(quán)值情況下的性能表現(xiàn),一方面可以從側(cè)面驗證生成器的性能提升表現(xiàn),另一方面則驗證生成器對于分類器的性能影響.3)最后驗證鑒別器和生成器在采用Transformer結(jié)構(gòu)后,相比于采用GRU的性能提升.

4.4.1 不同模型的性能比較

表1展示了不同的模型在測試集上的性能表現(xiàn).從表1可以看出,本文提出的Topic-SpamGAN在精確率和F1分值都表現(xiàn)較為突出,在所對比的各模型中取得最高的精確度88.4%和F1分值0.882.從表1的從實驗結(jié)果還可以發(fā)現(xiàn),深度學(xué)習(xí)方法普遍要優(yōu)于傳統(tǒng)學(xué)習(xí)方法,如DRI-RCNN的準確率達到84.6%,SpamGAN的準確率達到85.6%,Topic-SpamGAN則達到了88.4%,相對于Base Classifier的準確率82.7%提升明顯,說明在垃圾評論識別領(lǐng)域,深度學(xué)習(xí)方法能夠有效提高識別準確度,無論是卷積神經(jīng)網(wǎng)絡(luò),還是循環(huán)神經(jīng)網(wǎng)絡(luò),都能夠很好的提取評論文本特征,獲取評論的深層隱含信息,有效進行垃圾評論識別.原因在于深度學(xué)習(xí)網(wǎng)絡(luò)通過對文本信息進行大規(guī)模的編碼,將文本隱含的信息映射到龐大的向量空間,再在向量空間中對文本進行建模,尋找文本和類別標記之間的聯(lián)系,在經(jīng)過不斷地學(xué)習(xí)調(diào)整后,使得模型能夠更準確的識別垃圾評論.

此外,在對比的深度學(xué)習(xí)模型中,RCN的性能表現(xiàn)較差,準確率只有82.5%,F(xiàn)1分值只有0.833.RCNN使用兩個循環(huán)神經(jīng)網(wǎng)絡(luò)對文本中的每個單詞上下文進行雙向編碼,得到兩個上下文向量,包含當前單詞的上下文信息,再將這兩個上下文向量分別拼接到單詞向量的兩頭組成完整的卷積向量,通過卷積和池化后,使用激活函數(shù)獲得概率進行分類.由于RCNN僅通過雙向循環(huán)神經(jīng)網(wǎng)絡(luò)獲取文本上下文信息,并沒有考慮評論的主題信息,同時由于訓(xùn)練集規(guī)模的限制容易發(fā)生過擬合.而DRI-RCNN對RCNN進行了優(yōu)化,其卷積向量由6部分組成,第1部分和第2部分是當前單詞分別對在垃圾評論和非垃圾評論訓(xùn)練而得的向量,第3部分和第4部分是左邊單詞分別在垃圾評論和非垃圾評論上訓(xùn)練而得的上下文向量,第5部分和第6部分則是右邊單詞分別在垃圾評論和非垃圾評論上訓(xùn)練而得的上下文向量,可以發(fā)現(xiàn)在DRI-RCNN的卷積向量中包含更多的額外信息,包括左右單詞在不同類別的評論樣本中的向量,而不單單是當前單詞的上下文信息,因此DRI-RCNN獲得了優(yōu)于RCNN的性能表現(xiàn).

在半監(jiān)督學(xué)習(xí)方法中,GAN在垃圾評論識別領(lǐng)域也取得了更加具有競爭力的表現(xiàn).為使對比更具客觀性,采用SpamGAN利用50%的未標記數(shù)據(jù)集樣本下的實驗結(jié)果,以保證未標記數(shù)據(jù)集大小與本文采用的未標記數(shù)據(jù)集大小相符.從表1可以發(fā)現(xiàn),SpamGAN的準確率達到85.6%,相比于Co-Train的準確率77.4%以及PU Learning的準確率84.3%,都有了大幅提高,說明GAN通過大量的未標記數(shù)據(jù)來學(xué)習(xí)評論句生成,利用強化學(xué)習(xí)來擬合標記數(shù)據(jù),能夠取得較好的效果.

表1 不同模型的精度和F1分值結(jié)果對比表

4.4.2 主題引入的影響

為驗證在模型中引入主題信息的有效性,本節(jié)去除Topic-SpamGAN模型的主題部分,在生成器與分類器中不使用主題編碼器,比較其與完整的Topic-SpamGAN模型的性能差異,結(jié)果如表2所示.從表2可以發(fā)現(xiàn),通過引入主題信息確實能夠提升模型性能,準確度提升0.4%,F(xiàn)1分值提升0.008.一方面,在生成器中引入主題信息能夠幫助生成器發(fā)現(xiàn)評論的主題特征,并主動學(xué)習(xí),而非垃圾評論與垃圾評論往往在主題信息上有較大差異,通過大量的訓(xùn)練,生成器在逐漸發(fā)現(xiàn)非垃圾評論和垃圾評論在主題信息上的差異的基礎(chǔ)上,開始學(xué)習(xí)擬合真實評論,從而得到質(zhì)量更高的生成標記樣本,為分類學(xué)習(xí)提供更具真實性的學(xué)習(xí)樣本.另一方面,在分類器中引入主題信息,可為分類器提供更多的分類特征,而且這些分類特征在不同的分類樣本中差異明顯,具有較高的區(qū)分度,通過在分類器中引入主題信息,可幫助分類器學(xué)習(xí)更加有效的分類特征.

表2 主題對Topic-SpamGAN的性能影響

4.4.3 生成器樣本的影響

本節(jié)通過實驗分析生成器生成的樣本質(zhì)量以及生成樣本對于分類器的性能的影響,了解基于GAN的半監(jiān)督學(xué)習(xí)方法對識別垃圾評論的作用.具體來說,在分類器中為對生成樣本進行分類的交叉熵損失添加權(quán)值G_class,該權(quán)值決定生成樣本在分類器進行學(xué)習(xí)調(diào)整時對分類器的影響程度.實驗中設(shè)置G_class為[0,0.5,0.7,1.0],從小到大依次表示生成樣本對分類器學(xué)習(xí)的影響程度.表3給出了不同的G_class下分類器的性能表現(xiàn).隨著權(quán)值G_class的逐漸增大,模型的性能也在逐漸提升,準確率提升幅度達到2.2%,F(xiàn)1分值提升幅度達到0.013,性能提升較為明顯.以上實驗結(jié)果表明,通過GAN產(chǎn)生生成樣本,將生成樣本與真實樣本一同訓(xùn)練分類器的半監(jiān)督學(xué)習(xí)方法是可行且有效的.此外,從準確度來看,G_class從0-0.5的性能提升是最大的,準確度提高1.6%,占總體準確率提升幅度的72.7%.在G_class為0時,由于對生成樣本分類的交叉熵損失被完全丟棄,分類器僅能夠獲得真實樣本的交叉熵損失,所以可以認為生成器完全沒有參與分類器的學(xué)習(xí),當G_class為0.5時,雖然對生成樣本分類的交叉熵損失僅剩余一半,但對分類器的準確率提升幅度的貢獻度達到72.7%,說明在分類器得到生成樣本的交叉熵損失后,通過對生成樣本的學(xué)習(xí),有效提升了自身的分類能力.原因一方面在于擁有大量的額外訓(xùn)練樣本后,分類器通過對更加廣泛的文本進行訓(xùn)練,在一定程度上能夠有效避免模型的過擬合,提高模型的泛化能力;另一方面是由于生成樣本的質(zhì)量足夠優(yōu)秀,生成器對于真實樣本的擬合程度足夠高,提供給分類器的生成樣本也就更加接近真實樣本的分布,分類器在足夠真實的生成樣本上進行訓(xùn)練學(xué)習(xí),性能由此得到提升.

表3 分類器中生成器損失權(quán)值對模型性能影響

4.4.4 結(jié)構(gòu)不同的影響

本文通過實驗驗證了鑒別器和分類器在采用不同的結(jié)構(gòu)的情況下,對于模型的性能的影響,主要比較在文本分類問題中最常用的GRU結(jié)構(gòu)和Topic-SpamGAN采用的Transformer結(jié)構(gòu)對性能的影響.對比實驗僅比較鑒別器和分類器的主體采用不同結(jié)構(gòu)對性能的影響,附加的主題編碼器和評價器的結(jié)構(gòu)則保持不變.表4給出了鑒別器和分類器在采用這兩種不同結(jié)構(gòu)下的實驗結(jié)果.從表4的實驗結(jié)果可以發(fā)現(xiàn),鑒別器和分類器采用GRU或Transformer,對于模型的性能也有較大影響.相比于采用GRU結(jié)構(gòu)的模型,在采用Transformer時的精確度提升1.6%,F(xiàn)1分值提升0.11,性能提升較明顯.GRU雖然能夠很好地保存評論句的長短時記憶,但是GRU對文本特征信息的挖掘能力弱于Transformer.由于Transformer的主要單元為多頭注意力模塊,通過對評論句進行整體切割,分頭進行注意力訓(xùn)練,一方面能夠較為完整的保存評論句整體信息,避免出現(xiàn)長時記憶,另一方面通過多頭的多層編碼學(xué)習(xí),再最終整合,使得模型對于評論句的信息把握更為深入,其中隱含的關(guān)聯(lián)信息也能夠很好的保存,另外,Transformer可對位置信息進行編碼訓(xùn)練,避免模型無法學(xué)習(xí)位置相關(guān)的語義信息,因此Transformer在要對文本進行語義表征學(xué)習(xí)時的性能往往優(yōu)于GRU.

表4 鑒別器和分類器結(jié)構(gòu)對Topic-SpamGAN的性能影響

5 總 結(jié)

本文提出了一種引入主題特征的對抗神經(jīng)網(wǎng)絡(luò)垃圾評論分類方法.該方法采用生成對抗神經(jīng)網(wǎng)絡(luò)解決了現(xiàn)有的深度學(xué)習(xí)方法普遍存在的標記樣本獲取困難,模型易過擬合的問題,充分利用有限的標記數(shù)據(jù)集,在大量的未標記數(shù)據(jù)中學(xué)習(xí)標記樣本生成,通過生成器,鑒別器和分類器的對抗學(xué)習(xí),不斷獲得高質(zhì)量的標記數(shù)據(jù),從而使分類器得到高效的訓(xùn)練;其次采用強化學(xué)習(xí)方法將生成器,鑒別器和分類器進行巧妙的結(jié)合,使得分類器參與生成樣本的生成,由此提高了生成樣本的質(zhì)量,以滿足分類器的訓(xùn)練要求;最后在模型中引入主題,既可以幫助生成器提高生成樣本的質(zhì)量,又能夠為分類器提供更具有區(qū)分度的分類特征,從而提升分類效果.實驗表明,相比于基準方法,本文利用生成對抗神經(jīng)網(wǎng)絡(luò),采用強化學(xué)習(xí)方法并引入主題特征,有效提高了垃圾評論識別的分類性能.目前對抗神經(jīng)網(wǎng)絡(luò)在文本處理領(lǐng)域的逐漸成熟,未來的工作將考慮進一步提升生成器的生成質(zhì)量,保證對抗學(xué)習(xí)中的穩(wěn)定性,以及優(yōu)化主題引入方式,以提高模型在多主題情景的表現(xiàn),進一步改善模型.

猜你喜歡
分類器樣本分類
少樣本條件下基于K-最近鄰及多分類器協(xié)同的樣本擴增分類
學(xué)貫中西(6):闡述ML分類器的工作流程
基于樸素Bayes組合的簡易集成分類器①
規(guī)劃·樣本
人大專題詢問之“方城樣本”
按需分類
教你一招:數(shù)的分類
說說分類那些事
基于AdaBoost算法的在線連續(xù)極限學(xué)習(xí)機集成算法
隨機微分方程的樣本Lyapunov二次型估計
托克逊县| 家居| 大足县| 双柏县| 灵山县| 利辛县| 鄂伦春自治旗| 北辰区| 临夏县| 新昌县| 礼泉县| 澳门| 福建省| 河北区| 同江市| 肥城市| 平南县| 雷州市| 衡南县| 灵璧县| 彩票| 巩留县| 赫章县| 伊川县| 霸州市| 桃源县| 四平市| 兴义市| 丰宁| 怀化市| 改则县| 绥中县| 商水县| 香港| 锦屏县| 扶余县| 桐乡市| 岢岚县| 九台市| 区。| 论坛|