?

基于序列增強的事件主體抽取方法

2024-03-09 04:53沈加銳朱艷輝金書川張志軒滿芳滕
湖南工業大學學報 2024年1期
關鍵詞:解碼器語義向量

沈加銳,朱艷輝,金書川,張志軒,滿芳滕

(1.湖南工業大學 軌道交通學院,湖南 株洲 412007;2.湖南工業大學 計算機學院,湖南 株洲 412007)

1 研究背景

事件是指發生在某個特定的時間點或者特定的時間段[1],在特定區域內由一個或者多個角色做出一組或者多組動作而造成的狀態改變的行為[2]。事件抽取,旨在將包含有事件信息的非結構化文本和半結構化文本以結構化的形式展示出來[3-4]。近年來,事件抽取吸引了較多的研究機構和科研工作者們的注意,其中,MUC(Message Understanding Conference) 會 議、ACE(Automatic Content Extraction)會議等,就是典型的事件抽取評測會議。在各有關的事件抽取實驗之中,ACE 2005 數據集[5]更是被作為絕大部分實驗的評測語料,出現在各個事件抽取任務中。此外,常用于事件抽取任務的測評語料還有TAC-KBP(Text Analysis Conference Knowledge Base Population) 語料庫、TDT(Topic Detection and Tracking)語料庫和其他特定領域的語料庫,如BioNLP 語料庫、TimeBANK 語料庫、CEC(Chinese Electronic Corpora)語料庫、MUC 語料庫等[6-7]。

在ACE 中定義的事件包括事件元素與事件觸發詞兩個部分。其中,事件觸發詞是事件語句的核心部分,ACE 將事件抽取任務分為觸發詞檢測、觸發器/事件類型檢測、參數檢測、參數角色識別4 個階段。其中觸發詞檢測是檢測事件是否存在的依據,可用其判斷語句是否具有后續抽取價值。觸發器/事件類型檢測是通過不同觸發詞歸類事件類型,并由研究人事先定義好的模式組成。參數檢測類似于命名實體識別,抽取事件語句中的各種論元實體。參數角色識別將論元實體分類到相應角色,如時間、地點、涉事公司等。

根據抽取對象領域的不同,可以將事件抽取分為開放領域和專業(封閉)領域[8-9];根據文本粒度的不同,可以將事件抽取分為句子級和篇章級;根據模型結構的不同,可以將事件抽取分為pipeline 式和聯合模型式。在開放領域中,有更多的數據集可選。不同的文本粒度對事件抽取也有影響,篇章級包含更多事件,模型進行分辨時難度較大,而細粒度一般只包含一個扁平或嵌套事件,抽取準確性較高。根據抽取方法的不同,可以將事件抽取分為模式匹配和機器學習,例如,文獻[10-12]提出了一種由人工構建的事件抽取模式,其通過對文本進行匹配,從而提取出文本中的事件信息,這種方法可以獲得較高的精確率,但是人工參與程度較高,且受制于模式搭建,不利于新事件的抽取。文獻[13-14]使用機器學習方法,將信息處理重點放在特征項上,通過詞匯特征、句法特征、語義特征等獲得文本信息,從而提取事件信息,但其對數據標注的質量有極高的依賴,并且無法抽取較復雜的事件。

近年來,隨著深度學習不斷地發展,抽取方法的中心也從模式匹配方向逐漸轉移到機器學習,再到深度學習方法上。文獻[15]提出使用HMM(hidden markov model)與句法分析相結合的方法,對事件進行抽取。首先,使用句法分析對中文文本進行分析,隨后將得到的句法結構交給HMM 學習,得到一個抽取模型,其模型在200 篇網絡地震文本中的F1值達86.184。但HMM 與語法分析對語言的依賴性較強,增加了開發與移植不同語言的難度,其對于復雜語法結構也表現較差。文獻[16]抽取了微博交通信息,經過去噪、句子分割、詞性標注及命名實體識別后,使用CRF(conditional random field)與基于規則的正則表達方法抽取文本中的事件信息,結果F1值為62.5,在標準化的語料庫上F1值為66.5。但這種方法會依賴正則表達的設計好壞,極大限制了在不同任務中使用同一套模型的效率。

2019年,BERT(bidirectional encoder representations from transformers)模型橫空出世,其有效推動了NLP(natural language processing)領域各任務的發展。文獻[17]用BERT 微調稠密詞向量作為中文字詞表示,使用BiLSTM+CRF(bidirectional long short-term memory + conditional random field)方法,在突發公共衛生事件上,以pipeline 方式進行事件抽取,建立的模型在該數據集上的F1值得分為86.32,相較于只使用BiLSTM+CRF 的F1值78.3,有了較大的提升。但是此種方法使用文本截斷時的大小對最終的結果有較大的影響,同時在多語言文本中難以實現事件抽??;文獻[18]提出了一個基于GAT(graph attention networks)的模型,其利用Sentence Community 緩解多事件和角色重疊問題,提高了事件的抽取效率,其平均F1值為78.9。但是其對低頻出現事件抽取表現較差,需要每類事件有較多數據可供訓練;文獻[19]使用BiLSTM+Attention 機制整合信息的基礎上,利用top-k注意力機制,構建語法依賴圖,學習隱藏的語義上下文表示,抽取事件時間關系,其在Micro 數據集上的F1值為73.2,相較CAEVO(CAscading EVent Ordering architecture)有較大提升。但是這種方法在整合信息層面有較高要求,在這個過程中需要作出大量預處理工作,以防誤差傳播到語法依賴圖上[20]。

上述研究均獲得了一定的成果,但是很多工作對數據的依賴性較強或者需要前期的大量準備工作,而使用BERT 預訓練模型也未注意到填充文本對語義表達的影響。為了解決預訓練模型對文本填充部分過分表達的問題,本文擬提出一種序列增強的事件主體抽取方法,用于解決在事件抽取中使用固定文本長度造成短句子填充過多,從而引發語義偏移的問題。本研究進行了如下創新:

1)融合預訓練模型對字符級特征表達能力和序列模型對語義的表達能力,構建編碼器-解碼器架構實現事件主體抽取任務;

2)加入Mask 層,增強序列抽取能力,可有效抑制文本填充部分對語義空間的表達能力,從而提高最終的識別精確率;

3)將損失函數與文本填充部分通過Mask 層相關聯,減少了模型過擬合現象的發生。

2 基于序列增強事件主體抽取模型構建

本文提出一種序列增強的事件主體抽取方法,該方法能有效解決抽取過程中填充文本在訓練中錯誤傳播的問題,模型整體結構見圖1。

圖1 模型整體結構示意圖Fig.1 Model overall structure diagram

為提高事件的主體抽取精確率,模型構建編碼器-解碼器-MLP(multi-layer perceptrons)映射層用于解析文本語義。其中:編碼器以BERT 層為主體,將輸入文本以字符級切分為token,經過BERT 層和Dropout層訓練后,得到每個token的稠密詞向量表達;解碼器以增強序列層為主體;MLP 映射層由使用神經元個數遞減的全連接層組成。這樣的組織結構有效將各種長度的文本序列映射到相同語義空間之中,學習一種共同的語義表達。

2.1 編碼器

本文構建的編碼器主要由BERT 層、Mask 層、Dropout 層和SpatialDropout 層組成,如圖2所示。

圖2 編碼器結構示意圖Fig.2 Encoder structure diagram

為便于對文本整體進行語義編碼,本文將文本截斷、填充后,以字符為單位劃分token,讓模型學習中文文本更細粒度的語義表達,token 輸入BERT 模型中得到字符級的向量表達,表達公式如下:

式中:Ei(i=1,2,··,n)為詞向量;

S為句向量。

Dropout 層以字向量Ei與句向量S的和作為輸入,隨機舍棄更新,其中更新公式如下:

式(2)~(4)中:Bernoulli函數生成概率向量r;

p為控制隨機舍去的概率;

f(·)為使用的相應激活函數;

w為可訓練權重;

y為第l層的結果;

b為l層偏置項;

l為神經層數。

本文在編碼器結構中加入了一個Mask 層,它將原文本對應的位置用1 表示,填充部分用一個極小的數值表示,以此形成一個掩碼序列向量,并將其與BERT 模型微調后得到的稠密詞向量相加,以此增加文本部分的權重,降低填充部分的重要性。

本文編碼器結構中的最后一層采用了SpatialDropout,它最早是在圖像領域提出的,與Dropout 相比,它不僅能夠將部分元素置零,還可以隨機對某一維度向量全部置零[21]。此外,該方法可以防止模型對特定特征項過度依賴,并通過強制學習所有特征來獲取其語義表達。

2.2 解碼器

本研究構建的解碼器由兩個雙向序列模型、兩個Mask 層組成,如圖3所示。

圖3 解碼器結構示意圖Fig.3 Decoder structure diagram

從解碼器角度來看,Bidirectional-RNN 模型、Bidirectional-GRU(BiGRU)模型、BiLSTM 模型或者是GRU 模型、LSTM 模型,都是可行的序列模型,本文擬通過實驗證明,采用BiGRU 可以在最終訓練結果上達到最好的效果。

在經過編碼層后得到的詞向量表達Ei被用作解碼器的輸入,并通過第一層BiGRU 處理,以形成新的[E1,E2,E3,…,Ei,…,En],其計算公式如下:

式(5)~(8)中:

Wz、Wr和W分別為更新門、重置門以及候選隱藏狀態的權重矩陣。

首先,Ei與Mask 層進行點乘操作,用以降低第一層BiGRU 的前半部分中填充部分文本的權重,并且將其輸入至后半部分BiGRU 中,得到更新后的[E1,E2,E3,…,Ei,…,En];然后通過Mask 層對其進行處理,以減少填充文本的權重,從而得出解碼器的輸出結果。

2.3 MLP 映射層整合特征項

在經過編碼器和解碼器處理后,模型已學習到許多字符信息特征,并通過設計MLP 映射層以抽取出事件主體,其模型結構如圖4所示。

圖4 MLP 層結構示意圖Fig.4 MLP layer structure diagram

如圖4所示,MLP 層前半部分由3 層神經元以及2 層Dropout 組成。其中,3 層神經元的數量呈指數遞減,將高維信息映射至低維以有利于最后的表達輸出,而2 層Dropout 則可以防止過擬合。MLP 層后半部分對應2 個輸出,均由1 個神經元以及1 個InvMask 層構成。在InvMask 層中,該模型將會將所有的填充部分設定為微小數字,并進行相減處理;此外,該函數也會將神經元的輸出內容減去InvMask中的反轉函數,以得到如下的最后表達式:

式中:α為掩碼部分掩蓋權重超參數;

Wven為經過上一層神經元后的特征表達;

psi為經過InvMask 層后的輸出。

2.4 損失函數

為了提高事件主體抽取的精確率,本文設計了一個損失函數,其由兩部分組成,分別對應于MLP 層后的ps1和ps2,用于進行綜合損失值計算,并進行反向傳播。具體的計算公式如下。

式(10)(11)中:

seni為第i個輸入句子,將輸入seni與對應第i個MLP 層輸出做交叉熵,當求得第一部分損失函數時i=1,求得第二部分損失函數時i=2;

θ(·)為張量均值。

與第一部分損失函數類似,第二部分損失函數為了減少Mask 層對抽取精確率的影響,需在計算損失函數時減去InvMask 的改變量,公式如下:

第二部分損失值通過式(10)得到cc2,則第二部分損失函數表達式為

最終損失函數為

3 實驗設計及數據分析

3.1 實驗數據集分析

每年,CCKS 都發布各種高質量數據集,供研究者進行實驗。這些數據集包括大量可用于事件抽取的數據,對于使用不同框架進行事件抽取具有顯著的幫助[22-24]。為了證明本文提出方法的有效性,采用CCKS 2022 評測任務九金融領域事件抽取數據集進行實驗,其中訓練數據集共59 143 條,測試數據共15 265 條。數據集文本長度分布如圖5所示。

圖5 數據集文本長度分布圖Fig.5 Dataset text length distribution

由圖5 可以得知,本研究選用的數據集文本長度集中分布在20~140 字符之間。訓練數據集事件類型分布如表1所示。

表1 訓練數據集類型統計結果Table 1 Training dataset type statistics

數據集中有173 種不同的事件類型,但是這些類型的數量分布并不均勻。這是由金融領域事件發展所決定的,例如高層變動、與其他機構合作、資產重組等事件的概率較高,因此其對應的信息也會更加密集。

3.2 實驗環境

本實驗基于TensorFlow 框架搭建模型,并使用GPU 加速訓練過程,以便快速收斂。為此,本模型封裝原有優化器以實現梯度累積功能,將計算得到的梯度方向保存在內存中,在獲取一個batch 數據后,當進行一定的累加步數后,根據之前保存的梯度方向來對神經網絡進行參數調整,接下來將所有保存的參數全部重新歸零,并進行迭代訓練。具體的實驗硬件配置如下:操作系統為Windows 10×64位;CPU 為i7-10510U@ 2.30 GHz,GPU 為NVIDIA GeForce MX250;內存為16 GB;Python版本為3.7.13;TensorFlow 版本為1.14.0。

3.3 實驗設計

為了驗證本模型在金融領域文本中的事件主體抽取能力,本文設計如下對比實驗方案:

1)BiLSTM+CRF 模型。這是一類典型的序列抽取模型,通過訓練語料生成一個200 維的詞向量,將待抽取文本通過BiLSTM 表達出來,再由CRF 對其進行約束,最后得到序列預測結果。

2) BERT+CRF 事件抽取模型。事件先經過BERT 編碼后,將文本語義投影到768 維的特征向量中,然后由CRF 層對其進行約束,最后得到序列預測結果。

3) DMCNN 模型。它是一種pipeline 式抽取方案,其具有自動學習特征的能力。該模型通過無監督的方式學習詞嵌入以及字典級別特征表達能力,并且具備句子級特征抽取能力。同時,通過使用動態卷積神經網絡來實現事件抽取。

4)序列增強事件抽取模型,即本文所提模型。首先構建了一個中文詞表,供BERT 模型查詢使用。接著,使用tokenizer 對文本進行細粒度切分,并將其輸入BERT 模型中。然后,將BERT 模型輸出的token 向量作為雙向LSTM 模型的輸入,以學習文本的隱藏語義特征。最后,運用MLP 層對這些特征進行預測,得出最終結果。

除此之外,本文還開展了模型對比實驗,比較了基線模型和本研究所提出的模型在信息抽取方面的表現。接著,進行了一系列重要的超參數選取實驗,以期望能夠進一步改良本文的模型,并且達到更優秀的試驗效果。

4 實驗結果

4.1 超參數選取實驗

為了尋求更高的抽取精確率和效率,分別對序列模型層數、α值、MLP 層內神經元個數以及文本截取長度進行取值實驗。本實驗采用精確率P作為評價指標,實驗結果如表2所示。

表2 MLP 層、GRU 層數、α 值超參數結果對比Table 2 Result comparison between MLP layer,layers of GRU and α values exceeding parameters

在經過BERT 模型微調后,每個token 都會具備高維度的語義表達能力,這就要求使用更多層數的神經元來承載信息。從表2所示實驗結果可以看出,當MLP 層神經元個數為64-4-1 時,由于神經元較少,對特征空間的表達能力不足,因此精確率僅為46.12%。在提高MLP每層神經元個數到1024-64-8后,精確率提高到81.14%。

在序列模型層數實驗中發現,隨著層數的增加,精確率隨之增加,且當層數達到最大值200 后,精確率開始減小。實驗結果表明,模型層數GRU 為200時P值最大,因此本模型最終將序列模型的層數定為200。

雖然α值會影響模型對非文本序列的權重,但從結果中發現α值也并非越大越好,當其值超過一定范圍時,其精度將大幅度下降,根據實驗結果顯示,當α值為1e10 時,結果最優。

同時,本文設計采用不同截取長度的文本,探究填充長度對模型提取事件主體的精確率和運行時間的影響,所得實驗結果如表3所示。

表3 文本截取填充長度結果對比Table 3 Comparison of text intercept filling length results

根據前3 個實驗結果可以得出,隨著截取文本長度的增加,訓練精度也相應增加,但是訓練時間也會急劇上升。當文本長度從140 字增加到200 字時,訓練時間大幅度上升,而訓練精度卻開始下降。這是由于當將截取文本填充到200 字以后,會引入大量不相關的信息對語義造成干擾。這一實驗結果進一步證明了使用Mask 層的必要性,其可以有效降低語義干擾。權衡訓練效果與運行時間兩個因素,本文選擇maxlen 值為140 進行后續實驗。

除此之外,模型所采用的BERT 模型是中文的L-12_H-768_A-12 預訓練權重,其中包含12 層Encoder,768 個隱藏神經單元以及12 個attention heads??紤]到每一輪的學習率應該有所不同,本研究使用了warm up 方式來在不同輪數時改變學習率:在第一輪,以0.005 的學習率開始,隨后以step 依次減少,直到0.000 1。Dropout 層都使用20%的舍棄率進行隨機舍棄;SpatialDropout 層則將舍棄率降低到10%。

4.2 序列對比實驗

為了評估BiLSTM、BiGRU、LSTM 和GRU 這4 種序列模型的表達能力,在其他參數不變的情況下,采用10 折交叉驗證的方式進行實驗,最終將表示能力取平均值作為最佳結果。所得各序列模型的實驗結果如表4所示。

表4 序列模型結果對比Table 4 Comparison of sequence model results

由表4 可知,雙向模型比單向模型具有更好的表達能力,本文采用的BiGRU 模型比BiLSTM 在理解句子語義邏輯上具有更強的優勢。

4.3 模型對比實驗

BiLSTM+CRF、BERT+CRF、DMCNN 和本文所給出模型的對比實驗結果如表5所示。

表5 4 種模型實驗結果對比Table 5 Comparison of experimental results of four models

通過分析表5所示實驗結果可以得出,DMCNN模型經過動態卷積層后可以很好地表達出句子級的文本理解能力,抽取出事件主體。而簡單使用BiLSTM 較難對句子進行編碼操作,很難理解句子內主體邏輯能力,精確度相較別的模型更低。且結果顯示,本文模型具有最高的識別精確率,并且在4 種模型中,F1得分最高。

5 結語

為了解決填充文本對語義表達帶來的偏差,本文提出了一種增強序列模型,它對輸入文本中的填充部分與非填充部分進行不同的處理,從而使模型能夠更加高效地專注于原始文本部分,進而提升文本的表達能力。該方法結合了BERT 字符級的語義映射能力與序列技術對文本特征的抽取能力,取得了優異的效果。

從實驗數據集中的事件類型數量分布來看,大量不平衡樣本類型對召回率造成影響,因此后續工作可以從以下方面進行優化:

1)通過采用樣本均衡的方法來緩解樣本類型數量間的不平衡,從而改善效果較差類別的召回率。

2)增加注意力機制,將文本語義空間與類型相關聯,以便更好地提升抽取效果。

3)尋找更細粒度字符表達或增加字符表達能力,提高BERT 模型的訓練效果,進一步增加文本語義表達能力。

猜你喜歡
解碼器語義向量
向量的分解
科學解碼器(一)
聚焦“向量與三角”創新題
科學解碼器(二)
科學解碼器(三)
語言與語義
線圣AudioQuest 發布第三代Dragonfly Cobalt藍蜻蜓解碼器
“上”與“下”語義的不對稱性及其認知闡釋
向量垂直在解析幾何中的應用
向量五種“變身” 玩轉圓錐曲線
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合