?

基于SSA-SVM的營養健康信息文本分類研究

2023-06-15 01:22劉蕾田鑫宇朱大洲
計算機時代 2023年6期
關鍵詞:文本分類支持向量機

劉蕾 田鑫宇 朱大洲

摘要: 為了能夠快速、便捷地提取互聯網中有關食物營養健康相關信息,針對傳統文本分類算法的不足,利用麻雀搜索算法(SSA)良好的尋優能力對支持向量機(SVM)的最優參數組合進行搜索,提出一種基于SSA-SVM的文本分類方法。對SSA-SVM模型在不同的數據集中的分類效果進行了試驗研究,結果表明,SSA全局尋優性能穩定,可有效降低SVM參數選取對系統泛化能力和分類精度的影響,SSA-SVM模型在營養健康文本分類中準確率可達到83.8%,對食物營養健康信息挖掘研究具有一定的參考價值。

關鍵詞: 營養健康; 文本分類; 支持向量機; 麻雀搜索算法

中圖分類號:TP391? ? ? ? ? 文獻標識碼:A ? 文章編號:1006-8228(2023)06-82-05

Research on text classification of nutrition and health information based on SSA-SVM

Liu Lei1, Tian Xinyu1, Zhu Dazhou1,2

(1. Heilongjiang Bayi Agricultural University, Daqing, Heilongjiang 163319, China;

2. Institute of Food and Nutrition Development, Ministry of Agriculture and Rural Affairs)

Abstract: In order to extract the information about food nutrition and health from the Internet quickly and conveniently, and to address the shortcomings of traditional text classification algorithms, we use the optimizing ability of SSA to search the optimal parameter combination of SVM, and propose a text classification method based on SSA-SVM. The experimental study on the classification effect of SSA-SVM model in different datasets shows that the SSA global optimization performance is stable, which can effectively reduce the influence of SVM parameter selection on the generalization ability and classification accuracy of the system. The accuracy of SSA-SVM model in nutrition and health text classification can reach 83.8%, This method has certain reference value for food nutrition and health information mining research.

Key words: nutrition and health; text classification; support vector machine (SVM); sparrow search algorithm (SSA)

0 引言

隨著生活水平的不斷提高,大眾的需求已逐漸由吃得飽向吃得營養、吃得健康轉變,對食物營養健康科普的關注度也不斷提高。經調查發現,一方面互聯網中關于食物營養健康的知識存在差異,大眾發表的見解也各不相同;另一方面隨著信息技術的快速發展,食物營養健康方面的文本數據也呈指數級迅速增長。上述狀況必然導致利用互聯網搜尋食物營養健康科普文本并提取有價值的信息變得越來越困難。

快速整理原始科普信息、挖掘文本內在價值,對幫助個體和群體獲得營養健康知識有重要導向性作用。因此構建相關科普輿情監測系統,以主題爬取的形式獲得有關文本信息,再采用數據處理方法將具有相同特征的文本信息劃分到事先確定的文本類別中,有助于大眾便捷地閱讀、檢索、管理文本信息。

在十九世紀五十年代,Luhn等人首次提出了文本分類的方法。經過國內外專家學者近60年的探索研究,文本分類的理論逐漸成熟,并形成了多種分類算法[1]。當前,K-鄰近算法、決策樹算法、樸素貝葉斯算法、SVM算法是常用的主要分類算法。

邱寧佳等提出將特征項的權值融合到樸素貝葉斯公式中構造加權樸素貝葉斯分類[2];黃超等提出一種基于分組中心向量的KNN算法,在降低計算復雜度的同時,提升了算法的分類性能[3];段友祥等提出了基于主動學習的SVM評論內容分類方法[4];葛曉偉等提出一種基于字符卷積神經網絡CNN與支持向量機SVM的模型用于中文護理不良事件文本分類[5];郭超磊等提出一種基于模擬退火優化SVM的文本分類方法[6];賈宏云等將支持向量機應用于藏文文本分類的研究中[7];王巖等提出了一種用果蠅優化算法獲取SVM參數的FOA-SVM分類方法[8]。

文獻分析結果顯示,樸素貝葉斯分類法在執行速度快、算法簡單、分類準確率高的情況下,其特點是特征項間的獨立。單一的假定會使分類的結果不理想?;贙NN的分類算法分類精度高、穩定性好,適合于分類領域的交叉和重疊的樣本集。然而在樣本不均衡、樣本容量大的情況下,樣本的分類誤差較大?;赟VM的文本分類算法具有參數少、速度快等優點,分類效果顯著,有效地減少高維空間問題的求解,并具有很好的泛化性能?;诖?,本文針對食物營養健康中文文本提出一種基于 SVM的文本分類方法。

通過對支持向量機的分析,得出了支持向量機分類時,核函數和處罰參數的好壞對分類準確率有很大的影響。因此,尋找最優核函數參數和懲罰參數是該方法應用于工程實踐的重點和難點。

為優化支持向量機的參數選擇,本文引進了業界最新提出的麻雀搜索算法(SSA),在此基礎上,提出了一種基于麻雀搜索算法的方法來優化SVM的核參數,進一步以支持向量機模型為基礎,設計了一種基于SSA-SVM的食物營養健康信息文本分類方法。通過與其他算法構建的分類器結果比較,證明了本文提出的方法是可行的。

1 相關原理

1.1 支持向量機SVM

SVM是一種常用的文本分類方法,該方法是以統計學為基礎,其數學模型定義為在特征空間上的間隔最大的線性分類器[10]。支持向量機的基本思想是通過構造最佳超平面來使不同樣本的隔離邊界達到平面間隔的最大,從而達到分類的目的。

假設給定一個數據樣本集為A={(x1,y1),(x2,y2),…,(xi,yi)},y∈{-1,1}},其中,xi表示特征向量集合,yi表示樣本類別。

對于線性分類問題,SVM構造的超平面可以通過如下分類函數表示:

[wtx+b=0]? ⑴

其中,w代表超平面的一個法向量;b為偏移向量。

目標函數為:

[minw22s.t.yiwTxi+b≥1,? ?i=1,2,…,n]? ⑵

通過拉格朗日對偶性變換,將文本分類的原始變量轉換為對偶變量,通過求解對偶問題進而得到原始問題的最優解。對偶問題更有利于問題的求解。變換后的最優分類函數如下:

[fx=signinaiyixi,x+b]? ⑶

其中,αi代表拉格朗日乘子。

對于非線性分類問題,在原始空間為有限維的前提下利用核函數總能找到一個高維特征空間,要對待分類的樣本特征向量從低維空間到高維空間的矢量映射,建立了一個超平面的文本計算分類,使原本的非線性分類問題轉化為線性分類問題。為了提高SVM的分類性能,在建模過程中引入松弛因子ξi,,構建軟間隔分類器。因此,凸二次規劃的對偶問題轉化為求二次優化問題:

[minω,δ=12ω2+Ci=1nδi]

[s.t.yiωφxi+b≥1-δi]? ? ? ?⑷

[δ≥0, i=1,2,…,n]

其中,C為懲罰因子。

為了簡化計算,通過加入拉格朗日乘子αi將式⑷轉化為式⑸求解,且0≤αi≤C。

[maxi=1nαi-12i=1nαiαjyiyjxi?xj]? ⑸

通過計算得到最優分類函數:

[fx=signi=1nαiyikxi,xj+b]? ⑹

其中,k(xi,xj)表示核函數。

1.2 麻雀搜索算法SSA

麻雀搜索算法SSA是薛建凱在2020年提出的一種基于麻雀種群的覓食行為和反捕食行為的新型群體智能優化算法[11]。

麻雀在捕食行為中分為發現者、加入者和警戒者三類,分別負責提供覓食方向、尋找食物來源和警戒。因此,SSA的實現思路是由發現者、加入者和警戒者在每代種群的位置更新,逐漸地發現能量最大的食物位置,也就是最優解。發現者、加入者和警戒者的位置更新分別按式⑺~式⑼進行。

發現者的位置更新模型如公式⑺所示。

[Xt+1i,j=Xti,j?exp-iα?itermaxR2

其中,α∈(0,1],t為迭代數;itermax代表最大的迭代次數;Xi,j表示第i個麻雀在第j維中的位置信息;R2和ST分別表示預警值和安全值;Q為服從正態分布的隨機數;L表示個1×d的矩陣。

加入者的位置更新模型如公式⑻所示。

[Xt+1i,j=Q?expXworst-Xti,ji2i>n/2Xt+1p+Xti,j-Xt+1p?A+?L? ?otherwise]? ⑻

其中,Xp,Xworst分別代表目前發現者所占據的最好位置和最差的位置;A代表一個1×d的矩陣,矩陣中每個元素隨機的分配為1或-1,且A+=AT(AAT)-1。當i>n/2時, i個適應度值較低的加入者沒有獲得食物,為了獲取更多食物能量,它們必須飛到其他地方尋找食物。

警戒者位置更新模型如公式⑼所示。

[Xt+1i,j=Xtbest+βXti,j-Xtbestfi>fgXti,j+KXti,j-Xtworstfi-fw+εfi=fg]? ⑼

其中,K∈[-1,1],Xbest代表當前全局最優位置;β為步長的控制參數;fi是目前麻雀個體的適應度值;fg、fw分別代表當前全局最優和最差的適應度值。在式⑼中增加最小的常數ε,以防止分母為零。

2 SVM用于營養健康信息提取的局限性分析

由相關原理可知,支持向量機有兩個主要參數C與γ。C表示懲罰因子,C值越高,則出現錯誤的容錯率越低,易于發生過度擬合;反之,C值越低,誤差容錯率越高,易于發生欠擬合。C值太高或太低都會導致模型的泛化能力下降。γ是選擇RBF函數選定kernel后的一個參數。隨著γ的增大,支持向量減少;相反,較低的γ代表更多的支持向量。支持向量的數量對訓練與預測的速度有很大的影響。同時,RBF的寬幅也會影響到支持向量對應的高斯作用范圍,從而影響其泛化性能。如果γ值過大則σ會很小,則會導致僅對支持向量樣本附近產生作用,而對未知樣本分類效果差;若γ太低,則會導致平滑效應過強,從而降低精確度。

從以上的分析可以看出,懲罰因子C和參數γ的選擇對于支持向量機的分類效果有很大影響。本文選擇科普輿情監測系統中獲得的營養健康信息中的中文文本作為本論文驗證數據集,其中包括兒童營養、免疫功能、冠心病、心血管疾病、科學膳食、糖尿病飲食、老年營養、營養價值、營養吸收、營養安全、食品營養成分、高血壓、高血脂癥共13類。在此基礎上,將樣本數據按照一定的比例劃分為訓練數據集和測試數據集,并針對RBF核中懲罰因子C和參數γ來檢驗支持向量機的分類效果。

當參數γ取值為1時,選取C的值為0.1和10,對SVM的分類準確率進行驗證。

由圖1實驗結果可以看出,對于營養健康的13類文本數據集參數取值對其性能影響較大,定點取值并不能夠全面概括驗證。所以,本文采取交叉驗證方法對SVM進行局限性分析。

圖2代表采用五折交叉驗證生成的SVM實驗結果。通過觀察可以發現,若γ的取值過大,支持向量的輻射范圍就極??;相反,若γ的取值過小,其輻射范圍將變得極大。對于較為適中的γ值,C取值較大或較小時具有類似良好的效果,因此,在同等工況下選擇相對小的C值更有利于節省內存和時間。

從實驗結果可知,在營養健康文本數據集下,懲罰因子和核函數參數的不同,SVM分類準確性相差較大。這表明,參數的取值大小會直接影響SVM模型的分類準確度,想要獲得最優的SVM文本分類模型,需要找到最優的參數組合。

3 SSA尋最優解的模型構建與實現

本文提出了基于麻雀搜索算法SSA的最優解實現過程,具體示意圖如圖3所示。

Step1 初始化SSA中的控制參數。設置麻雀種群的規模為20,麻雀種群最大迭代次數為100,上邊界與下邊界區間為[0.01,100],發現者、加入者、警戒者的比例為0.7、0.3、0.2。

Step2 將計算錯誤率設為適應度函數,錯誤率越小,則結果越優。計算適應度值,并排序。

Step3 利用式⑶更新發現者位置。

Step4 利用式⑷更新加入者位置。

Step5 利用式⑸更新警戒者位置。

Step6 計算出適應度值,并對麻雀的位置進行更新。

Step7 停止條件是否滿足,滿足時退出,輸出的最優結果是兩個參數的最優解;若未滿足則重復Step2~Step6。

為了檢驗SSA算法的優化性能,本文采用了UCI標準數據集和搜狗實驗室5種文本數據集,進行模擬訓練和驗證,驗證算法本身的可行性,再對營養健康文本數據進行分析。

兩個標準數據集樣本數分別為400、178。將本文提出的麻雀搜索算法優化SVM方法(SSA-SVM)與基礎SVM進行對比驗證,SSA分別得到兩組數據的最優參數為[8.0691,0.0312]、[1.3360,1.6003]。由表1可知,SSA-SVM方法在wine數據集中準確率可達到100%,證明SSA具有良好的全局搜索能力。

選取搜狗實驗室財經、健康、教育、旅游、文化共5類1500個文本數據集,分別采用SVM、SSA-SVM、K-鄰近算法(K-Nearest Neighbor)、樸素貝葉斯(Naive Bayesian)四種分類算法進行實驗研究。實驗結果如表2,SSA-SVM準確率達到92.9%,最優參數為[69.3802,0.0100]明顯高于其他幾種分類方法。SSA能搜索到理想的最優參數,使本文提出的方法在文本分類中得到較為理想的分類性能。

4 基于SSA-SVM的營養健康文本信息分類與應用

本節構建了基于麻雀搜索算法優化支持向量機的方法(SSA-SVM),用于營養健康文本數據的分類,其實現過程如圖4所示。

以下為基于SSA-SVM的歸于營養健康文本分類具體實現步驟。

Step1 建立食物營養健康主題相關文本數據集,通過建設的科普輿情系統爬取相關文本。

Step2 在文本數據中,采用了去停用詞、分詞、特征選擇和權重計算等方法。

Step3 選取訓練集和測試集。按照8:2比例將數據劃分為兩部分,一部分為訓練集,另一部分為測試集。

Step4 對SVM和SSA中的控制參數做初始化,包括麻雀種群規模、最大迭代次數、發現者、加入者和警戒者比例。

Step5 對訓練文本數據進行分類,將分類錯誤率設為適應度函數值,錯誤率越小,則結果越優。

Step6 所有麻雀種群進行位置更新排序。

Step7 判斷滿足條件,滿足條件則輸出尋找的最優結果為最高準確率值,和兩個參數的最優值,建立SSA優化的SVM食物營養文本分類算法。

本文選擇科普輿情監測系統中獲得的營養健康中文文本數據作為驗證數據集,選取13類文本作為測試樣本。為了展示SSA-SVM分類模型與其他幾種常用文本分類算法的分類性能對比,我們給出表3。

從表2、表3可以看出,不同數據集對分類性能有較大的影響,同時也體現出食物營養健康相關的文本具有較強的專業性。圖5更能直觀的說明在食物營養健康的13類文本中,SSA-SVM分類模型在每種類別中分類效果相對平穩,僅在營養價值與營養吸收兩類中準確率偏低,剩余類別的準確率均高于其他算法。相比常見的幾種算法,在整體的分類中,SSA-SVM分類模型各項評估指標明顯高于其他算法,經過SSA尋得最優參數[68.8512,0.0100],準確率為83.8%,比基礎的SVM準確率提高近13%,SSA-SVM分類模型體現出較強的泛化能力。

5 結束語

本研究以主題爬蟲搜集的中文文本數據為數據源,提出了基于SSA優化SVM參數的方法,通過構建分類模型,用于篩選出食物營養健康領域的科普文本信息,并與文本分類中常用的機器學習模型如樸素貝葉斯、K-鄰近算法等進行對比分析。

實驗結果表明,SSA具有穩定的全局尋優性能,能有效解決SVM尋找最優參數問題。與其他分類方法相比,SSA-SVM模型具有分類準確率高、泛化能力強等優點,表現出更好的分類效果。

參考文獻(References):

[1] Vinod Kumar Chauhan,Kalpana Dahiya,Anuj Sharma.

Problem formulations and solvers in linear SVM: a review[J]. Artificial Intelligence Review,2019,52(2)

[2] 邱寧佳,賀金彪,薛麗嬌,等.融合語義特征的加權樸素貝葉斯

分類算法[J].計算機工程與設計,2020,41(9):2523-2529

[3] 黃超,陳軍華.基于改進K最近鄰算法的中文文本分類[J].上

海師范大學學報(自然科學版),2019,48(1):96-101

[4] 段友祥,張曉天.基于主動學習的SVM評論內容分類算法的

研究[J].計算機與數字工程,2022,50(3):608-612

[5] 葛曉偉,李凱霞,程銘.基于CNN-SVM的護理不良事件文本

分類研究[J].計算機工程與科學,2020,42(1):161-166

[6] 郭超磊,陳軍華.基于SA-SVM的中文文本分類研究[J].

計算機應用與軟件,2019,36(3):277-281

[7] 賈宏云,群諾,蘇慧婧,等.基于SVM藏文文本分類的研究與

實現[J].電子技術與軟件工程,2018(9):144-146

[8] 王巖,張波,薛博.基于FOA-SVM的中文文本分類方法研究[J].

四川大學學報(自然科學版),2016,53(4):759-763

[9] 王楊,許閃閃,李昌,等.基于支持向量機的中文極短文本分類

模型[J].計算機應用研究,2020,37(2):347-350

[10] 于敏.基于機器學習的文本分類方法研究[D].碩士,江南

大學,2021

[11] 薛建凱.一種新型的群智能優化技術的研究與應用[D].

碩士,東華大學,2020

猜你喜歡
文本分類支持向量機
基于組合分類算法的源代碼注釋質量評估方法
基于改進支持向量機的船舶縱搖預報模型
基于貝葉斯分類器的中文文本分類
基于SVM的煙草銷售量預測
動態場景中的視覺目標識別方法分析
論提高裝備故障預測準確度的方法途徑
基于熵技術的公共事業費最優組合預測
基于蟻群智能算法的研究文本分類
基于樸素貝葉斯分類的Java課程網絡答疑反饋系統
基于K—means算法的文本分類技術研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合