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