?

基于Stacking 集成學習的中文問句分類算法

2023-09-21 15:48劉佳梅
智能計算機與應用 2023年9期
關鍵詞:決策樹分類器分類

劉佳梅, 丁 楷

(中國航天科工集團六院情報信息研究中心, 呼和浩特 010000)

0 引 言

問句分類作為問答系統中問題分析和處理的首要環節,是問答系統尤為重要的一部分,其分類精度會直接影響到問答系統的性能[1]。 近年來,隨著機器學習和深度學習的快速發展,極大的豐富了問句分類的相關研究。

問句分類所要解決的主要問題是將用戶所提的問句劃分到預定義的類別,從而確定問題的類型。問句分類是將問句與預定義的問句類別進行匹配的過程,如果問句分類過程用G表示,預定義的問句類型用{C1、C2、C3、Cn} 表示,則該過程就是將用戶所提問句X與某個問句類別Ci進行對應,如公式(1)所示:

問句分類的3 種方法為:基于規則、基于統計和基于神經網絡的問句分類方法。 基于規則的問句分類方法,通過編寫分類規則,從而確定問句類別[2]。這類方法往往能夠取得較高的準確率,但編寫規則需要花費大量的人力物力。 基于統計的問句分類方法,是通過訓練數據對模型進行擬合,從而實現將問句劃分到具體類別。 目前,關于統計的問句分類方法有貝葉斯模型[3]、支持向量機[4]、最大熵模型[5]等。 基于神經網絡的問句分類方法則是通過搭建神經網絡模型并進行訓練。 如:Kalchbrenner 等人[6]采用DCNN 模型;Le 等人[7]采用卷積神經網絡;Zeng 等人[8]采用主題記憶網絡;Ravi 等人[9]采用圖神經網絡來進行問句分類。 以上關于問句分類的方法均采用單模型,模型的分類效果受訓練數據及模型參數影響較大。

綜合上述分析,現提出基于Stacking 集成學習的中文問句分類算法,通過集成多個分類器,實現中文問句的分類。 該模型基于集成學習的思想,采用模型融合的方式訓練分類器,以提高模型的泛化能力,并提升中文問句分類的準確性。

1 集成學習模型

集成學習是指通過采用一定的策略,組合多個分類模型,形成一個性能更優的集成分類模型。 通常稱被組合的多個分類模型為“基分類模型”,而最終生成的分類模型為“融合分類模型”。 目前,集成學習方法大致分為3 類[10]:Bagging、Boosting 和Stacking。 其中Stacking 相比于其它兩種方法更為靈活,使其具有更為廣泛的應用。 在自然語言處理的分類任務中,使用單模型容易受到一些不可控因素影響,使得分類準確率不高[11]。 因此,為了有效減少單個模型中隨機因素的影響、提高模型的預測精度和可信度,一些學者使用不同的集成學習模型來提高分類精度。

Stacking 集成學習的主要思想是:訓練一個分類器來擬合所有預測器的預測結果,而不是使用一些簡單的函數(比如硬投票)來聚合所有預測器的預測。 Stacking 使用交叉驗證數據集來訓練基分類模型,然后使用基分類模型在驗證集上進行預測,將得到的預測結果作為新的訓練數據,最后在新的訓練數據上訓練融合模型。 該方法的作用能夠提高模型的泛化能力,所使用的基分類模型可以是相同或不同的任意模型。 1992 年Wolpert[12]最早提出Stacking 算法,多項研究表明,Stacking 能夠得到接近最優的分類模型,但對于確定基分類模型的種類、數量、融合分類模型的選擇均依賴實踐。 謝文涌[13]在馬兜鈴酸及其類似物鑒別中,采用Stacking 集成學習分類模型比K 近鄰等單分類模型的平均鑒別正確率高出8.23%,并且在精確率、召回率和F1 值均表現最優;胡曉麗[14]以集成學習Stacking 融合模型,對電子商務平臺新用戶重復購買行為進行預測,實驗結果表明Stacking 融合模型比單一模型在準確率和AUC值上都平均提升了0.4%~2%。 眾多研究均表明,使用Stacking 集成學習框架來融合多模型,往往會得到比單模型更好的效果。

2 基于Stacking 集成學習的中文問句分類

本文選擇Stacking 集成學習框架來融合多模型進行中文問句分類,來彌補單分類器對問句分類效果的影響。 對于Stacking 集成學習模型的選擇包括兩部分:基分類器和元分類器。

根據文獻[15]可知,決策樹在中文短文本分類上,能比同類算法取得更好的效果。 中文問句屬于中文短文本范疇,因此基分類器采用以決策樹算法為基礎進行優化提升后的經典機器學習算法。 其中包括LightGBM 算法、XGBoost 算法和Random Forest算法。 在基分類器的選擇上,LightGBM 是利用決策樹進行迭代訓練得到的強分類器,具有不易過擬合,分類效果好的特點,被廣泛的應用于多分類任務中;XGBoost 是利用boosting 方法將決策樹進行集成,訓練得到的強分類器;Random Forest 也是決策樹的集成算法,具有泛化能力強、不易過擬合的優點。 元分類器采用回歸算法,選擇對于線性問題有較好效果的Logistic Regression 算法。

綜上所述,將LightGBM、XGBoost 和Random Forest 作為Stacking 集成學習的基分類器,元分類器選擇使用最為廣泛的Logistic Regression。

(1)LightGBM 算法

LightGBM(Light Gradient Boosting Machine)是輕量級梯度提升機,其原理是將損失函數的負梯度作為當前決策樹的殘差近似值,擬合形成新的決策樹。 其優點在于減少對于內存的消耗,加快訓練速度。 相比于決策樹,預測精度得到提升,使得該算法同時兼顧了訓練速度和預測精度。

(2)XGBoost 算法

XGBoost(Xtreme Gradient Boosting)極限梯度提升算法,其實質也是基于決策樹的算法。 算法的優點是能夠對輸入數據進行并行處理,提高了處理速度,并且有多種機制去防止訓練過程中的過擬合,其預測精度也得到大大提升。

(3)Random Forest 算法

Random Forest 算法是決策樹的集成,通過多棵決策樹對輸入數據的訓練,從而進行預測的一種算法。 Random Forest 算法通常采用Bagging 的方法進行訓練,該算法的優點是在絕大多數的分類任務中,能夠取得較好的效果,在處理高維度數據時,不容易產生過擬合現象,并且訓練速度相對較快,能夠適應大數據分析。

(4)Logistic Regression 算法

Logistic Regression 算法同線性回歸算法非常類似。 但線性回歸與Logistic Regression 解決的問題類型存在差異。 線性回歸處理的是數值問題,而Logistic Regression 處理的是分類問題。 換個角度講,線性回歸輸出結果是連續的, 而 Logistic Regression 輸出結果是離散的。 例如,判斷某天的天氣是否會下雨,其結果只有是或否,所以Logistic Regression 是一種較為經典的二分類算法。 為了滿足Logistic Regression 輸出的需要,對線性回歸的計算結果加上一個Sigmoid 函數,就可以將數值結果轉化為輸出0~1 的概率,然后根據這個概率再做判斷。 由于Logistic Regression 擁有很強的泛化能力,在解決分類任務的基礎上,可以大大降低集成學習的過擬合風險,因此將Logistic Regression 模型作為集成學習Stacking 預測模型的元分類器。

基于Stacking 的中文問句分類模型如圖1 所示,將中文問句的訓練數據均等的劃分為3 份,形成訓練集1,訓練集2 及訓練集3,將其對應輸入到基分類器LightGBM 算法、XGBoost 算法和Random Forest 算法中,將每個基分類器預測的結果作為訓練集,統一輸入到元分類器Logistic Regression 算法中進行訓練,并輸出中文問句最終的分類結果。

圖1 基于Stacking 的中文問句分類模型Fig. 1 Chinese question classification model based on Stacking

3 實驗結果與分析

為驗證采用集成學習Stacking 框架融合多模型對于中文問句分類提升的效果,設置了中文問句分類實驗。 在實驗數據相同的前提下,對比基于Stacking 融合模型與單模型在中文問句分類上的效果。

3.1 實驗過程

3.1.1 實驗數據

實驗采用網絡公開的中文科技文獻問句數據集,數據形式為“中文問句+分類標簽”,如圖2 所示。 其中,標簽1 代表簡單問題,標簽2 代表單跳問題,標簽3 代表單重限定問題,標簽4 代表多重限定問題。 該數據集包含71 264 條數據,各類別均包含17 816 條數據。 由于實驗采用的都是機器學習模型,因此將數據集按8 ∶2 劃分,得到訓練集56 992條數據,測試集14 272 條數據。

圖2 基于句型的中文句數據集Fig. 2 Chinese question data set based on sentence pattern

3.1.2 實驗設置

實驗采用精確率(P),召回率(R)和F1 作為評價指標,對比單模型和基于Stacking 的集成學習模型在問句分類實驗上的效果。 在文本表示上,選擇TF-IDF 來提取特征,并使用交叉網絡驗證調參,得到各分類模型的最佳參數,見表1。

表1 模型最佳參數Tab. 1 Best parameters of the model

3.1.3 評價指標

精確率(Precision,P) 用來評測模型的查準率,正確預測為正例的樣本數占預測為正例的樣本數的比重。

召回率(Recall,R)用來評測模型的查全率,正確預測為正例的樣本數占正例樣本總數的比重。

F1 值(F1- measure,F1) 為綜合精確率和召回率的整體評價指標。

3.2 實驗結果與分析

將Stacking 融合模型與4 個基分類模型的實驗效果進行對比,其結果見表2。

表2 基于Stacking 的中文問句分類實驗結果Tab. 2 Experimental results of chinese question classification based on stacking%

由表2 數據可見,表現最差的為Logistic Regression 算法,其主要原因是中文問句分類屬于非線性分類問題,而Logistic Regression 屬于線性分類模型,因此兩者不匹配導致其效果不佳。 將其余3個單分類模型相互進行對比發現,Random Forest 的表現最差;XGBoost 的分類效果為單分類模型中最佳,其余3 個評價指標值僅次于Stacking 融合模型,也是由于其本身為強分類模型。 基于Stacking 集成學習框架融合多模型取得了最優的效果,在精確率、召回率、F1 值均優于其它分類器。 其中,F1 值達到97.80%,也充分驗證了本文所提基于Stacking 的中文問句分類模型的有效性。

4 結束語

基于Stacking 集成學習的中文問句分類方法,能夠有效提升中文問句分類精度。 通過使用集成學習 Stacking 框架, 融合 LightGBM、 XGBoost 和Random Forest 構建多基分類器,并利用Logistic Regression 作為元分類器,以實現中文問句分類。 該模型在精確率、召回率和整體F1 等指標上均優于其他模型,其中F1 值達到97.80%,能夠實現較高的分類精度。 該模型的基分類器由3 個不同算法組成,在保持算法強學習能力的基礎上,同時具備一定的異質性,使模型具備更好的泛化能力,支撐更多領域問答系統實現更好的性能。

猜你喜歡
決策樹分類器分類
分類算一算
一種針對不均衡數據集的SVM決策樹算法
分類討論求坐標
決策樹和隨機森林方法在管理決策中的應用
數據分析中的分類討論
BP-GA光照分類器在車道線識別中的應用
教你一招:數的分類
加權空-譜與最近鄰分類器相結合的高光譜圖像分類
結合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
基于決策樹的出租車乘客出行目的識別
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合