吳雪瑩,段友祥,昌倫杰,李世銀,孫歧峰
(1.中國石油大學(華東)計算機科學與技術學院,山東 青島 266580;2.中國石油塔里木油田分公司 勘探開發(fā)研究院,新疆 庫爾勒 841000)
地下油氣資源的勘探與開發(fā)需要領域多源知識的支持,而自然語言處理、深度學習等信息技術能夠為知識的挖掘和應用提供重要支撐。在地質大數(shù)據(jù)時代,數(shù)據(jù)來源呈現(xiàn)多樣化特點,描述數(shù)據(jù)的方式也多種多樣,構建地質領域的知識圖譜對于便捷高效地共享和應用多源地質知識具有重要意義。
知識圖譜是覆蓋在海量數(shù)據(jù)上的知識網絡結構,其將概念通過實體關系三元組(頭實體,關系,尾實體)的結構化形式進行呈現(xiàn),以更簡潔明了的形式表達數(shù)據(jù)中的信息,為人們提供一種理解、規(guī)劃和管理大量數(shù)據(jù)及其所蘊含的知識的方法。目前,知識圖譜已經在信息檢索、智能問答、情報分析等方面得到廣泛應用。在油藏地質領域,可以通過構建知識圖譜將地質知識結構化、有序化存儲,通過對知識庫的檢索實現(xiàn)對地質知識的高效管理和應用,這將為油藏地質的分析、評價和開發(fā)帶來極大便利。
地質知識庫的構建需要知識抽取、知識融合、知識加工等自然語言處理技術的支持。其中,知識抽取主要用于從結構化、半結構化或非結構化的地質數(shù)據(jù)源中提取屬性、實體以及實體間的關系。對于由知識抽取獲得的新知識,需要利用知識融合技術對其進行語義消歧和統(tǒng)一表達。知識加工則對融合后的知識進行質量評估,將符合要求的部分加入到知識庫中,以形成高質量的地質知識庫。實體關系抽取作為知識抽取的關鍵一步,其目的是從無結構化或半結構化的地質文本中抽取出結構化的關系三元組,這不僅能夠促進地質知識庫的自動構建,還能為地質知識的智能檢索和語義分析提供一定的支持。實體關系抽取技術是構建地質知識圖譜的重要環(huán)節(jié),而重疊三元組(同一個句子中的多個關系三元組共享相同的實體)作為實體關系抽取中亟待解決的關鍵問題,嚴重影響了三元組的識別效率。本文研究如何在實現(xiàn)實體關系抽取的過程中解決重疊三元組問題,在油藏地質學的指導下,以地質領域數(shù)據(jù)集為基礎,基于BERT[1]提出一種層級序列標注模型HtERT(Hierarchical Tagging Model Based on BERT),從而完成地質領域的實體關系抽取任務。
從自然語言文本中抽取關系三元組是自動構建知識庫的關鍵步驟。在以往的研究中,實體關系抽取大多采用流水線方法[2-4],流水線的框架工作雖然易于執(zhí)行,但其具有誤差傳播和信息丟失的缺點。為了解決這一問題,聯(lián)合抽取方法逐漸引起研究人員的關注,聯(lián)合抽取能夠有效解決流水線模型所存在的問題并在三元組抽取領域獲得了較優(yōu)的性能。
聯(lián)合學習方法將實體識別與關系抽取聯(lián)合建模,使兩個子任務在一個模型中共同優(yōu)化,以實現(xiàn)子任務之間相互促進的目的。傳統(tǒng)的聯(lián)合抽取模型[5-7]都是基于特征向量,這些方法需要人工參與構造特征。為了減少人工工作量,基于神經網絡的聯(lián)合抽取方法[8-10]獲得了人們的關注。但是,現(xiàn)有的很多神經網絡聯(lián)合模型[11-12]是基于共享編碼層實現(xiàn)的,這種方法只是簡單地共享兩個子任務的編碼層,為了獲得關系三元組,其仍然采取先識別實體后提取關系的方法。ZHENG 等[13]提出一種新的全局標注方案,其直接對三元組進行建模,實現(xiàn)了真正意義上的聯(lián)合抽取,該方法使用BiLSTM 和具有偏置損失的LSTM 對輸入數(shù)據(jù)進行聯(lián)合編碼,解決了錯誤累計的問題,但其采用的就近合并原則忽略了重疊三元組問題。ZENG 等[14]首先引入重疊三元組問題,其給出重疊的3 種不同形式并提出帶有復制機制的Seq2Seq 模型以解決重疊三元組問題。FU 等[15]提出一個端到端的實體關系抽取模型GraphRel,該模型使用關系加權的圖卷積神經網絡有效考慮實體和關系之間的相互作用以及可能重疊的三元組,在解決三元組重疊問題上取得了良好的效果。
盡管以上方法取得了很大進展,但是這些方法都將關系看作映射到實體對的離散標簽,使得關系識別成為一個簡單的分類問題。為此,WEI 等[16]基于BERT 提出一種級聯(lián)二級標記框架CASREL,其將關系視為從頭實體映射到尾實體的函數(shù),模型只需要識別出在不同關系下與頭實體對應的尾實體,大幅提高了對重疊三元組的提取能力,達到了當時的最優(yōu)水平。但是,CASREL 在標注過程中只是簡單地將各個詞向量輸入分類器,忽略了實體的上下文信息和抽取的實體長度。
近年來,通用領域的關系抽取技術已日趨成熟,對于地質領域專業(yè)數(shù)據(jù)而言,其來源渠道多樣,結構各異,且與通用領域相比,地質領域的實體和關系比較復雜,很難對其進行準確定義并提取有效特征。因此,面向地質領域的實體關系抽取相關研究較少。黃徐勝等[17]提出基于BERT 的金礦地質實體關系抽取模型,LUO 等[18]將BGRU(Bidirectional Gated Recurrent Unit)和注意力機制相結合,實現(xiàn)了地質文本的關系抽取,王智廣等[19]使用基于句法結構的抽取方法實現(xiàn)了對地質三元組的開放式抽取,張雪英等[20]只初步實現(xiàn)了地質領域的命名實體識別。
針對油氣資源地質領域的特點和應用需求,本文在研究和分析已有實體關系聯(lián)合抽取模型的基礎上,基于WEI 等[16]的工作,在實體標注過程中加入BiLSTM 網絡、實體的位置嵌入和全局上下文信息,以提高實體關系的識別效率,同時將中文預訓練語言模型BERT-wwm 作為底層編碼器,使其適用于地質領域的中文三元組抽取任務。
本文基于預訓練模型BERT,提出一種層級標注模型HtERT,用于實現(xiàn)地質領域的實體關系聯(lián)合抽取,HtERT 模型的思想是將關系建模為從頭實體映射到尾實體的函數(shù)。對于輸入句子x={x1,x2,…,xn},HtERT 模型首先使用BERT-wwm 對句子進行編碼,然后構建頭實體標注器,以識別出x中的所有候選頭實體,對于已確定的頭實體,尾實體-關系標注器利用頭實體信息來識別與各關系對應的尾實體。HtERT 的整體架構如圖1 所示。
圖1 HtERT 模型架構Fig.1 HtERT model architecture
根據(jù)模型的基本思想,可將HtERT 在句子x中抽取出三元組的概率表達為:
其中:x={x1,x2,…,xn}表示輸入句子;R表示所有關系的集合;h、r、t分別表示三元組中的頭實體、關系、尾實體;pr表示在關系r的約束下計算得到的概率。通過式(1)的轉換,模型在識別出頭實體之后,能夠結合頭實體信息同步完成尾實體和關系的識別,實現(xiàn)命名實體識別和關系抽取的聯(lián)合建模。此外,模型將頭、尾實體分開標注,使得一個頭實體可以與不同關系的尾實體組合成重疊三元組,并減輕冗余實體對的影響。
在式(1)的基礎上,HtERT 模型分兩步識別x中的頭、尾實體:第一步,將可能的實體起始位置標記為“1”,否則標記為“0”;第二步,根據(jù)標注的起始位置,將可能的實體結束位置標記為“1”,否則標記為“0”。因此,HtERT 模型在x中識別出頭實體h或尾實體t的概率可統(tǒng)一轉化為:
其中:e代表識別出的頭實體或尾實體;se、ee分別代表實體e的起始位置和結束位置。
根據(jù)式(1)、式(2),可將HtERT 分為數(shù)據(jù)編碼層、頭實體標注、尾實體-關系標注3 個主要部分。數(shù)據(jù)編碼層的主要作用是提取輸入句子x的上下文特征并用向量表示,得到的特征向量將作為后續(xù)兩個標注器的輸入。頭實體標注器用來識別x中的候選頭實體。尾實體-關系標注器則根據(jù)候選頭實體和關系來識別對應的尾實體,以此得到x中的三元組信息。
BERT 是一個用深度雙向Transformer[21]作特征抽取器的預訓練語言模型,它可以接收一個或一對句子的嵌入表示作為輸入。在BERT 的輸入中,包含兩個特殊符號“[CLS]”和“[SEP]”,其中,符號“[CLS]”被插入到輸入文本之前,該標記對應的輸出向量可作為整個文本的語義表示。
然而,原始的BERT 模型并不是中文NLP 的最佳選擇。在中文NLP 領域,哈工大訊飛聯(lián)合實驗室基于全詞遮罩技術(whole word masking,wwm)發(fā)布了中文預訓練模型BERT-wwm[22]。wwm 是Google在2019 年發(fā)布的BERT 升級版本,BERT-wwm 在wmm 的基礎上主要改進了原始BERT 的兩個不足:1)BERT-wwm 使用了哈工大 LTP(Language Technology Platform)[23]作為中文分詞工具,克服了原始[BERT-base,Chinese]對中文以字為粒度進行切分的缺點;2)將全詞Mask 技術應用于中文,對組成同一個詞的所有漢字全部進行Mask。圖2 所示為原始Mask 與全詞Mask 的區(qū)別。
本文使用中文預訓練模型BERT-wwm 作為HtERT 模型的底層編碼器,如圖1 的左側部分所示,經過BERT-wwm,包含n個字符的文本輸入會得到由n+1 個向量組成的嵌入表示輸出(X,Ccls),其中,向量X={X1,X2,…,Xn}和Ccls分別是n個字和符號“[CLS]”的語義表示。
2.2.1 頭實體標注器
由式(2)可知,實體結束位置的預測結果會受到實體起始位置預測結果的影響。因此,頭、尾實體識別需要使用層級標注結構,即實體起始位置預測任務的輸出將作為結束位置預測任務的輸入。如圖3所示,以頭實體標注過程為例,在起始位置識別階段,頭實體標注器接收向量X和Ccls的拼接作為輸入。為了應對地質知識的特殊性,使模型能夠更精確地獲取地質文本特征,本文借助BiLSTM 網絡能夠捕獲長距離雙向語義關系的優(yōu)點,在頭實體起始位置識別部分利用BiLSTM 對輸入標注器的向量再次進行編碼,將獲取到的語義向量作為最終的分類向量。同時,由于結束位置的預測在很大程度上依賴于起始位置信息,因此也將作為頭實體結束位置預測任務輸入的一部分。
圖3 頭實體標注器的工作流程Fig.3 Workflow of the head entity tagger
本文使用兩個二分類器先后檢測頭實體的起始位置和結束位置。對于分類器輸出的結果概率,把大于閾值(默認為0.5)的位置標記為“1”,小于閾值的位置標記為“0”。xi被預測為頭實體起始位置的概率為:
其中:符號“?”代表向量的拼接操作;Xi、Ccls分別是xi和符號“[CLS]”經過BERT-wwm 編碼后得到的語義向量,Ccls融合了文本中各個字的語義信息,代表了整個句子(上下文信息),是語義消歧的要素;是輸入向量經過BiLSTM 編碼后得到的結果向量;表示xi被預測為頭實體起始位置的概率;Wh_s、bh_s為待學習的網絡參數(shù)。
由于地質實體復雜,因此本文通過限制實體長度的方式來提高地質實體識別的準確度。根據(jù)模型的設計方法,實體的長度取決于其起始位置和結束位置。本文在預測實體結束位置時,增加了一個關于起始標記的位置嵌入pe,pe在訓練過程中被隨機初始化和微調。xi被預測為頭實體結束位置的概率為:
其中:j表示在i之前且與i距離最近的起始位置;pei代表i、j的相對距離,如果i之前沒有被預測的起始位置,則將pei設為初始值C(默認為最大句子長度)。
2.2.2 尾實體-關系標注器
與頭實體標注器類似,尾實體-關系標注器同樣將Xi和Ccls作為輸入。然而,簡單地拼接Xi和Ccls不足以檢測尾實體和候選頭實體之間的關系,尾實體-關系標注器的輸入還需要包括頭實體信息。對于每個候選頭實體和特定關系,xi被預測為對應尾實體起始位置的概率為:
為了保證式(8)各向量在第一維度上的可拼接性,且能在最大程度上保留向量的原始語義信息,此處將vk表示為第k個頭實體開始位置和結束位置之間向量的最大池化。
xi被預測為尾實體結束位置的概率為:
為了使模型能夠同時標注多個實體,采用最近匹配原則。對于一個被標記為“1”的起始位置,選取在此位置之后且與其距離最近的結束標記“1”作為與其相匹配的結束位置。以頭實體標注為例,如圖3所示,在第一個起始位置“楊”之后且距其最近的結束位置是“湖”,因此,第一個被識別出的頭實體是“楊春湖”。
以圖1 為例,模型識別三元組的具體步驟如下:輸入句子中的“楊春湖”有可能是候選頭實體,因此,它的起始位置“楊”和結束位置“湖”在頭實體標注階段被標記為“1”;在尾實體-關系標注階段,尾實體和關系被同時識別出來。對于關系“位于”,識別出尾實體“武漢”并標注,對于關系“屬于”,識別出尾實體“長江區(qū)”并標注。對于其他關系,模型沒有識別出對應的尾實體,因此,最終得到兩個共享頭實體的重疊三元組(“楊春湖”,“位于”,“武漢”)和(“楊春湖”,“屬于”,“長江區(qū)”)。
本文使用二分類交叉熵函數(shù)計算模型在訓練過程中的損失,并將各個子任務的損失相加得到模型的聯(lián)合損失,如式(12)所示:
其中:n表示輸入句子的長度;h_s、h_e分別代表頭實體起始位置和結束位置預測任務;t_s、t_e分別代表尾實體起始位置和結束位置預測任務;是xi的真實起始或結束標記;是xi被預測為起始位置或結束位置的概率。
由于缺乏地質領域的公共數(shù)據(jù)集,本文使用基于維基百科利用遠程監(jiān)督方法構建的數(shù)據(jù)集進行實驗,該數(shù)據(jù)集共包含104 801 個地質關系句子,對其進行篩選得到與本文抽取任務契合的23 096 條樣本,樣本詳情如表1 所示,其中包括預定義關系11 種,地質三元組6 206 個,并隨機抽取其中的80%、10%和10%分別作為訓練集、測試集和驗證集。圖4所示為一個樣本數(shù)據(jù)示例。
表1 關系類型分布Table 1 Relation type distribution
圖4 數(shù)據(jù)示例Fig.4 Data example
對于本文所提方法,當且僅當模型預測的關系以及頭、尾實體均正確時,才能認定該三元組抽取正確。為了便于與基線模型進行比較,本文采用精確率(Precision)、召回率(Recall)和F1 值作為模型的定量評價指標。
為了驗證HtERT 模型的性能優(yōu)勢,本文選取PCNN 模型[24]、BiLSTM 模型[25]、加入句子級注意力機制的PCNN 模型(PCNN+ATT)以及本文的參考模型CASREL[16]作為基線模型,在第3.1 節(jié)所述地質領域數(shù)據(jù)集上進行對比實驗。除此之外,針對本文模型的各個改進模塊設計消融實驗,以驗證其對地質三元組抽取任務的增益效果。
模型采用PyTorch 框架搭建,底層編碼器采用中文預訓練語言模型BERT-wwm,并使用Adam 優(yōu)化器自適應學習模型參數(shù)。本文使用驗證集來確定超參數(shù)的值,為了防止過擬合,模型在訓練過程中使用早停機制,當F1 值連續(xù)7 個批次不再提高時終止訓練。當模型在驗證集上取得最優(yōu)F1 值時所有的參數(shù)設置如表2 所示。
表2 參數(shù)設置Table 2 Parameters setting
3.3.1 對比實驗結果
表3 所示為HtERT 與其他基線模型在地質領域數(shù)據(jù)集上的對比實驗結果。從表3 可以看出,HtERT在地質領域數(shù)據(jù)集上的三元組抽取效果明顯優(yōu)于CASREL,HtERT 的F1 值提高了3.92 個百分點,表明本文模型更適用于地質領域三元組抽取任務。
表3 對比實驗結果Table 3 Results of comparative experiment %
本文模型的精確率、召回率、F1 值在訓練過程中的變化趨勢如圖5 所示,可以看出,隨著訓練次數(shù)的增加,模型的指標變化逐漸趨于平緩,最終在第50 個訓練周期時F1 值達到最高并在之后的7 個批次不再變化。
圖5 本文模型的精確率、召回率和F1 值變化趨勢Fig.5 The Precision,Recall and F1 value change trend of this model
3.3.2 消融實驗結果
針對本文模型的3 個主要改進點(即增加的BiLSTM 網絡、標注結束位置時引入的位置嵌入pe、使用的中文預訓練模型BERT-wwm)分別進行消融實驗,結果如表4 所示,從中可以看出:
表4 消融實驗結果Table 4 Results of ablation experiment %
1)利用BiLSTM 能夠捕獲長距離雙向依賴關系的優(yōu)點,使模型能夠在底層編碼器的基礎上進一步獲取地質文本的語義特征,將模型的F1 值提高了2.66 個百分點。
2)當移除位置嵌入pe時,模型的F1 值下降了2.61 個百分點,這說明利用實體起始位置信息來約束結束位置的方法對過濾無關地質實體非常重要。
3)用[BERT-base,Chinese]代替本文的BERTwwm,F(xiàn)1 值下降了1.49 個百分點,這表明BERTwwm 對中文的編碼能力優(yōu)于原始BERT 模型。
本文基于BERT 提出一種用于地質領域實體關系聯(lián)合抽取的層級序列標注模型HtERT,該模型將關系建模為從頭實體映射到尾實體的函數(shù),通過這種方式,同一個頭實體可以與多個尾實體組合形成重疊三元組。與先提取后分類的方法相比,HtERT模型在第一步只識別可能參與目標三元組的頭實體,從而降低冗余實體對的影響。此外,通過在實體標注過程中引入關于實體起始位置的嵌入表示,使模型能夠在識別實體結束位置時考慮到起始位置信息,解決了原始BERT 模型無法限制實體長度的問題。通過引入BiLSTM 網絡、全局上下文信息和中文預訓練語言模型BERT-wwm,提升了模型對地質領域中文三元組的識別能力。在地質領域三元組抽取數(shù)據(jù)集上的實驗結果表明,本文模型對中文三元組的抽取性能優(yōu)于BiLSTM、PCNN 等基線模型,其能為地質領域知識圖譜構建提供重要的技術支撐。下一步將對HtERT 模型的實體邊界識別和實體配對性能進行優(yōu)化,并逐步實現(xiàn)地質領域知識圖譜的全網自動挖掘和建立。