王治學
(寧夏師范學院數學與計算機科學學院,寧夏固原 756000)
文本分類主要是基于現代信息算法將文本內容根據標準進行分類標注,其多用于各個媒體平臺中智能化新聞分類、廣告過濾、內容審核和垃圾評論自動屏蔽等功能布設,而運用圖卷積神經網絡模型及算法,可通過對數據虛擬建模進行智能信息獲取,進而提升有效信息處理效率,實現自動化文本分類。
隨著科技的不斷發展,文本數據的數量與日俱增。如何有效地管理和利用這些文本數據成為了當前迫切需要解決的問題。傳統的文本分類方法主要是使用深度學習模型進行文本分類,該方法取得了較好的效果,但是隨著文本數據量的增加,這些方法出現了諸如計算復雜度高、對大量低質量數據敏感等問題。在主題模型領域最流行的是BERT,該方法通過學習單詞之間的上下文關系預測句子中單詞的主題。本文采用BERT 的一種變體——GPT-2,其使用預訓練的詞向量與嵌入向量相結合進行分類。還有一種基于圖卷積神經網絡的文本分類方法——Grid-SVR,該方法結合了GCN 和SVR 模型。為了解決上述問題,本文提出了一種基于圖卷積神經網絡(GCN)的主題模型,具體如圖1 所示。該模型使用GCN 作為輸入層,將文本看作一個節點,利用卷積和池化操作對文本進行特征提取,再用Softmax 將文本的特征映射到空間中的不同位置。同時,考慮到文本之間的關系,本文提出了注意力機制以更好地理解文本之間的關系。使用Grid-SVR 進行實驗,該模型在主題建模過程中利用了圖卷積神經網絡(GCN),其基本思想是利用圖卷積神經網絡的卷積操作從輸入的文本圖中提取特征,并使用圖卷積神經網絡來建模文本之間的關系,最終輸出為一個主題表示。另外,Grid-SVR 模型采用了一種新的注意力機制,該注意力機制能夠在計算上加速主題建模的過程,從而使得模型在時間上有更好的性能。實驗采用來自Google 新聞網站的英文新聞數據集,該數據集包含超過1 萬篇文章,其中包含大量主題相關的文本內容,以便于更好地理解文本之間的關系。一種基于GCN 的主題模型文本分類算法,該方法將文本表示為節點嵌入向量形式,并利用圖卷積神經網絡(GCN)提取特征,對文本進行表示,進而使用注意力機制來建模文本之間的關系。
圖1 基于圖卷積神經網絡的主題模型構建流程
2.1.1 基礎框架結構
基于卷積神經網絡所構建的主題文件分類模型,主要通過分類器和編碼器功能來完成,具體包括以下2 點。第一,首先可運用神經網絡中的池化層及卷積層對上下文信息進行編輯處理,進而獲取準確的高層卷積文本語義特征,而主題信息則通過主題模型中ProdLDA 獲得,再全面融合主題與上下文信息,進而獲取真實的文本特征。第二,采用分類器網絡全連接層實施分類結果信息輸出,即可完成分類過程。具體網絡框架,如圖2 所示[1]。
圖2 卷積神經網絡基礎框架圖
2.1.2 功能層介紹
通過上述基礎框架得知,文本分類通過輸入層、輸出層、卷積層、融合層與池化層共同完成處理過程,具體如下。第一,輸入層。其主要是將預處理后的文件信息,以CBOW 模型實施詞嵌訓練,并獲取初始單詞向量進行輸入處理。該層主要負責將單詞文檔轉化為初始向量的全過程,將文檔表現成為一個規則性向量矩陣。本次實驗將主要利用Clove 作為英文文本作為嵌入表示,并利用Word+Ngram 和SogouNews 作為中文文本嵌入詞表示,進而提升整體模型結構訓練效果,其中中文矩陣表現形式如公式(1)所示
式中:m∈[1,M],nm表示第m個文件文檔中的單詞總數,而M則表示數據集中全部文檔數量。第二,卷積層。該層主要負責對網絡模型各種數據的特征進行提取,其通常使用卷積核尺寸來提取不同長度的文本,相比單一化文本提取而言,該層的信息提取范圍更廣。如將卷積核尺寸設定為3 時,便可每次同時提取3 個不同單詞特征。而在本次研究當中,總共布設了尺寸為3的512 個卷積核來獲取不同的上下文信息,進而保障整體數據提取精度。第三,池化層。為避免卷積層在應用過程中所造成的文件冗余而影響到整體數據分類精度,必須通過池化層進行池化處理。該層主要負責對文件矩陣進行縮減,并池化處理各種上下文特征,在精簡訓練參數的基礎上加快訓練速度,進而在避免產生擬合作用的前提下解決卷積后所產生的文件冗余問題。第四,融合層。在經過池化層的池化處理后,便可通過融合層將網絡模型提取到的主題特征與上下文特征融合,得到全新的文件特征向量,如公式(2)所示
式中:Vm代表通過卷積神經網絡功能所得到的上下文文本語義基本特征,θm代表主題模型或獲取的文檔信息在K個內部潛在主題上的向量分布概率,Nm代表經過系統組合后得到的融合特征,該文本向量特征同時兼具潛在主題與上下文語義2 種不同特征。而融合層則是將不同矩陣特征基于數據序列的方式實施數據拼接與融合,進而全面解決文本數據冗余與稀疏問題。第五,輸出層。經過系統融合后的潛在主題信息與上下文信息模型,主要基于Softmax 組成函數及全連接層計算各種文檔數據的分布概率,進而獲取準確的數據輸出數值。
本次研究主要通過將ProdLDA 主題模型引入卷積神經網絡當中,構建卷積神經網絡融合ProdLDA 主題模型厚度的文本算法,詳細算法過程如圖3 所示,具體如下。第一,在對文本數據集實施預處理后,可將CBOW 模型數據集文檔轉為詞嵌入模式,并將基本主題模型參數實施初始化處理,進而確定最佳主題數量。第二,在對模型的不斷迭代訓練過程中,可將詞嵌入引入其中并構建特有的特征數據矩陣,進而準確評估模型性能。第三,通過訓練主題模型信息,獲取主題特征矩陣并準確提取全部文件上下信息,進而形成特征矩陣。第四,構建內部融合層,將文本向量拼接完成后傳輸至相應的分類層,適當調整權值和參數,最終構建完整的CNN 文本分類及ProdLDA 主題模型。第五,通過一系列文件信息處理,使得系統輸入層與輸出層均具備了部分潛在主題和上下文語義信息,最后,由Softmax 組成函數輸出層來準確判斷文檔數據分布概率[2]。
圖3 卷積神經網絡融合ProdLDA 主題模型厚度的文本算法構建流程
2.3.1 初步測試
在短文本分類研究實驗中,本文主要基于今日頭條平臺來構建2 個不同的數據集,共分為擁有20 萬條信息數據的9 個類別數據集和擁有38 萬條信息數據的15 個類別數據集2 種。而在長文文本分類研究實驗中,則主要采用了擁有20 種不同分布狀態的新聞媒體類型的英文數據集,其可用于2 萬條不同的長文本集合處理。
考慮到整體訓練過程中的數據處理量較大,且需要頻繁更改設計主題參數才能使主題模型達到最佳數據處理效果。因此,本次研究實驗主要基于評價規范中的數據準確率作為衡量標準,對主題特征進行深入分析,并以20 為一個測試梯度,通過相關搜索引擎進行數據收集、對比,最終得知50 個主題數量下的數據處理準確率達到了0.912%,故而可將其作為最佳主題數量設計參數。而詞嵌入維度同樣會在一定程度上影響到詞語特征提取效果,因此,本次研究實驗以頭條數據集作為詞嵌入研究平臺進行數據收集、對比,最后發現,當詞嵌入為150 維度時,其準確率可達0.907%,完全可以將其作為最佳嵌入詞設計參數。此外,為進一步提升文件分類處理精度,實驗人員再次以今日頭條作為研究平臺,對同樣基于數據準確率評價指標,對模型訓練系統迭代次數實施了分析與探索,最終得知當迭代次數為35 時,其整體文件分類效率、分類速度及分類精度最佳。
2.3.2 結果分析
在經過一系列實驗測試后,最終測算出1 號數據集(20 萬條數據、9 個類別)中的不同模型中數據集各項測試結果如下。在ProdLDA-CNN 模型中,F1 測試比率為0.915 0%、召回率為0.913 1%、準確率為0.917 8%。在TMN 模型中,F1 測試比率為0.914 3%、召回率為0.914 2%、準確率為0.914 9%。在Word2vec-CNN 模型中,F1 測試比率為0.904 1%、召回率為0.904 0%、準確率為0.903 8%,其整體數據測試精度均在合理范圍內。而在將數據集基礎類別量從9 個提升至15 個時,語料噪音和交叉信息量也會不斷增加[3]。
由于語料噪音數據與數據集類別增多時,CNN 單一模型數據處理準確率大大降低,而TMN 與本次研究實驗模型則依舊保持較高的數據處理準確率。為進一步證明該模型的操作可行性,工作人員還針對基于20 NG 的英文長文本數據集方面進行了一系列對比分析,結果顯示,在基于20 NG 長文本數據的情況下,ProdLDA-CNN 系統模型整體分類精度相較于Word2vec-CNN 單一模型處理精度明顯較高,其根本原因在于單一化CNN 模型更加側重于對局部卷積語義的提取,而無法準確獲取長文本中的各類數據信息,而本次研究實驗中的主題模型則可基于文檔主題特征來提取文件信息,故而其整體文件分類精度較高[4]。
本次文本分類案例系統主要基于現代數字編程技術構建,整體采用Flask 作為基礎框架,而后端文本分類系統則主要采用Python 來實施。用戶可先上傳需要處理的各種數據,并利用內部預處理功能模塊進行數據去停、分詞等基礎操作,最后點擊模型訓練指令,再由程序處理后將最終結果返回操作界面,進而完成整體數據分類過程,詳細模塊功能如下。登錄注冊功能模塊主要負責對用戶信息進行驗證處理,保障整體系統信息安全。數據標注功能模塊主要基于內部程序規則關鍵詞,對待處理數據實施輔助標注。預處理數據功能模塊主要負責對數據疊詞、去停用詞及數據分詞等方面的清洗工作。模型訓練功能模塊主要對模型進行自動調整,完善各項數據處理性能。模型評價功能模塊主要負責模型評估,判斷模型數據處理結果的準確性。模型預測功能模塊主要負責封裝訓練后的各個數據模型,并通過待預測信息中封裝好的后臺數據實施有效預測。而批處理信息預測功能模塊,則主要負責對不同數據信息進行預測處理,并提供全面的數據下載功能。通過不同功能模塊之間的配合工作,大大降低了系統處理的耦合性,進而提高模型系統文件分類效率。
本次案例系統,主要由數據庫存儲、注冊登錄、數據標注及模型訓練等幾個關鍵模塊構成。其中數據庫存儲模塊主要負責編制與管理,如預測接口表、規則配置表及用戶信息表等內部表格,進而增加整體數據分類管理的合理性,如在用戶信息表設計過程中,必須包括字段名稱、數據類型、是否允許為空及具體作用等幾項,具體如下。將表內id 字段數據類型設計為int,允許為空設定為否,功能為操作主鍵。將表內userid 字段數據類型設計為varchaer(255),允許為空設定為否,功能為用戶名。將表內owner 字段數據類型設計為int,允許為空設定為否,功能為管理權限(參數0 為普通用戶、參數1 為管理員,默認值為0)。將表內loginip 字段數據類型設計為varchaer(255),允許為空設定為否,功能為對各種登錄IP 地址進行記錄。將表內loginCouunt字段數據類型設計為num,允許為空設定為否,功能為記錄用戶登錄次數。將表內loginTime 字段數據類型設計為datetime,允許為空設定為否,功能為記錄詳細的用戶登錄時間。
注冊登錄模塊主要是為了保障整體系統信息的安全性,避免無關人員竊取內部信息。因分類系統對操作人員的專業性要求較高,其內部信息量極大且涉及范圍較廣。因此,本次案例系統主要采用token 方式來驗證系統管理員信息,進而各種網絡不法分子惡意入侵和攻擊,詳細操作過程如下。用戶登錄操作時將密碼與賬號錄入,系統會將相應信息與MySQL 數據中的存儲信息進行對比驗證,并返回一個獨有的token 簽名,最后驗證token 數據是否準確無誤。此外,用戶在本地實施token 存儲時,系統會在指令發出時予以驗證[5]。
具體驗證流程依次為系統開啟、用戶登錄信息錄入、token 信息識別、發送主頁請求和驗證token 請求的準確性,如信息準確則會自動跳入主頁界面,若信息有誤則會在本頁面發出錯誤提示。
為提升數據標注工作效率,系統會在內部通過數據標注功能模塊來標注規則關鍵詞,并基于具體關鍵詞的權重判斷數據標簽,最后使用分詞工具進行提取,從而獲取最終數據標簽。而模型訓練模塊則主要基于訓練腳本,將整體訓練結構展示到頁面上,其無須通過任何程序編寫即可完成功能訓練。用戶只需點擊相應的操作按鈕,便可實施如分詞、消除停用詞等基本需求。此外,工作人員還通過操作界面設計及系統測試等方式,不斷完善系統功能、提升文件分類操作精度,進而在降低人工工作量的前提下,大幅提升了整體文件分類工作效率。
綜上所述,將主體模型結合卷積神經網絡技術充分融入到文本分類當中,并基于用戶實際需求來構建一套完整的信息處理系統,從而真正實現智能化數據信息分類處理,使用戶通過系統界面即可獲取全部信息處理結果,進而真正對文本信息進行智能化分類。