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