覃俊,廖立婷,劉晶,葉正,劉璐
(中南民族大學(xué) 計算機科學(xué)學(xué)院& 湖北省制造企業(yè)智能管理工程技術(shù)研究中心,武漢 430074)
關(guān)系抽取作為信息抽取的核心任務(wù),旨在從文本中識別實體并抽取實體之間的語義關(guān)系,為構(gòu)建知識圖譜、自動問答系統(tǒng)等自然語言處理任務(wù)提供數(shù)據(jù)基礎(chǔ).早期應(yīng)用于關(guān)系抽取的方法主要是CNN、RNN 及其改進模型.LIU 等[1]最早將CNN 運用到自然語言處理任務(wù)中來自動提取特征,代替了手工特征,但結(jié)構(gòu)簡單無池化層.ZENG 等[2]是首次將Position Embedding 應(yīng)用到關(guān)系抽取中,使用最大池化,但提取特征單一.ZHANG 等[3]嘗試使用RNN 獲取更多的信息,但訓(xùn)練時間較長、易出現(xiàn)梯度消失和梯度爆炸.隨著LSTM[4]、GRU[5]、BERT[6]等模型的出現(xiàn),RNN的問題在一定程度上得以改進.
綜合考慮關(guān)系抽取的實體之間的位置關(guān)系、句子的語義信息、以及漢字特點,提出了基于漢字字形的關(guān)系抽取方法,其主要貢獻如下:
(1)根據(jù)漢字是象形字的特點,相同或相近意思的詞或多或少在漢字字形上都存在相似之處,故將漢字字形拆解并融合到關(guān)系抽取的模型中,以獲取更多未曾關(guān)注到的潛在信息.
(2)使用能獲取更多特征信息的深度學(xué)習(xí)模型BERT 進行句子級、詞級編碼,并利用自注意力機制計算實體之間的語義關(guān)系.
針對語料缺乏問題,MINTZ 等[7]首次提出不依賴人工標(biāo)注的關(guān)系抽取——遠程監(jiān)督.其基于一個大膽的假設(shè):如果兩個實體在已知知識庫中存在某種關(guān)系,那么當(dāng)這兩個實體在同一個句子中共現(xiàn)時,這個句子也表達這種關(guān)系.但帶來兩個主要問題:包含實體對的句子可能并未表達在知識庫的關(guān)系;二是兩個實體對可能存在多種關(guān)系,無法判斷是哪一種.RIEDEL 等[8]放寬該假設(shè):包含實體對句子中至少有一個表達這種關(guān)系.其有更好的準確性,但預(yù)測任務(wù)更為復(fù)雜.SURDEANU 等[9]提出多實例學(xué)習(xí)來緩解.LIN 等[10]引入attention 機制.XU 等[11]提出將關(guān)系抽取轉(zhuǎn)換成序列標(biāo)注任務(wù),使用LSTM 緩解長距離依賴問題.BELTAGY 等[12]提出將監(jiān)督學(xué)習(xí)與遠程監(jiān)督相結(jié)合的改進模型.YE 等[13]將注意力從bag內(nèi)擴展到bag 間.隨著Bert的問世,SHI等[14]提出基于Bert模型進行關(guān)系抽取.VASHISHTH 等[15]提出利用KBs中的附加邊信息改進關(guān)系抽取.
中文語境的關(guān)系抽取借鑒已有的研究方法.文獻[16]提出在文本特征組織方面融合位置特征、最短依存特征等多元特征.文獻[17]利用文本向量和位置編碼得到局部特征作為輸入,通過多頭注意力機制的神經(jīng)網(wǎng)絡(luò)模型,得到全局特征.文獻[18]將雙向GRU 模型與PCNN 模型結(jié)合起來,并加入注意力機制.文獻[19]使用BiLSTM 獲取更為完整的上下文特征信息.通過深度學(xué)習(xí)框架來獲取文本的語義信息,忽略了數(shù)據(jù)集自身的特點.漢字,起源于記事的象形性圖畫,象形字是漢字體系得以形成和發(fā)展的基礎(chǔ).當(dāng)前我們使用的雖是簡化版的文字,但在一定程度上依舊保持著潛在的聯(lián)系.這種潛在的信息在先前的研究工作中很少被利用.
預(yù)處理的主要目的是獲取高質(zhì)量的訓(xùn)練數(shù)據(jù),預(yù)處理工作主要是對句子中的實體進行字形拆解.漢字屬于象形文字,其字形存在豐富的內(nèi)在特征.比如部首為氵的漢字(如江、海、河等)都表示一般與水有關(guān),也存在極少數(shù)例外,如法.
模型輸入是包含實體對(eh,et)的句子和該句子的上下文、實體對以及其字形.假設(shè)包含實體對(eh,et)的文本數(shù)據(jù)的集合s={x1,x2,…,xn},xi為一個輸入語料,集合s的向量標(biāo)記為S,表示如公式(1).
αi為xi權(quán)重,引入的注意力機制中權(quán)重越高的句子越能表示實體對的關(guān)系.其中αi的計算如公式(2).
hi是實體對(eh,et)之間關(guān)系的相關(guān)性權(quán)重,在計算時考慮上下文信息對實體對關(guān)系的影響,hi的計算如公式(3).
xi為包含實體對的句子,xi-1表示它的上一句,xi+1表示下一句.A是通過模型學(xué)習(xí)到的權(quán)重矩陣,r是實體對之間的關(guān)系,也是需要學(xué)習(xí)的.使用Sigmoid將句子對實體對的影響映射到[0,1]之間.
包含實體對(eh,et)句子xi=(w1,w2,…,wj,..,wk,…,wp,…,wq,…,wn),其中wi為一個漢字,實體eh=(wj,..,wk),實體et=(wp,…,wq).一個實體由多個漢字組成,一個漢字由多個部件構(gòu)造而成,實體eh的字形表示為,其中表示實體第一個漢字的第一個構(gòu)造部件(比如‘漢’構(gòu)造部件為‘氵’和‘又’,其中為‘氵’為‘又’,n為eh的所有構(gòu)造部件總和),實體et的字形表示為字形信息均從新華字典(http://tool.Httpcn.com/Zi/)中獲得.
基于深度學(xué)習(xí)BERT_BI-GRU_Glyph 關(guān)系抽取模型如圖1所示,其主要部分如下:
圖1 融合多信息的實體關(guān)系抽取分類器Fig.1 Entity relationship extraction classifier based on multi-information fusion
(1)輸入層:預(yù)處理階段通過新華字典得到實體的字形信息,句子、實體、實體字形作為模型的輸入;
(2)嵌入層:通過BERT 得到句子編碼、實體編碼和實體字形編碼,作為BI-GRU的輸入;
(3)BI-GRU 層:通過BI-GRU[20]豐富句子和字形上下文信息,并融合句子信息、實體信息和實體的字形信息得到輸入的向量表示;
(4)Attention 層:通過生成一個代表注意力的權(quán)重向量,對上一層的輸出進行加權(quán)計算,得整體特征向量表示.
(5)輸出層:將整體的特征向量輸入到softmax分類器,得到其關(guān)系的分類結(jié)果.
模型是將句子輸入到BERT 中得到比較豐富的語義特征向量,再將句子編碼放入BI-GRU 模型中豐富句子的上下文信息,并融合實體和實體字形信息加強實體的特征表示,最后使用融合后的特征信息進行關(guān)系抽取.在本節(jié)中會介紹到句子信息編碼(3.1)、實體信息編碼(3.2)以及實體字形信息編碼(3.3).
實驗的數(shù)據(jù)集是中文數(shù)據(jù)集,首先利用BERT自帶的分詞工具得到Tok,其中輸入的文本信息有包含實體對句子的上文xi-1、包含實體對的句子xi和包含實體對句子的下文xi+1三個部分組成.經(jīng)過BERT模型得到句嵌入向量如公式(4).
BERT 中文模型只支持字級別的編碼方式,不會根據(jù)時態(tài)等情況進行分詞,忽略掉句子具有序列結(jié)構(gòu)的特征.故融合BI-GRU[20]以獲取其上下文信息.其BI-GRU[20]的編碼方式如圖2.GRU[5]是RNN 網(wǎng)絡(luò)的一種,其思想和LSTM[4]相似.通過“門機制”來克服短時記憶的影響和梯度爆炸梯度消失問題.其中LSTM[4]和GRU[5]元 結(jié) 構(gòu) 對 比 如 圖3.相 比LSTM,GRU 只包含重置門和更新門,GRU 結(jié)構(gòu)簡單,參數(shù)少,訓(xùn)練容易.
圖2 通過BI-GRU對句子編碼Fig.2 The sentence is encoded by Bi-GRU
圖3 GRU和LSTM內(nèi)部結(jié)構(gòu)Fig.3 GRU and LSTM internal structure
在圖3(b)中,xt為輸入,ht為GRU 神經(jīng)元的輸出,rt、zt分別為t時刻的重置門和更新門,共同控制上一層的隱藏狀態(tài)和這一層的輸入來計算當(dāng)前時刻的隱藏狀態(tài)ht.計算如公式(5~8):
σ為Sigmoid函數(shù),wr、wz、wh分別為重置門、更新門和候選隱藏狀態(tài)~ht的權(quán)重矩陣.
BI-GRU 中包含了正向傳播和反向傳播的隱藏層,兩個方向的隱藏層都會傳遞到輸出層,因此輸出信息既包含了正向信息也包含了反向信息.
中文分詞中對于邊界模糊的詞常存在錯誤傳播問題,故將實體信息進行編碼加強句子中實體的表示.在編碼時,使用BERT 進行預(yù)訓(xùn)練.給定實體eh=(wj,..,wk),實體et=(wp,…,wq)作為輸入,則其對應(yīng)的實體eh和et信息表示分別為Eh=(ej,..,ek)和Et=(ep,..,eq),其中ej+i表示實體eh的第i 個漢字.ei∈Rdc,dc為輸出維度.
數(shù)據(jù)預(yù)處理是通過新華字典(http://tool.Httpcn.com/Zi/)獲取實體的字形信息.在進行實體字形信息編碼時,采用BERT進行預(yù)訓(xùn)練.在形式上,給定實體eh字形 信 息,實 體et字 形 信 息作為輸入,則其對應(yīng)的實體字形信息表示分別為和其中i表示實體的第i個字形,表示如圖4.為輸出維度.將實體的信息和實體字形信息拼接融合表示實體信息,則輸出如公式(9~10).
圖4 實體信息融合表示Fig. 4 Entity information fusion representation
模型中引入注意力機制,對句子中的詞語添加權(quán)重,使神經(jīng)網(wǎng)絡(luò)更加注重句子中的重要詞語.對于BI-GRU 輸出的詞向量H=(h1,h2,…,hn),其中n表示輸入的句子文本的長度,首先通過tanh函數(shù)將原始的矩陣變換到[-1,1]之間,然后通過Softmax函數(shù)計算得到注意力權(quán)值α,最后用α對詞向量矩陣進行加權(quán)得到示例向量N,輸出如公式(11~13).
Wc、Uc、bc參數(shù)均是通過訓(xùn)練模型得到的.
輸出層使用Softmax對句子、實體融合特征進行分類,Softmax函數(shù)將會計算出對每類別的傾向概率,取最大值作為該句子的預(yù)測類別.表示如公式(13).
W和b分別為權(quán)重參數(shù)與偏置參數(shù).
數(shù)據(jù)集是中國科學(xué)院軟件研究所劉煥勇[21]和GUAN[22]發(fā)布的人物關(guān)系語料庫.其中劉煥勇發(fā)布的數(shù)據(jù)集中包含12類人物關(guān)系,其人物關(guān)系對數(shù)量如表1.由于數(shù)據(jù)集未進行訓(xùn)練集和測試劃分,所以以8∶2 劃分訓(xùn)練集和測試集.Guan 發(fā)布的數(shù)據(jù)集中包含12類人物關(guān)系,其人物關(guān)系對數(shù)量如表2.采用評測指標(biāo)為準確率.
表1 數(shù)據(jù)集中的人物關(guān)系對數(shù)量Tab.1 The number of relationship pairs in the data set
表2 數(shù)據(jù)集中的人物關(guān)系對數(shù)量Tab.2 The number of relationship pairs in the data set(a)測試集中人物關(guān)系對數(shù)量
實驗中使用的語言是python 3.6,BERT 中文預(yù)訓(xùn)練模型使用的是Chinese_L-12_H-768_A-12,深度學(xué)習(xí)框架tensorflow1.15.句子的最大長度設(shè)為128,訓(xùn)練時的batch_size 設(shè)為30,學(xué)習(xí)率為0.001,epochs 設(shè)為30.為了獲得更好的泛化性能,防止過擬合,在訓(xùn)練時加入了early stopping 機制,還在模型中多處中加入了dropout,其中dropout rate 為0.2,最后通過Adma優(yōu)化器進行訓(xùn)練.
為了驗證融合了字形級特征的實體表示的效果,實驗采用未融合的模型BERT_BI-GRU,融合的模型BERT_BI-GRU_Glyph.其次考慮到實體的字形表示也存在空間聯(lián)系的、位置順序關(guān)系,選取CNN對BERT編碼后的向量進行信息增強BERT_BI-GRU_Glyph(CNN),選取BI-GRU 豐富字形的上下文信息BERT_BI-GRU_Glyph(GRU).實驗結(jié)果如表3(其中ALL 表示數(shù)據(jù)集全部數(shù)據(jù)).
從表3中可以看到,對比實驗2和實驗4以及實驗3和實驗4,可以發(fā)現(xiàn)在模型中加入了BI-GRU后,關(guān)系抽取的準確率也有提升,在一定程度上彌補了Bert 官方的中文模型上的不足.對比基線模型(BERT_BI-GRU),使用實體字形信息的模型在不同量級的數(shù)據(jù)集上的所有關(guān)系抽取的準確率指標(biāo)上都有一定的提高.在數(shù)據(jù)量級相對較少的情況下,其提升值最大;在量級相對較高的情況下,其準確率的基數(shù)也相對較高,其提高的度相對于小量級的稍低.通過使用不同的模型處理實體以及實體字形信息,通過實驗發(fā)現(xiàn),實體信息中不僅存在先前工作中忽略掉的字形信息,而且字形信息在排列上也存在隱藏聯(lián)系.
表3 模型在不同量級的數(shù)據(jù)集上的準確率(%)Tab.3 Accuracy of models on different magnitudes of data sets
實驗中在數(shù)據(jù)集量級為5 萬的情況下,對關(guān)系類別上進行對比,如表4.
表4 各關(guān)系類型上的準確性Tab.4 Accuracy of each relationship type
如表4 所示,BERT_BI-GRU_Glyph(GRU)在大多關(guān)系上的準確率都有提高.但在有血緣關(guān)系的關(guān)系類型上相對明顯,在這類關(guān)系中,實體的字形信息更加的突出,比如在紅樓夢中賈母的三個兒女分別是賈赦、賈政和賈敏,他們?nèi)嗽诿种卸己小半丁逼?,其實在日常生活中也常常存在這樣的現(xiàn)象.在農(nóng)業(yè)領(lǐng)域、醫(yī)學(xué)領(lǐng)域等,其字形的特征更為突出,融合字形的實體表示更能發(fā)揮潛在的價值.
針對中文關(guān)系抽取任務(wù),本文提出了BERT_BI-GRU_Glyph 模型,基于漢字是象形字的特點,實體表示融合了字符級嵌入和字形級嵌入,豐富了語義信息.實驗表明,字形級嵌入在關(guān)系抽取中有效性.目前,只涉及到人物關(guān)系抽取人物,但農(nóng)業(yè)領(lǐng)域、醫(yī)學(xué)領(lǐng)域等特定領(lǐng)域,其字形的特征更為突出.此外,在關(guān)系抽取任務(wù)中還可以融入多方面的外部信息,如實體說明,實體類型等.在未來的工作中,將嘗試將其應(yīng)用到特定領(lǐng)域的關(guān)系抽取中以及擴展實體的表示.