歐陽蘇宇,邵鎣俠,杜軍平,李 昂
(北京郵電大學(xué)計算機學(xué)院,智能通信軟件與多媒體北京重點實驗室,北京 100082)
無論是專業(yè)科技資源平臺,還是社交媒體場景,都有大量的科技文本數(shù)據(jù)[1-3],對這些數(shù)據(jù)進(jìn)行知識抽取能更好地進(jìn)行信息挖掘和利用[4,5]。知識抽取任務(wù)[6]是從非結(jié)構(gòu)化的文本數(shù)據(jù)抽取三元組關(guān)系(頭實體-關(guān)系-尾實體),現(xiàn)有知識抽取研究主要基于循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)。RNN的同一層節(jié)點之間是相互連接的,對于每一個時間步長,都有來自前面時間步長的信息,并加以權(quán)重用以控制[7]。長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)用于解決RNN在訓(xùn)練過程中容易出現(xiàn)梯度爆炸和梯度消失的問題[8]。門控制單元(Gated Recurrent Unit,GRU)建立在LSTM的基礎(chǔ)上,僅由重置門(Reset Gate)和更新門(Update Gate)組成[9]。
現(xiàn)有基于深度學(xué)習(xí)的知識抽取方法分為流水式方法和聯(lián)合抽取方法。本文采用聯(lián)合知識抽取模型,很好地保留實體和關(guān)系之間的關(guān)聯(lián),將實體和關(guān)系的聯(lián)合抽取轉(zhuǎn)化為序列標(biāo)注問題。為了在最大程度上避免邊界切分出錯,選擇字標(biāo)注的方式,即以字為基本單位進(jìn)行輸入。但是在中文中,單純的字Embedding難以存儲有效的語義信息,因此為了更有效地融入語義信息,本文設(shè)計了一種字詞混合方式。同時結(jié)合自注意力機制來捕獲句子中的長距離語義信息,并且通過引入偏置權(quán)重來提高模型抽取效果。
知識抽取是從文本中抽取結(jié)構(gòu)化信息[10],文本實體關(guān)系抽取是信息抽取的一個子域,是指從文本關(guān)系提取語義關(guān)系,這種語義關(guān)系存在于實體對之間。定義文本S,關(guān)系集合R={r1,r2,…},文本關(guān)系抽取就是根據(jù)S和R抽取三元組(h,r,t)的過程,其中,h表示頭實體,t表示尾實體,r表示h與t之間的關(guān)系[11]。一般來說,文本關(guān)系抽取的步驟分為命名實體識別(Named Entity Recognition,NER)[12]和關(guān)系分類(Relation Extraction,RE)[13]。在深度學(xué)習(xí)中,文本關(guān)系抽取主要基于有監(jiān)督和遠(yuǎn)程監(jiān)督兩種方法進(jìn)行研究。有監(jiān)督的關(guān)系抽取方法主要包括流水式學(xué)習(xí)和聯(lián)合學(xué)習(xí)兩種。
流水式抽取通常將命名實體識別和語義關(guān)系分類獨立進(jìn)行,先識別出文本數(shù)據(jù)中存在的實體,再根據(jù)實體對判斷之間的關(guān)系是否存在。早期的流水式學(xué)習(xí)方法主要基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[14,15]。Zeng等[16]利用CNN網(wǎng)絡(luò)進(jìn)行關(guān)系分類,設(shè)計基于詞法級別(lexical level)和句子級別(sentence level)的特征提取網(wǎng)絡(luò),對兩種特征進(jìn)行融合得到編碼向量,在編碼器網(wǎng)絡(luò)后接全連接層,利用softmax進(jìn)行關(guān)系分類,在公開數(shù)據(jù)集上驗證了方法的有效性。在此基礎(chǔ)上,Nguyen等[17]加入了多尺寸卷積核,完全使用句子級別特征,能自動學(xué)習(xí)句子中的隱含特征。近年來,許多學(xué)者基于RNN開展了研究。Socher等[18]首次采用RNN對文本進(jìn)行句法解析,句法解析樹上的每個節(jié)點由向量和變換矩陣兩部分組成,對于任意句法類型和長度的詞語和句子,均可以學(xué)習(xí)其組合向量表示。LSTM是一種特殊的RNN。Xu等[19]提出了采用SDP-LSTM模型進(jìn)行關(guān)系分類,基于最短依賴路徑的思想,過濾文本無用信息,使用LSTM將異構(gòu)信息進(jìn)行有效集成,制定有效的dropout策略防止出現(xiàn)過擬合的可能。Zhang等[20]提出了雙向遞歸卷積神經(jīng)網(wǎng)絡(luò)模型(BRCNN),基于最短依賴路徑,使用了雙向長短期記憶網(wǎng)絡(luò)(Bi-LSTM),考慮實體之間關(guān)系的方向性,利用詞語前后的信息進(jìn)行關(guān)系抽取。
流水式方法將命名實體識別和關(guān)系分類視為兩個獨立的任務(wù),忽略了任務(wù)之間存在的關(guān)系。同時,由于任務(wù)之間存在先后順序,導(dǎo)致實體識別的誤差影響到后續(xù)關(guān)系分類,出現(xiàn)誤差傳播現(xiàn)象。另外,由于缺乏關(guān)系的實體對無法兩兩配對,導(dǎo)致在關(guān)系分類中帶來多余信息,出現(xiàn)實體對冗余的現(xiàn)象。近年來,許多研究嘗試將兩個任務(wù)聯(lián)合進(jìn)行學(xué)習(xí),即將命名實體識別和關(guān)系分類融合為單個任務(wù)。聯(lián)合學(xué)習(xí)方法主要包括基于參數(shù)共享的方法、基于序列標(biāo)注的方法和基于圖結(jié)構(gòu)的方法。
①基于參數(shù)共享的方法是在命名實體識別和關(guān)系分類兩個任務(wù)中間設(shè)計共享編碼層,在訓(xùn)練中得到最佳的全局參數(shù)。Miwa等[21]首次設(shè)計基于LSTM的共享編碼層,以獲得單詞序列和句法依存樹上的子結(jié)構(gòu)信息。Zheng等[22]在此基礎(chǔ)上,設(shè)計基于向量嵌入層和Bi-LSTM層的共享編碼層,命名實體名識別模塊采用LSTM,關(guān)系分類模塊采用CNN,有效捕獲了長文本實體標(biāo)簽之間的距離依賴關(guān)系。
②基于序列標(biāo)注的方法是將命名實體識別和關(guān)系分類兩個任務(wù)融合成序列標(biāo)注的問題。為了解決基于參數(shù)共享的方法容易產(chǎn)生實體對冗余的問題,Zheng等[23]提出了一種新的標(biāo)注方案,將聯(lián)合提取任務(wù)轉(zhuǎn)換為標(biāo)注問題,研究了不同端到端的模型[24]的關(guān)系抽取性能,另外使用偏置損失函數(shù)來增強相關(guān)實體之間的關(guān)聯(lián)。Bekoulis等[25]利用條件隨機場(Conditional Random Field,CRF)將命名實體識別和關(guān)系抽取任務(wù)建模為一個多頭選擇問題(Multi-Head Selection Problem),將關(guān)系分類任務(wù)看作多個二分類任務(wù),從而使得每個實體能夠與其他所有實體判斷關(guān)系,有效解決了關(guān)系重疊的問題。
③基于圖結(jié)構(gòu)的方法是利用圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Networks,GNN)對關(guān)系進(jìn)行抽取。Wang等[26]提出基于圖結(jié)構(gòu)的聯(lián)合學(xué)習(xí)模型,同時使用偏置權(quán)重的損失函數(shù)削弱無效標(biāo)簽的影響,增強了相關(guān)實體間的關(guān)聯(lián)。此外,F(xiàn)u等[27]提出了一種端到端的關(guān)系抽取模型GraphRel,通過關(guān)系加權(quán)圖卷積網(wǎng)絡(luò)(Graph Convolutional Network,GCN)來考慮實體和關(guān)系之間的交互,將RNN和GNN結(jié)合起來提取每個單詞的順序特征和位置依賴特征,有效解決實體對重疊的問題。
基于遠(yuǎn)程監(jiān)督的方法可以極大降低人工成本,耗時短,而且領(lǐng)域可移植性強。Mintz等[28]提出了DS-logistic模型,利用外部知識庫,將大規(guī)模知識圖譜與文本關(guān)聯(lián),對遠(yuǎn)程監(jiān)督標(biāo)注的數(shù)據(jù)提取文本語義特征,將其表征輸入到分類器中進(jìn)行關(guān)系分類。但是,由于采用自動標(biāo)注,訓(xùn)練集數(shù)據(jù)出錯的可能性大幅增高,導(dǎo)致目前遠(yuǎn)程監(jiān)督實體關(guān)系抽取準(zhǔn)確率偏低。
為提高抽取性能,同時解決基于流水式的方法所帶來的冗余信息的問題,本節(jié)將三元組的抽取問題轉(zhuǎn)變?yōu)槎嘈蛄袠?biāo)簽分類問題,設(shè)計了編碼器-解碼器的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),使用端對端的模型預(yù)測輸入文本序列的三元組標(biāo)簽序列。具體來講,本文在向量序列層采用字詞混合向量映射的方式,改善中文分詞邊界出錯可能帶來歧義的問題。采用門控循環(huán)單元機制對輸入句子進(jìn)行編碼,引入自注意力機制來捕獲句子中的長距離語義信息,使用帶有偏置權(quán)重的目標(biāo)函數(shù)來增強實體標(biāo)簽的相關(guān)性和降低無用標(biāo)簽的影響度?;谧衷~混合的文本關(guān)系聯(lián)合抽取方法整體架構(gòu)如圖1所示。
圖1 MBGAB方法架構(gòu)
在向量序列層中,針對中文文本單純的字向量難以存儲有效的語義信息,同時為了最大程度上避免邊界切分出錯,本文設(shè)計了一種字詞結(jié)合的向量混合映射方式。具體來講,輸入以字為單位的文本序列S,經(jīng)過隨機初始化的字Embedding層,得到字向量序列S=(c1,c2,…,cn)。將文本序列分詞,通過Word2Vec詞向量模型提取對應(yīng)的詞向量,為了將詞向量序列與字向量序列對齊,使單個詞向量wi重復(fù)k次,k即為組成該詞的字?jǐn)?shù),得到詞向量序列S=(w1,w2,…,wn)。例如對于“碩士研究生”,將該詞所對應(yīng)的詞向量重復(fù)5次得到對齊的詞向量序列。得到對齊的詞向量后,將詞向量經(jīng)過一個隨機初始化的變換矩陣T,得到與字向量相同維度的向量,并將兩者相加。字詞混合向量映射公式為
xi=ci+wi,
(1)
其中,xi代表融合后的字向量,字詞混合向量即為兩者加和。此時,文本序列轉(zhuǎn)換成融合后的字向量序列S=(x1,x2,…,xn)。
在得到科技資源文本字詞混合向量后,此時一個句子的字向量序列可以表示為S=[w1,w2,…,wn],其中wi表示該句子中的第i個漢字,n表示該句子由n個漢字組成。雙向GRU(Bi-GRU)編碼層利用先前的隱藏狀態(tài)ht-1和輸入單詞序列的字向量表示wt,計算每個時間步長更新后的隱藏狀態(tài)ht,具體計算公式如下:
zt=γ(Wzwt+Uzht-1+bz),
(2)
rt=γ(Wrwt+Urht-1+br),
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
本文采用softmax分類器進(jìn)行標(biāo)簽分類,根據(jù)標(biāo)簽預(yù)測向量Tt歸一化計算實體標(biāo)簽概率。定義單詞Tt在所有標(biāo)簽類型上的評分:
Yt=WYTt+bY,
(13)
其中,WY是參數(shù)矩陣,bY是偏置項。通過softmax層計算單詞Tt為標(biāo)簽i的概率為
(14)
通過最大化對數(shù)似然函數(shù)
L=
(15)
MBGAB方法的整體步驟如下:
①固定詞向量wword不變,對隨機初始化的字向量wcharacter進(jìn)行訓(xùn)練;
②得到字詞混合映射向量wi=wcharacter+wword;
③通過雙向GRU編碼層后,將詞嵌入向量序列W=w1,w2,…,wN轉(zhuǎn)化為帶有句子語義信息的詞向量H={h1,h2,…,hN};
⑤GRU解碼層經(jīng)過計算輸出得到單詞wt的預(yù)測標(biāo)簽狀態(tài)Tt。
為驗證模型對專家學(xué)者科技資源信息的知識抽取的可行性,使用部分LIC2019中文抽取語料,其中包含19種關(guān)系,將數(shù)據(jù)集分為24 851條訓(xùn)練集和6 212條測試集,其中訓(xùn)練集與測試集中標(biāo)簽占比基本一致,以保證數(shù)據(jù)的一致性。
為評估所提算法的效果,本文使用準(zhǔn)確率(precision)、召回率(recall)以及F1-score指標(biāo)對知識抽取效果進(jìn)行評價。
ME-BiGRU:去除注意力機制和權(quán)重偏置。
ME-BiGRU-SA:去除權(quán)重偏置。
BIGRU-SA-Bias:去除字詞混合Embedding。
ME-GRU-CRF:解碼層用條件隨機場CRF進(jìn)行解碼。
ME-BiGRU-Bias:去除注意力機制。
對于實驗的參數(shù)根據(jù)算法的結(jié)構(gòu)圖進(jìn)行以下設(shè)置,在編碼層的輸入是采用預(yù)訓(xùn)練好的Word2Vec模型生成的詞向量,詞向量維度為300,字向量使用隨機初始化的字Embedding層。在模型訓(xùn)練中,固定Word2Vec詞向量不變,只優(yōu)化變換矩陣和字向量。Bi-GRU編碼層的維度為300,GRU解碼層的維度為600,偏置權(quán)重參數(shù)α設(shè)置為3。
使用以下算法進(jìn)行對比。
①FCM:分別進(jìn)行實體和知識抽取,是一種流水式抽取模型。
②Attention-BILSTM:使用Attention和雙向LSTM對關(guān)系進(jìn)行抽取,是一種流水式抽取方法。
③MultiR:遠(yuǎn)程監(jiān)督算法,是一種聯(lián)合抽取方法。
④Cotype:將實體、關(guān)系、文本特征和類型標(biāo)簽嵌入到兩個向量空間,是一種聯(lián)合抽取方法。
實驗結(jié)果如表1所示。
表1 知識抽取實驗結(jié)果對比
從表1可以看出,MBGAB方法在相同數(shù)據(jù)集上的表現(xiàn)較其他方法有明顯提升,證明了該方法的有效性。FCM方法和Attention-BILSTM方法召回率較低,表明傳統(tǒng)的流水式方法在面對關(guān)系重疊問題時性能不佳。MultiR和CoType的性能較FCM和Attention-BILSTM方法更好,可能是基于流水式的方法將兩個子任務(wù)獨立執(zhí)行,而聯(lián)合抽取方法利用了兩者之間的關(guān)聯(lián)性從而盡可能減少誤差傳播。對比其他傳統(tǒng)聯(lián)合抽取方法,基于本文端到端的模型在準(zhǔn)確率和召回率上有了顯著提升,考慮到字詞混合映射方式和雙向GRU編碼方式文本語義表示的有效性,同時結(jié)合自注意力層對數(shù)據(jù)的良好適應(yīng)性,最終使得本文方法在F1值上總體提升。
本文提出的算法架構(gòu)中,核心部分是基于字詞混合向量嵌入方式、Bi-GRU編碼層、自注意力層以及GRU解碼層,并且在目標(biāo)函數(shù)上加入了偏置項。為了觀察算法核心組成部分對于關(guān)系抽取的改善效果,對這些部分進(jìn)行消融學(xué)習(xí)。本節(jié)使用以下變種作為對比。
①BiGRU-GRU-SA-Bias(c):去除字詞混合嵌入方式,采用字嵌入方式,直接將以字為單位的文本序列經(jīng)過隨機初始化的Embedding層進(jìn)行向量嵌入;
②BiGRU-GRU-SA-Bias(w):去除字詞混合嵌入方式,采用詞嵌入方式,將文本分詞后,采用預(yù)訓(xùn)練好的Word2Vec模型進(jìn)行向量嵌入;
③ME-BiGRU-GRU:去除注意力機制和偏置權(quán)重,以觀察兩者對算法性能的影響;
④ME-BiGRU-CRF-SA-Bias:解碼層采用條件隨機場CRF,將CRF應(yīng)用于預(yù)測實體標(biāo)簽序列;
⑤ME-BiGRU-GRU-SA:去除偏置權(quán)重,以驗證目標(biāo)函數(shù)中加入偏置權(quán)重對性能的影響;
⑥ME-BiGRU-GRU-Bias:去除注意力機制,以驗證自注意力層對算法性能的影響。
實驗結(jié)果對比如表2所示。從表2可以看出,本文方法(MBGAB)與其他6個變種相比,召回率和F1值均為最高,證明了方法的各組成部分對于性能提升都有一定貢獻(xiàn)。
表2 不同變種與原算法在知識抽取任務(wù)上的實驗結(jié)果對比
對于變種1和變種2,去除了字詞混合嵌入方式,采用字嵌入和詞嵌入,本文方法在準(zhǔn)確率和召回率上都有提高,在F1值上分別提高了1.1%和1.6%。考慮到本文方法使用更為適合中文文本的字向量,微調(diào)了預(yù)訓(xùn)練詞向量,使得向量嵌入層學(xué)習(xí)了預(yù)訓(xùn)練模型所帶來的豐富的語義信息,同時也減小了中文分詞可能帶來的錯誤,保留了字向量的靈活性。因此,字詞混合嵌入方式可以有效改善中文文本的語義表示能力。對于變種3,去除了自注意力機制和偏置權(quán)重后,準(zhǔn)確率、召回率以及F1值均為最低,表明了本文所用到的數(shù)據(jù)集對于長距離文本語義和關(guān)系標(biāo)簽較為敏感,證明了兩者對于方法的性能具有一定影響。對于變種4,當(dāng)解碼層用CRF替換后,準(zhǔn)確率下降程度較小,但召回率下降程度較大,考慮到CRF擅長計算標(biāo)注的聯(lián)合概率,而文本語句中相關(guān)聯(lián)的兩個實體標(biāo)簽可能距離過長,GRU能夠更好地學(xué)習(xí)句子中長距離的依賴關(guān)系,因此模型性能效果較好。對于變種5,去除偏置權(quán)重后,準(zhǔn)確率有一定提升,但召回率和F1值均降低。考慮到加入偏置權(quán)重的目標(biāo)函數(shù)對于關(guān)系標(biāo)簽較為敏感,使無效標(biāo)簽的影響程度降低,因此提升了方法對于相關(guān)聯(lián)實體的識別能力。對于變種6,去除自注意力層后,準(zhǔn)確率、召回率以及F1值均降低,證明了自注意力層對于中文文本表示能力的必要性。
為了進(jìn)一步觀察模型在知識抽取中的表現(xiàn),對模型進(jìn)行端到端的性能驗證。即輸入一個句子,然后輸出該句子包含的所有三元組。其中三元組是(h,r,t)的形式,h是主實體,t是客實體,r是兩個實體之間的關(guān)系,predicate代表關(guān)系預(yù)測的可能性。表3、表4展示了部分科技資源文本的三元組抽取預(yù)測結(jié)果。
表3 文本1的三元組抽取預(yù)測結(jié)果
表4 文本2的三元組抽取預(yù)測結(jié)果
從表3可以看出,關(guān)系是“畢業(yè)院?!钡目赡苄宰畲?,接近0.9,而關(guān)系“出品公司”和“出版社”由于兩者語義較為接近,所以預(yù)測可能性差別不大。從表4可以看出,關(guān)系“目”的可能性達(dá)到95%以上,考慮到“目”可以算作專業(yè)詞匯,同時后兩者“作者”和“成立日期”由于語義相差過大,所以預(yù)測可能性幾乎為零。通過以上內(nèi)容,驗證了模型在處理中文科技文本的知識抽取任務(wù)中的有效性。
模型引入偏置參數(shù)α來增強實體之間的聯(lián)系。對于偏置權(quán)重參數(shù)α,當(dāng)其取值為1時,表示目標(biāo)函數(shù)沒有使用偏置損失,對于包括“O”標(biāo)簽所有標(biāo)簽都使用一樣的學(xué)習(xí)權(quán)重;當(dāng)其取值較大時,表示傾向于忽視“O”標(biāo)簽的預(yù)測結(jié)果,但也可能帶來精確率下降的問題。本文通過設(shè)置參數(shù)α的值為1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,比較在不同取值情況下算法的準(zhǔn)確率、召回率和F1值的變化情況,結(jié)果如圖2所示。
圖2 不同取值下偏置權(quán)重的模型抽取效果
當(dāng)α增大時,準(zhǔn)確率呈逐級下降趨勢;在α取值為3-4時,準(zhǔn)確率達(dá)到最高。召回率整體呈先上升后下降的趨勢,同樣在α取值為3附近時,召回率達(dá)到最大值。F1值的整體變化情況與召回率類似。綜上所述,當(dāng)α取值在3附近時,模型能夠獲得準(zhǔn)確率和召回率之間的平衡,從而得到最高的F1值。因此設(shè)置偏置參數(shù)α=3。
針對中文文本語義特殊性和流水式抽取方法收斂較為緩慢的問題,本文提出了一種基于字詞混合和GRU的科技文本知識抽取(MBGAB)方法,有效提升了針對中文科技資源文本的知識抽取的效果。采用一個基于GRU端到端的模型來生成標(biāo)柱序列,雙向GRU對輸入句子進(jìn)行編碼,還有一個帶有偏置損失的GRU編碼層,最后使用帶有偏置權(quán)重的目標(biāo)函數(shù)來增強實體標(biāo)簽的相關(guān)性和降低無用標(biāo)簽的影響度。為了在最大程度上避免邊界切分出錯,同時為了存儲更加有效的語義信息,本文設(shè)計了一種字詞混合向量映射方式。同時,結(jié)合自注意力機制,針對中文科技資源文本進(jìn)行知識抽取。實驗結(jié)果表明,MBGAB在科技資源文本數(shù)據(jù)知識抽取任務(wù)中準(zhǔn)確率、召回率以及F1值均有一定提升,驗證了該方法的有效性。