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