王士浩,王中卿,李壽山,周國棟
(蘇州大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇蘇州 215006)
事件是信息的一種表現(xiàn)形式,其定義為特定的人、物在特定時間和特定地點相互作用的客觀事實。事件抽取旨在將非結(jié)構(gòu)化的文本以結(jié)構(gòu)化的形式呈現(xiàn)。在事件抽取過程中,標(biāo)志某個事件發(fā)生的詞稱為觸發(fā)詞,一般為動詞或名詞,而事件的參與者稱為論元,一般為實體、時間、數(shù)值等。事件抽取包含事件檢測和事件論元抽取2 個子任務(wù),事件檢測是識別出文本中的觸發(fā)詞并對事件類型進(jìn)行分類,事件論元抽取則是識別出事件的論元并對論元角色進(jìn)行分類。對于例句“在約旦河西岸,一名示威者中彈死亡”,事件檢測程序首先會識別出“死亡”是觸發(fā)詞,然后將其事件類型歸類為“死亡”。接著事件論元抽取程序識別出“約旦河西岸”“示威者”“彈”是事件的論元,然后將它們的角色類型歸類為“地點”“受害者”“工具”。本文主要研究事件論元抽取任務(wù)。
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,研究者通過增加模型復(fù)雜度和參數(shù)量使模型具有更強(qiáng)的表征能力。在自然語言處理領(lǐng)域,文獻(xiàn)[1]提出的BERT 模型通過深層的模型結(jié)構(gòu)和大規(guī)模數(shù)據(jù)預(yù)訓(xùn)練,在11 項自然語言處理任務(wù)上取得了較好的效果。此后,越來越多的研究者將BERT 模型用于事件論元抽取任務(wù),取得了較大的性能提升。但BERT 模型存在以下2 個缺點:首先是巨額的參數(shù)量會導(dǎo)致模型預(yù)測速度變慢、時延增加,使模型無法應(yīng)用于需要實時處理的場景;其次是模型需要極大的計算資源和內(nèi)存開銷,無法在計算資源有限的設(shè)備中運行。大模型無法在計算資源和時間有限的情況下運行,而小模型性能無法達(dá)到滿意的效果,因此,模型壓縮顯得尤為重要。
在事件論元抽取領(lǐng)域,先進(jìn)模型通常使用BERT作為模型編碼器。在這些模型中,BERT 模型的參數(shù)占整體參數(shù)的絕大部分。因此,模型壓縮的關(guān)鍵在于減少BERT 模型的參數(shù)。目前,知識蒸餾是常用的模型壓縮方法之一。知識蒸餾的主要是讓性能較高的教師模型指導(dǎo)性能較差的學(xué)生模型訓(xùn)練。教師模型網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,表征能力更強(qiáng),模型的輸出(即“軟標(biāo)簽”)中包含著標(biāo)簽概率分布知識。通過讓學(xué)生模型的輸出去擬合教師模型的軟標(biāo)簽,可使學(xué)生模型學(xué)到真實標(biāo)簽(即“硬標(biāo)簽”)無法表示的知識。文獻(xiàn)[2-4]利用知識蒸餾方法將大尺寸的BERT 模型蒸餾到小尺寸的BERT 模型中。這種蒸餾方式雖然能夠得到較好的結(jié)果,但是模型參數(shù)量仍然很大。文獻(xiàn)[5]將BERT 模型蒸餾到單層長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory network,LSTM)中,大幅降低了模型參數(shù)量,但是模型性能仍然需要提升。
本文提出一種基于知識蒸餾與模型集成的事件論元抽取方法(Event Argument Extraction method based on knowledge Distillation and model Ensemble,EAEDE)。將使用BERT 的教師模型蒸餾到使用LSTM 或單層卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)編碼的學(xué)生模型上,以減少模型參數(shù)量,加快預(yù)測速度。在蒸餾方式上,本文設(shè)計一個兩段式的蒸餾方式,先將教師模型中間層的信息蒸餾到學(xué)生模型中,再對學(xué)生模型的分類層進(jìn)行蒸餾,通過將2 個學(xué)生模型進(jìn)行集成,進(jìn)一步提升模型的性能。
目前,事件抽取的方法已逐漸從機(jī)器學(xué)習(xí)轉(zhuǎn)換為深度學(xué)習(xí)。文獻(xiàn)[6]使用卷積神經(jīng)網(wǎng)絡(luò)對句子進(jìn)行編碼,并提出了動態(tài)多池化技術(shù)解決多事件中論元角色重疊的問題。文獻(xiàn)[7]將事件檢測任務(wù)和事件論元抽取任務(wù)進(jìn)行聯(lián)合學(xué)習(xí),并利用觸發(fā)詞與觸發(fā)詞、觸發(fā)詞與論元、論元與論元之間的依賴關(guān)系提升分類效果。文獻(xiàn)[8]設(shè)計了一種依存橋循環(huán)神經(jīng)網(wǎng)絡(luò),在對句子編碼時融入句子的依存句法特征,在計算當(dāng)前節(jié)點隱層向量時不僅考慮上一個節(jié)點輸出和記憶細(xì)胞中的信息,同時還融入與當(dāng)前詞有依存關(guān)系詞的信息。文獻(xiàn)[9]使用圖卷積方法抽取句子的依存句法特征進(jìn)行聯(lián)合事件抽取,在事件檢測時使用自注意力機(jī)制抽取候選觸發(fā)詞的特征。文獻(xiàn)[10]使用CRF 模型構(gòu)造一個多任務(wù)學(xué)習(xí)框架,對子任務(wù)進(jìn)行聯(lián)合訓(xùn)練,同時采用對各事件類型單獨訓(xùn)練的方式解決標(biāo)簽重疊問題。自預(yù)訓(xùn)練模型BERT 推出后,研究者們開始使用BERT 進(jìn)行事件抽取,通過BERT 深層次的網(wǎng)絡(luò)結(jié)構(gòu)和大規(guī)模的數(shù)據(jù)預(yù)訓(xùn)練大幅改善了事件抽取效果。文獻(xiàn)[11]采用BERT 加動態(tài)池化層的事件檢測模型,同時使用規(guī)則的方式生成海量數(shù)據(jù)并利用對抗訓(xùn)練對生成的數(shù)據(jù)進(jìn)行篩選。文獻(xiàn)[12]提出層次模塊化事件論元抽取模型,對論元角色進(jìn)行分組并抽取出更抽象的概念,利用論元與抽象概念之間的關(guān)系提升論元角色抽取效果。文獻(xiàn)[13]通過預(yù)測論元的起始位置抽取論元,為每個論元角色標(biāo)簽都設(shè)置一個二分類器解決標(biāo)簽重疊問題,同時,還設(shè)計一種數(shù)據(jù)增強(qiáng)方法,解決數(shù)據(jù)稀缺的問題。文獻(xiàn)[14]以閱讀理解的方式進(jìn)行事件抽取,同時利用外部的問答語料庫緩解數(shù)據(jù)稀缺的問題。文獻(xiàn)[15]將事件論元抽取任務(wù)看作多輪的問答任務(wù),利用歷史的抽取信息輔助剩余論元的抽取。
在現(xiàn)有研究中,針對BERT 模型的壓縮有知識蒸餾、低秩分解和權(quán)值共享2 種方式。
1)知識蒸餾
文獻(xiàn)[16]提出知識蒸餾的概念,其使用KL 散度衡量教師模型輸出與學(xué)生模型輸出之間的差異,通過最小化KL 散度將教師模型中的知識遷移到學(xué)生模型中。為充分利用模型中間層的特征,文獻(xiàn)[17]通過最大化教師模型和學(xué)生模型中間層的互信息進(jìn)行知識蒸餾。文獻(xiàn)[18]通過使學(xué)生模型學(xué)習(xí)教師模型的注意力特征圖提高學(xué)生模型的性能。文獻(xiàn)[2]設(shè)計了三重?fù)p失函數(shù),計算學(xué)生模型和教師模型之間隱層向量的余弦相似度、模型輸出的KL 散度以及真實標(biāo)簽的交叉熵優(yōu)化模型,將模型層數(shù)減半且保證性能損失較低。文獻(xiàn)[3]提出了兩段式的蒸餾方式,首先對模型進(jìn)行通用知識蒸餾,計算學(xué)生模型和教師模型Transformer 層的隱層向量和注意力的損失值,然后針對具體下游任務(wù)進(jìn)行蒸餾。在神經(jīng)網(wǎng)絡(luò)中,深而窄的模型比淺而深的模型具有更強(qiáng)的表征能力但是難于訓(xùn)練,文獻(xiàn)[4]采用Bottleneck 機(jī)制和堆疊多個前饋神經(jīng)網(wǎng)絡(luò)的方式訓(xùn)練了一個深而窄的BERT 模型,提升了模型的推理效率。在上述工作中,學(xué)生模型和教師模型結(jié)構(gòu)相同,只是使用更少的模型層數(shù)或是每層的參數(shù)。文獻(xiàn)[5]使用LSTM構(gòu)造了一個學(xué)生模型,并讓學(xué)生模型分類層擬合教師模型分類層,將BERT 的知識蒸餾到LSTM 中。文獻(xiàn)[19]在蒸餾方式上與文獻(xiàn)[5]相同,但是使用了對抗生成網(wǎng)絡(luò)生成大量無標(biāo)注標(biāo)簽文本擴(kuò)充數(shù)據(jù),使學(xué)生模型能夠更充分地學(xué)習(xí)教師模型中的信息。
2)低秩分解和權(quán)值共享
BERT 模型的主要參數(shù)量來源是詞向量和12 層的Transormer。文獻(xiàn)[20]將詞向量從768 維減少為128 維,再通過一個128×768 的矩陣將詞向量轉(zhuǎn)換成768 維,從而使詞向量參數(shù)減少到原始大小的1/6。為減少Transformer 的參數(shù)量,該文獻(xiàn)將12 層的Transformer 參數(shù)進(jìn)行共享,即使用一層Transformer反復(fù)迭代12 次,將Transformer 部分參數(shù)減少到原始大小的1/12。雖然這種方法可以大幅減小參數(shù)量,但是計算量沒有減少,因此,計算速度依然較慢。
本節(jié)詳細(xì)介紹基于知識蒸餾與模型集成的事件論元抽取方法(EAEDE)。如圖1 所示,該方法模型包含了2 個學(xué)生模型和1 個教師模型,將學(xué)生模型經(jīng)過蒸餾后進(jìn)行集成。具體訓(xùn)練流程如圖2 所示,其中包含4 個步驟:1)構(gòu)建2 個學(xué)生模型和1 個教師模型;2)訓(xùn)練教師模型使其達(dá)到最優(yōu);3)進(jìn)行知識蒸餾,使學(xué)生模型學(xué)習(xí)教師模型中蘊含的知識;4)將蒸餾后的2 個學(xué)生模型進(jìn)行集成,得到最終的模型。
圖1 EAEDE 模型架構(gòu)Fig.1 Structure of EAEDE model
圖2 模型訓(xùn)練流程Fig.2 Procedure of model training
學(xué)生模型架構(gòu)如圖3 所示,其中包含輸入層、句級特征抽取層、詞級特征抽取層、分類層4 個部分。2 個學(xué)生模型分別采用CNN 和LSTM 對句子進(jìn)行編碼。
圖3 學(xué)生模型架構(gòu)Fig.3 Structure of student model
2.1.1 輸入層
給定一個句子S={w1,w2,…,wt,…,wa,…,wn},其中:下標(biāo)t表示觸發(fā)詞位置;下標(biāo)a表示候選論元位置;下標(biāo)n表示句子長度。模型的輸入由詞向量、位置特征、事件類型特征三部分組成:詞向量通過使用GloVe模型[21]在維基百科語料上訓(xùn)練得到,獲得詞向量;位置特征是當(dāng)前詞與候選論元和觸發(fā)詞的相對位置,每個相對位置都由一個隨機(jī)向量表示;事件類型特征與位置特征相似,每種事件類型由一個隨機(jī)向量表示。將詞向量、位置特征和事件類型特征進(jìn)行拼接,得到輸入X={x1,x2,…,xt,…,xa,…,xn}。
2.1.2 句級特征抽取層
本文中的2 個學(xué)生模型分別使用CNN 和LSTM作為編碼器獲得模型句級特征,使模型之間具有一定的差異性。句子通過輸入層處理后放入編碼器中,得到隱層向量,如式(1)所示:
然后,使用動態(tài)多池化方法對隱層向量進(jìn)行融合,得到候選論元wa的句級特征,如式(2)~式(5)所示:
其中:t表示觸發(fā)詞位置;a表示候選論元位置;[]表示拼接。
2.1.3 詞級特征抽取層
詞級特征是事件論元抽取的重要特征。給定一個句子,句子中每個詞的詞向量為{c1,c2,…,ct,…,ca,…,cn}。本文將候選論元、觸發(fā)詞以及兩者上下詞的詞向量拼接起來作為詞級特征,具體如式(6)所示:
2.1.4 分類層
在得到句級特征HS與詞級特征HL后,將兩者拼接起來得到最終候選論元wa的最終特征表示H。然后,使用全連接層和Softmax 函數(shù)對候選論元進(jìn)行分類,得到每個類別的概率。
教師模型采用與學(xué)生模型相同的架構(gòu),但教師模型使用了BERT 模型和圖卷積來提高分類效果,具體見圖4。本小節(jié)主要介紹教師模型的句級特征抽取層及教師模型的訓(xùn)練流程。
圖4 教師模型架構(gòu)Fig.4 Structure of teacher model
2.2.1 句級特征抽取層
教師模型的編碼器包含BERT 和門控圖卷積2 個部分。給定一個句子S={w1,w2,…,wn}。首先,使用BERT對句子進(jìn)行編碼,得到句子的隱層向量X。然后,將句子隱層向量與位置特征向量、事件類型特征向量拼接作為圖卷積的輸入X。位置特征向量和事件類型特征向量的初始化方式與學(xué)生模型相同。
圖卷積的鄰接矩陣根據(jù)依存句法樹進(jìn)行構(gòu)造。使用stanfordCoreNLP 工具(https://stanfordnlp.github.io/CoreNLP/)進(jìn)行依存句法分析。本文將句子中每一個詞作為一個節(jié)點,根據(jù)依存關(guān)系構(gòu)造該句子的鄰接矩陣A。
參考文獻(xiàn)[22]的工作,本文首先對每一個節(jié)點創(chuàng)建一個自環(huán)Aii=1,i∈[1,n]。如果節(jié)點i和j之間有依存關(guān)系,則向鄰接矩陣中添加邊Aij=Aji=1。在構(gòu)建鄰接矩陣后,對隱層向量X進(jìn)行兩次圖卷積,得到句子的依存句法特征。然后,對其中一個依存句法特征使用Sigmoid 函數(shù),將其作為門控單元,記為σ。接著,將依存句法特征與σ進(jìn)行點乘,將輸入的隱層向量X與(1?σ)進(jìn)行點乘,最后將兩者相加融合,具體如式(7)、式(8)所示:
經(jīng)過圖卷積后,得到隱層向量Hg={h1,h2,…,hn},本文將候選論元、觸發(fā)詞以及和候選論元有直接依存關(guān)系的詞進(jìn)行最大池化,得到候選論元的句級特征,如式(9)所示:
其中:t表示觸發(fā)詞的位置;a表示候選論元的位置;A為鄰接矩陣。
2.2.2 教師模型訓(xùn)練
本文使用交叉熵(Cross Entropy,CE)損失函數(shù)計算教師模型的輸出與真實標(biāo)簽之間的損失值,如式(10)所示:
其中:K表示標(biāo)簽類別數(shù);y表示真實標(biāo)簽;?表示教師模型的預(yù)測值。
對學(xué)生模型的蒸餾共分為2 個階段:第一階段對模型的中間層進(jìn)行蒸餾;第二階段對模型的分類層進(jìn)行蒸餾。
在第一階段,選取教師模型Gate-GCN 層的輸出與學(xué)生模型Encoder 層的輸出進(jìn)行蒸餾。教師模型Gata-GCN 層的輸出包含了由BERT 獲得全局的語義信息和由GCN 模型獲得的依存句法信息。2 個學(xué)生模型使用了CNN 和LSTM 對句子進(jìn)行編碼,但兩者都無法有效地獲取長句子的全局語義信息,更無法獲取句子的依存句法信息。通過知識蒸餾,學(xué)生模型的Encoder 層會擬合教師模型Gate-GCN 層的輸出,使其輸出的向量包含全局的語義信息和依存句法信息。由于兩者輸出的向量維度不同,因此學(xué)生模型Encoder 層的輸出需要進(jìn)行線性變換匹配教師模型的維度,然后使用均方誤差(Mean Square Error,MSE)損失函數(shù)進(jìn)行蒸餾,如式(11)所示:
其中:ht表示教師模型的隱層向量;hs表示學(xué)生模型的隱層向量。
在第二階段,學(xué)生模型的分類層會學(xué)習(xí)教師模型分類層的概率分布知識,即“軟標(biāo)簽”。軟標(biāo)簽中包含了比真實標(biāo)簽(硬標(biāo)簽)更豐富的信息。以“在約旦河西岸,一名示威者中彈死亡”中的論元“示威者”為例,硬標(biāo)簽只會告訴模型“示威者”是“受害者”,而軟標(biāo)簽則會使模型學(xué)習(xí)到“示威者”很可能是“受害者”,較低可能是“攻擊者”,絕不可能是“地點”。教師模型輸出的軟標(biāo)簽往往過于陡峭,某一類別的概率很大,而其他類別概率很小。為了放大小概率類別的信息,使軟標(biāo)簽更加平滑,需要在使用Softmax 函數(shù)對概率歸一化時設(shè)置溫度系數(shù)。溫度越大,軟標(biāo)簽越平滑,各標(biāo)簽概率趨向于相同;溫度越小,軟標(biāo)簽越陡峭,各標(biāo)簽概率相差越大。具體如式(12)所示:
其中:z表示模型的輸 出;T是溫 度參數(shù)表示歸一化后的概率。本階段將軟標(biāo)簽和預(yù)測值的均方誤差損失函數(shù)與硬標(biāo)簽和預(yù)測值的交叉熵?fù)p失函數(shù)相加作為最終的目標(biāo)函數(shù),具體如式(13)所示:
本文采用加權(quán)平均的方法對蒸餾后的學(xué)生模型進(jìn)行集成。模型集成能夠降低單個學(xué)生模型的偏差對整體的影響,提升模型的泛化能力。為了獲得更好的效果,被集成的模型之間應(yīng)當(dāng)保持一定差異性。本文分別使用CNN 和LSTM 構(gòu)造2 個不同的學(xué)生模型,使模型關(guān)注于不同的特征。CNN 由于卷積核大小的限制,使模型傾向于局部的特征,而LSTM 具有記憶細(xì)胞,可以記住較遠(yuǎn)詞的信息,使模型傾向于全局的特征。模型集成方法的計算公式如式(14)所示:
本文使用ACE2005 英文數(shù)據(jù)集進(jìn)行實驗。該數(shù)據(jù)集包含了新聞、廣播對話、微博等6 個領(lǐng)域的數(shù)據(jù),共599 篇文檔,其中定義了33 種事件類型和35 種論元角色。本文采取與文獻(xiàn)[6-7]相同的劃分方式,隨機(jī)選取40 篇新聞領(lǐng)域文檔作為測試集,在剩下的文檔中選取30 篇作為測試集,選取529 篇作為訓(xùn)練集。本文使用準(zhǔn)確率、召回率和F1 值作為評價標(biāo)準(zhǔn),當(dāng)一個論元的所屬的事件類型、位置和論元角色分類都正確時,則該論元分類正確。
教師模型和學(xué)生模型的超參數(shù)設(shè)置分別如表1和表2 所示。在訓(xùn)練過程中,模型通過Adam 優(yōu)化器更新參數(shù)。學(xué)生模型和教師模型均使用Dropout 機(jī)制,防止在訓(xùn)練過程中模型出現(xiàn)過擬合。
表1 教師模型超參數(shù)設(shè)置Table 1 Hyperparameter setting of teacher model
表2 學(xué)生模型超參數(shù)設(shè)置Table 2 Hyperparameter setting of student model
本文針對事件論元抽取任務(wù),評測模型論元角色分類的結(jié)果。論元角色分類所用的觸發(fā)詞由DMCNN[6]模型抽取獲得。為了驗證知識蒸餾與模型集成的事件論元抽取方法的有效性,本文選取以下基準(zhǔn)方法進(jìn)行對比:
1)DMCNN:本文方法的學(xué)生模型之一,由CHEN等[6]提出,使用CNN 對句子進(jìn)行編碼。
2)DMRNN:本文方法的學(xué)生模型之一,使用RNN 對句子進(jìn)行編碼。
3)Teacher Model:本文2.2 小節(jié)介紹的教師模型。
4)DMCNN(distill):經(jīng)過教師模型蒸餾后的DMCNN模型。
5)DMRNN(distill):經(jīng)過教師模型蒸餾后的DMRNN模型。
6)EAEDE:本文提出的方法,由2 個蒸餾后的學(xué)生模型集成后所得。
表3 列出了基準(zhǔn)模型與EAEDE 在事件論元抽取上的實驗結(jié)果??梢钥闯觯篢eacher Model 的F1 值達(dá)到60.3%,分別比DMCNN與DMRNN高出6.8個百分點和6.3 個百分點,三者之間差距較大;學(xué)生模型經(jīng)過蒸餾后,論元抽取效果顯著提升,DMCNN(distill)在F1值上比DMCNN高出2.9個百分點,DMRNN(distill)在F1 值上比DMRNN 高出2.6 個百分點,這表明在事件論元抽取任務(wù)中,知識蒸餾可以提升淺層模型的表征能力,獲得更好的效果;此外,模型集成后EAEDE 的F1 值分別比DMCNN(distill)和DMRNN(distill)高出2.4個百分點和2.2個百分點,比DMCNN 高出5.3 個百分點,比DMRNN 高出4.8 個百分點,這說明模型集成可以有效彌補(bǔ)單個模型性能不足的缺點,得到一個更全面的模型。
表3 事件論元抽取實驗結(jié)果對比Table 3 Experiment results comparison of event argument extraction %
為進(jìn)一步分析本文方法的有效性,選取以下模型壓縮方法進(jìn)行對比:
1)Distill-Logits:方法架構(gòu)與本文方法相同,都是將教師模型蒸餾到2 個學(xué)生模型上,然后進(jìn)行集成。不同之處在于,該方法只對分類層進(jìn)行蒸餾。
2)Distill-Encoder:方法架構(gòu)與本文提出的方法相同,但該方法只對學(xué)生模型的Encoder 層進(jìn)行蒸餾,然后使用真實標(biāo)簽對模型分類層進(jìn)行訓(xùn)練。
3)Teacher-TinyBert:本文2.2 小節(jié)提出的教師模型,蒸餾方式使用的是JIAO等[3]提出的TinyBert。本文中使用的模型尺寸是6 層768 維。
4)Teacher-MobileBert:文獻(xiàn)[4]所提出的BERT蒸餾方式,本文使用的模型尺寸是24 層512 維。
Teacher-TinyBert 的模型壓縮思路是減少BERT的參數(shù)量,而EAEDE 的模型壓縮思路是將大模型知識蒸餾到多個小模型上,然后對小模型進(jìn)行集成。從表4 可以看出:在論元分類F1 值上,本文提出的EAEDE 比Teacher-TinyBert高出2.1個百分點,比Teacher-MobileBert 高出1.7 個百分點,充分證明了本文模型壓縮思路的有效性;同時,EAEDE 的性能比Distill-Logits高出1.9個百分點,比Distill-Encoder 高出2.2 個百分點。Distill-Logits 和Distill-Encoder 都只對模型的一個部分進(jìn)行了蒸餾,而EAEDE 對兩個部分都進(jìn)行了蒸餾,這表明對教師模型各層分別進(jìn)行蒸餾能夠使學(xué)生模型更有效地學(xué)習(xí)教師模型的知識,提升學(xué)生模型的分類性能。
表4 不同模型壓縮方法性能對比Table 4 Performance comparison of different model compression methods %
本文在相同的硬件條件下對模型預(yù)測速度進(jìn)行測試,GPU 型號為Tesla K40m,CPU 型號為E5-2680 v4。表5 列出了EAEDE 與基準(zhǔn)方法在參數(shù)量和單條數(shù)據(jù)推理時間上的對比結(jié)果。可以看出:EAEDE 在參數(shù)量上比Teacher Model減少99.25%,比Teacher-TinyBert減少98.81%,比Teacher-MobileBert減少96.91%;EAEDE僅使用了單層的CNN 和RNN 編碼器,參數(shù)量極??;Teacher Model 和Teacher-TinyBert 中的BERT 分別含有12 層和6 層的Transformer,隱層向量維度為768,通過計算可得,僅僅單層的Transformer 參數(shù)量就達(dá)到了7×106,是EAEDE 的8.1 倍;在單條數(shù)據(jù)推理時間 上,EAEDE 比Teacher Model減少90.85%,比Teacher-TinyBert 減少85.01%,比Teacher-MobileBert減少81.54%,這充分說明了本文方法在有限的硬件資源和時間下能夠獲得較好的效果。
表5 模型參數(shù)量、預(yù)測速度與F1 值對比Table 5 Comparison of model parameter quantity,prediction speed and F1 value
本文針對現(xiàn)有事件論元抽取模型參數(shù)量大、時延高等問題,提出一種基于知識蒸餾和模型集成的事件論元抽取方法。設(shè)計兩階段的蒸餾方式,將含有BERT 的教師模型蒸餾到一個使用單層CNN 或LSTM 編碼器的學(xué)生模型中,大幅減少模型參數(shù)量,并通過模型集成進(jìn)一步提升性能。實驗結(jié)果表明,本文方法能夠快速完成事件論元抽取任務(wù)并取得較優(yōu)性能。下一步將通過加入詞級特征、詞向量等進(jìn)行知識蒸餾,提升學(xué)生模型的事件論元抽取性能。