Categories
程式開發

亞馬遜組合知識圖譜的新方法


知識圖譜是以實體為頂點、關係為邊構成的有向圖,實體具有實體類型。知識圖譜在搜索引擎、個人助理等領域用途很大。 Amazon 的知識圖譜的使命是回答關於產品和相關知識的一切問題。知識圖譜在 Amazon 有著非常重要的應用。日前,Amazon 為了將他們不同的知識圖譜進行組合,最後使用了新穎的跨圖注意力(cross-graph-attention)機制和自註意力(self-attention)機制,發現這兩種機制能夠實現最先進的性能。 InfoQ 中文站翻譯並分享此文,以饗對知識圖譜感興趣的讀者。

知識圖譜(Knowledge Graph)是表示信息的一種方式,相比傳統數據庫,知識圖譜更容易捕獲複雜的關係。在 Amazon,我們使用知識圖譜來表示 Amazon.com 上產品類型之間的層次關係、Amazon Music 和 Prime Video 上創作者和內容之間的關係,以及 Alexa 的問答服務的一般信息等等。

將知識圖譜進行擴展,通常需要將其餘另一個知識圖譜集成。但是,不同的知識圖譜可能對同一個實體(Entity)使用了不同的術語,這可能會導致集成過程中出現錯誤和不一致現象。因此,我們就需要某種自動化技術,能夠進行實體對齊(Entity Alignment),或者確定不同知識圖譜的哪些元素引用的是相同的實體。

譯註實體(Entity)是指客觀存在並可相互區別的事物,包括具體的人、事、物、抽象的概念或聯繫,知識圖譜中包含多種類別的實體。實體對齊(Entity Alignment)也被稱作實體匹配(Entity Matching),是指對於異構數據源知識圖譜中的各個實體,找出屬於現實世界中的同一實體。是指多個異構數據源和實體,多源數據源的融合。

在一篇被網絡會議接受的論文中,我和同仁描述了實體對齊的一種新技術,該技術將實體名稱附近的圖譜信息納入考慮範圍。在涉及兩個電影數據庫集成的測試中,我們的系統在10 個基準系統中性能最好的基礎上提高了10%,這一指標被稱為“精確回收曲線下面的面積”(area under the precision -recall curve,PRAUC),它評估了真正類(true-positive)率和真負類(true-negative)率之間的權衡。

儘管我們的系統性能有所提高,但它仍然具有很高的計算效率。我們用於比較的基準系統之一,是一個基於神經網絡的系統,名為 DeepMatcher,它是專門為可伸縮性而設計的。在涉及電影數據庫和音樂數據庫的兩項任務中,我們的系統與 DeepMatcher 相比,訓練時間減少了 95%,同時在 PRAUC 方面帶來了重大的改進。

圖是一種數學對象,它由節點(通常描述為圓)和邊(通常描述為連接圓的線段)組成。網絡圖、組織圖表、和流程圖都是圖的常見示例。

我們的工作專門解決了多類型知識圖譜的合併問題,或者節點表示不止一種類型實體的知識圖譜的合併問題。例如,在我們處理的電影數據集中,節點可能表示演員、導演、電影、電影類型等等。而邊表示實體之間的關係,如扮演、導演、編劇等等。

亞馬遜組合知識圖譜的新方法 1

此實例闡明了實體對齊的挑戰。 IMDB 將電影《夢無止境》(Don’t Stop Dreaming)的作者列為 Aditya Raj,但 Freebase 的數據庫卻將作者列為 Adiya Raj Kapoor。他們是同一個人嗎?

我們的系統是圖神經網絡的一個例子,這是一種神經網絡類型,最近開始流行於與圖相關的任務。為了理解它的工作原理,請考慮上面所述的 Freebase 示例,其中包含我們所稱的表示 Aditya Raj Kapoor 的節點的“鄰域”。這是一個兩跳(two-hop)局部圖,表示包含連接到 Kapoor 的節點(一跳)和連接到它們的節點(兩跳),但它在知識圖譜中並沒有進一步展開。因此,該鄰域由六個節點組成。

對於標準圖神經網絡(Graph Neural Network,GNN),第一步稱為第 0 級步驟,是嵌入每個節點,或者將其轉換為固定長度的向量表示。這種表示是為了獲取有關對網絡任務有用的節點屬性信息(在本例中為實體對齊),這種信息是在網絡訓練過程中學到的。

接下來,在第 1 級步驟中,網絡考慮的是中心節點(此處是 Aditya Raj Kapoor)以及與它相距一跳的節點(《夢無止境》和《Sambar Salsa》)。對於這些節點中的每一個,它都會生成一個新的嵌入,該嵌入由節點的 0 級嵌入與其相鄰節點的 0 級嵌入之和串聯組成。

在第 2 級步驟(兩跳網絡的最後一步),網絡為中心節點生成新的嵌入,它由該節點的第 1 級嵌入和它的相鄰節點的第 1 級嵌入之和串聯組成。

亞馬遜組合知識圖譜的新方法 2

上面動圖演示了圖神經網絡如何使用遞歸嵌入將兩跳圖中的所有信息壓縮成單個向量。實體之間的關係——例如電影數據庫中的製片人和編劇(分別以紅色箭頭和黃色箭頭標註),被編碼在實體本身的第 0 級嵌入中(分別為紅色塊和橙色塊)。

在我們的示例中,這個過程將 Freebase 數據庫中的整個六節點鄰域圖壓縮為單個向量。對於 IMDB 的十節點鄰域圖也是如此,比較向量是網絡判斷圖中心的實體(即 Aditya Raj 和 Aditya Raj Kapoor)是否相同的基礎。

這是針對實體對齊問題的圖神經網絡的標準實現。然而不幸的是,在我們的實驗中,它的表現非常糟糕。所以,我們進行了兩項重大的修改。

第一個修改是跨圖注意力機制,在第1 級和第2 級聚合階段,當網絡度每個節點的鄰居的嵌入進行求和時,它會根據與另一個圖的比較對這些求和進行加權。

在我們的這個示例中,這意味著在第1 級和第2 級的聚合過程中,出現在IMDB 和Freebase 圖中的《夢無止境》和《Sambar Salsa》,將比只出現在IMDB 中的Gawaahi 和Shamaa 獲得更大的權重。

亞馬遜組合知識圖譜的新方法 3在此實例中,我們的跨圖注意力機制(藍線)為鄰域圖之間共享的實體的嵌入增加了權重(紅線虛線)。

因此,跨圖注意力機制強調了圖之間的對應關係,而不再強調差異。畢竟,圖之間的差異就是將它們的信息組合在一起非常有用的原因。

亞馬遜組合知識圖譜的新方法 4《Radioactive》的原版和混音版是截然不同的曲目,但它們有如此多的共同屬性,以至於簡單的實體對齊系統可能會將它們錯誤地分類為相同的曲目。

然而,這種方法存在一個主要問題:有時,圖之間的差異比它們的對應關係更重要。想想上面的示例,它比較了夢想之龍樂隊(Imagine Dragons)的熱門歌曲《Radiative》的兩個不同版本,原始專輯剪輯版和 Kendrick Lamar 的混音版。

在這裡,跨圖注意力機制可能會誇大兩條軌蹟之間的許多相似之處,而忽略了關鍵差異:主要表演者。所以,我們的網絡也應包括一個自註意力機制。

亞馬遜組合知識圖譜的新方法 5自註意力機制在 Aditya Raj 的運行示例中的應用

在訓練過程中,自註意力機制學習一個實體的哪些屬性最重要,以將其與看起來相似的實體區分開來。在這種情況下,它會了解到許多不同的唱片可能會共享相同的詞曲作者;它們之間的差異在於歌手。

這兩個修改主要是為了修改我們的模型,使其相對於我們與之比較的 10 個基準系統的性能有所提高。

最後,簡單介紹一下我們用來提高模型計算效率的幾種技術之一。儘管出於實體​​對齊的目的,我們比較了兩跳鄰域,但我們不一定包括給定實體的整個兩跳鄰域。我們對鄰域中包含的節點數量設置了上限,並且為了選擇要包含的節點,我們使用了加權抽樣。

樣本權重和與相關節點共享相同關係的相鄰節點的數量成反比關係。例如,一部電影可能有幾十個演員,但只有一個導演。在這種情況下,與包含任何給定演員節點相比,我們的方法在採樣鄰域中包含導演節點的機率要高得多。以這種方式限制鄰域大小,可以防止我們方法的計算複雜性出現失控現象。

作者介紹:

Hao Wei,Amazon 產品圖組織的應用科學家。

原文鏈接:

https://www.amazon.science/blog/combining-knowledge-graphs-quickly-and-accurately