王英杰,謝 彬,李寧波
(中國電子科技集團公司第三十二研究所,上海 201808)
近年來,網(wǎng)絡已經(jīng)成為科研人員獲得信息的重要渠道。由于網(wǎng)絡中科技文獻的數(shù)量飛速增長,因此亟需一種能自動分析大量科技文獻并抽取有價值信息的自然語言處理工具。隨著深度學習的快速發(fā)展,其在自然語言處理領域得到廣泛應用[1],該領域的相關研究也取得了重大進展。然而,深度學習本身的局限性使得模型在訓練時需要大量人工標注的數(shù)據(jù)集[2]。對一般領域而言,通過一些眾包平臺可以得到大量帶標簽的數(shù)據(jù)集,且獲取方式比較簡單,但是對于科技、醫(yī)療、軍事等特殊領域,由于數(shù)據(jù)可能涉及不同層面的專業(yè)知識,標注數(shù)據(jù)需要專家的參與,因此數(shù)據(jù)集的獲取難度較大且成本較高。
以BERT[3]為代表的預訓練方法降低了模型對大型數(shù)據(jù)集的依賴性,其在多種自然語言處理任務中的表現(xiàn)均超越了ELMo[4]和GPT[5]方法。由于這些模型都是針對通用語料進行訓練,因此在一些通用領域的自然語言處理任務中可以獲得較好的效果。但是科技、醫(yī)療等專業(yè)領域存在大量專有名詞,這些專有名詞的詞義與通用領域大不相同,模型對某些詞的理解可能會出現(xiàn)偏差,進而影響模型決策的準確性[6-7]。
本文提出一種面向中文科技文本分析的預訓練模型ALICE。在BERT模型的基礎上對大量科技語料進行預訓練,利用遷移學習得到的語言表征改善模型在小數(shù)據(jù)集上的自然語言處理性能。
針對語言表征預訓練的研究工作已經(jīng)進行了數(shù)十年,從傳統(tǒng)密集分布的非神經(jīng)詞嵌入模型[8]到基于神經(jīng)網(wǎng)絡的Word2Vec[9]和GloVe[10],這些工作為自然語言理解任務提供了一種初始化權值的方法,對模型的表現(xiàn)有明顯的提升作用[11]。Word2Vec通過對前后n個詞的依賴關系建模,學習詞毗鄰出現(xiàn)的概率,GloVe使用詞共現(xiàn)矩陣學習更廣泛的共現(xiàn)概率。CoVe[12]利用神經(jīng)翻譯的編碼器在詞嵌入中添加含有上下文背景的表征向量,使模型學習上下文背景化的語義。
ELMo[4]未采用這種傳統(tǒng)的學習靜態(tài)詞向量的方法,其在大量語料中訓練一個雙向神經(jīng)語言模型(bidirectional Neural Language Model,biNLM),通過該模型從語料集中抽取詞匯在不同語境下的含義。OpenAI GPT[5]使用多層Transformer[13]解碼器加強模型對上下文背景知識的感知能力。BERT使用多層Transformer編碼器學習詞匯前后的語義依賴關系,并通過遮罩語言模型(Mask Language Model,MLM)解決BERT的輸入在多層Transformer結構中的“鏡像問題”。文獻[14]提出知識融合與對話語言模型的概念,針對中文通用領域的自然語言處理任務對BERT進行優(yōu)化,得到ERNIE模型。
在自然語言處理領域,數(shù)據(jù)量最多的是無標簽數(shù)據(jù),在大量無標簽的數(shù)據(jù)集上訓練模型可以提高有監(jiān)督任務的表現(xiàn)[15]。Skip-Thought[16]使用遷移學習方法通過上下文語句的向量預測輸出內容,CoVe[12]從機器翻譯任務中抽取知識并將其成功遷移至其他自然語言理解任務中。
深度學習模型需要數(shù)量龐大的人工標注數(shù)據(jù)[17],很多領域由于缺乏人工標注的數(shù)據(jù)資源,模型的表現(xiàn)受到限制。對于小數(shù)據(jù)集的自然語言處理任務,文獻[18]提出一種高效的遷移學習方法,以緩解數(shù)據(jù)不足的問題。對于一些特殊的領域,如生物醫(yī)療,研究者直接從大量的生物醫(yī)療語料中抽取信息,并將其用于其他相關的自然語言處理任務中,以提高模型的表現(xiàn)[19-20]。即使在擁有大量有標簽數(shù)據(jù)的情況下,也可以利用從大量語料中遷移學習得到的知識訓練詞表征,提升模型的表現(xiàn)[9]。
BERT通過對語言模型進行無監(jiān)督預訓練,抽取出大量的語義知識,將這些知識遷移到其他自然語言處理任務中,不僅可以提高模型的表現(xiàn),而且對于小數(shù)據(jù)集的任務有較好的效果。
BERT采用雙向Transformer結構,通過放縮點積注意力與多頭注意力直接獲取語言單位的雙向語義關系,其信息獲取的準確性優(yōu)于傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)模型和正反向RNN網(wǎng)絡直接拼接的雙向RNN模型。此外,BERT將輸入詞的15%按一定規(guī)則進行遮罩(Mask),通過訓練語言模型進行預測,從而抵消“鏡像問題”的影響。然而,語言模型無法學習到句子間的關系,為了解決這一問題,BERT引入下句話預測(Next Sentence Predicts,NSP)機制。在預訓練后,BERT無需引入復雜的模型結構,只需對不同的自然語言處理任務進行微調并學習少量新參數(shù),即可通過歸納式遷移學習將模型用于源域與目標域均不相同的新任務中。需要說明的是,BERT模型對100多種語言進行了預訓練,而本文主要針對中文進行自然語言處理,因此,若沒有特殊說明,下文出現(xiàn)的BERT均指針對中文語料訓練的BERT-Chinese。
本文ALICE文本分析模型主要從詞語遮罩語言模型、命名實體級遮罩、Transformer編碼器、預處理方法和預訓練語料5個方面進行介紹。
英文中單詞(word)是可以表達具體意思的最小單位,與英文不同,在中文里,由兩個或者兩個以上的字(character)組成的詞語(phrase)才是表達具體意思的最小單位。BERT對CJK Unicode范圍內的每個字添加空格,并且使用WordPiece對句子進行分字(tokenize),將句子拆成不連續(xù)的字后作為Transformer的輸入。這種方法雖然提高了模型對不同語言的適應能力和處理能力,但是削弱了對于中文這種以詞語為最小語義單位的語言的語義表達。針對上述問題,本文對BERT的中文輸入方式進行改進,將整個詞語作為輸入,并以詞語為最小語言單位,選取15%的詞進行類似于BERT中遮罩、替換和保持不變的操作,如圖1所示。經(jīng)過這種詞語遮罩預測任務的訓練,模型可以學習到更豐富的語義關系。
圖1 BERT、ERNIE、ALICE輸入方式的比較
Fig.1 Comparison of the input modes of BERT,ERNIE and ALICE
由于中文的字和詞語數(shù)量龐大,為了降低訓練時的內存開銷,需要對詞匯表進行篩選,選取53 494個常用詞作為ALICE的詞匯表,對于一些詞匯表中沒有出現(xiàn)的詞語(OOV問題),需對其進行分字處理。
ERNIE[14]模型中引入了命名實體級遮罩的概念,對BERT模型的遮罩方式進行修改,ERNIE以命名實體為單位,選擇連續(xù)的輸入字進行遮罩,其遮罩形式如圖1所示,這種連續(xù)的遮罩方式使模型的自然語言處理效果更好。
在ALICE模型中,由于詞匯表只覆蓋一部分常用的中文詞語,一些命名實體、新詞等并沒有出現(xiàn)在詞匯表中。因此,本文借鑒ERNIE的方法,使用命名實體級別的遮罩方式來彌補分字處理的不足,讓模型學習到的語言表征包含更豐富的語義關系。引入命名實體級遮罩后,ALICE與ERNIE輸入方式的對比如圖2所示。
圖2 ALICE和ERNIE的輸入方式對比
Fig.2 Comparison of the input modes between ERNIE and ALICE
ALICE與BERT的結構類似,都使用多層Transformer編碼器,通過多頭自注意力層捕捉句中每個詞的上下文信息。對于一個給定字,Transformer將該字在詞匯表中的位置、分句的位置以及與其他字的相對位置相加,以獲得該字的輸入表示。對Transformer的輸入方式進行修改后,ALICE模型的輸入如圖3所示。其中,E代表嵌入,I代表輸入。
圖3 Transformer輸入方式
對于需要進行預訓練的句子,用[CLS]表示句子的開端,以[SEP]充當逗號對句子進行分割。如前文所述,本文未使用BERT的WordPiece分詞方法,而是使用pkuseg[21]進行分詞操作,然后在每個詞的周圍添加空格。pkuseg分詞工具與THULAC、jieba相比擁有更高的F1值,在多種數(shù)據(jù)集上的平均F1值分別比THULAC、jieba高出3.21%和9.68%。
科技預訓練語料集包括約80萬篇文章,其中60萬篇來自百度百科、微信公眾號以及各領域期刊論文,其余的20萬篇來自各大門戶網(wǎng)站的相關文章。計算機、生物科技、軍事科技、空間科技的文章分別占50%、20%、20%和10%。語料集少部分期刊論文為全文,大部分僅包含摘要部分。為了防止廣告、推薦閱讀列表、網(wǎng)站鏈接等與文章無關的噪音文字干擾模型的訓練,需要對語料進行徹底的清洗,以保證其質量。此外,預訓練語料還包括BERT所使用的維基百科中的100多萬篇中文文章。表1統(tǒng)計了該語料的詳細信息,需要注意的是,由于預處理時對新詞、連詞進行了分字處理,在統(tǒng)計詞數(shù)時需將這些特殊詞丟棄,因此統(tǒng)計數(shù)值與實際數(shù)值略有偏差。
表1 預訓練語料詳細信息
為了方便比較,ALICE與BERT-Chinese使用同樣的模型結構,其中包含12個編碼器層、768個隱層單元和12個注意力頭。本文主要在3個自然語言處理任務中,比較本文方法與BERT、ERNIE方法的性能。需要說明的是,除文本分類任務外,其他任務都采用BERT[3]中的微調方法。
本文的中文自然語言處理任務主要包括文本分類、命名實體識別和自然語言推斷。
3.1.1 文本分類
本文使用的文本分類數(shù)據(jù)集共包含8 000個人工標注的文本,其中生物科技、空間科技、軍事科技、高新科技相關文章各1 500篇,其他6個領域的文章共2 000篇。將其中6 000篇文章作為訓練集,1 000篇作為開發(fā)集,剩下的1 000篇作為測試集。
3.1.2 命名實體識別
命名實體識別數(shù)據(jù)集包括5 000條人工標記數(shù)據(jù),其采用BIO標注策略,實體設計的范圍包括生物、空間、軍事、高新技術4個科技領域的人名、地名、組織名和其他專有名詞。在該數(shù)據(jù)集中,將4 000條數(shù)據(jù)作為訓練集,其余數(shù)據(jù)平均分配給開發(fā)集和測試集。
3.1.3 自然語言推斷
自然語言推斷任務的目的是判斷兩句話之間是否存在蘊含、中立和矛盾關系。為了證明ALICE在通用領域和大數(shù)據(jù)集上的自然語言推斷性能,本文在XNLI[23]的中文數(shù)據(jù)集上進行實驗,詳細信息如表2所示。
表2 3種任務數(shù)據(jù)集的數(shù)據(jù)量
為了證明經(jīng)過微調的ALICE模型性能優(yōu)于其他具有復雜結構的模型,本文分別選取在上述中文自然語言處理任務中取得SOTA(State Of The Art)的模型進行比較。例如,文本分類任務的SOTA模型選取RMDL[24],命名實體識別任務選取MSRA中文數(shù)據(jù)集的Lattice LSTM模型[25],自然語言推斷選取XNLI多語言數(shù)據(jù)集上的LASER模型[26]。由于RMDL與Lattice LSTM需要詞嵌入層來初始化模型權值,因此需在科技語料中訓練200維的GloVe詞向量作為RMDL的詞嵌入矩陣。對于Lattice LSTM,本文采用文獻[25]提供的50維Chinese Giga-Word和Word2Vec詞嵌入矩陣。
經(jīng)測試可知,RMDL在公開文本分類數(shù)據(jù)集THUCNews中的準確率為92.3%,Lattice LSTM在MSRA命名實體識別數(shù)據(jù)集中的F1值為93.18%。THUCNews數(shù)據(jù)集包含14個類別,每個類別約63 086篇新聞,總共88萬篇新聞,本文從10個類別中隨機抽取10萬篇作為訓練集,3 000篇作為開發(fā)集,5 000篇作為測試集,具體的數(shù)據(jù)集信息如表3所示。
表3 THUCNews與MSRA數(shù)據(jù)集的數(shù)據(jù)量
表4給出ALICE在3個中文自然語言處理任務中的性能對比,可以看出,ALICE在3個任務上的性能均優(yōu)于BERT模型和針對不同任務的SOTA模型,但是在自然語言推斷任務中,ERNIE的性能更好。
表4 在3個中文自然語言處理任務中的性能對比
在公開的通用數(shù)據(jù)集上,RMDL與Lattice LSTM模型(即文本分類任務和命名實體識別任務的SOTA模型)分別取得了92.3%與93.18%的優(yōu)秀表現(xiàn)[25],但是在科技領域的任務中,其性能指標分別降低了2%與1.38%,其主要原因是本文構建的科技自然語言數(shù)據(jù)集的數(shù)據(jù)量不到上述通用領域數(shù)據(jù)集的1/5,針對這種小數(shù)據(jù)集任務,傳統(tǒng)的深度學習模型無法發(fā)揮其優(yōu)勢。由于BERT模型需要在大量的通用語料上進行預訓練,可以通過遷移學習獲得的知識解決小數(shù)據(jù)集數(shù)據(jù)量不足的問題,因此其文本分類的準確率和命名實體識別的F1值比SOTA模型分別提升了0.5%和1.6%。
與BERT模型相比,ALICE模型通過詞語遮罩語言模型與命名實體遮罩兩處改進以及從科技語料預訓練中學習到的專業(yè)知識,其科技文本分類準確率和命名實體識別的F1分別提高1.2%和0.8%。此外,自然語言推斷任務的準確率提高了0.9%。
ERNIE針對中文進行優(yōu)化,通過知識融合與對話語言模型學習更豐富的語義關系。與ERNIE模型相比,針對科技領域進行預訓練的ALICE模型的科技文本分類準確率與命名實體識別任務的F1值分別提高0.5%和0.3%。在自然語言推斷任務中,ALICE模型的準確率略低于ERNIE模型。
為了證明本文改進的詞遮罩語言模型能夠理解更豐富的語義關系,本文從語料集中隨機選取10%的數(shù)據(jù)進行消融實驗,結果如表5所示。
表5 不同遮罩策略的效果對比
Table 5 Comparison of effects of different mask strategies
遮罩策略文本分類準確率/%自然語言推斷準確率/%開發(fā)集測試集開發(fā)集測試集MLM90.889.993.392.1PMLM91.090.393.292.6PMLM+NERM91.390.593.993.0
由表5可知,在中文的自然語言處理任務中,ALICE的詞語遮罩策略PMLM的效果優(yōu)于BERT的遮罩語言策略MLM,添加ERNIE的命名實體遮罩策略NERM后效果更佳。此外,本文在10倍數(shù)據(jù)量的預訓練語料上進行實驗后發(fā)現(xiàn),模型的文本分類準確率和命名實體識別F1值分別提高1.5%和1.2%。
本文提出一種針對科技領域文本處理的預訓練模型ALICE。在大量科技文本上進行無監(jiān)督預訓練,通過改進的遮罩語言模型,使其更適用于中文的自然語言處理任務。實驗結果表明,該模型在科技領域的文本分類、命名實體識別任務中的性能均優(yōu)于BERT模型。下一步將通過動態(tài)遮罩對ALICE模型進行預訓練,提高模型對預訓練語料的利用率。