摘 要:本文針對人工分類論文準(zhǔn)確性、一致性較低,并且時間、精力耗費(fèi)較大等問題,提出一種基于樸素貝葉斯分類器的中文論文自動分類算法。該算法根據(jù)TF-IDF值,從論文的標(biāo)題、關(guān)鍵詞、摘要和刊名中提取特征詞,構(gòu)建論文特征詞向量,將其作為樸素貝葉斯分類器的分類依據(jù)。并假設(shè)論文特征相互獨立,降低了算法復(fù)雜度和模型訓(xùn)練難度,能夠獲得較高的分類正確率。試驗結(jié)果表明,該算法的分類正確率在83%以上,具有較高的準(zhǔn)確性和一致性,能夠有效輔助人工進(jìn)行論文分類工作。
關(guān)鍵詞:樸素貝葉斯分類器;期刊分類;自動分類
中圖分類號:TP 182 " " 文獻(xiàn)標(biāo)志碼:A
分類是使信息有序化的基本方法,也是圖書館工作的重要內(nèi)容之一,圖書館工作人員需要投入大量時間和精力為新采購的圖書和期刊指派分類號。我國制定的《中國圖書館分類法》包括約5.4萬個分類號,如果考慮復(fù)分,那么分類號會進(jìn)一步增加。龐大的分類體系給圖書館工作人員帶來了巨大挑戰(zhàn)[1]。尤其是在目前科學(xué)技術(shù)迅猛發(fā)展的背景下,科研人員每年產(chǎn)出大量論文,為這些論文指定準(zhǔn)確的分類號,既是一項基于圖書館專業(yè)知識的腦力勞動,也是一項消耗圖書館工作人員時間和精力的“體力”勞動。
因此本文提出基于樸素貝葉斯分類器的中文論文分類算法。該算法能夠利用歷史分類數(shù)據(jù)訓(xùn)練算法參數(shù),并以較高正確率對論文自動分類。該算法假設(shè)論文特征間相互獨立,具有計算復(fù)雜度低、操作簡單和性能較好等優(yōu)勢。
1 樸素貝葉斯分類器原理
貝葉斯分類的原理是利用貝葉斯公式計算實例所屬類別的概率,將具有最大概率的類作為該實例所屬類。假設(shè)實例X具有m個屬性,構(gòu)成屬性集{x1,x2,...,xm},該實例有可能屬于n個類別,構(gòu)成類別集{C1,C2,...,Cn}。逐一計算實例A屬于每個類別的條件概率,如公式(1)所示。
(1)
進(jìn)而選出條件概率最大的類別,將其作為實例X的所屬類別。條件概率計算分母P(X)為常量,在不影響最大條件概率計算結(jié)果的情況下,可簡化不予計算。簡化后的貝葉斯分類器計算公式為C(X)=P(Ci)P(X|Ci)。
通常情況下,實例X的m個屬性在特定類別Ci中出現(xiàn)的概率是相關(guān)的,這將導(dǎo)致條件概率P(X|Ci)的計算復(fù)雜度較高,甚至統(tǒng)計樣本不足,無法直接計算。因此,本文假設(shè)m個屬性在特定類別Ci中出現(xiàn)的概率相互獨立,P(X|Ci)的計算將簡化為∏m j=1P(xj|Ci)。該假設(shè)被稱為樸素貝葉斯假設(shè),基于該假設(shè)進(jìn)行的貝葉斯分類器設(shè)計被稱為樸素貝葉斯分類[2]。樸素貝葉斯分類器的計算公為C(X)=P(Ci)∏m j=1P(xj|Ci)。
樸素貝葉斯分類器的運(yùn)用包括訓(xùn)練和分類2個階段。訓(xùn)練階段主要根據(jù)已有分類數(shù)據(jù),估計任一實例X被分類到類別Ci的先驗概率P(Ci)和任一屬性xi出現(xiàn)在類別Ci的條件概率。可以根據(jù)極大似然估計法,并利用實例和屬性出現(xiàn)的頻率估計上述概率參數(shù)。樸素貝葉斯分類器算法邏輯簡單、易于實現(xiàn),分類過程中時間、空間開銷較小,并且算法性能穩(wěn)定,對于不同的數(shù)據(jù)特點,其分類性能差別不大,具有較好的魯棒性,目前已廣泛應(yīng)用于各類分類任務(wù)中[3]。
2 基于樸素貝葉斯分類器的中文論文自動分類算法
根據(jù)樸素貝葉斯分類器原理設(shè)計的中文論文分類算法如圖1所示,該算法分為模型訓(xùn)練和分類2個階段。模型訓(xùn)練階段主要根據(jù)已分類數(shù)據(jù),利用極大似然估計法估計樸素貝葉斯分類器的先驗概率和條件概率參數(shù)。分類階段根據(jù)分類實例的特征詞向量,計算該實例屬于各類別的條件概率,將條件概率最大的類別作為該實例所屬分類。該算法的關(guān)鍵之處是從論文的元數(shù)據(jù)中提取特征詞,構(gòu)建表征論文特征的特征詞向量。
2.1 特征詞提取
特征詞是將文獻(xiàn)進(jìn)行分類的依據(jù),最典型的特征詞是關(guān)鍵詞。在自動分類中,特征詞將不再局限于關(guān)鍵詞,一切與文獻(xiàn)分類相關(guān)的詞匯均可以作為特征詞。本算法將論文的標(biāo)題、關(guān)鍵詞、摘要和刊名作為特征詞來源。關(guān)鍵詞和刊名是獨立的意義單位,無須分詞,可以直接作為表征論文內(nèi)容屬性的特征詞。標(biāo)題和摘要的句子較長,無法直接作為特征詞。本算法使用結(jié)巴分詞工具,在全模式下[4]對標(biāo)題和摘要進(jìn)行分詞,將分詞后的詞匯表作為表征論文內(nèi)容屬性的特征詞來源。分詞后的詞匯表包括介詞、助詞等不能表征論文內(nèi)容屬性的詞匯,不同詞匯在分類過程中輔助分類的能力也存在差異。本算法將詞頻-逆文檔頻率(term frequency–inverse document frequency,TF-IDF)值作為表征詞匯分類能力的度量工具,提取TF-IDF值排名靠前的詞匯作為論文特征詞。
2.2 模型訓(xùn)練
模型訓(xùn)練過程是根據(jù)已有分類數(shù)據(jù)估計樸素貝葉斯分類器先驗概率和條件概率的過程。假設(shè)已分類論文集為D,從論文集中提取m個特征詞x1,x2,...,xm,將論文分為n類,分別為C1,C2,...,Cn。先驗概率的計算方法如公式(2)所示,各特征詞的條件概率計算方法如公式(3)所示。
(2)
式中:DCj為數(shù)據(jù)集D中分類為Cj的論文數(shù)量;|D |為論文集中的論文總量。
(3)
式中:Dij為包括特征詞xi并被分類為類別Cj 的論文數(shù)量。
在訓(xùn)練過程中,Dij的值可能為0,這將導(dǎo)致條件概率的計算結(jié)果為0,不利于分類。本文采用“拉普拉斯修正”進(jìn)行平滑處理,將分子加1,即假設(shè)任一特征詞xi在任一類別中均出現(xiàn)過1次,即將分子由Dij變?yōu)镈ij+1,將分母加上論文總數(shù),即由DCj變?yōu)镈Cj+|D |,變換后的條件概率計算方法如公式(4)所示。
(4)
進(jìn)而根據(jù)已分類論文集計算特征詞的TF-IDF值,將其作為從標(biāo)題和摘要的分詞詞匯集合中提取有效特征詞的依據(jù)。采用文獻(xiàn)[4]中的TF-IDF權(quán)重計算方法,分別計算標(biāo)題和摘要特征詞的TF-IDF值,如公式(5)所示。
(5)
式中:fij為特征詞xi在某篇論文標(biāo)題或摘要分詞結(jié)果中出現(xiàn)的頻率;ni為整個論文集中,標(biāo)題或摘要包括該特征詞的論文總數(shù)。
2.3 論文分類
論文分類包括2步(如圖1所示)。1)對標(biāo)題和摘要進(jìn)行分詞,并根據(jù)詞匯的TF-IDF值提取特征詞,形成表征論文內(nèi)容屬性的特征詞向量。2)根據(jù)模型訓(xùn)練環(huán)節(jié)所得參數(shù),計算最大條件概率,計算方法如公式(6)所示,其中p(Cj )根據(jù)公式(2)計算得出;log2p(xi|Cj )為估計的條件概率,根據(jù)公式(3)計算得出。
(6)
式中:p(Cj )為估計的先驗概率;log2p(xi|Cj )為估計的條件概率。
由于條件概率數(shù)值較小,連續(xù)乘法會導(dǎo)致計算機(jī)下界溢出,因此將條件概率取對數(shù),將乘法運(yùn)算轉(zhuǎn)換為加法運(yùn)算,避免發(fā)生上述情況。該優(yōu)化計算方法所得分類結(jié)果與原始計算方法所得分類結(jié)果相同。
3 試驗結(jié)果
3.1 試驗設(shè)計
在中國知網(wǎng)上利用網(wǎng)絡(luò)爬蟲隨機(jī)采集757268篇期刊論文元數(shù)據(jù),以驗證分類器性能,元數(shù)據(jù)包括標(biāo)題、關(guān)鍵詞、摘要、刊名和分類號5個字段。試驗數(shù)據(jù)將分類號字段按照字母和數(shù)字排序,排序后,類號相同的論文相鄰。根據(jù)排序號的個位數(shù),將數(shù)據(jù)集分為10份,每份數(shù)據(jù)為總體數(shù)據(jù)中的一個樣本,并且每份數(shù)據(jù)的分類號占比基本相同。試驗中隨機(jī)選取9份作為訓(xùn)練數(shù)據(jù),1份作為測試數(shù)據(jù),將《中國圖書館分類法》第1個層級22個大類作為分類目標(biāo)。
在訓(xùn)練階段,根據(jù)訓(xùn)練數(shù)據(jù)集計算模型參數(shù)。在測試階段,根據(jù)模型參數(shù)計算論文所屬分類,并將分類結(jié)果與知網(wǎng)上的分類結(jié)果進(jìn)行比較,將比較結(jié)果相同的論文數(shù)量與測試論文數(shù)量的比值,即分類正確率作為評估分類器性能的指標(biāo)。
特征詞向量的設(shè)計是影響論文分類正確率的關(guān)鍵因素。本文試驗從單字段中選取特征詞,分析特征詞數(shù)量對分類正確率的影響,進(jìn)而選取最優(yōu)特征詞數(shù)量,分析多字段特征組合情況下的論文分類正確率。
3.2 基于單字段特征的自動分類
每篇論文元數(shù)據(jù)包括4個字段,其中刊名字段只提供1個特征詞,無須考慮特征詞數(shù)量對分類器性能的影響。篇名、摘要和關(guān)鍵詞能夠提供1個以上的特征詞,需要分析特征詞數(shù)量對分類器性能的影響。僅以刊名作為特征詞對論文進(jìn)行分類,分類正確率高達(dá)73.5%,說明期刊本身具有較強(qiáng)的分類特征,原因是一份刊物通常集中發(fā)表特定學(xué)科、特定領(lǐng)域的論文,該類論文通常歸屬于《中國圖書館分類法》的某一類。
特征詞數(shù)量越多,提供給分類器的信息就越多,分類正確率也就越高。將論文的特征詞數(shù)量從1開始遞增,分別計算每個特征詞數(shù)量條件下的模型參數(shù)和預(yù)測正確率,形成不同特征詞數(shù)量條件下的論文分類正確率曲線,如圖2所示??傮w來看,從摘要中提取特征詞進(jìn)行分類的正確率最高,從關(guān)鍵詞中提取特征詞的分類正確率最低。導(dǎo)致該差異的原因是摘要包括的特征詞數(shù)量大于題名,題名中包括的特征詞數(shù)量大于摘要,表征論文內(nèi)容特征的特征詞更多,將有利于提升分類器的分類正確率,但是并不絕對。
分析從摘要中提取特征詞的分類正確率曲線可知,在特征詞數(shù)量從1增至10的階段,分類正確率隨特征詞數(shù)量增加而增加,但是當(dāng)特征詞數(shù)量超過10個以后,分類正確率隨著特征詞數(shù)量的增加而迅速降低。其原因是摘要中包括大量介詞、助詞等不能表征論文內(nèi)容特征的詞匯。將這些詞匯作為論文特征詞,將無法提升分類正確率。從標(biāo)題中提取特征詞的分類正確率趨勢與之相似,但是由于標(biāo)題的總長度有限,能夠提供的詞匯有限,因此在特征詞數(shù)量超過13個以后,分類正確率不再下降。
將關(guān)鍵詞作為特征詞來源,分類正確率會隨特征詞數(shù)量的增加而迅速增加,但是在特征詞數(shù)量超過5個以后,分類正確率的變化幾乎是直線,其原因是論文的關(guān)鍵詞數(shù)量通常為3~5個,即便將特征詞數(shù)量增加為5個以上,也無法從關(guān)鍵詞字段中提取到更多的關(guān)鍵詞。
由上述分析可知,表征論文內(nèi)容特征的高質(zhì)量特征詞數(shù)量是影響分類正確率的關(guān)鍵因素。在實際中,如果論文元數(shù)據(jù)數(shù)量較少,那么可以通過以下2種途徑補(bǔ)充論文高質(zhì)量特征詞數(shù)量。一種是從論文的內(nèi)容中直接提取高質(zhì)量特征詞,另一種是引入百科數(shù)據(jù)等額外數(shù)據(jù)源[5],從中提取高質(zhì)量特征詞。
3.3 基于字段特征組合的自動分類
組合4個字段來源的特征詞將有助于提升分類正確率。將表征論文內(nèi)容屬性的特征詞數(shù)量設(shè)定為10個,驗證不同字段組合情況下的分類正確率,如圖3所示。由圖3可知,使用的來源字段越多,分類正確率越高。使用1個字段作為特征詞來源的分類正確率約為73%,摘要的分類正確率略高,為76.6%。使用2個字段作為特征詞來源的分類正確率的差異較大,將標(biāo)題和刊名作為特征詞來源的分類正確率最高,為82.4%;使用標(biāo)題和關(guān)鍵詞作為特征詞來源的分類正確率最低,為78.2%。其原因是標(biāo)題和刊名間的信息相關(guān)度較低,組合能夠提供更豐富的信息;標(biāo)題和關(guān)鍵詞間的信息相關(guān)度較高,甚至有大量重合現(xiàn)象,組合能夠提供的信息量較少。使用3個字段作為特征詞來源的分類正確率顯著高于使用2個字段的分類器,但是將4個字段作為特征詞來源時,分類正確率的增加幅度并不顯著。
4 結(jié)論
本文提出了一種基于樸素貝葉斯分類器的中文論文分類算法。該算法假設(shè)論文特征相互獨立,降低了算法復(fù)雜度和模型訓(xùn)練難度,能夠獲得較高的分類正確率。試驗過程中討論了特征詞數(shù)量設(shè)定對分類正確率的影響和組合不同字段來源特征詞對分類正確率的影響。試驗結(jié)果證明,增加能夠表征特征詞內(nèi)容屬性的高質(zhì)量特征詞數(shù)量是提升分類算法正確率的關(guān)鍵,低質(zhì)量的特征詞反而會降低分類正確率。在實踐中,可以從論文內(nèi)容或者百科數(shù)據(jù)等額外數(shù)據(jù)中豐富特征詞數(shù)量。本文算法的分類正確率為83%,能夠有效輔助圖書館工作人員進(jìn)行高效分類工作。
參考文獻(xiàn)
[1]高斌,馬菊紅,顧婷.基于語義的多層式圖書自動分類實證研究[J].圖書館學(xué)研究,2024(8):62-76.
[2]蔣良孝.樸素貝葉斯分類器及其改進(jìn)算法研究[D].武漢:中國地質(zhì)大學(xué),2009.
[3]陳曉姍,張國華.基于樸素貝葉斯的大數(shù)據(jù)模糊隨機(jī)挖掘仿真[J].計算機(jī)仿真,2023,40(11):428-432.
[4]曾小芹.基于Python的中文結(jié)巴分詞技術(shù)實現(xiàn)[J].信息與電腦(理論版),2019,31(18):38-39,42.
[5]鄒鼎杰.基于知識圖譜和貝葉斯分類器的圖書分類[J].計算機(jī)工程與設(shè)計,2020,41(6):1796-1801.