左亞堯,易 彪,黎文杰
廣東工業(yè)大學(xué) 計算機(jī)學(xué)院,廣州 510006
近幾年,知識圖譜作為人工智能領(lǐng)域的一項熱點(diǎn)技術(shù),在理論與應(yīng)用研究中都取得了令人矚目的成效,如問答系統(tǒng)[1]、推薦系統(tǒng)[2]、語義搜索[3]等。知識圖譜通常用形如<實(shí)體1,關(guān)系,實(shí)體2>的三元組進(jìn)行表示,分別代表頭實(shí)體、尾實(shí)體以及二者的關(guān)系。知識圖譜利用三元組中豐富的實(shí)體信息和關(guān)系信息,構(gòu)建出一個結(jié)構(gòu)化的語義知識庫。而關(guān)系分類是構(gòu)建完整且高質(zhì)量知識圖譜的不可或缺的一步,成為當(dāng)前自然語言處理中的一個重要任務(wù)。其主要聚焦于確定所抽取的實(shí)體之間的關(guān)系,從而得到可以描述實(shí)體關(guān)系的知識三元組。具體地,該任務(wù)定義為,對于給定實(shí)體對e1和e2,以及包含實(shí)體對的句子s,從關(guān)系集R中匹配出給定實(shí)體對存在的關(guān)系r。例如,語句“北京是中國的首都”,關(guān)系分類致力于抽取出<中國,首都,北京>這一三元組,兩個實(shí)體之間存在“國家-首都”這樣的關(guān)系。
傳統(tǒng)的關(guān)系分類方法主要有兩種,基于規(guī)則的方法和基于特征向量的方法。這兩種方法都需要手動設(shè)計特征,復(fù)雜度高,耗時長,并且難以捕獲文本語義特征,泛化能力差。因而,當(dāng)前主要基于深度學(xué)習(xí)展開工作,相對于傳統(tǒng)方法,深度學(xué)習(xí)模型泛化能力更強(qiáng),人工成本更低,但是仍然存在著不少需要解決的問題。
一方面,循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)模型[4]與長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)模型[5]利用序列化的結(jié)構(gòu)進(jìn)行關(guān)系分類任務(wù),但仍存在長距離信息依賴問題。而基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)[6]的關(guān)系分類方法,雖然可以通過增加CNN模型的深度使之能提取長距離的語義信息,但是這種方法所能帶來的改進(jìn)依然有限。
另一方面,隨著關(guān)系分類研究的發(fā)展,雖然用于關(guān)系分類的語義特征被不斷挖掘,但如何將各種有效的語義特征進(jìn)行組合,仍沒有統(tǒng)一的標(biāo)準(zhǔn)。為此,本文提出一種融合句意、實(shí)體及其細(xì)粒度類型等多種特征信息的關(guān)系分類方法。主要貢獻(xiàn)如下:
(1)為豐富關(guān)系分類的語義,提出了利用細(xì)粒度實(shí)體類型信息特征,來豐富實(shí)體的語義信息,增強(qiáng)實(shí)體與關(guān)系的表達(dá)。實(shí)驗表明,該方法能明顯提升關(guān)系分類任務(wù)的效果。
(2)構(gòu)造了一種基于線性注意力機(jī)制的句意學(xué)習(xí)模型Type-SEBN,其中B是BERT模型,N是Nystr?mformer注意力機(jī)制,S指代了句意信息,E指代了實(shí)體信息,Type指代了實(shí)體類型信息。Type-SEBN模型生成較CLS(common language specification)更有效的句意特征,并通過融合該特征,提取更豐富的實(shí)體上下文信息。模型在SemEval-2010數(shù)據(jù)集上實(shí)驗效果優(yōu)于現(xiàn)有參考模型,證明了融合多種語義特征在關(guān)系分類任務(wù)上的有效性。
針對關(guān)系分類這一任務(wù),早期工作主要基于規(guī)則和特征工程開展相關(guān)研究。近年來,隨著深度學(xué)習(xí)技術(shù)的發(fā)展,學(xué)者們開始探索神經(jīng)網(wǎng)絡(luò)模型來求解關(guān)系分類任務(wù)。如從特征引入方面做改進(jìn),程威等[7]通過最短依存路徑引入詞性、位置和依存關(guān)系類型,并基于注意力機(jī)制建立BiLSTM(bi-directional long short-term memory)模型;王興[8]引入WordNet上位詞特征、語法關(guān)系特征以及詞性標(biāo)注特征。上述方法往往只是利用淺層的神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)詞與詞之間的關(guān)系,尚未將重心置于實(shí)體的深層特征上。
也有學(xué)者從特征提取的視角開展相關(guān)研究,劉峰等[9]認(rèn)為多數(shù)模型所采用的單層注意力表達(dá)特征較為單一,引入了多頭注意力機(jī)制,旨在從不同的空間上獲取句子更多層面的信息,從而提高關(guān)系分類的效果;Hong等[10]考慮到特征之間存在依賴關(guān)系,對類之間的關(guān)系進(jìn)行了相關(guān)探索,提出了一種新的多標(biāo)簽分類方法,用于關(guān)系分類的特征之間還存在重要性差異的問題;Zhong等[11]針對標(biāo)簽對之間可能存在重要性不同的現(xiàn)象,提出了標(biāo)注重要性的概念,并計算出與多項式分布一致的每個實(shí)例的標(biāo)注重要性程度;Zhu等[12]引入了語義權(quán)重,該權(quán)重由實(shí)體和依賴樹中單詞之間的最短路徑的長度計算得出,使用雙向門控循環(huán)神經(jīng)網(wǎng)絡(luò)(gated recurrent neural network,GRU)將關(guān)系定義編碼為關(guān)系的上下文表示。此類方法并不能對句子的語義進(jìn)行有效的學(xué)習(xí),導(dǎo)致對實(shí)體的表達(dá)不準(zhǔn)確,產(chǎn)生錯誤的分類。
最近,預(yù)訓(xùn)練模型BERT(bidirectional encoder representation from transformers)在NLP領(lǐng)域的多項任務(wù)中都取得不錯的效果,在關(guān)系分類中也受到了極大的關(guān)注。Wu[13]和張東東[14]等通過BERT模型學(xué)習(xí)實(shí)體信息與句意信息并將其用于關(guān)系分類,但他們著眼于研究粗粒度實(shí)體類型;萬瑩等[15]提出基于信息增強(qiáng)BERT的關(guān)系分類,利用BERT獲取句子特征表示向量。然而,BERT獲取特征的方法還存在不足,一方面用BERT學(xué)習(xí)到的CLS句意特征不夠豐富,造成關(guān)系分類的語義缺失;另一方面,BERT將句子按字生成向量,此操作會將噪聲傳入關(guān)系分類階段,從而降低關(guān)系分類的精度。
為了有效地提取句子的語義信息,減少噪音的影響,本文采用BERT對所有的詞進(jìn)行向量編碼,然后通過注意力機(jī)制,提取出有效的句意特征。此外,為了讓模型更好地識別一個實(shí)體,本文還提出了基于細(xì)粒度的關(guān)系實(shí)體類型特征學(xué)習(xí)方法,利用impSpaCy實(shí)體類型分類標(biāo)準(zhǔn),對所有的實(shí)體進(jìn)行進(jìn)一步的分類,再由Type-SEBN模型計算出所有同類的實(shí)體向量,并對其求平均得到細(xì)粒度實(shí)體類特征向量,最后將其放入神經(jīng)網(wǎng)絡(luò),挖掘出深層的實(shí)體類特征。Type-SEBN模型融入了實(shí)體、句意、實(shí)體類型等三方面的特征,使實(shí)體及其之間的關(guān)系具有更加豐富的語義信息,從而有效地進(jìn)行實(shí)體之間的關(guān)系分類。
Type-SEBN模型在引入一個細(xì)粒度實(shí)體類型信息的基礎(chǔ)上,融合了句意特征和實(shí)體特征。將一個句子放入BERT模型預(yù)訓(xùn)練后,分別通過三個子任務(wù),獲得實(shí)體特征、句意特征、實(shí)體類型特征。并將所取得的三種特征融合,得到復(fù)合語義特征,通過對復(fù)合語義特征進(jìn)行學(xué)習(xí),從而執(zhí)行關(guān)系分類任務(wù)。整個訓(xùn)練過程如圖1所示。
在關(guān)系抽取任務(wù)中,頭實(shí)體信息和尾實(shí)體信息是一種約束信息。通過提取出頭、尾實(shí)體信息就可以推斷出一些關(guān)系類型,減少篩選范圍。在對實(shí)體信息學(xué)習(xí)之前,先將語料放入BERT中預(yù)訓(xùn)練。BERT模型是一個語言表征模型,經(jīng)過海量數(shù)據(jù)訓(xùn)練而成,已被學(xué)者驗證了在諸多NLP任務(wù)中有不俗的效果。本文也使用BERT模型對詞向量進(jìn)行編碼。
首先根據(jù)要求對數(shù)據(jù)集做相關(guān)處理,所有的句子均標(biāo)注出頭實(shí)體、尾實(shí)體的起始與終止位置。例如可將句子“Their<head>composer</head>has sunk into<tail>oblivion</tail>.”中的頭實(shí)體“composer”與尾實(shí)體“oblivion”用“<head>”“</head>”“<tail>”“</tail>”形式標(biāo)注出來,Type-SEBN模型利用此標(biāo)注輔助后續(xù)實(shí)體信息的抽取與實(shí)體向量的生成。同時,為了有效區(qū)別不同的句子,Type-SEBN模型在句子之前增加了[CLS]標(biāo)志,以標(biāo)注并區(qū)分出句子的起始位置。
學(xué)習(xí)過程如圖1所示。假定輸入的句子為s,句中的兩個實(shí)體依照先后順序分別定義為e1和e2。經(jīng)由BERT模型處理后,輸出為B,令Bi至Bj為實(shí)體e1的字向量編碼,令Bm至Bn為實(shí)體e2的字向量編碼,每個實(shí)體的向量最終由其字向量的均值來表示。得出實(shí)體向量后,經(jīng)由tanh操作激活,并將實(shí)體向量分別接入一個全連接層,全連接層處理后,學(xué)習(xí)出其頭實(shí)體特征向量H1和尾實(shí)體特征向量H2,該過程如式(1)、(2)所示:
其中,W1、W2是權(quán)重矩陣,b1、b2是偏差向量。Type-SEBN模型令W1=W2以及b1=b2,使得W1與W2、b1與b2共享相同的參數(shù),矩陣W1∈?d×d,W2∈?d×d,即W1、W2擁有同樣的尺寸,公式中的d是BERT的隱藏狀態(tài)大小。
BERT模型采用了標(biāo)準(zhǔn)的Scaled-Dot Attention注意力機(jī)制,該注意力機(jī)制可以表示為式(3):
其中,Q,K,V∈?n×d,n、d與自注意力機(jī)制中的n、d相對應(yīng)。
由于BERT采用的標(biāo)準(zhǔn)自注意力的時間復(fù)雜度為O(n2),且直接采用[CLS]作為句意向量會損失其語義信息,因此本文針對BERT模型提出一種優(yōu)化方案,通過組合Nystr?mformer注意力機(jī)制來更好地提取句子的語義表征。Nystr?mformer的結(jié)構(gòu)由Nystr?mformer線性自注意力層和前饋神經(jīng)網(wǎng)絡(luò)層組成,其中自注意力層的時間復(fù)雜度為O(n)且性能比標(biāo)準(zhǔn)自注意力機(jī)制層好。
對于句子s,經(jīng)過BERT編碼后得到字向量為B={B1,B2,…,Bn},其中n為句子的字個數(shù)。將B={B1,B2,…,Bn}輸入到Nystr?mformer中,首先經(jīng)過其內(nèi)部的線性自注意力層學(xué)習(xí)句子內(nèi)部的語義聯(lián)系,其中該線性自注意力層可以表示為式(4):
其中,dq是K1的維度,其作用是歸一化處理;Softmax函數(shù)是對輸入元素進(jìn)行概率映射;Q,K,V∈?n×m分別表示query、key、value,它們是對注意力機(jī)制有效性的分?jǐn)?shù)表示,而Q1、K1分別是對Q、K的平均池化處理,而Q={q1,q2,…,qm},K={k1,k2,…,km},則其相關(guān)公式如式(5)~(12)所示:
其中,WQ、WK、WV是在訓(xùn)練中學(xué)習(xí)得到的權(quán)重矩陣,假設(shè)n能整除m,則有l(wèi)=n/m。
在線性自注意力層學(xué)習(xí)得到詞語之間的語義信息H(1),之后將語義信息H(1)輸入到前饋神經(jīng)網(wǎng)絡(luò)融合語義信息。前饋神經(jīng)網(wǎng)絡(luò)層由式(13)計算:
其中,tanh為激活函數(shù),采用Dropout方法緩解過擬合問題,以隨機(jī)丟棄一些單元的參數(shù)。
通過線性自注意力層和前饋神經(jīng)網(wǎng)絡(luò)層可以學(xué)習(xí)到詞語較為淺層的語義信息H(1),再將H(1)輸入到疊加了若干個線性自注意力層與前饋神經(jīng)網(wǎng)絡(luò)層的Nystr?mformer,以學(xué)習(xí)較為深層的句意信息H3。
在SemEval-2010數(shù)據(jù)集上實(shí)驗發(fā)現(xiàn),同屬于一類的實(shí)體往往具備相似的關(guān)系,利用這一特性,可以進(jìn)一步提高模型的泛化能力。因此考慮按類型學(xué)習(xí)實(shí)體信息并從中抽取共性信息,即實(shí)體類型信息。在涉及未登錄實(shí)體時,可以通過實(shí)體對的實(shí)體類型信息輔助預(yù)測關(guān)系類型。如圖2所示,Type-SEBN模型對于包含“關(guān)羽”與“青龍偃月刀”和“呂布”與“方天畫戟”等句子進(jìn)行了學(xué)習(xí),從中獲取“人類”與“工具類”這兩個實(shí)體類之間有“使用”關(guān)系,在遇到數(shù)據(jù)集中未出現(xiàn)的實(shí)體對“李逵”與“板斧”時,可以根據(jù)“人類”與“工具類”的類型信息預(yù)測出兩實(shí)體之間存在“使用”關(guān)系,假設(shè)同種類型的詞向量在構(gòu)成上會有較為相似的分布。例如,在語句“X是帶柄的農(nóng)具”中,在X處填入“鋤頭”或者“鏟子”都合乎句意。而經(jīng)BERT模型編碼的詞向量會學(xué)習(xí)到所編碼單詞的上下文信息,因此“鋤頭”與“鏟子”在詞向量上應(yīng)該較為接近。
基于同類型實(shí)體的詞向量具有相近的分布表示這一假設(shè),同種類型的詞向量在構(gòu)成上會有較為相似的分布。定義已經(jīng)標(biāo)注好的實(shí)體數(shù)據(jù)集E={e1,e2,…,en},其中ei代表數(shù)據(jù)集中的第i個實(shí)體,n為實(shí)體的數(shù)量。通過使用預(yù)訓(xùn)練模型BERT來嵌入實(shí)體數(shù)據(jù)集E,可以得到實(shí)體嵌入向量數(shù)據(jù)集E′={e′1,e′2,…,e′n},其中e′i表示第i個實(shí)體的向量表示。然后將每個實(shí)體類內(nèi)的所有實(shí)體的實(shí)體向量進(jìn)行相加平均,得到每個實(shí)體類的向量表示ET={et1,et2,…,etm},其中m為實(shí)體類型的個數(shù),其具體計算公式如式(14)與式(15)所示。類向量生成過程如圖3所示。
其中,eti代表第i種實(shí)體類型向量,ej為Ai集合中實(shí)體,e′j為ej實(shí)體的向量表示,||Ai是屬于第i種實(shí)體類型的數(shù)量,Ai表示實(shí)體為第i種實(shí)體類型的集合。
將句子中的兩個實(shí)體按先后順序分別定義為e1和e2,由實(shí)體e1和e2獲得對應(yīng)的實(shí)體類向量et1和et2。再將et1和et2送入全連接層,得到更深層的實(shí)體類特征向量et′1和et′2,計算公式如式(16)與式(17):
其中,W為共享的權(quán)重矩陣。
由實(shí)體特征、句意特征和實(shí)體類型特征組合,得到復(fù)合語義特征。對于任意一個句子s,放入到模型中,可以得到頭實(shí)體特征H′1、尾實(shí)體特征H′2和句意信息特征H′3,在通過頭實(shí)體和尾實(shí)體可以計算得到頭實(shí)體類型特征et′1、尾實(shí)體類型特征et′2,將這些得到的所有特征輸入到前饋神經(jīng)網(wǎng)絡(luò)層中得到復(fù)合語義特征Z,其計算公式如式(10):
其中,concat(·)的作用是將向量拼接起來,Wz是權(quán)重矩陣,tanh(·)是激活函數(shù)。
最后,將得到的復(fù)合語義特征饋入到Softmax層,具體計算過程如式(19)所示:
3.1.1 數(shù)據(jù)集及衡量指標(biāo)
本文使用的數(shù)據(jù)集是SemEval-2010 Task 8數(shù)據(jù)集[16]。該數(shù)據(jù)集出自于語義測評比賽(sematic evaluation,SemEval)在2010年發(fā)布的第八項任務(wù)——名詞對語義關(guān)系的多維分類,并被廣泛應(yīng)用于關(guān)系分類領(lǐng)域。該數(shù)據(jù)集總共包含10 717條語句實(shí)例,其中訓(xùn)練數(shù)據(jù)總共包含8 000條語句實(shí)例,測試集總共包含2 717條語句實(shí)例。SemEval-2010 Task 8數(shù)據(jù)集中除了“其他類”外,所有的數(shù)據(jù)分布都較為均勻,基于該數(shù)據(jù)集的關(guān)系分類實(shí)驗也會因此具有較為充足的可信度。
對于實(shí)驗結(jié)果評測,采用macro-averaged F1評價模型性能。具體計算過程如式(20)~(23)所示:
3.1.2 實(shí)驗參數(shù)設(shè)置
實(shí)驗參數(shù)的設(shè)置主要是為了使模型達(dá)到最佳性能。實(shí)驗過程中為了減少過擬合現(xiàn)象造成的影響,訓(xùn)練過程中引入了Dropout策略,模型采用Adam優(yōu)化器進(jìn)行優(yōu)化,具體參數(shù)設(shè)置如表1所示。
表1 參數(shù)設(shè)置Table 1 Parameter settings
Type-SEBN的F1變化如圖4所示,由于BERT模型本身是經(jīng)過了大量語料進(jìn)行預(yù)訓(xùn)練操作,本模型在一開始便取得不低的F1。隨著模型訓(xùn)練輪次的增加,模型逐漸趨于收斂,并且此時實(shí)驗獲得了最高88.61%的F1值。
將Type-SEBN與一些在SemEval-2010 Task 8[16]數(shù)據(jù)集上實(shí)驗的方法進(jìn)行比較,包括支持向量機(jī)(support vector machine,SVM)[17]、CNN+Softmax[18]、CR-CNN(classifying relations by ranking with convolutional neural networks)[19]、Attention CNN[14,20]、Att-Pooling-CNN[21]、Att-RCNN(attention based RCNN)[22]、RNN[23]、MVRNN(matrix-vector recursive neural networks)[24],模糊認(rèn)知圖(fuzzy cognitive map,F(xiàn)CM)[25]、Entity Attention Bi-LSTM[26]、雙向GRU Attention模型(BiGRU-attention,BGRU-Att)[27]和R-BERT[13]。如表2所示,Type-SEBN模型效果優(yōu)于其他參考模型。
表2 Type-SEBN模型與其他參考模型的效果比較Table 2 Comparison of effect of Type-SEBN model with other reference models
相關(guān)參考模型中,較為值得注意的模型是Entity Attention Bi-LSTM、Att-RCNN、Att-Pooling-CNN等。其中,Att-Pooling-CNN證實(shí)了CNN模型在結(jié)合了有效的注意力機(jī)制后,確實(shí)可以獲取比較重要的關(guān)系類型特征。而采用多頭注意力機(jī)制的Entity Attention Bi-LSTM模型也取得不錯的效果。多頭注意力機(jī)制的引入是為了模型能夠捕獲到不同方面上的重要特征,相比單頭的注意力機(jī)制在改進(jìn)模型的多種特征提取上具有較大的優(yōu)勢??v觀相關(guān)參考模型,可以看出不少模型會通過引入注意力機(jī)制來改進(jìn)模型的性能。對多組增加注意力機(jī)制與未增加注意力機(jī)制的模型進(jìn)行對比,可以發(fā)現(xiàn)引入了注意力機(jī)制的模型的表現(xiàn)更好,驗證了優(yōu)化注意力機(jī)制是改進(jìn)深度學(xué)習(xí)模型的一個有效方法。通過實(shí)驗對比,可直觀看出Type-SEBN模型優(yōu)于參考模型,驗證了采用BERT模型結(jié)合Nystr?mformer對句意信息、實(shí)體信息、實(shí)體類型信息的復(fù)合語義特征的學(xué)習(xí)是一個有效的關(guān)系分類方法。
本文在消融實(shí)驗中設(shè)置了SEBN-No-Sentence、SEBN-No-Entity、SEBN、Type-SEBN四種實(shí)驗配置,通過控制變量法,有效地測評出不同的特征對關(guān)系分類任務(wù)的影響。
(1)SEBN-No-Sentence:僅使用實(shí)體特征進(jìn)行關(guān)系分類。
(2)SEBN-No-Entity:僅使用語義特征進(jìn)行關(guān)系分類。
(3)SEBN:融合實(shí)體特征和語義特征進(jìn)行關(guān)系分類。
(4)Type-SEBN:融合實(shí)體特征、語義特征以及外部引入的實(shí)體類型進(jìn)行關(guān)系分類。
每個實(shí)驗融合哪些特征,具體如表3所示。
表3 參數(shù)消融與實(shí)驗結(jié)果Table 3 Parameter ablation and experimental results
由表4可知,Type-SEBN模型的F1值達(dá)到了88.61%,效果最好。通過對比可知實(shí)體信息、句意信息、實(shí)體類型信息有助于提升關(guān)系分類的結(jié)果,這三個特征對于關(guān)系分類任務(wù)都是有效特征,每個特征都有效地提高了關(guān)系分類的準(zhǔn)確率。如圖5所示,由于四種配置的收斂輪次不同,為了便于分析,本文取了四種配置在最終的20輪次中的表現(xiàn)作為對比。從圖5可以看出,四種配置在經(jīng)過多輪學(xué)習(xí)之后模型逐漸收斂,并且在最終收斂階段,Type-SEBN、SEBN、SEBN-No-Entity、SEBN-No-Sentence這四種配置在關(guān)系分類任務(wù)的表現(xiàn)上依次遞減。從四種配置在圖中的對比可以看出SEBN-No-Sentence的效果比SEBN-No-Entity差,這一結(jié)果驗證了在BERT模型的學(xué)習(xí)中,句意信息在關(guān)系分類實(shí)驗的影響力比實(shí)體信息的影響力大。此外,從圖中可以看出SEBN-No-Entity與SEBN-No-Sentence收斂速度相比另外兩種配置要快,在一定程度上說明復(fù)合程度較低的語義特征,模型學(xué)習(xí)所耗費(fèi)的時間較短。
表4 Type-SEBN消融模型的效果比較Table 4 Comparison of effect of Type-SEBN ablation models
針對目前關(guān)系分類任務(wù)中語義信息不夠豐富或無關(guān)分詞引入噪聲的問題,本文在BERT預(yù)訓(xùn)練模型的基礎(chǔ)上結(jié)合注意力機(jī)制,實(shí)現(xiàn)有效句意信息的提取。此外,還提出實(shí)體類向量學(xué)習(xí)方法,用以捕獲同類實(shí)體的共性信息,進(jìn)一步提高分類模型的泛化能力。通過融合實(shí)體信息、實(shí)體類型信息和句意信息,構(gòu)建Type-SEBN模型,實(shí)現(xiàn)關(guān)系分類。本文對于得出的三個特征向量進(jìn)行連接,然后將結(jié)果送入全連接層進(jìn)行關(guān)系分類。由于實(shí)體類信息、語義信息、實(shí)體信息這三個特征對于關(guān)系分類的重要性不一樣,后續(xù)工作可以考慮在全連接層之前加入注意力機(jī)制,更好地權(quán)衡這三個特征的重要性,從而進(jìn)一步提升分類效果。