肖自乾 陳經(jīng)優(yōu) 符天
摘要:在信息數(shù)據(jù)爆炸式增長的今天,各類信息如潮水般呈現(xiàn)在人們面前,利用文本分類技術(shù)可以高效、準(zhǔn)確地找到人們需要的有關(guān)分類信息,為進一步開展數(shù)據(jù)挖掘和分析奠定基礎(chǔ)。文章的標(biāo)題、摘要是內(nèi)容的高度概括,針對這些短文本進行分類則成為自動文本分類的研究方向。基于互聯(lián)網(wǎng)信息平臺各類信息數(shù)據(jù),文章分別采用Bow和TF-IDF等技術(shù)方法進行文本向量化,構(gòu)建多項式樸素貝葉斯模型對訓(xùn)練集數(shù)據(jù)進行訓(xùn)練,并對比研究測試集預(yù)測結(jié)果,實現(xiàn)短文本自動文本分類,為實現(xiàn)快速獲取某類信息熱點提供參考。
關(guān)鍵詞:Bow;TF-IDF;樸素貝葉斯;文本分類;網(wǎng)格搜索
中圖分類號:TP393? ? ? ? 文獻標(biāo)識碼:A
文章編號:1009-3044(2022)27-0061-03
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
1 引言
隨著信息技術(shù)迅速發(fā)展和大數(shù)據(jù)時代的到來,各類新聞、咨詢的數(shù)據(jù)也在急速增長。根據(jù)我國工業(yè)和信息化部有關(guān)互聯(lián)網(wǎng)數(shù)據(jù)統(tǒng)計顯示,2021年1-10月社交通訊類、生活服務(wù)類、新聞閱讀類應(yīng)用下載量分別達2545億次、1870億次、1566億次[1]。由此可見,面對海量的數(shù)據(jù),如何將這些信息根據(jù)用戶需求進行高效、準(zhǔn)確分類并推送給用戶顯得尤為重要。本文采集各大互聯(lián)網(wǎng)平臺熱點新聞咨詢作為訓(xùn)練數(shù)據(jù)集,并對其進行數(shù)據(jù)預(yù)處理,分別選擇Bow和TF-IDF等文本向量化技術(shù)提取文本特征,應(yīng)用樸素貝葉斯分類算法進行文本分類,在此基礎(chǔ)上對分類模型進行優(yōu)化,提高了文本分類準(zhǔn)確率。
2 文本向量化
2.1 文本預(yù)處理
在英文文本處理中將句子分割為單詞比較容易,而中文則不那么容易,需要進行分詞處理。本文使用jieba庫進行中文分詞,它是一款非常流行中文開源分詞包,具有高性能、準(zhǔn)確率、可擴展性等特點,提供三種分詞模式,即精確模式、全模式以及搜索引擎模式。jieba分詞結(jié)合基于規(guī)則和基于統(tǒng)計兩類方法:首先基于前綴詞典進行詞圖掃描,可以快速構(gòu)建包含全部可能分詞結(jié)果的有向無環(huán)圖,這個圖包含多條分詞路徑,有向是指全部的路徑都始于第一個字、止于最后一個字,無環(huán)是指節(jié)點之間不構(gòu)成閉環(huán)。其次,基于標(biāo)注語料、使用動態(tài)規(guī)劃的方法可以找出最大概率路徑,并將其作為最終的分詞結(jié)果。對于未登錄詞,則使用了基于漢字成詞的HMM模型,采用了Viterbi算法進行推導(dǎo)[2]。
2.2 文本特征提取
在本文研究中主要使用Bow和TF-IDF兩種文本向量化方法。Bow也稱之為詞袋模型,最初被用在信息檢索領(lǐng)域,是自然語言處理和信息檢索下被簡化的表達模型,對于一篇文檔來說,假定不考慮文檔內(nèi)的詞的順序關(guān)系和語法,只考慮該文檔是否出現(xiàn)過這個單詞。在實際操作中將文本中的詞語轉(zhuǎn)換為詞頻矩陣,并計算各個詞語出現(xiàn)的次數(shù)。該方法的缺陷主要在于:隨著新詞的出現(xiàn)詞匯量便會隨之增加,因此向量的長度也會增加;容易產(chǎn)生稀疏矩陣;沒有保留任何關(guān)于句子語法和文本中單詞順序的信息。
TF-IDF是一種統(tǒng)計方法,用以評估一個字詞對于一個文件集或一個語料庫中的其中一份文件的重要程度。字詞的重要性隨著它在文件中出現(xiàn)的次數(shù)成正比增加,但同時會隨著它在語料庫中出現(xiàn)的頻率成反比下降。TF,即詞頻,表示詞條在文本中出現(xiàn)的頻率,這個數(shù)字通常會被歸一化, 以防止它偏向長的文件[3]。TF用公式表示如下:
[TFi,j=ni,jknk,j]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)
其中,[ni,j]表示詞條 [ti] 在文檔 [dj]中出現(xiàn)的次數(shù),[TFi,j]就是表示詞條[ti]在文檔 [dj]中出現(xiàn)的頻率。
在通常情況下,一些通用的詞語對于主題并沒有太大的作用,反倒是一些出現(xiàn)頻率較少的詞才能夠表達文章的主題,所以只考慮TF是不合適的。在權(quán)重的設(shè)計必須是一個詞如果它預(yù)測主題的能力越強,權(quán)重則越大,反之,權(quán)重則越小。IDF表示關(guān)鍵詞的普遍程度。如果包含詞條[i]的文檔越少,IDF越大,則說明該詞條具有很好的類別區(qū)分能力。某一特定詞語的IDF,可以由總文件數(shù)目除以包含該詞語之文件的數(shù)目的商取對數(shù)得到:
[IDFi=logD1+j : ti ∈dj]? ? ? ? ? ? ? ? ? ?(2)
其中,[|D|]表示所有文檔的數(shù)量,[|j : ti ∈dj|]表示包含詞條[ti ]的文檔數(shù)量,這里要加 1主要是防止包含詞條[ti ]的數(shù)量為 0 從而導(dǎo)致分母為零導(dǎo)致運算出錯的現(xiàn)象發(fā)生。
某一特定文件內(nèi)的高詞語頻率,以及該詞語在整個文件集合中的低文件頻率,可以產(chǎn)生出高權(quán)重的TF-IDF。因此,TF-IDF傾向于過濾掉常見的詞語,保留重要的詞語,表達為:
[TF-IDF=TF?IDF]? ? ? ? ? ? ? ? ? ? ? (3)
綜上所述,詞袋模型只考慮每種詞匯在該訓(xùn)練文本中出現(xiàn)的頻率,而TF-IDF除了考量某一詞匯在當(dāng)前訓(xùn)練文本中出現(xiàn)的頻率之外,同時關(guān)注包含這個詞匯的其他訓(xùn)練文本數(shù)目的倒數(shù)。相比之下,訓(xùn)練文本的數(shù)量越多,TF-IDF這種特征量化方式就更有優(yōu)勢。
3 多項式樸素貝葉斯算法
3.1樸素貝葉斯算法
樸素貝葉斯算法是一種基于數(shù)學(xué)理念的分類算法[4]。“樸素”是一種帶有假設(shè)的限定條件,“貝葉斯”則指的是貝葉斯公式。樸素貝葉斯算法利用后驗概率進行預(yù)測,核心方法是通過似然度預(yù)測后驗概率,而學(xué)習(xí)的過程就是不斷提高似然度的過程,其數(shù)學(xué)公式如下:
[Py|x1,…,xn=P(y)i=1nP(xi|y)P(x1,…,xn)]? ? ? ? ? ? ? (4)
基于樸素貝葉斯算法學(xué)習(xí)過程,它不再需要驅(qū)動迭代逼近過程的假設(shè)函數(shù)和損失函數(shù)。通過比較不同特征與類之間的似然關(guān)系,最后把似然度最大的那個類作為預(yù)測結(jié)果。數(shù)學(xué)表達式如下:
[y=argmaxyP(y)i=1nP(xi|y)]? ? ? ? ? ? ? (5)
樸素貝葉斯分類算法具體步驟:
1)統(tǒng)計樣本數(shù)據(jù)。需要統(tǒng)計先驗概率[P(y)]和似然度[P(x|y)];
2)根據(jù)待預(yù)測樣本所含的特征,對不同類分別進行后驗概率計算;
3)比較[y1,...,yn]的后驗概率,哪個的概率值最大就將其作為預(yù)測值輸出。
3.2多項式樸素貝葉斯
多項式樸素貝葉斯算法是文本分類中使用的兩種經(jīng)典的樸素貝葉斯變體之一[5],這個分布的每個類別[y]的參數(shù)向量為[θy=(θy1,...,θyn)],其中[n]是特征數(shù)量(在文本分類中是詞典大小),[θyi]是特征[i]在類別[y]的一個樣本中出現(xiàn)的概率[P(xi∣y)]。參數(shù)[θy]由最大似然的平滑版本來估計,即相對頻率計數(shù):
[θyi=Nyi+αNy+αn]
其中[Nyi=x∈Txi]是訓(xùn)練集[T]上特征[i]在類別[y]的一個樣本中出現(xiàn)的次數(shù)。[Ny=i=1nNyi]是類[y]的所有特征的總數(shù)。平滑先驗α≥0讓學(xué)習(xí)樣本中不存在的特征占一定的比例,并防止在進一步的計算中出現(xiàn)零概率。α=1時為拉普拉斯平滑,α<1時為李德斯通平滑。
4 分類模型構(gòu)建及評價
4.1 數(shù)據(jù)集
從各大互聯(lián)網(wǎng)平臺收集“財經(jīng)”“體育”“健康”“娛樂”四類新聞標(biāo)題構(gòu)成數(shù)據(jù)集,并進行分類標(biāo)注,最終整理數(shù)據(jù)集共20000條,平均每類數(shù)據(jù)5000條,隨機選取20%作為測試數(shù)據(jù)集。
4.2 模型構(gòu)建及預(yù)測
在此分別應(yīng)用Bow和TF-IDF方法進行文本向量化并進行對比,同時引入停用詞,用于去掉一些沒有意義的符號、詞語等。初步設(shè)定忽略詞出現(xiàn)的次數(shù)與語料庫文檔數(shù)的百分比達到50%的那些詞。訓(xùn)練模型選擇多項式樸素貝葉斯算法,設(shè)定平滑參數(shù)[α]為0.5,其他參數(shù)均使用默認(rèn)值。分別使用各分類500條、1000條、2000條、4000條進行訓(xùn)練,預(yù)測數(shù)據(jù)為各分類1000條。預(yù)測結(jié)果見表1。
在表1中,precision表示正確預(yù)測為正的,占全部預(yù)測為正的比例;Recall表示正確預(yù)測為正的,占全部實際為正的比例;f1-score表示精確率和召回率的調(diào)和平均數(shù)。從表1中可以看出,在文檔數(shù)越多的情況下,用TF-IDF進行向量化比用Bow表現(xiàn)更好。
4.3模型優(yōu)化
網(wǎng)格搜索是最簡單、應(yīng)用最廣泛的超參數(shù)搜索算法之一,它通過查找搜索范圍內(nèi)的所有的參數(shù)值確定最優(yōu)值[6]。當(dāng)采用較小的步長產(chǎn)生所有參數(shù)值時,網(wǎng)格搜索很大概率找到全局最優(yōu)值,但是這樣將消耗較多的計算資源和時間。因此在實際應(yīng)用過程中,一般會先找到全局最優(yōu)值可能的位置;然后再進一步縮小搜索范圍來尋找更精確的最優(yōu)值,由于目標(biāo)函數(shù)的原因,此處的最優(yōu)值是局部最優(yōu),并不一定達到全局最優(yōu)。以上建立模型中[α]初始設(shè)定為0.5,并不一定是最優(yōu)值。這里采用網(wǎng)格搜索方法對其進行參數(shù)優(yōu)化,在[0,1]區(qū)間以0.05為步長,可以找到參數(shù)范圍內(nèi)精度最高的參數(shù)[α]為0.1,因此再一次縮小搜索范圍,最終找到最優(yōu)參數(shù)[α]為0.067。同時我們將原來單個詞語作為特征擴展為可包含1~2個詞組成的詞組作為特征。優(yōu)化后預(yù)測結(jié)果見表2。
通過表2可以看出,通過參數(shù)的搜索,根據(jù)找到的最優(yōu)參數(shù)[α]可以進一步提高文本信息預(yù)測精度。最優(yōu)分類統(tǒng)計報告見表3:
在表3中,support列中1000表示各分類測試數(shù)據(jù)量,4000為各分類測試數(shù)據(jù)量總和。從預(yù)測結(jié)果可以看出通過參數(shù)優(yōu)化后,accuracy進一步提高到95.125%,分類效果有一定提升。
5 結(jié)語
本文重點圍繞自動文本分類開展研究。使用不同的文本向量化方法建立文本特征模型,在樸素貝葉斯算法基礎(chǔ)上進一步應(yīng)用多項式樸素貝葉斯算法構(gòu)建訓(xùn)練模型,對不同文本向量化方法得到的預(yù)測結(jié)果進行對比研究,最后采用網(wǎng)格優(yōu)化等方式進行優(yōu)化,較好地提高文本分類的高效性和準(zhǔn)確性。
參考文獻:
[1] 2021年1-10月份互聯(lián)網(wǎng)和相關(guān)服務(wù)業(yè)運行情況.[EB/OL].[2021-12-20]. https://www.miit.gov.cn/gxsj/tjfx/hlw/index.html.
[2] 石鳳貴.基于jieba中文分詞的中文文本語料預(yù)處理模塊實現(xiàn)[J].電腦知識與技術(shù),2020,16(14):248-251,257.
[3] 許麗,焦博,趙章瑞.基于TF-IDF的加權(quán)樸素貝葉斯新聞文本分類算法[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2021(11):31-33.
[4] 莫凡.機器學(xué)習(xí)算法的數(shù)學(xué)解析與Python實現(xiàn)[M].北京:機械工業(yè)出版社,2020.
[5] scikit-learn, Naive Bayes. [EB/OL].[2021-12-20].https://scik it-learn.org/dev/modules/naive_bayes.html.
[6] 丁輝.基于網(wǎng)格優(yōu)化模型的支持向量機企業(yè)信用評級應(yīng)用研究[J].金融科技時代,2021,29(10):63-66.
【通聯(lián)編輯:王力】