本發(fā)明屬于一種基于bert-cnn的虛假評(píng)論檢測(cè)方法,屬于自然語(yǔ)言處理、深度學(xué)習(xí)等領(lǐng)域。
背景技術(shù):
1、隨著b2c電子商務(wù)的快速發(fā)展,消費(fèi)者在線上進(jìn)行商品的選擇和購(gòu)買之前,都會(huì)非常依賴商品的在線評(píng)論,這就導(dǎo)致商品的評(píng)論對(duì)于商品有著較為重要的意義。
2、虛假評(píng)論會(huì)給消費(fèi)者帶來(lái)不小的困擾,使得消費(fèi)者獲得不了關(guān)于該產(chǎn)品真正的情況,導(dǎo)致消費(fèi)者購(gòu)買不到自己真正想要的產(chǎn)品,如果消費(fèi)者進(jìn)行售后服務(wù)也會(huì)浪費(fèi)自己的時(shí)間,造成不小的困擾,導(dǎo)致不必要的損失。而對(duì)于商家而言,虛假的評(píng)論也是有利有害的,一方面商家雇傭的別人寫的好的評(píng)價(jià)會(huì)使得商家的產(chǎn)品讓更多人知曉,但也會(huì)有同行進(jìn)行惡意差評(píng),對(duì)于商家也是不小的麻煩。同時(shí),真實(shí)的評(píng)價(jià)也會(huì)促進(jìn)商家進(jìn)行產(chǎn)品的升級(jí)和迭代,造成生產(chǎn)技術(shù)的升級(jí),對(duì)于行業(yè)來(lái)說(shuō)是非常有利的,反過來(lái)產(chǎn)業(yè)的升級(jí)也會(huì)使得產(chǎn)品的價(jià)格進(jìn)一步的降低,讓消費(fèi)者收益。由此可見,虛假評(píng)論對(duì)于商家和消費(fèi)者都有非常嚴(yán)重的影響,因此,對(duì)于虛假評(píng)論的研究具有重要的社會(huì)意義和經(jīng)濟(jì)價(jià)值。
3、目前對(duì)于虛假評(píng)論的研究主要有基于傳統(tǒng)的虛假評(píng)論檢測(cè)方法、基于圖結(jié)構(gòu)的方法和基于機(jī)器學(xué)習(xí)的方法。傳統(tǒng)的虛假評(píng)論研究就是基于行為和語(yǔ)言學(xué)的特征,這類是比較早的研究。基于圖結(jié)構(gòu)的檢測(cè)方法就是將評(píng)論、評(píng)論者與商品之間的關(guān)系聯(lián)系成一個(gè)圖結(jié)構(gòu),將檢測(cè)問題看作是分類排序或者是聯(lián)合分類問題。機(jī)器學(xué)習(xí)方面進(jìn)行虛假評(píng)論的檢測(cè)需要手動(dòng)標(biāo)記訓(xùn)練集選擇提取特征,對(duì)高維的特征提取不到位,訓(xùn)練模型不佳,究其本質(zhì),主要是因?yàn)樯窠?jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力還不夠好,模型還不夠完善,計(jì)算效率有待提升。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于解決現(xiàn)有技術(shù)中網(wǎng)絡(luò)虛假評(píng)論識(shí)別度低、魯棒性差的問題,提供一種基于bert-cnn的虛假評(píng)論檢測(cè)方法。
2、技術(shù)方案
3、本發(fā)明使用bert模型來(lái)對(duì)評(píng)論內(nèi)容進(jìn)行學(xué)習(xí),提取特征,充分學(xué)習(xí)語(yǔ)句信息,挖掘其中的信息,在通過cnn進(jìn)行上下文學(xué)習(xí),來(lái)提高虛假評(píng)論的檢測(cè)準(zhǔn)確度。具體方案如下:
4、一種基于bert-cnn的虛假評(píng)論檢測(cè)方法,包括以下步驟:
5、s1.獲取評(píng)論文本數(shù)據(jù)集,將獲取的數(shù)據(jù)集進(jìn)行預(yù)處理;
6、s2.將處理后數(shù)據(jù)集輸入到bert模型中,bert模型由多個(gè)encoder層組成,所述encoder層包括位置編碼層、多頭注意力層、相加和歸一化層、前饋網(wǎng)絡(luò)層,經(jīng)過多個(gè)encoder層,完成bert的掩碼語(yǔ)言任務(wù)和下一句預(yù)測(cè)任務(wù),得到被bert訓(xùn)練后的文本詞向量;
7、s3.將被bert訓(xùn)練后的文本詞向量輸入到卷積神經(jīng)網(wǎng)絡(luò)中,進(jìn)行文本的局部語(yǔ)義學(xué)習(xí);
8、s4.通過softmax分類器分類獲得標(biāo)簽結(jié)果。
9、進(jìn)一步,步驟s1中,所述預(yù)處理包括刪減不必要的符號(hào),對(duì)文本格式進(jìn)行處理,以及對(duì)數(shù)字和字符進(jìn)行統(tǒng)一符號(hào)替換。
10、進(jìn)一步,步驟s2中,所述掩碼語(yǔ)言任務(wù)是指在句子中隨機(jī)遮蓋一部分單詞,然后同時(shí)利用上下文的信息預(yù)測(cè)遮蓋的單詞,以便更好地根據(jù)全文理解單詞的意思;
11、所述下一句預(yù)測(cè)任務(wù)是指讓模型能夠更好地理解句子間的關(guān)系。
12、進(jìn)一步,步驟s2中,所述位置編碼層采用不同的策略實(shí)現(xiàn)不同的位置編碼,經(jīng)過位置編碼,得到一個(gè)和輸入維度一致的編碼矩陣xpos,當(dāng)他疊加到原來(lái)的詞嵌入,得到新的詞嵌入矩陣,如式(1)所示
13、xembedding=xembedding+xpos?(1)。
14、進(jìn)一步,步驟s2中,所述多頭注意力層由多個(gè)縮放點(diǎn)和自注意力機(jī)制組成;
15、注意力機(jī)制,將查詢(query)和一組鍵-值對(duì)(key-value?pair)映射到高維空間,即對(duì)value進(jìn)行加權(quán)求和計(jì)算,其中權(quán)重值是由查詢與鍵計(jì)算得來(lái);
16、對(duì)于縮放點(diǎn)積注意力,將查詢向量(q)與鍵向量(k)進(jìn)行向量相乘操作,在進(jìn)行大小為的縮放,dk表示查詢向量(q)與鍵向量(k)的向量維度大小;經(jīng)過歸一化后,與值向量(v)進(jìn)行相乘,獲取最終輸出,如式(2)所示:
17、
18、q,k,v采用的是self-attention的方式,從輸入自己的xembedding來(lái)產(chǎn)生,即做線性映射產(chǎn)生,如式(3)、(4)、(5)所示:
19、q=xembedding*wq?(3)
20、k=xembedding*wk?(4)
21、v=xembedding*wv?(5)
22、三個(gè)權(quán)重矩陣均為維度為embedding的方陣;
23、多頭注意力是將多個(gè)縮放點(diǎn)積注意力的輸出結(jié)果進(jìn)行拼接,其有多組wq,wk,wv的權(quán)重矩陣,每一組權(quán)重矩陣都是隨機(jī)初始化,將xembedding的向量切成多份,與權(quán)重相乘,構(gòu)成輸入向量wix,如式(6)、(7)、(8)所示,產(chǎn)生qi,ki,vi,i=1,…,h,其中h表示切分head個(gè)數(shù),計(jì)算attention權(quán)重矩陣得到每一個(gè)head,最后將head合并,再通過全連接層(wo)變換得到最終結(jié)果,如式(9)(10)所示:
24、qi=qwiq,i=1,…,h?(6)
25、ki=kwik,i=1,…,h?(7)
26、vi=vwiv,i=1,…,h?(8)
27、headi=attention(qi,ki,vi),i=1,…,h?(9)
28、multihead(q,k,v)=concat(head1,…,headn)wo?(10)。
29、進(jìn)一步,步驟s2中,所述相加和歸一化層包括add&norm層,add將自注意力層的輸入和輸出進(jìn)行相加(殘差連接),layernorm進(jìn)行層歸一化,把神經(jīng)網(wǎng)絡(luò)中隱藏層歸一為標(biāo)準(zhǔn)正態(tài)分布,加速收斂。
30、進(jìn)一步,步驟s2中,所述前饋網(wǎng)絡(luò)層由兩個(gè)全連接層加上relu激活函數(shù)組成,如式(11)所示:
31、ffn(x)=max(0,xw1+b1)w2+b2?(11)
32、其中,w1和b1分別表示為第一個(gè)全連接層的權(quán)重和偏置,w2和b2分別表示為第二個(gè)全連接層的權(quán)重和偏置。
33、進(jìn)一步,步驟s3中,所述卷積神經(jīng)網(wǎng)絡(luò)包括嵌入層、卷積層、池化層和全連接層;
34、在嵌入層中,將已經(jīng)被bert訓(xùn)練過的文本詞向量組合為n×m的矩陣z=[w1,…,wn],其中wi為bert輸出的詞向量;
35、卷積層是對(duì)輸入的文本進(jìn)行卷積特征提取,每一個(gè)卷積核相當(dāng)于一個(gè)窗口,不斷地移動(dòng)窗口,對(duì)輸入的文本進(jìn)行語(yǔ)義學(xué)習(xí),提取出不同的語(yǔ)義特征;
36、將卷積核與輸入的矩陣進(jìn)行卷積,卷積的公式如式(12)所示:
37、s=f(wz+b)?(12)
38、其中s表示卷積操作之后的特征矩陣,w表示權(quán)重矩陣,b表示偏移向量;
39、卷積之后需要進(jìn)行特征映射,每個(gè)卷積層包含多個(gè)特征映射,映射操作由relu函數(shù)完成,如式(13)所示:
40、relu=max(0,x)?(13)
41、池化層的作用是特征選擇和過濾,簡(jiǎn)化計(jì)算復(fù)雜度和提取主要特征;
42、全連接層的作用是對(duì)提取的特征進(jìn)行組合,利用學(xué)習(xí)后的特征完成學(xué)習(xí)目標(biāo),將輸出值送給分類器。
43、進(jìn)一步,步驟s4中,所述softmax分類器使用softmax函數(shù)進(jìn)行概率計(jì)算,為了防止數(shù)據(jù)溢出,將每一個(gè)輸出值減去輸出值中最大的值,如式(14)(15)所示:
44、d=max(z)?(14)
45、
46、其中z=[x[cls],z1,…,zn],x[cls]經(jīng)過bert訓(xùn)練后輸出,[z1,…,zn]為bert訓(xùn)練后再由cnn提取后的特征矩陣,d為[z1,…,zn]中的最大值;
47、最后使用交叉熵函數(shù),對(duì)模型的參數(shù)不斷地更新優(yōu)化,如式(16)所示:
48、
49、其中,c表示訓(xùn)練集大小,yc表示評(píng)論的標(biāo)簽值,pc為評(píng)論的模型分類概率。
50、本發(fā)明的有益效果:
51、本發(fā)明提供了一種基于bert-cnn的虛假評(píng)論檢測(cè)方法,首先對(duì)評(píng)論數(shù)據(jù)進(jìn)行預(yù)處理,接著使用bert提取文本的全局語(yǔ)義特征,bert由多個(gè)encoder層組成,較于一般的神經(jīng)網(wǎng)絡(luò)模型能夠更好地學(xué)習(xí)到上下文的語(yǔ)義特征,然后將學(xué)習(xí)后的向量矩陣輸入cnn進(jìn)行局部的語(yǔ)義提取,最后再由輸出層進(jìn)行組合輸出,與現(xiàn)有技術(shù)相比,本發(fā)明方法提高了檢測(cè)的準(zhǔn)確性,解決了當(dāng)前虛假評(píng)論準(zhǔn)確性差等問題。