楊亞 易遠弘



摘要:[目的/意義]針對用戶在圖書館海量數字資源中常常面臨獲取信息困難的問題,構建一套個性化知識服務系統,認為該系統是圖書館幫助用戶擺脫信息超載困境和提升知識服務質量的必然選擇。[方法/過程]通過建立中圖法和學科分類法兩大知識組織體系的映射模型,基于Hadoop分布式處理平臺,提出一種改進TF-IDF+貝葉斯算法構建圖書館海量學術資源自動分類模型,輔助完善圖書館個性化知識服務系統的構建。[結果/結論]以自中國知網抓取的600萬余篇文獻作為原始訓練語料(語料涵蓋75個學科)測試該分類模型的有效性,實驗結果證明該模型的分類效率和效果都達到了預期。
關鍵詞:自動分類 Hadoop TF-IDF算法 貝葉斯
分類號:G250
引用格式:楊亞, 易遠弘. 圖書館海量學術資源自動分類模型研究[J/OL]. 知識管理論壇, 2018, 3(3): 172-179[引用日期]. http://www.kmf.ac.cn/p/137/.
隨著網絡數據庫資源和圖書館館藏數字資源種類和內容的日益豐富,用戶經常會在浩如煙海的數字資源中面臨獲取信息困難的問題。圖書館作為數字資源的再加工者和再組織者,如何有效地組織和管理這些資源,并快速、準確、全面地從中定位到用戶所需要的信息是當前圖書館人和信息技術領域面臨的一大挑戰。自動文本分類是一種處理和組織海量文本資源的有效手段,可在較大程度上解決圖書館文本資源雜亂問題,對于文本資源的高效管理和有效利用都具有極其重要的意義[1]。
基于機器學習的文本自動分類技術,在分類效果和靈活性上都比傳統的文本分類模式有所突破,常見的有貝葉斯算法(NB)、k-鄰近算法(k-NN)、決策樹(DT)、支持向量機(SVM)以及遞推神經網絡(RNN)等[2]。其中貝葉斯分類算法是最常見也是最具代表性的,它是一個基于有監督的機器學習模型,由于其高準確率和高效率一直得到學者們的青睞[3-4]。早在1998年D. Lewis[5]就闡述了如何將貝葉斯應用在信息檢索和文本分類領域。后來Y. LI等[6]提出一種基于詞-類別依賴值的加權NB算法。邸鵬等[7]提出了一種“先抑后揚”(抑制先驗概率的作用,擴大后驗概率的影響)的改進貝葉斯文本分類算法。杜選[8]利用類別補集特征消除樣本數據分布不均勻,提出一種加權補集的貝葉斯算法。張杰等[9]基于分布式計算框架MapReduce平臺,提出一種歸一化詞頻的貝葉斯分類模型。上述學者們在分類算法上做了大量的研究工作,在原始訓練語料和實際應用方面相對薄弱,而這正是本文的研究重點。本文基于Hadoop分布式處理平臺,通過構建中圖法與學科分類法兩大知識組織體系的映射模型,采用改進的TF-IDF算法提取文本特征詞集,以海量的文本特征詞集作為學習語料加入貝葉斯多項式模型進行概率參數訓練,完成海量文本數據的并行處理及自動分類模型的構建。
1 圖書館知識組織體系分析
面對海量的學術資源,如何進行有序的組織給我們提出了挑戰。本文對原始訓練語料的組織策略進行了重點研究,分析整理收集和建立相關知識組織工具,包括主題詞表、中圖法分類表、學科分類表等,研究學科分類法與中圖法兩種知識組織體系的內容及關聯關系。
學科分類法與中圖法是目前對圖書館學術資源進行標引的兩大知識組織體系,它們分別從不同內容角度對同一主體進行組織和揭示。中圖法是我國圖書館和情報單位普遍使用的一部綜合性分類法,主要是供圖書館對圖書進行分類管理。中圖法包括“馬列主義、毛澤東思想,哲學,社會科學,自然科學,綜合性圖書”5大部類,下一級細分為22個基本大類,每個基本大類又細分為若干門類[10]。教育部頒布的學科分類法一共分為12大學科門類,下一級細分為89個一級學科。中圖法的分類太過精細專業化,而學科分類法比較符合用戶通常查找資源的習慣。因此,本文選擇采用學科分類法對海量的學術資源進行再組織,為更加精準的個性化知識服務提供可靠的保障。
然而,大部分的學術資源沒有明確的學科標簽,但都帶有準確的中圖號,因此本文通過手工標引將89個一級學科整理為75個(例如將“理論經濟學”與“應用經濟學”合并稱為“經濟學”,“地理學”與“大氣科學”合并稱為“地球科學”),然后建立75個一級學科與中圖法的22個基本大類的一一映射表(見表1),構建兩大知識組織體系的關聯模型,為后期訓練分類模型做好基礎準備。
2 圖書館海量學術資源自動分類模型構建
圖書館學術資源自動分類模型的分類效果很大程度上依賴于原始訓練語料的質量和總量。本文的原始訓練語料主要是抓取自中國知網的600萬篇以上的高質量語料,語料涵蓋75個學科。利用學科分類法與中圖法關聯模型,基于Hadoop分布式處理平臺,對圖書館海量學術資源進行批量的訓練與分類。包括三步(見圖1):
第一步:數據的預處理。提取分類所需的關鍵字段,包括題目、摘要、關鍵詞、中圖號等。然后對語料庫進行分詞、去停留詞、保留專有名詞。
第二步:提取文本關鍵詞集。引入TF-IDF算法對原始詞集進行關鍵詞提取,并作為學習語料放入分類模型進行訓練。
第三步:貝葉斯多項式分類模型訓練。將文本關鍵詞集作為輸入特征分別計算該篇文本可能歸屬學科類別的概率值,選取概率值最大的類別作為該篇文本的類別。
2.1 數據預處理
在數據預處理階段主要是完成對原始語料關鍵字段的提取及分詞操作。題目、摘要、關鍵詞和中圖號是一篇學術文獻最能體現其主題與所屬學科的關鍵要素,因此,本文提取這幾個關鍵字段構建原始語料庫。其中,提取中圖號是與第1小節的關聯模型進行學科類別匹配。
接下來是對原始語料庫進行分詞過濾操作。目前開源的分詞器很多,IK分詞器是一個基于Java語言設計開發的中文分詞工具,它自身帶有停用詞表,可在其中添加自定義的停用詞[11]。由于本文處理的數據都是學科類數據,數據中包含比較多的專有名詞,IK分詞器正好滿足這樣的需求,可以自行添加專有名詞表,避免專有名詞被切分。本實驗添加了20萬條學術專有名詞詞庫,基于MapReduce框架實現并行化分詞的步驟如下:
第一步:自定義輸入類SubjectInputFormat和一個paths數組,SubjectInputFormat繼承FileInputFormat類并重載getSpilts方法實現多個文件分片,paths數組用于記錄每個文件的路徑;
第二步:定義一個構造函數SubjectRecordReader來處理分片內容,通過SubjectInputFormat調用CreateRecordReader方法并返回CombineRecordReader對象,將結果
第三步:Mapper端接收到Value中的文件內容后調用IK分詞器提供的接口進行分詞處理。
2.2 提取文本關鍵詞集
此外,在一篇文獻中,每個詞的TF(頻度)的計算量與文本長度成正比,而IDF(逆文本頻率)的計算量則與語料庫的大小成正比。本文初始語料庫中包含語料600萬篇以上,而且會語料庫會不斷地更新,如果每次計算idf值時都去基于語料庫統計,響應時間較長且浪費計算資源。因此,本文基于MapReduce事先對整個語料庫中的每個詞計算出idf值,并將結果存放在Mysql數據庫中,當計算某個詞匯的tf*idf值時,直接去Mysql數據庫中取即可。實現過程如下:
步驟一:給語料庫中每篇文獻賦予一個唯一的標識id。
步驟二:定義mapper
步驟三:定義reducer
步驟四:提取特征詞集,首先計算某個詞匯在文本中出現的頻率tf,然后從數據庫中讀取對應詞匯的idf值,即可得到該詞的tf*idf,按照一定比例選取該文本的特征詞集。
2.3 貝葉斯多項式分類模型訓練
貝葉斯文本分類算法的理論基礎是假設組成文本的詞匯之間是相互獨立的,在先驗概率和條件概率的基礎上計算最終的后驗概率,選取概率最大作為分類的結果。
在貝葉斯分類模型訓練階段,主要任務就是對參數P(yk)和P(xi|yk)進行估計,前者是對訓練集的類別統計,后者則需要基于語料庫統計每個詞與75個學科類別的關系。因此,使用MapReduce編程框架實現基于海量語料庫的貝葉斯模型參數估計,并將各個參數值放入Mysql數據庫,以便模型進行學科標引時使用。具體步驟如下:
第一步:定義mapper
第二步:定義reducer
第三步:將處理結果導入到Mysql中,并建好索引,要對某一文本進行分類時,直接去數據庫中取相應的值進行計算即可。
3 實驗與分析
3.1 分類評價指標
3.2 實驗結果與分析
實驗訓練及測試使用的語料均抓取自中國知網近三年的論文數據,語料涵蓋了所有的學科類別。為了驗證本文分類模型的有效性,本文進行了2個實驗:
(1)傳統TF-IDF算法與改進TF-IDF算法計算idf值的對比實驗。隨機選取200個特征詞的idf值對比情況,部分結果見表2。
通過大量的實驗發現,經過改進TF-IDF算法計算得到的idf值都有一定的變化,“臨床”“患者”等的idf值變化比較大,具有較強的類別區分能力,由此說明改進的TF-IDF算法能提高某些學科專有名詞的權重。
(2)LDA+SVM與改進TF-IDF+貝葉斯兩種分類策略的對比實驗。為消除樣本不平衡對分類結果的影響,在實驗之前隨機選取20個類別,每個類別隨機抽取2 000條數據作為訓練集,1 000條數據作為測試集,訓練集與測試集的數量比為2:1,且沒有重復數據。實驗部分結果見表3。
從實驗結果可以看出,相比LDA+SVM分類算法,采用改進TF-IDF+貝葉斯算法得到的查準率、查全率以及F1值都有明顯的提高。此外,本文基于Hadoop分布式處理平臺構建的自動分類模型,相較于在單機上實現,計算效率得到了大大的提高。因此,可以得出本文構建的自動分類模型在處理海量文本分類時具有一定的優勢。
4 結束語
圖書館每年都有大量的學術資源產生,在面對這些資源時,用戶總是陷入獲取精準資源的困境。如何幫助用戶找到既優質又相關的學術資源是圖書館亟待解決的一項實際問題。本文對基于機器學習的文本自動分類技術進行研究,旨在通過對海量學術資源進行高效而準確的自動分類,輔助構建圖書館個性化知識服務系統。
本文在Hadoop分布式處理平臺上,對圖書館海量的學術資源進行并行化處理,大大的提高了計算的效率。提出一種改進的TF-IDF算法進行文本特征詞集提取,既能過濾掉大量的噪音詞匯,降低計算的復雜度,也便于后面對海量的學術資源進行貝葉斯分類處理,提升分類的準確度。存在的不足之處是分類模型采用的是批量處理模式,即批量的訓練和批量的分類,尚未做到增量訓練和實時分類。接下來的工作可考慮基于Spark搭建流處理平臺,以及研究如何實現模型的增量學習。
參考文獻:
[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] 高元. 面向個性化推薦的海量學術資源分類研究[D].寧波: 寧波大學, 2017.
[3] 賀鳴, 孫建軍, 成穎. 基于樸素貝葉斯的文本分類研究綜述[J]. 情報科學, 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] 邸鵬, 段利國. 一種新型樸素貝葉斯文本分類算法[J]. 數據采集與處理, 2014, 29(1): 71-75.
[8] 杜選. 基于加權補集的樸素貝葉斯文本分類算法研究[J]. 計算機應用與軟件, 2014, 31(9): 253-255.
[9] 張杰, 陳懷新. 基于歸一化詞頻貝葉斯模型的文本分類方法[J]. 計算機工程與設計, 2016, 37(3): 799-802.
[10] 艾雰. 2010—2016年《中國圖書館分類法》(第5版)研究現狀分析[J]. 圖書館建設, 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] 張玉芳, 彭時名, 呂佳. 基于文本分類TFIDF方法的改進與應用[J]. 計算機工程, 2006(19): 76-78.
[15] 蘇金樹, 張博鋒, 徐昕. 基于機器學習的文本分類技術研究進展[J]. 軟件學報, 2006(9): 1848-1859.
作者貢獻說明:
楊 亞:數據處理,撰寫并修正論文;
易遠弘:學術資源整理,提出論文的修改意見。
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