论文小综 | 知识图谱中的复杂查询问答
作者 | 張文,浙江大學(xué)博士,研究興趣為知識圖譜表示與推理
????????? 陳名楊,浙江大學(xué)在讀博士生,研究興趣為知識圖譜表示與推理
本文將介紹近兩年4篇關(guān)于知識圖譜中的復(fù)雜查詢問答(Complex Query Answering, CQA)的研究工作。復(fù)雜查詢問答的目標(biāo)是回答針對知識圖譜的邏輯查詢,例如:
查詢語句由邏輯符號組成,包括存在量詞(??)、邏輯合取(??)、邏輯析取(??)、邏輯否定(??)等。
復(fù)雜查詢問答的兩個重要挑戰(zhàn)是:
(1)知識圖譜往往是不全的,因此查詢語句中的原子可能涉及不存在在知識圖譜中的但是正確的三元組,因此依靠純符號匹配的方法無法保證查詢結(jié)果的完整性;
(2)知識圖譜中包含實體之間錯綜復(fù)雜的關(guān)系,因此知識圖譜中可能有很多滿足查詢的子圖,當(dāng)知識圖譜規(guī)模較大時,查詢效率較低。
因此本文介紹的研究尋求在通過計算來解決復(fù)雜查詢問答任務(wù),將查詢問答從符號匹配的范式遷移到基于計算的范式上。
Embedding Logical Queries on Knowledge Graphs
發(fā)表會議:NeurlPS 2018
這篇文章是首先提出復(fù)雜查詢問答的研究工作,其重點解決了由存在量詞(??)和邏輯合取(??)組成的合取查詢問答,合取查詢可以定義為如下:
即合取查詢語句是由一系列邏輯合取(??)連接的原子(??)組成,每個原子由一個錨點實體(??)和實體變量(??)組成,或是由兩個實體變量組成。其中錨點實體指的是在查詢語句中給定的實體。查詢語句舉例如下:
這篇文章提出的基本思路是:將查詢語句表示為向量,通過計算查詢語句向量和實體向量之間的相似度完成回答。在進(jìn)行查詢計算前,首先會將查詢語句表示為一個查詢圖(Graph Query),然后根據(jù)查詢圖的結(jié)構(gòu)進(jìn)行查詢計算,因此這篇文章將提出的方法命名為GQE(Graph Query Embedding), 給定一個查詢,其計算流程下圖所示:
為了將查詢語句表示為向量,這篇文章提出了兩種算子:
一個是映射算子,用于將一個頭實體的向量表示映射到通過某個關(guān)系連接后的尾實體表示,文中采用了線性映射假設(shè):
一個是合取算子,用于計算兩個表示實體集合的向量的交集,可以得到查詢語句中兩個邏輯合取連接的原子的結(jié)果,文中采用如下計算方式:
其中??是需要進(jìn)行合取計算的原子表示,??是一個順序無關(guān)的計算函數(shù),??是一個線性變換矩陣。
在訓(xùn)練時,采用融合負(fù)采樣的基于間隔的損失函數(shù),并提出了兩種不同難度的負(fù)樣本采樣方法。作者在兩個構(gòu)造的CQA數(shù)據(jù)集驗證了GQE的有效性,部分實驗結(jié)果如下:
Query2Box: Reasoning?Over?Knowledge?Graphs?In?Vector?Space?Using?Box?Embeddings
發(fā)表會議:ICLR 2019
作者認(rèn)為先前的方法存在兩個問題,第一是先前的方法將查詢嵌入到向量空間中一個單一的點上,但是在實際的邏輯查詢中,往往需要建模一個實體的集合,然而這種集合用點來表示會造成困擾;第二點是之前的工作只考慮了邏輯合取,僅僅是一階邏輯中的一小部分,沒有考慮析取。
這篇文章提出Query2Box的方法Q2B,將查詢過程中的實體建模成Box Embeddings,其中一個box是由中心(Center)和偏移(Offset)表示的,一個在??中的box表示為???,如下:
將查詢中的操作建模成在box之間的操作如下:
projection operation:把每個關(guān)系表示成?
對于給定的box embedding ??和關(guān)系???,映射操作通過????完成,也就是分別相加中心和偏移;
interp operation:interp的操作是在一個box embedding的集合上進(jìn)行計算,具體操作如下
除此之外,box之間的距離計算方式是由兩部分相加得到,外部距離和內(nèi)部距離,
其中兩部分的具體計算方法如下:
上面所述的projection,interp和計算距離的圖示如下圖
模型的訓(xùn)練采用的依然是常見的負(fù)采樣的loss,如下
本篇文章對于析取的處理方式是將包含析取的邏輯查詢轉(zhuǎn)換成析取范式(DNF),也就是多個合取式的析取,這樣只需要在最后一步處理析取的操作,計算一個候選實體和一個包含析取范式的查詢??之間的距離如下,
作者在如下前五種的查詢形式下進(jìn)行訓(xùn)練,并在所有九種形式上測試,
最終的實驗結(jié)果如下:
Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs
發(fā)表會議:NeurlPS 2020
這篇文章在之前介紹的兩篇文章的基礎(chǔ)上將邏輯析取(??)、邏輯否定(??)考慮進(jìn)了查詢語句中。GQE和Q2B方法均不能直接應(yīng)用于邏輯否定(??),因為他們將實體表示為一個向量或Box,而向量或Box表示進(jìn)行否定后均不是閉合空間,會導(dǎo)致整個CQA問題的計算發(fā)生在不可控的非閉合空間中。
為了解決這個問題,這篇文章提出了將實體表示為Beta分布,因此將方法命名為BetaE。Beta分布有兩個重要的參數(shù)????, 其概率密度函數(shù)如下:?
每個實體/子查詢的表示用以下符號表示:
BetaE中包含三種算子用于查詢圖上的計算,包括前文提到的映射算子和合取算子,以及一個新提出的否定算子:
(1)映射算子:通過與關(guān)系相關(guān)的多個全連接層神經(jīng)網(wǎng)絡(luò)將輸入的實體Beta分布映射為尾實體的Beta分布。
(2)合取算子:通過attention機制,將多個輸入的Beta分布融合為一個新的Beta分布:?
一個合取算子的例子如下:
(3) 否定算子:否定算子的目的是將原來概率較高的區(qū)域變成較低的,同時原來概率較低的區(qū)域變成較高的,因此設(shè)計為
原分布和取否定之后的分布可視化如下:????
在訓(xùn)練過程中,通過計算查詢語句的Beta分布和目標(biāo)實體的Beta分布之間的KL散度估計兩者的相似度,并采用了如下基于負(fù)采樣的損失函數(shù):
對于邏輯析取(??)的處理,這篇文章提出了兩種方法:一種是通過De Morgan’s laws (DM) 將包含邏輯析取(??)的查詢語句轉(zhuǎn)換為只包含邏輯合取(??)和邏輯否定(??)的查詢語句,一種是將其轉(zhuǎn)換為析取范式(Disjunction Normal Form, DNF)。
實驗過程中,作者將BetaE在如下形式的查詢語句上進(jìn)行了驗證:
實驗結(jié)果如下:
Complex Query Answering?With Neural Link Prediction
發(fā)表會議:ICLR 2021
先前的文章都把重點放在如何對帶有邏輯的查詢進(jìn)行嵌入表示,并且訓(xùn)練的過程中需要上百萬的不同種類的邏輯查詢的訓(xùn)練數(shù)據(jù)。本篇文章試圖提出利用一種更高效的神經(jīng)鏈接預(yù)測器(Neural Link Predictor)僅僅在單跳(1-hop)的邏輯查詢e問答上進(jìn)行訓(xùn)練學(xué)習(xí)后,進(jìn)而泛化到更多的種類的復(fù)雜查詢問答。
本篇文章針對的問題和前面的文章類似,針對帶有存在量詞(??)、邏輯合取(??)、邏輯析取(??)的復(fù)雜邏輯查詢,但并未考慮邏輯否定(??)。
首先介紹方法中的兩個重要概念:
Neural Link Prediction:指的是可以將一個三元組(這里也叫做原子atom)的組成部分映射到向量空間,然后對該三元組計算分?jǐn)?shù)。本質(zhì)上就是一個score function對三元組計算真值。這里使用的是ComplEx的方法。
T-Norms:t-norm如????是邏輯合取的一種拓展,允許將離散的邏輯操作拓展到數(shù)值上的計算,有多種不同的t-nrom,例如product?t-norm?????。t-conorms是t-norms的對偶形式用于邏輯析取。
接下來對于一個復(fù)雜邏輯查詢表達(dá)為析取范式如下:
我們將其利用上面提到的neural link predictor和t-norms將其轉(zhuǎn)換為一個可以優(yōu)化的問題為:
其中??和??表示t-nrom和t-conorm,???代表通過用neural link predictor計算出來的對原子?
?計算出來的分?jǐn)?shù)。
對于上面這個優(yōu)化問題,文章提出兩種優(yōu)化方法:
Continuous Optimization:簡單來說就是找到能夠讓上面這個優(yōu)化問題最優(yōu)的???的表示,然后然后把候選的實體表示替代??的位置,找出能讓查詢最終分?jǐn)?shù)最大化的實體最為最終的查詢答案。
Combination?Optimization:利用貪婪搜索的方法對每個位置進(jìn)行實體替換,從而找到能讓優(yōu)化問題最優(yōu)的答案,類似于beam search的操作。
在實驗的過程中,因為該模型只需要訓(xùn)練一個neural link predictor,所以只需要在原子上,也就是1-hop的邏輯查詢上進(jìn)行訓(xùn)練,進(jìn)而拓展到以下形式的查詢
最終的實驗結(jié)果如下
并且利用Combination Optimization的方法進(jìn)行查詢的話,還可以得到查詢的中間答案,對最終的結(jié)果進(jìn)行解釋,示例如下
? ?
浙江大學(xué)知識引擎實驗室
?
OpenKG
開放知識圖譜(簡稱 OpenKG)旨在促進(jìn)中文知識圖譜數(shù)據(jù)的開放與互聯(lián),促進(jìn)知識圖譜和語義技術(shù)的普及和廣泛應(yīng)用。
點擊閱讀原文,進(jìn)入 OpenKG 網(wǎng)站。
總結(jié)
以上是生活随笔為你收集整理的论文小综 | 知识图谱中的复杂查询问答的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 领域应用 | 英文抗生素药物医学知识图
- 下一篇: 论文浅尝 | 利用指针生成网络的知识图谱