李書彬,周安民
(四川大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,成都 610200)
近年來,由于互聯(lián)網(wǎng)的快速發(fā)展和人工智能的快速興起,在科研領(lǐng)域中使用深度學(xué)習(xí)方法來處理文本分類問題變得十分有效,文本分類問題作為自然語言處理領(lǐng)域的一個重要分支,在信息檢索、情感分析、異常檢測等方面得到了廣泛的應(yīng)用,隨著微博、貼吧、論壇等網(wǎng)絡(luò)社交媒體的出現(xiàn),中文短文本廣泛出現(xiàn)于各種應(yīng)用程序中。不同于長文本,中文短文本具有歧義多、信息量小、特征稀疏等特點,傳統(tǒng)的用于處理長文本的深度學(xué)習(xí)模型如卷積神經(jīng)網(wǎng)絡(luò)(CNN)、長短期記憶網(wǎng)絡(luò)(LSTM)等模型應(yīng)用于短文本時難以提取出有效的特征進(jìn)而導(dǎo)致難以獲得較好的分類效果。如何有效地對中文短文本進(jìn)行建模并提高分類模型的準(zhǔn)確率成為了中文文本分類領(lǐng)域的重要研究內(nèi)容。
在傳統(tǒng)的基于數(shù)據(jù)特征的機(jī)器學(xué)習(xí)方法中,模型分類的效果很大程度上依賴于所提取的特征,特征的提取需要花費大量的人力和時間,且提取出的特征僅包含人為可辨的特征,那些人力難以提取卻又十分重要的深度語義特征和隱藏特征會大量丟失,嚴(yán)重影響檢測效果。另外,當(dāng)面對不具有已提取特征的新文本時,已建立的分類模型往往不能取得令人滿意的分類效果。
基于深度學(xué)習(xí)的文本分類技術(shù)可以有效的解決以上問題,在面對文本分類任務(wù)時,為了使得文本特征易于被模型提取分析,研究人員往往會采用詞嵌入技術(shù)來對文本進(jìn)行建模,解決了人工提取特征時文本深度語義特征以及隱藏特征提取不充分的問題。使用CNN對中文文本進(jìn)行分類時,可以通過調(diào)節(jié)卷積核的大小來對不同范圍內(nèi)的詞向量模型進(jìn)行特征提取進(jìn)而進(jìn)行分析和分類;使用LSTM對中文文本進(jìn)行分類可以利用詞之間的順序關(guān)系抽取關(guān)鍵語義信息,解決了循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)中的梯度消失和梯度爆炸等問題,進(jìn)一步提升了文本分類的效果。但中文短文本不同于長文本,短文本具有歧義多、信息量小、特征稀疏等特點,無論是CNN還是LSTM在面對短文本時都難以獲得較好的分類效果。
為了解決以上問題,本文提出了一種基于多維度圖神經(jīng)網(wǎng)絡(luò)的中文短文本分類方法,通過對文本中詞向量的抽取,從多個維度對短文本信息進(jìn)行建模以達(dá)到提取深度語義特征以及隱藏語義特征的目的,進(jìn)而提高中文短文本分類的準(zhǔn)確度和檢測效率。
傳統(tǒng)的圖神經(jīng)網(wǎng)絡(luò)中相鄰兩個結(jié)點之間的關(guān)系通過相連的邊進(jìn)行體現(xiàn),一條邊連接特定的兩個結(jié)點,利用邊的數(shù)據(jù)信息以及結(jié)點中包含的信息進(jìn)行聚合來生成新的結(jié)點表示。本文提出的多維度圖神經(jīng)網(wǎng)絡(luò)分別通過文檔中文檔級別詞語出現(xiàn)頻率情況和文檔中詞句關(guān)系以及文檔主題詞間關(guān)系進(jìn)行建模。整個模型主要有數(shù)據(jù)預(yù)處理,語義特征建模及融合,模型計算方法及分類三個部分組成。
中文文本不像英文文本中兩單詞由空格隔開,中文文本中的詞而是緊密相連的,所以對文本首先要進(jìn)行分詞處理,并去除起連接作用的停用詞,如虛詞、語氣詞等沒有實際意義的詞。數(shù)據(jù)預(yù)處理中最重要一個環(huán)節(jié)就是文檔中詞的特征表示,為了能夠較為完整地表示出文檔中詞的特征屬性,我們采用Word2Vec來進(jìn)行詞的特征表示,Word2Vec是一種輕量級的神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)包括輸入層,隱藏層和輸出層,模型框架分為CBOW模型和Skip-Gram模型,CBOW模型是在已知詞w上下文w,w,w,w的情況下根據(jù)上下文對當(dāng)前詞w進(jìn)行預(yù)測,不同于CBOW模型,Skip-Gram模型是已知詞w的情況下對w的上下文w,w,w,w進(jìn)行預(yù)測,文檔包含個句子,其表示形式為={,,,…,s},其中代表文檔中句子的數(shù)量,s表示第個句子。句子被分詞后可得到={,,,…,w},其中為句子中詞的數(shù)量,w表示第個詞,w所表示的特征向量長度為。
我們定義一個文檔的拓?fù)鋱D為=(,),其中={,,,…,n}代表拓?fù)鋱D中的結(jié)點,n表示文檔中第個結(jié)點,={,,,…,l}代表拓?fù)鋱D中的邊,l表示文檔中第條邊。對于一個文檔,其中結(jié)點代表文檔中的詞,為了能提取到文檔中的深度語義特征,我們采用了以下三個維度對文檔的邊進(jìn)行定義。
為了能完整表示出一個文檔中的邏輯結(jié)構(gòu),覆蓋到文本全部的語義信息及上下文信息,我們首先使用序列邊將文檔中每一句話中各詞進(jìn)行連接,文檔中每一句話的拓?fù)鋱D綜合構(gòu)成整個文檔的拓?fù)鋱D。整個文檔的拓?fù)鋱D={,,,…,g},其中代表文檔中句子的拓?fù)浣Y(jié)構(gòu),g表示第個句子的拓?fù)浣Y(jié)構(gòu)。
詞頻統(tǒng)計是自然語言處理領(lǐng)域中一個重要技術(shù)手段,一個詞語在一篇文檔中出現(xiàn)次數(shù)越多并且在其他文檔中出現(xiàn)次數(shù)越少則該詞越能代表該文檔,信息熵和詞概率等均是詞頻的映射變換,其實質(zhì)均與詞頻統(tǒng)計相同。對于一個文檔,去除沒有實際意義的停用詞后,當(dāng)一個詞在文檔中出現(xiàn)的頻次較多且在整個語料庫中出現(xiàn)頻次較少,說明該詞所包含的信息對于文檔較重要,則可以作為文檔區(qū)分于其他文檔的關(guān)鍵詞之一。我們使用詞頻-逆文本頻率指數(shù)(TF-IDF)來對文檔中的關(guān)鍵詞進(jìn)行詞頻統(tǒng)計和重要程度分析,TF-IDF由TF(term frequency)和IDF(inverse document frequency)兩 個 組 成部分。
TF表示詞頻,當(dāng)一個詞在一篇文檔中出現(xiàn)的次數(shù)較多,則代表該詞在該文檔中比較重要,可作為該篇文檔的關(guān)鍵詞之一,如公式(1)所示:
其中n代表詞在文檔中出現(xiàn)的頻次,n代表文檔中的詞語個數(shù)。
IDF表示逆文本頻率,當(dāng)一個詞在一篇文檔中出現(xiàn)次數(shù)較多,且在語料庫中其他文檔里出現(xiàn)次數(shù)較少,則該詞呈現(xiàn)出較高的區(qū)分文檔的能力,就將該詞作為該文檔區(qū)分其他文檔的關(guān)鍵詞之一,如公式(2)所示:
其中為語料庫中文檔總數(shù),DF為詞在所有文檔中的出現(xiàn)頻次。
得到文檔中詞的和的值之后,可以計算該詞的權(quán)重值,具體計算公式如(3)所示:
我們可以得到文檔中各詞的權(quán)重值={,,…,θ},其中θ表示第個詞的權(quán)重值,選取每個文檔中權(quán)重值最大的前個詞作為可代表該文檔區(qū)別于語料庫中其他文檔的關(guān)鍵詞,我們將這前個結(jié)點相連作為該文檔的詞頻邊來代表該文檔的詞頻關(guān)系。
為了豐富文檔中的語義信息,我們將主題模型融入到拓?fù)鋱D建模的過程中,我們使用三層貝葉斯模型(LDA)提取每個文檔中的前個最能體現(xiàn)文檔中心觀點的主題詞,并將這些詞相連作為能夠體現(xiàn)文檔深度語義信息的拓?fù)淠P?,主題模型能夠發(fā)掘出文檔中的抽象主題,進(jìn)一步豐富拓?fù)淠P椭械恼Z義特征。
得到以上三個維度的文檔拓?fù)鋱D后,將三個拓?fù)鋱D進(jìn)行融合,得到最終的文檔的拓?fù)鋱D,該拓?fù)鋱D不僅包括句子的序列上下文關(guān)系和高頻詞來區(qū)別其他文檔,而且還有主題詞邊來體現(xiàn)文檔的主旨。模型結(jié)構(gòu)如圖1所示。
圖1 多維度圖神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
拓?fù)鋱D中的結(jié)點和邊經(jīng)過層的融合計算,得到各個結(jié)點的最終特征信息,使用平均池化的方法對結(jié)點特征信息進(jìn)行處理得到整個文檔的特征信息,最后使用softmax分類函數(shù)來對文檔的標(biāo)簽即所屬類別進(jìn)行預(yù)測,如公式(7)所示:
其中為權(quán)重矩陣,為偏置量,為文檔的特征表示,為預(yù)測的分?jǐn)?shù)。
本文使用Python作為基礎(chǔ)編程語言,并基于PyTorch框架搭建圖神經(jīng)網(wǎng)絡(luò)模型,表1展示了詳細(xì)實驗環(huán)境數(shù)據(jù):
表1 實驗環(huán)境概述
為了更好地對模型的性能進(jìn)行評估,本文選取了三個公開的中文數(shù)據(jù)集對模型的可行性和有效性進(jìn)行了驗證。
表2 數(shù)據(jù)集概述
本文選取了CNN和雙向長短期記憶網(wǎng)絡(luò)(Bi-LSTM)兩個分類模型分別在今日頭條新聞、waimai_10k和dmsc_v2三個數(shù)據(jù)集上進(jìn)行試驗,實驗結(jié)果通過精確率(Precision)、召回率(Recall)和F1分?jǐn)?shù)三個評價指標(biāo)對不同模型的性能進(jìn)行評估,實驗結(jié)果如表3、表4、表5所示。結(jié)果表明,多維度圖神經(jīng)網(wǎng)絡(luò)無論是在今日頭條新聞數(shù)據(jù)集還是在waimai_10k和dmsc_v2數(shù)據(jù)集上與其他兩個模型相比各項指標(biāo)均為最優(yōu),呈現(xiàn)出更準(zhǔn)確的分類效果。
表3 今日頭條新聞數(shù)據(jù)集上不同模型性能比較
表4 waimai_10k數(shù)據(jù)集上不同模型性能比較
表5 dmsc_v2數(shù)據(jù)集上不同模型性能比較
文本分類是自然語言處理的重要領(lǐng)域之一,為了能獲取到中文短文本中的隱藏語義信息,本文提出了一種基于多維度圖神經(jīng)網(wǎng)絡(luò)模型的文本分類方法,通過序列邊、詞頻邊和主題邊三個維度對本文信息進(jìn)行建模并進(jìn)行分類。相較于目前先進(jìn)的模型分類方法,多維度圖神經(jīng)網(wǎng)絡(luò)在精確率和召回率等指標(biāo)上有明顯提升,可以獲得更為準(zhǔn)確的分類效果。未來將在模型處理上加入注意力機(jī)制來進(jìn)一步提高分類的準(zhǔn)確性以達(dá)到高精度處理中文文本分類的目的。