禹克強(qiáng),黃芳,吳琪,歐陽洋
(中南大學(xué) 計(jì)算機(jī)學(xué)院,長(zhǎng)沙 410083)
實(shí)體關(guān)系抽取任務(wù)的目的是從自然語言文本中提取實(shí)體及實(shí)體間關(guān)系,其為自然語言處理領(lǐng)域的一項(xiàng)重要研究?jī)?nèi)容,通過對(duì)文本進(jìn)行語義關(guān)系分析,從而將非結(jié)構(gòu)化文本轉(zhuǎn)化為包含實(shí)體間關(guān)系信息的結(jié)構(gòu)化數(shù)據(jù),能夠?yàn)橹R(shí)圖譜、信息檢索、推薦系統(tǒng)等一系列下游任務(wù)提供有效支撐[1]。關(guān)系三元組是語義關(guān)系的基本單元之一,由主體、客體及它們之間的關(guān)系所組成的關(guān)系三元組(形如<主體,關(guān)系,客體>)代表了句子中實(shí)體之間的語義關(guān)系,這樣的實(shí)體關(guān)系信息可以有效運(yùn)用于文本語義建模[2]。
現(xiàn)有的關(guān)系抽取方法主要分為流水線(Pipeline)關(guān)系抽取方法和聯(lián)合(Joint)關(guān)系抽取方法兩大類[3],其中:流水線關(guān)系抽取方法將關(guān)系抽取任務(wù)劃分為兩個(gè)獨(dú)立的子任務(wù),先從給定的句子中識(shí)別其中的實(shí)體,再對(duì)實(shí)體間關(guān)系進(jìn)行分類;聯(lián)合抽取方法通過一個(gè)聯(lián)合模型同時(shí)對(duì)句子中的實(shí)體和關(guān)系進(jìn)行識(shí)別,根據(jù)其實(shí)現(xiàn)形式可以劃分為參數(shù)共享和序列標(biāo)注兩類,參數(shù)共享方法通過在實(shí)體識(shí)別和關(guān)系抽取兩個(gè)子任務(wù)中共享輸入特征或內(nèi)部隱層狀態(tài)來實(shí)現(xiàn)模型聯(lián)合,序列標(biāo)注方法將關(guān)系抽取任務(wù)轉(zhuǎn)化為序列標(biāo)注任務(wù),通過設(shè)計(jì)實(shí)體關(guān)系的聯(lián)合標(biāo)注策略來對(duì)任務(wù)進(jìn)行建模。
盡管上述方法在關(guān)系抽取領(lǐng)域已經(jīng)取得了較好的效果,但是它們大多存在僅從單一語義方向進(jìn)行關(guān)系抽取的問題,例如,在句子“黑貓警長(zhǎng)是上海電影美術(shù)制片廠制作的動(dòng)畫電影,由戴鐵郎執(zhí)導(dǎo)?!敝?,在關(guān)系“導(dǎo)演”的基礎(chǔ)上,可以得到關(guān)系三元組<黑貓警長(zhǎng),導(dǎo)演,戴鐵郎>,其中,“黑貓警長(zhǎng)”是關(guān)系中的主體,“戴鐵郎”是關(guān)系中的客體,如果將該關(guān)系三元組的主體和客體進(jìn)行置換,則此時(shí)的關(guān)系三元組應(yīng)為<戴鐵郎,執(zhí)導(dǎo),黑貓警長(zhǎng)>,主體與客體一旦交換了次序,它們的關(guān)系類型也隨之發(fā)生改變,即主體到客體的關(guān)系信息與客體到主體的關(guān)系信息并不相同?,F(xiàn)有的關(guān)系抽取方法大多僅利用單向的關(guān)系信息,然而,在大量的非結(jié)構(gòu)化文本中,可能存在著一側(cè)關(guān)系下語義特征不明顯而另一側(cè)語義特征較鮮明的情況。在上例中,關(guān)系類型“執(zhí)導(dǎo)”的語義特征較關(guān)系類型“導(dǎo)演”的語義特征更為鮮明,在這種情況下,如果能有效利用雙向關(guān)系的語義特征,就能夠更深入地挖掘文本中所包含的關(guān)系三元組,并利用雙向語義信息對(duì)關(guān)系三元組進(jìn)行判別,從而提高關(guān)系抽取的準(zhǔn)確率。
本文建立一種基于雙向語義的實(shí)體與關(guān)系聯(lián)合抽取模型BSCRE(Bidirectional Semantics Chinese Relation Extraction),其利用雙向關(guān)系的語義信息,并結(jié)合正負(fù)關(guān)系下所得關(guān)系三元組的概率分布進(jìn)行判別,以提高聯(lián)合抽取的效果。為了避免句子單向語義特征不明顯所導(dǎo)致的抽取錯(cuò)誤,本文利用正負(fù)關(guān)系來捕獲文本中的雙向關(guān)系語義,設(shè)計(jì)一種基于正負(fù)關(guān)系映射的關(guān)系抽取模型,實(shí)現(xiàn)面向中文文本的端到端實(shí)體關(guān)系聯(lián)合抽取,提高中文關(guān)系抽取的準(zhǔn)確率與召回率。為了同時(shí)利用文本中的正關(guān)系和負(fù)關(guān)系語義,通過兩組全連接神經(jīng)網(wǎng)絡(luò)分別構(gòu)建正負(fù)關(guān)系映射器,同時(shí)從正關(guān)系與負(fù)關(guān)系的角度完成候選關(guān)系三元組構(gòu)建。為了從候選三元組中識(shí)別正確的實(shí)體關(guān)系,基于候選關(guān)系三元組的正負(fù)關(guān)系概率分布序列和實(shí)體位置信息對(duì)候選關(guān)系三元組進(jìn)行判別,利用全連接神經(jīng)網(wǎng)絡(luò)判別器,同時(shí)通過正關(guān)系與負(fù)關(guān)系的語義信息來確定最終的關(guān)系三元組。
從自然語言文本中提取關(guān)系三元組是信息抽取中的一個(gè)熱點(diǎn)研究問題,也是構(gòu)建如DBpedia[4]、Freebase[5]等大規(guī)模知識(shí)圖譜的重要步驟,能夠有效地為搜索引擎、智能問答等下游任務(wù)提供支持。
基于傳統(tǒng)機(jī)器學(xué)習(xí)的關(guān)系抽取模型通常利用特征向量完成關(guān)系抽取,如MIVA 等[6]利用詞袋、詞性等文本特征構(gòu)建特征向量,KAMBHATLA 等[7]通過最大熵模型,利用文本的詞法及語義特征進(jìn)行關(guān)系抽取。由于特征向量的構(gòu)建需要研究人員有著大量語言學(xué)的相關(guān)知識(shí),并且可能導(dǎo)致誤差的傳遞,而深度學(xué)習(xí)能夠自動(dòng)學(xué)習(xí)文本中的特征,通過學(xué)習(xí)每個(gè)詞的表征來表示不同粒度的語義單元[8],同時(shí)具有較高的精確度,因此深度學(xué)習(xí)逐漸成為近年來學(xué)術(shù)界的研究重點(diǎn)[2]。
目前,主流的基于深度學(xué)習(xí)的關(guān)系抽取方法大致可以分為流水線關(guān)系抽取方法和聯(lián)合關(guān)系抽取方法兩種。
流水線關(guān)系抽取方法將關(guān)系抽取任務(wù)拆解為兩個(gè)獨(dú)立的步驟。NAYAK 等[9]在獲取文本中所存在的所有實(shí)體后,通過分類網(wǎng)絡(luò)對(duì)實(shí)體對(duì)間的關(guān)系進(jìn)行分類。ZENG 等[10]采用卷積神經(jīng)網(wǎng)絡(luò)提取文本中的詞匯及句子級(jí)特征進(jìn)行實(shí)體對(duì)間的關(guān)系分類。ZHANG 等[11]通過將句子表征與實(shí)體表征相結(jié)合,并引入注意力機(jī)制來完成關(guān)系分類。SHIKHAR等[12]在圖卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上添加實(shí)體類型和關(guān)系別名信息,以提高抽取效果。
雖然流水線方法實(shí)現(xiàn)簡(jiǎn)便,靈活性強(qiáng),但是在實(shí)體識(shí)別過程中的誤差有可能傳遞到關(guān)系分類中,從而造成誤差的傳遞,因此,近年來學(xué)者們逐漸聚焦于聯(lián)合關(guān)系抽取方法的研究。MIWA 等[13]基于LSTM最早實(shí)現(xiàn)了基于參數(shù)共享的實(shí)體關(guān)系聯(lián)合抽取方法,參數(shù)共享是指關(guān)系抽取任務(wù)中的實(shí)體識(shí)別與關(guān)系分類兩個(gè)子任務(wù)共用相同的底層參數(shù),以學(xué)習(xí)語義信息更為豐富的隱層表示向量。KATIYAR 等[14]在此基礎(chǔ)上,利用多層Bi-LSTM 和Attention 機(jī)制摒棄了以往方法過于依賴解析器性能的弊端。為了解決共享參數(shù)方法可能生成大量冗余信息的問題,ZHENG 等[15]通過序列標(biāo)注的形式實(shí)現(xiàn)了實(shí)體關(guān)系的聯(lián)合抽取,但是由于在標(biāo)注過程中一個(gè)詞只能被標(biāo)注一次,從而導(dǎo)致該方案無法應(yīng)對(duì)關(guān)系抽取中的關(guān)系重疊問題,盡管ZHENG 等[15]所提方法無法解決關(guān)系重疊問題,但為之后的研究提供了很好的理論基礎(chǔ)。ZENG 等[16]使用帶有復(fù)制機(jī)制的Seq2seq模型解決重疊問題,YU 等[17]和WEI 等[3]通過設(shè)計(jì)一種新穎的標(biāo)記方案,將關(guān)系視為主體到客體的映射函數(shù),即首先識(shí)別句子中的主體,然后根據(jù)傳入的主體來識(shí)別對(duì)應(yīng)的關(guān)系及客體,通過這樣的設(shè)置,能夠考慮到一個(gè)主體和多個(gè)客體之間存在關(guān)系的重疊情況,因此,能夠有效解決實(shí)體間的關(guān)系重疊問題。
WEI 等[3]所提方法盡管很好地解決了關(guān)系重疊的問題,但是該方法僅利用了主體到客體的單向關(guān)系,關(guān)系三元組的正確抽取也依賴于主體的正確識(shí)別。客體到主體同樣有著豐富的語義特征,因此,本文利用雙向語義特征設(shè)計(jì)一種新的聯(lián)合關(guān)系抽取模型BSCRE,其能夠結(jié)合正關(guān)系與負(fù)關(guān)系完成關(guān)系抽取,從而有效避免由非結(jié)構(gòu)化文本單側(cè)語義特征不明顯而導(dǎo)致的準(zhǔn)確率下降問題。
本文中的相關(guān)定義具體如下:
1)關(guān)系三元組。中文信息提取數(shù)據(jù)集定義為D={d1,d2,…,dn}(n>1),di(1 ≤i≤n)為數(shù)據(jù)集中一 個(gè)包含關(guān)系三元組的句子,關(guān)系三元組表示為<ei,rm,ej>(ei,ej∈E,i≠j,rm∈R),其中,ei和ej分別為關(guān)系三元組中的主體和客體,rm為主體ei與客體ej之間的關(guān)系,E和R分別為實(shí)體集和關(guān)系集,關(guān)系抽取任務(wù)的目的是從句子di中抽取出句子中所包含的所有關(guān)系三元組<ei,rm,ej>。
2)非互易性。在關(guān)系三元組中,大部分關(guān)系類型的主體和客體存在非互易性,即關(guān)系三元組<ei,rm,ej>與<ej,rm,ei>并不等價(jià)。例如,對(duì)于句子“老李是小李的父親”而言,關(guān)系三元組<小李,父親,老李>具有正確的語義,而<老李,父親,小李>的語義是錯(cuò)誤的。如果將關(guān)系三元組中的主體和客體位置交換,則三元組的語義隨之改變,表示了不同的語義信息,即關(guān)系(ei→ej)與關(guān)系(ej→ei)并不等價(jià),ei和ej存在非互易性。
3)正負(fù)關(guān)系。在一個(gè)關(guān)系三元組中,當(dāng)且僅當(dāng)實(shí)體ei和ej具備非互易性時(shí),實(shí)體ei和ej間存在正負(fù)關(guān)系。對(duì)于預(yù)定義關(guān)系集合R中的關(guān)系類型ri,其對(duì)應(yīng)的負(fù)關(guān)系為rTi。由于在雙向關(guān)系語義中,負(fù)關(guān)系并不一定都有明確的關(guān)系詞能與之對(duì)應(yīng),因此負(fù)關(guān)系rTi僅用于輔助完成關(guān)系三元組抽取,不指定明確的負(fù)關(guān)系詞。對(duì)于正關(guān)系三元組<ei,rm,ej>而言,其對(duì)應(yīng)的負(fù)關(guān)系三元組為<ej,rTm,ei>。本文設(shè)預(yù)定義關(guān)系集合為正關(guān)系集合R,表示原關(guān)系三元組中主體到客體的關(guān)系語義,對(duì)應(yīng)的負(fù)關(guān)系集合為RT,表示原關(guān)系三元組中客體到主體的關(guān)系語義。
關(guān)系抽取中傳統(tǒng)方法對(duì)實(shí)體間關(guān)系進(jìn)行劃分,即f(ei,ej)→r,本文將關(guān)系視為主體到客體的映射函數(shù),即fr(ei)→ej。與以往方法僅使用單向關(guān)系語義不同,本文方法將客體到主體的關(guān)系語義納入模型中,將負(fù)關(guān)系視為客體到主體的映射函數(shù),即frT(ej)→ei。如圖1 所示,首先利用實(shí)體表征抽取模塊對(duì)文本中的實(shí)體進(jìn)行識(shí)別并抽取其實(shí)體表征,然后分別識(shí)別輸入實(shí)體在正關(guān)系類型與負(fù)關(guān)系類型下的客體以得到候選關(guān)系三元組,最后由候選三元組判別部分,根據(jù)候選關(guān)系三元組在正負(fù)關(guān)系下的概率分布序列輸出該候選關(guān)系三元組的最終置信度,若置信度大于閾值,則將其采納。
圖1 基于雙向語義的實(shí)體關(guān)系聯(lián)合抽取流程Fig.1 Joint extraction procedure for entity relationship based on bidirectional semantics
基于雙向語義的實(shí)體關(guān)系聯(lián)合抽取模型總體架構(gòu)是在文獻(xiàn)[3]模型的基礎(chǔ)上所提出的,BSCRE 模型首先對(duì)句子中可能存在關(guān)系的實(shí)體進(jìn)行定位并獲取其實(shí)體表征,然后同時(shí)利用正關(guān)系及負(fù)關(guān)系完成關(guān)系三元組抽取。如圖2 所示,BSCRE 模型包括文本表示層、實(shí)體表征抽取模塊、正負(fù)關(guān)系映射模塊、候選三元組判別模塊4 個(gè)部分。
圖2 BSCRE 模型架構(gòu)Fig.2 BSCRE model architecture
文本表示層采用RoBERTa 預(yù)訓(xùn)練語言模型[18]來獲取句子的語義表征,從而使得到的語義表征X=[x1,x2,…,xn]包含RoBERTa 在預(yù)訓(xùn)練階段所獲得的先驗(yàn)語義知識(shí)。
首先,將輸入的文本序列表示成向量形式,處理后字符序列中第i個(gè)字符的向量表示如式(1)所示:
其中:Wtoken(ti)、Wseg(segi)、Wpos(i)分別為token 嵌入、分句嵌入、位置嵌入。
然后,將向量表示輸入RoBERTa 中進(jìn)行編碼。RoBERTa 由12 個(gè)Transformer 模塊[19]堆疊組成,取最后一個(gè)Transformer 的輸出作為輸入句子經(jīng)過文本編碼后的結(jié)果,如式(2)所示:
通過RoBERTa 預(yù)訓(xùn)練語言模型從輸入文本Tj中獲取具有上下文信息的字符表征序列H,用于后續(xù)抽取任務(wù)。
實(shí)體表征抽取模塊根據(jù)輸入的字符表征序列,利用首尾指針識(shí)別句子中所有可能存在關(guān)系的實(shí)體位置,并根據(jù)實(shí)體位置抽取實(shí)體表征。
4.2.1 實(shí)體首尾標(biāo)注
本文模型利用兩個(gè)全連接神經(jīng)網(wǎng)絡(luò)分別對(duì)句子中所有實(shí)體的首字符和尾字符進(jìn)行標(biāo)注,從而完成實(shí)體定位。其中:一個(gè)標(biāo)注序列表示該位置字符是否為實(shí)體的首位置,如果是,則將其標(biāo)注為1,否則標(biāo)注為0;另一個(gè)同理,用于標(biāo)注實(shí)體的尾位置。首尾標(biāo)注如式(3)、式(4)所示:
4.2.2 損失函數(shù)
本文模型采用二元交叉熵作為實(shí)體首尾標(biāo)注的損失函數(shù)。實(shí)體表征抽取模塊損失函數(shù)定義如式(5)~式(7)所示。因?yàn)槲谋局袠?biāo)簽“0”的數(shù)量遠(yuǎn)比標(biāo)簽“1”多,所以將被標(biāo)注為1 的概率乘以n次方,使初始狀態(tài)更符合原始分布,加速模型收斂。
其中:pi為位置i處字符被標(biāo)注為1的概率;yi為樣本標(biāo)簽,如果i處字符被標(biāo)注為1,則yi等于1,反之等于0。
4.2.3 實(shí)體首尾位置匹配
在獲得實(shí)體的首尾位置標(biāo)注序列后,采用就近匹配原則對(duì)兩個(gè)標(biāo)注序列進(jìn)行匹配,如圖3 所示,為同時(shí)完成對(duì)句子中多個(gè)實(shí)體的識(shí)別,本文對(duì)首指針標(biāo)注序列中所有被標(biāo)注為1 的字符,均與尾指針序列中位置在該字符之后的最近被標(biāo)注為1 的字符進(jìn)行匹配,圖中箭頭指向位置即為實(shí)體首字符所對(duì)應(yīng)的尾字符,由此得到文本中的全部實(shí)體,包括“李白”“太白”“青蓮居士”“唐朝”。
圖3 實(shí)體首尾位置匹配Fig.3 Entity head and tail position match
在完成對(duì)實(shí)體位置的定位后,取字符表征序列中實(shí)體首尾位置及其中間字符表征取平均后的結(jié)果作為該實(shí)體的表征,用于后續(xù)任務(wù),如式(8)所示:
其中:i和j分別為實(shí)體e的首位置和尾位置;He為實(shí)體的向量表示。
如圖2 所示,正負(fù)關(guān)系映射模塊分別從正關(guān)系及負(fù)關(guān)系的角度,利用兩組全連接神經(jīng)網(wǎng)絡(luò)根據(jù)輸入實(shí)體獲取候選關(guān)系三元組及其概率分布序列,并將未在實(shí)體表征抽取模塊中被識(shí)別的客體重輸入關(guān)系映射器,以保證每個(gè)候選關(guān)系三元組都具備正負(fù)關(guān)系下的概率分布序列。
4.3.1 基于正負(fù)關(guān)系映射的客體識(shí)別
正負(fù)關(guān)系映射模塊如圖4 所示,將每個(gè)實(shí)體的實(shí)體表征逐個(gè)與字符表征序列相拼接作為輸入,并以該輸入實(shí)體作為主體,分別在正關(guān)系和負(fù)關(guān)系下識(shí)別其客體。正負(fù)關(guān)系映射模塊分為正關(guān)系映射器與負(fù)關(guān)系映射器,其中,正關(guān)系映射器用于識(shí)別輸入實(shí)體在每一種正關(guān)系類型下的客體,而負(fù)關(guān)系映射器用于識(shí)別輸入實(shí)體在每一種負(fù)關(guān)系類型下的客體。
圖4 正負(fù)關(guān)系映射模塊Fig.4 Positive and negative relationship mapping module
正負(fù)關(guān)系映射器利用多層指針來進(jìn)行客體位置標(biāo)注,如圖4 所示,假設(shè)文本中包含m種預(yù)定義關(guān)系類型,則經(jīng)過正負(fù)關(guān)系的擴(kuò)展后,總關(guān)系類型數(shù)為2m,為每一種關(guān)系類型建立兩個(gè)指針標(biāo)注器來對(duì)該關(guān)系下的客體進(jìn)行標(biāo)注。對(duì)于每一個(gè)輸入實(shí)體,都在2m種關(guān)系下生成與字符序列等長(zhǎng)的首尾標(biāo)注序列,并利用如前文所述的就近匹配原則對(duì)客體進(jìn)行定位。若在某關(guān)系類型的首尾標(biāo)注序列中能夠成功匹配到客體,則將此時(shí)的輸入實(shí)體匹配到的客體及該關(guān)系作為一組候選關(guān)系三元組。在獲取候選關(guān)系三元組后,根據(jù)關(guān)系映射器的輸出構(gòu)建其概率分布序列,具體過程如下:
1)訓(xùn)練樣本構(gòu)建。
在訓(xùn)練過程中,本文模型通過在句中關(guān)系三元組的所有主體和客體中隨機(jī)選擇實(shí)體的方式構(gòu)建訓(xùn)練數(shù)據(jù),如果選擇的是原關(guān)系三元組中的主體,則此條訓(xùn)練數(shù)據(jù)是正關(guān)系映射器的正樣本,同時(shí)是負(fù)關(guān)系映射器的負(fù)樣本,如果選擇的是原關(guān)系三元組中的客體,則此條訓(xùn)練數(shù)據(jù)是正關(guān)系映射器的負(fù)樣本,同時(shí)是負(fù)關(guān)系映射器的正樣本,通過這樣的設(shè)計(jì),可以保證訓(xùn)練過程中所構(gòu)建的正樣本與負(fù)樣本大體均衡。
2)客體位置標(biāo)注。
正負(fù)關(guān)系下的客體位置標(biāo)注采用兩組全連接神經(jīng)網(wǎng)絡(luò)對(duì)正負(fù)關(guān)系下的每一種關(guān)系類型進(jìn)行遍歷,從而定位輸入實(shí)體在對(duì)應(yīng)關(guān)系下的客體,如果定位成功,則將其作為一組候選關(guān)系三元組,如果不能定位到客體,則表示輸入實(shí)體在該關(guān)系類型下不存在客體。對(duì)于每一個(gè)輸入實(shí)體,均在正關(guān)系與負(fù)關(guān)系下對(duì)客體的首尾位置進(jìn)行標(biāo)注,其中,首指針用于預(yù)測(cè)句子中字符是客體起始位置的概率,尾指針用于預(yù)測(cè)句子中字符是客體終止位置的概率??腕w位置標(biāo)注如式(9)~式(12)所示:
3)候選關(guān)系三元組概率分布序列。
本文模型分別為候選關(guān)系三元組構(gòu)建在正關(guān)系與負(fù)關(guān)系下的概率分布序列,并對(duì)其進(jìn)行判別,如圖3 所示,當(dāng)輸入實(shí)體ei時(shí),通過正關(guān)系映射器中的首尾指針定位到關(guān)系類型rn下的客體ej,則將<ei,rn,ej>作為一組候選關(guān)系三元組,并將此時(shí)它在關(guān)系rn處的首指針概率分布序列與尾指針概率分布序列相加,作為此候選關(guān)系三元組在正關(guān)系下的概率分布序列。將實(shí)體ej輸入負(fù)關(guān)系映射器所得負(fù)關(guān)系類型下的首尾指針概率分布序列相加,作為候選關(guān)系三元組<ei,rn,ej>在負(fù)關(guān)系下的概率分布序列。候選關(guān)系三元組概率分布序列如式(13)、式(14)所示:
4.3.2 未登錄客體重載
由于所得候選三元組中的客體可能未在實(shí)體表征抽取模塊中被正確識(shí)別,從而導(dǎo)致候選關(guān)系三元組僅具備單向關(guān)系下的概率信息,為保證候選三元組具備正負(fù)關(guān)系下的概率信息,本文模型將檢索關(guān)系映射器所得客體是否在實(shí)體表征抽取模塊中被正確識(shí)別,如果沒有被正確識(shí)別,則將這樣的客體稱為未登錄客體,并將其重新輸入到正負(fù)關(guān)系映射器中,以確保正負(fù)關(guān)系映射模塊所得每個(gè)客體都被輸入正負(fù)關(guān)系映射器。
將未登錄客體重輸入關(guān)系映射器,主要起到以下兩個(gè)作用:1)當(dāng)一個(gè)實(shí)體作為客體出現(xiàn)卻未在實(shí)體表征抽取模塊中被正確識(shí)別時(shí),它有可能是未被實(shí)體表征抽取模塊識(shí)別出的正確樣本,同時(shí)它也有可能與另外的實(shí)體存在關(guān)系,因此,在關(guān)系映射器中識(shí)別出來的未登錄客體同樣應(yīng)當(dāng)為可能存在關(guān)系的實(shí)體,將其重新輸入正負(fù)關(guān)系映射器,有助于挖掘包含此實(shí)體的關(guān)系三元組,降低因?qū)嶓w表征抽取模塊識(shí)別不全所造成的誤差;2)如果一個(gè)關(guān)系三元組中的兩個(gè)實(shí)體僅有一個(gè)實(shí)體被實(shí)體表征抽取模塊所識(shí)別,那么此時(shí)這兩個(gè)實(shí)體所構(gòu)成的候選三元組僅具備單向關(guān)系下的概率分布序列,無法通過雙向關(guān)系對(duì)其進(jìn)行驗(yàn)證,從而導(dǎo)致判別不準(zhǔn)確。
為有效結(jié)合候選三元組在正負(fù)關(guān)系下的概率分布序列,本文采用全連接神經(jīng)網(wǎng)絡(luò)整合候選關(guān)系三元組在正關(guān)系與負(fù)關(guān)系下的概率信息,對(duì)候選關(guān)系三元組進(jìn)行判別,得出最終的關(guān)系三元組。
4.4.1 候選三元組特征向量構(gòu)建
圖5 概率分布序列Fig.5 Probability distribution sequence
4.4.2 候選三元組判別
如圖6 所示,候選三元組判別模塊將候選關(guān)系三元組的概率分布序列與首尾位置分布序列拼接并作為輸入,通過隱藏層學(xué)習(xí)候選三元組的概率信息,并利用Sigmoid 函數(shù)輸出該候選三元組的最終置信度Pspo。
圖6 判別器結(jié)構(gòu)Fig.6 Discriminator structure
在本部分所利用的主要特征為候選關(guān)系三元組中實(shí)體首尾位置處的概率值及其在概率分布序列中是否具有顯著性。當(dāng)總概率分布序列中對(duì)應(yīng)位置處的概率值均具有較高水平,即該候選關(guān)系三元組在正負(fù)關(guān)系下概率均高,則采納該候選關(guān)系三元組,如果候選關(guān)系三元組單側(cè)關(guān)系概率較低,即存在三元組中某個(gè)實(shí)體首尾位置處概率值較低的情況,則由判別器根據(jù)訓(xùn)練結(jié)果進(jìn)行判別,如果候選三元組在正負(fù)關(guān)系下的概率均較低,則進(jìn)行舍棄。
其中:W(·)為可訓(xùn)練權(quán)值;b為偏置項(xiàng)。采用二元交叉熵作為損失函數(shù)。
為了驗(yàn)證本文所提關(guān)系抽取方法的有效性,從3個(gè)方面對(duì)關(guān)系抽取模型進(jìn)行評(píng)估:首先,對(duì)利用單向關(guān)系完成關(guān)系三元組抽取與利用正負(fù)關(guān)系協(xié)同完成關(guān)系三元組抽取的準(zhǔn)確性進(jìn)行對(duì)比;然后,將本文模型與幾個(gè)基線模型進(jìn)行比較;最后,將本文模型在不同候選三元組判別器閾值下的抽取效果進(jìn)行對(duì)比。
本文采用百度DuIE 數(shù)據(jù)集[20]進(jìn)行實(shí)驗(yàn)評(píng)估,該數(shù)據(jù)集是中文領(lǐng)域的大規(guī)模信息提取數(shù)據(jù)集,包含超過21 萬條現(xiàn)實(shí)世界中的漢語語句及語句中的關(guān)系三元組,除此以外,數(shù)據(jù)集還預(yù)定義了50 種關(guān)系類型,該數(shù)據(jù)集中的所有數(shù)據(jù)均摘自百度百科及百度新聞提要。DuIE 數(shù)據(jù)集規(guī)模如表1 所示。
表1 數(shù)據(jù)集規(guī)模Table 1 Dataset size
本文實(shí)驗(yàn)采取的主要評(píng)價(jià)指標(biāo)為精確率(Precision)、召回率(Recall)、F1 值(F1 Score),用于評(píng)估模型在實(shí)體關(guān)系聯(lián)合抽取中的整體性能及預(yù)測(cè)結(jié)果。評(píng)價(jià)指標(biāo)的計(jì)算公式如下:
其中:Nout_right、Nout_all、Ntest_all分別為預(yù)測(cè)正確的三元組數(shù)量、預(yù)測(cè)的三元組總數(shù)、測(cè)試集中的三元組總數(shù)。
本文模型利用訓(xùn)練集進(jìn)行模型訓(xùn)練,通過驗(yàn)證集進(jìn)行最終評(píng)估。利用Keras 框架實(shí)現(xiàn)本文所提模型,實(shí)驗(yàn)在Windows10 系統(tǒng)的計(jì)算機(jī)上進(jìn)行,機(jī)器配置為6 核i5 處理器,16 GB 內(nèi)存,主要參數(shù)設(shè)置如表2所示。
表2 參數(shù)設(shè)置Table 2 Parameters setting
為了評(píng)估正負(fù)關(guān)系的設(shè)置對(duì)模型性能的影響,本文分別測(cè)試僅使用正關(guān)系映射器進(jìn)行關(guān)系抽取、僅使用負(fù)關(guān)系映射器進(jìn)行關(guān)系抽取以及通過正負(fù)關(guān)系映射器相結(jié)合進(jìn)行關(guān)系抽取的性能,實(shí)驗(yàn)結(jié)果如表3 所示,最優(yōu)結(jié)果加粗標(biāo)注。從中可以發(fā)現(xiàn),同時(shí)使用正負(fù)關(guān)系時(shí)模型的精確率、召回率及F1 值均高于僅使用單向關(guān)系的情況,在精確率上平均取得了1.6%的提升,這是因?yàn)檎P(guān)系與負(fù)關(guān)系所包含的語義信息不同,利用負(fù)關(guān)系映射器的結(jié)果能夠與正關(guān)系所得結(jié)果進(jìn)行相互驗(yàn)證,進(jìn)而提升精確率,同時(shí),負(fù)關(guān)系的加入也有助于緩解文本在正關(guān)系下語義特征不鮮明的情況,從而提升模型的精確率。
表3 正負(fù)關(guān)系有效性分析實(shí)驗(yàn)結(jié)果Table 3 Experimental results of positive and negative relationship validity analysis
將本文所提模型與近年來前沿的關(guān)系抽取模型進(jìn)行比較,用于比較的基線模型如下:
1)MultiR[21]是一種多實(shí)例聯(lián)合學(xué)習(xí)關(guān)系抽取模型,能夠應(yīng)用于重疊關(guān)系抽取任務(wù)。
2)CoType[22]是基于序列標(biāo)注的聯(lián)合關(guān)系抽取模型,其將實(shí)體識(shí)別和關(guān)系抽取問題統(tǒng)一為全局序列標(biāo)注問題。
3)指針標(biāo)注模型[23]利用指針標(biāo)注的方式完成關(guān)系三元組抽取,并引入共現(xiàn)實(shí)體特征和注意力機(jī)制來提升模型性能。
4)FETI[24]融合頭尾實(shí)體類別信息來完成關(guān)系三元組預(yù)測(cè),并增加對(duì)實(shí)體類別信息的約束。
5)Casrel[3]利用首尾指針 同時(shí)預(yù)測(cè)客體及它們之間的關(guān)系,能夠有效解決關(guān)系三元組的重疊問題。
6)字詞混合模型[25]通過引入字詞混合嵌入來降低中文文本分詞時(shí)由邊界切分錯(cuò)誤所導(dǎo)致的誤差,并利用分層標(biāo)記方法來解決關(guān)系重疊問題。
表4 列出了本文模型與6 個(gè)基線模型的性能比較結(jié)果,數(shù)據(jù)顯示,本文所提模型的精確率、召回率和F1 值分別為0.816、0.795 和0.805,各項(xiàng)指標(biāo)均高于基線模型,相較其他基線模型,在精確率、召回率及F1 值上平均分別提高了10.4%、14.4%和12.8%,這個(gè)提升來源于關(guān)系映射模塊學(xué)習(xí)到了雙向關(guān)系的語義信息,同時(shí)結(jié)合雙向的語義信息對(duì)所得候選關(guān)系三元組進(jìn)行判別,只有在雙向語義中均滿足一定條件的候選關(guān)系三元組才會(huì)被采納,因此具有更高的準(zhǔn)確率。此外,不論是正關(guān)系映射器還是負(fù)關(guān)系映射器所得到的客體,均有可能未在實(shí)體抽取模塊中被正確識(shí)別,本文模型通過將未登錄客體重輸入關(guān)系映射器的方式,進(jìn)一步提升模型的召回率。
表4 模型性能比較結(jié)果Table 4 Model performance comparison results
為了驗(yàn)證候選三元組判別模塊閾值對(duì)模型性能的影響,本文在不同閾值下進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果如圖7 所示。從中可以看出,當(dāng)閾值設(shè)置為0 時(shí),模型輸出的關(guān)系三元組為正負(fù)關(guān)系下的所有候選關(guān)系三元組,因此具有較低的精確率與較高的召回率,隨著閾值的提高,精確率上升而召回率下降,這是由于閾值提高時(shí)置信度較低的候選三元組被舍棄,過濾掉了較多低置信度的負(fù)例,從而導(dǎo)致精確率上升,但同時(shí)也有部分擁有低置信度的正例被舍棄,使得召回率下降。F1 值隨著閾值的提高先呈上升趨勢(shì)后呈下降趨勢(shì),當(dāng)閾值為0.41 時(shí),F(xiàn)1 值為0.805,曲線達(dá)到拐點(diǎn),此時(shí)模型效果最佳。
圖7 閾值影響分析結(jié)果Fig.7 Threshold impact analysis results
本文在分析現(xiàn)有關(guān)系抽取方法的基礎(chǔ)上,提出一種基于雙向語義的實(shí)體與關(guān)系聯(lián)合抽取模型BSCRE。首先使用預(yù)訓(xùn)練語言模型將句子轉(zhuǎn)化為字符表征序列,然后對(duì)句子中所包含的有可能存在關(guān)系的實(shí)體進(jìn)行定位并獲取其實(shí)體表征,分別從正關(guān)系與負(fù)關(guān)系的角度獲取候選關(guān)系三元組及其概率分布序列,同時(shí),對(duì)于在預(yù)測(cè)過程中出現(xiàn)的未登錄客體,將其重輸入關(guān)系映射器,以確保每個(gè)候選三元組都有其正負(fù)關(guān)系下的概率分布,最后根據(jù)正負(fù)關(guān)系下的概率分布序列對(duì)候選關(guān)系三元組進(jìn)行判別,以完成關(guān)系抽取。DuIE 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,該模型的精確率、召回率優(yōu)于MultiR、CoType 等基線模型。但是,在本文模型中,候選關(guān)系三元組的抽取效果仍然依賴于指針標(biāo)注的準(zhǔn)確性,下一步將對(duì)指針標(biāo)注方案進(jìn)行改進(jìn),如采用語義信息更為豐富的預(yù)訓(xùn)練語言模型等,從而提高關(guān)系抽取效果。