楊亞 易遠(yuǎn)弘



摘要:[目的/意義]針對(duì)用戶(hù)在圖書(shū)館海量數(shù)字資源中常常面臨獲取信息困難的問(wèn)題,構(gòu)建一套個(gè)性化知識(shí)服務(wù)系統(tǒng),認(rèn)為該系統(tǒng)是圖書(shū)館幫助用戶(hù)擺脫信息超載困境和提升知識(shí)服務(wù)質(zhì)量的必然選擇。[方法/過(guò)程]通過(guò)建立中圖法和學(xué)科分類(lèi)法兩大知識(shí)組織體系的映射模型,基于Hadoop分布式處理平臺(tái),提出一種改進(jìn)TF-IDF+貝葉斯算法構(gòu)建圖書(shū)館海量學(xué)術(shù)資源自動(dòng)分類(lèi)模型,輔助完善圖書(shū)館個(gè)性化知識(shí)服務(wù)系統(tǒng)的構(gòu)建。[結(jié)果/結(jié)論]以自中國(guó)知網(wǎng)抓取的600萬(wàn)余篇文獻(xiàn)作為原始訓(xùn)練語(yǔ)料(語(yǔ)料涵蓋75個(gè)學(xué)科)測(cè)試該分類(lèi)模型的有效性,實(shí)驗(yàn)結(jié)果證明該模型的分類(lèi)效率和效果都達(dá)到了預(yù)期。
關(guān)鍵詞:自動(dòng)分類(lèi) Hadoop TF-IDF算法 貝葉斯
分類(lèi)號(hào):G250
引用格式:楊亞, 易遠(yuǎn)弘. 圖書(shū)館海量學(xué)術(shù)資源自動(dòng)分類(lèi)模型研究[J/OL]. 知識(shí)管理論壇, 2018, 3(3): 172-179[引用日期]. http://www.kmf.ac.cn/p/137/.
隨著網(wǎng)絡(luò)數(shù)據(jù)庫(kù)資源和圖書(shū)館館藏?cái)?shù)字資源種類(lèi)和內(nèi)容的日益豐富,用戶(hù)經(jīng)常會(huì)在浩如煙海的數(shù)字資源中面臨獲取信息困難的問(wèn)題。圖書(shū)館作為數(shù)字資源的再加工者和再組織者,如何有效地組織和管理這些資源,并快速、準(zhǔn)確、全面地從中定位到用戶(hù)所需要的信息是當(dāng)前圖書(shū)館人和信息技術(shù)領(lǐng)域面臨的一大挑戰(zhàn)。自動(dòng)文本分類(lèi)是一種處理和組織海量文本資源的有效手段,可在較大程度上解決圖書(shū)館文本資源雜亂問(wèn)題,對(duì)于文本資源的高效管理和有效利用都具有極其重要的意義[1]。
基于機(jī)器學(xué)習(xí)的文本自動(dòng)分類(lèi)技術(shù),在分類(lèi)效果和靈活性上都比傳統(tǒng)的文本分類(lèi)模式有所突破,常見(jiàn)的有貝葉斯算法(NB)、k-鄰近算法(k-NN)、決策樹(shù)(DT)、支持向量機(jī)(SVM)以及遞推神經(jīng)網(wǎng)絡(luò)(RNN)等[2]。其中貝葉斯分類(lèi)算法是最常見(jiàn)也是最具代表性的,它是一個(gè)基于有監(jiān)督的機(jī)器學(xué)習(xí)模型,由于其高準(zhǔn)確率和高效率一直得到學(xué)者們的青睞[3-4]。早在1998年D. Lewis[5]就闡述了如何將貝葉斯應(yīng)用在信息檢索和文本分類(lèi)領(lǐng)域。后來(lái)Y. LI等[6]提出一種基于詞-類(lèi)別依賴(lài)值的加權(quán)NB算法。邸鵬等[7]提出了一種“先抑后揚(yáng)”(抑制先驗(yàn)概率的作用,擴(kuò)大后驗(yàn)概率的影響)的改進(jìn)貝葉斯文本分類(lèi)算法。杜選[8]利用類(lèi)別補(bǔ)集特征消除樣本數(shù)據(jù)分布不均勻,提出一種加權(quán)補(bǔ)集的貝葉斯算法。張杰等[9]基于分布式計(jì)算框架MapReduce平臺(tái),提出一種歸一化詞頻的貝葉斯分類(lèi)模型。上述學(xué)者們?cè)诜诸?lèi)算法上做了大量的研究工作,在原始訓(xùn)練語(yǔ)料和實(shí)際應(yīng)用方面相對(duì)薄弱,而這正是本文的研究重點(diǎn)。本文基于Hadoop分布式處理平臺(tái),通過(guò)構(gòu)建中圖法與學(xué)科分類(lèi)法兩大知識(shí)組織體系的映射模型,采用改進(jìn)的TF-IDF算法提取文本特征詞集,以海量的文本特征詞集作為學(xué)習(xí)語(yǔ)料加入貝葉斯多項(xiàng)式模型進(jìn)行概率參數(shù)訓(xùn)練,完成海量文本數(shù)據(jù)的并行處理及自動(dòng)分類(lèi)模型的構(gòu)建。
1 圖書(shū)館知識(shí)組織體系分析
面對(duì)海量的學(xué)術(shù)資源,如何進(jìn)行有序的組織給我們提出了挑戰(zhàn)。本文對(duì)原始訓(xùn)練語(yǔ)料的組織策略進(jìn)行了重點(diǎn)研究,分析整理收集和建立相關(guān)知識(shí)組織工具,包括主題詞表、中圖法分類(lèi)表、學(xué)科分類(lèi)表等,研究學(xué)科分類(lèi)法與中圖法兩種知識(shí)組織體系的內(nèi)容及關(guān)聯(lián)關(guān)系。
學(xué)科分類(lèi)法與中圖法是目前對(duì)圖書(shū)館學(xué)術(shù)資源進(jìn)行標(biāo)引的兩大知識(shí)組織體系,它們分別從不同內(nèi)容角度對(duì)同一主體進(jìn)行組織和揭示。中圖法是我國(guó)圖書(shū)館和情報(bào)單位普遍使用的一部綜合性分類(lèi)法,主要是供圖書(shū)館對(duì)圖書(shū)進(jìn)行分類(lèi)管理。中圖法包括“馬列主義、毛澤東思想,哲學(xué),社會(huì)科學(xué),自然科學(xué),綜合性圖書(shū)”5大部類(lèi),下一級(jí)細(xì)分為22個(gè)基本大類(lèi),每個(gè)基本大類(lèi)又細(xì)分為若干門(mén)類(lèi)[10]。教育部頒布的學(xué)科分類(lèi)法一共分為12大學(xué)科門(mén)類(lèi),下一級(jí)細(xì)分為89個(gè)一級(jí)學(xué)科。中圖法的分類(lèi)太過(guò)精細(xì)專(zhuān)業(yè)化,而學(xué)科分類(lèi)法比較符合用戶(hù)通常查找資源的習(xí)慣。因此,本文選擇采用學(xué)科分類(lèi)法對(duì)海量的學(xué)術(shù)資源進(jìn)行再組織,為更加精準(zhǔn)的個(gè)性化知識(shí)服務(wù)提供可靠的保障。
然而,大部分的學(xué)術(shù)資源沒(méi)有明確的學(xué)科標(biāo)簽,但都帶有準(zhǔn)確的中圖號(hào),因此本文通過(guò)手工標(biāo)引將89個(gè)一級(jí)學(xué)科整理為75個(gè)(例如將“理論經(jīng)濟(jì)學(xué)”與“應(yīng)用經(jīng)濟(jì)學(xué)”合并稱(chēng)為“經(jīng)濟(jì)學(xué)”,“地理學(xué)”與“大氣科學(xué)”合并稱(chēng)為“地球科學(xué)”),然后建立75個(gè)一級(jí)學(xué)科與中圖法的22個(gè)基本大類(lèi)的一一映射表(見(jiàn)表1),構(gòu)建兩大知識(shí)組織體系的關(guān)聯(lián)模型,為后期訓(xùn)練分類(lèi)模型做好基礎(chǔ)準(zhǔn)備。
2 圖書(shū)館海量學(xué)術(shù)資源自動(dòng)分類(lèi)模型構(gòu)建
圖書(shū)館學(xué)術(shù)資源自動(dòng)分類(lèi)模型的分類(lèi)效果很大程度上依賴(lài)于原始訓(xùn)練語(yǔ)料的質(zhì)量和總量。本文的原始訓(xùn)練語(yǔ)料主要是抓取自中國(guó)知網(wǎng)的600萬(wàn)篇以上的高質(zhì)量語(yǔ)料,語(yǔ)料涵蓋75個(gè)學(xué)科。利用學(xué)科分類(lèi)法與中圖法關(guān)聯(lián)模型,基于Hadoop分布式處理平臺(tái),對(duì)圖書(shū)館海量學(xué)術(shù)資源進(jìn)行批量的訓(xùn)練與分類(lèi)。包括三步(見(jiàn)圖1):
第一步:數(shù)據(jù)的預(yù)處理。提取分類(lèi)所需的關(guān)鍵字段,包括題目、摘要、關(guān)鍵詞、中圖號(hào)等。然后對(duì)語(yǔ)料庫(kù)進(jìn)行分詞、去停留詞、保留專(zhuān)有名詞。
第二步:提取文本關(guān)鍵詞集。引入TF-IDF算法對(duì)原始詞集進(jìn)行關(guān)鍵詞提取,并作為學(xué)習(xí)語(yǔ)料放入分類(lèi)模型進(jìn)行訓(xùn)練。
第三步:貝葉斯多項(xiàng)式分類(lèi)模型訓(xùn)練。將文本關(guān)鍵詞集作為輸入特征分別計(jì)算該篇文本可能歸屬學(xué)科類(lèi)別的概率值,選取概率值最大的類(lèi)別作為該篇文本的類(lèi)別。
2.1 數(shù)據(jù)預(yù)處理
在數(shù)據(jù)預(yù)處理階段主要是完成對(duì)原始語(yǔ)料關(guān)鍵字段的提取及分詞操作。題目、摘要、關(guān)鍵詞和中圖號(hào)是一篇學(xué)術(shù)文獻(xiàn)最能體現(xiàn)其主題與所屬學(xué)科的關(guān)鍵要素,因此,本文提取這幾個(gè)關(guān)鍵字段構(gòu)建原始語(yǔ)料庫(kù)。其中,提取中圖號(hào)是與第1小節(jié)的關(guān)聯(lián)模型進(jìn)行學(xué)科類(lèi)別匹配。
接下來(lái)是對(duì)原始語(yǔ)料庫(kù)進(jìn)行分詞過(guò)濾操作。目前開(kāi)源的分詞器很多,IK分詞器是一個(gè)基于Java語(yǔ)言設(shè)計(jì)開(kāi)發(fā)的中文分詞工具,它自身帶有停用詞表,可在其中添加自定義的停用詞[11]。由于本文處理的數(shù)據(jù)都是學(xué)科類(lèi)數(shù)據(jù),數(shù)據(jù)中包含比較多的專(zhuān)有名詞,IK分詞器正好滿(mǎn)足這樣的需求,可以自行添加專(zhuān)有名詞表,避免專(zhuān)有名詞被切分。本實(shí)驗(yàn)添加了20萬(wàn)條學(xué)術(shù)專(zhuān)有名詞詞庫(kù),基于MapReduce框架實(shí)現(xiàn)并行化分詞的步驟如下:
第一步:自定義輸入類(lèi)SubjectInputFormat和一個(gè)paths數(shù)組,SubjectInputFormat繼承FileInputFormat類(lèi)并重載getSpilts方法實(shí)現(xiàn)多個(gè)文件分片,paths數(shù)組用于記錄每個(gè)文件的路徑;
第二步:定義一個(gè)構(gòu)造函數(shù)SubjectRecordReader來(lái)處理分片內(nèi)容,通過(guò)SubjectInputFormat調(diào)用CreateRecordReader方法并返回CombineRecordReader對(duì)象,將結(jié)果
第三步:Mapper端接收到Value中的文件內(nèi)容后調(diào)用IK分詞器提供的接口進(jìn)行分詞處理。
2.2 提取文本關(guān)鍵詞集
此外,在一篇文獻(xiàn)中,每個(gè)詞的TF(頻度)的計(jì)算量與文本長(zhǎng)度成正比,而IDF(逆文本頻率)的計(jì)算量則與語(yǔ)料庫(kù)的大小成正比。本文初始語(yǔ)料庫(kù)中包含語(yǔ)料600萬(wàn)篇以上,而且會(huì)語(yǔ)料庫(kù)會(huì)不斷地更新,如果每次計(jì)算idf值時(shí)都去基于語(yǔ)料庫(kù)統(tǒng)計(jì),響應(yīng)時(shí)間較長(zhǎng)且浪費(fèi)計(jì)算資源。因此,本文基于MapReduce事先對(duì)整個(gè)語(yǔ)料庫(kù)中的每個(gè)詞計(jì)算出idf值,并將結(jié)果存放在Mysql數(shù)據(jù)庫(kù)中,當(dāng)計(jì)算某個(gè)詞匯的tf*idf值時(shí),直接去Mysql數(shù)據(jù)庫(kù)中取即可。實(shí)現(xiàn)過(guò)程如下:
步驟一:給語(yǔ)料庫(kù)中每篇文獻(xiàn)賦予一個(gè)唯一的標(biāo)識(shí)id。
步驟二:定義mapper
步驟三:定義reducer
步驟四:提取特征詞集,首先計(jì)算某個(gè)詞匯在文本中出現(xiàn)的頻率tf,然后從數(shù)據(jù)庫(kù)中讀取對(duì)應(yīng)詞匯的idf值,即可得到該詞的tf*idf,按照一定比例選取該文本的特征詞集。
2.3 貝葉斯多項(xiàng)式分類(lèi)模型訓(xùn)練
貝葉斯文本分類(lèi)算法的理論基礎(chǔ)是假設(shè)組成文本的詞匯之間是相互獨(dú)立的,在先驗(yàn)概率和條件概率的基礎(chǔ)上計(jì)算最終的后驗(yàn)概率,選取概率最大作為分類(lèi)的結(jié)果。
在貝葉斯分類(lèi)模型訓(xùn)練階段,主要任務(wù)就是對(duì)參數(shù)P(yk)和P(xi|yk)進(jìn)行估計(jì),前者是對(duì)訓(xùn)練集的類(lèi)別統(tǒng)計(jì),后者則需要基于語(yǔ)料庫(kù)統(tǒng)計(jì)每個(gè)詞與75個(gè)學(xué)科類(lèi)別的關(guān)系。因此,使用MapReduce編程框架實(shí)現(xiàn)基于海量語(yǔ)料庫(kù)的貝葉斯模型參數(shù)估計(jì),并將各個(gè)參數(shù)值放入Mysql數(shù)據(jù)庫(kù),以便模型進(jìn)行學(xué)科標(biāo)引時(shí)使用。具體步驟如下:
第一步:定義mapper
第二步:定義reducer
第三步:將處理結(jié)果導(dǎo)入到Mysql中,并建好索引,要對(duì)某一文本進(jìn)行分類(lèi)時(shí),直接去數(shù)據(jù)庫(kù)中取相應(yīng)的值進(jìn)行計(jì)算即可。
3 實(shí)驗(yàn)與分析
3.1 分類(lèi)評(píng)價(jià)指標(biāo)
3.2 實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)訓(xùn)練及測(cè)試使用的語(yǔ)料均抓取自中國(guó)知網(wǎng)近三年的論文數(shù)據(jù),語(yǔ)料涵蓋了所有的學(xué)科類(lèi)別。為了驗(yàn)證本文分類(lèi)模型的有效性,本文進(jìn)行了2個(gè)實(shí)驗(yàn):
(1)傳統(tǒng)TF-IDF算法與改進(jìn)TF-IDF算法計(jì)算idf值的對(duì)比實(shí)驗(yàn)。隨機(jī)選取200個(gè)特征詞的idf值對(duì)比情況,部分結(jié)果見(jiàn)表2。
通過(guò)大量的實(shí)驗(yàn)發(fā)現(xiàn),經(jīng)過(guò)改進(jìn)TF-IDF算法計(jì)算得到的idf值都有一定的變化,“臨床”“患者”等的idf值變化比較大,具有較強(qiáng)的類(lèi)別區(qū)分能力,由此說(shuō)明改進(jìn)的TF-IDF算法能提高某些學(xué)科專(zhuān)有名詞的權(quán)重。
(2)LDA+SVM與改進(jìn)TF-IDF+貝葉斯兩種分類(lèi)策略的對(duì)比實(shí)驗(yàn)。為消除樣本不平衡對(duì)分類(lèi)結(jié)果的影響,在實(shí)驗(yàn)之前隨機(jī)選取20個(gè)類(lèi)別,每個(gè)類(lèi)別隨機(jī)抽取2 000條數(shù)據(jù)作為訓(xùn)練集,1 000條數(shù)據(jù)作為測(cè)試集,訓(xùn)練集與測(cè)試集的數(shù)量比為2:1,且沒(méi)有重復(fù)數(shù)據(jù)。實(shí)驗(yàn)部分結(jié)果見(jiàn)表3。
從實(shí)驗(yàn)結(jié)果可以看出,相比LDA+SVM分類(lèi)算法,采用改進(jìn)TF-IDF+貝葉斯算法得到的查準(zhǔn)率、查全率以及F1值都有明顯的提高。此外,本文基于Hadoop分布式處理平臺(tái)構(gòu)建的自動(dòng)分類(lèi)模型,相較于在單機(jī)上實(shí)現(xiàn),計(jì)算效率得到了大大的提高。因此,可以得出本文構(gòu)建的自動(dòng)分類(lèi)模型在處理海量文本分類(lèi)時(shí)具有一定的優(yōu)勢(shì)。
4 結(jié)束語(yǔ)
圖書(shū)館每年都有大量的學(xué)術(shù)資源產(chǎn)生,在面對(duì)這些資源時(shí),用戶(hù)總是陷入獲取精準(zhǔn)資源的困境。如何幫助用戶(hù)找到既優(yōu)質(zhì)又相關(guān)的學(xué)術(shù)資源是圖書(shū)館亟待解決的一項(xiàng)實(shí)際問(wèn)題。本文對(duì)基于機(jī)器學(xué)習(xí)的文本自動(dòng)分類(lèi)技術(shù)進(jìn)行研究,旨在通過(guò)對(duì)海量學(xué)術(shù)資源進(jìn)行高效而準(zhǔn)確的自動(dòng)分類(lèi),輔助構(gòu)建圖書(shū)館個(gè)性化知識(shí)服務(wù)系統(tǒng)。
本文在Hadoop分布式處理平臺(tái)上,對(duì)圖書(shū)館海量的學(xué)術(shù)資源進(jìn)行并行化處理,大大的提高了計(jì)算的效率。提出一種改進(jìn)的TF-IDF算法進(jìn)行文本特征詞集提取,既能過(guò)濾掉大量的噪音詞匯,降低計(jì)算的復(fù)雜度,也便于后面對(duì)海量的學(xué)術(shù)資源進(jìn)行貝葉斯分類(lèi)處理,提升分類(lèi)的準(zhǔn)確度。存在的不足之處是分類(lèi)模型采用的是批量處理模式,即批量的訓(xùn)練和批量的分類(lèi),尚未做到增量訓(xùn)練和實(shí)時(shí)分類(lèi)。接下來(lái)的工作可考慮基于Spark搭建流處理平臺(tái),以及研究如何實(shí)現(xiàn)模型的增量學(xué)習(xí)。
參考文獻(xiàn):
[1] VIKAS K, VIJAYAN K, LATHA P. A comprehensive study of text classification algorithms[C]// Proceedings of 2017 International Conference on Advances in Computing, Communications and Informatics (ICACCI).Udupi:IEEE press, 2017: 1109-1113.
[2] 高元. 面向個(gè)性化推薦的海量學(xué)術(shù)資源分類(lèi)研究[D].寧波: 寧波大學(xué), 2017.
[3] 賀鳴, 孫建軍, 成穎. 基于樸素貝葉斯的文本分類(lèi)研究綜述[J]. 情報(bào)科學(xué), 2016, 34(7): 147-154.
[4] KUPERVASSER O. The mysterious optimality of naive bayes: estimation of the probability in the system of “classifiers”[J]. Pattern recognition and image analysis, 2014, 24(1): 1-10.
[5] LEWIS D. Naive (Bayes) at forty: The independence assumption in information retrieval[C]//Proceedings of 10th European Conference on Machine Learning Chemnitz. Berlin: Springer, 1998: 4-15
[6] LI Y J, LUO C N, CHUNG S M. Weighted naive bayes for text classification using positive term-class dependency[J].International journal on artificial intelligence tools, 2012, 21(1): 1250008-1250015.
[7] 邸鵬, 段利國(guó). 一種新型樸素貝葉斯文本分類(lèi)算法[J]. 數(shù)據(jù)采集與處理, 2014, 29(1): 71-75.
[8] 杜選. 基于加權(quán)補(bǔ)集的樸素貝葉斯文本分類(lèi)算法研究[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2014, 31(9): 253-255.
[9] 張杰, 陳懷新. 基于歸一化詞頻貝葉斯模型的文本分類(lèi)方法[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2016, 37(3): 799-802.
[10] 艾雰. 2010—2016年《中國(guó)圖書(shū)館分類(lèi)法》(第5版)研究現(xiàn)狀分析[J]. 圖書(shū)館建設(shè), 2017(5): 39-44,72.
[11] LI Q, CHEN L. Study on multi-class text classification based on improved SVM[C]//Proceedings of the Eighth International Conference on Intelligent Systems and Knowledge Engineering, Shenzhen: Springer Berlin Heidelberg, 2014: 519-526.
[12] ZHANG Y T, WANG G L. An improved TF-IDF approach for text classification[J]. Journal of zhejiang university-science a, 2005, 6(1): 49-55.
[13] KIM S B, RIM H C. Effective Methods for improving naive bayes text classifiers[C] //Proceedings of 7th Pacific Rim international conference on artificial intelligence. Berlin:Springer, 2002: 414-423.
[14] 張玉芳, 彭時(shí)名, 呂佳. 基于文本分類(lèi)TFIDF方法的改進(jìn)與應(yīng)用[J]. 計(jì)算機(jī)工程, 2006(19): 76-78.
[15] 蘇金樹(shù), 張博鋒, 徐昕. 基于機(jī)器學(xué)習(xí)的文本分類(lèi)技術(shù)研究進(jìn)展[J]. 軟件學(xué)報(bào), 2006(9): 1848-1859.
作者貢獻(xiàn)說(shuō)明:
楊 亞:數(shù)據(jù)處理,撰寫(xiě)并修正論文;
易遠(yuǎn)弘:學(xué)術(shù)資源整理,提出論文的修改意見(jiàn)。
Abstract: [Purpose/significance] In order to solve the problem that users often have difficulty in obtaining information in massive digital resources of library, this paper construct a personalized knowledge service system, which is the inevitable choice of library to help users to get rid of the information overload predicament and improve the quality of knowledge service. [Method/process] Firstly, this paper built a mapping model of Chinese Library Classification(CLC) and subject classification. Then, based on Hadoop distributed processing platform, it proposed to build automatic classification model of massive academic resources in libraries by improving TF-IDF+ Bayesian algorithm, the model can help to construct the personalized knowledge service systems in library. [Result/conclusion] In the experimental part,we collected more than 6 million documents from CNKI as the original training corpus (corpus covers 75 disciplines) to test the effectiveness of the classification model, the experimental result shows that the classification efficiency and effectiveness of the model are achieved.
Keywords: automatic classification Hadoop TF-IDF Bayes