肖立中,臧中興,宋賽賽
上海應(yīng)用技術(shù)大學(xué) 計(jì)算機(jī)科學(xué)與信息工程學(xué)院,上海 201418
知識(shí)圖譜是近些年非常熱門的一個(gè)研究方向,它在很多方面都展示出了不錯(cuò)的應(yīng)用效果,例如問答系統(tǒng)、搜索引擎、推薦系統(tǒng)等。隨著互聯(lián)網(wǎng)的不斷發(fā)展和進(jìn)步,人類世界存在著海量的信息和數(shù)據(jù)。知識(shí)圖譜不僅能夠?qū)@些數(shù)據(jù)進(jìn)行結(jié)構(gòu)化的存儲(chǔ),還可以在查詢的時(shí)候更加全面地了解相關(guān)知識(shí),提升搜索的深度和廣度。醫(yī)療領(lǐng)域知識(shí)圖譜在智能醫(yī)療問答領(lǐng)域扮演著重要的角色,患者利用醫(yī)療問答系統(tǒng)不僅能夠初步地進(jìn)行自我診斷,還能夠在一定程度上節(jié)約醫(yī)療資源。知識(shí)圖譜主要是由實(shí)體關(guān)系三元組構(gòu)成,如何從海量的數(shù)據(jù)中抽取出實(shí)體及實(shí)體間的關(guān)系對(duì)于構(gòu)建知識(shí)圖譜是至關(guān)重要的一步。
從非結(jié)構(gòu)化的文本中抽取出形如(head,ralation,tail)或者(h,r,t)的實(shí)體對(duì)以及關(guān)系三元組是自然語言處理領(lǐng)域和知識(shí)圖譜構(gòu)建過程中一項(xiàng)十分重要的任務(wù)。傳統(tǒng)的流水線式方法,將實(shí)體識(shí)別和關(guān)系抽取視為兩個(gè)獨(dú)立的子任務(wù),首先識(shí)別出句子中所有的實(shí)體,然后對(duì)所有的實(shí)體對(duì)進(jìn)行關(guān)系分類,雖然這種方法比較靈活、容易操作,但是這種方法忽略了兩個(gè)任務(wù)之間的相互聯(lián)系,無法充分利用輸入文本的特征信息[1],上一階段的錯(cuò)誤不能夠在下一個(gè)階段進(jìn)行糾正,容易形成錯(cuò)誤傳遞[2],影響模型的準(zhǔn)確率。
因此,需要構(gòu)建一種模型來同時(shí)獲得實(shí)體對(duì)及其存在的關(guān)系,Li等[2]、Miwa等[3]以及Ren等[4]提出了基于特征的模型,這些方法對(duì)于特征工程有較強(qiáng)的依賴,需要大量的人力,耗費(fèi)時(shí)間成本巨大。隨著神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)的發(fā)展和不斷地被深入研究,最近的一些工作提出了基于神經(jīng)網(wǎng)絡(luò)的模型,例如Zheng等[5]、Zeng等[6]以及Fu等[7]。雖然這些方法可以使用同一個(gè)模型對(duì)實(shí)體和關(guān)系進(jìn)行抽取,實(shí)現(xiàn)了參數(shù)共享,減少了錯(cuò)誤的累積,但是卻并不能夠解決實(shí)體重疊的問題以及同一句子中多對(duì)實(shí)體多對(duì)關(guān)系的問題。實(shí)體重疊是指一個(gè)句子中的不同關(guān)系三元組間存在某些實(shí)體相同,導(dǎo)致模型抽取關(guān)系不完全[8]。針對(duì)以上問題進(jìn)行分析,本文提出了一種融合自注意力機(jī)制的級(jí)聯(lián)標(biāo)記框架Att-CasRel,不再將關(guān)系作為實(shí)體對(duì)的離散分類標(biāo)簽,轉(zhuǎn)而將關(guān)系作為從頭實(shí)體到尾實(shí)體的映射函數(shù)。首先識(shí)別出句子中所有可能的頭實(shí)體,然后針對(duì)每一個(gè)頭實(shí)體,使用特定關(guān)系的尾實(shí)體標(biāo)注器,同時(shí)識(shí)別出所有可能的關(guān)系和相對(duì)應(yīng)的尾實(shí)體。本文的主要貢獻(xiàn)有以下幾個(gè)方面:
(1)針對(duì)醫(yī)療領(lǐng)域文本在Bert模型的基礎(chǔ)上繼續(xù)進(jìn)行訓(xùn)練,使得本文使用的CB-Bert(Chinese biomedical bert)模型能夠更好地對(duì)文本進(jìn)行編碼。
(2)本文在CB-Bert編碼器的基礎(chǔ)上實(shí)現(xiàn)了一種級(jí)聯(lián)標(biāo)記框架,使得框架能夠充分利用預(yù)訓(xùn)練的CB-Bert的強(qiáng)大能力和該標(biāo)記框架的優(yōu)勢(shì)。該標(biāo)記框架能夠針對(duì)識(shí)別出的頭實(shí)體同時(shí)識(shí)別出對(duì)應(yīng)關(guān)系及與之關(guān)聯(lián)的尾實(shí)體,使關(guān)系標(biāo)簽成為頭實(shí)體到尾實(shí)體的映射函數(shù),大大減少了誤差累積和信息冗余問題。
本文在框架中融合了自注意力機(jī)制,相比較于對(duì)特征向量使用簡(jiǎn)單的求平均值的做法,能夠更好地提取文本的語義特征,更加充分地考慮文本中不同位置信息的重要程度,提升了模型的性能。
從非結(jié)構(gòu)化的文本中抽取關(guān)系三元組是自然語言處理的一項(xiàng)重要任務(wù),是信息抽取研究領(lǐng)域的一項(xiàng)研究熱點(diǎn),同時(shí)也是構(gòu)建大型知識(shí)圖譜的一個(gè)重要步驟,如Konwledge Vault[9]。
早期的工作將實(shí)體識(shí)別和關(guān)系抽取作為兩個(gè)獨(dú)立的任務(wù),如Mintz等[10],他們將抽取關(guān)系三元組分為兩步,首先識(shí)別出輸入句子中的所有實(shí)體,然后對(duì)抽取到的實(shí)體進(jìn)行配對(duì),進(jìn)行關(guān)系分類。這類方法雖然取得了不錯(cuò)的效果,但是容易造成錯(cuò)誤累積的問題,實(shí)體識(shí)別階段產(chǎn)生的誤差將傳遞到關(guān)系抽取階段,并且忽略了關(guān)系和實(shí)體之間的相互依賴,無法充分利用輸入信息。為了解決這些問題,有研究者提出了實(shí)體關(guān)系聯(lián)合抽取的方法,傳統(tǒng)的基于特征的模型嚴(yán)重依賴于特征工程并且需要大量的人力,如Li等[2]、Miwa等[3]以及Ren等[4],因此特征工程階段的結(jié)果將直接影響后續(xù)任務(wù)的結(jié)果,對(duì)于特征工程的要求很高。
隨著神經(jīng)網(wǎng)絡(luò)的快速發(fā)展,最近一些研究提出基于神經(jīng)網(wǎng)絡(luò)的方法,雖然取得了不錯(cuò)的效果,但是現(xiàn)有的一些神經(jīng)網(wǎng)絡(luò)模型例如Miwa等[11]提出僅通過參數(shù)共享而不是聯(lián)合解碼來實(shí)現(xiàn)聯(lián)合抽取。為了實(shí)現(xiàn)關(guān)系三元組的抽取,他們?nèi)匀皇菍?shí)體識(shí)別和關(guān)系抽取作為兩個(gè)獨(dú)立的任務(wù)來進(jìn)行。獨(dú)立的解碼過程造成了獨(dú)立的訓(xùn)練目標(biāo),這將會(huì)影響抽取關(guān)系三元組的效果。Zheng等[5]提出一種聯(lián)合標(biāo)記策略,實(shí)現(xiàn)了聯(lián)合解碼過程,他們將關(guān)系三元組抽取問題轉(zhuǎn)化成序列標(biāo)注問題,不需要再使用命名實(shí)體識(shí)別和關(guān)系分類這兩個(gè)步驟,由于提出的標(biāo)記策略將實(shí)體和關(guān)系整合在一起,因此該方法可以直接獲取關(guān)系三元組。Dai等[12]在此基礎(chǔ)上使用多輪標(biāo)注方法,有效地解決了實(shí)體嵌套的問題。
盡管之前的工作已經(jīng)能夠解決聯(lián)合抽取的問題,但是關(guān)系三元組重疊的問題仍然沒有得到較好的解決。最近的研究者,如Fu等[7]提出了一種圖卷積網(wǎng)絡(luò)來解決此問題,喬晶晶等[13]提出一種路徑聚合算法來進(jìn)行關(guān)系抽取。盡管這些研究取得了一定的成果,但是他們?nèi)匀皇菍㈥P(guān)系作為實(shí)體對(duì)的離散的分類標(biāo)簽,使得模型難以解決重疊三元組的問題。Zhao等[14]提出了一種基于異構(gòu)圖神經(jīng)網(wǎng)絡(luò)的表示迭代融合關(guān)系抽取方法,將關(guān)系和詞建模為圖上的節(jié)點(diǎn),并通過消息傳遞機(jī)制來得到更適合關(guān)系抽取任務(wù)的節(jié)點(diǎn)表示。Liu等[15]提出了一種基于注意力的聯(lián)合關(guān)系抽取模型,該模型設(shè)計(jì)了一種有監(jiān)督的多頭自注意機(jī)制作為關(guān)系檢測(cè)模塊,分別學(xué)習(xí)每種關(guān)系類型之間的關(guān)聯(lián)來識(shí)別重疊關(guān)系和關(guān)系類型。Lai等[16]提出了一種基于序列標(biāo)注的聯(lián)合抽取模型,該模型在句子編碼信息之后添加多頭注意力層以獲得句子和關(guān)系的表征,并對(duì)句子表示進(jìn)行序列標(biāo)注來獲得實(shí)體對(duì)。
早先的方法將實(shí)體關(guān)系抽取任務(wù)作為一種分類任務(wù),這種在實(shí)體識(shí)別階段出現(xiàn)的錯(cuò)誤無法在關(guān)系分類階段進(jìn)行糾正,導(dǎo)致誤差累積,嚴(yán)重影響關(guān)系抽取的準(zhǔn)確性,后來的研究者提出聯(lián)合抽取的方式,但是仍然存在實(shí)體共享的問題。本文基于以上研究,提出一種新的級(jí)聯(lián)標(biāo)記框架Att-CasRel,并在解碼階段融入了自注意力機(jī)制,將關(guān)系標(biāo)簽作為從頭實(shí)體到尾實(shí)體的映射函數(shù),有效地解決了關(guān)系抽取中存在的實(shí)體共享和錯(cuò)誤傳遞等問題。
實(shí)體關(guān)系抽取的目標(biāo)是抽取出一個(gè)句子中所有可能的形如(h,r,t)的關(guān)系三元組。由于不同的關(guān)系三元組可能共享同一個(gè)實(shí)體,為此,本文提出一種融合自注意力機(jī)制的級(jí)聯(lián)標(biāo)注框架,來同時(shí)從句子中抽取出多個(gè)關(guān)系三元組。首先使用經(jīng)過預(yù)訓(xùn)練的Bert編碼器對(duì)輸入文本進(jìn)行編碼,得到每一個(gè)字符的向量表示形式,然后運(yùn)行頭實(shí)體標(biāo)注器識(shí)別出輸入句子中所有的頭實(shí)體;對(duì)于識(shí)別出的每一個(gè)頭實(shí)體,再運(yùn)行特定關(guān)系下的尾實(shí)體標(biāo)注器。不同于頭實(shí)體識(shí)別階段,在運(yùn)行特定關(guān)系尾實(shí)體標(biāo)注器階段,不僅僅需要對(duì)Bert編碼器的輸出向量hn進(jìn)行編碼,還將識(shí)別出的頭實(shí)體的向量表示考慮在內(nèi),針對(duì)每一個(gè)頭實(shí)體,通過自注意力機(jī)制,為頭實(shí)體中的每一個(gè)字符分配不同的注意力權(quán)重,得到該頭實(shí)體的加權(quán)向量表示,將該向量表示和Bert編碼器輸出相加所得到的結(jié)果作為尾實(shí)體標(biāo)注器的輸入,從而識(shí)別出在特定關(guān)系下與該頭實(shí)體相對(duì)應(yīng)的尾實(shí)體。Att-CasRel總體框架如圖1所示。
圖1 Att-CasRel框架圖Fig.1 Att-CasRel frame diagram
編碼器模塊主要是提取句子的特征信息,該特征信息將會(huì)輸入到后續(xù)的標(biāo)注模塊中,Devlin等[17]提出的Bert模型一經(jīng)提出,便刷新了自然語言處理領(lǐng)域很多子任務(wù)的SOTA模型。然而,Bert模型是在維基百科等語料庫上進(jìn)行訓(xùn)練的,在中文醫(yī)療領(lǐng)域,由于存在大量的專業(yè)術(shù)語,這對(duì)于Bert而言是一個(gè)很大的挑戰(zhàn),主要原因在于醫(yī)療領(lǐng)域的詞向量分布不同于維基百科語料庫,Bert不能夠有效地對(duì)醫(yī)療領(lǐng)域文本進(jìn)行有效的編碼。Gururangan等[18]指出,在特定領(lǐng)域或者較小的語料庫上對(duì)語言模型進(jìn)行再訓(xùn)練可以獲得性能的提升。因此,本文針對(duì)上述問題,對(duì)于Bert模型進(jìn)行再訓(xùn)練,采用CMeIE(Chinese medical information extraction)數(shù)據(jù)集中的文本,對(duì)于Bert模型進(jìn)行訓(xùn)練,使其對(duì)于醫(yī)療領(lǐng)域文本能夠更好地進(jìn)行編碼,將訓(xùn)練好的Bert模型命名為CB-Bert,Bert模型結(jié)構(gòu)圖如圖2所示。
圖2 Bert模型結(jié)構(gòu)Fig.2 Bert model structure
Bert模型輸入包含三個(gè)部分,分別為詞嵌入(token embedding)、片段嵌入(segment embedding)和位置編碼嵌入(position embedding)。由于分詞可能存在錯(cuò)誤,因此本文使用字嵌入信息,避免了這部分錯(cuò)誤,片段嵌入在關(guān)系抽取任務(wù)中不適用,因此本文舍棄這部分嵌入信息,將字嵌入信息Ex和位置嵌入信息Ep相加得到輸入的向量E,隨后將輸入向量E經(jīng)過第一層及后續(xù)N-1層的Transformer網(wǎng)絡(luò)得到文本的向量表示HN,如公式(1)和(2)所示:
其中,HN為句子經(jīng)過N層Transformer網(wǎng)絡(luò)編碼后的輸出。該向量將作為后續(xù)步驟的輸入。
級(jí)聯(lián)標(biāo)注部分是本文的重點(diǎn)部分,如圖1所示,主要分為兩個(gè)模塊,一個(gè)是頭實(shí)體標(biāo)注器,另一個(gè)是特定關(guān)系尾實(shí)體標(biāo)注器,通過兩個(gè)級(jí)聯(lián)步驟從輸入句子中抽取出關(guān)系三元組。對(duì)于特定的數(shù)據(jù)集,實(shí)體類別是有限的,因此實(shí)體間的關(guān)系類別也是有限的,因此人為規(guī)定好該數(shù)據(jù)集存在的關(guān)系類別。然后,利用頭實(shí)體標(biāo)注器從輸入句子中識(shí)別出所有可能的頭實(shí)體,然后將所有的頭實(shí)體在上述的每一種關(guān)系類別下去檢查是否有對(duì)應(yīng)的尾實(shí)體可以與其組成關(guān)系三元組,如果有,則將該三元組保存,若沒有,則繼續(xù)檢查其他的關(guān)系類別。直至將所有關(guān)系類別檢查完畢,便可識(shí)別出句子中所有可能的關(guān)系三元組。
2.2.1 頭實(shí)體標(biāo)注器
頭實(shí)體標(biāo)注器的目標(biāo)是從輸入的句子中識(shí)別出所有可能的頭實(shí)體,通過對(duì)N層CB-Bert編碼器的輸出HN進(jìn)行解碼,便可以得到所需要的頭實(shí)體。具體方法為使用兩個(gè)二分類器對(duì)HN中每一個(gè)字符所對(duì)應(yīng)的編碼向量是否是頭實(shí)體的開始位置或結(jié)尾位置進(jìn)行二分類,如果是,則在相應(yīng)位置將標(biāo)簽賦值為1,否則賦值為0。詳細(xì)的操作如公式(3)和(4)所示:
其中,L代表句子的長(zhǎng)度,如果z為True,則I(z)=1,否則為0,表示頭實(shí)體開始位置的二分類標(biāo)簽,表示頭實(shí)體末尾位置的二分類標(biāo)簽,取值范圍為{0,1},參數(shù)θ={Wstart,Wend,bstart,bend}。
如果一個(gè)句子中存在多個(gè)頭實(shí)體,本文采用就近原則來解決頭實(shí)體識(shí)別可能會(huì)出現(xiàn)的交叉問題,將兩個(gè)距離最近的頭實(shí)體開始位置和結(jié)尾位置所標(biāo)記的范圍視為一個(gè)頭實(shí)體,如圖1所示,距離頭實(shí)體開始位置Steve最近的結(jié)尾位置是Jobs,因此會(huì)將SteveJobs視為一個(gè)頭實(shí)體,而不是將California所對(duì)應(yīng)的結(jié)尾位置和Steve組合起來視為一個(gè)頭實(shí)體,在圖1中使用不同顏色來區(qū)分不同的頭實(shí)體。
2.2.2 特定關(guān)系尾實(shí)體標(biāo)注器
如圖1所示,特定關(guān)系的尾實(shí)體標(biāo)注器將同時(shí)識(shí)別出尾實(shí)體及與之關(guān)聯(lián)的關(guān)系。其中包含了一系列特定關(guān)系的尾實(shí)體標(biāo)注器,所有的標(biāo)注器將同時(shí)識(shí)別出每一個(gè)頭實(shí)體所對(duì)應(yīng)的尾實(shí)體。不同于頭實(shí)體標(biāo)注器,尾實(shí)體標(biāo)注器不僅僅是對(duì)CB-Bert編碼器的輸出HN進(jìn)行解碼,而是同時(shí)將頭實(shí)體的編碼向量表示也考慮在內(nèi)。對(duì)于每一個(gè)字符的編碼向量的具體計(jì)算如公式(6)和(7)所示:
其中,和表示在輸入的句子中第i個(gè)字符為尾實(shí)體的開始和結(jié)束位置的概率值。代表在頭實(shí)體標(biāo)注器中所識(shí)別出的第k個(gè)頭實(shí)體的編碼向量表示。對(duì)于每一個(gè)頭實(shí)體,迭代地進(jìn)行編碼操作。
2.2.3 自注意力機(jī)制
對(duì)于醫(yī)療領(lǐng)域命名實(shí)體而言,為了更加有重點(diǎn)地描述實(shí)體所表示的信息,本文引入了自注意力機(jī)制,將實(shí)體中不同的詞向量分配高低不同的權(quán)重,這樣得到的語義向量便能更加準(zhǔn)確地表達(dá)實(shí)體的含義,從而有效地提高關(guān)系抽取的準(zhǔn)確性。
注意力機(jī)制是由Vaswani[19]最早提出并應(yīng)用于機(jī)器翻譯領(lǐng)域,本文借鑒該文中提出的自注意力機(jī)制思想,將自注意力機(jī)制應(yīng)用于每一個(gè)頭實(shí)體編碼向量,來更好地對(duì)頭實(shí)體的編碼向量進(jìn)行特征提取。計(jì)算過程如公式(8)所示:
為了得到Q、K以及V,需要引入三個(gè)矩陣WQ、WK以及WV,隨機(jī)初始化矩陣的值,分別將這三個(gè)矩陣與每一個(gè)實(shí)體的向量表示相乘可以得到對(duì)應(yīng)的Q、K、V。再通過公式(8)計(jì)算得到注意力分?jǐn)?shù),作為權(quán)重,通過加權(quán)求和計(jì)算得到最終的實(shí)體向量表示。
由于為某一個(gè)頭實(shí)體的編碼向量表示,而每一個(gè)頭實(shí)體可能有多個(gè)字符,因此,為了使公式(6)和(7)可以正常計(jì)算,需要使xi和維度保持一致,因此采取求平均值的做法對(duì)進(jìn)行降維操作,與xi相加得到給定一個(gè)輸入句子x和一個(gè)頭實(shí)體h,對(duì)于特定關(guān)系r的尾實(shí)體標(biāo)注器通過優(yōu)化公式(9)中的似然函數(shù)來識(shí)別出尾實(shí)體t的邊界。
2.2.4 數(shù)據(jù)似然目標(biāo)函數(shù)
一般的,在訓(xùn)練集D中,給定一個(gè)句子xi以及句子中一組可能存在的關(guān)系三元組Tj={(h,r,t)},訓(xùn)練的目標(biāo)定義為最大化訓(xùn)練集的數(shù)據(jù)似然性L:
其中,h∈Tj表示三元組Tj中出現(xiàn)的頭實(shí)體,Tj|h代表在Tj中以h為頭實(shí)體的三元組;(r,t)∈Tj|h表示在三元組中以h為頭實(shí)體的(r,t)對(duì),R為所有可能的關(guān)系,RTj|h代表在三元組中除了以h為頭實(shí)體的所有關(guān)系。在關(guān)系三元組中,所有與頭實(shí)體h∈Tj有關(guān)的關(guān)系三元組必然存在相對(duì)應(yīng)的尾實(shí)體,其他的關(guān)系在句子中一定沒有尾實(shí)體,因此記作t?。通過上述目標(biāo)函數(shù)公式,可以總結(jié)出以下幾個(gè)優(yōu)點(diǎn):(1)由于數(shù)據(jù)似然函數(shù)是針對(duì)三元組的,因此最優(yōu)化該似然函數(shù)相當(dāng)于最優(yōu)化最終的評(píng)估函數(shù);(2)沒有假設(shè)同一個(gè)句子中可以有多少三元組共享實(shí)體,因此解決了重疊三元組的問題;(3)針對(duì)關(guān)系三元組抽取,提供了一種全新的標(biāo)注方式,針對(duì)句子xj,首先學(xué)習(xí)一個(gè)頭實(shí)體標(biāo)注器p(h|xj)來識(shí)別出句子中的所有頭實(shí)體,然后針對(duì)每一種關(guān)系r,再學(xué)習(xí)一個(gè)尾實(shí)體標(biāo)注器pr(t|h,xj),可以學(xué)習(xí)到針對(duì)固定實(shí)體和關(guān)系的尾實(shí)體。通過這種方式,可以將每一種關(guān)系作為一種從頭實(shí)體映射到尾實(shí)體的函數(shù),而不是作為頭實(shí)體尾實(shí)體對(duì)的分類標(biāo)簽。
對(duì)于公式(12)取對(duì)數(shù)函數(shù),得到目標(biāo)函數(shù)J(θ):
其中,參數(shù)θ={θ,{Φr}r∈R}。使用Kingma等[20]提出的Adam梯度下降法來優(yōu)化該目標(biāo)函數(shù),對(duì)每個(gè)批次的訓(xùn)練數(shù)據(jù)進(jìn)行隨機(jī)打亂操作來避免過擬合。
本文使用的數(shù)據(jù)集為CMeIE,該數(shù)據(jù)集共包含28 008條數(shù)據(jù),關(guān)系種類為44種,其中訓(xùn)練集包含17 924條數(shù)據(jù),驗(yàn)證集4 482條數(shù)據(jù),測(cè)試集5 602條數(shù)據(jù)。根據(jù)關(guān)系三元組的不同重疊類型,將數(shù)據(jù)集劃分為三種類型,分別稱為Normal、Single Entity Overlap(SEO)、Entity Pair Overlap(EPO)。具體統(tǒng)計(jì)數(shù)據(jù)分別見表1、表2。
表1 數(shù)據(jù)集統(tǒng)計(jì)信息Table 1 Dataset statistics
表2 實(shí)體重疊類型統(tǒng)計(jì)Table 2 Entity overlap type statistics
本文使用的評(píng)估標(biāo)準(zhǔn)為準(zhǔn)確率(P)、召回率(R)以及F1值。當(dāng)且僅當(dāng)一個(gè)關(guān)系三元組的頭實(shí)體、尾實(shí)體和關(guān)系類型均預(yù)測(cè)正確才認(rèn)為該預(yù)測(cè)數(shù)據(jù)為真,否則為假。
準(zhǔn)確率、召回率以及F1值的計(jì)算公式分別如公式(14)~(16)所示:
其中,TP表示被判定為正樣本,也是正樣本的樣例,F(xiàn)P表示被判定為正樣本,但事實(shí)上是負(fù)樣本的樣例,F(xiàn)N表示被判定為負(fù)樣本,但事實(shí)上是正樣本的樣例。
3.2.1 對(duì)比實(shí)驗(yàn)
本文將Att-CasRel模型與其他幾個(gè)關(guān)系抽取模型進(jìn)行了比較,包括NovelTagging[5]、CopyR[6]、GraphRel[7]。實(shí)驗(yàn)結(jié)果如表3所示,其中最佳的實(shí)驗(yàn)結(jié)果由粗體標(biāo)出。通過對(duì)比實(shí)驗(yàn)結(jié)果可以看到,本文提出的模型在該數(shù)據(jù)集上取得了不錯(cuò)的效果。對(duì)比NovelTagging和CopyR兩種模型,本文模型在驗(yàn)證集和測(cè)試集上F1值獲得了較大提升;相較于GraphyRel,在測(cè)試集提升了約25個(gè)百分點(diǎn)。說明本文提出的級(jí)聯(lián)標(biāo)記框架在進(jìn)行實(shí)體關(guān)系聯(lián)合抽取任務(wù)上有著不錯(cuò)的效果。
表3 對(duì)比實(shí)驗(yàn)結(jié)果Table 3 Comparative experimental results 單位:%
本文使用的數(shù)據(jù)集中存在大量的共享實(shí)體的關(guān)系三元組,由于NovelTagging模型只考慮了一個(gè)實(shí)體只屬于一個(gè)三元組的情況,根據(jù)測(cè)試集上的召回率可以看出,該模型對(duì)于共享實(shí)體的問題沒有得到很好的解決。而CopyR和GraphyRel模型相較于NovelTagging模型雖然有一定程度的提升,但是在編碼階段這兩個(gè)模型均使用BiLSTM模型,本文提出使用經(jīng)過預(yù)訓(xùn)練的Bert模型作為編碼器,從實(shí)驗(yàn)結(jié)果可以看出,使用Bert模型可以大幅提高關(guān)系抽取的準(zhǔn)確率,說明對(duì)于特定領(lǐng)域的實(shí)體使用經(jīng)過預(yù)訓(xùn)練的Bert模型能夠更好地編碼語義向量。
3.2.2 消融實(shí)驗(yàn)
由于本模型使用了經(jīng)過預(yù)訓(xùn)練的Bert模型,即CBBert,并且在尾實(shí)體解碼階段融入了自注意力機(jī)制。為此,本文進(jìn)行了消融實(shí)驗(yàn)來驗(yàn)證預(yù)訓(xùn)練編碼器和自注意力機(jī)制的有效性。使用CasRelRandom表示基礎(chǔ)框架,Cas-RelCB-Bert表示使用經(jīng)過預(yù)訓(xùn)練的Bert模型,但是未融入自注意力機(jī)制,僅僅是對(duì)頭實(shí)體編碼向量進(jìn)行簡(jiǎn)單的求平均操作;Att-CasRelRandom表示僅僅融入自注意力機(jī)制的模型,而使用隨機(jī)初始化的Bert模型進(jìn)行編碼;Att-CasRelCB-Bert表示本文所提出的模型。消融實(shí)驗(yàn)的結(jié)果如表4所示,其中最佳的實(shí)驗(yàn)結(jié)果由粗體標(biāo)出。
表4 消融實(shí)驗(yàn)結(jié)果Table 4 Ablation experiment results 單位:%
對(duì)比表4中第一、二行和第三、四行可以看出,無論是否融入注意力機(jī)制,在本文提出框架的基礎(chǔ)上使用預(yù)訓(xùn)練的Bert模型都能在較大程度上提高模型的精度,說明預(yù)訓(xùn)練的Bert模型能夠更好地獲取語言的特征信息,證明了其有效性。對(duì)比表4中第一、三行和第二、四行可以看出,引入自注意力機(jī)制對(duì)頭實(shí)體進(jìn)行特征關(guān)注也能在一定程度上影響模型編碼效果,說明自注意力機(jī)制能夠更好地對(duì)頭實(shí)體的編碼向量進(jìn)行特征提取,識(shí)別出頭實(shí)體所要表達(dá)的真實(shí)語義。
另外,通過將表4第一行與表3中其他模型的F1值進(jìn)行對(duì)比可以看出,即使未融入自注意力機(jī)制,同時(shí)使用隨機(jī)初始化Bert模型,本文提出的級(jí)聯(lián)標(biāo)記框架在測(cè)試集上的效果仍優(yōu)于NovelTagging、CopyR和GraphyRel模型,證明本文提出的級(jí)聯(lián)標(biāo)記框架自身的優(yōu)越性,從源頭上解決了錯(cuò)誤傳遞和實(shí)體共享的問題。
本文提出的模型所要解決的另外一個(gè)問題是實(shí)體共享的問題,因此還針對(duì)不同實(shí)體重疊類型的句子設(shè)計(jì)了額外的實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖3所示。
圖3 不同重疊類型三元組F1值Fig.3 F1 values of triples of different overlapping types
通過圖3的實(shí)驗(yàn)結(jié)果可以看出,本文所對(duì)比的其他模型在Normal、SEO、EPO三種類型的關(guān)系三元組抽取上的表現(xiàn)總體呈現(xiàn)下降趨勢(shì),反映出隨著共享實(shí)體的增多,關(guān)系三元組抽取的難度在增加,其中Normal類型的抽取最為簡(jiǎn)單,SEO類型和EPO類型抽取難度相當(dāng)。本文提出的Att-CasRel模型無論是在Normal還是在SEO或者EPO類型的關(guān)系抽取中均表現(xiàn)出了很好的效果,甚至在EPO和SEO類型的關(guān)系抽取中獲得了比Normal更高的F1值。說明本文所提出的級(jí)聯(lián)標(biāo)記框架能夠更好地解決關(guān)系三元組共享實(shí)體的問題。
為了解決實(shí)體關(guān)系三元組抽取任務(wù)中存在的實(shí)體共享以及錯(cuò)誤傳遞等問題,本文提出了融入自注意力機(jī)制的級(jí)聯(lián)標(biāo)注框架,關(guān)系類型不再作為實(shí)體對(duì)的分類標(biāo)簽,而是將關(guān)系作為頭實(shí)體到尾實(shí)體的映射函數(shù),重新定義了關(guān)系三元組抽取任務(wù),減少了錯(cuò)誤傳遞。對(duì)于輸入文本,使用經(jīng)過預(yù)訓(xùn)練的Bert編碼器進(jìn)行編碼,將文本映射到低維度的向量空間中,更好地表達(dá)輸入文本的語義信息。在尾實(shí)體識(shí)別階段,通過融入自注意力機(jī)制,能夠更好地對(duì)頭實(shí)體的特征信息進(jìn)行提取,從而提高關(guān)系三元組抽取的準(zhǔn)確率。
實(shí)驗(yàn)結(jié)果表明,在CMeIE數(shù)據(jù)集上,本文所提出的模型能夠更加準(zhǔn)確全面地從句子中同時(shí)抽取到多個(gè)關(guān)系三元組,并且有效地解決了實(shí)體共享的問題。下一步的工作重點(diǎn)將基于關(guān)系三元組抽取的結(jié)果進(jìn)行醫(yī)療領(lǐng)域的知識(shí)圖譜構(gòu)建,為后續(xù)工作,如基于知識(shí)圖譜的問答系統(tǒng)等任務(wù)鋪墊基礎(chǔ)。