






關鍵詞:文本分類;卷積神經網絡;長短時記憶網絡;惠企政策
中圖分類號:TP18 文獻標識碼:A
文章編號:1009-3044(2024)25-0069-04
0 引言
惠企政策是指國家和地方政府為扶持企業發展、優化營商環境而制定的一系列措施,對于促進經濟發展、提升企業競爭力具有重要作用。但隨著政策數量的增加,其分布的散亂和分類的不統一給企業和個人帶來了困擾。面對雜亂無章的政策文件,企業往往需要耗費大量時間和精力去篩選和解讀,這不僅增加了企業的運營成本,還可能導致企業錯過重要的政策機遇。因此,如何高效地整理這些惠企政策文本,提高對其分類效率具有重要的現實意義[1]。
近年來,隨著自然語言處理和深度學習技術的快速發展,文本分類技術為這一問題提供了新的解決方案。本研究旨在探索一種基于CNN-LSTM模型的惠企政策文本分類方法,以構建高效的分類模型,實現對惠企政策文本的精準分類。此研究有助于企業和個人更加便捷地獲取和理解相關政策,提高政策資源的匹配精度,從而降低信息獲取成本,促進政府政策的傳達效率,加強政府與企業和個人之間的溝通。
1 相關理論與方法
1.1 獨熱編碼
獨熱編碼(One-hot Encoding) 是一種常用的數據預處理技術,用于將分類變量轉換為數值向量,解決類別間無序性的問題。這種編碼方式確保了每個類別在數值處理層面上都是等價的,從而為后續的機器學習模型提供了無偏見的輸入數據。在本研究中,首先將文本類別的標簽映射為整數標簽,隨后采用One-hot編碼技術,將每個整數標簽轉換為一個固定長度的二進制向量,其中僅代表該類別的位被置為1,其余位均為0[2]。
本實驗對標簽使用獨熱編碼進行數值化是為了滿足多分類任務中損失函數的計算需求,將類別標簽轉換為概率分布形式的二進制向量。獨熱編碼后的標簽可以用于計算交叉熵損失,這是多分類任務中常用的損失函數。交叉熵損失需要模型的輸出和真實標簽都是概率分布形式,而獨熱編碼提供了這種形式的標簽。
1.2 文本向量化
文本向量化是自然語言處理中的重要環節,旨在將非結構化的文本數據轉換為機器可處理的數值向量[3]。本文采用Tokenizer技術,有效實現了文本數據的向量化。Tokenizer作為一種文本預處理工具,其核心功能是將文本字符串分割成一系列離散的單元(通常是單詞或子詞),并為這些單元分配唯一的整數索引,從而構建出一個初步的數值化表示。
具體而言,Tokenizer首先遍歷整個文本數據集,統計每個詞的出現頻率,并基于這些統計信息構建一個詞匯表。詞匯表不僅限定了模型處理的詞匯范圍,還通過為每個獨特詞匯分配索引,為后續的文本向量化提供了基礎。一旦詞匯表構建完成,Tokenizer便能將文本數據中的每個詞匯映射為其對應的索引,生成一個整數序列。這一過程實質上實現了文本數據從非數值形式到數值序列的轉換,即文本的向量化。
然而,鑒于自然語言的多樣性,不同文本的長度往往差異顯著。為了確保數據的一致性,便于后續模型處理,本文在文本向量化之后,進一步對生成的整數序列進行了填充和截斷操作。具體而言,對于較短的序列,采用特定的填充值(如0) 進行填充,以使其達到預設的統一長度;而對于過長的序列,則進行截斷處理,僅保留其前N個元素,以確保所有輸入序列具有相同的維度。
值得注意的是,Tokenizer生成的整數序列雖然為文本數據提供了一種初步的數值化表示,但這種表示方式相對較為粗糙,難以直接捕捉到詞匯之間的語義關系。因此,在后續的CNN-LSTM模型構建中,本實驗利用Embedding層將這些整數索引轉換為密集的實值向量。Embedding層通過學習詞匯之間的語義相似性,將整數索引映射到高維空間中的向量表示,從而進一步提升模型對文本數據的理解和處理能力。
1.3 CNN-LSTM 混合模型
CNN-LSTM混合模型是一種結合了卷積神經網絡(CNN)和長短期記憶網絡(LSTM)優勢的深度學習模型,能夠同時捕捉輸入數據的局部特征和時序關系[4]。
在本實驗中,首先利用CNN模塊提取輸入數據的局部特征,然后將這些特征序列輸入LSTM模塊中,LSTM根據序列的時序關系進行建模和預測,最后通過全連接層對LSTM的輸出進行惠企政策文本分類。
本研究中的CNN-LSTM 模型由輸入層、Embed?ding層、2層卷積層、2層最大池化層、2層dropout層、LSTM層、全連接層、輸出層組成,模型整體結構如圖1所示。
1.3.1 基于卷積神經網絡(CNN) 模塊的局部特征提取
卷積神經網絡(Convolutional Neural Networks,CNN) 是一種深度學習模型,可用于處理和分析文本數據。CNN的核心部分是卷積層和池化層。卷積層負責提取輸入數據的特征,通過滑動卷積核在輸入數據上進行操作,從而捕捉局部特征[5]。池化層則對卷積后的特征圖進行下采樣,以減少參數數量,防止過擬合,并增強模型的魯棒性。
卷積層計算公式如下:
O = f (WZ + b) (1)
式中,O 表示卷積后提取的特征矩陣,W 表示權重矩陣,Z 表示輸入的詞向量矩陣,參數b 表示偏置項,f 為ReLU激活函數,其具體公式為max(0,x),x 為上一層神經網絡的輸出向量[6]。
在本實驗模型的CNN模塊中,首先通過Embed?ding層將惠企政策文本的輸入序列轉換為嵌入向量。這些嵌入向量捕捉了文本中詞匯的語義信息,作為CNN模塊的輸入,為后續的特征提取奠定了基礎。然后,通過卷積層執行一維卷積操作,用于提取惠企政策文本數據中的局部特征,如特定的政策術語、關鍵詞組合等。接著,通過最大池化層對卷積層的輸出進行下采樣,減少惠企政策數據的維度,同時保留最重要的特征。最后,通過Dropout層隨機丟棄部分神經元連接,以防止模型過擬合。
1.3.2 基于長短期記憶網絡(LSTM) 模塊的時序關系提取
長短期記憶網絡(Long Short-Term Memory,LSTM) 是一種特殊的循環神經網絡(RNN) ,它解決了RNN在處理長序列時可能出現的梯度消失或梯度爆炸問題[7]。LSTM通過引入門控機制(包括輸入門、遺忘門和輸出門),能夠選擇性地記憶或遺忘信息,從而有效地捕捉序列數據中的長期依賴關系,其基本單元結構如圖2所示。
在本實驗模型的LSTM模塊中,將經過CNN模塊處理的高級特征序列作為LSTM層的輸入。LSTM的基本單元通過其內部的門控機制來控制信息的流動和更新。在每個時間步,LSTM都會根據當前的輸入和上一個時間步的隱藏狀態來更新其細胞狀態和隱藏狀態,從而有效地捕捉惠企政策文本中的時間依賴關系和上下文信息。隨后,通過一個全連接層進一步處理LSTM層的輸出,以便更好地整合和利用提取到的時序特征。接著是一個Dropout層,以減少全連接層中的過擬合。最后,將一個激活函數為softmax的全連接層作為輸出層,用于將高級特征映射到惠企政策文本的類別上。
2 實驗與結果分析
2.1 數據集與預處理
本實驗所采用的數據集為自制數據集,該數據集通過爬蟲技術從全國各地相關政府部門網站中爬取獲得。隨后,通過人工標注將這些數據精細地劃分為8個類別,具體為:人才支持、技術發展、知識產權、創新發展、基礎設施建設、鄉村振興、金融服務和醫療服務,并將它們整合到Excel文件中以便后續處理。在數據預處理階段,為了科學地進行模型訓練和評估,數據集按照7.5∶1.25∶1.25的比例劃分為訓練集、驗證集和測試集。具體而言,訓練集包含6 039條數據,用于模型的訓練和學習;驗證集1 006條和測試集1 007 條數據,分別用于模型的驗證和測試,以確保模型的泛化能力和性能評估的準確性。
在實驗過程中,為了便于機器學習模型的處理,首先將數據集中的文本標簽(如“人才支持”“技術支持”“鄉村振興”等)映射到整數標簽(0,1,2,...) 。接著,對文本內容進行清洗,僅保留中文字符,并利用jieba分詞中的精確模式對這些中文字符進行分詞處理。隨后,利用自定義的停用詞表去除停用詞,以進一步優化文本數據的質量。處理后的文本內容和對應的整數標簽分別被存儲到兩個列表中,以便后續使用。最后,為了適應模型輸入的要求,對標簽進行了One-hot編碼,利用Tokenizer建立詞匯表對文本內容進行了向量化表示。
2.2 實驗參數設置
為提升CNN-LSTM混合模型對惠企政策文本分類的精度,經訓練和驗證,本文實驗參數設置如表1所示。模型輸入層的長度為200,嵌入層輸入維度為10001,嵌入大小為128,輸入序列的長度為200,2層卷積層的卷積核數目分別為32和64,卷積核大小均為5×1,采用ReLU激活函數;池化層采用最大池化方式,池化大小為2×1;為了防止過擬合,在卷積層之后和全連接層之后分別添加了丟棄率為0.25和0.5的Dropout 層,用于控制過擬合;LSTM 神經元個數為128;全連接層的神經元個數為128,激活函數為ReLU;輸出層是一個神經元數目為8,激活函數為softmax的全連接層;選擇了交叉熵作為損失函數,使用Adam優化器并設置學習率為0.001,同時以準確率作為模型的評估指標。在訓練過程中,批量大?。╞atch_size) 設置為32,設定訓練輪次(epochs) 為25;設置了早停(EarlyStopping) 策略來防止過擬合,若5輪內驗證損失改善小于0.000 1則停止訓練。
式中:在本實驗中,以“人才支持”類別為例,TP表示實際為正樣本且被模型預測為正樣本的數量,即模型正確地將屬于“人才支持”的文本分類為該類別的數量;TN 表示實際為負樣本且被模型預測為負樣本的數量,即模型正確地將不屬于“人才支持”的文本分類為其他類別的數量;FP 表示實際為負樣本但被模型預測為正樣本的數量,即模型錯誤地將不屬于“人才支持”的文本分類為“人才支持”的數量;FN 表示實際為正樣本但被模型預測為負樣本的數量,即模型錯誤地將屬于“人才支持”的文本分類為其他類別的數量。
2.4 結果分析
本實驗通過設置訓練參數搭建模型環境,使用訓練集擬合模型,再使用測試集對模型的分類能力進行評估,最終得到的測試結果如圖3所示。由圖3可以看出,模型在“知識產權”類別上的分類效果最好,在“技術支持”類別上的分類效果最差,這可能是因為“技術支持”類別的詞句相對更加抽象復雜。但模型對惠企政策文本分類的整體準確率約為0.9206,所有類別的平均精確率約為0.9225,平均召回率約為0.9186,平均F1分數為0.9192,表明模型對于惠企政策文本分類有著較好的性能。
為了更加深入、清晰地理解模型的分類性能,本實驗采用了混淆矩陣進行直觀展示?;煜仃嚕卜Q為誤差矩陣,以表格形式清晰地揭示了模型預測結果與實際類別之間的關系。在本實驗所構建的混淆矩陣中,列代表樣本的實際類別,行則代表模型的預測類別。矩陣中的每個元素均表示實際類別被預測為某個類別的樣本數量?;煜仃嚾鐖D4所示。
從圖4可以看出,“創新發展”類別和“技術支持”
類別之間容易混淆,究其原因是這兩類政策文本可能同時涉及創新發展的理念和技術支持的措施,導致模型難以明確區分這兩個類別。在該混淆矩陣對應的二維數組中,以醫療服務類為例,TP 為111,TN 為884,FP 為4,FN 為8。通過公式(9) (10) (11) 計算可得,醫療服務類的準確率約為0.988 0,精確率約為0.9652,召回率約為0.9328,F1-Score約為0.9487,其他類別可通過相同的方法來計算得出。各個數值都處在較高的水平,表明該模型對于惠企政策的分類效果較好。
為了驗證模型的有效性,本文建立CNN模型和LSTM模型進行對比實驗。采用相同的數據集對各個模型進行訓練、驗證和預測,實驗結果如表2所示。
由表2可以看出,CNN-LSTM模型在惠企政策文本多分類任務中具有更佳的分類性能,其準確率最高,相對于LSTM 提高了3.58%,相對于CNN 提高了1.10%。這是因為LSTM考慮了惠企政策文本的時序關系,但未考慮其局部特征;CNN只考慮了惠企政策文本的局部特征,但其探究時序關系較弱;本文提出的CNN-LSTM 模型兼顧了二者,具有較好的分類性能。
3 結論
本文針對惠企政策文本分類問題,提出了一種基于CNN-LSTM的混合模型。實驗結果表明,該模型在自制的惠企政策文本數據集上取得了良好的分類性能。由于目前對惠企政策進行分類的研究較少,本研究的主要創新點在于:首次將CNN-LSTM混合模型應用于惠企政策文本分類領域,為該領域的進一步研究提供了有益的參考和探索。
本實驗初步采用CNN-LSTM模型對惠企政策文本進行分類。在未來研究工作中,將會擴大數據集的數量,提高模型的泛化能力。同時,考慮在CNNLSTM模型中添加注意力機制,通過引入注意力機制,提升模型對關鍵信息的捕捉能力。最終,將模型應用于實際的惠企政策服務平臺中,驗證其應用價值。