李智杰,韓瑞瑞,李昌華,張 頡,石昊琦
西安建筑科技大學(xué) 信息與控制工程學(xué)院,西安710055
知識(shí)圖譜[1]一詞在2012 年被Google 公司首次提出,它是一個(gè)結(jié)構(gòu)化的語義知識(shí)庫,可以組織海量信息,用于描述客觀世界中的概念以及它們之間存在的關(guān)系。知識(shí)圖譜不僅在語義搜索、深度問答等通用領(lǐng)域發(fā)揮著重要作用,在金融、醫(yī)療、城市規(guī)劃等垂直領(lǐng)域中也有著廣闊的應(yīng)用前景[2]。知識(shí)圖譜的構(gòu)成單位是關(guān)系三元組,因此從非結(jié)構(gòu)化文本中抽取出關(guān)系三元組對(duì)構(gòu)建知識(shí)圖譜十分重要。
實(shí)體關(guān)系抽取任務(wù)的提出就是為了解決關(guān)系三元組抽取問題。例如,在句子“姚明出生于上?!敝?,可以提取出關(guān)系三元組(姚明,出生于,上海),其中“姚明”和“上?!狈謩e稱為頭實(shí)體和尾實(shí)體,“出生于”稱為這兩個(gè)實(shí)體之間的關(guān)系。實(shí)體關(guān)系抽取任務(wù)最初采用基于規(guī)則和模板的方法[3],由于人工和時(shí)間等因素的限制,逐漸發(fā)展為基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的方法[4]。近年來,由于深度學(xué)習(xí)發(fā)展迅速,基于深度學(xué)習(xí)構(gòu)建實(shí)體關(guān)系抽取模型已成為信息抽取領(lǐng)域新的研究方向[5],這一方向認(rèn)為抽取任務(wù)應(yīng)被劃分為流水線方法和聯(lián)合學(xué)習(xí)方法,這兩種方法都基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)、長短時(shí)記憶網(wǎng)絡(luò)(long short-term memory,LSTM)這三種網(wǎng)絡(luò)架構(gòu)進(jìn)行組織和擴(kuò)展[6]。流水線方法是在已經(jīng)抽取出實(shí)體的基礎(chǔ)上,對(duì)每個(gè)實(shí)體對(duì)之間的關(guān)系進(jìn)行分類的方法。雖然采用流水線的方式會(huì)使每個(gè)子任務(wù)更加集中,更容易解決問題,但兩個(gè)子任務(wù)之間的完全分離可能會(huì)遇到錯(cuò)誤傳播問題,同時(shí)也忽略了它們之間的相互依賴性[7]。聯(lián)合學(xué)習(xí)方法是指在執(zhí)行兩個(gè)子任務(wù)時(shí),使用同一個(gè)編碼層,聯(lián)合檢測(cè)實(shí)體及其關(guān)系。聯(lián)合學(xué)習(xí)方法能夠?qū)W習(xí)到實(shí)體和關(guān)系之間潛在的聯(lián)系,從而在兩個(gè)子任務(wù)中獲得更好的性能。
目前多數(shù)聯(lián)合抽取模型使用BERT(bidirectional encoder representations from transformers)[8]進(jìn)行預(yù)訓(xùn)練,它能為聯(lián)合模型提供一種通用的融合上下文信息的詞向量表示。隨著自然語言處理任務(wù)的發(fā)展,研究人員對(duì)BERT 進(jìn)行了一系列改進(jìn),RoBERTa(robustly optimized BERT pretraining approach)[9]是其中一種變體,相比原生BERT,RoBERTa 預(yù)訓(xùn)練模型使用了更多的數(shù)據(jù)集并且訓(xùn)練得更加充分。盡管之前的實(shí)體關(guān)系抽取工作已經(jīng)取得了很大的成功,但在以往的多數(shù)模型中,關(guān)系都被看作需要分配給實(shí)體對(duì)的離散標(biāo)簽。事實(shí)上,在提取出的所有實(shí)體對(duì)之間,大多都沒有形成有效的關(guān)系,這導(dǎo)致了很多負(fù)樣本的產(chǎn)生。另外,如果沒有足夠的訓(xùn)練樣本,分類器很難判斷實(shí)體參與的關(guān)系,導(dǎo)致重疊關(guān)系三元組提取不完整。因此,本文提出一種JPEA模型(joint model based on pre-trained encoder and attention mechanism)。本文的工作主要包括以下幾點(diǎn):
(1)針對(duì)此前大多數(shù)實(shí)體關(guān)系抽取方法在語義特征表示和重疊關(guān)系提取方面的缺陷,提出了融合預(yù)訓(xùn)練模型和注意力的聯(lián)合抽取模型JPEA。
(2)為了更準(zhǔn)確地抽取出頭實(shí)體,將預(yù)訓(xùn)練模型編碼的結(jié)果輸入BiLSTM 網(wǎng)絡(luò)和自注意力機(jī)制進(jìn)行深層次特征提取,獲得更細(xì)粒度的語義。
(3)為了增強(qiáng)兩個(gè)標(biāo)記模塊的依賴性,將提取的頭實(shí)體特征作為條件信息,利用CNN 和注意力模塊融合到句子特征向量中,為關(guān)系及尾實(shí)體的標(biāo)記增強(qiáng)實(shí)體表達(dá)能力。
(4)分別在公開的數(shù)據(jù)集紐約時(shí)報(bào)(the New York Times,NYT)和WebNLG(Web natural language generation)上針對(duì)不同預(yù)訓(xùn)練模型進(jìn)行測(cè)試,實(shí)驗(yàn)表明,不同預(yù)訓(xùn)練模型下JPEA 模型的各項(xiàng)評(píng)價(jià)指標(biāo)均有較好的表現(xiàn),F(xiàn)1值最高分別可達(dá)到92.4%和92.9%。
根據(jù)實(shí)體關(guān)系抽取的發(fā)展來看,該任務(wù)主要可以分為基于規(guī)則和模板的方法、基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的方法和基于深度學(xué)習(xí)的方法。
實(shí)體關(guān)系抽取任務(wù)最初通常采用基于規(guī)則和模板的方法[10],在該傳統(tǒng)方法中,語法和語義規(guī)則往往需要通過人工構(gòu)造的方式獲取。這種方式有兩個(gè)明顯的缺點(diǎn):(1)一般只有對(duì)特定領(lǐng)域有深入認(rèn)知的人員才有資格手動(dòng)編寫模板和規(guī)則,這會(huì)造成大量的人力和資源消耗;(2)手動(dòng)制定的規(guī)則具有較差的可移植性,一般難以拓展到其他領(lǐng)域。
通過早期的相關(guān)研究結(jié)果可以發(fā)現(xiàn),以特征工程為核心的有監(jiān)督抽取方法是實(shí)施基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的抽取方法的主流[11]。這類方法雖然理論基礎(chǔ)已經(jīng)趨于完善,但是仍然離不開人力的參與,適合用于模型訓(xùn)練的特征集仍需要通過大量的特征工程人工篩選獲得。因此,近些年來學(xué)術(shù)界的研究重點(diǎn)轉(zhuǎn)向了半監(jiān)督和無監(jiān)督的抽取方法。Shinyama 等人[12]提出了搶占式信息提取的概念,其關(guān)鍵在于找到文本中多個(gè)實(shí)體之間的并行對(duì)應(yīng)關(guān)系,并使用聚類的方式抽取信息。Carlson等人[13]提出的耦合分類和關(guān)系實(shí)例抽取器的半監(jiān)督學(xué)習(xí)方式,能夠預(yù)防與引導(dǎo)學(xué)習(xí)方法相關(guān)的語義漂移問題,提高抽取精度。Zhang等人[14]提出了基于MBL(memory-based learning)的統(tǒng)一框架,采用無監(jiān)督學(xué)習(xí)方法,實(shí)現(xiàn)了對(duì)實(shí)體間多元關(guān)系的精準(zhǔn)識(shí)別。
近年來,人們提出了大量的深度神經(jīng)網(wǎng)絡(luò)模型來完成實(shí)體關(guān)系抽取任務(wù),基于深度學(xué)習(xí)的抽取方法主要采用CNN[15]、RNN[16]和LSTM[17]的變體或組合結(jié)構(gòu)。Socher等人[18]首次在分類任務(wù)中引入RNN模型來全面處理詞向量空間中的組合性,句法樹中的每個(gè)節(jié)點(diǎn)會(huì)被分配到一個(gè)向量和一個(gè)矩陣,分別用來學(xué)習(xí)該處的詞向量和相鄰單詞或短語的含義,但是該模型沒有考慮實(shí)體對(duì)的位置信息。Zeng等人[19]首次把CNN 應(yīng)用到關(guān)系分類任務(wù)中,詞匯和句子層面的特征均通過卷積深度神經(jīng)網(wǎng)絡(luò)獲取,并提出位置特征來指定期望分配關(guān)系標(biāo)簽的實(shí)體對(duì)。Cai等人[20]將CNN 和雙通道遞歸神經(jīng)網(wǎng)絡(luò)與LSTM 單元相結(jié)合,同時(shí)沿SDP(the shortest dependency path)前向和后向?qū)W習(xí)具有方向信息的關(guān)系表。
上述研究所采用的模型都應(yīng)用于流水線抽取任務(wù)中,近些年,研究人員開始致力于聯(lián)合抽取模型的研究。Miwa 等人[21]首次將LSTM-RNNs 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)應(yīng)用于聯(lián)合抽取任務(wù)。Zheng 等人[22]提出了一種新穎的標(biāo)記方式,把聯(lián)合抽取問題建模為端到端的序列標(biāo)注模型,但是該方法在重疊關(guān)系的識(shí)別上仍存在不足。Yu等人[23]將聯(lián)合抽取任務(wù)分解為相互關(guān)聯(lián)的兩個(gè)子任務(wù),采用合理的分解策略,充分捕獲不同步驟之間的語義相關(guān)性。Wei 等人[24]打破了傳統(tǒng)的思路,從新的角度理解信息抽取任務(wù),并提出了一個(gè)新的級(jí)聯(lián)二進(jìn)制標(biāo)記框架,著重處理重疊問題。但該框架抽取頭實(shí)體時(shí)對(duì)語義信息獲取不夠充分,且僅將抽取出的頭實(shí)體向量與各詞向量進(jìn)行了簡單的拼接,忽略了頭實(shí)體和其他單詞之間的細(xì)粒度語義關(guān)系,存在特征丟失問題。因此,本文在此基礎(chǔ)上提出了一種融合預(yù)訓(xùn)練模型和注意力的聯(lián)合抽取模型。
由于聯(lián)合抽取方法經(jīng)常遇到關(guān)系重疊和實(shí)體嵌套的問題,無法對(duì)非結(jié)構(gòu)化文本進(jìn)行合理的抽取,甚至出現(xiàn)漏抽取的問題。另外,由于靜態(tài)編碼模型無法準(zhǔn)確捕獲序列時(shí)序位置信息,常造成三元組抽取準(zhǔn)確率偏低。針對(duì)此問題,采用預(yù)訓(xùn)練模型動(dòng)態(tài)編碼能夠有效表述句子序列內(nèi)在特征的特點(diǎn),并利用注意力機(jī)制捕獲頭實(shí)體信息,提出了一種融合預(yù)訓(xùn)練模型和注意力的網(wǎng)絡(luò)模型用于聯(lián)合抽取實(shí)體關(guān)系三元組。
在之前的Seq2seq方法中,關(guān)系三元組抽取任務(wù)通常建模為式(1),即先抽取頭實(shí)體s,然后結(jié)合主實(shí)體抽取出對(duì)應(yīng)的尾實(shí)體o,最后根據(jù)抽取出的實(shí)體對(duì)預(yù)測(cè)關(guān)系r。
本文提出的JPEA 模型將三元組抽取過程整體建模為式(2):
其中,x是輸入的句子,T是所有關(guān)系類型的集合。通過式(2)將三元組的抽取問題轉(zhuǎn)變?yōu)橹羔槝?biāo)注問題,這種建模方式允許模型一次提取出多個(gè)關(guān)系三元組:首先通過頭實(shí)體標(biāo)記器檢測(cè)出句子中所有的實(shí)體,這些實(shí)體都是潛在的頭實(shí)體,即都有可能與其他實(shí)體構(gòu)成關(guān)系三元組,然后針對(duì)每一個(gè)潛在的頭實(shí)體,通過關(guān)系及尾實(shí)體標(biāo)記器來查找所有與該頭實(shí)體有關(guān)的關(guān)系和對(duì)應(yīng)關(guān)系下的尾實(shí)體,若句子中不存在與該頭實(shí)體有相關(guān)關(guān)系的尾實(shí)體,則舍棄該頭實(shí)體,最終完整地抽取出句子中包含的三元組。
JPEA 模型通過預(yù)訓(xùn)練模型編碼詞向量,采用自注意力機(jī)制和BiLSTM網(wǎng)絡(luò)結(jié)合來豐富語義特征,捕獲更重要的語義信息,再通過歸一化標(biāo)記出所有頭實(shí)體;其次將多層CNN網(wǎng)絡(luò)與注意力機(jī)制融合,提取頭實(shí)體特征,計(jì)算每個(gè)頭實(shí)體相對(duì)于句子中每個(gè)詞向量的權(quán)重,并將加權(quán)后的頭實(shí)體特征與句子向量進(jìn)行拼接,用于標(biāo)記與每個(gè)頭實(shí)體之間存在合適關(guān)系的全部尾實(shí)體及正確的實(shí)體間關(guān)系。模型總體架構(gòu)如圖1 所示,其中預(yù)訓(xùn)練模型為RoBERTa,s_start和s_end 分別表示頭實(shí)體的起始和結(jié)束,o_start 和o_end分別表示尾實(shí)體的起始和結(jié)束,1/0標(biāo)記表示該位置是否對(duì)應(yīng)起始或結(jié)束位置。以圖中抽取出的第一個(gè)歌曲實(shí)體“All Too Well”為例,在“be_composed_by”和“be_sung_by”關(guān)系條件下對(duì)應(yīng)的尾實(shí)體均為“Taylor Swift”,在其他的關(guān)系條件下沒有對(duì)應(yīng)的尾實(shí)體,因此頭實(shí)體“All Too Well”可以抽取出(All Too Well,be_composed_by,Taylor Swift)和(All Too Well,be_sung_by,Taylor Swift)兩個(gè)三元組。
圖1 JPEA實(shí)體關(guān)系聯(lián)合抽取模型架構(gòu)Fig. 1 JPEA entity relationship joint extraction model structure
傳統(tǒng)的文本編碼模型在語義表征能力上有所欠缺,而RoBERTa模型在大量訓(xùn)練數(shù)據(jù)的基礎(chǔ)上,能夠準(zhǔn)確高效地表達(dá)句子的潛在信息。RoBERTa是基于多層雙向Transformer 的語言表示模型,它通過對(duì)每個(gè)單詞的左右語境進(jìn)行聯(lián)合訓(xùn)練來學(xué)習(xí)深度表征,在許多下游任務(wù)中都有著高效的表現(xiàn),因此所提模型采用RoBERTa預(yù)訓(xùn)練模型編碼句子向量。
JPEA模型的兩個(gè)實(shí)體標(biāo)記模塊共享同一個(gè)編碼層,RoBERTa 模型從待分析句子序列中提取出語義特征,并將特征傳遞給兩個(gè)實(shí)體標(biāo)記模塊。首先將輸入的文本序列表示成向量形式,對(duì)于處理后的文本序列中的第i個(gè)字符的向量表示如式(3)所示:
其中,Wtoken、Wseg、Wpos分別為token嵌入、分句嵌入和位置嵌入。然后通過RoBERTa模型對(duì)嵌入結(jié)果進(jìn)行編碼,最后一層Transformer 輸出的值即是文本編碼的最終結(jié)果,如式(4)所示:
其中,E={e1,e2,…,en}為待處理文本序列的向量表示形式,n表示文本序列長度,X={x1,x2,…,xn}為經(jīng)過RoBERTa編碼得到的具有上下文信息的句子向量。
傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)在處理時(shí)序數(shù)據(jù)時(shí)雖然不受數(shù)據(jù)長度的限制,但由于無法很好地捕獲反向語義,存在嚴(yán)重的信息丟失問題,無法準(zhǔn)確描述句子特征。BiLSTM網(wǎng)絡(luò)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),能夠?qū)崿F(xiàn)從后往前編碼,通過利用句子中比較靠后的重要信息,能夠很好地捕捉雙向的語義依賴。故本模塊選取BiLSTM網(wǎng)絡(luò)對(duì)RoBERTa編碼層提取的句子向量進(jìn)行進(jìn)一步的特征表示。具體操作為:將向量矩陣X輸入BiLSTM網(wǎng)絡(luò)進(jìn)行編碼,每一時(shí)刻t的輸入除了詞向量外還有上一時(shí)刻的輸出向量,每一時(shí)刻得到的輸出向量ht均為前向編碼向量和后向編碼向量拼接而成。上述過程如式(5)所示:
其中,xt表示t時(shí)刻輸入的詞向量。經(jīng)過BiLSTM網(wǎng)絡(luò)編碼后得到的向量為H={h1,h2,…,hn}。
為了增強(qiáng)模型的辨別能力,研究人員通常會(huì)在神經(jīng)網(wǎng)絡(luò)模型中加入自注意力機(jī)制,通過為輸入信息的每個(gè)部分賦予不同的權(quán)重,可以抽取出關(guān)鍵信息,使模型做出更加準(zhǔn)確的判斷。自注意力機(jī)制的計(jì)算如式(6)所示:
其中,Q、K、V分別表示查詢矩陣、鍵矩陣和值矩陣,是鍵矩陣第一維度的平方根,用以維持梯度的穩(wěn)定。
自注意力機(jī)制不會(huì)增加模型的計(jì)算開銷和結(jié)構(gòu)的復(fù)雜度,同時(shí)還可以有效彌補(bǔ)BiLSTM網(wǎng)絡(luò)在解決長距離依賴問題上的缺陷。根據(jù)上述原理描述,本模塊在BiLSTM層之后拼接一層自注意力網(wǎng)絡(luò),根據(jù)上下文信息為每個(gè)詞向量訓(xùn)練相應(yīng)的權(quán)重,以更準(zhǔn)確、完整地標(biāo)記出頭實(shí)體。操作過程可描述為:Q、K、V通過參數(shù)矩陣WQ、WK、WV進(jìn)行線性變換,再通過自注意力運(yùn)算得到各個(gè)位置的注意力大小,最后經(jīng)過線性變換得到更加豐富的語義信息,這里的Q、K、V為上一步的輸出向量H。如式(7)所示,M={m1,m2,…,mn}為經(jīng)過自注意力層編碼后得到的結(jié)果。
頭實(shí)體標(biāo)記器用來識(shí)別輸入句子中所有可能的頭實(shí)體,它是通過對(duì)特征加強(qiáng)層的輸出結(jié)果M進(jìn)行解碼實(shí)現(xiàn)的。頭實(shí)體標(biāo)記器由兩個(gè)相同且獨(dú)立的二進(jìn)制分類器組成,可以通過為每個(gè)位置分配0/1標(biāo)記來分別檢測(cè)頭實(shí)體的開始和結(jié)束位置。具體操作如下:
其中,mi是輸入句子中第i個(gè)單詞經(jīng)特征加強(qiáng)層處理后的向量,和均表示第i個(gè)單詞向量經(jīng)解碼層處理后的輸出值,兩個(gè)輸出值都是概率值。如果該值大于實(shí)驗(yàn)設(shè)置的某一限定值,那么該單詞所在位置將被分配到標(biāo)記1,否則將被分配到標(biāo)記0??稍谀P陀?xùn)練的過程中不斷調(diào)整參數(shù),為頭實(shí)體標(biāo)記器確定一個(gè)最佳限定值,本文實(shí)驗(yàn)在多次調(diào)整后將該限定值設(shè)為0.5。W(·)和b(·)分別表示訓(xùn)練權(quán)重和偏置向量,s指代頭實(shí)體,σ代表sigmoid 激活函數(shù)。實(shí)驗(yàn)設(shè)定采用指針對(duì)就近匹配原則解決一個(gè)句子中存在多個(gè)頭實(shí)體的問題,并且不考慮單詞的結(jié)束位置在開始位置前面的情況。
為了加強(qiáng)JPEA 模型的兩個(gè)實(shí)體標(biāo)記模塊之間的依賴性,在抽取尾實(shí)體和實(shí)體對(duì)間關(guān)系之前,還需要對(duì)標(biāo)記出的頭實(shí)體進(jìn)行特征處理,但是將頭實(shí)體表示與句子向量進(jìn)行簡單的拼接不能完整地表達(dá)特征信息。本文采用CNN與注意力機(jī)制進(jìn)行頭實(shí)體與句子向量的融合。首先,獲取頭實(shí)體的起始和結(jié)束標(biāo)記之間所有單詞的特征表示Xhead,將向量輸入到一個(gè)多層CNN網(wǎng)絡(luò)中學(xué)習(xí)實(shí)體級(jí)別的特征表示,使用最大池化操作得到最終的特征向量xhead,如式(10)所示:
本文認(rèn)為,頭實(shí)體的特征對(duì)尾實(shí)體標(biāo)記任務(wù)的影響主要與當(dāng)前位置詞有關(guān),于是在特征融合的過程中加入了注意力機(jī)制,如式(11)所示:
首先,將編碼層輸出的句子向量X與頭實(shí)體特征向量xhead做點(diǎn)積運(yùn)算,運(yùn)算結(jié)果即是注意力權(quán)重;其次,計(jì)算該權(quán)重與頭實(shí)體特征向量相乘的結(jié)果;最后,把加權(quán)的頭實(shí)體向量與當(dāng)前位置的詞向量拼接在一起,經(jīng)過特征融合后得到的向量為T={T1,T2,…,Tn}。
關(guān)系及尾實(shí)體標(biāo)記器采用多層二進(jìn)制分類器,在進(jìn)行尾實(shí)體標(biāo)記時(shí),首先需要預(yù)定義若干種關(guān)系,關(guān)系的數(shù)量即為二進(jìn)制分類器的層數(shù)。關(guān)系及尾實(shí)體標(biāo)記器的輸入是融合了頭實(shí)體特征的句子向量T,在對(duì)向量T進(jìn)行解碼時(shí),對(duì)于所有可能的關(guān)系,標(biāo)記器將同時(shí)為每個(gè)檢測(cè)到的頭實(shí)體標(biāo)記出相應(yīng)的尾實(shí)體。詳細(xì)操作如下:
Ti是第i個(gè)單詞的編碼向量經(jīng)過特征融合后的向量表示,和均代表第i個(gè)融合向量經(jīng)解碼層處理后的輸出值,兩個(gè)輸出值都是概率值,W(·)和b(·)分別表示關(guān)系條件下訓(xùn)練的權(quán)重矩陣和偏置值,o指代尾實(shí)體,σ代表sigmoid激活函數(shù)。
本模型的損失函數(shù)可以表示為頭實(shí)體抽取損失和關(guān)系及尾實(shí)體抽取損失值的加和,因?yàn)閮蓚€(gè)任務(wù)均采用二進(jìn)制分類器,所以在模型中采用二分類交叉熵?fù)p失函數(shù)。具體可由式(14)表示:
其中,J={s_start,s_end,o_start,o_end},n代表句子的長度。表示句子中第i個(gè)單詞是實(shí)體的開始或結(jié)束位置的樣本標(biāo)簽,表示二進(jìn)制分類器預(yù)測(cè)開始或結(jié)束位置樣本標(biāo)簽為正例的概率。
本文選擇在NYT和WebNLG兩個(gè)公開語料庫上進(jìn)行實(shí)驗(yàn)。NYT是摘自New York Times新聞文章的樣本,并由遠(yuǎn)程監(jiān)督方法進(jìn)行注釋,共包含56 195句用于訓(xùn)練,5 000 句用于測(cè)試。WebNLG 起初被應(yīng)用于自然語言構(gòu)建任務(wù),一些學(xué)者將其作為關(guān)系抽取的數(shù)據(jù)集進(jìn)行應(yīng)用,其包含5 019句用于訓(xùn)練,703句用于測(cè)試。為了驗(yàn)證本文提出的JPEA 模型在處理重疊關(guān)系問題上有更好的表現(xiàn),將句子類型劃分成三部分,分別為:正常(Normal)、實(shí)體對(duì)重疊(entity pair overlap,EPO)、單一實(shí)體重疊(single entity overlap,SEO)。具體劃分情況如表1所示。
表1 數(shù)據(jù)集統(tǒng)計(jì)Table 1 Statistics of datasets
實(shí)驗(yàn)通過準(zhǔn)確率(P)、召回率(R)和調(diào)和平均值(F1)三個(gè)指標(biāo)來評(píng)估模型的效果,F(xiàn)1 為主要指標(biāo),各指標(biāo)的計(jì)算公式如式(15)~(17)。
為了探究JPEA 模型各個(gè)改進(jìn)模塊的效果,本文針對(duì)各個(gè)設(shè)計(jì)做了消融實(shí)驗(yàn),以展示通過BiLSTM與自注意力結(jié)合獲得語句特征表示、利用CNN 與注意力機(jī)制融合將頭實(shí)體特征融入句子向量這兩處設(shè)計(jì)對(duì)實(shí)驗(yàn)的增益效果。
本文的所有實(shí)驗(yàn)均在Windows 10 操作系統(tǒng)上完成,處理器為Intel?Core i7-10700K@3.80 GHz,顯卡為NVIDIAGeForce GTX3090Ti。使用的語言是python3.7,預(yù)訓(xùn)練模型均使用Base 版本,模型的優(yōu)化器選擇Adam。模型的最優(yōu)參數(shù)設(shè)置如表2所示。
表2 模型參數(shù)值Tabel 2 Model parameter values
3.3.1 模型對(duì)比實(shí)驗(yàn)分析
為了驗(yàn)證JPEA 模型的優(yōu)越性,本文選取了幾個(gè)目前在重疊關(guān)系抽取方面表現(xiàn)較好的模型進(jìn)行對(duì)比分析,基線模型的實(shí)驗(yàn)結(jié)果直接摘自原始出版的論文。為了評(píng)估引入不同的預(yù)訓(xùn)練模型對(duì)實(shí)體關(guān)系抽取任務(wù)性能的影響,進(jìn)一步做了一系列對(duì)比實(shí)驗(yàn)。JPEABERT代表預(yù)訓(xùn)練模型改用BERT,JPEAALBERT表示編碼器采用ALBERT[25]預(yù)訓(xùn)練模型,JPEAELECTRA表示在ELECTRA[26]預(yù)訓(xùn)練模型的基礎(chǔ)之上實(shí)例化實(shí)體關(guān)系抽取框架。為了確保對(duì)比實(shí)驗(yàn)結(jié)果的準(zhǔn)確性,實(shí)驗(yàn)對(duì)此類關(guān)系抽取模型采用相同的輸入,然后比較模型的實(shí)驗(yàn)結(jié)果。對(duì)比情況如表3所示,其中加粗?jǐn)?shù)字表示實(shí)驗(yàn)結(jié)果的最優(yōu)值。
表3 不同模型在NYT和WebNLG數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果Table 3 Experimental results of different models on NYT and WebNLG datasets 單位:%
對(duì)比表3 中的數(shù)據(jù)可以看出,在三個(gè)評(píng)價(jià)指標(biāo)上,本文提出的JPEA模型及其變體均取得了較好的實(shí)驗(yàn)結(jié)果,體現(xiàn)了模型的優(yōu)越性。CopyRE[27]在實(shí)體關(guān)系抽取過程中采用動(dòng)態(tài)解碼的方式并首次嘗試解決重疊關(guān)系的抽取問題,但由于RNN 展開的固有限制,導(dǎo)致生成的三元組有限。GraphRel[28]在編碼的過程加入了GCN(graph convolutional networks),同時(shí)獲得句子序列和區(qū)域依存詞的特征,因此在兩個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果都有一定程度的提高。CopyRRL[29]在CopyRE模型的基礎(chǔ)上加入了強(qiáng)化學(xué)習(xí),考慮了關(guān)系三元組的提取順序?qū)Τ槿∪蝿?wù)的影響,模型整體有著不錯(cuò)的效果,但其采用的復(fù)制機(jī)制仍未解決實(shí)體復(fù)制不完整的問題。ETL-Span[23]模型將抽取任務(wù)分解為序列標(biāo)記問題,在WebNLG 上的抽取結(jié)果有了很大程度的提升。CasRel[24]更是在此基礎(chǔ)上構(gòu)造了一個(gè)全新的指針標(biāo)注框架,抽取效果達(dá)到了領(lǐng)域內(nèi)最優(yōu)。在NYT 和WebNLG 數(shù)據(jù)集上,JPEABERT模型的F1 與CasRel模型相比分別提高了1.5個(gè)百分點(diǎn)和0.5個(gè)百分點(diǎn),說明對(duì)頭實(shí)體標(biāo)記器的輸入向量做特征加強(qiáng)和對(duì)關(guān)系及尾實(shí)體標(biāo)記器的輸入向量做實(shí)體級(jí)特征融合對(duì)提升模型的抽取效果有很大的貢獻(xiàn)。JPEA 的抽取性能優(yōu)于JPEABERT,其原因在于RoBERTa 采用了更多的數(shù)據(jù)進(jìn)行訓(xùn)練,可以更充分地學(xué)習(xí)句子的上下文信息。當(dāng)編碼器采用ALBERT預(yù)訓(xùn)練模型時(shí),模型的整體表現(xiàn)相較于CasRel有微提升,但與JPEA相比存在差距。原因在于相較于BERT的其他變體來說,ALBERT 模型的參數(shù)大大減少,導(dǎo)致模型學(xué)習(xí)得不夠充分,不過參數(shù)的減少在一定程度上提升了訓(xùn)練的速度。JPEAELECTRA模型在兩個(gè)數(shù)據(jù)集上的F1 值都達(dá)到了最佳,因?yàn)镋LECTRA 模型的預(yù)訓(xùn)練任務(wù)是替換標(biāo)記檢測(cè),這對(duì)模型學(xué)習(xí)能力的提升有一定程度的影響。圖2所示為JPEA模型在兩個(gè)公開數(shù)據(jù)集上訓(xùn)練時(shí)損失函數(shù)的變化情況??梢钥闯鲭S著訓(xùn)練周期的增長,損失值保持下降狀態(tài),最終均在第50 個(gè)訓(xùn)練周期左右損失值降到最低,模型根據(jù)早停機(jī)制停止訓(xùn)練。
圖2 訓(xùn)練損失值Fig. 2 Training loss value
3.3.2 消融實(shí)驗(yàn)分析
為了驗(yàn)證BiLSTM 網(wǎng)絡(luò)結(jié)合自注意力機(jī)制提取特征和CNN 與注意力機(jī)制特征融合兩個(gè)模塊對(duì)JPEA 模型性能的增益作用,本文在兩個(gè)公開語料庫上進(jìn)一步做了消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表4 所示。其中,JPEA-BAM 表示將經(jīng)過編碼層得到的句子表征直接進(jìn)行頭實(shí)體標(biāo)記;JPEA-LAN表示將所有頭實(shí)體向量的平均值與句子的表征直接拼接。
表4 在兩個(gè)數(shù)據(jù)集上的消融實(shí)驗(yàn)結(jié)果Table 4 Results of ablation experiments on two datasets 單位:%
對(duì)比實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),兩個(gè)模塊組件都對(duì)JPEA模型性能的提高作出了積極貢獻(xiàn)。JPEA-LAN模型性能在NYT數(shù)據(jù)集上下降了1.3個(gè)百分點(diǎn),對(duì)模型的影響較大,這說明通過卷積神經(jīng)網(wǎng)絡(luò)提取頭實(shí)體特征并利用注意力機(jī)制加權(quán)進(jìn)行特征融合,可以有效地利用頭實(shí)體信息輔助尾實(shí)體及關(guān)系標(biāo)注,忽略其他冗余信息,從而使最終抽取的三元組更加準(zhǔn)確。JPEA-BAM 模型在兩個(gè)數(shù)據(jù)集上的F1 值與JPEA 模型均相差0.2個(gè)百分點(diǎn),可以得出,結(jié)合BiLSTM網(wǎng)絡(luò)與自注意力機(jī)制進(jìn)一步學(xué)習(xí)句子的內(nèi)在特征,能夠獲得細(xì)粒度語義信息,更有利于頭實(shí)體的檢測(cè)。
3.3.3 重疊問題實(shí)驗(yàn)分析
為了進(jìn)一步驗(yàn)證JPEA 模型解決重疊三元組問題的有效性,本文對(duì)Normal、EPO和SEO三種模式進(jìn)行擴(kuò)展實(shí)驗(yàn),并與基線模型進(jìn)行對(duì)比,在兩個(gè)數(shù)據(jù)集上的F1值對(duì)比情況如圖3所示。
圖3 從不同模式的句子中抽取三元組的F1值Fig. 3 F1-score of extracting relational triples from sentences with different patterns
由圖3 可見,在兩個(gè)數(shù)據(jù)集上,JPEA 模型在三種不同模式下的F1 值均有很好且較為一致的表現(xiàn),尤其是在EPO 和SEO 兩種重疊模式下,F(xiàn)1 值有明顯的提高,說明本文所提出的模型在解決重疊關(guān)系三元組的提取問題上有優(yōu)異的表現(xiàn)。其次,可以觀察到大多數(shù)的基線模型在正常、EPO 和SEO 三種重疊模式下的抽取性能都呈現(xiàn)依次下降趨勢(shì),也就是說,基線模型提取EPO 和SEO 兩種重疊模式的能力有所欠缺。而相比之下,JPEA 模型在三種重疊模式下的表現(xiàn)都不一般。這是因?yàn)檫@些基線模型的結(jié)構(gòu)存在一定的缺陷,它們將實(shí)體對(duì)映射到關(guān)系或者選擇Sequence-to-Sequence的模型架構(gòu)。將實(shí)體對(duì)映射到關(guān)系很容易產(chǎn)生冗余實(shí)體對(duì)問題,導(dǎo)致較高的錯(cuò)誤率,難以高效解決關(guān)系重疊的問題。并且Sequence-to-Sequence模式設(shè)計(jì)復(fù)雜的解碼架構(gòu)使得局部特征抽取不充分,導(dǎo)致抽取的三元組不夠完整。盡管CasRel模型對(duì)于重疊關(guān)系三元組的提取有著良好的表現(xiàn),但相較于JPEA 模型在處理復(fù)雜句子方面仍有不足。因?yàn)槌瞬捎梅謱又羔槝?biāo)注策略將頭實(shí)體映射到關(guān)系和尾實(shí)體上之外,RoBERTa模型改進(jìn)了優(yōu)化函數(shù),使用了更大的數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練,更完整地提取語句的上下文信息,而BiLSTM網(wǎng)絡(luò)結(jié)合注意力機(jī)制更是對(duì)句子表征向量進(jìn)行了深層次的學(xué)習(xí)。同時(shí)在尾實(shí)體及關(guān)系標(biāo)記前利用CNN 和注意力機(jī)制進(jìn)行頭實(shí)體特征與句子向量的融合,增強(qiáng)了JPEA 模型兩個(gè)模塊之間的依賴。綜上所述,JPEA 模型具有較強(qiáng)的處理復(fù)雜文本的能力,且在解決重疊關(guān)系三元組問題上有著良好的高效性。
本文基于預(yù)訓(xùn)練模型提出了一種可以解決實(shí)體關(guān)系抽取過程中三元組重疊問題的JPEA 模型。該模型通過預(yù)訓(xùn)練模型編碼得到包含上下文信息的句子向量,再將句子向量輸入BiLSTM網(wǎng)絡(luò)和自注意力機(jī)制得到更精確的句子級(jí)特征表示,在關(guān)系及尾實(shí)體標(biāo)記任務(wù)之前添加特征融合層,利用CNN 和注意力機(jī)制將頭實(shí)體特征與句子向量融合,強(qiáng)化頭實(shí)體標(biāo)記與關(guān)系及尾實(shí)體標(biāo)記模塊之間的內(nèi)在聯(lián)系。實(shí)驗(yàn)結(jié)果表明,所提JPEA模型在重疊關(guān)系三元組的抽取任務(wù)中有著良好表現(xiàn),當(dāng)選用不同的預(yù)訓(xùn)練模型時(shí),總體模型在兩個(gè)數(shù)據(jù)集上執(zhí)行的抽取工作都能取得不錯(cuò)的結(jié)果,其中基于ELECTRA 模型的效果最佳。
本文所提模型雖然在抽取的準(zhǔn)確率上有一定程度的提升,但是模型的穩(wěn)定性較差,一旦數(shù)據(jù)集中帶有錯(cuò)誤標(biāo)簽的樣本過多,JPEA 模型的性能就會(huì)受到影響并產(chǎn)生波動(dòng)。因此,在后續(xù)的工作中如何進(jìn)一步提升模型的性能、增強(qiáng)模型的穩(wěn)定性是亟需解決的主要問題。本文提出的模型目前主要針對(duì)公共數(shù)據(jù)集進(jìn)行測(cè)試,而近年來隨著領(lǐng)域知識(shí)圖譜構(gòu)建技術(shù)的發(fā)展,將實(shí)體關(guān)系抽取技術(shù)應(yīng)用到垂直領(lǐng)域來構(gòu)建領(lǐng)域知識(shí)圖譜變得更加有意義。特別地,結(jié)合城市規(guī)劃領(lǐng)域知識(shí)圖譜對(duì)規(guī)劃活動(dòng)做決策提供輔助至關(guān)重要,因此接下來將會(huì)深入城市規(guī)劃領(lǐng)域?qū)Ρ灸P瓦M(jìn)行改進(jìn),為城市規(guī)劃領(lǐng)域知識(shí)圖譜的構(gòu)建及應(yīng)用做好鋪墊工作。