祝振赫,武 虹,高 潔,周 玉
(1.中國科學(xué)院大學(xué) 人工智能學(xué)院,北京 100049;2.中國科協(xié)創(chuàng)新戰(zhàn)略研究院,北京 100038;3.中國科學(xué)院自動(dòng)化研究所 模式識(shí)別國家重點(diǎn)實(shí)驗(yàn)室,北京 100190;4.北京中科凡語科技有限公司 凡語AI研究院,北京 100190)
隨著互聯(lián)網(wǎng)、大數(shù)據(jù)和知識(shí)圖譜等技術(shù)的發(fā)展,各行各業(yè)都在構(gòu)建自己的知識(shí)庫,以便為下游的問答、摘要等應(yīng)用提供知識(shí)的支持。文本作為重要的信息載體,包含了大量豐富的知識(shí),如百科介紹、醫(yī)院病例、企業(yè)標(biāo)書等,都包含了豐富的內(nèi)容,具有重要的應(yīng)用價(jià)值。但由于沒有統(tǒng)一規(guī)范化的寫作標(biāo)準(zhǔn),導(dǎo)致內(nèi)容形式多種多樣且多為非結(jié)構(gòu)化或半結(jié)構(gòu)化文本,為整理統(tǒng)計(jì)的工作帶來很大的挑戰(zhàn),并難以直接應(yīng)用于下游任務(wù)中。如何從這類非結(jié)構(gòu)化文本中獲取蘊(yùn)含的知識(shí)成為了一項(xiàng)重要的研究課題。信息抽取(Information Extraction,IE)是自然語言處理領(lǐng)域中一個(gè)非常重要的任務(wù)。該任務(wù)主要是從非結(jié)構(gòu)化或半結(jié)構(gòu)化文本中抽取出用戶所需要的信息,如命名實(shí)體、實(shí)體關(guān)系及事件等,并以結(jié)構(gòu)化的形式輸出,以便于支持下游任務(wù)的應(yīng)用[1]。
關(guān)系抽取(Relation Extraction,RE)作為信息抽取的主要子任務(wù)之一,主要目標(biāo)是從非結(jié)構(gòu)化文本中抽取出有關(guān)的兩個(gè)實(shí)體及實(shí)體間的關(guān)系,構(gòu)成關(guān)系三元組的結(jié)構(gòu)化形式。通常形式化描述為
基于傳統(tǒng)的機(jī)器學(xué)習(xí)的關(guān)系抽取方法主要通過領(lǐng)域?qū)<抑贫▽?shí)體關(guān)系范式,通過統(tǒng)計(jì)和規(guī)則等方法進(jìn)行抽取。Miller等人[3]通過訓(xùn)練增強(qiáng)解析樹來表示句子的語義信息,再對(duì)不同關(guān)系類型設(shè)計(jì)模式匹配規(guī)則來進(jìn)行抽取。Zelenko等人[4]用核函數(shù)及支持向量機(jī)的方法進(jìn)行關(guān)系抽取。傳統(tǒng)的關(guān)系抽取方法具有準(zhǔn)確率高的優(yōu)點(diǎn),當(dāng)文本滿足規(guī)則條件后,就能夠抽取出想要的信息。但傳統(tǒng)的關(guān)系抽取方法依賴人工設(shè)計(jì)特征和抽取規(guī)則,需要大量成本,并難以覆蓋所有情況,因此該方法的泛化能力較差。
隨著深度學(xué)習(xí)的興起,大量的深度學(xué)習(xí)方法被應(yīng)用到了關(guān)系抽取中。許多經(jīng)典的關(guān)系抽取方法都是使用監(jiān)督學(xué)習(xí)來獲得較好的性能表現(xiàn),因?yàn)楸O(jiān)督學(xué)習(xí)能夠更有效地讓模型抽取到特征,從而提高準(zhǔn)確率和召回率。但是在一些特定領(lǐng)域,由于難以獲取大規(guī)模標(biāo)注數(shù)據(jù),導(dǎo)致監(jiān)督學(xué)習(xí)的成本大大增加,在應(yīng)用中通常使用基于啟發(fā)式規(guī)則的無監(jiān)督方法和遠(yuǎn)程監(jiān)督等半監(jiān)督方法。
網(wǎng)絡(luò)中的文本形式多樣,許多的半結(jié)構(gòu)化文本都包含著一定的實(shí)體和關(guān)系的知識(shí)。如百科類網(wǎng)頁大多都詳細(xì)介紹了一個(gè)實(shí)體的信息,通常都包含關(guān)于該實(shí)體的一段描述及其基本信息表?;拘畔⒈硪话惚环Q為Infobox,其中包含了許多和該實(shí)體有關(guān)的屬性和其他實(shí)體。這種半結(jié)構(gòu)化文本也經(jīng)常作為構(gòu)建知識(shí)圖譜和遠(yuǎn)程監(jiān)督實(shí)體關(guān)系抽取數(shù)據(jù)集的直接數(shù)據(jù)來源[5]。許多基于遠(yuǎn)程監(jiān)督的實(shí)體關(guān)系抽取方法都通過Infobox構(gòu)建的知識(shí)圖譜來實(shí)現(xiàn)。如百度百科“戰(zhàn)狼”頁面的基本信息中的句子“《戰(zhàn)狼》是由吳京執(zhí)導(dǎo)的現(xiàn)代軍事戰(zhàn)爭(zhēng)片,該片由吳京、余男、倪大紅、斯科特·阿金斯、周曉鷗等主演”,可以和Infobox中的“導(dǎo)演:吳京”條目構(gòu)成一個(gè)實(shí)體關(guān)系抽取任務(wù)的標(biāo)簽數(shù)據(jù),原句的一個(gè)實(shí)體關(guān)系元組為<戰(zhàn)狼,導(dǎo)演,吳京>。像這種從表格文本以及通過句法規(guī)則獲取的實(shí)體關(guān)系三元組都包含了一定的內(nèi)在知識(shí),如何利用這些內(nèi)在知識(shí)對(duì)于實(shí)體關(guān)系聯(lián)合抽取十分重要。
該文提出一種基于深度學(xué)習(xí)的融合外部知識(shí)的生成式實(shí)體關(guān)系聯(lián)合抽取方法,對(duì)于一些難以獲取大規(guī)模標(biāo)注數(shù)據(jù)的特定領(lǐng)域,通過在訓(xùn)練時(shí)引入一些典型規(guī)則所抽取的結(jié)果作為額外知識(shí)幫助模型從文本中抽取到更準(zhǔn)確全面的信息。模型采用多編碼器框架,采用知識(shí)自注意力機(jī)制對(duì)外部知識(shí)進(jìn)行編碼。在解碼過程中,采用跨知識(shí)注意力方法,融合知識(shí)編碼器的隱層向量得到解碼隱層狀態(tài),進(jìn)而生成實(shí)體和關(guān)系序列。實(shí)驗(yàn)結(jié)果表明,所提方法能夠通過融合外部知識(shí),提升實(shí)體關(guān)系三元組的準(zhǔn)確率,尤其提升模型在標(biāo)注數(shù)據(jù)稀缺場(chǎng)景下的抽取準(zhǔn)確率。
關(guān)系抽取任務(wù)從領(lǐng)域上可分為限定域關(guān)系抽取和開放域關(guān)系抽取,其區(qū)別在于是否對(duì)關(guān)系類別進(jìn)行制定。限定域關(guān)系抽取需要事先確定關(guān)系類別,而開放域關(guān)系抽取的關(guān)系直接從原文本中抽取獲得。限定域關(guān)系抽取的優(yōu)勢(shì)是所抽取的關(guān)系明確,但是無法抽取到所制定關(guān)系類別以外的關(guān)系。開放域關(guān)系抽取能夠抽取到更多的關(guān)系類別,但經(jīng)常會(huì)抽取到不準(zhǔn)確或無意義的關(guān)系。
基于深度學(xué)習(xí)的關(guān)系抽取方法主要分為流水線(Pipeline)式抽取方法和聯(lián)合(Joint)式抽取方法兩種。流水線式方法一般是先對(duì)文本進(jìn)行命名實(shí)體識(shí)別,找出文本中所有的命名實(shí)體,然后再將這些命名實(shí)體兩兩配對(duì)進(jìn)行關(guān)系分類。這種流水線抽取方法通常用于限定域關(guān)系抽取,其關(guān)系預(yù)測(cè)階段是一個(gè)多分類任務(wù),所以無法抽取到定義好的關(guān)系以外的其他關(guān)系。并且由于分成了兩個(gè)任務(wù),在實(shí)體識(shí)別時(shí)往往會(huì)依賴其他自然語言處理工具,從而導(dǎo)致誤差傳播的問題,對(duì)模型性能會(huì)造成一定的影響。當(dāng)時(shí)普遍認(rèn)為流水線抽取方法不如聯(lián)合抽取方法好,但Zhong等人[6]在流水線模型的基礎(chǔ)上使用了一種簡(jiǎn)單的方法就達(dá)到了當(dāng)時(shí)的最好性能。他們?cè)趯?shí)體識(shí)別結(jié)束后對(duì)原句進(jìn)行重構(gòu),將抽取到的頭尾實(shí)體及其類別信息加入到句子當(dāng)中,然后進(jìn)行關(guān)系分類的判別??梢娫陉P(guān)系抽取時(shí)引入額外信息有助于模型的學(xué)習(xí)。聯(lián)合抽取方法是同時(shí)完成實(shí)體和實(shí)體間關(guān)系的抽取任務(wù),通過利用實(shí)體和關(guān)系的關(guān)聯(lián)信息來提高模型性能[7]。Wei等人[8]用多任務(wù)學(xué)習(xí)的方式,讓實(shí)體和關(guān)系共享一個(gè)編碼器(Encoder),再由兩個(gè)解碼器(Decoder)分別解碼得到實(shí)體和關(guān)系。Zheng等人[9]將實(shí)體關(guān)系聯(lián)合抽取任務(wù)轉(zhuǎn)換為序列標(biāo)注任務(wù),使用BIO(B-begin,I-inside,O-outside)序列標(biāo)注的方法對(duì)三元組進(jìn)行整體建模,通過端到端模型對(duì)句子進(jìn)行編碼后預(yù)測(cè)每個(gè)單詞所屬標(biāo)簽類別,將臨近的頭尾實(shí)體及關(guān)系合并為需要抽取的三元組,取得了不錯(cuò)效果。但這種序列標(biāo)注的方法無法處理實(shí)體嵌套的問題。Li等人[10]則是將聯(lián)合關(guān)系抽取任務(wù)轉(zhuǎn)換成多輪問答任務(wù),通過在輸入中加入問題來引入實(shí)體關(guān)系信息,再由模型預(yù)測(cè)出答案,即文本中能夠作為答案片段的起始結(jié)束位置。Cui等人[11]采用序列到序列(Sequence-to-Sequence,Seq2Seq)模型,將實(shí)體關(guān)系標(biāo)記作為單詞加入詞典,通過編碼器對(duì)文本進(jìn)行編碼,再由解碼器直接解碼輸出帶有實(shí)體關(guān)系標(biāo)記的三元組文本序列。
該文提出一種基于Seq2Seq的融合知識(shí)的多源關(guān)系抽取方法,通過引入規(guī)則抽取的三元組作為額外提示信息,幫助模型從文本中抽取出更準(zhǔn)確全面的實(shí)體關(guān)系三元組。該方法能夠有效利用規(guī)則知識(shí),對(duì)于領(lǐng)域的遷移性較強(qiáng),對(duì)于缺乏標(biāo)注數(shù)據(jù)的領(lǐng)域,只需要利用簡(jiǎn)單的領(lǐng)域知識(shí)來制定一些典型規(guī)則進(jìn)行抽取,抽取結(jié)果即可作為額外知識(shí)輔助模型,從而達(dá)到比直接使用Seq2Seq模型和單靠規(guī)則抽取都要好的效果,減少了人工定制復(fù)雜規(guī)則的成本。
采用類似Cui等人[11]的方法,輸入為一段文本和使用規(guī)則抽取出的關(guān)系元組文本,關(guān)系元組通過表示實(shí)體和關(guān)系的特殊字符進(jìn)行標(biāo)記后拼接成字符串,比如“ ”。模型通過對(duì)文本和關(guān)系元組信息進(jìn)行預(yù)測(cè)得到的所有可能三元組,并以相同方式將所有預(yù)測(cè)關(guān)系三元組進(jìn)行拼接作為一個(gè)字符串輸出。
該文所面對(duì)的從網(wǎng)頁文本中抽取所有可能實(shí)體關(guān)系這一任務(wù)的整體架構(gòu)如圖1所示。輸入為來自網(wǎng)頁的原始文本,通過預(yù)處理操作去除非正文等噪聲信息,得到純文本后使用基于領(lǐng)域知識(shí)制定的簡(jiǎn)單規(guī)則對(duì)文本進(jìn)行關(guān)系抽取,得到后續(xù)作為提示信息的三元組,并用特殊字符標(biāo)識(shí)拼接為字符序列。然后用編碼器-解碼器模型對(duì)文本和根據(jù)規(guī)則抽取得到的三元組字符串進(jìn)行預(yù)測(cè),輸出所有可能關(guān)系元組構(gòu)成的字符序列。
圖1 多源關(guān)系抽取方法整體架構(gòu)
對(duì)于百科類的文本使用Infobox等結(jié)構(gòu)化文本匹配和基于依存句法分析的模式匹配規(guī)則進(jìn)行抽取。利用哈工大語言技術(shù)平臺(tái)(Language Technology Platform,LTP)對(duì)文本進(jìn)行依存句法分析,然后選取Jia等人[12]提出的依存語義范式進(jìn)行關(guān)系抽取。對(duì)于類似企業(yè)標(biāo)書等特殊文體的文本,則依據(jù)領(lǐng)域知識(shí)采用正則表達(dá)式、關(guān)鍵字匹配以及表格解析等方法進(jìn)行抽取。將得到的實(shí)體對(duì)及實(shí)體間關(guān)系用特殊字符標(biāo)記后組成一個(gè)形如“ ”的字符串。其中“”中間的為頭實(shí)體,“”中間的是尾實(shí)體,“”之間的是頭尾實(shí)體間關(guān)系。
該文將上述方法抽取得到的實(shí)體關(guān)系元組信息作為每個(gè)句子的局部知識(shí),利用知識(shí)編碼器學(xué)習(xí)背后的模式、規(guī)則等全局知識(shí)來指導(dǎo)模型抽取,從而提高實(shí)體關(guān)系聯(lián)合抽取的準(zhǔn)確率。
基礎(chǔ)模型選用的是經(jīng)典的Seq2Seq模型Transformer[13],在其原有架構(gòu)上進(jìn)行改動(dòng),以引入額外知識(shí)。在其原有編碼器的基礎(chǔ)上再增加一個(gè)知識(shí)編碼器,同樣使用自注意力機(jī)制對(duì)引入的知識(shí)進(jìn)行編碼,從而獲得文本中的局部知識(shí)信息。將文本編碼和知識(shí)編碼一同送入解碼器中。在解碼器增加一個(gè)解碼知識(shí)的注意力層,用于解碼出更類似引入知識(shí)的三元組,從而達(dá)到對(duì)知識(shí)的學(xué)習(xí)。模型結(jié)構(gòu)如圖2所示。
圖2 多源關(guān)系抽取模型結(jié)構(gòu)
2.4.1 知識(shí)提取器
面對(duì)特定領(lǐng)域的具體任務(wù),首先利用相關(guān)領(lǐng)域知識(shí)構(gòu)建一個(gè)知識(shí)提取器,作為該領(lǐng)域全局知識(shí)。知識(shí)提取器通過使用規(guī)則從文本中抽取實(shí)體關(guān)系元組以及根據(jù)表格信息匹配對(duì)應(yīng)句子等方法獲取和該句子有關(guān)的局部知識(shí),作為輸入模型的額外知識(shí)信息。
2.4.2 文本編碼器
輸入為句子X=(x1,x2,…,xn),通過詞嵌入和位置編碼操作后得到句子嵌入EX=(ex1,ex2,…,exn)。輸入文本編碼器后得到輸入句子的上下文向量HX=(hx1,hx2,…,hxn)
HX=TextEncoder(EX)
(1)
2.4.3 知識(shí)編碼器
對(duì)知識(shí)提取器得到的和句子相關(guān)的知識(shí)進(jìn)行特殊標(biāo)記處理拼接后形成知識(shí)序列K=(k1,k2,…,km),通過詞嵌入和位置編碼操作得到知識(shí)嵌入EK=(ek1,ek2,…,ekm)。輸入知識(shí)編碼器后得到知識(shí)的上下文向量HK=(hk1,hk2,…,hkm)
HK=KnowledgeEncoder(EK)
(2)
2.4.4 解碼器
在解碼階段首先將目標(biāo)三元組序列T=(t1,t2,…,ts)作為解碼器的輸入,同樣經(jīng)過詞嵌入和位置編碼后得到目標(biāo)元組序列嵌入ET=(et1,et2,…,ets)。在注意力層將ET經(jīng)過自注意力機(jī)制得到的目標(biāo)序列隱層狀態(tài)HT先后與HX和HK計(jì)算交叉注意力,得到融合知識(shí)后的解碼器輸出的隱層狀態(tài)HO。
HT=SelfAttention(ET)
(3)
HTX=CrossAttention(HT,HX)
(4)
HO=CrossAttention(HK,HTX)
(5)
其中,HTX為解碼器輸入的上下文向量和編碼器輸入的三元組上下文向量做交叉注意力所得到的包含目標(biāo)三元組和輸入三元組注意力的上下文向量。
將HO經(jīng)過線形層和softmax計(jì)算得到輸出單詞的概率P:
P=softmax(WlHO)
(6)
其中,Wl為線性層的權(quán)重矩陣。
最后根據(jù)詞表輸出生成的序列Y=(y1,y2,…,yn)。
首先使用純文本和所有抽取出的實(shí)體關(guān)系三元組作為編碼器和解碼器的輸入單獨(dú)訓(xùn)練一個(gè)Transformer模型并在訓(xùn)練好之后將各層參數(shù)固定。再用純文本和部分抽取實(shí)體作為模型編碼器輸入,所有實(shí)體關(guān)系三元組作為解碼器輸入進(jìn)行訓(xùn)練,訓(xùn)練過程中僅更新知識(shí)編碼器以及目標(biāo)三元組和知識(shí)交叉注意力模塊的參數(shù)。
目標(biāo)函數(shù)如公式(7)所示,根據(jù)給定輸入句子X、外部知識(shí)K以及用標(biāo)注數(shù)據(jù)訓(xùn)練得到的Transformer參數(shù)θX來生成目標(biāo)序列Y,采用最大似然估計(jì),提升真實(shí)樣本Y的似然概率。
(7)
其中,θK為知識(shí)編碼器和知識(shí)交叉注意力層的參數(shù)。θx為其余參數(shù),D={(X,Y)}表示監(jiān)督數(shù)據(jù)集,其中X為句子序列,Y為實(shí)體-關(guān)系序列,K為全局知識(shí)圖譜,Kx為與句子相關(guān)的局部知識(shí)圖譜。M為實(shí)體-關(guān)系序列Y的字符個(gè)數(shù)。y3 實(shí)驗(yàn)部分
3.1 數(shù)據(jù)集
Seq2Seq模型的一個(gè)優(yōu)點(diǎn)是比較靈活,能夠通過對(duì)生成序列進(jìn)行特殊構(gòu)造來完成多種不同的任務(wù)。因此,該文分別在開放域和限定域兩個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。
實(shí)驗(yàn)所使用的兩個(gè)數(shù)據(jù)集,一個(gè)是通用百科領(lǐng)域的數(shù)據(jù)集SpanSAOKE,由Lyu等[14]制作,處理后包含26 481個(gè)中文句子以及53 774個(gè)實(shí)體關(guān)系三元組。其數(shù)據(jù)來源為百度發(fā)布的符號(hào)輔助開放知識(shí)表達(dá)(Symbolic Aided Open Knowledge Expression,SAOKE)[15]數(shù)據(jù)集。該數(shù)據(jù)集是中文開放域信息抽取的大規(guī)模句子級(jí)數(shù)據(jù)集,其中每個(gè)句子都是人工標(biāo)記的,并采用統(tǒng)一的知識(shí)表示格式來表達(dá)句子中所包含的事實(shí)。
另一個(gè)是采招網(wǎng)(https://www.bidcenter.com.cn/)上的標(biāo)書網(wǎng)頁文本共獲取了20 951篇,經(jīng)過去除HTML標(biāo)簽、JavaScript、CSS等代碼文本以及特殊符號(hào)等數(shù)據(jù)清洗處理后得到僅包含正文的標(biāo)書文本。根據(jù)需求及對(duì)標(biāo)書格式的認(rèn)知制定一系列規(guī)則對(duì)標(biāo)書內(nèi)容進(jìn)行抽取,實(shí)體類別包括招標(biāo)方名稱、供應(yīng)商名稱、招標(biāo)代理機(jī)構(gòu)名稱、預(yù)算金額、產(chǎn)品名稱等24種類別。按模型設(shè)定的256最大文本長度進(jìn)行切分后得到總計(jì)71 695份原文本和事實(shí)元組的句對(duì)。將數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,見表1。
表1 數(shù)據(jù)集統(tǒng)計(jì)信息
其中,SpanSAOKE為開放域關(guān)系抽取數(shù)據(jù)集,不限制關(guān)系類別,關(guān)系均從原文中抽取得到。Bid-Docs為爬取的標(biāo)書文本數(shù)據(jù)集。訓(xùn)練集和驗(yàn)證集為通過復(fù)雜的網(wǎng)頁爬取規(guī)則進(jìn)行自動(dòng)化標(biāo)注,測(cè)試集為自動(dòng)標(biāo)注后進(jìn)行人工校驗(yàn)得到。由于該數(shù)據(jù)集比較特殊,以標(biāo)書本身為頭實(shí)體,只抽取關(guān)系和對(duì)應(yīng)尾實(shí)體,因此標(biāo)注時(shí)使用特殊字符“”標(biāo)注關(guān)系,“”標(biāo)注尾實(shí)體。
實(shí)驗(yàn)使用F1值作為評(píng)價(jià)指標(biāo)并采用涂飛明等人[16]在實(shí)驗(yàn)中所用的兩種計(jì)算方式,一個(gè)是完全匹配(Exact Match,EM),對(duì)于抽取出的關(guān)系三元組,只有當(dāng)預(yù)測(cè)的頭實(shí)體、尾實(shí)體及實(shí)體間關(guān)系完全和標(biāo)準(zhǔn)答案相同時(shí)才算是一個(gè)正確的抽取結(jié)果。另一個(gè)是最長公共子串(Longest Common Substring,LCS),下面為具體計(jì)算方法:
考慮到模型生成多個(gè)三元組的數(shù)量和順序不固定,因此先對(duì)答案和預(yù)測(cè)結(jié)果的三元組序列按三元組拆分后進(jìn)行排序。對(duì)于答案中的每一個(gè)三元組,使用LCS長度在預(yù)測(cè)結(jié)果中找到其關(guān)聯(lián)性最高的三元組,找到的所有三元組按答案順序拼接,預(yù)測(cè)中多余的三元組直接按原順序拼接在后面,形成和答案最相近的序列。然后以新得到的序列和標(biāo)準(zhǔn)答案三元組序列求出二者的最長公共子串LCS,然后用LCS的長度作為預(yù)測(cè)正確的序列長度,分別與預(yù)測(cè)結(jié)果序列長度和標(biāo)準(zhǔn)答案序列長度計(jì)算精確率P和召回率R,最后利用公式(8)計(jì)算F1值。這兩種計(jì)算方法分別反映了模型預(yù)測(cè)結(jié)果的精確匹配度和模糊匹配度。在計(jì)算LCS時(shí)去掉了“”等用于表示頭尾實(shí)體及關(guān)系的特殊符號(hào)。
(8)
使用EM指標(biāo)時(shí)的精確率P和召回率R的計(jì)算公式分別為:
(9)
(10)
其中,TC為預(yù)測(cè)正確的三元組數(shù)量,TP為預(yù)測(cè)三元組總數(shù)量,TG為標(biāo)準(zhǔn)答案三元組總數(shù)量。
使用LCS指標(biāo)時(shí)的精確率P和召回率R的計(jì)算公式分別為:
(11)
(12)
其中,LLCS為預(yù)測(cè)結(jié)果序列和標(biāo)準(zhǔn)答案序列的LCS的長度,LP為預(yù)測(cè)序列長度,LG為標(biāo)準(zhǔn)答案序列長度。
操作系統(tǒng)是Ubuntu16.04.7,編程語言為Python3.7,深度學(xué)習(xí)框架為Pytorch1.8.1,句子最大長度設(shè)定為256,知識(shí)編碼器以及知識(shí)交叉注意力層和Transformer的編碼器及解碼器一樣為6層,多頭注意力的頭數(shù)為8個(gè)。
融合知識(shí)的關(guān)系抽取方法在SpanSAOKE和從網(wǎng)頁獲取的標(biāo)書文本兩個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果分別如表2和表3所示,其中Transformer為基于注意力機(jī)制的Seq2Seq模型,使用自注意力機(jī)制的編碼器對(duì)輸入文本進(jìn)行編碼,再通過自回歸的解碼器解碼出目標(biāo)序列。MGD-GNN[14]是一個(gè)基于字符級(jí)的流水線式開放域關(guān)系抽取模型,通過構(gòu)建單詞和字符之間的依賴關(guān)系圖來引入依存句法信息以及分詞信息,利用圖神經(jīng)網(wǎng)絡(luò)對(duì)其進(jìn)行編碼得到最終每個(gè)字符的表示,然后分別預(yù)測(cè)每個(gè)連續(xù)字符子序列為關(guān)系的概率,最后為每個(gè)得到的關(guān)系預(yù)測(cè)其對(duì)應(yīng)的頭尾實(shí)體。KGMS為文中模型。由于標(biāo)書數(shù)據(jù)集比較特殊,只抽取關(guān)系和尾實(shí)體的二元組,因此現(xiàn)有關(guān)系抽取方法不太適用,故只和未融合知識(shí)的Transformer進(jìn)行比較。
表2 SpanSAOKE實(shí)驗(yàn)結(jié)果
表3 標(biāo)書文本實(shí)驗(yàn)結(jié)果
在SpanSAOKE數(shù)據(jù)集上,相比之下MGD-GNN因?yàn)槭菍?duì)句子的每個(gè)連續(xù)字符子序列進(jìn)行預(yù)測(cè),所以抽取到了最多的關(guān)系元組,具有最高的召回率。但其預(yù)測(cè)正確的元組數(shù)量沒有KGMS所抽取的多,并且對(duì)于沒有完全匹配的關(guān)系元組,KGMS也得到了更接近答案的結(jié)果。由此可見,KGMS在抽取時(shí)參考了輸入元組所包含的規(guī)則信息,使得抽取更具有針對(duì)性,從而提高了完全匹配的精確率和召回率。
在標(biāo)書文本上,KGMS在引入知識(shí)信息后性能有所提升,但整體表現(xiàn)都不好,分析可能是因?yàn)榫W(wǎng)頁標(biāo)書格式比較多樣,且有一些表格,導(dǎo)致爬取后的數(shù)據(jù)十分雜亂,且難以通過預(yù)處理進(jìn)行修整。由于標(biāo)書文本形式比較特殊,默認(rèn)將標(biāo)書題目作為所有要抽取的關(guān)系元組的頭實(shí)體,在抽取時(shí)僅抽取定義的關(guān)系及對(duì)應(yīng)尾實(shí)體。很多時(shí)候定義的關(guān)系并未出現(xiàn)在原文中,需要模型根據(jù)上下文來判斷實(shí)體所屬類型,而上下文信息又往往比較零碎,嚴(yán)重影響了模型的特征提取。
Text:網(wǎng)游公司的地推人員通常分為兩類:一類是正式招聘,多為大學(xué)生;
Gold:<地推人員,分為,兩類><一類,是,正式招聘><地推人員,多為,大學(xué)生>
Pattern Matching:<地推人員,多為,大學(xué)生><網(wǎng)游公司地推人員,分為,兩類>
Transformer:<網(wǎng)游公司的地推人員,通常分為,兩類><一類,是,正式招聘><多,為,大學(xué)生>
MGD-GNN:<網(wǎng)游公司的地推人員,通常分為,兩類><一類,是,正式招聘><網(wǎng)游公司的地推人員,多為,大學(xué)生>
KGMS:<地推人員,多為,大學(xué)生><地推人員,分為,兩類><網(wǎng)游公司推司,分為,兩類>
如上所示,相比之下Transformer和MGD-GNN所抽取的實(shí)體都包含了修飾語,而從標(biāo)準(zhǔn)答案來看顯然是不希望修飾語出現(xiàn)的。Pattern Matching為通過規(guī)則獲取的作為額外知識(shí)的三元組。其中包含了有修飾語和無修飾語的實(shí)體,使得KGMS在引入知識(shí)后嘗試將兩種類型都抽取出來。但由于Pattern Matching沒有關(guān)于“一類是正式招聘”,從而導(dǎo)致KGMS忽略了這部分。由此可說明引入的知識(shí)對(duì)實(shí)體關(guān)系抽取有比較大的影響,可以通過對(duì)額外知識(shí)的設(shè)計(jì),引入更多更符合需求的知識(shí)來對(duì)模型的抽取行為進(jìn)行引導(dǎo),從而提升模型的性能。
該文提出了一種融合外部知識(shí)的實(shí)體關(guān)系聯(lián)合抽取方法,采用多編碼和知識(shí)注意力機(jī)制,將句法結(jié)構(gòu)和結(jié)構(gòu)化信息等外部知識(shí)融入編碼解碼框架的模型來生成實(shí)體和關(guān)系序列,從而提高模型的準(zhǔn)確率。實(shí)驗(yàn)結(jié)果顯示,在開放域和限定域的數(shù)據(jù)集上的表現(xiàn)均有所提升,可以提升抽取準(zhǔn)確率。對(duì)于一些標(biāo)注數(shù)據(jù)稀缺場(chǎng)景是有效的提升方法,同時(shí)規(guī)則的制定可以讓模型更好地具有領(lǐng)域適應(yīng)性。在今后的工作中將使用預(yù)訓(xùn)練模型作為基礎(chǔ)模型,并構(gòu)建更完善的數(shù)據(jù)集來探究該方法。