劉佳芮
(同濟大學電子與信息工程學院,上海201804)
隨著社會分工的日益明確,幾乎每個人都帶有專業(yè)性的行業(yè)標簽。然而快速迭代的經濟發(fā)展模式需要人們不斷學習才能更好地適應工作中的各種挑戰(zhàn),因此人們總會通過不斷地補充大量的跨領域知識讓自身在職場中一直保持競爭性。但是當人們需要去檢索有關文獻時,太過專業(yè)性的文本總會削弱對跨領域知識學習的求知欲。因此,本文旨在通過機器學習模型解決跨領域標題可讀性和可理解的問題,并基于文本自身文意[1]得到更常語化的標題表達。傳統(tǒng)的機器學習方法經常依賴于大量數據以支撐參數調整優(yōu)化[3],然而特定專業(yè)領域的數據往往由于上述假設過于嚴格而難以成立。事實上,這些領域的可用數據量較小,特別是有標簽的數據樣本更加難得,這使得訓練樣本不足以供復雜的機器學習算法進行訓練并得到一個可靠的生成預測模型。
如何分析并挖掘小規(guī)模樣本數據是現代機器學習最具有挑戰(zhàn)性的前沿方向之一。在該環(huán)境背景下,遷移學習應運而生。該學習算法的主要優(yōu)點在于避免了必須有足夠可用的訓練樣本才能夠學習到一個好的生成模型的束縛,因此遷移學習能夠在彼此不同但又相互關聯(lián)的兩個領域間挖掘數據的本質特征和內在結構,這使得有監(jiān)督參數信息得以在領域間實現遷移和復用。
摘要文本生成模型研究是當前自然語言處理中的難點和熱點,其主要分為抽取式和生成式方法,前者通過直接獲取原文中的相應句子并根據一定的排列方式構成摘要標題,后者與其的區(qū)別在于會自動生成一些在源文本中不存在的新單詞或詞組。本文的主要目的是為特定專業(yè)領域的文本構造清晰易懂的標題,因此我們將使用生成摘要的方法構造標題。當前生成式文本摘要的方法主要依靠深度神經網絡結構實現,如2014 年Google 團隊[5]提出的Seq2Seq 模型開啟了自然語言處理中端到端的研究,其中編碼器負責將原文編碼為一個向量,解碼器負責從該向量中提取語義并生成相應的生成式文本摘要。該模型在機器翻譯、文本理解等領域具有卓越的效果。Rush[6]團隊受機器翻譯原理的啟發(fā),首次將Seq2Seq 模型應用到生成式摘要的任務中,其主要使用帶有注意力機制的卷積神經網絡模型對文檔進行編碼來提取文本的特征,然后由基于前饋網絡的神經網絡模型作為解碼器生成摘要,并在Giga word 數據集中得到了良好的實驗結果。
基于上述研究,本文旨在解決以醫(yī)學為代表的特定專業(yè)領域小規(guī)模文本的摘要生成問題,提出了基于遷移學習的文本摘要生成模型,其有效解決了專業(yè)領域標題簡易化以及小規(guī)模樣本不足以支撐現有機器學習模型的問題。
本文在文本詞向量生成階段主要使用了針對特定領域數據集的BERT 改進模型。BERT 模型在摘要任務中并不直觀,大多數BERT 模型任務主要解決的是某一個字段的生成,而摘要自動生成任務是一個Seq2Seq 生成模型問題,因此我們需要解決整個摘要生成句子的向量表示。由于本文以小規(guī)模的醫(yī)學領域數據集為研究對象,考慮到文本的特殊性,下面將采用三層嵌入層來實現上述目標。如圖1 所示,①為了使模型對文本中不同的句子關系進行區(qū)分,在生成過程中嵌入A、B 符號表示區(qū)分多個句子在整篇文章中的奇偶性。②在針對每個句子的處理中,原本的BERT 模型僅在每個樣本前端插入[CLS]標識,而本文針對特定領域的文本摘要生成。為了更細粒度地提取樣本內容的語義特征,我們在樣本中為每個句子的起始位置均插入[CLS],而非傳統(tǒng)上只在每條文本前插入[CLS]符號。同時,在每句話的最后加入[SEP]標識來表明每個句子的結束邊界。③為了識別文本中單詞的前后依賴關系,我們在最后一層嵌入了位置向量層去傳遞模型相應單詞的位置信息。
圖1 預訓練文本模型結構
通過上述分析,文本向量由三層嵌入層作為數據輸入到初始化Transformer 模型中,并且運用上層的Transformer 層訓練得到句子間的區(qū)分邊界;通過關注句子的末尾特征,下層運用自注意力機制訓練得到各文本之間的權重。在該模型中,我們同時考慮了BERT在對長文本的處理中帶有最大長度為512 個單詞的限制,因此在輸入每個樣本超過512 個長度情況下,加入了更多的位置向量并隨機初始化。
基于數據預訓練模型和改進的BERT 算法,本文提出的基于遷移學習的文本摘要生成模型如圖2所示。
圖2 基于遷移學習的文本摘要生成模型結構圖
在自動抽取摘要的任務中,我們通常會將其看作一個Seq2Seq 的建模問題。假設每個輸入數據文件以一串序列x={x1,x2,x3,x4,…,xn}輸入至編碼器中并生成一個連續(xù)的特征表示z={z1,z2,z3,…,zk},然后再輸入至解碼器中以單詞為單位,通過自回歸方式生成目標摘要y={y1,y2,y3,y4,…,ym},最后得到條件概率分布:p(y1,…,ym|x1,…,xn)。
本部分的編碼器為上一節(jié)提到的預訓練文本模型,首先使用源域數據對編碼器進行預先訓練,提取相似特征的全連接層進行模型遷移;其次,進行細粒度調整隱層權重矩陣;最后,加入醫(yī)學領域的數據進行參數微調使其更適合目標域數據。
本部分的解碼器為六層隨機初始化的Transformer模型,由于編碼器是已訓練的參數值,而解碼器參數是未設置的初始默認值,則在進行模型訓練時,參數調整幅度的不匹配會導致微調效果不穩(wěn)定,故在本文中我們使用了兩個不同的Adam 優(yōu)化器去解決這個問題,使前者編碼器訓練的步長較小而后者解碼器訓練的步長較大。
圖3 隨機初始化的Transformer模型結構圖
如圖3 所示為一層的Transformer 結構圖。在得到了輸入的特征向量后,疊加標識位置的嵌入層,并將其輸入至編碼器中;訓練集中的標簽文本即標題轉為詞向量后加入位置嵌入層后進入解碼器,其中解碼器一共由三個部分組成,即由兩層多頭注意力機制和一層前饋網絡構成。當經過第一層多頭注意力機制[4]后,我們即可通過不同序列位置的不同子空間的特征信息進行序列處理,并將其結果與編碼器生成的特征向量共同進入第二層多頭注意力機制中。最后通過前饋神經網絡的線性映射得到詞庫的概率分布。
在如圖2 所示的詞庫概率分布模塊中,以y2舉例進行說明。首先選取詞匯中概率分布最高的單詞;其次,根據前序單詞y1影響參數與詞庫生成單詞的概率p2的參數加權求和得到y(tǒng)3,以此類推;最后,輸出結果即為生成式文本摘要。同時在圖3 的模型結構中,每層注意力機制與前饋網絡后均有歸一化層以減小過擬合對訓練效果的影響。
本文采用普華永道RegRanger 項目中醫(yī)療引擎后臺數據庫中的新聞文章作為目標領域數據集,該數據集共包含四千條數據,數據集內容為醫(yī)學領域法律條款、文獻指導和新聞類英文文本。同時,RegRanger 本身包括了500 條相關法律信函。我們在對該數據集的預處理中,考慮到警告信函、醫(yī)學法規(guī)等具有特定文本格式的數據文本的標題位置相對固定唯一的特點,其均位于文章第一段的內容中。由于本文的目的為基于文本自身文意得到更常語化的標題表達,我們剔除了該部分具有特定文本格式的數據文本并保留了有效的文本數據即內容非空或內容可追溯的文本。本文首先使用斯坦福核心NLP 工具包OpenNMT 對實驗數據進行預處理,這樣每個輸入文本被分塊并被截斷為長度是512 的輸入數據。具體數據集分布信息見表1。
表1 實驗文本數據集分布
根據表中數據集標題的特點,本文將模型的生成摘要標題的長度設置為10。本文的測試環(huán)境為Linux,NVIDIA GTX 1080Ti GPU。模型的實現基于Pytorch 深度學習框架,版本為1.3.1,開發(fā)環(huán)境為Ubuntu18.04,Python 版本為3.7.4,模型支持多GPU 多線程進行。
本文將使用一種廣泛被認可的評估工具ROUGE[2,7]對所提出模型的性能進行評價。在自動評估機器生成的標題與人工標題的相似度的任務中,ROUGE 包含了五種評估方法,分別是ROUGE-N、ROUGE-L、ROUGE-W、ROUGE-S 和ROUGE-SU。本文僅使用ROUGE-N 和ROUGE-L 評測。
(1)ROUGE-N 通過N 元模型計算生成摘要和人工摘的召回率去評判匹配度,其表達式如下:
其中N 表示N 元模型的長度,Countmatch(gramn)表示在一個生成摘要元素和一系列人工摘要元素共現的最大數目,Count(gramn)表示人工摘要元素中n 元模型的數目。
相對應的ROUGE-1 即僅考慮單個單詞,生成式摘要和人工摘要都出現的個數與人工摘要的單個單詞之比,同理ROUGE-2 為兩個單詞作為兩元標識進行兩者比較計算。
(2)ROUGE-L 通過計算生成摘要和人工摘要的最長相同子序列的比率去評測,其表達式如下所示:
其中 |R|和 |S|分別表示人工摘要與生成摘要的長度,LCS(R,S)表示二者的最長共同子序列的長度。PLCS(R,S)表示LCS(R,S)的精準率,RLCS(R,S)表示LCS(R,S)的召回率,β為精準率與召回率的比值。本文主要使用ROUGE-1、ROUGE-2、ROUGE-3 以及ROUGE-L 評估模型生成摘要的效果。
本文中,我們在給定的樣本數據集上進行實驗,并使用標準的Seq2Seq 模型、基于遷移學習的模型以及基于遷移學習的預訓練模型與Seq2Seq 融合的模型進行了摘要生成任務,并通過Rouge-F 和Rouge-R 對上述三種模型進行了對比,結果如表2 所示,其中遷移學習思想所達到的跨領域同參使相似度得到了明顯的提升,同時預訓練模型的結果在此任務中也達到了一定的提升。
表2 原始模型、基于遷移學習的Seq2Seq 模型以及本文的實驗模型對比結果
如 表2 所 示,我 們 使 用ROUGE-F1、2、3 和ROUGE-R1、2、3 分別表示F 分數和召回率在一元語法、二元語法與三元語法上的表現。基于遷移學習的Seq2Seq 的表現最優(yōu)時相較原始Seq2Seq 模型在一元召回率上提升了14.77;同時,基于遷移學習的文本摘要生成模型相較基于遷移學習的Seq2Seq 模型在一元F 分數上提升了2.29。
本文提出的基于遷移學習的預訓練與Seq2Seq 的融合模型的實驗結果如表3 所示。
為了評估小規(guī)模樣本集下所提模型中不同參數對實驗結果的影響程度,我們對本文提出的模型做了多種參數的調試,同時應用在文本生成任務中。最終我們所選取的部分主要超參數如表4 所示。圖5 為不同Batch size 設置下的實驗結果。
表3 模型生成摘要文本與人工標注摘要的對比
表4 實驗參數設置
圖4 不同Batch size下在Rouge中的實驗結果
如圖4 所示,本文模型在Batch size 為200 時的表現最為優(yōu)異。圖5 為在輸入文本中每個樣本超過512個至1000 個長度并以隨機初始化位置向量加入詞嵌入層的模型與僅考慮前512 個單詞作截斷的模型進行對比得到的實驗結果。
圖5 對輸入文本長度進行約束的模型在相似Rouge-F上的實驗結果
圖5 中Rouge-F’表示在考慮了前512 個單詞的同時對輸入文本第512 個至2000 個詞以隨機向量嵌入至位置嵌入層時模型在Rouge-F 中的評測結果。實驗結果表明,基于遷移學習的文本摘要生成模型在加入輸入文本的限制后在摘要生成任務的表現更為優(yōu)異。從以上分析可知,在解決基于小規(guī)模樣本的深度學習訓練時,基于遷移學習對模型進行異域調參相較于僅單純改善模型結構有更明顯的優(yōu)勢,并且本文所提模型在醫(yī)學文本摘要生成任務中的表現優(yōu)于標準的基于遷移學習的Seq2Seq 模型,同時所提模型的實驗結果與人工處理結果具有較高的匹配度。
本文針對以醫(yī)學為代表的特定專業(yè)領域小規(guī)模文本標題摘要難以閱讀理解的問題,提出了基于遷移學習預訓練與注意力機制的融合模型對原始文本進行自動生成標題摘要,主要貢獻是在原有的Seq2Seq 模型中引入遷移學習思想,其可以使模型在彼此不同但又相互關聯(lián)的兩個領域間有效挖掘文本的本質特征和結構,實現了有監(jiān)督參數信息在領域間進行遷移和復用;同時,文本采用了預訓練模型作為編碼器,在句子前端加入[CLS]以便更精準地得到每個句子的特征,這可以使專業(yè)領域知識進行細粒度的特征化表示。綜上所述,本文所提模型有效地解決了專業(yè)領域標題簡易化以及小規(guī)模樣本不足以支撐現有機器學習模型訓練的難題,這對于基于自身文本得到更常語化的標題摘要具有重要的指導意義。