薛志豪,李永強(qiáng),趙永智,馮遠(yuǎn)靜
(浙江工業(yè)大學(xué) 信息工程學(xué)院,杭州 310023)
隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,人類進(jìn)入了信息化時(shí)代,同時(shí)產(chǎn)生了海量的文本數(shù)據(jù)信息,其中包含大量有重要價(jià)值的知識(shí).然而由于這些信息繁瑣冗余,給知識(shí)利用帶來了很多困難[1].由于人工智能技術(shù)的發(fā)展,學(xué)界和工業(yè)界開始加大對(duì)信息抽取(information extraction,IE)技術(shù)的研究.信息抽取技術(shù)用于從無序的文本信息結(jié)構(gòu)中抽取有特定提取價(jià)值的信息,并以結(jié)構(gòu)化的方式將信息存儲(chǔ)于數(shù)據(jù)庫中加以利用.關(guān)系三元組抽取(relational triplet extraction,RTE)是信息抽取的重要任務(wù)之一,用于抽取實(shí)體、屬性及其實(shí)體間的相互關(guān)系,其一般表現(xiàn)形式為(Subject,Relation,Object),即由主體、客體和它們之間的語義關(guān)系組成.關(guān)系三元組抽取的正確性對(duì)其后的下游任務(wù)如知識(shí)圖譜、問答系統(tǒng)、聊天機(jī)器人等的實(shí)現(xiàn)效果有重要影響.
早期的研究工作采用流水線[2-4](Pipeline)方法,先用命名實(shí)體識(shí)別技術(shù)(Named Entity Recognition,NER),抽取句子中的全部實(shí)體,再對(duì)每一組實(shí)體進(jìn)行關(guān)系分類(Relation Extraction,RE).該方法雖然易于執(zhí)行,但忽略了實(shí)體識(shí)別和關(guān)系抽取兩個(gè)任務(wù)之間的內(nèi)在聯(lián)系,并且存在誤差傳播的問題.之后,提出了許多聯(lián)合抽取方法[5],利用一個(gè)模型,優(yōu)化實(shí)體識(shí)別與關(guān)系抽取兩個(gè)任務(wù)之間的聯(lián)系,一步式或多步式進(jìn)行關(guān)系三元組抽取.雖然聯(lián)合抽取模型克服了流水線式方法的弊端,但是聯(lián)合抽取模型中實(shí)體識(shí)別和關(guān)系抽取使用共同的特征表示,存在特征表示不共享,特征交互不平衡的問題[6].
近些年來,Zhong等[6]提出的PURE(the Princeton University Relation Extraction system)模型將實(shí)體標(biāo)記的方法引入到關(guān)系抽取任務(wù)中,取得了很好的效果,并闡述了聯(lián)合抽取方法中實(shí)體識(shí)別任務(wù)的特征表示和關(guān)系抽取任務(wù)的特征表示存在互相干擾的問題的觀點(diǎn).Yan等[7]提出的PFN(a Partition Filter Network for joint entity and relation extraction)模型則采用了分區(qū)過濾網(wǎng)絡(luò)來優(yōu)化聯(lián)合抽取模型帶來的特征表示不準(zhǔn)確的問題.但是現(xiàn)有的方法依舊存在兩個(gè)主要問題:首先,目前的方法都只考慮了命名實(shí)體識(shí)別和關(guān)系抽取兩個(gè)任務(wù)之間互相干擾的問題,但是并沒有考慮命名實(shí)體識(shí)別任務(wù)中實(shí)體跨度識(shí)別和實(shí)體類型分類兩個(gè)子任務(wù)之間互相干擾的問題.目前的方法都是直接從句子中抽取出實(shí)體的跨度同時(shí)判斷實(shí)體的類型,這忽略兩個(gè)子任務(wù)之間的獨(dú)立性.其次,在進(jìn)行關(guān)系抽取時(shí)實(shí)體提及詞可能會(huì)帶來負(fù)面影響.如“華盛頓是美國的第一任總統(tǒng)”,在進(jìn)行特征表示后,“華盛頓”同時(shí)兼顧地方和人名兩種類型的信息,這會(huì)對(duì)關(guān)系分類任務(wù)造成干擾.PURE模型中提出的實(shí)體標(biāo)記方法,在實(shí)體的頭尾各插入實(shí)體類型標(biāo)記,增強(qiáng)了實(shí)體對(duì)的關(guān)系語義表示,表明融入實(shí)體類型信息對(duì)抽取實(shí)體對(duì)之間的關(guān)系有正面影響,但該方法忽視了實(shí)體提及詞對(duì)實(shí)體對(duì)之間的關(guān)系抽取會(huì)帶來負(fù)面影響.
針對(duì)上述問題,本文設(shè)計(jì)了一種融合多任務(wù)學(xué)習(xí)和實(shí)體遮掩的關(guān)系抽取模型(relational triplet extraction model fused with Multi Task Learning and Entity Masking,MTLEM).該模型采用流水線式方法,在進(jìn)行命名實(shí)體識(shí)別時(shí),將實(shí)體識(shí)別任務(wù)分解為實(shí)體跨度識(shí)別和實(shí)體類型分類兩個(gè)子任務(wù),分別使用不同的特征表示,從而解決兩個(gè)子任務(wù)之間特征表示相互干擾的問題.在進(jìn)行關(guān)系抽取時(shí),提出了一種實(shí)體遮掩的方法,以此改進(jìn)PURE模型提出的實(shí)體標(biāo)記方法.利用實(shí)體類型替換實(shí)體提及并在其前后插入實(shí)體標(biāo)記,一方面強(qiáng)調(diào)了實(shí)體類型信息,另一方面避免了實(shí)體提及詞對(duì)關(guān)系抽取帶來的負(fù)面影響.
根據(jù)抽取流程和模型結(jié)構(gòu),句子級(jí)別的關(guān)系三元組抽取方法主要可以分為兩類,分別是流水線式抽取方法和聯(lián)合抽取方法.早期研究中,主要采用流水線式方法進(jìn)行關(guān)系三元組的抽取,將提取文本中實(shí)體之間的關(guān)系分離成兩個(gè)獨(dú)立的任務(wù):命名實(shí)體識(shí)別和關(guān)系抽取.Zeng等[8]使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)分別提取詞元級(jí)別和句子級(jí)別的特征,輸入進(jìn)隱藏層和softmax層進(jìn)行關(guān)系分類.Xu等[9]在CNN的基礎(chǔ)之上融入了最短依存路徑分析進(jìn)行關(guān)系三元組抽取.在中文的關(guān)系三元組抽取研究方面,高丹等[10]利用CNN結(jié)合多實(shí)體關(guān)系抽取技術(shù),在法律文書的關(guān)系抽取上,取得了很好的效果.Socher等[11]使用循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的方法進(jìn)行關(guān)系三元組抽取,利用循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)句子進(jìn)行句法解析,從而得到句子的向量表示,融入了句子的句法結(jié)構(gòu)信息.Lample 等[12]則使用 長(zhǎng) 短 期 記 憶 網(wǎng) 絡(luò)(Long Short Term Memory,LSTM)模 型 與 條 件 隨 機(jī) 場(chǎng)(Conditional Random Field,CRF)模型,將關(guān)系三元組抽取任務(wù)轉(zhuǎn)換為實(shí)體序列的標(biāo)注任務(wù).Zhu等[13]使用了圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Convolutional Network,GCN)設(shè)計(jì)了一種自生成圖神經(jīng)網(wǎng)絡(luò)模型,使神經(jīng)網(wǎng)絡(luò)能夠?qū)o結(jié)構(gòu)化的句子輸入進(jìn)行關(guān)系推理.
由于誤差傳播、實(shí)體信息和關(guān)系信息無法有效交互等問題,近些年來研究者們?cè)O(shè)計(jì)了許多聯(lián)合抽取模型.Miwa等[14]設(shè)計(jì)了一種共享參數(shù)的模型,使用RNN、詞元序列以及依存樹等結(jié)構(gòu),通過共享編碼層的LSTM 獲得最優(yōu)的全局參數(shù),同時(shí)進(jìn)行實(shí)體抽取任務(wù)和關(guān)系抽取任務(wù).Zheng等[15]設(shè)計(jì)了一種基于序列標(biāo)注的模型,巧妙的將實(shí)體識(shí)別任務(wù)和關(guān)系抽取任務(wù)整合成一個(gè)序列標(biāo)注問題,可以同時(shí)抽取出實(shí)體類型和關(guān)系類型,但該方法沒能解決重疊三元組的問題.Wei等[16]設(shè)計(jì)了一種層級(jí)架構(gòu)模型,將關(guān)系視作為一個(gè)實(shí)體到另一個(gè)實(shí)體的函數(shù)映射,利用頭實(shí)體去獲得某個(gè)關(guān)系類型下的尾實(shí)體,從而拼接出一個(gè)完整的關(guān)系三元組,可以很好的解決重疊三元組的問題.Wang等[17]也對(duì)于重疊三元組問題提出了一種多模塊一步式抽取模型,將關(guān)系抽取問題轉(zhuǎn)換為多種類型特征對(duì)的拼接問題.Shang等[18]在Wang等[17]提出的多模塊一步式抽取模型基礎(chǔ)上優(yōu)化結(jié)構(gòu),提出了一種單模塊一步式抽取模型,在運(yùn)行效果和執(zhí)行效率上都有所突破.Takanobu等[19]使用強(qiáng)化學(xué)習(xí)來解決關(guān)系三元組抽取的問題,提出了一種分層強(qiáng)化學(xué)習(xí)框架,先識(shí)別句子中的關(guān)系類型,再在每個(gè)關(guān)系類型下抽取實(shí)體對(duì).Li等[20]則巧妙的將關(guān)系三元組抽取問題轉(zhuǎn)換為了多輪的問答問題,利用知識(shí)問答系統(tǒng)自然的為實(shí)體抽取和關(guān)系抽取建模.
近些年來,研究者發(fā)現(xiàn)特征表示的好壞對(duì)于模型的效果影響非常大.如何更好的對(duì)任務(wù)建模獲取更準(zhǔn)確的特征表示和如何融入更多外部有價(jià)值的信息來豐富特征表示成為了當(dāng)前研究的熱點(diǎn).Zhong等[6]提出的PURE模型,采用流水線式方法,并在關(guān)系抽取中融入了實(shí)體類型信息,取得了很好的效果,提出了實(shí)體和關(guān)系模型的上下文表示本質(zhì)上是捕獲了不同的信息,因此共享它們的特征表示會(huì)損害性能的觀點(diǎn).Yan等[7]提出的分區(qū)過濾網(wǎng)絡(luò)也利用雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(Bi-directional LSTM,Bi-LSTM),篩選出用于實(shí)體識(shí)別的信息和關(guān)系抽取的信息,避免兩個(gè)任務(wù)之間特征表示的干擾問題.在信息抽取的另一個(gè)任務(wù),事件抽取任務(wù)中,Shang[21]等設(shè)計(jì)了一種層次架構(gòu)的模型,分層次的抽取事件類型,事件觸發(fā)詞和事件觸發(fā)詞,在抽取過程中逐步融入相關(guān)的信息用以特征表示,取得了不錯(cuò)的效果.盡管上述方法都取得了一定的成功,但這些方法還并不能讓人滿意.目前的方法都只專注于命名實(shí)體識(shí)別任務(wù)與關(guān)系抽取任務(wù)之間的干擾問題,并沒有深入到命名實(shí)體識(shí)別任務(wù)內(nèi)部,解決實(shí)體跨度識(shí)別和實(shí)體類型分類兩個(gè)子任務(wù)之間存在的特征表示干擾問題.并且在PURE模型中融合實(shí)體類型信息的方式只是簡(jiǎn)單的在實(shí)體頭尾標(biāo)記處插入實(shí)體類型標(biāo)記,忽略了實(shí)體提及詞對(duì)關(guān)系抽取帶來的負(fù)面影響.
基于以上的分析,本文提出了一種融合多任務(wù)學(xué)習(xí)和實(shí)體遮掩的關(guān)系抽取模型.利用分步式的方法,先抽取實(shí)體跨度再判斷其實(shí)體類型,細(xì)化命名實(shí)體識(shí)別任務(wù),從而解決實(shí)體跨度抽取和實(shí)體類型分類兩個(gè)子任務(wù)之間存在的相互干擾問題.并且使用實(shí)體遮掩的方式替代實(shí)體標(biāo)記的方式,在融合實(shí)體類型信息來豐富關(guān)系語義表示的同時(shí),消除了實(shí)體提及詞對(duì)關(guān)系抽取任務(wù)的干擾,提高模型特征表示的能力.
對(duì)于一個(gè)由n個(gè)詞元(token)構(gòu)成的句子W=(w1,w2,…,wn),其中wi是W的第i個(gè)詞元.在跨度級(jí)別(Span Level)表示[22]下,W中任意長(zhǎng)度的連續(xù)詞元稱為一個(gè)跨度,如(w1,w2,w3)是一個(gè)長(zhǎng)度為3的跨度.令S={s1,s2,…,sm}表示W(wǎng)中長(zhǎng)度不超過K的所有跨度組成的集合.那么W中的所有關(guān)系三元組可表示為公式(1):
{(si,sj,r)∶si,sj∈S,r∈R,yc(si),yc(sj)∈ε}
(1)
其中si,sj,r分別為關(guān)系三元組(si,sj,r)中的頭實(shí)體(Subject)、尾實(shí)體(Object)、對(duì)應(yīng)關(guān)系(Relation),R為預(yù)定義的關(guān)系類型集合,ε為預(yù)定義的實(shí)體類型集合,yc(si),yc(sj)分別為si,sj的實(shí)體類型.
本文所設(shè)計(jì)的模型MTLEM采用流水線式方法,將關(guān)系三元組抽取任務(wù)分解為兩個(gè)子任務(wù):命名實(shí)體識(shí)別和關(guān)系抽取.而命名實(shí)體識(shí)別任務(wù)又分解為實(shí)體跨度識(shí)別和實(shí)體類型分類.
命名實(shí)體識(shí)別任務(wù)里,對(duì)W中的所有跨度si∈S先預(yù)測(cè)其為實(shí)體跨度的概率Pe(si),若Pe(si)>δ,δ為判斷為實(shí)體跨度的閾值,則判斷si為實(shí)體跨度,再預(yù)測(cè)其實(shí)體類型c=yc(si)∈ε.該任務(wù)的輸出如公式(2)所示:
{(si,c)∶si∈S,c∈ε}
(2)
基于命名實(shí)體識(shí)別的結(jié)果,關(guān)系抽取任務(wù)對(duì)所有候選實(shí)體的跨度對(duì)(si,sj)∈S×S預(yù)測(cè)關(guān)系類型r=yr(si,sj)∈R∪{}.若yr(si,sj)=,則表示(si,sj)之間不存在任何關(guān)系.該任務(wù)的輸出如公式(3):
{((si,sj),r)∶(si,sj)∈S×S,r∈R}
(3)
本文提出的融合多任務(wù)學(xué)習(xí)和實(shí)體遮掩的關(guān)系三元組抽取模型整體結(jié)構(gòu)如圖1所示,主要包括3部分:實(shí)體跨度識(shí)別模塊,實(shí)體類型分類模塊,實(shí)體對(duì)關(guān)系抽取模塊,其中實(shí)體跨度識(shí)別和實(shí)體類型分類共同完成命名實(shí)體識(shí)別任務(wù).
圖1 融合多任務(wù)學(xué)習(xí)與實(shí)體遮掩的三元組抽取模型Fig.1 Relational triplet extraction model fused with multi task learning and entity masking
首先在實(shí)體跨度識(shí)別模塊中,先將句子輸入到預(yù)訓(xùn)練的BERT[23]模型中,經(jīng)過Embedding層獲得詞向量編碼和位置編碼,再經(jīng)過雙向Transformer[24]層得到句子中每個(gè)詞元的特征向量.之后,枚舉所有長(zhǎng)度不超過K的跨度獲得跨度集合S,對(duì)S中每一個(gè)跨度,將其首尾詞元向量與指定的跨度長(zhǎng)度向量拼接,作為實(shí)體跨度識(shí)別的語義表示,輸入到實(shí)體跨度識(shí)別層判斷其是否是實(shí)體.接下來在實(shí)體類型分類模塊中,對(duì)每一個(gè)實(shí)體跨度si,先通過一個(gè)雙向LSTM網(wǎng)絡(luò)融入其實(shí)體內(nèi)部的依賴信息.之后通過注意力機(jī)制分別計(jì)算與每一種實(shí)體類型的相似度,選取其中相似度最高的實(shí)體類型,作為該實(shí)體跨度的實(shí)體類型.
完成了命名實(shí)體識(shí)別任務(wù)后,在關(guān)系抽取模塊中,對(duì)于每一組實(shí)體對(duì),先對(duì)句子進(jìn)行實(shí)體遮掩操作,在頭尾實(shí)體提及詞前后插入實(shí)體標(biāo)記并用實(shí)體類型信息替換實(shí)體提及詞,之后將句子重新輸入到另一個(gè)預(yù)訓(xùn)練的BERT模型中,獲取關(guān)系信息的上下文表示.最后將頭尾實(shí)體類型的特征向量拼接,輸入到關(guān)系檢測(cè)層判斷其關(guān)系類型.
實(shí)體跨度識(shí)別模塊的任務(wù)是獲取所有檢測(cè)為實(shí)體的跨度.其中用于實(shí)體跨度識(shí)別的語義信息由以下3部分構(gòu)成:1)跨度的開始詞元向量;2)跨度的結(jié)束詞元向量;3)跨度長(zhǎng)度的詞向量.
對(duì)于一個(gè)給定的輸入句子W=(w1,w2,…,wn),首先經(jīng)過一個(gè)預(yù)訓(xùn)練的BERT模型,獲取句子中每個(gè)詞元包含上下文信息的特征向量,如公式(4)所示:
W=(w1,w2,…,wn)
(4)
其中,wt∈dw代表BERT模型輸出的第t個(gè)詞元的特征向量.
令S={s1,s2,…,sm}表示W(wǎng)中所有長(zhǎng)度不超過K的跨度組成的集合.對(duì)于任意跨度si=(wt,wt+1,…,wt+k-1)∈S,1≤i≤m,1≤k≤K,1≤t≤n-k+1,其寬度為k.令start(si)=t表示跨度si的在W中的開始位置,end(si)=t+k-1表示跨度si的在W中結(jié)束位置.則跨度si用于進(jìn)行實(shí)體跨度識(shí)別的語義信息可表示為he(si):
he(si)=[wstart(si);wend(si);lk]
(5)
其中,lk∈dl是跨度長(zhǎng)度的詞向量,[·;·]表示向量拼接操作.
將he(si)輸入進(jìn)一個(gè)多層前饋神經(jīng)網(wǎng)絡(luò),預(yù)測(cè)跨度si為實(shí)體跨度的概率pe(si).
本文觀察到命名實(shí)體識(shí)別任務(wù)與計(jì)算機(jī)視覺里的目標(biāo)檢測(cè)任務(wù)[25]具有高度相似性,兩個(gè)任務(wù)都需要在上下文信息中,選取特定的區(qū)域,并分配相應(yīng)的類別.在目標(biāo)檢測(cè)領(lǐng)域內(nèi),兩階段對(duì)象檢測(cè)器(two-stage object detectors)[26-28]是十分有效的目標(biāo)檢測(cè)算法.它將目標(biāo)檢測(cè)任務(wù)分為兩個(gè)步驟,先選定候選區(qū)域,然后對(duì)候選區(qū)域進(jìn)行分類和微調(diào).其次,Yan等[7]和Zhong等[6]研究者也發(fā)現(xiàn),在實(shí)體識(shí)別任務(wù)和關(guān)系抽取任務(wù)中使用相同的上下文表示會(huì)產(chǎn)生消極影響.受到上述思想的啟發(fā),本文設(shè)計(jì)了實(shí)體類型分類模塊.
實(shí)體類型分類模塊的目的是獲取實(shí)體跨度的實(shí)體類別.本模塊主要由3部分構(gòu)成:1)融合實(shí)體跨度序列信息,增強(qiáng)詞元的特征表示;2)使用注意力機(jī)制獲取特定實(shí)體類別下的實(shí)體語義表示;3)實(shí)體與實(shí)體類別的相似度計(jì)算.
本文采用Bi-LSTM網(wǎng)絡(luò)融合實(shí)體跨度序列信息.Bi-LSTM的基本思想是對(duì)每個(gè)實(shí)體跨度的詞元序列分別經(jīng)過前向LSTM網(wǎng)絡(luò)和后向LSTM層網(wǎng)絡(luò),然后將同一個(gè)位置的輸出合并,對(duì)于每一個(gè)位置的輸出而言,都包含了序列的前向信息與后向信息.Bi-LSTM的具體結(jié)構(gòu)如圖2所示,其中輸出h:
圖2 Bi-LSTM結(jié)構(gòu)Fig.2 Bi-LSTM structure
(6)
基于實(shí)體跨度識(shí)別模塊的結(jié)果,獲得實(shí)體跨度集合S={s:Pe(s)>δ},對(duì)于任意實(shí)體跨度s=(wt,wt+1,…,wt+k-1)∈S,將其輸入到Bi-LSTM網(wǎng)絡(luò)獲取融入實(shí)體跨度序列信息的特征表示s:
s=(h1,h2,…,hk)
(7)
其中,hi∈dh代表實(shí)體跨度s融合實(shí)體跨度序列信息后輸出的第i個(gè)詞元的特征向量.
在融合了實(shí)體跨度序列信息后,本文采用注意機(jī)制來檢測(cè)實(shí)體跨度的實(shí)體類型,為每一個(gè)實(shí)體跨度捕獲最匹配的實(shí)體類型.具體來說,本文隨機(jī)初始化嵌入矩陣C∈|c|×dh作為實(shí)體類型嵌入,并定義一個(gè)相似性函數(shù)φ來衡量候選類型c∈C與每個(gè)實(shí)體跨度詞元hj∈s之間的相關(guān)性,如公式(8)所示:
φ(c,hi)=vTtanh(V[c;hi;|c-hi|;c⊙hi])
(8)
其中V∈4dh×4dh和v∈4dh×1是可學(xué)習(xí)的參數(shù),|·|是絕對(duì)值操作符,⊙是矩陣的哈達(dá)瑪積.
根據(jù)實(shí)體跨度詞元h與實(shí)體類型c的相關(guān)性得分,獲取適應(yīng)了實(shí)體類型c的實(shí)體表示sc:
(9)
最后,通過使用相同的相似性函數(shù)φ獲取實(shí)體類型c在實(shí)體跨度s下的概率Pc(c|s):
(10)
關(guān)系抽取模塊的任務(wù)是獲取每個(gè)跨度對(duì)(si,sj)的關(guān)系類型r=yr(si,sj)∈R∪{},其中R為預(yù)先設(shè)定的關(guān)系類型集合,為不存在關(guān)系.如圖1所示,獲得用于關(guān)系分類的關(guān)系語義編碼由以下3個(gè)步驟構(gòu)成:1)對(duì)句子W進(jìn)行實(shí)體遮掩處理,得到新句子獲取的詞向量;3)獲取跨度對(duì)的關(guān)系語義編碼.
基于實(shí)體類別分類模塊的結(jié)果,任選一個(gè)跨度對(duì)(si,sj)∈S×S,ci=yc(si)∈ε,cj=yc(sj)∈ε,設(shè)si為關(guān)系三元組中的頭實(shí)體,ci為頭實(shí)體的實(shí)體類型,sj為關(guān)系三元組中的尾實(shí)體,cj為尾實(shí)體的實(shí)體類型.則句子W可表示為:
W=(w1,…,wstart( i),…,wend( i),…,wstart( j),…,wend( j),…,wn)
(11)
(12)
上述過程中,新定義的標(biāo)記由BERT詞匯表中的備用標(biāo)記表示.
(13)
將hr(si,sj)輸入進(jìn)一個(gè)多層前饋神經(jīng)網(wǎng)絡(luò),預(yù)測(cè)候選實(shí)體對(duì)(si,sj)關(guān)系類型r=yr(si,sj)的概率分布Pr(r|(si,sj)),r∈R∪{ε}.
實(shí)體標(biāo)記方法
本文所提出的實(shí)體遮掩方法來源于PURE模型中的實(shí)體標(biāo)記方法,本節(jié)將先簡(jiǎn)要闡述實(shí)體標(biāo)記方法,再詳細(xì)闡述改動(dòng)的差異和優(yōu)化的思路.
圖3 PURE模型中的實(shí)體標(biāo)記方法Fig.3 Entity marking method in PURE model
(14)
(15)
本文提出的MTLEM模型中,除了在頭實(shí)體和尾實(shí)體的前后插入標(biāo)記外,還用實(shí)體類型標(biāo)記遮掩了實(shí)體提及詞,如式所示;候選頭尾實(shí)體si和sj之間的關(guān)系語義編碼由頭尾實(shí)體類型標(biāo)記<人>是
本文采用流水線式方法進(jìn)行關(guān)系三元組抽取.對(duì)于命名實(shí)體識(shí)別,使用交叉熵?fù)p失函數(shù)分別計(jì)算實(shí)體跨度識(shí)別模塊和實(shí)體類別分類模塊的損失值Le和Lo:
(16)
(17)
L=Le+Lo
(18)
關(guān)系抽取中,也采用交叉熵?fù)p失函數(shù)計(jì)算損失,損失函數(shù)Lr:
(19)
本文在關(guān)系三元組抽取任務(wù)中廣泛使用的兩個(gè)數(shù)據(jù)集 SCIERC[29]和 SKE[30]上驗(yàn)證模型的有效性,其中SCIERC為英文數(shù)據(jù)集,SKE為中文數(shù)據(jù)集.SCIERC數(shù)據(jù)集來源于500篇人工智能領(lǐng)域的論文摘要,總共包含2687條數(shù)據(jù),其中訓(xùn)練集有1861條數(shù)據(jù),驗(yàn)證集有275條數(shù)據(jù),測(cè)試集有551條數(shù)據(jù),數(shù)據(jù)集內(nèi)包含6種類型的科學(xué)實(shí)體和7種類型的關(guān)系.SKE數(shù)據(jù)集來源于百度百科和百度信息流文本,是目前業(yè)界規(guī)模最大的基于模式的中文關(guān)系三元組抽取數(shù)據(jù)集,其中包含了約43萬個(gè)三元組數(shù)據(jù),21萬個(gè)中文句子,以及定義好的24種實(shí)體類別和50種關(guān)系類別.SKE數(shù)據(jù)集劃分為17萬訓(xùn)練集,2萬驗(yàn)證集和2萬測(cè)試集,由于測(cè)試集并未公開,所以本實(shí)驗(yàn)?zāi)J(rèn)將驗(yàn)證集作為測(cè)試集.
本文的評(píng)價(jià)標(biāo)準(zhǔn)采用的是準(zhǔn)確率(Precision)、召回率(Recall)和F1值,計(jì)算式見公式(20)~公式(22):
(20)
(21)
(22)
以上3個(gè)公式分別計(jì)算命名實(shí)體識(shí)別和關(guān)系抽取兩個(gè)模塊的的準(zhǔn)確率、召回率和F1值.其中,TP是預(yù)測(cè)正確的標(biāo)簽數(shù)量,FP為預(yù)測(cè)錯(cuò)誤的標(biāo)簽數(shù)量,FN為未抽取出的正確的標(biāo)簽數(shù)量.
本文模型訓(xùn)練使用預(yù)訓(xùn)練模型BERT作為詞向量編碼器,在SCIERC數(shù)據(jù)集上,使用在大量科學(xué)論文語料庫上預(yù)先訓(xùn)練好的SciBERT[31],在SKE數(shù)據(jù)集上,使用基于全詞遮罩(Whole Word Masking)技術(shù)的中文預(yù)訓(xùn)練模型Chinese-BERT-wwm[32].對(duì)于命名實(shí)體識(shí)別模塊,模型訓(xùn)練采用每64個(gè)句子為一組,訓(xùn)練200個(gè)循環(huán),設(shè)置的最大跨度長(zhǎng)度為12,對(duì)于預(yù)訓(xùn)練模型參數(shù)的學(xué)習(xí)率設(shè)置為1e-5,其他參數(shù)的學(xué)習(xí)率設(shè)置為1e-4.對(duì)于關(guān)系抽取模塊,模型訓(xùn)練采用每32個(gè)句子為一組,訓(xùn)練10個(gè)循環(huán),預(yù)訓(xùn)練模型參數(shù)的學(xué)習(xí)率設(shè)置為2e-5,其他參數(shù)的學(xué)習(xí)率設(shè)置為1e-4.具體參數(shù)設(shè)置如表1所示.
表1 超參數(shù)設(shè)置Table 1 Hyperparameter setting
將 MTLEM同以下模型進(jìn)行對(duì)比,這些模型在SCIERC和SKE數(shù)據(jù)集上的數(shù)據(jù)上都有著不錯(cuò)的表現(xiàn).
a)DyGIE[33]:將聯(lián)合抽取任務(wù)轉(zhuǎn)換為跨度的動(dòng)態(tài)圖構(gòu)建,將跨度視為圖中的節(jié)點(diǎn),并利用權(quán)重為置信度的關(guān)系類型以及共指關(guān)系連接這些節(jié)點(diǎn).動(dòng)態(tài)跨度圖允許共指關(guān)系和關(guān)系類型在圖上進(jìn)行傳播,以迭代地更新跨度的表示,將實(shí)體識(shí)別任務(wù)轉(zhuǎn)換為跨度的分類任務(wù),將關(guān)系抽取任務(wù)轉(zhuǎn)換為跨度對(duì)的分類任務(wù).
b)DyGIE++[34]:在DyGIE的基礎(chǔ)上,添加了預(yù)訓(xùn)練模型BERT用于詞向量的編碼,并引入了跨度信息,用于增強(qiáng)Bert模型輸出的上下文信息表示.
c)SpERT[35]:模型采用分類的思想處理關(guān)系三元組抽取問題,實(shí)體識(shí)別和關(guān)系抽取均為分類模型.在進(jìn)行實(shí)體識(shí)別時(shí),融入了跨度內(nèi)信息,豐富跨度的表示.進(jìn)行關(guān)系抽取時(shí),融入了跨度間信息,豐富跨度對(duì)的表示.
d)PURE:采用管道式抽取的方式進(jìn)行關(guān)系三元組的抽取,實(shí)體識(shí)別任務(wù)使用標(biāo)準(zhǔn)跨度表示處理,關(guān)系抽取任務(wù)采用實(shí)體標(biāo)記的方式,引入實(shí)體類型信息用于跨度對(duì)的關(guān)系抽取.
e)PFN:設(shè)計(jì)了一個(gè)分區(qū)過濾網(wǎng)絡(luò),分離出用于命名實(shí)體識(shí)別的特征信息和用于關(guān)系抽取的特征信息,最后利用表格填充的方式,分別抽取實(shí)體跨度和跨度對(duì)之間的關(guān)系.
表2為本文所提出的MELEM模型和其他基線模型在SCIERC和SKE數(shù)據(jù)集中的測(cè)試集上的評(píng)估結(jié)果,每個(gè)運(yùn)行結(jié)果都是經(jīng)過3次運(yùn)行后得到的平均值,可以看出,MELEM模型在兩個(gè)數(shù)據(jù)集上的表現(xiàn)突出,絕大多數(shù)指標(biāo)都達(dá)到了最優(yōu).
表2 不同的模型在SCIERC和SKE測(cè)試集上的結(jié)果Table 2 Results of different models on SCIERC and SKE test sets
在命名實(shí)體識(shí)別任務(wù)上,MELEM分別在SCIERC和SKE數(shù)據(jù)集上取得了69.2%和82.6%的F1分?jǐn)?shù),對(duì)比于最優(yōu)基線模型,提升了0.4%和3.3%.對(duì)比模型提高程度,在SCIERC數(shù)據(jù)集上提升效果較低的原因?yàn)镾CIERC上的性能已經(jīng)趨于飽和,該數(shù)據(jù)集僅含有兩千多條數(shù)據(jù)和6種實(shí)體類型,數(shù)據(jù)集較小,模型改進(jìn)的空間十分有限.對(duì)比其他基線模型,SpERT模型雖然融入了跨度內(nèi)信息,豐富了實(shí)體的信息,但是實(shí)體跨度識(shí)別和實(shí)體類型識(shí)別的特征信息依舊會(huì)存在互相干擾的問題.PURE模型采用的是標(biāo)準(zhǔn)跨度模型,并未使用跨度內(nèi)信息,僅僅使用了頭尾詞元向量和跨度長(zhǎng)度向量.PFN模型雖然使用了分區(qū)過濾網(wǎng)絡(luò),分離了實(shí)體識(shí)別和關(guān)系抽取相關(guān)的特征信息,但是對(duì)于實(shí)體識(shí)別而言,僅僅只是使用了頭尾詞元向量,忽略了其他重要的跨度表示信息,如跨度內(nèi)詞元、跨度長(zhǎng)度和實(shí)體類型等.而本文所提出的MELEM模型,在前人的基礎(chǔ)上,豐富了跨度的表示,將實(shí)體類型信息也用于進(jìn)行跨度表示.其次受到實(shí)體識(shí)別與關(guān)系抽取的特征信息存在相互干擾的啟發(fā),本文將其思想用于實(shí)體識(shí)別任務(wù)當(dāng)中,設(shè)計(jì)了多任務(wù)式的實(shí)體識(shí)別模塊,利用不同的特征信息,分別進(jìn)行實(shí)體跨度識(shí)別和實(shí)體類型分類,由實(shí)驗(yàn)結(jié)果可知,本文所設(shè)計(jì)的方案是有效的.
在關(guān)系抽取任務(wù)上,MELEM分別在SCIERC和SKE數(shù)據(jù)集上取得了51.3%和75.9%的F1得分,對(duì)比于最優(yōu)基線模型,提升了2.2%和1.5%.在關(guān)系抽取模塊上,本文提出了一種全新的實(shí)體遮掩方法,發(fā)現(xiàn)了實(shí)體提及詞會(huì)對(duì)實(shí)體之間的關(guān)系抽取產(chǎn)生負(fù)面影響,同時(shí)也借鑒了PURE模型提出的實(shí)體標(biāo)記方法,將實(shí)體類型信息用于關(guān)系抽取任務(wù)當(dāng)中.實(shí)驗(yàn)結(jié)果表明,MELEM比其他模型能更有效地處理關(guān)系三元組抽取任務(wù).
3.5.1 實(shí)體識(shí)別模塊
針對(duì)命名實(shí)體識(shí)別模塊上的改進(jìn)點(diǎn),在SCIERC和SKE兩個(gè)數(shù)據(jù)集上分別進(jìn)行消融實(shí)驗(yàn),驗(yàn)證各個(gè)模塊的有效性,實(shí)驗(yàn)結(jié)果如表3所示.對(duì)于去除分層架構(gòu),改為只是用標(biāo)準(zhǔn)跨度模型進(jìn)行實(shí)體識(shí)別,F1值分別下降了0.4%和3.3%,這表明實(shí)體跨度識(shí)別和實(shí)體類型分類兩個(gè)任務(wù)之間會(huì)互相干擾,使用相同的特征信息進(jìn)行實(shí)體跨度識(shí)別和實(shí)體類型分類會(huì)導(dǎo)致效果下降.去除Bi-LSTM層,不進(jìn)行跨度序列信息的融合,F1值分別下降了0.6%和1.6%,去除實(shí)體類別融合,改為使用頭尾詞元信息進(jìn)行實(shí)體類型的多分類,F1值分別下降了0.2%和0.5%,這表明跨度序列信息,實(shí)體類型信息都能有效的提升命名實(shí)體識(shí)別的性能,對(duì)命名實(shí)體識(shí)別的特征表示有一定影響.
表3 兩個(gè)數(shù)據(jù)集上的實(shí)體識(shí)別模塊消融實(shí)驗(yàn)Table 3 Ablation experiment of entity recognition module on two datasets
為進(jìn)一步驗(yàn)證MTLEM實(shí)體識(shí)別模塊的有效性,本文分析了在不同實(shí)體長(zhǎng)度下的消融實(shí)驗(yàn)數(shù)據(jù)結(jié)果.如圖4所示,本文將實(shí)體分為3種類型,分別是1~3個(gè)詞匯的短實(shí)體,4~6個(gè)詞匯的中實(shí)體和7個(gè)詞匯及以上的長(zhǎng)實(shí)體.經(jīng)過數(shù)據(jù)分析發(fā)現(xiàn),相較于未采用分層架構(gòu)的標(biāo)準(zhǔn)跨度模型,其余3種分層架構(gòu)的模型在短實(shí)體上并沒有顯著的優(yōu)勢(shì),但是在中實(shí)體和長(zhǎng)實(shí)體上的優(yōu)勢(shì)逐漸明顯,這也驗(yàn)證了在短實(shí)體中跨度內(nèi)信息的重要性并不明顯,在只有1個(gè)詞匯和2個(gè)詞匯的實(shí)體中跨度內(nèi)信息可以完全被頭尾實(shí)體信息所替代.同時(shí)短實(shí)體識(shí)別任務(wù)中,實(shí)體跨度識(shí)別和實(shí)體類型分類兩個(gè)任務(wù)之間的特征信息也高度重合,但隨著實(shí)體跨度長(zhǎng)度的增加,兩個(gè)子任務(wù)之間的干擾也逐漸增強(qiáng).在長(zhǎng)實(shí)體識(shí)別任務(wù)中,MTLEM相較于標(biāo)準(zhǔn)跨度模型,F1值提升了6.61%.對(duì)于跨度序列信息的使用,使得MTLEM模型在相對(duì)于去除Bi-LSTM層的情況下在3種類型的實(shí)體抽取任務(wù)中,F1值分別提升了01%,4.28%和1.84%.這也表明融入了跨度序列信息,對(duì)于短實(shí)體而言,跨度間信息不突出,效果不明顯,而對(duì)于中長(zhǎng)實(shí)體而言,效果很突出.對(duì)于實(shí)體類別信息的使用,在中長(zhǎng)實(shí)體上的效果也更加突出,ETLEM模型相對(duì)于去除實(shí)體類別融合的情況下在中長(zhǎng)實(shí)體抽取任務(wù)中,F1值分別提升了1.3%和0.37%.以上結(jié)果充分表明了本文提出的ETLEM模型在長(zhǎng)文本命名實(shí)體識(shí)別任務(wù)上的有效性.
圖4 SCIERC數(shù)據(jù)集上不同實(shí)體長(zhǎng)度下命名實(shí)體識(shí)別的結(jié)果Fig.4 Results of named entity recognition under different entity lengths on SCIERC datasets
3.5.2 關(guān)系抽取模塊
為了驗(yàn)證關(guān)系抽取模塊中實(shí)體遮掩方法的有效性,在SCIERC和SKE兩個(gè)數(shù)據(jù)集上進(jìn)行消融實(shí)驗(yàn),分別去掉頭尾實(shí)體的實(shí)體標(biāo)記只使用實(shí)體類型替代實(shí)體提及詞和只進(jìn)行頭尾實(shí)體的實(shí)體標(biāo)記不進(jìn)行實(shí)體提及詞的替換,實(shí)驗(yàn)結(jié)果如表4所示.從實(shí)驗(yàn)結(jié)果中可以觀察到,僅進(jìn)行實(shí)體提及詞替換和僅進(jìn)行實(shí)體標(biāo)記,模型的3項(xiàng)指標(biāo)都存在一定程度的下降.在去掉模型的實(shí)體標(biāo)記,F1值分別下降了0.8%和1.7%,原因在于頭尾實(shí)體標(biāo)記會(huì)強(qiáng)調(diào)實(shí)體在句子中的重要性,從而捕獲到更豐富的特征信息.而不進(jìn)行模型的實(shí)體提及詞替換,F1值分別下降了1.0%和2.3%,這種處理方式在進(jìn)行關(guān)系抽取時(shí),既沒有消除實(shí)體提及詞對(duì)于關(guān)系語義表示的負(fù)面影響,也沒有利用到實(shí)體類型的信息.結(jié)果表明,使用結(jié)合了實(shí)體標(biāo)記和實(shí)體提及詞替換的實(shí)體遮掩方法能夠有效提高關(guān)系抽取任務(wù)的性能.
表4 兩個(gè)數(shù)據(jù)集上的關(guān)系抽取模塊消融實(shí)驗(yàn)Table 4 Ablation experiment of relational extraction module on two datasets
本文提出了一種融合多任務(wù)學(xué)習(xí)和實(shí)體遮掩的關(guān)系三元組抽取模型,與以往的研究不同,該模型將命名實(shí)體識(shí)別任務(wù)拆解為實(shí)體跨度識(shí)別和實(shí)體類型分類兩個(gè)子任務(wù),分別使用不同的特征表示進(jìn)行處理,有效的消除了實(shí)體跨度識(shí)別和實(shí)體類型分類兩個(gè)子任務(wù)之間存在的干擾問題,同時(shí)使用實(shí)體遮掩的方法處理關(guān)系抽取任務(wù),利用實(shí)體類型替代實(shí)體提及詞,并且在其頭尾插入實(shí)體標(biāo)記,不僅突出了實(shí)體在上下文中的重要性還消除了實(shí)體提及詞對(duì)關(guān)系抽取任務(wù)的干擾.通過與已有模型的實(shí)驗(yàn)結(jié)果進(jìn)行比較,本文所提出的模型在兩個(gè)關(guān)系三元組抽取數(shù)據(jù)集上都取得了最好的性能,證明了此模型的有效性.
在未來,本文將此模型用于關(guān)系三元組抽取的方法,嘗試應(yīng)用于其他的信息抽取任務(wù)中,如事件抽取,文檔級(jí)關(guān)系抽取.同時(shí)將深入研究關(guān)系抽取任務(wù)中的特征表示問題,尋找更有效的特征融合與分離的方法,進(jìn)一步提高三元組抽取任務(wù)的性能.