許鴻奎,周俊杰,姜彤彤,盧江坤,張子楓,胡文燁
(1.山東建筑大學 信息與電氣工程學院,山東 濟南 250101;2.山東省智能建筑技術(shù)重點實驗室,山東 濟南 250101)
在互聯(lián)網(wǎng)和移動通訊技術(shù)飛速發(fā)展的今天,科技在給人們的生活帶來了極大便利的同時,也給從事電信詐騙的犯罪分子可乘之機。2020年以來,全國公安機關(guān)共破獲電信網(wǎng)絡(luò)詐騙案件25.6萬起,抓獲犯罪嫌疑人26.3萬名,攔截詐騙電話1.4億個、詐騙短信8.7億條,為群眾直接避免經(jīng)濟損失1 200億元。2019年上半年公安部、最高檢發(fā)布《電信網(wǎng)絡(luò)詐騙治理研究報告》,在這個報告的統(tǒng)計中,排名前十的詐騙手法分別為交易詐騙、兼職詐騙、交友詐騙、返利詐騙、低價利誘詐騙、金融信用詐騙、仿冒詐騙、色情詐騙、免費詐騙和盜號詐騙,這些手段被交叉運用在電話詐騙之中,頗具威脅[1]。
詐騙電話文本在本質(zhì)上是一些包含詐騙語義的文本內(nèi)容,對電話詐騙文本的識別屬于自然語言處理領(lǐng)域的范疇。文本分類[2]是自然語言處理中的一項任務(wù)類型,從20世紀50年代開始有人便開始了相關(guān)研究。文本分類方法主要分為兩個大類:傳統(tǒng)的機器學習方法和基于深度學習的算法。傳統(tǒng)的機器學習方法包括支持向量機(Support Vector Machine,SVM)[3]、樸素貝葉斯等;基于深度學習的方法包括卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)和長短時記憶網(wǎng)絡(luò)[4](Long Short-Term Memory,LSTM)等。
文本的特征提取直接影響到文本的分類準確率,傳統(tǒng)的方法主要采用手動制作的特征,這主要依賴設(shè)計者的一些先驗知識,這在效率和特征表示的豐富程度上都有所欠缺。深度學習在自然語言處理領(lǐng)域的發(fā)展為文本特征提取帶來了更為有力的支持,它可以從大量數(shù)據(jù)中自動提取特征,通過大量的數(shù)據(jù)訓練,挖掘出難以檢測的特征,在效率和特征表示豐富程度上都要優(yōu)于手工特征。
文本的詞嵌入表示在自然語言處理的過程中極為重要,直接關(guān)系到下一步網(wǎng)絡(luò)對文本特征的提取,從而影響最終模型輸出的結(jié)果。詞的分布式表示方法主要分為靜態(tài)詞嵌入和動態(tài)詞嵌入兩種方式。靜態(tài)詞嵌入方式利用Word2vec、Glove(Global Vectors)等詞嵌入工具得到詞語的嵌入向量,由于是靜態(tài)的,不能解決一詞多義的問題;動態(tài)的詞嵌入方式如ELMo(Embedding from Language Model)、BERT(Bidirectional Encoder Representation from Transformers)等,能夠根據(jù)上下文的內(nèi)容及時調(diào)整向量表示,是特征較為豐富的一種詞表示方式。
綜上所述,該文采用詞嵌入BERT和混合神經(jīng)網(wǎng)絡(luò)BiLCNN,提出了電話詐騙文本識別模型BERT+BiLCNN,實現(xiàn)了對電話文本的識別,主要貢獻可總結(jié)為:
(1)構(gòu)建了電話詐騙文本數(shù)據(jù)集;
(2)探究了幾種不同的詞嵌入方式,通過實驗分析比較了它們的性能;
(3)提出了一種識別電話詐騙文本的混合神經(jīng)網(wǎng)絡(luò)模型。
基于電話文本的詐騙識別本質(zhì)上屬于自然語言處理(Natural Language Process,NLP),NLP中詞的表示方法是最基本的問題?;谏窠?jīng)網(wǎng)絡(luò)的分布表示,又稱為詞嵌入,是最為有效的方法。
Bengio等人在2003年提出神經(jīng)網(wǎng)絡(luò)語言模型(Neural Network Language Model,NNLM)[5];2013年Mikolov等人[6]提出了詞嵌入向量工具Word2Vec,它包括兩種不同的訓練方式CBOW(Continuous Bag-of-words)、Skip-Gram,CBOW用一個單詞的上下文來預測該單詞,Skip-Gram用一個單詞來預測該單詞的上下文,如圖1所示;與此同時,斯坦福大學的Pennington等提出GloVe算法[7]同樣取得了出色的成績。Word2Vec、GloVe屬于靜態(tài)的詞嵌入方式,較傳統(tǒng)的詞嵌入方式如One-hot、TF-IDF[8],解決了向量維度過高和表達語義不準確的問題,以較低維度的稠密向量將文本的語義以向量形式表示出來,極大地提升了分類的結(jié)果。但它同樣存在一些問題,這種方式經(jīng)過訓練之后形成的向量表示是固定不變的,不能解決一詞多義的問題。
在此之后,分布式表示出現(xiàn)了動態(tài)詞嵌入的研究,Peters等人[9]在2018年提出了ELMo模型,ELMo采用雙向的LSTM作為特征提取器,ELMo的本質(zhì)思想為通過語言模型事先學習某個單詞的詞嵌入,倘若此時單詞為多義詞并不能進行區(qū)分,當不影響后續(xù)的使用過程,在實際的使用過程中,單詞已經(jīng)具備了特定的上下文,以此來調(diào)整單詞的嵌入;OpenAI實驗室的Alec Radford等人在2018年提出了GPT(Generative Pre-Training)[10]模型,GPT采用特征提取Transformer,Transformer由谷歌團隊在2017年提出,主要采用了多頭注意力機制;同樣在2018年谷歌團隊提出了BERT模型[11],與ELMo不同的是它采用Transformer作為特征提取器[12],與GPT不同的是它采用雙向的Transformer結(jié)構(gòu),BERT以富含信息的向量形式表示文本的特征,同時解決了一詞多義的問題。鑒于BERT出色的結(jié)構(gòu)和效果,該文選擇BERT作為電話詐騙文本的詞嵌入方式。
文獻[13-17]均采用詞嵌入的方式處理文本分類領(lǐng)域的各類任務(wù);文獻[18]利用BERT改進Skip-Gram的詞嵌入方式,使得文本的表示不僅包含句法和表面特征,還包含來自大規(guī)模預訓練的豐富知識;周勝利等人[19]提出基于BERT遷移學習模型的新型網(wǎng)絡(luò)電信詐騙平臺預警方法,使用微調(diào)模型來預測和分類新的網(wǎng)絡(luò)電信犯罪;文獻[20]提出標簽嵌入的雙向注意模型提高了BERT的文本分類框架性能;文獻[21]將BERT應(yīng)用于處理公共安全信息文本中;文獻[22]提出一種有效的截斷方法,以應(yīng)對BERT處理長文本的局限性,利用上下文化的BERT詞嵌入有效的編碼輸入序列,在文本分類問題上表現(xiàn)出色。
該文采用混合神經(jīng)網(wǎng)絡(luò)BiLCNN對詞嵌入向量進一步處理,Weston等人在2008年論述了卷積神經(jīng)網(wǎng)絡(luò)在自然語言處理中的應(yīng)用[23];2014年,Kim在通過卷積神經(jīng)網(wǎng)絡(luò)對句子的分類研究之中提出了textCNN模型[24],該模型只采用一層卷積網(wǎng)絡(luò)便取得了出色的效果;文獻[25]通過構(gòu)建多層卷積神經(jīng)網(wǎng)絡(luò)并引入注意力機制應(yīng)用于臨床命名實體識別;文獻[26]基于多尺度的卷積神經(jīng)網(wǎng)絡(luò)和長短時記憶網(wǎng)絡(luò)的組合模型,在多任務(wù)的情緒分類方面取得了出色的表現(xiàn)。
目前針對電話詐騙文本方面的研究較少,在以上研究中大多是基于非詐騙類文本來解決所研究的問題。因此,該文首先構(gòu)建了電話詐騙文本數(shù)據(jù)集,結(jié)合動態(tài)的詞嵌入方式BERT以及混合神經(jīng)網(wǎng)絡(luò),基于文本分類的方法,提出了一種能夠識別詐騙文本的BERT+BiLCNN模型。BERT詞嵌入方式相比于Word2Vec、ELMo等詞嵌入方式,對詐騙文本分類的準確率分別提高3.19%、1.89%,混合神經(jīng)網(wǎng)絡(luò)相比于卷積神經(jīng)網(wǎng)絡(luò)在準確率上又有了進一步的提升,證明了BERT+BiLCNN模型在詐騙電話文本識別上的有效性。
該文采用BERT+BiLCNN作為電話詐騙文本識別模型,首先介紹整個模型的工作流程,其次介紹詞嵌入模型BERT,最后介紹混合神經(jīng)網(wǎng)絡(luò)對文本特征的提取,經(jīng)過Softmax層得到電話文本的詐騙識別概率。
該文采用文本分類方法對詐騙電話文本進行識別,提出了一種基于詞嵌入和混合神經(jīng)網(wǎng)絡(luò)的融合模型BERT+BiLCNN,利用BERT強大的詞表示能力對詐騙文本進行表示。首先將已經(jīng)訓練好的詞嵌入模型Bert-base,Chinese作為字向量送入模型當中,經(jīng)過詐騙電話文本訓練之后獲得詐騙文本的詞嵌入表示,這些表示包含著詐騙文本的上下文關(guān)系、字序列信息、語法語義信息和深層的模型結(jié)構(gòu)信息,通過混合神經(jīng)網(wǎng)絡(luò)充分提取出文本的時序特征和局部相關(guān)特征并將其融合,最后經(jīng)Softmax層對詐騙電話文本進行分類。BERT+BiLCNN的模型流程如圖1所示。
BERT采用雙向的Transformer結(jié)構(gòu)進行特征提取,這使得該模型的性能大大提升,BERT的網(wǎng)絡(luò)模型結(jié)構(gòu)如圖2所示。
從圖2可以看出,初始向量E1~En經(jīng)雙向的網(wǎng)絡(luò)結(jié)構(gòu)(Transformer)形成了具有特征信息的T1~Tn特征向量。
BERT輸入表示是三個不同的嵌入單元,它們是詞語嵌入(Token Embeddings)、分段嵌入(Segment Embeddings)和位置嵌入(Position Embeddings),BERT的輸入表示如圖3所示。輸入的文本在經(jīng)過分詞之后,將[CLS]加入到分詞結(jié)果的開頭,[SEP]加入到分詞結(jié)果的結(jié)尾,進行詞語塊嵌入;分段嵌入則是為了區(qū)分字詞是否來自同一個句子;Transformer的Encoder層無法捕獲文本的位置信息,因此需要位置嵌入來對其進行表示。
文本數(shù)據(jù)在經(jīng)過BERT的詞向量表示之后,采用混合神經(jīng)網(wǎng)絡(luò)來對其進行特征提取,分別經(jīng)過BiLSTM和CNN神經(jīng)網(wǎng)絡(luò)形成特征向量,之后對其進行特征融合,融合之后的向量既包含文本的局部相關(guān)特征、距離時序特征,將融合特征向量送入Softmax層,從而輸出得到文本的詐騙概率。圖4為混合神經(jīng)網(wǎng)絡(luò)的整體結(jié)構(gòu)。
2.3.1 BiLSTM
長短時記憶網(wǎng)絡(luò)(LSTM)是循環(huán)神經(jīng)網(wǎng)絡(luò)的一種變體,它可以學習句子中的序列信息并將其記憶存儲,這在很大程度上可以緩解梯度消失的問題。在LSTM的內(nèi)部有著獨特的“門”結(jié)構(gòu),這種結(jié)構(gòu)可以自動篩選信息,決定信息的存留。LSTM由輸入門、遺忘門、輸出門三個記憶單元組成,這是其核心部分,“遺忘門”控制是否保存前一時刻的細胞信息Ct-1,“輸入門”控制是否保留當前時刻的細胞信息Ct,“輸出門”控制是否輸出新的細胞信息,其工作過程表示如下:
ft=σ(Wf·[ht-1,xt]+bf)
(1)
it=σ(Wx·[ht-1,xt]+bi)
(2)
Vt=tanh(Wc·[ht-1,xt]+bc)
(3)
Ct=ft*Ct-1+it*Vt
(4)
Ot=σ(Wo·[ht-1,xt]+bo)
(5)
ht=Ot*tanh(Ct)
(6)
其中,h表示輸出向量,W、b分別表示單元的權(quán)重向量和偏置值,σ(·)表示sigmoid激活函數(shù),tanh(·)表示雙曲正切激活函數(shù)。該文采用BiLSTM提取句子的雙向特征,形成的向量具有雙向的時序特征表示。BiLSTM的輸出如下式所示:
(7)
在某一時刻i,前向和后向的特征向量按位進行加操作后形成了BiLSTM輸出向量。
2.3.2 CNN
在一個句子T中,假設(shè)詞向量在句子中的表示分別為t1,t2,…,tn,可以得到表示句子的矩陣T,即T=[t1,t2,…,tn],T∈Rd×n,其中n為詞向量的個數(shù),d為詞向量的維數(shù)。假設(shè)采用卷積核K對矩陣進行卷積操作,K∈Kd×h,h表示為卷積核的寬度,則用下面的公式表示采用卷積核K對句子T的卷積運算:
gi=tanh(
(8)
其中,<·>為卷積計算,gi為所得卷積特征,gi∈R,i∈{1,2,…,n-h+1}。得到卷積特征之后,送入池化層,進行池化運算,采用下列公式:
(9)
其中,yi∈R。
使用不同尺度的卷積核K可以得到不同的輸出yi,假設(shè)存在s個不同的卷積核,K1∈Kd×h1,K2∈Kd×h2,…,Ks∈Kd×hsK,在經(jīng)過卷積操作后得到s個不同的輸出y1,y2,…,ys。連接這些輸出得到不同尺度的融合特征Y=[y1,y2,…,ys],Y∈RS。
2.3.3 Softmax分類
詞嵌入向量經(jīng)過BiLSTM網(wǎng)絡(luò)后形成具有雙向時序特征的向量表示,經(jīng)過CNN網(wǎng)絡(luò)形成具有局部詞語間相關(guān)特征的向量表示,經(jīng)過向量拼接操作形成具有豐富特征的融合特征向量,如下式所示:
Z=Cat(H,Y)
(10)
其中,H為BiLSTM的輸出向量,Y為CNN的輸出向量,融合特征向量經(jīng)線性層處理之后,利用Softmax函數(shù)實現(xiàn)分類:
(11)
實驗基于Windows10 64位操作系統(tǒng),CPU為Intel(R) Core(TM) i7-10700H CPU @2.90 GHz,內(nèi)存容量為16 GB,GPU為NVIDIA GeForce RTX 2060,顯存容量為6 GB,Python版本為3.7.9,基于Pytorch深度學習框架。
實驗所用數(shù)據(jù)來自百度、知乎、微博、搜狐等各大網(wǎng)站,采用爬蟲以及人工編寫修改的方式來構(gòu)建數(shù)據(jù)集,內(nèi)容包括金融、教育、郵遞、銀行、交友、刷單、中彩票、冒充警察等多類詐騙事件,幾乎涵蓋了所有的詐騙類型。在每一條數(shù)據(jù)集的末尾處采取標簽標記的方式,將電話文本分為詐騙類和正常類,分別以fraud、normal表示。數(shù)據(jù)集一共10 166條,選取6 000條用作訓練集,3 000條用作驗證集,1 166條用作測試集。表1為數(shù)據(jù)集的詳細情況。
采用準確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1測度值來對模型進行評價,公式如下所示:
(12)
(13)
(14)
(15)
其中,TP表示詐騙樣本預測為詐騙,TN表示正常樣本預測為正常,F(xiàn)P表示正常樣本預測為詐騙,F(xiàn)N表示詐騙樣本預測為正常。
表1 數(shù)據(jù)集統(tǒng)計
表2為本次實驗各項參數(shù)。
表2 實驗參數(shù)設(shè)置
各模型的評價指標結(jié)果如表3所示。
表3 各模型評價指標結(jié)果 %
為了更直觀地表示各模型的評價指標結(jié)果,對數(shù)據(jù)進行了柱狀圖表示,如圖5所示。
(1)從結(jié)果中可以看出,BERT+CNN組合模型的準確率、精確率、召回率、F1測度值都要高于Word2Vec+CNN、ELMo+CNN模型,其中BERT+CNN的準確率比ELMo+CNN高出1.89%,比Word2Vec+CNN高出3.19%,在F1測度值上分別比ELMo+CNN、Word2Vec+CNN高出1.91%、3.19%,以此可以看出BERT作為詞嵌入的優(yōu)越表現(xiàn)。
(2)ELMo+CNN在準確率上比Word2Vec+CNN高出1.28%,在F1測度值上比其高出1.28%,ELMo是一種動態(tài)的詞嵌入方式,可以根據(jù)上下文動態(tài)地調(diào)整自己的詞嵌入方式,而Word2Vec是一種靜態(tài)的詞嵌入方式,其嵌入方式是固定的,從中可以看出動態(tài)詞嵌入的優(yōu)越性。
(3)BERT+CNN在準確率上比ELMo+CNN高出1.89%,在精確率、召回率、F1測度值上分別比其高出2.23%、1.73%、1.91%,ELMo采用雙向的LSTM作為特征提取器,以此來表示文本特征,而BERT則采用雙向的Transformer結(jié)構(gòu),其基于attention機制,能夠更加豐富地提取文本的特征表示,因此在動態(tài)詞嵌入的表示上BERT具有更加優(yōu)秀的表現(xiàn)。
(4)BERT+BiLCNN相較于BERT+CNN性能又有了進一步的提升,在準確率上比其高出0.95%,在精確率、召回率、F1測度值上分別比其高出0.58%、1.25%、1.00%,對比于Word2Vec+CNN、ELMo+CNN在準確率上分別比其高出4.12%和2.84%。從實驗數(shù)據(jù)上可以看出,BERT+BiLCNN在詐騙電話文本的識別上具有出色的表現(xiàn)。BiLSTM同時對文本的上下文進行特征提取,經(jīng)該網(wǎng)絡(luò)處理之后的特征向量具有雙向時序特征,CNN對于文本局部特征進行提取,混合神經(jīng)網(wǎng)絡(luò)BiLCNN融合了BiLSTM以及CNN兩部分特征,使得最終的特征向量具有了豐富的特征表示。
該文首先通過百度、知乎、搜狐、騰訊等各種互聯(lián)網(wǎng)資源構(gòu)建了中文詐騙電話文本數(shù)據(jù)集,采用文本分類的方法,基于詞嵌入和混合神經(jīng)網(wǎng)絡(luò)對中文詐騙電話文本進行識別,在詞嵌入上探究了靜態(tài)詞嵌入Word2Vec和動態(tài)詞嵌入ELMo、BERT對于詐騙電話文本的表示,通過混合神經(jīng)網(wǎng)絡(luò)對句子中詞語、短語之間的相關(guān)信息以及文本的上下文信息進行捕捉,豐富了文本特征,以便更好地實現(xiàn)文本分類。在詐騙電話文本數(shù)據(jù)上的實驗,動態(tài)詞嵌入模型BERT+CNN表現(xiàn)最為出色,在準確率、精確率、召回率、F1測度值上都要高于其他兩種詞嵌入模型,而模型BERT+BiLCNN經(jīng)過混合神經(jīng)網(wǎng)絡(luò)的特征提取,各項評價指標又有了進一步的提升,由此采用BERT+BiLCNN模型實現(xiàn)了對中文詐騙電話文本的識別。該研究工作也存在著一定的不足之處,采用混合神經(jīng)網(wǎng)絡(luò)的輸出進行拼接處理得到最終的特征向量,今后會考慮采用更加出色的特征融合方式。同時今后會在擴大數(shù)據(jù)集上多做工作,同時關(guān)注社會上的詐騙案件,更新數(shù)據(jù)集中的詐騙類型與套路。今后也將嘗試BERT與其他的模型的組合來探究對詐騙電話文本的識別。