本發(fā)明涉及知識圖譜,更具體地涉及一種知識圖譜的目標子圖采樣方法和一種基于知識圖譜的鏈路預測方法。
背景技術:
1、知識圖譜是大量三元組的集合,形式為(頭,關系,尾),表示為(h,r,t)。三元組之間的聯系也揭示實體之間的關系,并在各種人工智能應用場景中發(fā)揮著重要作用。知識圖譜的一個常見的應用方式是鏈接預測,即預測三元組中頭和尾是否存在某種關系。目前,在進行鏈接預測時,通常是從知識圖譜中采樣得到子圖,然后基于子圖對三元組中頭和尾是否存在某種關系進行進一步預測。
2、目前,相關技術中,通常采用單向2k步搜索取交集的方式從知識圖譜中采樣得到子圖。但是,由于知識圖譜通常較大,在采用單向2k步搜索取交集的方式時,每增加一個層級的搜索,需要運算的節(jié)點數量可能會呈幾何倍數增長,進而導致子圖采樣過程需要消耗大量的時間和計算資源,嚴重影響了對子圖的采樣效率。
技術實現思路
1、考慮到上述問題而提出了本發(fā)明。本發(fā)明提供了一種知識圖譜的目標子圖采樣方法和一種基于知識圖譜的鏈路預測方法,這種方案可以快速、準確地生成合理的目標子圖,從而提高鏈路預測的效率和準確性。
2、根據本發(fā)明一方面,提供了一種知識圖譜的目標子圖采樣方法,目標子圖用于輸入至圖神經網絡模型進行鏈路預測,圖神經網絡模型具有最長路徑超參數,最長路徑超參數表示用于生成目標子圖的起始節(jié)點與用于生成目標子圖的目標節(jié)點間的最大步數;方法包括:自起始節(jié)點在知識圖譜上按第一步數進行搜索,以得到第一子圖;自目標節(jié)點在知識圖譜上按第二步數進行搜索,以得到第二子圖;其中,第一步數與第二步數之和為最長路徑超參數;根據第一子圖和第二子圖生成目標子圖,其中,目標子圖中,保留第一子圖和第二子圖的最后一步的節(jié)點中的相交節(jié)點、保留與相交節(jié)點直接連接的非相交節(jié)點、保留在其他搜索步中與所有的相交節(jié)點直接或通過特定節(jié)點間接連接的其他節(jié)點以及保留在所有保留的節(jié)點中任意兩個節(jié)點之間的連接關系,特定節(jié)點是除起始節(jié)點和目標節(jié)點以外的節(jié)點。
3、可選地,根據第一子圖和第二子圖生成目標子圖,包括:將第一子圖和第二子圖合并,生成第三子圖;在第三子圖中,確定出第一子圖中最后一步搜索到的節(jié)點與第二子圖中最后一步搜索到的節(jié)點間的相交節(jié)點和非相交節(jié)點;對第三子圖執(zhí)行如下操作,得到目標子圖:保留與相交節(jié)點直接連接的非相交節(jié)點以及二者之間的連接關系;并刪除與相交節(jié)點間接連接的非相交節(jié)點,得到更新后的第三子圖;在更新后的第三子圖中,再刪除未直接或未通過特定節(jié)點間接連接相交節(jié)點的其他節(jié)點以及所刪除的節(jié)點與其他節(jié)點之間的連接關系,以得到目標子圖。
4、可選地,在最長路徑超參數為偶數時,第一步數等于第二步數。
5、可選地,在最長路徑超參數為奇數時,第一步數k1=(l+1)/2,第二步數k2=(l-1)/2;或,第一步數k1=(l-1)/2,第二步數k2=(l+1)/2;其中,l為最長路徑超參數。
6、可選地,根據第一子圖和第二子圖生成目標子圖,包括:將第一子圖和第二子圖合并,生成第三子圖;在第三子圖中,確定出第一子圖中最后一步搜索到的節(jié)點與第二子圖中最后一步搜索到的節(jié)點間的相交節(jié)點;對第三子圖執(zhí)行如下操作,以得到目標子圖:針對第三子圖,從第一子圖中最后一步搜索到的節(jié)點開始逐步執(zhí)行回退過濾操作直至回退到起始節(jié)點,并從第二子圖中最后一步搜索到的節(jié)點開始逐步執(zhí)行回退過濾操作直至回退到目標節(jié)點,以得到目標子圖,其中,回退過濾操作包括:對于每個節(jié)點,在該節(jié)點未與相交節(jié)點直接連接且未通過在先節(jié)點與相交節(jié)點間接連接時,將該節(jié)點以及該節(jié)點與其他節(jié)點之間的連接關系刪除,其中,在先節(jié)點是在該節(jié)點所在的回退路徑上且處于該節(jié)點之前的節(jié)點。
7、根據本發(fā)明的另一方面,還提供一種基于知識圖譜的鏈路預測方法,包括如下步驟:獲取目標待測三元組信息,目標待測三元組信息至少包括待測起始節(jié)點和待測目標節(jié)點;根據目標待測三元組信息所包括的節(jié)點,采用上述的目標子圖采樣方法在知識圖譜中采樣,以得到待測起始節(jié)點和待測目標節(jié)點所對應的待測目標子圖;將待測目標子圖以及目標待測三元組信息輸入至已訓練的圖神經網絡模型中進行推理,以得到推理結果。
8、可選地,已訓練的圖神經網絡模型通過如下訓練步驟訓練得到:獲取多個樣本三元組信息,每個樣本三元組信息包括樣本起始節(jié)點、樣本目標節(jié)點以及二者之間的鏈路路徑;根據每個樣本三元組信息,采用上述的目標子圖采樣方法在知識圖譜中采樣,以得到樣本目標子圖;基于多個樣本三元組信息和與之對應的多個樣本目標子圖,對圖神經網絡模型進行訓練,以得到已訓練的圖神經網絡模型。
9、可選地,圖神經網絡模型包括聚合模塊和預測模塊,在將待測目標子圖以及待測鏈路路徑輸入至已訓練的圖神經網絡模型中進行推理時,在聚合模塊中采用聚合函數計算待測目標子圖中的每個節(jié)點的聚合特征,并在預測模塊中基于待測目標子圖中的每個節(jié)點的聚合特征進行鏈路預測,以確定推理結果。
10、可選地,圖神經網絡模型包括基于鄰域的濾波網絡模型,聚合函數包括基于圖神經網絡的主鄰域聚合函數。
11、可選地,在獲取所述目標待測三組信息之前,還包括:獲取待測三元組信息,待測三元組信息包括待測起始節(jié)點與待測目標節(jié)點中的唯一待測節(jié)點和待測鏈路路徑;上述獲取目標待測三元組信息,具體包括:遍歷知識圖譜,基于目標待測三元組信息中的唯一待測節(jié)點和待測鏈路路徑,確定出至少一個目標待測三元組信息。
12、根據上述技術方案,可以分別自起始節(jié)點和目標節(jié)點進行搜索,得到第一子圖和第二子圖,并基于第一子圖中最后一步搜索到的節(jié)點和第二子圖中最后一步搜索到的節(jié)點間的交集,生成目標子圖。這種雙向搜索的方式可以有效降低子圖采樣時的計算量,有助于提高目標子圖的生成效率。該方案可以快速、準確地生成目標子圖。因此,采用上述目標子圖采樣方法的鏈路預測方法,效率高且準確度高。
1.一種知識圖譜的目標子圖采樣方法,所述目標子圖用于輸入至圖神經網絡模型進行鏈路預測,所述圖神經網絡模型具有最長路徑超參數,所述最長路徑超參數表示用于生成所述目標子圖的起始節(jié)點與用于生成所述目標子圖的目標節(jié)點間的最大步數;其特征在于,所述方法包括:
2.根據權利要求1所述的知識圖譜的目標子圖采樣方法,其特征在于,所述根據所述第一子圖和所述第二子圖生成目標子圖,包括:
3.根據權利要求1所述的知識圖譜的目標子圖采樣方法,其特征在于,在所述最長路徑超參數為偶數時,所述第一步數等于所述第二步數。
4.根據權利要求1所述的知識圖譜的目標子圖采樣方法,其特征在于,在最長路徑超參數為奇數時,
5.根據權利要求1所述的知識圖譜的目標子圖采樣方法,其特征在于,所述根據所述第一子圖和所述第二子圖生成目標子圖,包括:
6.一種基于知識圖譜的鏈路預測方法,其特征在于,包括如下步驟:
7.根據權利要求6所述的基于知識圖譜的鏈路預測方法,其特征在于,所述已訓練的圖神經網絡模型通過如下訓練步驟訓練得到:
8.根據權利要求6或7所述的基于知識圖譜的鏈路預測方法,其特征在于,所述圖神經網絡模型包括聚合模塊和預測模塊,在將所述待測目標子圖以及所述待測鏈路路徑輸入至已訓練的圖神經網絡模型中進行推理時,在所述聚合模塊中采用聚合函數計算所述待測目標子圖中的每個節(jié)點的聚合特征,并在所述預測模塊中基于所述待測目標子圖中的每個節(jié)點的聚合特征進行鏈路預測,以確定所述推理結果。
9.根據權利要求8所述的基于知識圖譜的鏈路預測方法,其特征在于,所述圖神經網絡模型包括基于鄰域的濾波網絡模型,所述聚合函數包括基于圖神經網絡的主鄰域聚合函數。
10.根據權利要求6所述的基于知識圖譜的鏈路預測方法,其特征在于,在獲取所述目標待測三組信息之前,還包括: