官术网_书友最值得收藏!

2.5 知識圖譜的向量表示方法

與前面所述的表示方法不同的是,本節(jié)要描述的方法是把知識圖譜中的實體和關(guān)系映射到低維連續(xù)的向量空間,而不是使用基于離散符號的表達(dá)方式。

2.5.1 知識圖譜表示的挑戰(zhàn)

在前面提到的一些知識圖譜的表示方法中,其基礎(chǔ)大多是以三元組的方法對知識進(jìn)行組織。在具體的知識庫網(wǎng)絡(luò)中,節(jié)點對應(yīng)著三元組的頭實體和尾實體,邊對應(yīng)著三元組的關(guān)系。雖然這種離散的符號化的表達(dá)方式可以非常有效地將數(shù)據(jù)結(jié)構(gòu)化,但是在當(dāng)前的大規(guī)模應(yīng)用上也面臨著巨大的挑戰(zhàn)。

知識以基于離散符號的方法進(jìn)行表達(dá),但這些符號并不能在計算機(jī)中表達(dá)相應(yīng)語義層面的信息,也不能進(jìn)行語義計算,對下游的一些應(yīng)用并不友好。在基于網(wǎng)絡(luò)結(jié)構(gòu)的知識圖譜上進(jìn)行相關(guān)應(yīng)用時,因為圖結(jié)構(gòu)的特殊性,應(yīng)用算法的使用與圖算法有關(guān),相關(guān)算法具有較高的復(fù)雜度,面對大規(guī)模的知識庫很難擴(kuò)展。

數(shù)據(jù)具有一定的稀疏性,現(xiàn)實中的知識圖譜無論是實體還是關(guān)系都有長尾分布的情況,也就是某一個實體或關(guān)系具有極少的實例樣本,這種現(xiàn)象會影響某些應(yīng)用的準(zhǔn)確率。

從上面的問題可以看出,對于當(dāng)前的數(shù)據(jù)量較大的知識圖譜、變化各異的應(yīng)用來說,需要改進(jìn)傳統(tǒng)的表示方法。

2.5.2 詞的向量表示方法

在介紹有關(guān)知識圖譜的向量表示方法之前,在此先介紹詞的表示方法。在自然語言處理領(lǐng)域中,因為離散符號化的詞語并不能蘊涵語義信息,所以將詞映射到向量空間,這不僅有利于進(jìn)行相應(yīng)的計算,在映射的過程中也能使相關(guān)的向量蘊涵一定的語義。知識圖譜中的向量表示方法也在此次有所借鑒。

1.獨熱編碼

傳統(tǒng)的獨熱編碼(One-Hot Encoding)方法是將一個詞表示成一個很長的向量,該向量的維度是整個詞表的大小。對于某一個具體的詞,在其獨熱表示的向量中,除了表示該詞編號的維度為1,其余都為0。如圖2-19所示,假如詞Rome的編號為1,則在其獨熱編碼中,僅有維度1是1,其余都是0。這種表示方法雖然簡單,但是可以看出其并沒有編碼語義層面的信息,稀疏性非常強(qiáng),當(dāng)整個詞典非常大時,編碼出向量的維度也會很大。

圖2-19 獨熱編碼示例1

2.詞袋模型

詞袋模型(Bag-of-Words,BoW)是一種對文本中詞的表示方法。該方法將文本想象成一個裝詞的袋子,不考慮詞之間的上下文關(guān)系,不關(guān)心詞在袋子中存放的順序,僅記錄每個詞在該文本(詞袋)中出現(xiàn)的次數(shù)。具體的方法是先收集所有文本的可見詞匯并組成一個詞典,再對所有詞進(jìn)行編號,對于每個文本,可以使用一個表示每個詞出現(xiàn)次數(shù)的向量來表示,該向量的每一個維度的數(shù)字表示該維度所指代的詞在該文本中出現(xiàn)的次數(shù)。如圖2-20所示,在文本doc_1中,Rome出現(xiàn)32次,Paris出現(xiàn)14次,F(xiàn)rance出現(xiàn)0次。

圖2-20 獨熱編碼示例2

3.詞向量

上面對詞的表示方法并沒有考慮語義層面的信息,為了更多地表示詞與詞之間的語義相似程度,提出詞的分布式表示,也就是基于上下文的稠密向量表示法,通常稱為詞向量或詞嵌入(Word Embedding)。產(chǎn)生詞向量的手段主要有三種:

●Count-based。基于計數(shù)的方法,簡單說就是記錄文本中詞的出現(xiàn)次數(shù)。

●Predictive。基于預(yù)測的方法,既可以通過上下文預(yù)測中心詞,也可以通過中心詞預(yù)測上下文。

●Task-based。基于任務(wù)的,也就是通過任務(wù)驅(qū)動的方法。通過對詞向量在具體任務(wù)上的表現(xiàn)效果對詞向量進(jìn)行學(xué)習(xí)。

對詞向量的產(chǎn)生方法到現(xiàn)在為止有較多的研究,在本章中并不展開討論,下面簡單介紹經(jīng)典的開源工具word2vec[8]中包含的CBoW和Skip-gram兩個模型。

CBoW也就是連續(xù)詞袋模型(Continuous Bag-of-Words),和之前提到的BoW相似之處在于該模型也不用考慮詞序的信息。其主要思想是,用上下文預(yù)測中心詞,從而訓(xùn)練出的詞向量包含了一定的上下文信息。如圖2-21(a)所示,其中wn是中心詞, wn?2,wn?1,wn+1,wn+2為該中心詞的上下文的詞。將上下文詞的獨熱表示與詞向量矩陣E相乘,提取相應(yīng)的詞向量并求和得到投影層,然后再經(jīng)過一個Softmax層最終得到輸出,輸出的每一維表達(dá)的就是詞表中每個詞作為該上下文的中心詞的概率。整個模型在訓(xùn)練的過程就像是一個窗口在訓(xùn)練語料上進(jìn)行滑動,所以被稱為連續(xù)詞袋模型。

圖2-21 CBoW模型

Skip-gram的思想與CBoW恰恰相反,其考慮用中心詞來預(yù)測上下文詞。如圖2-21(b)所示,先通過中心詞的獨熱表示從詞向量矩陣中得到中心詞的詞向量得到投影層,然后經(jīng)過一層Softmax得到輸出,輸出的每一維中代表某個詞作為輸入中心詞的上下文出現(xiàn)的概率。

在訓(xùn)練好的詞向量中可以發(fā)現(xiàn)一些詞的詞向量在連續(xù)空間中的一些關(guān)系,如圖2-22所示。

圖2-22 詞向量在連續(xù)空間中的關(guān)系

vec(Rome)?vec(Italy)≈vec(Paris)?vec(France)

可以看出,Roma和Italy之間有is-capital-of的關(guān)系,而這種關(guān)系恰好也在Paris和France之間出現(xiàn)。通過兩對在語義上關(guān)系相同的詞向量相減可以得出相近的結(jié)果,可以猜想出Roma和Italy的詞向量通過簡單的相減運算,得到了一種類似is-capital-of關(guān)系的連續(xù)向量,而這種關(guān)系的向量可以近似地平移到其他具有類似關(guān)系的兩個詞向量之間。這也說明了經(jīng)過訓(xùn)練帶有一定語義層面信息的詞向量具有一定的空間平移性。

上面所說的兩個詞之間的關(guān)系,恰好可以簡單地理解成知識圖譜中的關(guān)系(relation)、(Rome, is-capital-of, Italy)和(Paris, is-capital-of, France),可以看作是知識圖譜中的三元組(triple),這對知識圖譜的向量表示產(chǎn)生了一定的啟發(fā)。

2.5.3 知識圖譜嵌入的概念

為了解決前面提到的知識圖譜表示的挑戰(zhàn),在詞向量的啟發(fā)下,研究者考慮如何將知識圖譜中的實體和關(guān)系映射到連續(xù)的向量空間,并包含一些語義層面的信息,可以使得在下游任務(wù)中更加方便地操作知識圖譜,例如問答任務(wù)[9]、關(guān)系抽取[10]等。對于計算機(jī)來說,連續(xù)向量的表達(dá)可以蘊涵更多的語義,更容易被計算機(jī)理解和操作。把這種將知識圖譜中包括實體和關(guān)系的內(nèi)容映射到連續(xù)向量空間方法的研究領(lǐng)域稱為知識圖譜嵌入(Knowledge Graph Embedding)、知識圖譜的向量表示、知識圖譜的表示學(xué)習(xí)(Representation Learning)、知識表示學(xué)習(xí)。

類似于詞向量,知識圖譜嵌入也是通過機(jī)器學(xué)習(xí)的方法對模型進(jìn)行學(xué)習(xí),與獨熱編碼、詞袋模型的最大區(qū)別在于,知識圖譜嵌入方法的訓(xùn)練需要基于監(jiān)督學(xué)習(xí)。在訓(xùn)練的過程中,可以學(xué)習(xí)一定的語義層信息,詞向量具有的空間平移性也簡單地說明了這點。類似于詞向量,經(jīng)典的知識圖譜嵌入模型TransE的設(shè)計思想就是,如果一個三元組(h, r, t)成立,那么它們需要符合h+r ≈ t關(guān)系,例如:

vec(Rome)+vec(is?capital?of)≈vec(Italy)

所以,在知識圖譜嵌入的學(xué)習(xí)過程中,不同的模型從不同的角度把相應(yīng)的語義信息嵌入知識圖譜的向量表示中,如圖2-23所示。

圖2-23 語義信息嵌入知識圖譜的向量表示中

2.5.4 知識圖譜嵌入的優(yōu)點

研究者將目光從傳統(tǒng)的知識圖譜表示方法轉(zhuǎn)移到知識圖譜的嵌入方法,是因為與之前的方法相比,用向量表達(dá)實體和關(guān)系的知識圖譜嵌入方法有很多優(yōu)點。

使用向量的表達(dá)方式可以提高應(yīng)用時的計算效率,當(dāng)把知識圖譜的內(nèi)容映射到向量空間時,相應(yīng)的算法可以使用數(shù)值計算,所以計算的效率也會同時提高。

增加了下游應(yīng)用設(shè)計的多樣性。用向量表示后,知識圖譜將更加適用于當(dāng)前流行的機(jī)器學(xué)習(xí)算法,例如神經(jīng)網(wǎng)絡(luò)等方法。因為下游應(yīng)用輸入的并不再是符號,所以可以考慮的方法也不會僅局限于圖算法。

將知識圖譜嵌入作為下游應(yīng)用的預(yù)訓(xùn)練向量輸入,使得輸入的信息不再是孤立的不包含語義信息的符號,而是已經(jīng)經(jīng)過一次訓(xùn)練,并且包含一定信息的向量。

如上所述,知識圖譜的嵌入方法可以提高計算的效率,增加下游應(yīng)用的多樣性,并可以作為預(yù)訓(xùn)練,為下游模型提供語義支持,所以對其展開的研究具有很大的應(yīng)用價值和前景。

2.5.5 知識圖譜嵌入的主要方法

多數(shù)知識圖譜嵌入模型主要依靠知識圖譜中可以直接觀察到的信息對模型進(jìn)行訓(xùn)練,也就是說,根據(jù)知識圖譜中所有已知的三元組訓(xùn)練模型。對于這類方法,常常只需訓(xùn)練出來的實體表示和矩陣表示滿足被用來訓(xùn)練的三元組即可,但是這樣的結(jié)果往往并不能完全滿足所有的下游任務(wù)。所以,當(dāng)前也有很多的研究者開始關(guān)注怎么利用一些除知識圖譜之外的額外信息訓(xùn)練知識圖譜嵌入。這些額外的信息包括實體類型(Entity Types)、關(guān)系路徑(Relation Paths)等。

根據(jù)有關(guān)知識圖譜嵌入的綜述[11],將知識圖譜嵌入的方法分類介紹如下。

1.轉(zhuǎn)移距離模型

轉(zhuǎn)移距離模型(Translational Distance Model)的主要思想是將衡量向量化后的知識圖譜中三元組的合理性問題,轉(zhuǎn)化成衡量頭實體和尾實體的距離問題。這一方法的重點是如何設(shè)計得分函數(shù),得分函數(shù)常常被設(shè)計成利用關(guān)系把頭實體轉(zhuǎn)移到尾實體的合理性的函數(shù)。

受詞向量的啟發(fā),由詞與詞在向量空間的語義層面關(guān)系,可以拓展到知識圖譜中頭實體和尾實體在向量空間的關(guān)系。也就是說,同樣可以考慮把知識圖譜中的頭實體和尾實體映射到向量空間中,且它們之間的聯(lián)系也可以考慮成三元組中的關(guān)系。TransE[12]便是受到了詞向量中平移不變性的啟發(fā),在TransE中,把實體和關(guān)系都表示為向量,對于某一個具體的關(guān)系(head, relation, tail),把關(guān)系的向量表示解釋成頭實體的向量到尾實體的向量的轉(zhuǎn)移向量(Translation vector)。也就是說,如果在一個知識圖譜中,某一個三元組成立,則它的實體和關(guān)系需要滿足關(guān)系head+relation≈tail。

2.語義匹配模型

相比于轉(zhuǎn)移距離模型,語義匹配模型(Semantic Matching Models),更注重挖掘向量化后的實體和關(guān)系的潛在語義。該方向的模型主要是RESCAL[13]以及它的延伸模型。

RESCAL模型的核心思想是將整個知識圖譜編碼為一個三維張量,由這個張量分解出一個核心張量和一個因子矩陣,核心張量中每個二維矩陣切片代表一種關(guān)系,因子矩陣中每一行代表一個實體。由核心張量和因子矩陣還原的結(jié)果被看作對應(yīng)三元組成立的概率,如果概率大于某個閾值,則對應(yīng)三元組正確;否則不正確。其得分函數(shù)可以寫成

DistMul[14]通過限制Mr為對角矩陣簡化RESCAL模型,也就是說其限制Mr=diag(r)。但因為是對角矩陣,所以存在h?diag(r)t=t?diag(r)h,也就是說這種簡化的模型只天然地假設(shè)所有關(guān)系是對稱的,顯然這是不合理的。ComplEx[15]模型考慮到復(fù)數(shù)的乘法不滿足交換律,所以在該模型中實體和關(guān)系的向量表示不再依賴實數(shù)而是放在了復(fù)數(shù)域,從而其得分函數(shù)不具有對稱性。也就是說,對于非對稱的關(guān)系,將三元組中的頭實體和尾實體調(diào)換位置后可以得到不同的分?jǐn)?shù)。

3.考慮附加信息的模型

除了僅僅依靠知識庫中的三元組構(gòu)造知識圖譜嵌入的模型,還有一些模型考慮額外的附加信息進(jìn)行提升。

實體類型是一種容易考慮的額外信息。在知識庫中,一般會給每個實體設(shè)定一定的類別,例如Rome具有city的屬性、Italy具有country的屬性。最簡單的考慮實體類型的方法是在知識圖譜中設(shè)立類似于IsA這樣的可以表示實體屬性的關(guān)系,例如

(Rome,IsA,city)

(Italy,IsA,Country)

這樣的三元組。當(dāng)訓(xùn)練知識圖譜嵌入的時候,考慮這樣的三元組就可以將屬性信息考慮到向量表示中。也有一些方法[16]考慮相同類型的實體需要在向量表示上更加接近。

關(guān)系路徑也可以稱為實體之間的多跳關(guān)系(Multi-hop Relationships),一般就是指可以連接兩個實體的關(guān)系鏈,例如

(Rome,is?capital?of,Italy)

(Italy,is?country?of,Europe).

從Rome到Europe的關(guān)系路徑就是一條is?capital?of→is?country?of關(guān)系鏈。當(dāng)前很多方法也嘗試考慮關(guān)系路徑來提升嵌入模型,這里的關(guān)鍵問題是考慮如何用相同的向量表達(dá)方式來表達(dá)路徑。在基于路徑的TransE,也就是PTransE[17]中,考慮了相加、相乘和RNN三種用關(guān)系表達(dá)關(guān)系路徑的方法:

p=r1+r2+?+rl

p=r1?r2???rl

ci=f(W[ci?1;ri]).

在基于RNN的方法中,令c1=r1并且一直遍歷路徑中的關(guān)系,直到最終p=cn。對于某一個知識庫中存在的三元組,其兩個實體間的關(guān)系路徑p需要和原本兩個實體間關(guān)系的向量表示相接近。

文本描述(Textual Descriptions)指的是在一些知識圖譜中,對實體有一些簡要的文本描述,如圖2-24所示,這些描述本身具有一定的語義信息,對提高嵌入的質(zhì)量有一定的提升。除了某些知識庫本身具有的文本描述,也可以使用外部的文本信息和語料庫。Wang[18]提出了一種在知識圖譜嵌入的過程中使用文本信息的聯(lián)合模型,該模型分三個部分:知識模型、文本模型和對齊模型。其中,知識模型對知識圖譜中的實體和關(guān)系做嵌入,這是一個TransE的變種;文本模型對語料庫中詞語進(jìn)行向量化,這是一個Skip-gram模型的變種;對齊模型用來保證知識圖譜中的實體和關(guān)系與單詞的嵌入在同一個空間中。聯(lián)合模型在訓(xùn)練時降低來自三個子模型的損失之和。

圖2-24 文本描述示例

邏輯規(guī)則(Logical Rules)也是常被用來考慮的附加信息,這里討論的重點主要是霍恩子句,例如簡單規(guī)則

?x,y:IsDirectorOf(x,y)?BeDirectedBy(y,x)

說明了兩個不同的關(guān)系之間的關(guān)系。Guo[19]提出了一種以規(guī)則為指導(dǎo)的知識圖譜嵌入方法,其中提出的軟規(guī)則(Soft rule)指的是使用AMIE+規(guī)則學(xué)習(xí)方法在知識圖譜中挖掘的帶有置信度的規(guī)則,該方法的整體框架是一個迭代的過程,其中包含兩個部分,稱為軟標(biāo)簽預(yù)測階段(Soft Label Prediction)和嵌入修正階段(Embedding Rectification)。簡單來說,就是講規(guī)則學(xué)習(xí)和知識圖譜嵌入學(xué)習(xí)互相迭代,最后使得知識圖譜嵌入可以融入一定的規(guī)則信息。

2.5.6 知識圖譜嵌入的應(yīng)用

在知識圖譜嵌入的發(fā)展中,也有很多的相關(guān)應(yīng)用一起發(fā)展起來,它們和知識圖譜嵌入之間有著相輔相成的關(guān)系。本小節(jié)將簡單介紹一些典型的應(yīng)用。

1.鏈接預(yù)測

鏈接預(yù)測(Link Prediction)指通過一個已知的實體和關(guān)系預(yù)測另一個實體,或者通過兩個實體預(yù)測關(guān)系。簡單來說,也就是(h,r,?),(?,r,t),(h,?,t)三種知識圖譜的補(bǔ)全任務(wù),被稱為鏈接預(yù)測。

當(dāng)知識圖譜的嵌入被學(xué)習(xí)完成后,知識圖譜嵌入就可以通過排序完成。例如需要鏈接預(yù)測(Roma, is-capital-of, ?),可以將知識圖譜中的每個實體都放在尾實體的位置上,并且放入相應(yīng)的知識圖譜嵌入模型的得分函數(shù)中,計算不同實體作為該三元組的尾實體的得分,也就是該三元組的合理性,得分最高的實體會被作為鏈接預(yù)測的結(jié)果。

鏈接預(yù)測也常被用于評測知識圖譜嵌入。一般來說,會用鏈接預(yù)測的正確答案的排序評估某種嵌入模型在鏈接預(yù)測上的能力,比較常見的參數(shù)有平均等級(Mean Rank)、平均倒數(shù)等級(Mean Reciprocal Rank)和命中前n(Hist@n)。

2.三元組分類

三元組分類(Triple Classification)指的是給定一個完整的三元組,判斷三元組的真假。這對于訓(xùn)練過的知識圖譜向量來說非常簡單,只需要把三元組各個部分的向量表達(dá)帶入相應(yīng)的知識圖譜嵌入的得分函數(shù),三元組的得分越高,其合理性和真實性越高。

3.實體對齊

實體對齊(Entity Resolution)也稱為實體解析,任務(wù)是驗證兩個實體是否指代或者引用的是同一個事物或?qū)ο蟆T撊蝿?wù)可以刪除同一個知識庫中冗余的實體,也可以在知識庫融合的時候從異構(gòu)的數(shù)據(jù)源中找到相同的實體。一種方法是,如果需要確定x、y兩個實體指代同一個對象有多大可能,則使用知識圖譜嵌入的得分函數(shù)對三元組(x, EqualTo, y)打分,但這種方法的前提是需要在知識庫中存在EqualTo關(guān)系。也有研究者提出完全根據(jù)實體的向量表示判斷,例如設(shè)計一些實體之間的相似度函數(shù)來判斷兩個實體的相似程度,再進(jìn)行對齊。

4.問答系統(tǒng)

利用知識圖譜完成問答系統(tǒng)是該任務(wù)的一個研究方向,該任務(wù)的重心是對某一個具體的通過自然語言表達(dá)的問題,使用知識圖譜中的三元組對其進(jìn)行回答,如下:

A: Where is the capital of Italy?

Q: Rome(Rome, is-capital-of, Italy)

A: Who is the president of USA?

Q: Donald Trump(Donald Trump, is-president-of, USA)

文獻(xiàn)[9]介紹了一種借助知識圖譜嵌入完成該問題的方法。簡單來說就是設(shè)計一種得分函數(shù),使問題的向量表示和其正確答案的向量表示得分較高。S(q,a)是被設(shè)計出來的得分函數(shù)

S(q,a)=(Wφ(q))?(Wψ(a)).

式中,W為包含詞語、實體和關(guān)系的向量表示的矩陣;φ(q)為詞語出現(xiàn)的稀疏向量;ψ(a)為實體和關(guān)系出現(xiàn)的稀疏向量。簡單來說,Wφ(q)和Wψ(a)可以分別表示問題和答案的向量表示。當(dāng)a是q的正確答案時,得分函數(shù)S(q,a)被期望得到一個較高的分?jǐn)?shù),反之亦然。

5.推薦系統(tǒng)

推薦系統(tǒng)的本質(zhì)是對用戶推薦其沒有接觸過的、但有可能會感興趣或者購買的服務(wù)或產(chǎn)品,包括電影、書籍、音樂、商品等。協(xié)同過濾算法(Collaborative Filtering)對用戶和物品項目之間的交互進(jìn)行建模并作為潛在表示取得了很好的效果。

在知識圖譜嵌入的發(fā)展下,推薦系統(tǒng)也嘗試借助知識圖譜的信息提高推薦系統(tǒng)的能力。例如,Zhang[20]嘗試知識圖譜中的三元組、文本信息和圖像信息對物品項目進(jìn)行包含一定語義的編碼得到相應(yīng)的向量表示,然后使用協(xié)同過濾算法對用戶進(jìn)行向量表示,對兩個向量表示相乘得到分?jǐn)?shù),得分越高說明該用戶越喜好該商品。

主站蜘蛛池模板: 呼伦贝尔市| 大理市| 阿拉善盟| 安阳县| 措勤县| 赤城县| 泗洪县| 西昌市| 潼南县| 晋江市| 临漳县| 武强县| 怀来县| 连山| 元朗区| 万盛区| 晋江市| 阳信县| 唐海县| 封丘县| 安泽县| 广德县| 吴忠市| 靖安县| 达日县| 永泰县| 郸城县| 绥阳县| 太湖县| 金乡县| 安徽省| 大名县| 白水县| 永顺县| 全椒县| 竹北市| 滨海县| 九江县| 同德县| 方正县| 平南县|