謝慶恒
(國家圖書館,北京 100081)
當前,我國智慧圖書館建設的理論與實踐研究方興未艾,文獻分類是圖書館賴以生存的重要基礎,是智慧圖書館建設中的重要一環。面對圖書館智慧化發展的新需求,國家圖書館于2020年提出建設“1+3+N”的“全國智慧圖書館體系”建設總架構[1]。隨后,《國家圖書館“十四五”發展規劃》中明確提出推進文獻信息智能化加工與編目,并對文獻自動分類工作做出了具體要求和部署[2]。科技文獻是指報道科技領域原創實證研究與理論研究的文獻。按載體性質可劃分為印刷型、縮微型、數字型、實物型;按出版形式可劃分為科技圖書、科技期刊、專利文獻、會議文獻、科技報告、政府出版物、學位論文、標準文獻、產品資料等[3]。學位論文尤其是博士學位論文是一類重要的科技文獻,同時也是圖書館的特色館藏,具有重要的開發和利用價值。實現以學位論文為典型代表的科技文獻的自動化標引是推動落實《國家圖書館“十四五”發展規劃》的客觀要求和重要舉措。近年來,我國博士教育事業蓬勃發展,博士畢業生從2011年的50289人逐年增長到2020年的66176人,年均增長3.1%[4],學位論文數量的穩定增長客觀上對學位論文的標引效率提出了更高要求,現有傳統人工文獻標引工作效率低下的弊端逐漸顯現,而現有技術條件下標引效率難以提升[5],亟需利用現代信息技術革新標引方式,重構標引流程,實現學位論文等科技文獻標引的自動化和智慧化。因此,開展科技文獻標引自動化研究,在應對科技文獻數量高增長現狀、滿足提高科技文獻標引效率客觀需求、加快推動智慧圖書館建設實踐方面具有積極意義。
文本自動分類是自然語言處理領域的經典問題,一般包括文本特征表示、分類器選擇與訓練、分類結果評價與反饋等過程,相關研究可追溯到20世紀50年代。從分類方法來看,主要經歷了基于專家規則到基于統計特征學習[6],再到傳統機器學習[7-9]與深度學習神經網絡[10-13]的發展歷程。深度學習方法出現以前,文本分類大都是淺層次的特征提取,對于文本背后的語義、結構、序列和上下文理解不夠,因此分類效果不夠理想。近年來,隨著深度學習技術的快速發展,特別是2018年Google推出BERT模型以來[14],文本分類效果得到顯著改善,之后又出現GPT2、XLnet等改進模型,使得效果得到進一步提升。從研究對象上來看,深度學習技術的出現和應用,有效拓展了文本分類的應用場景,主要包括網絡輿情分析[15]、情感分析[16]、問答系統[17]、金融[18]、新聞傳播[19]等行業應用。可以說,深度學習技術在推動提升政府管理能力、營造健康網絡環境、助力行業良性發展等方面發揮了重要作用,是現代經濟社會健康發展不可或缺的重要科技力量。
相較于轟轟烈烈的行業應用研究,科技文獻自動分類得到的關注相對較少。筆者在中國知網以篇名“科技文獻”包含“分類”檢索出中文文獻9篇。其中比較有代表性的有檀林[20]等利用科技文獻的毗鄰文所屬的類這一信息,結合科技文獻的內容提出了一種協調迭代的科技文獻分類方法,效果比傳統方法有所改進。白小明[21]等基于SVM和KNN算法研究設計了科技文獻自動分類方法,分類性能較好。周麗紅[22]等用PredictiveApriori關聯算法構建基于關聯規則的科技文獻分類方法,取得了較好效果。謝紅玲[23]等基于深度學習模型,比較了簡單RNN、LSTM和GRU模型對科技文獻的分類效果,結果表明三者均對未去停用詞的科技文獻分類效果較好,其中LSTM模型效果最好。張智雄[24]等運用層次分類思想設計和實現了一個基于多層分類器集群的科技文獻自動分類引擎系統,并重點解決了科技文獻自動分類引擎建設中的高質量數據獲取、多層次分類器構建、處理流程優化和開放接口調用等4個關鍵問題。而學位論文的自動分類研究則更少,僅有1篇[25],且發表時間較早。可見,深度學習模型應用在科技文獻自動分類領域是完全可行的,同時也可以看到這方面應用目前不多,仍需加強推廣。學位論文是一類重要的科技文獻,開展學位論文的自動分類研究是拓寬深度學習研究領域,解決人工分類效率低下難題的重要嘗試。因此,筆者基于BERT構建學位論文自動分類模型,以《中國圖書館分類法》R類(醫學類)和S類(農學類)學位論文為例,通過實驗驗證模型在實際分類中的效果,以期為科技文獻自動分類的實際應用提供一定參考。
BERT[14]是Google團隊于2018年提出的基于Transformer[26]衍生出的雙向自編碼表征模型,在11種經典自然語言處理測試中取得理想表現,具有里程碑意義。如圖1a所示,該模型采用Transformer的Encoder模塊,從前后兩個方向獲取文本特征表示。其中X1,X2,…,XN表示輸入字符,經過多層(筆者采用12層)雙向Transformer訓練后生成相應的向量表示T1,T2,…,TN。其中,Transformer采用Encoder-Decoder結構,摒棄了傳統的CNN和RNN,采用Self-Attention機制獲取字詞之間的依賴關系,使得模型輸出的文本語義表示能夠刻畫語言的本質。BERT僅采用Transformer的Encoder部分,文本輸入由字嵌入(token embedding)、句嵌入(segment embedding)和位置嵌入(position embedding)3部分相加構成,每句話用CLS和SEP作為開頭和結尾的標記。BERT中文預訓練使用字典文件,該文件包含標記符與漢字,且都被統一賦予唯一編號。字嵌入通過查找字典獲取編號;句嵌入則表示屬于哪個句子,一般用0表示上句,1表示下句;位置嵌入則采用模型動態學習獲取。BERT預訓練主要包括遮擋語言模型(masked language model,MLM)和下一句預測(next sentence prediction,NSP)兩個任務。BERT下游任務主要是使用預訓練階段的詞向量完成諸如情感分析、句子關系判斷、問答任務、命名實體識別等任務,即所謂的微調(fine-tunning)。BERT輸出已完成封裝,對于情感分析等單句分類任務,可以直接輸入單個句子,將[CLS]的輸出直接輸入到分類器進行分類;對于句子關系判斷任務,需要用[SEP]分隔兩個句子輸入模型中,然后同樣僅需將[CLS]的輸出送到分類器進行分類,比較常見的是采用Softmax分類器(見圖1b)。

圖1 BERT模型結構
筆者的數據采集來自萬方中國學位論文全文數據庫①。以中圖法分類號R、S一級類下的四至五級類目為檢索項,分別采集到近些年來論文數據260995條和137885條,每條數據包含題名、摘要和類號,類號細分到四至五級,如四級類號R737.1、S332,五級類號R811.1、S881.2,數據樣例如圖2所示。

圖2 數據樣例
經過清洗、去重、刪除等操作得到無重復的高質量數據R類目1123類199451條和S類目1321類135184條,其中相當數量的類號下文獻數量不足10條。為消除訓練數據由于分布不均帶來的影響,筆者制定了分類訓練樣本的類目篩選規則,具體如下(以S類處理為例,R類做類似處理):
(1)以1321個深層級類目為起點,自下而上進行各類目下文獻的統計篩選工作;
(2)若某個類目下的文獻數量大于等于300,則將該類目直接列入最終類目列表;
(3)若某個類目下的文獻數量小于300,則將該類目下的文獻合并到其上級類目;
(4)若合并后的類目層級小于四級,則將該類目舍棄,否則,統計合并后的類目下文獻數量,若小于300,則重復步驟(3);
(5)若合并后類目下的文獻數量不小于300,則將該類目列入最終列表。
整個篩選流程如圖3所示,下面以S661和S662為例對上述篩選規則加以解釋說明。S661類目下共有S661.1-S661.9共7類2168篇文獻,其中S661.1和S661.2文獻數量均大于300,按照上述規則將這兩個類目直接列入最終類目。S661.3-S661.9各類目的文獻數據則均小于300,故將各個類目下的文獻合并到上級類目S661,得到S661類目文獻146篇,數量依然小于300,此時,重復步驟(3)再向上合并到S661(三級類目),類目層級小于四級,滿足條件(4),故舍棄。類似地,S662類目下共有S662.1-S662.9共6類1043篇文獻,其中S662.1包含文獻528篇,按照規則直接列入最終類目列表。S662.2-S662.9各類目因文獻數量均小于300故將其合并到上級類目S662中,得到文獻515篇,數量大于300且類目層級為四級,滿足條件(5),所以將S662列入最終類目列表,最終得到表1所示的結果。共得到S類目135類共計108762條數據,再按照8∶1∶1分別將各類隨機分成訓練集、驗證集和測試集。同樣地,得到R類目129類共計169495條數據,再按照8∶1∶1分別將各類隨機分成訓練集(135643條)、驗證集(16897條)和測試集(16955條)。二者共同組成本文數據集。

表1 S661和S662下級類目及文獻數量

圖3 類目篩選處理流程
由于Pytorch在易用性與速度方面較優,因此筆者采用Pytorch搭建深度學習框架,實驗環境如表2所示。

表2 實驗環境
采用經典的精確率(P)、召回率(R)、F1值作為模型分類結果評價依據。其中P表示預測為正樣本中實際為正樣本的比率,反映的是模型查準的能力;R表示實際為正樣本中預測為正樣本的比率,反映的是模型查全的能力;F1值綜合平衡了二者信息,計算公式為:F1=(2×P×R)/(P+R)。
4.3.1 基線模型對比
為了檢驗模型的分類效果,基線模型采用經典模型Word2Vec和FastText。為提高檢驗效率,訓練語料采用前文預處理數據集中的題名數據部分。模型的基本設置如下:
(1)Word2Vec:使用Jieba分詞工具將每個句子進行切詞并轉換為二維list形式,基于已有的Word2Vec[27]詞向量生成詞向量再取各詞的平均向量作為句子的向量表示。模型參數設置為學習率0.01,訓練輪次epoch為3,批次大小為128,dropout率為0.5,采用交叉熵計算損失并通過隨機梯度下降法更新模型權重。
(2)FastText:使用已有的FastText[28]中文詞向量生成詞向量,其他與(1)一致。
(3)BERT:采用Google發布的預訓練好的中文模型“BERT-Base,Chinese”生成詞向量,取模型輸出結果中的“pooler_output”層作為句子向量表示,模型學習率設置為5e-5,epoch為3,批次大小128,dropout率為0.5,損失函數仍采用交叉熵計算方法,通過隨機梯度下降法更新模型權重計算出分類結果(見表3)。

表3 基于題名的模型分類結果
從表3可以看出,在兩個類別上BERT模型的F1值均高于傳統的Word2Vec和FastText模型,S類分別高出18.91和20.45個百分點,R類分別高出13.32和18.64個百分點,可見BERT模型憑借良好的特征抽取能力保證了其分類效果好于傳統模型。因此,筆者選用BERT作為分類模型。
4.3.2 BERT模型結果
訓練語料采用前文預處理的數據集的摘要數據部分。參數設置如下:輸入層采用Google發布的預訓練好的中文模型“BERT-Base,Chinese”,該模型采用12層Transformer,隱藏層的維度為768,Multi-Head-Attention的參數為12,激活函數為Relu,模型總參數大小為110 MB。模型訓練參數批次大小(batch_size)設置為40,學習率5e-5,最大序列長度(pad_size)為400,優化器為Adam,dropout率為0.5,訓練輪次epoch為2。采用隨機梯度下降法對模型權重進行更新(見表4)。

表4 基于摘要的模型分類結果
結合表3和表4可以看出,S類上基于摘要的BERT模型F1值比基于題名的要高出約1個百分點,R類則高出約兩個百分點,表明基于摘要數據的分類效果好于基于題名數據。題名是學位論文內容的直觀表達,是學位論文最直觀的標簽。摘要則能較全面地反映學位論文的內容,是學位論文的精簡版。可見摘要對論文內容的表達更為詳盡,對論文主題的揭示更加充分。同時也表明BERT能夠提取出摘要中的文本特征,能夠較好識別摘要中的詳細信息。
具體來看,R、S類別中F1值提升占比分別為23.26%和62.22%。把S類F1值按照不同變化程度分為8組,分別為{>0.2,[0.1,0.2],[0.06,0.1),(0,0.06),0,[-0.1,0),[-0.2,-0.1),<-0.2},并以此為X值,將對應分組內的基于題名的分類F1值均值(以下簡稱前值)作為Y值繪制直方圖(見圖4)。可以看出,在提升20%以上分段內的前值為0.35,隨后逐漸遞增,到0分段時達到最大值0.89,之后再逐步降低到降低20%以上的分段內的0.51,整體上呈倒U型分布,即在前值較小的樣本上F1值變化幅度較為劇烈,而前值較大的樣本上F1值變化較為溫和。

圖4 S類(農學類)F1值變化分布情況
通過對各分組內樣本文本信息的分析,可以按F1值變化的不同情況將樣本分為雙顯性主題(Title Strength-Abstract Strength,簡稱TSAS型)、題名隱性摘要顯性主題(Title Weakness-Abstract Strength,簡稱TWAS型)和題名顯性摘要隱性主題(Title Strength-Abstract Weakness,簡稱TSAW型)等3大類型,類似的情形也出現在R類別上。
(1)TSAS型(雙顯性主題)。指的是題名或摘要中主題詞比較明顯,二者均能明顯體現分類主題。如F1值變化幅度不大的S664.1類(核桃)和R736.4類(垂體腺瘤),二者大多數樣本的題名和摘要中都一次或多次出現對應主題詞,使模型從題名和摘要中都能輕易提取到對應主題的信息特征,從而提高分類效果。因此,該類型樣本基于題名和摘要得到的分類效果相差不明顯,表現為F1值變化較為溫和。
例1:
2001#$a大別山山核桃遺傳多樣性及經濟性狀分析
330##$a大別山山核桃主要分布在安徽大別山區,分析大別山山核桃天然種群遺傳多樣性及經濟性狀,旨在更好地保護和合理地開發大別山山核桃資源,從而進一步開展引種試驗和示范推廣,推進我省山核桃產業轉型升級。本文選取自然分布區內的13個種群,運用方差分析、聚類分析、ISSR標記等方法分析了4個堅果經濟性狀、11個營養物質含量、6個表形性狀。獲得結果如下……
解析:題名中出現“山核桃”這一主題詞,特別是摘要中也多次出現,使得模型從題名和摘要中都能輕易地提取到文本“山核桃”這一主要特征信息,從而提高分類準確率,二者的分類效果也無差別(F1值均為89.41%)。
例2:
2001#$a垂體腺瘤生物學特性的相關因素研究
330##$a本課題通過研究垂體腺瘤的臨床和影像學資料;內分泌功能(P R L、GH、ACTH、T S H、F S H、LH)及腫瘤相關抗體(p16、FGF R-4、c-erbB-2、CD44、Ⅳ型膠原)在細胞中的表達,以探討影響垂體腺瘤增殖、侵襲和預后等生物學特性的相關因素……分析臨床資料與垂體腺瘤增殖性和侵襲性的關系……結果:所有95例垂體腺瘤病例中無內分泌功能性腺瘤48例……
解析:題名中出現“垂體腺瘤”這一關鍵詞,在摘要中也多次出現,模型從題名和摘要中都能輕易提取出“垂體腺瘤”這一主題信息,從而提高分類效果,二者分類效果相同(F1值均為88.57%)。
(2)TWAS型(題名隱性摘要顯性主題)。指的是題名或摘要中難以輕易識別出主題內容,尤其是通過題名難以提煉出主題信息,模型需要通過對摘要信息的詳細“閱讀”獲取論文主題再進行分類判斷,這種情況下基于摘要的分類效果往往要好于基于題名的分類效果,表現為F1值提升幅度較大。
例3:
2001#$a甘藍型油菜開花時間的遺傳及株高和開花時間的Q TL定位
330##$a甘藍型油菜是中國重要的油料作物,是中國食用植物油的主要來源。株高和開花時間是當前油菜育種的兩個重要性狀,適當的降低株高和縮短開花時間,對于提高油菜抗倒伏性和早熟性,推動油菜機械化收獲,促進油菜產業發展具有戰略意義……
解析:題名中主題詞“甘藍型油菜”直觀地揭示了論文研究主題為“油菜”,很容易將其分類到S634.3(蔬菜園藝類)。但從摘要內容來看,論文研究主題是作為油料作物的油菜,而非蔬菜類的小白菜,應分入S565.4(油料作物類)。油料作物這一信息只能從摘要內容中識別。因此,基于摘要的分類效果(F1值76.73%)好于基于題名(F1值73.15%)。
例4:
2001#$a經縫牽引成骨術前后顴骨體積的測量及體外細胞模型的構建研究
330##$a面中部骨骼發育不全嚴重影響患兒的身心健康,目前臨床上主要應用正頜外科截骨/植骨術、正畸治療、截骨成骨術、經縫牽引成骨術(Tr a ns-sutu r a l D ist r a c tion Ost e og e n e sis,T S D O)治療此種……T S D O通過對患者面部骨縫進行持續牽引從而促進面部骨骼重塑,……綜上,面縫具有哪些不同于顱縫的特性、如何在體外構建T S D O的面縫細胞力學模型均亟待闡明。故本研究目的為首次從體積測量的角度全面證實T S D O可促進面部新骨形成(顴骨)……
解析:題名中主題詞“成骨術”直觀地揭示了論文研究主題為“外科手術”,很容易將其分類到R687.3(骨骼手術)。但從摘要內容來看,論文研究主題是面部骨骼的外科手術,具有一定的專指性,應分入R782.2(口腔頜面部整形外科學),而這一信息主要來自摘要內容。因此,基于摘要的分類效果(F1值75.52%)好于基于題名(F1值71.01%)。
(3)TSAW型(題名顯性摘要隱性主題)。指的是題名中主題比較明確,但在摘要中由于背景介紹、表達方式等對主題內容的表達造成了一定的干擾,對題名主題進行了一定的隱匿。在這種情況下,基于摘要的分類效果反而不如基于題名的理想。
例5:
2001#$a聯合地基L i DA R與無人機L i DA R的白樺蓄積量反演研究
330##$a森林蓄積量是描述森林生態系統功能和生產力的重要物理指標……如何快速準確地獲取森林蓄積量,成為近年來森林資源質量動態監測和林業可持續發展的關鍵。森林蓄積量的基本單元是每棵活立木的材積……本文以河北省承德市塞罕壩森林公園內的人工白樺林和張家口市老虎溝村的天然白樺林作為研究對象,聯合地基L i DA R和無人機L i DA R數據完成了白樺樣地森林蓄積量的反演研究。具體研究內容如下……
解析:題名中“白樺”直觀揭示了論文研究對象為“白樺”。而摘要中開篇主要講述森林蓄積量的指標意義及測度反演方法,在一大段論述后提出研究主題“白樺”,給模型提取“白樺”這一研究主題造成嚴重干擾,很容易誤分到S758.5(森林蓄積量),而不是正確的分類S792.153(白樺)中。因此,基于摘要的分類效果(F1值32.56%)反而比基于題名的(F1值59.63%)差。
例6:
2001#$a ETV治療CHB患者肝細胞癌發生率及預測因子的研究
330##$a目的:對接受恩替卡韋(Entecavir,ETV)治療的慢性乙型肝炎(Chronic Hepatitis B viral hepatitis,CHB)患者原發性肝細胞癌(Hepatocellular Carcinoma,HCC)的發生率及預測因子的研究,探討ETV治療慢性乙型肝炎患者對HCC發生率的影響。方法:……結論:……對于年齡大于50歲的男性患者,尤其是HBeAg陰性慢性乙型肝炎患者,應定期加強監測,盡早發現肝癌,從而改善患者預后。
解析:題名中的“肝細胞癌”這一主題詞能夠清晰明了地揭示論文主題,容易給出正確的分類號R735.7(肝癌)。而摘要開篇“乙型肝炎”對“肝癌”的特征識別造成了一定干擾,易誤分到病毒性肝類R512.6。因此,基于摘要的分類效果(F1值84.16%)不如基于題名的效果(F1值87.28%)理想。
從模型原理上來看,如圖1所示,主要有兩大部分影響模型分類效果。一個是文本表示部分。文本表示主要是通過詞向量模型對待分類文本進行向量化表征以提取文本信息,包括靜態和動態兩種。一般而言,動態詞向量(如筆者采用的BERT模型)能綜合文本上下文、語法、詞性等信息,對文本信息的提取能力較強,因此采用動態詞向量有助于提高模型分類效果。另一個是分類器部分。分類器是將文本向量按照一定的規則進行歸類,一般采用神經網絡模型,比如本文模型就采用經典的Softmax神經網絡分類器,它能通過交叉損失熵的反向傳播不斷迭代更新神經網絡參數,使模型朝著損失最小的方向演化,以提高分類效果。
在本研究模型結果分析中可以發現,BERT對文本信息的提取能力優于靜態模型Word2Vec和FastText,是模型分類效果優良的重要保證。TSAS型(雙顯性主題)中,不管是題名還是摘要,BERT都能成功準確提取主題信息,尤其是在TWAS型(題名隱性摘要顯性主題)中,BERT能抓取到題名中遺漏的重要信息。分類器主要進行的是監督分類,因此文本標簽質量就顯得十分重要。文本標簽的混亂會對模型分類效果造成較大影響,特別是同類文本被貼上不同標簽時,會給分類器帶來很大“困惑”。比如前文提到的“油菜”這一主題,有的被分到S634.3,有的被分到S565.4,這樣分類器在進行交叉熵反向傳播更新參數時會出現混亂,難以找到最優值,導致分類效果不夠理想。
文獻分類是圖書館學、情報學領域的經典課題,傳統的人工文獻分類方法在文獻數量暴增的當下已不太適用,深度學習技術的快速發展使得文獻的自動分類成為可能。筆者構建BERT分類模型,以醫學類和農學類學位論文為例,分別基于題名和摘要數據對科技文獻的自動分類展開了探討。結果顯示,在兩大類別上基于摘要數據的分類效果整體上均好于基于題名,摘要數據集上醫學類和農學類F1值分別達到77.78%和69.07%,相應高于題名數據集上的75.04%和68.10%。從具體樣本來看,按照F1值變化的不同情況將樣本分為TSAS型(雙顯性主題)、TWAS型(題名隱性摘要顯性主題)和TSAW型(題名顯性摘要隱性主題)。在TSAS型上基于摘要的分類提升效果不太明顯,同時也彰顯訓練樣本分類質量的重要性。TWAS型中摘要的詳細表達給模型分類效果帶來較大提升,說明模型訓練樣本承載詳細信息的重要性。TSAW型中由于寫作方式等問題給模型提取信息造成了一定的干擾,出現了信息冗余,導致基于摘要的分類效果不如基于題名的效果,說明論文寫作的規范性對模型分類效果具有重要影響。
鑒于訓練樣本分類質量、寫作方式和樣本承載信息量對模型分類效果的重要影響,筆者從以下3個方面提出相應建議,以期提高學位論文等科技文獻的自動分類效果。
(1)夯實數據質量
數據是模型進行自動分類的重要基礎,是模型分類結果的決定性因素。訓練樣本的數據質量決定了模型分類器參數的更新方向,直接影響分類效果。應通過人工審核、校驗等過程提高訓練語料的分類數據質量,盡量避免同類樣本被誤分到不同類目的現象發生。
(2)規范寫作方式
直入主題的寫作方式便于模型對主題特征的提取。論文作者在寫作摘要時應當開門見山、直截了當地表達論文主題思想,盡量避免背景介紹、內容綜述鋪墊過多而造成的對主題信息的干擾甚至淹沒。可以適當精簡背景分析和對主題來龍去脈的介紹,而把重點放在論文主題相關內容的描述和解析上。
(3)拓寬信息來源
題名、摘要、關鍵詞、引言、結論等都是學位論文的重要組成部分,是論文主題的主要信息點。這些部分均難以單獨全面、充分地揭示論文主題。因此,需要將這些信息點融合起來,通過不同信息源之間的互補來彌補單一信息源揭示不夠全面、充分的缺陷,從而達到提高分類質量的目的。
注釋:
① 萬方中國學位論文全文數據庫.https://c.wanfangdata.com.cn/thesis.