孔潔
摘 要 為了彌補傳統(tǒng)文獻分類方法的不足,滿足信息時代下激增的文獻分類需求,文章提出了一種文獻自動分類算法,結(jié)合NLPIR分詞系統(tǒng)與Skim-gram詞向量模型提取文獻的特征向量矩陣,并在此基礎(chǔ)上結(jié)合卷積神經(jīng)網(wǎng)絡(luò)對文獻的中圖法分類號進行預(yù)測。實驗結(jié)果顯示,文章提出模型的基本大類準確率為97.66%,二級分類準確率為95.12%,詳細分類的準確率為92.42%。結(jié)果證明,結(jié)合特征詞向量預(yù)處理與卷積神經(jīng)網(wǎng)絡(luò)能夠有效提升文獻分類精度,這為實現(xiàn)智能圖書分類提供了新的思路。
關(guān)鍵詞 智能圖書館? 深度學習? 卷積神經(jīng)網(wǎng)絡(luò)? 文獻分類
分類號 G254.11
DOI 10.16810/j.cnki.1672-514X.2021.05.009
Research on Automatic Literature Classification System Based on Deep Learning and Chinese Library Classification
Kong Jie
Abstract In order to make up for the shortage of traditional literature classification methods and meet the demand of literature classification in the information age, this paper proposes an automatic literature classification algorithm, which combines NLPIR word segmentation system and Skim-gram word vector model to extract the eigenvector matrix of the literature, and on this basis, combine with the convolution neural network to predict the classification number of the literature. The experimental results show that the accuracy of the model proposed in this paper is 97.66% for basic categories, 95.12% for secondary classification, and 92.42% for detailed classification. The results show that the combination of feature vector preprocessing and convolutional neural network can effectively improve the classification accuracy of literature, which provides a new idea for the realization of intelligent book classification.
Keywords Intelligent library. Deep learning. Convolutional neural network. Literature classification.
1 文獻分類方法發(fā)展概述
隨著信息技術(shù)的發(fā)展,數(shù)據(jù)的規(guī)模效益開始顯現(xiàn),大數(shù)據(jù)時代推動了科技文化的發(fā)展,也帶來了新的挑戰(zhàn)。圖書館作為數(shù)據(jù)文獻索引的中心,如何科學管理分類海量的文獻已經(jīng)成為一個重要課題。在圖書館的眾多業(yè)務(wù)工作中,對文獻的編目標引是其中重要的一環(huán)[1]。傳統(tǒng)的手工分類方法是將一篇篇文檔按照某種規(guī)則歸類到某一個特定類別或主題之中。在我國使用最廣泛的分類方法與體系是《中國圖書館分類法》。這是我國編制出版的一部具有代表性的大型綜合性分類法,是當今國內(nèi)圖書館界使用最廣泛的分類法體系,簡稱《中圖法》。但是,由于其類目較多,單純依靠人工對文獻進行分類,存在工作量大、效率低、對人員專業(yè)技能要求高等問題,因此尋求一種自動化文獻分類方法一直是專家學者研究的重難點[2]。
自動化文本分類系統(tǒng)主要依靠計算機來實現(xiàn),因此如何讓計算機“理解”這些文本便是文本分類首先需要解決的問題。文獻中的字詞都是以句子形式出現(xiàn)的,不利于文本的處理識別。需要通過分詞將連續(xù)的句子切割組合成有意義的詞語。中文分詞不同于英文,英文由于語言特性,單詞之間有空格符作為天然的分界,而中文的漢字是相連沒有分界符的。此外,中文的詞語長短不一,包含的漢字個數(shù)也有差別,這也給分詞任務(wù)增加了不少難度[3-4]?,F(xiàn)有的分詞方法可分為三大類:基于字符串匹配的分詞方法、基于理解的分詞方法和基于統(tǒng)計的分詞方法[5-7]。基于字符串匹配的分詞方法主要利用機械匹配的方法將待分析的漢字串與一個“充分大的”機器詞典中的詞條進行匹配,若在詞典中找到某個字符串,則匹配成功?;诶斫獾姆衷~方法是通過讓計算機模擬人對句子的理解,達到識別詞的效果,其基本思想就是在分詞的同時進行句法、語義分析,利用句法信息和語義信息來處理歧義現(xiàn)象。基于統(tǒng)計的分詞方法是在給定大量已經(jīng)分詞的文本的前提下,利用統(tǒng)計機器學習模型學習詞語切分的規(guī)律(稱為訓練),從而實現(xiàn)對未知文本的切分,如最大概率分詞方法和最大熵分詞方法等。隨著大規(guī)模語料庫的建立,以及統(tǒng)計機器學習方法的研究和發(fā)展,基于統(tǒng)計的中文分詞方法漸漸成為主流方法。
但是,漢字難以直接作為分類網(wǎng)絡(luò)進行輸入,需要將漢字或詞語轉(zhuǎn)化成對應(yīng)的數(shù)學向量。傳統(tǒng)的文本特征向量提取方法包括詞袋模型、TF-IDF模型、LDA模型等等[8]。詞袋子模型將字符串視為一個 “裝滿字符(詞)的袋子”,袋子里的詞語是隨便擺放的,而兩個詞袋子的相似程度就以它們重合的詞及其相關(guān)分布進行判斷。這種方法雖然簡單快捷但是詞向量維度過高,準確率難以滿足應(yīng)用需求,而且無法關(guān)注詞語之間的順序關(guān)系[9]。TF-IDF模型在詞袋模型的基礎(chǔ)上進行改進,結(jié)合詞頻和逆文檔頻率來分析文本的關(guān)鍵詞,降低了詞向量維度。但是 TF-IDF 同樣沒有考慮文本中詞的位置及結(jié)構(gòu)信息,所以 TF-IDF 空間向量模型對于詞的表示性能一般[10]。LDA是一種文檔主題生成模型,也稱為一個三層貝葉斯概率模型,包含詞、主題和文檔三層結(jié)構(gòu)。LDA將文本中詞語語義、結(jié)構(gòu)信息的計算,融入到矩陣的運算求解中,一定程度上提高了文本表示的效果,但是文檔主題數(shù)目難以固定,資源消耗較大[11]。隨著深度學習算法的流行,基于神經(jīng)網(wǎng)絡(luò)的特征提取方法逐漸成為研究重點。
基于文本的特征詞向量,原先多采用機器學習算法,比如以遺傳算法為基礎(chǔ)的樸素貝葉斯分類器及支持向量機、隨機森林算法等等[12-14]。但是上述文本分類算法都存在一定的局限性,文本特征的選取比較隨意、語義信息不足及特征稀疏等問題使得傳統(tǒng)算法難以取得良好的效果。而深度學習在圖像識別及語音識別方面的成功,使得研究人員將重心轉(zhuǎn)移到基于深度學習的自然語言處理方法研究上。卷積神經(jīng)網(wǎng)絡(luò)擁有良好的特征提取能力,能夠顯著降低文本分類中人工抽取特征的難度。目前基于卷積神經(jīng)網(wǎng)絡(luò)的文本分類方法研究已有一定進展,但是性能上仍有較大的改進空間。
2 基于深度學習的文獻自動分類模型
對于深度學習來說,其思想就在于能夠?qū)Χ询B多個層進行數(shù)據(jù)處理,通過將某一層的輸出作為下一層輸入的方式,實現(xiàn)對輸入信息的分級表達。為了使輸出的數(shù)據(jù)信息特征在提取時盡量準確,就要將這些網(wǎng)絡(luò)層結(jié)構(gòu)進行組合。提取特征就在于卷積,由于一次卷積可能提取的特征比較粗糙,就要進行多次卷積,以及層層縱深卷積,層層提取特征。利用卷積神經(jīng)網(wǎng)絡(luò)進行深度學習,將有利于提升文本語義判斷的理解能力,實現(xiàn)文獻的精準分類。
2.1 算法模型結(jié)構(gòu)
本文提出的文獻自動分類方法包含三部分。第一部分是文獻的分詞及預(yù)處理,對目標文獻的標題、摘要、正文分別進行分詞,去掉停用詞后篩選其中使用頻率較高的詞語作為特征詞。第二部分是特征向量矩陣的構(gòu)建,將選取的特征詞轉(zhuǎn)化成向量表示,并對不同方法構(gòu)建的向量進行拼接。第三部分是文獻分類網(wǎng)絡(luò),以預(yù)處理后的文獻特征向量矩陣作為輸入,利用卷積神經(jīng)網(wǎng)絡(luò)來對文獻進行分類,得到對應(yīng)的《中圖法》分類號。系統(tǒng)總體框架如圖1所示。
2.2 文獻分詞與預(yù)處理
本文采用NLPIR分詞系統(tǒng)來進行分詞任務(wù)。NLPIR是由北京理工大學張華平博士研發(fā)的中文分詞系統(tǒng),是一整套對原始文本集進行處理和加工的軟件。文獻一般包含標題、摘要及正文,標題與摘要包含了大量文獻特征信息,特征詞的密度高于正文。如圖1所示,本文將標題、摘要與正文分別進行分詞,對比停用詞表,去除常見的停用詞,剩下的詞語為各部分的有效特征詞。按照詞頻從大到小排序,標題部分取前6個,摘要部分取前12個,正文部分取前110個詞作為該部分的高頻特征詞。高頻特征詞代表了文獻的核心詞語及基本信息點,可以為后續(xù)文獻的分類提供可靠信息支持。
2.3 文獻特征向量構(gòu)建
基于分詞系統(tǒng)及預(yù)處理機制得到了包含文獻核心特征的高頻特征詞,本文采用Word2vec來進行特征詞向量的提取。Word2vec 是谷歌在NNLM(Neural network language model)基礎(chǔ)上開源的一款詞語向量化表示工具[15]。Word2vec基于上下文的語義信息,構(gòu)建三層的神經(jīng)網(wǎng)絡(luò),對當前詞和其上下文詞進行模型訓練,最終得到詞向量。Word2vec主要包含兩個模型,CBOW和Skim-gram,CBOW主要是根據(jù)當前詞的上下文詞來推斷當前詞,而Skim-gram主要是根據(jù)當前詞來推斷上下文的詞,兩個模型的結(jié)構(gòu)圖如圖2和圖3所示。
本文使用中文維基百科語料庫、哈工大信息檢索研究室對外共享語料庫及國家語委現(xiàn)代漢語語料庫作為語料數(shù)據(jù),對Skim-gram模型進行訓練,得到長度為256的詞向量模型。一篇文獻對應(yīng)128個高頻特征詞,一個特征詞經(jīng)過轉(zhuǎn)換可得到長度為256的詞向量,因此一篇文獻可得到128×256的詞向量矩陣,如公式(1)所示。其中每一行代表一個高頻特征詞對應(yīng)的詞向量。
2.4 基于卷積神經(jīng)網(wǎng)絡(luò)的文獻分類算法
基于NLPIR分詞系統(tǒng)與預(yù)處理系統(tǒng),得到了表征文獻特征的128個高頻特征詞,其中標題6個、摘要10個、正文112個。使用訓練好的Skim-gram詞向量模型將高頻特征詞轉(zhuǎn)換成包含文獻特征信息的詞向量矩陣如公式(1)所示。然而該向量矩陣僅為二維矩陣,深度信息較淺,在提取特征的過程中容易丟失信息。為了充分提取特征信息,本文采用圖4所示的預(yù)處理模型對文獻的特征詞向量矩陣進行重組拼接,使用疊加后的三通道三維特征向量組作為分類網(wǎng)絡(luò)的輸入層。
根據(jù)第五版《中國圖書館分類法》,將文獻分成22個基本大類,223個二級分類,2246個詳細分類。為了提升分類的準確性,本文采取多級預(yù)測的方法,在網(wǎng)絡(luò)的不同階段進行多次預(yù)測,利用淺層特征對基本大類進行預(yù)測,利用中層特征結(jié)合基本大類的預(yù)測結(jié)果對二級分類進行預(yù)測分析,結(jié)合深層特征與二級分類結(jié)果對文獻的詳細分類進行預(yù)測,分類網(wǎng)絡(luò)的結(jié)構(gòu)圖如圖5所示。本文使用殘差網(wǎng)絡(luò)進行特征提取,ResN即為殘差網(wǎng)絡(luò)單元,殘差單元加快了深層網(wǎng)絡(luò)的訓練與收斂速度,增強了網(wǎng)絡(luò)的非線性表達能力。本文使用了BN層(Batch Normalization Layer)來代替Dropout機制,加快網(wǎng)絡(luò)收斂防止出現(xiàn)過擬合的現(xiàn)象,對于梯度爆炸及梯度消失有較強的抑制效果。由于需要分類的類別較多,如果采用全連接來進行特征數(shù)據(jù)映射,網(wǎng)絡(luò)參數(shù)數(shù)量會過于龐大,網(wǎng)絡(luò)容易出現(xiàn)過擬合現(xiàn)象。因此本文在對相關(guān)參數(shù)進行分析預(yù)測時,沒有采用全連接層,而是采用了GAP層(Global Average Pooling)來代替全連接層。GAP層大大降低了網(wǎng)絡(luò)的參數(shù)個數(shù),使得特征圖的通道數(shù)與輸出的類別保持一致,相當于剔除了全連接層黑箱子操作的特征,直接賦予了每個通道實際的類別意義。網(wǎng)絡(luò)使用Softmax函數(shù)作為網(wǎng)絡(luò)的分類器,使用交叉熵作為網(wǎng)絡(luò)的損失函數(shù),如公式(2)和(3)所示。
其中,公式(2)是對網(wǎng)絡(luò)最后一層的輸出進行Softmax運算,Yi 表示第i個樣本屬于第j個類別的可能性,最終運算的結(jié)果通常是一個向量[Y1, Y2, Y3, …],表示當前樣本屬于各個類別的概率值。公式(3)是求取得到的向量與實際的樣本標簽的交叉熵,以此作為網(wǎng)絡(luò)的損失值。
網(wǎng)絡(luò)選取預(yù)測概率最高的類別作為文獻的最終分類,鑒于大量文獻同時屬于多個圖書類別,引入閾值法,設(shè)定概率閾值,當文獻類別預(yù)測概率大于設(shè)定的閾值時即認為該文獻屬于該類別。經(jīng)過對比實驗分析,網(wǎng)絡(luò)的最佳閾值為0.88。
3 實驗與分析
3.1? 數(shù)據(jù)集
實驗數(shù)據(jù)集來自上海圖書館出版的《全國報刊索引》,該刊物收錄全國社科、科技期刊6000多種,報紙200余種,內(nèi)容涉及哲學、社會科學、科學與技術(shù)方面的各個學科。條目收錄采取核心期刊全收、非核心期刊選收的原則,現(xiàn)年更新量約50余萬條,為目前國內(nèi)特大型文獻數(shù)據(jù)庫之一。實驗采用2016—2019年二百萬余份刊物,按照8 : 2的比例來劃分訓練集和測試集。實驗基于Ubuntu16.04,Tensorflow框架,Python3.5環(huán)境下對網(wǎng)絡(luò)模型進行訓練,硬件設(shè)施為Intel Core i7 9700k, NVIDIA Titan X顯卡。
3.2 對比實驗分析
由于大量文獻不僅僅只屬于一個《中圖法》類別,因此本文設(shè)置了概率閾值機制,只要某一類別最終預(yù)測的概率超過閾值則認為文獻是屬于該類別的。為了尋找最合適的概率閾值,我們設(shè)計了一組對比試驗來分析不同閾值下網(wǎng)絡(luò)分類的準確率。對比的依據(jù)為分類的完全準確率、部分準確率及錯誤預(yù)測率。完全準確是指網(wǎng)絡(luò)成功預(yù)測到了文獻的所有分類號,部分準確是指網(wǎng)絡(luò)只預(yù)測到了文獻的一部分分類號,錯誤預(yù)測是指網(wǎng)絡(luò)錯誤的將文獻分到了實際標簽中不包含的類別。試驗結(jié)果如表1所示。
從表1可以看出,網(wǎng)絡(luò)在閾值較低時,錯誤率較高,容易將文獻誤分類。當閾值較高時,完全準確率降低,部分準確率升高,網(wǎng)絡(luò)不能很好的將文獻所有所屬類別找出。當閾值為0.88時,完全準確率最高,網(wǎng)絡(luò)的整體表現(xiàn)較好,因此使用0.88作為本文的概率閾值。
為了分析網(wǎng)絡(luò)在文獻分類任務(wù)上的表現(xiàn)力,我們設(shè)計了一組對比實驗,通過與經(jīng)典算法模型及目前較為領(lǐng)先的算法模型的對比來觀察本文網(wǎng)絡(luò)模型的表現(xiàn)。使用相同的訓練集與測試集來對不同網(wǎng)絡(luò)進行訓練與測試,考核標準使用準確率分別對比不同網(wǎng)絡(luò)基本大類、二級分類及詳細分類的完全準確率。實驗結(jié)果如表2所示。
由表2可知,本文網(wǎng)絡(luò)模型在完全準確率上領(lǐng)先參與實驗的其它網(wǎng)絡(luò)模型,基本大類完全準確率為97.66%,二級分類準確率為95.12%,而詳細分類的準確率為92.42%。由于本文算法模型采用多級預(yù)測,使用前一級預(yù)測的結(jié)果來影響后一級預(yù)測的結(jié)果,在很大程度時上可以規(guī)避分類錯誤。
此外,本文對文獻的特征向量矩陣進行了拼接組合的預(yù)處理操作,使得輸入信息量擴大,神經(jīng)網(wǎng)絡(luò)提取到的特征更加豐富。為了驗證這一機制的有效性,我們設(shè)計了一組對比試驗,使用沒有經(jīng)過拼接組合預(yù)處理的特征向量矩陣直接作為輸入。對比算法模型在訓練過程中的收斂情況及準確率的變化結(jié)果如圖6所示。從圖6可以看出,在輸入層進行了拼接組合以后,網(wǎng)絡(luò)的收斂速度得到了提升,且訓練得到的模型效果也得到了一定改善。
4 結(jié)語
本文基于深度學習及《中國圖書館分類法》提出了文獻的自動分類系統(tǒng)。使用NLPIR分詞系統(tǒng)來對文獻進行分詞,使用Skim-gram詞向量模型來訓練詞向量,基于文獻的特征詞向量矩陣與卷積神經(jīng)網(wǎng)絡(luò)來進行文獻的歸類。對比試驗表明,本文的網(wǎng)絡(luò)模型相較于其它參與試驗的模型在文獻的自動識別上有一定優(yōu)勢,基本大類完全準確率為97.66%,二級分類完全準確率為95.12%,而詳細分類的完全準確率為92.42%。卷積神經(jīng)網(wǎng)絡(luò)擁有良好的特征提取能力,能夠準確的提取到文獻的關(guān)鍵信息點,基于卷積神經(jīng)網(wǎng)絡(luò)的文獻分類系統(tǒng)擁有很大的發(fā)展?jié)摿Α4送?,對于語義歧義的研究也有助于提升分類的準確性。在接下來的研究中如何解決同一語義的干擾及如何進一步細化文獻特征是研究的重點與難點。
參考文獻:
[ 1 ]朱紅濤,李姝熹.國內(nèi)圖書館智慧服務(wù)研究綜述[J].圖書館學研究,2019(16):2-8.
[ 2 ]文榕生.類目控制是《中圖法》修訂的重點之一[J].圖書館論壇,2010,30(6):205-208.
[ 3 ]王效岳,白如江,王曉笛,等.海量網(wǎng)絡(luò)學術(shù)文獻自動分類系統(tǒng)[J].圖書情報工作,2013,57(16):117-122.
[ 4 ]謝紅玲,奉國和,何偉林.基于深度學習的科技文獻語義分類研究[J].情報理論與實踐,2018,41(11):149-154.
[ 5]徐彤陽,尹凱.基于深度學習的數(shù)字圖書館文本分類研究[J].情報科學,2019,37(10):13-19.
[ 6]俞敬松,魏一,張永偉,等.基于非參數(shù)貝葉斯模型和深度學習的古文分詞研究[J].中文信息學報,2020,34(6):1-8.
[ 7?]唐琳,郭崇慧,陳靜鋒.中文分詞技術(shù)研究綜述[J].數(shù)據(jù)分析與知識發(fā)現(xiàn),2020,4(Z1):1-17.
[ 8?]郭利敏.基于卷積神經(jīng)網(wǎng)絡(luò)的文獻自動分類研究[J].圖書與情報,2017(6):96-103.
[ 9?]李湘東,胡逸泉,巴志超,等.數(shù)字圖書館多種類型文獻混合自動分類研究[J].圖書館雜志,2014,33(11):42-48.
[ 10]吳小晴,萬國金,李程文,等.一種改進TF-IDF的中文郵件識別算法研究[J].現(xiàn)代電子技術(shù),2020,43(12):83-86.
[11?]ZHANG J,CHOW C.CRATS: an LDA-based model for jointly mining latent communities, regions, activities, topics, and sentiments from geosocial network data[R].IEEE Transactions on Knowledge and Data Engineering,2016, 28(11):2895-2909.
[ 12]吳皋,李明,周稻祥,等.基于深度集成樸素貝葉斯模型的文本分類[J].濟南大學學報(自然科學版),2020(5):1-8.
[ 13?]郭超磊,陳軍華.基于SA-SVM的中文文本分類研究[J].計算機應(yīng)用與軟件,2019,36(3):277-281.
[ 14 ]LAN M, TAN C L, SU J,et al.Supervised and traditional term weighting methods for automatic text categorization[R].IEEE Transactions on Pattern Analysis and Machine Intelligence, 2019, 31(4):721-735.
[ 15]MIKOLOV T , CHEN K , CORRADO G, et al. Efficient estimation of word representations in vector space[J]. Computer Ence, 2013.
[ 16?]XIAO L, WANG G,ZUO Y.Research on patent text classification based on Word2Vec and LSTM[R].International Symposium on Computational Intelligence and Design (ISCID), Hangzhou, China, 2018(11):71-74.
孔 潔 中國勞動關(guān)系學院圖書館中級工程師。 北京,100048。
(收稿日期:2020-07-26 編校:曹曉文,劉 明)