趙 楠, 趙志樺
(1.海軍軍醫大學第二附屬醫院信息中心,上海 200003;2.海角科技政策服務部,浙江 杭州 310000)
醫療文本包含病歷文書、診斷報告、病理報告、影像報告等大量的醫療信息,是進行疾病預測、輔助診療、藥物研發、個性化信息推薦、臨床決策支持等的重要文本資源[1]。醫療文本具有復雜的專業術語,常見的傳統文本分類模型在處理醫療文本時常常面臨文本語義稀疏、訓練數據不足等問題[2,3]。
遷移學習可以從大量的先驗任務中學習元知識,利用以往的先驗知識來指導模型在新的小樣本任務中更快地學習[4]。Finn等人[5]提出MAML方法,從少量數據中進行訓練從而得到較好的分類結果,Xiang等人[6]在2018年將MAML遷移到文本分類領域,并且根據不同的詞在句子中的重要性加入注意力機制賦予詞語不同的權重,提出ATAML模型。為了加強模型對新的醫療文本數據的適應性,文中基于領域自適應性使用已經訓練學習過的某個或多個領域上的知識快速學習適應另一個新領域,利用兩個相互競爭的神經網絡,分別扮演領域識別者和元知識生成者的角色,提出一種基于注意力機制的領域自適應元學習模型ADAML(Attentive Domain Adaptation Meta-learning,ADAML),最后使用嶺回歸獲得文本分類的最終結果[7]。
小樣本文本分類是一項小樣本學習在文本分類問題上的具體任務,解決一些現實任務中樣本數據不足或者難以獲得大量高質量標注數據的問題,比如在醫療領域,一個數據樣本可能就是一個臨床試驗或者一個真實的患者信息,這時基于大數據訓練的深度學習不能有效解決此類問題,需要一種具有快速學習能力的模型,可以將之前學習到的知識用于識別新的數據集[8,9]。小樣本文本分類通常考慮的是N-wayK-shot分類,這種分類任務訓練集Dtrain一共包含I=KN的樣本,其中N表示類別個數,K表示每個類別中的樣本個數。
小樣本學習模型主要分為三大類:基于模型微調、基于數據增強和基于遷移學習。基于遷移學習的方法細分為基于度量學習、基于元學習和基于神經網絡3類[4,10]。元學習(meta-learning)是目前比較前沿的方法,其目的是讓模型獲得一種學習能力,能夠舉一反三[11],在源領域上使用大量已有數據進行訓練,提高學習性能,達到目標領域上減少對數據集規模的依賴。因此,對于目標任務只有較少訓練數據的情況,元學習模型會取得更好的效果,實現跨任務的學習共享[12-14]。
傳統的醫療文本分類側重于進行醫療數據的自由分類,一般包括四個步驟:醫療文本預處理、特征選擇、醫療文本分類、結果評估[15]。分類的主要目標在于從自然語言中分析語義和總結歸納醫療信息,從而簡化醫療信息管理過程。醫療文本大多是無規律非結構化的數據,并且大多是高維稀疏數據集,這也是醫療文本自然語言處理過程中的難點,以往基于深度學習的文本分類模型是對預處理文本數據進行訓練學習,獲得文本分類結果。
2.1.1 注意力生成器
注意力生成器利用大型源領域數據集來識別一般詞語的重要性,并且利用小目標域支持集來估計特定類別的詞語重要性。根據頻繁出現的虛詞在文本分類中往往不太可能提供太多信息的現象來降低頻繁詞的權重并提高稀有詞的權重[16]。文中采用文獻[16]的方法定義統計量反映特定類別詞語的重要性。
(1)
xi是輸入的第i個單詞,ε=10-3,P(xi)是xi在源領域的重要性。支持集中有區別的詞在查詢集中也有可能有區別,然后定義如下的統計數據來反應詞語的重要性。
t(xi)=H(P(y∣xi))-1
(2)
其中條件似然P(y/xi)是支持集上的極大似然,H(·)是熵算子,t(·)是根據頻率分布的加權。在遷移學習過程中注意力機制能夠從文本編碼序列中檢索目標任務,獲得特定任務的表示,文中使用雙向 LSTM融合輸入信息,計算點積來預測單詞xi的注意力分數。
(3)
hi是i處的雙向LSTM輸出,v是可學習的向量。注意力機制通過結合源領域數據集和目標域支持集的分布統計來生成特定類別的注意力,提供詞語重要性的歸納偏差。
2.1.2 元知識生成器和領域判別器
領域自適應性需要混淆源領域數據集和目標域查詢集的樣本才能實現有效的領域轉移,元知識生成器就是要盡可能使領域判別器無法區分目標域查詢集和源領域數據集的樣本。元知識生成器對雙向LSTM輸出采用單層前饋神經網絡,使用Softmax函數來獲得元知識表征向量kp。
kp=Softmax(ω·hp+b)
(4)
kp是一個n維度的向量,代表句子p中包含的元知識,n表示該句子的長度。
領域判別器通過一個三層前饋神經網絡區分樣本是來自源領域還是目標域,其輸出0 或 1 分別代表樣本來自目標域查詢集或源域數據集。
2.1.3 交互層和分類器


(5)

ADAML選擇嶺回歸作為分類方法,嶺回歸是一種有偏估計回歸,主要用于共線性數據分析[17]。分類器由每個元任務的目標域支持集從頭開始訓練,通過適當的正則化減少對小支持集的過度擬合。

(6)

2.1.4 損失函數
在每次訓練迭代中ADAML首先固定元知識生成器和領域判別器的參數,通過目標域支持集更新分類器的參數,其中分類器的損失函數如公式(6)所示。 接下來,ADAML固定元知識生成器和分類器的參數,通過目標域查詢集和源域數據集更新領域判別器的參數,并使用交叉熵損失作為領域判別器的損失函數。

(7)
其中μ表示領域判別器的參數,m表示目標域查詢集或源域數據集的樣本數,yd根據其值為0或1表示樣本是來自目標域查詢集還是源域數據集,k代表元知識向量。最終,ADAML固定領域判別器和分類器的參數,通過目標域查詢集和源域數據集更新元知識生成器的參數。元知識生成器的損失函數由兩部分組成:第一個是最終分類結果的交叉熵損失;第二個是與領域判別器的損失相反的損失,即混淆判別器。
LG(β)=CELoss(f(W·Gβ(W),y)-LD
(8)
其中β表示元知識生成器的參數,f表示嶺回歸因子,W表示一個句子中的詞向量矩陣,y表示樣本的真實標簽,LD的定義在公式(7)中。
ADAML模型主要有注意力生成器、元知識生成器、領域判別器、交互層和分類器幾部分,目標域支持集S或查詢集Q中的類別數為N,S中每個類別的樣本數為K,Q中每個類別的樣本數為L,源域數據集Φ,其具體算法流程如下偽代碼:

算法:ADAML訓練數據集Input:訓練數據集{Xtrain ,Ytrain };元任務個數T和迭代輪次ep;生成器的參數β;判別器的參數μ;分類器的參數θ.Output: 訓練結束后的參數β和μ;隨機初始化模型參數β,μ和θ;for each i∈1,ep doY←Λ(Ytrain ,N); for each j∈1,T doS,Q,Φ←?,?,?; for y∈Y do S←S∪Λ(Xtrain {y},K); Q←Q∪Λ(Xtrain {y}S,L); Φ←Φ∪Λ(Xtrain Xtrain {y},L); 將參數S導入模型; 修正參數β,μ,更新參數θ以最小化公式(6); 將參數Q,Φ導入模型; 修正參數β,θ,更新參數μ以最小化判別器損失公式(7); 修正參數μ,θ,更新參數β以最小化生成器損失公式(8);return β,μ;
醫療文本數據采集一個臨床科室的電子病歷信息,處理生成結構化信息Medical Record保存在JSON文件中。使用三個公開文本分類數據集HuffPost、Amazon、Reuters 和Medical Record,隨機抽樣構建小樣本文本,四個基準數據集如表1所示。

表1 四個基準數據集的統計數據
ADAML模型分為訓練和測試兩步,首先通過數據集構建不同的元任務,每個元任務包括一個支持集和一個查詢集。 訓練模型時將采樣的元任務輸入模型,通過支持集上的損失函數對模型進行微調,并通過查詢集上的損失函數對模型參數進行更新。測試時通過元任務中的支持集對模型進行微調,最后在查詢集上計算準確度。
文中使ADAML與MAML[5]、PROTO[18]、ATAML[6]、HATT[19]模型對比處理小樣本文本分類問題的準確率。文本分類算法的性能通常采用準確率進行測評,定義如下:
(9)
實驗過程中注意力生成器計算詞匯注意力分數,元知識生成器使用具有 128 個隱藏單元的雙向 LSTM生成元知識表征向量,在領域判別器中兩個前饋層的隱藏單元數量分別設置為 256 和 128。元訓練期間進行 100 次訓練,當驗證集上的準確度在 30 次迭代中沒有顯著變化時,停止此次訓練。根據測試結果評估模型性能,見表2。

表2 模型在四個數據集上3way 1shot 和 3way 3shot分類的準確率
模型在四個數據集上均取得了比較好的分類效果,在1shot分類中的平均準確率為 68.85%,在3shot分類中的平均準確率為 82.1%,比模型 ATAML分別提高了3.98%和7.63%,ADAML模型在Medical Record上的 1shot 和 3shot 分類比其他模型平均提高了20% 和16.2%,Medical Record中文本的平均長度比其他長,實證表明ADAML模型更適合包含豐富語義信息的文本分類。不同模型在Medical Record數據集上的不同類別分類結果見表3。

表3 不同模型在Medical Record上不同分類的準確率
醫療文本蘊含豐富的語義信息,有效的分類可以促進醫學技術的發展。文中提出一種基于注意力機制的元學習模型,根據詞語的重要性賦予不同的權重,并且利用兩個對抗性網絡增強模型的學習能力,提高小樣本文本分類的適應性與準確率。通過對比實驗和分析證明了文中模型在公開數據集和醫療文本數據集上的有效性,后續將提高小樣本數據集含有噪音的分類性能,并盡可能減少訓練過程中的語義損失。