?

基于神經網絡的文獻主題國別標引方法研究

2019-09-18 06:09王新
數字圖書館論壇 2019年7期
關鍵詞:國別標簽卷積

王新

(中國農業科學院農業信息研究所,北京 100081)

在過去幾十年中,已發表的科學論文數量每年攀升8%~9%。僅在生物醫學領域,每年有超過100萬篇論文進入PubMed數據庫,每分鐘約有2篇論文[1]。然而,研究顯示20世紀70年代以來科研人員的人均每年論文閱讀數量趨于平穩[2]。芝加哥大學的社會學家evans[3]認為,大量的論文和相關的在線訪問方式導致了“科學和學術的縮小”。浩如煙海的信息遠超出了個人有效利用的范圍,但信息的序化和組織手段沒有跟上時代發展的需要。大量文獻由于缺乏有效的組織和揭示而游離于用戶視野之外。如何從文獻信息中精準挖掘主題信息,從而有效實現對文獻內容進行組織和揭示,是當前資源建設工作亟待解決的問題。

在XML主題地圖(XTM)格式規范中,文獻主題國別(country topic)被定義為一種主題類型,即國別本身是一種文獻主題。與傳統書目記錄格式如MaRc中反映文獻外在特征的“出版國別”字段不同,它從語義層面對文獻內容的國家主題進行揭示,是指文獻內容所討論的空間范疇,它既可以是研究對象(如國別報告),也可以是揭示研究對象的主題之一(如特定國家的農產品報告)。主題國別是揭示宏觀研究報告類文獻主題內容的重要屬性,對于文獻發現和縮小搜索范圍有不可替代的作用。隨著我國“一帶一路”倡議的推進,企業“走出去”的進程不斷加快,對相關報告類文獻的客觀需求量激增,對文獻主題識別與標引實踐提出了更高的要求。

在實際標引操作中,主題國別同時涉及主題和空間范疇,識別更加復雜。一方面,主題國別與文獻出版國別、作者機構等來源信息不一致,無法通過文獻來源信息判斷文獻主題國別。如經濟學人智庫提供193個國家和地區的報告,依靠出版地或作者機構信息已經無法判斷其內容的主題國別。另一方面,通過命名實體識別(NER)出的國別信息未必是文獻主題國別,報告中經常出現引用相關國家的部分指標數據與文獻主題國別的經濟指標進行對比的情況,這種少量引用的國家信息不能作為該報告的主題國別。僅僅依靠命名實體識別已經無法準確捕捉文獻所討論的國別對象。針對這一問題,本文從機器學習視角,將主題標引問題轉換為多標簽分類問題,在已有人工標注數據基礎上結合自然語言處理和深度學習技術,提出一種利用深度卷積神經網絡,通過監督學習的方式,實現主題國別字段自動識別標引的方法,從而為“互聯網+大數據”時代背景下知識組織領域的相關研究提供有價值的參考,同時為探索深度學習技術在知識領域的相關研究提供借鑒。

1 相關研究

文獻主題識別、抽取及標引一直是信息組織領域的研究熱點,針對這一問題國內外學者分別從不同角度、運用不同方法開展研究,目前所采用的方法主要有以下幾種。

(1)基于文獻計量指標的技術,如關鍵詞的詞頻分析和共現分析的方法。Carthy[4]介紹了一種使用簡單的自然語言處理技術將詞匯相關術語分組到詞匯鏈中的方法,利用詞匯鏈跟蹤新聞并發現主題;Michael-Schultz等[5]提出利用關鍵詞idf加權的余弦相似度檢測新聞主題的方法;王曰芬等[6]介紹了共現分析在文本知識挖掘中的應用;Hu等[7]利用共現分析方法對我國圖書情報學研究主題的演變進行了分析;葉春蕾等[8]提出了一種共詞分析的改進方法,并用于學科主題演化研究;丁晟春等[9]提出了基于關鍵詞共現網絡對網絡輿情潛在主題的抽取方法。

(2)基于主題概率模型LDA、潛在語義分析PLSA及其改進模型的方法。Wang等[10]改進了LDA模型并用于檢測隨時間變化的主題發展趨勢;Glynn等[11]利用貝葉斯分析和動態線性主題模型,對帶有時間戳的文本主題時間演變趨勢進行了研究;Jagarlamudi等[12]提出JointLDA生成模型,用于將不同語言的相關主題合并為一個多語言主題;王曰芬等[13-14]利用LDA主題模型識別科學文獻主題并進行了多視角探討;關鵬等[15]對LDA模型主題抽取數量的確定方法、結合生命周期理論對科學文獻主題挖掘方法[16]以及不同語料下的主題抽取效果進行了探索[17]。

(3)其他方法。夏火松等[18]提出一種基于改進K-means聚類的主題抽取方法,并對新聞評論主題進行了實驗;Zhang等[19]分析了詞嵌入結合K-means聚類算法對文獻主題抽取效果,并通過實驗證明詞嵌入配合K-means方法更適用于大規模集群主題提取任務;祝清松等[20]發現在引文內容分析基礎上識別的主題具有更好的主題代表性,提出基于引文分析的高被引論文主題識別方法;孟令恩等[21]提出一種引入語義角色標注信息外加輔助規則提取專利的方法。

以上研究利用不同方法從多個角度對主題識別抽取進行研究,無論是基于LDA主題模型及其改進方法的研究、基于文獻計量的方法,還是基于K-means聚類、引文分析及語義角色標注的方法,都以關鍵詞和摘要乃至引文作為數據分析的對象,限于數據質量,關鍵詞等信息對全文的代表性和概括性相對有限,這從根本上限制了以上方法的效果。此外,以上方法所采用的模型和算法往往基于詞袋,受限于算法本身,較少考慮詞序和歧義等問題,這也是限制主題發現效果的重要原因。

2 研究思路及關鍵技術

為進一步提高主題發現和抽取能力,同時能夠很好地抽象表示并處理全文中所含詞匯、詞序、句子、句序乃至段落語義信息,本文提出基于深度卷積神經網絡(Deep Convolutional Neural Network,DCNN)的文獻主題國別標引方法。

2.1 深度卷積神經網絡

DCNN是以張量為輸入,通過卷積層和池化層的多層連接拓撲結構,能夠定義足夠充分的假設空間,對文本的語義進行深層次的學習和表示。DCNN繼承了卷積神經網絡的特點,同時具有更多的參數和表示能力,它具有以下特征。

(1)卷積神經網絡善于學習層次結構。通過卷積層、池化層的反復交替,卷積神經網絡可以逐層自動提取文本中的深層次信息。如第一層卷積學習每個前后相鄰3個單詞之間的關系,位于其后的池化層可以將第一層卷積學習到的特征進行“蒸餾”和“組合”,從而獲取6個單詞之間的關系的特征表示,然后再傳遞給下一層卷積層。每層學習粒度大小可以通過卷積核和池化層的超參數控制。通過多層卷積即可實現對全文內容的抽象特征表示。

(2)局部特征的平移不變性(translation invariant)。局部特征一經學習,無論它再次出現在輸入中的任何位置,都不影響對其再次識別。如卷積神經網絡學習到某個特定短語的搭配特征后,該短語再次出現在文首和文末都不影響對其識別。這一特征使卷積神經網絡可以通過較少的樣本學到具有泛化能力的數據表示。

2.2 整體模型架構及思路

文獻主題國別標引問題,可以轉換為多標簽分類問題。在標引問題轉換為分類問題的過程中,其可行性主要基于以下考慮。

(1)國別數量有限,而且國別名稱在一定時間范圍內變動較小。從機器學習的視角看,主題國別標引是一個平穩問題(nonstationary problem),這是衡量機器學習能否勝任該問題的前提。

(2)輸入數據為全文,全文包含用于發現主題國別以及文獻研究對象等高層次語義的全部信息,足夠回答一篇文獻的主題國別。而且,深度學習算法可以通過增加隱藏層來擴展假設空間的容量,能夠完全承載一篇文獻所含的語義特征表示及運算。

(3)輸出為國別,一般來說,一篇文獻只有一個主題國別,但不排除存在一篇文獻有多個主題國別的可能。國別名稱可以作為標簽來衡量機器學習的輸出是否正確。

基于以上分析,使用DCNN解決文獻主題國別標引問題具備了基礎條件。由此文獻主題國別標引問題可以定義如下。

令X代表文獻樣本空間,L={λ1,λ2…λn}為有限個國別名稱標簽集合,假設X中的文獻樣本實例X∈X和國別標簽集合L的一個子集l∈L相關,則該子集l為文獻實例χ的相關標簽集。同時l的補集Ll被認為與χ不相關。χ的相關國別標簽集l可以表示為向量y={y1,y2…yn},其中yi與λi一一對應,yi=1等價于λi∈L,則相關標簽集可用y={0,1}n表示。多標簽分類器h是一個映射χ→y,對每個文獻實例χ∈X,h為其分配一個標簽子集,其輸出為h(χ)=(h1(χ),h2(χ)…hn(χ))。

從實現角度對基于DCNN的文獻主題國別標引架構安排如下:首先,對文獻全文文本進行預處理,轉換為機器可以計算的形式;其次,引入經過預訓練的詞嵌入(word embedding)作為詞匯語義的表征,經過詞嵌入處理,全文由單詞向量序列構成的1階張量轉變為2階張量;再次,將全文張量輸入至DCNN,由神經網絡對文本特征從局部到整體進行逐層學習,自動提取全文特征;最后,將每篇全文的特征壓平為1階向量傳入全連接層,通過訓練后分類后輸出每個類別的概率。整體實驗流程見圖1。

圖1 整體實驗流程

3 數據實證

3.1 數據獲取及分析

本文以“農業”“農業經濟”“農產品”為主題,從中國農業科學院農業對外合作公共信息服務平臺接入的40個不同來源平臺數據集中選取英文文獻2.8萬篇,該平臺發布的數據由專業人員人工標引并通過審核,可以確保數據標注的精度要求。各來源數據分布及語料文本結構分布情況見圖2。

圖2 各來源數據分布及語料文本結構分布情況

對各來源文獻數量分布和語料文本結構分布情況,本文利用自然語言處理工具包NLTK[22]做了初步處理和分析。分析語料文本結構的目的在于為DCNN超參數的配置提供參考。從數據語料文本結構的統計來看,各來源文獻數據集中的句子長度大多在30個單詞左右,句子數量反應了文本的篇幅長短不一,但不影響DCNN對句子內部微觀結構及句子之間關系的學習。

國別標簽的分布情況存在極大的差異,將會在數據清洗和訓練過程中進行處理,處理方法為:保留樣本數量超過300的國別,對于國別數量分布不均采用加權方法進行均衡處理。國別標簽包括316個國家和地區,部分原始數據分布情況見圖3。

3.2 標簽及文本預處理

(1)數據清洗和規范。將數據集中不符合要求的數據剔除,如缺失全文或國別字段、國別標注不規范等情況。將樣本數量低于300的國別數據作為噪聲數據濾掉,保留樣本數量大于300的24個國家和地區,不屬于這24個國家和地區的區域用other標識。

圖3 部分主題國別的文獻數量分布情況

(2)數據類別平衡處理。由于國別標簽的數量分布嚴重不平衡,會對機器學習任務的效果產生不利影響,所以需要對其類別進行平衡處理。常用的數據平衡處理方法有數據級方法和算法級方法。其中,數據級方法分為過度抽樣和欠采樣,過度抽樣方法導致模型易于過擬合,欠采樣會造成樣本量過小,二者都不適合本任務的數據平衡處理。為此,本文使用算法級加權平衡方法,為每個類別分配一個表示其樣本重要性的權重,通過權重和樣本數量相乘,從而解決各類別樣本數量不平衡的問題。

(3)國別標簽向量化。使用獨熱編碼(one-hot)方法對標簽進行編碼,每篇文獻的主題國別被編碼為25維的向量,每個維度對應一個國別,每篇文獻只在其主題國別的位置為1,其他為0。如只有中國、美國、日本、韓國4個國別,按此順序生成獨熱編碼,則國別主題為美國的文獻國別標簽為([0 1 0 0]),而以中美兩國為主題國別的文獻標簽為([1 1 0 0])。

(4)特征工程和文本向量化。由于機器學習算法無法直接處理文本,所以需要對文本進行向量化處理。為完成這一操作,需要將文本分詞,然后再將單詞映射為向量,本文采用獨熱編碼方法,為下一步詞嵌入做準備。將所有文獻中出現過的單詞匯總為一個詞袋(word bag),每個單詞獲得一個編號。然后將全文表示為一列由單詞編號組成的數組,并保留單詞與編號的索引。鑒于實驗數據中部分題名包含主題國別信息,如“country reference November 1997:New Zealand”,這類報告全文所含國別信息較少,因而需要進一步處理,從而使主題國別特征獲得更好的表示。為此,本文對標題和全文分開處理,使用定長獨熱編碼表示標題;全文部分則通過自然語言處理和命名實體識別,抽取包含地名的句子重組,經過編碼后與標題合并作為模型輸入。

經過數據規范、清洗后,剩余有效數據20 331條。數據國別及權重分布情況見圖4。

數據集分為訓練集、驗證集和測試集。首先將數據打亂順序,然后隨機選取其中的13 000條數據作為訓練數據,2 300條數據作為驗證數據,5 000條數據作為測試數據。訓練數據用于訓練模型,使模型在不斷迭代中慢慢學習分類所需的參數權重,最后達到結果最優(精度最高,同時損失最?。?。驗證數據不直接參與訓練,只用于每一輪模型訓練完成后的驗證,通過評估當前模型在驗證數據上的損失率和精確度,為模型訓練的效果及超參數調整提供一個比較客觀的參考。測試數據完全不參與訓練,在模型訓練過程結束后,利用模型對測試數據進行分類,然后將分類結果與人工標注的結果進行比對得出精確度和損失率,以此評估模型的可用性。與驗證數據相比,測試數據避免了信息泄露,對模型的可用性評估更加客觀、準確。對模型來說,測試數據都是“新面孔”,測試結果反映的是模型的泛化能力,泛化能力越好,模型在前所未見的新數據上的表現越好。

實驗環境及平臺情況如下。

系統及硬件:win10 x64;Intel Core i7-7700HQ@2.8GHz CPU;DDR4 32GB;SSD(256G)+Hdd(2TB);NVIDIAQuadroM1200 GDDR5 4GB。

軟件平臺:python 3.7.1;keras 2.2.4;TensorFlow-GPU 1.14;CUDA 10.0.130-411.31;cuDNN 10.0-windows10-x64-v7.6.1.34。

自編python軟件:mysql數據庫讀取程序;數據預處理程序;DCNN深度學習網絡。

3.3 詞嵌入

經過文本向量化處理,所有全文都被映射為向量空間的向量。向量是一維結構(1階張量),無法考慮到平面信息,但平面信息對文本特征處理至關重要。如一個關鍵詞匯在文中多次出現,要獲得其位置及相鄰詞匯關系,就需要2階張量表示;如果要獲取句子、段落語義及更抽象層次關系的表示,就需要更高維度的張量才能做到。此外,獨熱編碼生成的文本向量是高維、稀疏和硬編碼(0和1)的,沒有攜帶語義信息,而且不利于計算。因此,本文使用預訓練的詞嵌入,預訓練的詞嵌入是在大規模文本上通過學習訓練后獲得的相對低維、稠密的向量表示,而且攜帶了單詞的語義信息。經過詞嵌入處理,每一篇全文由向量轉換為富含語義信息的2階張量。預訓練的詞嵌入數據庫有很多,本文選用斯坦福大學于2014年開發的Glove(詞表示全局向量)[23]。

為便于計算,本文選用100維的詞嵌入數據。設輸入文獻樣本數量為10 000,選擇所有文本全部單詞中出現頻率最高的前5 000個單詞作為詞袋,經過100維詞嵌入編碼后,得到輸入數據為形狀(10 000,5 000,100)的3階張量。詞嵌入過程見圖5。

3.4 基于DCNN的全文特征學習與多標簽分類網絡

DCNN從結構上主要包括卷積層、池化層和全連接層。卷積層與池化層交替使用組成深度網絡,主要用于文本深層特征的自動學習,全連接層根據標簽學習分類的權重。DCNN的整體架構見圖6。

卷積層(convolution)定義了一組卷積核,它可以像窗口一樣在句子串上滑動,卷積核的寬度與詞向量的維度一致,這樣就能以單詞為單位進行卷積,即以單詞為最小粒度學習文本的局部特征。以本文實驗為例,由10 000篇訓練集文獻生成的輸入數據是大小為(10 000,5 000,100)形狀的3階張量,其中每一篇文獻樣本被表示為(5 000,100)的2階張量,卷積核的寬度為100,假設設定卷積核的大小為(9,100),就能一次掃描前后相鄰的9個單詞,每次掃描后輸出為一個純數字的標量。一篇文獻的2階張量切片掃描完成后的特征圖(feature map)是形狀(4998,)的向量,該向量是這篇文章中所有前后相鄰的9個單詞之間語義關系的特征表示。通過卷積核的大小控制局部感受野的窗口大小,從而實現不同粒度信息特征的學習。一般來說,越大的卷積核感受野越大,就能學習更全局、語義層次更高的特征,但是相應待學習參數的數量也是倍乘增長的關系。

池化層(pooling)的主要作用有兩方面:一方面是通過下采樣計算,保留特征集合中對分類作用顯著的特征,丟棄不顯著的特征,從而降低輸出結果的維度;另一方面是通過池化層對上一卷積層所得特征圖的“蒸餾”,使下一層卷積層的窗口“擴大”。例如,假設在一個由30個單詞組成的句子中,經過(9,100)卷積核的卷積計算后,可以獲得一個形狀為(22,)的向量,經過形狀為(2,)的池化計算后,結果為(11,)的向量,該向量就是句子中最重要的11種連續9字的語義關系表示。在此基礎上再次卷積,卷積核只需要不小于3,掃描的范圍就可以比較容易地擴大到句子,從而學習到句子乃至更高級別的語義表示。池化層有多種算法,本文采用最大池化(max-pooling)算法,即抽取每個特征向量的最大值表示該特征,一般來說,最大的值表示的是最重要的特征。

圖5 詞嵌入過程示意

圖6 DCNN模型架構

全連接層(dense)接受一個一維向量作為輸入,然后通過學習各個節點的權重,通過激活函數輸出結果。由于本次實驗任務是多標簽分類,所以選擇sigmoid函數作為激活函數,針對每一篇文獻輸出一個在全部國別標簽上的概率分布。相應的,損失函數為二元交叉熵(binary-cross entropy)。此外,本文采用的優化算法為RMSprop。

4 結果分析

4.1 深度學習框架搭建

本文初始模型使用3個卷積層,4個全連接層,所有層的通道數量都設為64。DCNN拓撲結構信息見圖7。

4.2 參數優化

卷積神經網絡的參數有模型深度、卷積核的大小、學習批次(batch size)和學習率η。初始化模型的參數需要在實驗中不斷調整,獲取最優參數,最終得到最佳模型。本文就以上參數對模型進行了測試,結果如下。

4.2.1 模型深度

為測試模型深度對本次學習任務的影響,本文分別對3種配置進行了比較,見表1。其他參數固定不變,分別為卷積核大小為9,學習批次大小為64,學習率為0.001。

從表1數據記錄可以發現,與其他模型深度相比,采用3層卷積的網絡結構可以達到模型收斂速度最快、驗證精度高且驗證損失低。

4.2.2 卷積核

為測試卷積核的大小對模型的影響,將卷積核分別設置為9、5、3進行測試;其他參數分別為3層卷積,學習批次大小64,學習率0.001,結果見表2。

通過表2數據可以發現,卷積核為9的時候模型可以取得最佳效果。

圖7 DCNN拓撲結構

表1 使用不同模型深度參數的網絡性能對比

表2 卷積核大小對模型訓練及性能的影響

4.2.3 學習率和批次大小

學習率和批次大小都影響模型的收斂速度,一般來說,學習率越小,模型收斂需要的時間越久,但精度會不斷提升,而學習率過大會直接導致模型不收斂或學習曲線振幅很大且收斂極慢。經過反復實驗,確定最佳學習率為0.001。批次大小與輸入數據的量有關,本實驗適用的批次大小為64。

最終,模型的參數配置為3層卷積,卷積核為9,學習率為0.001,批次大小為64。訓練結果見圖8和圖9。

從圖8和圖9結果可以看出,訓練集精度不斷提升,模型在訓練到第10輪之后,訓練精度趨于穩定,訓練損失還在逐步降低;模型在驗證集上精度在第16輪達到最高值,同時驗證損失率在第16輪后不變,第18輪開始反彈,證明模型開始出現過擬合。因此可以將epoch的值定為16,獲得分類效果最優、泛化能力最好的模型。

圖8 訓練集和驗證集精確度

圖9 訓練集和驗證集損失率

4.3 結果驗證

最后,將未參與訓練的人工標注數據作為測試集,對訓練完成的模型實際分類效果進行測試,精確度達到了99.6%,證明模型在新數據上具有良好的泛化能力,具體結果見圖10。

圖10 測試集精確度和損失率

5 總結

本文將主題國別標引問題轉換為適于機器學習的多標簽分類問題,利用自然語言處理和深度卷積神經網絡技術,以多來源的2.8萬條文獻全文數據為實驗對象,探討了問題轉換的可行性,基于深度卷積神經網絡設計構建了主題國別識別模型,并通過數據實驗表明,深度卷積神經網絡在主題國別標引任務上具有高精度的識別能力和良好的泛化能力,驗證該方法可行、有效。由此可見,在“互聯網+大數據”時代背景下,深度學習作為一種技術手段,在知識組織研究領域有廣闊的應用前景,對主題標引等相關研究具有重要的參考價值。當然,本文研究還存在不足之處,如并未進行其他方法在該任務上的效果對比研究,對現有成果改進和完善也是下一步的研究方向。

猜你喜歡
國別標簽卷積
基于3D-Winograd的快速卷積算法設計及FPGA實現
國別成謎的紀王崮春秋大墓
卷積神經網絡的分析與設計
從濾波器理解卷積
無懼標簽 Alfa Romeo Giulia 200HP
不害怕撕掉標簽的人,都活出了真正的漂亮
基于傅里葉域卷積表示的目標跟蹤算法
讓衣柜擺脫“雜亂無章”的標簽
科學家的標簽
2014年2月不銹板(帶)分國別(地區)進口情況萬噸,萬美元
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合