肖 寶,韋麗娜,李 璞,蔣運承
(1. 北部灣大學電子與信息工程學院,欽州 535011; 2. 華南師范大學計算機學院,廣州 510631;3. 鄭州輕工業(yè)大學軟件學院,鄭州 450000; 4. 廣西民族大學信息科學與工程學院,南寧 530006)
有著數(shù)以億計的三元組(頭實體,關系,尾實體)構成的知識圖譜(如Freebase、WordNet)因具有高完備性、良好的結構和豐富語義關系等特點已經(jīng)成為了Web搜索引擎[1]、問答系統(tǒng)[2]和推薦系統(tǒng)[3]等智能應用的關鍵基礎資源. 知識圖譜嵌入學習是這些基礎資源得以有效利用的重要技術手段,在語義計算、提高知識推理效率、解決數(shù)據(jù)稀疏和融合異質信息等方面起到關鍵的作用[4].
最簡單有效的知識圖譜嵌入學習模型是TransE模型[5],該模型把實體和關系映射到一個低維的語義向量空間上,空間上的關系向量是頭實體向量到尾實體向量平移的距離,其擴展模型有TransH[6]、TransR[7]和TransD[8]等. 針對Trans系列模型只考慮實體間的關系而忽略多步間接路徑的語義關系的問題,LIN等[9]提出PTransE模型,利用路徑約束資源分配的圖算法獲取多步關系路徑,并用相加、按位相乘和循環(huán)神經(jīng)網(wǎng)絡方式對路徑語義編碼組合后融入TransE模型中. 由于只考慮實體間的結構信息,Trans系列模型難以應對數(shù)據(jù)稀疏、知識的不完整和關系的二義性問題[10],學者們試圖用深度學習技術把文本、實體間的間接路徑和實體類別等復雜信息融合到知識圖譜嵌入學習中[11-14]. 其中,融入文本和實體結構信息以提高知識表示能力得到了最廣泛的關注和研究. 如:WANG等[15]設計了基于知識庫和文本聯(lián)合嵌入模型,通過模型中的對齊模型(對齊錨文本和實體)融入Wikipedia的文本信息,提高了知識嵌入模型的性能;針對文獻[15]提出的模型因錨點質量差而產(chǎn)生詞污染的問題,ZHONG等[16]把融入的信息由Wikipedia文本改成了實體描述文本;針對上述融入文本信息的研究存在忽略文本詞序且使用的實體名稱存在歧義問題,XIE等[11]提出了DKRL模型,利用卷積神經(jīng)網(wǎng)絡[17]和CBOW(Continuous Bag-of-Words)[18]2種深度學習方法捕捉隱藏在文本中的“上下文”語義信息并融入TransE模型中,取得了極其顯著的效果;針對DKRL模型存儲參數(shù)多和計算效率低的問題,F(xiàn)AN等[19]設計了一個單層的基于概率的具有同樣性能的聯(lián)合模型(RLKB模型);針對融入文本信息的模型存在噪聲問題,AN等[10]設計了一個基于文本的注意力機制的增強模型;針對融入路徑語義信息的PTransE模型把路徑上所有的關系進行組合會存在噪聲(路徑上很多關系和實體對知識表示是無用的),使得一些重要的路徑?jīng)]有得到足夠重視的問題,NIE和SUN[13]提出了TKGE模型,利用文本為不存在關系的實體建立“文本語義關系”,然后用PRA(Path Ranking Algorithm)算法[20]獲取從源結點到目的結點的多條路徑,訓練時借助Bi-LSTM[21]模型和注意力機制[22]尋找重要的路徑融合到TransE模型中,與TransE、TransR、PTransE模型相比,TKGE模型在元組分類、關系預測的任務中取得了更好的效果.
綜上所述,目前的研究仍然存在3個主要問題:(1)實體間的多步路徑的語義仍然沒有得到合理的運用,如TKGE融合的路徑仍然可能存在噪聲;(2)只有文本的淺層語義(如詞嵌入)被融合到系統(tǒng)中,隱藏的潛在文本語義沒有得到合理的利用;(3)忽略了“不同關系對路徑上的結點及其屬性的關注度應該是不同的”原則,影響了知識表示的準確性和有效性.
針對上述問題,本文提出了融合文本和路徑語義的知識圖譜嵌入學習模型(GETR,Graph Embe-dding with Text and Relation Path):首先,獲取描述文本的主題信息,學習主題和詞的向量表示并融入到實體向量表示中;然后,以隨機游走算法[23]為基礎,設計以PageRank算法與余弦相似度算法[24]為搜索策略的算法,以獲取實體間相關度最高的多步關系路徑;最后,以帶自注意力機制的Transformer模型[25]和TransE模型為基礎,設計融合文本信息和路徑語義的聯(lián)合模型學習知識圖譜的嵌入表示.
GETR模型的目的是盡可能多地融合知識圖譜內外的文本和路徑的語義信息到模型中. 實體描述文本和三元組結構信息是模型關注的重要資源,下面給出相關的基本概念.
定義1[13]三元組T={(h,r,t)},h,tE,rR,TS,其中:E、R和S分別表示知識圖譜的實體集合、關系集合和元組集合;h是頭實體,t是尾實體,r是關系;對于每一個三元組的實體h、t具有r關系. 每個實體都有描述文本.
定義2[13]路徑p=(h,r1,e1,…,em,rm,t)是知識圖譜中以實體h為起始點到目標結點實體t所經(jīng)過的由多個關系和多個實體構成的多步關系路徑,其中ri、ei分別是路徑上的第i個關系、實體,i(1,2,…,m).
要融合文本和路徑信息,需在已有的知識圖譜情況下,針對具體問題選擇和設計合適的算法. GETR模型的關鍵技術問題是文本語義擴展、文本語義融入、路徑語義信息融入和聯(lián)合訓練,設計技術路線(圖1)為:首先,用文本主題信息豐富實體描述文本的語義并獲取主題和詞嵌入向量;然后,用Bi-LSTM模型網(wǎng)絡對主題和詞向量編碼,使之成為實體表示的組成部分;最后,使用自定義的隨機游走策略從知識圖譜中獲取一條多步路徑,并對路徑語義信息編碼后融入TransE模型.
圖1 融合文本和語義路徑的知識圖譜嵌入學習技術路線圖
下面介紹GETR模型采用的關鍵技術LDA[26]、主題詞嵌入學習[27]、隨機游走算法[23]以及Transformer模型[25].
主題信息是一種潛在的文本語義,在自然語言處理領域(如語義相似度)可以起到重要的作用[28]. 通過主題信息可以觀察到文本所屬領域范圍. 類別信息在知識圖譜的知識表示學習上可以起到重要的作用[14]. 其實,主題也可以認為是實體的類別信息. LDA是一種基于概率的文檔生成模型,可以將文檔集中每篇文檔的主題以概率分布的形式給出,而主題是參與訓練詞匯的概率分布. LDA生成文檔的過程如下:
對于某一個文檔中的第i個詞wordi(i=(1,2,…,m):
(1)采樣獲取主題topici~Multinomial(θi),
(2)采樣獲取詞wordi~Multinomial(φtopici),
其中,Multinomial()為多項分布運算函數(shù),主題θi和詞φtopici分別存儲于文檔到主題概率矩陣Θ以及主題到詞的概率矩陣Φ中,而Θ和Φ通過Gibbs 采樣得到.
主題詞嵌入TWE(Topical Word Embedding)[27]是獲取主題和詞的語義表示向量的有效模型. 設有單詞序列D={word1,word2,…,wordm}及單詞相應的主題序列Z={topic1,topic2,…,topicm}. 對于單詞-主題對〈wordi,topici〉,TWE模型基于Skip-Gram設計了TWE-1、TWE-2和TWE-3模型學習主題向量和詞向量. 其中,TWE-1模型把每個主題視為一個偽詞,可以更精確地捕捉文本的語義信息. 因此,本文選擇TWE-1模型(圖2)學習主題和詞的嵌入向量.
圖2 TWE-1模型圖
TransE模型認為在三元組T=(h,r,t)中,實體h、t在關系r的向量空間中存在著h+r≈t的關系,即t是h平移r距離后的最近鄰結點. 訓練中設定損失函數(shù)為:
(1)
dr(h,t)=|lh+lr-lt|L1|L2,
(2)
(3)
其中,lh、lt、lr分別是實體h、t及關系r的向量表示,L1和L2是距離的計算方式.
隨機游走算法的思想是從給定的圖中的某一結點開始,以等概率的方式選取與之相連接的結點作為下一個起始點,采樣的轉移概率計算公式如下:
(4)
其中,ruv表示結點u與結點v的元組關系,Pu,v表示從結點u跳轉到結點v的概率,Gu是結點u的度(如果是有向圖,則為出度). 經(jīng)過多次的跳轉即可得到一條由多個結點構成的路徑.
Transformer模型是一種具有自注意力機制(Self-Attention)的序列到序列(Seq2seq)的深度學習網(wǎng)絡模型,由編碼器(Encoder)和解碼器(Decoder)構成. 由于本文處理的不是序列到序列的任務,所以只介紹GETR模型使用到的編碼器的知識:Transformer模型中,先對序列的每一步輸入進行不同的線性轉換,以獲取查詢、鍵和值3個向量,并把這些向量分別封裝構建Q、K和V3個向量矩陣;然后利用Q、K計算注意力機制的權重,計算方法是對Q和K進行放縮點乘運算,對放縮點乘運算結果應用softmax函數(shù),從而得到一個表示注意力大小的標量值;最后把標量值與向量V相乘獲取帶注意力的向量表示. 帶注意力的向量表示計算過程如圖3A所示,計算公式如下:
(5)
其中,dK是鍵向量K的維度大小.
多頭自注意力機制層(Multi-head Self-Attention)和前饋神經(jīng)網(wǎng)絡層是模型的重要組件. 為了在不同的表示子空間里學習到重要的信息,多頭自注意力機制將編碼器的輸入序列上的輸入線性轉換為多組的(Q,K,V),利用式(5)得到每頭的新向量表示,然后將新向量拼接并做線性轉換后輸入到前饋神經(jīng)網(wǎng)絡層(圖3B). 計算公式如下:
(6)
前饋神經(jīng)網(wǎng)絡層定義如下:
FFN(x)=max(0,xWf 1+bf 1)Wf 2+bf 2,
(7)
其中,f1、f2表示線性轉換,Wf 1、Wf 2和bf 1、bf 2分別是2個線性轉換的權值和偏置參數(shù).
多頭自注意力機制層和前饋神經(jīng)網(wǎng)絡層一般都后接一個相加和正則化層(Add & Normalize),此層與輸入層有一個殘參連接;正則化是層正則化[29]操作,即對每一筆數(shù)據(jù)都進行正則化;除了序列結點信息以外,模型輸入信息通常還包括序列結點位置信息,結構如圖3C所示. 位置信息編碼方式如下:
PE(pos,2i)=sin(pos/10 0002i/dmodel),
(8)
PE(pos,2i+1)=cos(pos/10 0002i/dmodel),
(9)
其中,pos是位置序號,i是位置向量的維度索引序號.
圖3 多頭自注意力機制圖[25]
GETR模型的主要步驟是:學習和分配實體描述文本詞的主題,以達到語義擴展目的;學習擴展后文本詞和主題的嵌入向量表示,并將之融合到實體向量;設計帶策略的隨機游走算法,獲取多步路徑,并組合多步路徑上的實體和關系的向量融入到TransE模型中進行聯(lián)合訓練. 模型架構見圖4.
圖4 融合文本和路徑語義的知識圖譜嵌入學習模型的架構
為了能更好地反映詞匯的主題信息,LDA模型使用的語料庫是英文Wikipedia庫. LDA模型在訓練前先清洗語料庫中對訓練無用的輔助數(shù)據(jù)(如Category、File、MediaWiki等命名空間的文件);移除文本中的停用詞并進行詞干化. 設定窗口去掉出現(xiàn)頻率過多或者過少的詞,本文把窗口數(shù)值大小設定為出現(xiàn)在不同文章的次數(shù)小于20和大于文章總數(shù)的10%. 同樣地,移除實體描述文本的停用詞和詞干化操作,然后用LDA學習到的主題庫豐富清洗后的描述文本語義,即為實體描述文本中每一個詞賦予一個主題. 每個詞有可能屬于多個主題,本文選取概率值最高的主題作為詞匯的潛在語義信息.
利用TWE-1訓練描述文本的詞主題對,獲取主題向量和詞向量表示,并將其作為Bi-LSTM模型網(wǎng)絡的輸入. 為了更好地融合主題和詞的語義信息,對于g時刻的LSTM模型的單元的輸入門Ig、忘記門Fg、輸出門Og、記憶狀態(tài)Mg和隱藏狀態(tài)hiddeng的修改公式如下:
Mg=Fg⊙Hg+Fg⊙Mg-1,
hiddeng=Og⊙tanhMg,
(10)
如果用經(jīng)典隨機游走方法從實體h游走到實體t獲取由多個關系和實體構成的路徑序列,結點的獲取會偏向于度數(shù)大的結點,而這些結點往往不是路徑上最佳的選擇. 為此,根據(jù)實體的關系和描述文本特點引入PageRank算法與余弦相似度算法,以指導算法游走的方向,從而避免游走的盲目性. PageRank的算法思想是:統(tǒng)計有向圖的所有結點的入度,入度值越大的結點越重要;余弦相似度算法是衡量文本相似度的重要方法,兩向量的夾角越小表示相關度越高. 對于結點u到結點v,設計的算法游走公式如下:
(11)
其中:ruv表示結點u與結點v的元組關系;α是權值,用于調節(jié)PageRank算法與余弦相似度算法在選擇結點時的權重;PageRank(v)是結點u的鄰接結點v的PageRank值,定義如下:
(12)
其中,a是指向結點v的結點,Ga是結點a的出度;sim(utext,vtext)定義如下:
sim(utext,vtext)=cos(Vutext、Vvtext),
(13)
其中,utext、vtext是實體結點u、v的描述文本,Vutext、Vvtext則是相應文本的向量表示. 文本向量表示由主題向量和詞向量組成:
(14)
其中,WS是文本utext或者vtext的詞集合,TFwordi是描述文本中第i個詞wordi的TF-IDF值,Vwordi、Vtopici分別是wordi及其對應主題的嵌入向量,concat(Vwordi,Vtopici)表示將Vwordi和Vtopici進行拼接操作.
帶策略的隨機游走算法獲取的路徑的結點對知識表示學習的影響作用是不同的,Transformer模型的自注意力機制使得重要的結點能夠被賦予更大的權重值. 編碼器的每一步輸入由融合了文本信息的實體向量和關系向量融合而成. 融合的方式是:首先拼接實體向量和描述文本向量,對拼接后的向量進行線性轉換,然后再將之與關系向量再次拼接和線性轉換,從而獲得編碼器的輸入向量. 組合過程公式如下:
(15)
GETR模型是一個聯(lián)合模型,訓練時包括2條路徑(圖5):一條是直接路徑(直接關系r),另一條是多步路徑(間接組合關系p).
圖5 聯(lián)合模型訓練示意圖
由式(15)、(8)、(9),將路徑中實體、實體描述文本和關系的向量連同路徑中的位置信息進行組合作為模型的輸入,與TransE模型聯(lián)合訓練. 模型設計的損失函數(shù)由2個部分構成:
L=L(h,r,t)+L(h,p,t),
(16)
其中:L(h,r,t)是直接路徑的損失函數(shù),由式(1)可得;L(h,p,t)是多步路徑的損失函數(shù). 在訓練中,關系r盡可能與組合關系p相同,所以,最小化損失函數(shù)L(h,p,t)可以轉換為損失函數(shù)L(p,r):
L(h,p,t)=L(p,r)=
log(1-d(p,r′)))),
(17)
其中,d(p,r)和d(p,r′)的計算公式如下:
d(p,r)=σ(log(exp(p·r))),
d(p,r′)=σ(log(exp(p·r′))).
(18)
模型訓練中使用隨機梯度下降方法,對所有h、r、t的向量表示約束滿足‖lh‖2≤1,‖lr‖2≤1,‖lt‖2≤1.
評測知識表示學習模型的效率最常用的任務是知識圖譜補全(實體和關系預測)以及元組分類. 為了較好地說明深度學習算法以及路徑和文本的語義信息在模型中的作用,本文將GERT模型與具有代表性的基準模型(TransE、DKRL、TKGE模型)進行比較. 基準模型實驗使用相關研究提供的源代碼,訓練和測試的數(shù)據(jù)均相同. 實驗軟件環(huán)境為:操作系統(tǒng)Ubuntu 18.04 LTS 64Bit,PyCharm,Pytorch,gensim;硬件環(huán)境:處理器Intel(R) Core(TM) i7-6700K CPU@4.0 GHZ,內存大小為32 G,NVIDIA Geforce TITAN Xp 12G GPU.
實驗數(shù)據(jù)采用數(shù)據(jù)集FB15K[11]、FB20K[11]以及WN18[10]. FB15K和FB20K中的三元組數(shù)據(jù)來自FreeBase,WN18的三元組數(shù)據(jù)來自WordNet. FB20K對FB15K的實體進行了擴展,即FB20K中部分實體并沒有出現(xiàn)在FB15K中. 數(shù)據(jù)集中的實體都有簡短的描述文本,且這些文本在數(shù)據(jù)清洗后的長度大于等于3. 數(shù)據(jù)集的信息如表1所示.
表1 數(shù)據(jù)集統(tǒng)計信息Table 1 The statistics of datasets
由表1可以看到FB20K比FB15K多了5 019個實體,訓練時訓練數(shù)據(jù)集和驗證數(shù)據(jù)集包含的三元組數(shù)據(jù)相同,但是測試集的三元組數(shù)據(jù)則不同,其目的是為了測試模型對新實體的適應程度.
尋找最佳的模型參數(shù)是模型調試的重要任務.在特定數(shù)量和質量的數(shù)據(jù)樣本以及硬件設備條件下,通常是根據(jù)相關研究總結出來的參數(shù)設定公式、已有相關模型的最優(yōu)參數(shù)和實際經(jīng)驗方面進行參數(shù)調整. 如LDA主題數(shù)的初始粗略值的確定[30]、神經(jīng)網(wǎng)絡中參數(shù)的Kaiming初始化方法[31]. 一些需要手動調整的參數(shù)可通過經(jīng)驗和觀察測試結果設置,如分類任務中的ROC曲線、神經(jīng)網(wǎng)絡層的Dropout值.對于學習率則設置衰減策略,即:每個Epoch后,學習率按指定的衰減率遞減. 為了模型測試結果的公平性,有些參數(shù)不宜取得過于極端,如設置既深又寬的神經(jīng)網(wǎng)絡模型理論上會比淺而窄的模型具有更強的學習能力. 本文按照以上方式進行模型參數(shù)設置和調整,在設置參數(shù)范圍后,尋找最優(yōu)的參數(shù)組合.
實驗中,按照相關文獻[5,11,13]設定TransE、DKRL、TKGE模型的參數(shù). 知識圖譜關系的路徑組合可能是一個龐大的集合,為了提高模型的訓練效率,與PTransE模型一樣,GETR模型只考慮長度小于等于3的路徑.
模型訓練時,GETR模型采用SGD優(yōu)化器,TWE-1、LDA模型采用Adam優(yōu)化器. 主題模型LDA的主題數(shù)topics[30]的計算公式如下:
(19)
其中,C是wikipedia的概念集合,WS是待分配主題的數(shù)據(jù)集詞匯集合. 經(jīng)過計算,LDA模型的主題數(shù)是659個. 訓練中,選擇該值附近的500、800、1 000、1 200、1 500進行訓練,通過訓練和困惑度(Perplexity)的觀察選擇最佳值. 主題向量維度dtopic和詞向量的維度dword的設置方式參考TWE的設置方法,dtopic=dword{50,100,150,200,300,400},將獲取到的主題向量和詞向量應用于20NewsGroup分類任務,分類效果最佳時的向量維度為實體文本特征向量的維度. 為了兼顧與其他基準模型比較的公平性和GETR模型的特殊性,實體和關系向量維度dentity=drelation{100,150,200,250,300}. 通過觀察發(fā)現(xiàn)當維度大于150時,TransE模型的效率提升不明顯. 但是,在融入文本語義和路徑語義信息的GETR模型上發(fā)現(xiàn)維度增加到250維之前,知識補全和實體分類的評測指標有較大幅度的提升,這可能是實體維度的增加為信息融合提供更寬裕的表征空間;式(1)和式(17)的γ{0.5,0.8,1.0};式(11)的α{0.2,0.5,0.6,0.8},α反映了結構信息和文本信息在隨機游走算法的重要程度,因為測試集中很多結點只選取了原知識庫的部分實體關系(即鏈接),難以很好地通過實體關系反映結點自身的作用,所以α值不宜過大.
神經(jīng)網(wǎng)絡的參數(shù)需要根據(jù)經(jīng)驗和實驗測試結果確定,Bi-LSTM模型的隱單元大小size的初始值一般設置為輸入和輸出的維度平均值,測試中size{128,256,512,1 024},dropout{0.2,0.5,0.8},學習率lrlstm{0.001,0.01,0.1,1}. GETR模型的編碼器模塊參數(shù)多、計算復雜且耗時,且受限于硬件要求,不宜設置過高的參數(shù). 本文在Transformer模型的基礎上對編碼器進行參數(shù)的設置:層數(shù)layers設置為8,序列長度seq_length設置為路徑長度(為3),Self-Attention的頭數(shù)q分別設置為4、6、8、12,學習率lratt設置為0.000 02,訓練數(shù)據(jù)批大小batchsize分別設置為64、128、256、512,訓練迭代次數(shù)iter是1 000,lrloss分別設置為0.001、0.01、0.1、1,γ分別設置為0.5、0.8、1.
經(jīng)過多輪參數(shù)組合測試,得到的最佳設置參數(shù)是topics=800,dtopic=dword=300,dentity=drelation=200,γ=0.8,α=0.2,size=512,dropout=0.5,lrlstm=0.01,q=8,lratt=0.000 5,batchsize=512,lrloss=0.001.
知識補全的任務是對于給定的三元組(h,r,t),能用算法尋找其中丟失的某一項. 知識補全分為實體補全和關系補全. 評價模型優(yōu)劣的常用指標是平均數(shù)排名(Mean rank,即所有正確元組所排位置的平均值)和前n命中率(Hit@n,即排序中前n位里有正確元組數(shù)所占比例).
測試中,首先對測試集中的每個元組的頭實體、尾實體和關系分別用訓練集的所有實體和關系進行替換,以得到3組測試集;然后,用式(2)及L2距離計算測試集中的元組的距離值,并按該值進行升序排序(值越小,表示效果越好);最后,在排序的元組中查找并記錄正確的三元組所在的排名位置并計算這些排名位置的平均值和前n命中率. 其中,實體補全評測通常采用Hit@10,關系補全評測則用Hit@1. 評測數(shù)據(jù)可能存在1個問題:測試集中存在被替換關系或者實體后的元組被認為是錯誤元組,但這些錯誤元組可能存在于訓練集或者FreeBase中(即是正確的元組),這需要在排序結果中過濾掉這些元組. 所以,評測結果分為2種:一種是過濾前的結果,一種是過濾后的結果. 由GETR模型和TransE、DKRL、TKGE模型在FB15K和WN18數(shù)據(jù)集的實體補全和關系補全任務評測結果(表2至表5)可知:(1)GETR模型比其他的基準模型具有更精準的知識表示能力;(2)融合文本信息的模型都比TransE模型的效率高,其原因是文本的語義信息是基于結構的翻譯模型的有利補充;(3)使用融合文本和路徑的語義信息比只使用文本語義信息在提高模型的知識表示能力方面更加有效;(4)與TKGE模型相比,GETR模型在實體預測和關系預測中的平均數(shù)排名(Mean rank)分別至少提升了1位和0.09位,而實體預測的Hit@10和關系預測的Hit@1至少分別提升了0.8%和0.9%,可能的原因有2個:一是使用了主題模型擴展了文本的語義,二是帶自注意力機制的Transformer模型比LSTM模型具有更強的學習能力.
表2 實體預測在FB15K數(shù)據(jù)集中的評測結果Table 2 The evaluation results of entity prediction on FB15K
表3 關系預測在FB15K數(shù)據(jù)集中的評測結果Table 3 The evaluation results of link prediction on FB15K
表4 實體預測在WN18數(shù)據(jù)集中的評測結果Table 4 The evaluation results of entity prediction on WN18
表5 關系預測在WN18數(shù)據(jù)集中的評測結果Table 5 The evaluation results of link prediction on WN18
在許多知識庫中,幾乎每一個實體都有一個以上的類別,如實體Barack_Obama在Dbpedia中有Politician、President和Person等123個類別.文獻[11]在實體關系集FB15K和知識庫Freebase的基礎上,專為實體分類任務構建了一個包含50個類別(共13 445個實體)的基準數(shù)據(jù)集,其中訓練集實體、測試集實體數(shù)分別為12 113、1 332個. 構建的方法是抽取FB15K中所有實體的所有類別,選取出現(xiàn)頻率最高的類別(不包含所有實體都擁有的公共類別)及與類別相關的實體作為數(shù)據(jù)集. 因為WN18中的實體沒有明確的類別信息,所以分類任務只在FB15K和FB20K中進行測試.
實體分類任務是對給定的實體進行實體類型預測,這是一種多標簽的元組分類任務(在數(shù)據(jù)集中,很多實體可能隸屬于多個類型). 實體分類評估指標是MAP(Mean Average Precision)[22],其計算方式是:對具有m個類別的實體分類,設對某個實體分類得到k個正確類別的位置分別是p1,p2,…,pk(k≤m),n個測試實體分類的MAP為:
(20)
實驗中,使用10次的十折交叉驗證(10-fold cross-validation)方式抽取數(shù)據(jù),使用scikit-learn的一對多策略的邏輯回歸(One-vs-Rest Logistic Regression)算法完成分類的訓練和評測. TransE模型沒有在FB20K數(shù)據(jù)集上測試,原因是在該數(shù)據(jù)集上有較多新實體,TransE模型只考慮三元組的結構信息,測試結果比較差,其數(shù)據(jù)沒有可比性. 由實體分類評測結果(表6)可知:GETR模型在FB15K、FB20K數(shù)據(jù)集上進行實體分類,結果優(yōu)于其他基準模型;GETR模型在2個數(shù)據(jù)集上的MAP分別比同樣融入文本和路徑信息的TKGE模型高出2.3、3.6,表明合理地利用文本的潛在語義和多步語義路徑信息對模型的效率提升具有很大的作用.
表6 實體分類的評測結果Table 6 The evaluation results of triple classification
無論是在知識補全還是實體分類任務上,本文設計的GETR模型比TransE、DKRL、TKGE模型的表現(xiàn)更優(yōu). 訓練中,因為需要比基準模型更大的內存空間存儲實體向量、詞向量、主題向量和模型參數(shù)及自身運算復雜性,GETR模型的時間復雜度和空間復雜度更高. 但是,與同樣融入路徑語義的TKGE模型相比,GETR模型設置的路徑隨機游走策略可以更快速地尋找到高相關度的路徑,降低了模型處理多條路徑的復雜性,尤其在大規(guī)模的知識圖譜知識庫上,更能凸顯GETR模型的優(yōu)勢.
本文提出的融合文本和路徑語義的知識圖譜嵌入學習模型(GETR模型),利用了LDA和TWE獲取實體描述文本的主題向量和詞向量,并用修改過的Bi-LSTM模型封裝文本語義;設計了具有選擇策略的隨機游走算法獲取實體間的多步路徑;引入Transformer模型獲取路徑語義信息并融合到TransE模型進行聯(lián)合訓練. 實驗表明:在實體預測和實體分類任務評測中,GETR模型比TransE、DKRL、TKGE模型的表現(xiàn)更優(yōu).
GETR模型存在2個主要優(yōu)點:一是融入了文本主題信息使得實體具有更強更準確的表征能力,能有效地應對關系和實體的歧義問題;二是設計的隨機游走算法可以快速地獲取路徑,在大規(guī)模的知識圖譜中可以降低時間和空間的復雜度. 該模型適用于具有豐富的實體描述文本以及結構信息的知識圖譜庫,但仍存在一些問題:(1)獲取游走的路徑相對較短,游走策略只簡單利用了結構和文本信息,則會漏掉一些重要的實體和關系信息,甚至會有一些噪聲被錯誤地融入到模型中,這需要尋找一種效率更高的算法或者尋找更多有效的信息(如實體的分類信息);(2)模型的參數(shù)較多,訓練復雜,難以保證所有參數(shù)設置的組合是最合理和最有效的. 下一步的工作將探索更加快捷、可靠的路徑游走策略,改進復雜模型,在更大的知識圖譜庫中驗證算法,從而獲得能更好地適應不同智能應用系統(tǒng)的知識圖譜嵌入表示模型.