繆 琦,楊昕悅
(遼寧工程技術(shù)大學(xué) 電子與信息工程學(xué)院,遼寧 葫蘆島 125105)
如今,知識(shí)庫(kù)已經(jīng)成為各種研究和應(yīng)用越來(lái)越重要的和常用的數(shù)據(jù)源,如語(yǔ)義搜索、實(shí)體鏈接、問(wèn)答系統(tǒng)和自然語(yǔ)言處理等。為了使龐大數(shù)據(jù)庫(kù)更易于操作,研究者提出了一種新的研究方向——知識(shí)庫(kù)嵌入。 關(guān)鍵思想是嵌入 KB(Knowledge Base)組件,包括將實(shí)體和關(guān)系轉(zhuǎn)化為連續(xù)的向量空間,從而簡(jiǎn)化操作,同時(shí)保留 KB 原有的結(jié)構(gòu)。 實(shí)體和關(guān)系嵌入能進(jìn)一步應(yīng)用于各種任務(wù)中,如KB 補(bǔ)全、關(guān)系提取、實(shí)體分類和實(shí)體解析。 雖然龐大的知識(shí)庫(kù)中有數(shù)以億計(jì)的事實(shí),但是在信息爆炸的時(shí)代遠(yuǎn)遠(yuǎn)不夠。 大部分的研究工作聚焦知識(shí)庫(kù)對(duì)缺失邊的擴(kuò)充,很少有人考慮到其中過(guò)時(shí)的、不正確的信息[1-3]。許多擴(kuò)充知識(shí)庫(kù)研究將事實(shí)投射到k 維向量空間,通過(guò)聚類來(lái)找到關(guān)系的相關(guān)性,很難實(shí)現(xiàn)高效有效處理。
知識(shí)庫(kù)錯(cuò)誤的檢測(cè)仍然是一個(gè)艱巨的挑戰(zhàn):(1)知識(shí)庫(kù)的知識(shí)具有離散性,因此通過(guò)傳統(tǒng)嵌入方法[4-6]難以在知識(shí)庫(kù)中進(jìn)行廣泛推理和檢測(cè);(2)知識(shí)庫(kù)中的關(guān)系幾乎沒(méi)有上下文可以捕獲其語(yǔ)義的相關(guān)性,所以大部分著作都是對(duì)實(shí)體和實(shí)體進(jìn)行研究,忽略了關(guān)系和關(guān)系之間的相關(guān)性;(3)對(duì)于糾錯(cuò)大部分是建立在實(shí)體-實(shí)體或者建立在字符成本上的。
為了解決上述挑戰(zhàn),提出嵌入一個(gè)新穎簡(jiǎn)單的關(guān)系敏感方法(NSIL),該函數(shù)由 RSEA[7]方法的思想啟發(fā)產(chǎn)生,但是性能更高。 該函數(shù)計(jì)算了主體與客體之間的相關(guān)性,能在大規(guī)模的知識(shí)庫(kù)中準(zhǔn)確地對(duì)三元組進(jìn)行識(shí)別和錯(cuò)誤檢查,并且對(duì)糾正三元組的錯(cuò)誤具有較高精準(zhǔn)性。
圖1 中,對(duì)于關(guān)系“家人近期病史”,可以對(duì)應(yīng)的不同主體是離散的,主體可以是“市民 A”、“市民B”等,客體也是離散的,可以是“SARS-COV 病毒”、“COVID-19 病毒”等,彼此之間沒(méi)有必然的關(guān)系。但是對(duì)于關(guān)系對(duì)而言,它們會(huì)產(chǎn)生局部相交,如同對(duì)于三元組(“市民 A”,“患病”,“COVID-19 病毒(Corona Virus Disease 2019)”)和(“市民 A”,“家人近期病史”,“COVID-19 病毒”)之間,它們不僅有相同的主體集合(“市民 A”)和客體集合(“COVID-19 病毒”),而且有與“家人近期病史”和“患病”的主體和客體都有內(nèi)在直接關(guān)系的共同實(shí)體“市民C”,即“市民 A”的“客體”,“COVID-19 病毒”的“主體”。于是認(rèn)為關(guān)系“家人近期病史”和“患病”相關(guān)。 從關(guān)系的主客體集合和與主客體關(guān)聯(lián)的實(shí)體集出發(fā),使得發(fā)現(xiàn)關(guān)系之間的相關(guān)性具有可能。就像上文中說(shuō)的那樣,如果在一定程度上認(rèn)定“家人近期病史”≈“患病”,那么對(duì)于三元組(“市民 B”,“家人近期病史”,“SARS-COV 病毒(SARS-associated coronavirus)”),可以得出市民 B 最可能患病的事實(shí)是SARS-COV 病毒。 如果認(rèn)定“市民 B 有家人近期病史是 SARS-COV 病毒”, 如果給了需要判定的三元組是(“市民 B”,“患病”,“COVID-19 病 毒 ”),那 么 會(huì) 判斷它是錯(cuò)的。 如果它的客體需要糾正,它最有可能被糾正為“SARS-COV 病毒”。
本文提出了一種新的關(guān)系敏感函數(shù)NSIL,該方法從關(guān)系的角度出發(fā),能有效識(shí)別關(guān)系庫(kù)中關(guān)系的相關(guān)性,該關(guān)系在多對(duì)多、一對(duì)一、一對(duì)多、多對(duì)一的實(shí)體中具有不錯(cuò)的識(shí)別效率。
近來(lái),提出了許多知識(shí)庫(kù)嵌入技術(shù)來(lái)將離散知識(shí)圖編碼為連續(xù)向量空間。 首先介紹一些常用的符號(hào) 。知識(shí)庫(kù)中的事實(shí)三元組(h,r,t),即 (主 體 ,關(guān)系,客體)。 其對(duì)應(yīng)關(guān)系的矢量表示表示為(h,r,t),分?jǐn)?shù)函數(shù)f(h,t)對(duì)于屬于知識(shí)庫(kù)的正三元組將自動(dòng)獲得較高的分?jǐn)?shù),而對(duì)于負(fù)三元組[8]將自動(dòng)生成較低的分?jǐn)?shù)。
圖1
表1 為在相同的 k 維嵌入空間Rk×k中,得分函數(shù)、參數(shù)數(shù)量和時(shí)間復(fù)雜度的模型比較。
表1 模型比較
(1)TransE[9]:TransE 是基于實(shí)體和關(guān)系的分布式向量表示,由 Bordes 等人于 2013 年提出,受 word2vec啟發(fā),利用了詞向量的平移不變現(xiàn)象。例如:C(king)_C(queen)≈C(man)_C(woman)。 其中,C(w)就是 word2vec學(xué)習(xí)到的詞向量表示。 TransE 定義了一個(gè)距離函數(shù)d(h+r,t),它用來(lái)衡量 h+r 和 t 之間的距離。
(2)TransH[10]:為了解決TransE 在面對(duì)自反關(guān)系,以及多對(duì)一、一對(duì)多、多對(duì)多關(guān)系的不足,2014 年WANG Z 等[10]提出了 TransH 模型,其核心思想是對(duì)每一個(gè)關(guān)系定義一個(gè)超平面Wr和一個(gè)關(guān)系向量dr。 h⊥、t⊥h 是 h、t 在 Wr上的投影,這里要求正確的三元組需要滿足 hr+dr=tr。 這樣能夠使得同一個(gè)實(shí)體在不同關(guān)系中的意義不同,同時(shí)不同實(shí)體在同一關(guān)系中的意義也可以相同。
(3)TransR[11]:TransR 是 在 TranE的基礎(chǔ)上的改進(jìn),在數(shù)學(xué)上的描述看起來(lái)會(huì)更加直觀:對(duì)于每一類關(guān)系,不光有一個(gè)向量r 來(lái)描述它自身,還有一個(gè)映射矩陣Mr來(lái)描述這個(gè)關(guān)系所處的關(guān)系空間,即對(duì)于一個(gè)三元組(h,r,t),需要滿足 d(h,r,t)=TransR 等方法無(wú)法很好地解決非一對(duì)一關(guān)系,而且受限于知識(shí)圖譜的數(shù)據(jù)稀疏問(wèn)題。
(4) 其他方法。 2019 年 9 月 由KIM S 提出一種基于概率的知識(shí)庫(kù)的新型檢測(cè)方法, 也是通過(guò)研究關(guān)系與關(guān)系之間的相關(guān)性來(lái)檢錯(cuò),其主要算法是通過(guò)計(jì)算兩個(gè)關(guān)系的共同前后節(jié)點(diǎn)關(guān)系和各個(gè)節(jié)點(diǎn)的前后關(guān)系來(lái)得到相關(guān)性的。 本文受該方法啟發(fā),但是準(zhǔn)確率更高。
本節(jié)主要介紹知識(shí)庫(kù)的基本模型,給出問(wèn)題定義和工作流程。
知識(shí)庫(kù)的常用表現(xiàn)形式是 RDF , 以(subject ,predicate,object)的三元組形式表示實(shí)體之間的許多復(fù)雜聯(lián)系。
正如前文介紹的那樣,知識(shí)庫(kù)中有很多過(guò)時(shí)的不正確的事實(shí),但是大量的研究都在不斷發(fā)現(xiàn)知識(shí)庫(kù)中缺失的邊來(lái)填充缺失的成分而忽略了對(duì)錯(cuò)誤事實(shí)的檢測(cè)。 因此,旨在利用關(guān)系(謂詞)之間的關(guān)聯(lián)性來(lái)對(duì)不斷擴(kuò)充的知識(shí)庫(kù)進(jìn)行準(zhǔn)確的錯(cuò)誤檢測(cè)。
定義 1關(guān)系關(guān)聯(lián):在給定知識(shí)庫(kù) KB 中將各關(guān)系(謂詞)通過(guò)關(guān)系函數(shù)關(guān)聯(lián)到同一個(gè)組別。
定義 2檢測(cè)錯(cuò)誤:在給定的知識(shí)庫(kù) KB 中將找到最不可能的事實(shí)三元組 F,F(xiàn) 可能是放錯(cuò)的邊或者客體或者主體。
定義3缺失三元組: 在給定的知識(shí)庫(kù)中對(duì)缺失的三元組(客體或者主體缺失)進(jìn)行預(yù)測(cè)缺失的實(shí)體。
定義4可信三元組: 忽略落單的①謂詞②主體,客體。
如圖2 所示,工作流程主要有三個(gè)部分:給定KB,然后通過(guò)相關(guān)函數(shù)來(lái)測(cè)定各個(gè)三元組中關(guān)系的關(guān)聯(lián)程度,得到關(guān)系間相關(guān)性分值并進(jìn)行劃分,最后給定一個(gè)知識(shí)庫(kù),找到其中最不可能的事實(shí)三元組,即通過(guò)NSIL 判定的錯(cuò)誤事實(shí),對(duì)于判定的錯(cuò)誤事實(shí),進(jìn)行預(yù)測(cè)三元組客體與主體。
圖2 NSIL 方法工作流程
在直覺(jué)上,如果兩個(gè)關(guān)系在知識(shí)庫(kù)中擁有更多關(guān)聯(lián)的共同節(jié)點(diǎn)(即與主體的關(guān)聯(lián)節(jié)點(diǎn),與主體和客體關(guān)聯(lián)的節(jié)點(diǎn)),那么兩個(gè)關(guān)系相關(guān)性也越高。 在圖1 的例子中,對(duì)于關(guān)系“市民 C”和“患病”,它們都有共同的關(guān)聯(lián)性實(shí)例“市民 C”,即它們的主體都能夠通過(guò)另一個(gè)相同的實(shí)例“市民C”和它們的客體相連接,并且都擁有兩個(gè)相同的實(shí)例“市民 A”和“COVID-19 病毒”。 如果兩個(gè)關(guān)系之間共性越多,就越相信這兩個(gè)關(guān)系相關(guān)。
首先介紹符號(hào):H(ri)表示 ri主體作為客體時(shí)其前置主體的集合,R(ri)表示對(duì)于事實(shí)三元組(hi,ri,ti)的事實(shí)三元組(hj,rj,tj)的集合,其中存在關(guān)系 rx、ry構(gòu)成事實(shí)三元組(hi,rx,hj)、(tj,rx,ti),將該三元稱為伴生三元組。
兩個(gè)關(guān)系的關(guān)聯(lián)前置主體集合:
兩個(gè)關(guān)系共同的關(guān)聯(lián)的伴生三元組:
直接關(guān)聯(lián)集合是兩個(gè)聯(lián)系相同的直接關(guān)聯(lián)的主體-客體集合:
定義 SIL 分?jǐn)?shù)函數(shù):
歸一化[12]:
對(duì)于圖1:如果加上三元組(“野味市場(chǎng)”,“逗留過(guò)”,“市民 A”),那么對(duì)于“家人近期病史”和“患病”就有共同的前置節(jié)點(diǎn) S(“家人近期病史”,“患病”)={“野味市場(chǎng)”},共同伴生三元組為 I(“家人近期病史”,“患病”)={“市民 C”},直接關(guān)系集合為 L(“家人近期病史”,“患病”)={(“市民 A”,“COVID-19病毒”)},所以:而對(duì)于關(guān)系“同事”和“患病”,可見(jiàn)“家人近期病史”比“有同事”對(duì)于“患病”的相關(guān)性更高,對(duì)“患病”的影響力更大。 如果一個(gè)人家人近期病史為MERS病毒(Middle East Respiratory Syndrome Coronavirus),那么從他的家人近期病史出發(fā)推測(cè)出他很有可能患上了 MERS。
(1)數(shù)據(jù)集:在實(shí)驗(yàn)中,采用了一個(gè)基準(zhǔn)數(shù)據(jù)集,即從 Freebase[13]生成的 “FB15K”。 Freebase 是最大的知識(shí)庫(kù)之一,對(duì)應(yīng)用戶構(gòu)建的現(xiàn)實(shí)真實(shí)情況如表2所示。
表2 基準(zhǔn)數(shù)據(jù)集的詳細(xì)信息
(2)評(píng)估:對(duì)于兩個(gè)數(shù)據(jù)集進(jìn)行廣泛的錯(cuò)誤檢測(cè)和預(yù)測(cè)糾錯(cuò)。 錯(cuò)誤檢測(cè)將用最新的算法與 NSIR 判斷三元組(h,r,t)對(duì)錯(cuò),比較其性能。 預(yù)測(cè)糾錯(cuò)則會(huì)用缺失的三元組,即主體或者客體殘缺的三元組來(lái)進(jìn)行預(yù)測(cè)缺失部分。
(1)指標(biāo):通過(guò)相關(guān)得分排名列表,匯總總體測(cè)試采用兩個(gè)評(píng)估指標(biāo):①Hits@10:排名前十位的實(shí)體中判斷正確實(shí)體的比例,如圖3 所示;②平均等級(jí):正確實(shí)體的平均正確率。
圖3 Hits@10 各排名對(duì)應(yīng)訓(xùn)練集中準(zhǔn)確率
(2)準(zhǔn)確率認(rèn)定:
①公式
表示實(shí)體排名前 N 個(gè)的平均準(zhǔn)確率,R 是給定的與前N 個(gè)實(shí)體相關(guān)的三元組的總個(gè)數(shù), 破壞給定三元組的主體或客體,然后對(duì)各個(gè)三元組的真假性進(jìn)行判斷,δ 是對(duì)三元組真假性判斷正確的個(gè)數(shù)。
②對(duì)于錯(cuò)誤檢測(cè)的準(zhǔn)確率,遵循Hits@10 原則,即N=10。
③對(duì)于預(yù)測(cè)糾錯(cuò)的準(zhǔn)確率,N 單獨(dú)地作為橫坐標(biāo),N=1~10。
5.3.1 錯(cuò)誤檢測(cè)
對(duì)于每一個(gè)和其他三元組有糾集聯(lián)系的關(guān)系,都會(huì)有一個(gè)和其他關(guān)系的相關(guān)得分,得分低的會(huì)被劃分為獨(dú)立關(guān)系,得分高的為高相關(guān)性關(guān)系。 對(duì)于FB15K 的錯(cuò)誤檢測(cè)的評(píng)估在圖4 中示出。 在FB15K上錯(cuò)誤檢測(cè)性能最好的是NSIL, 準(zhǔn)確率高達(dá)88.5%。 在實(shí)驗(yàn)中發(fā)現(xiàn)隨著實(shí)體相關(guān)性排名的降低,預(yù)測(cè)精度出現(xiàn)不穩(wěn)定與下降,另外對(duì)于NSIL 得分有著高分段密集的缺點(diǎn)(見(jiàn)表3),這些問(wèn)題會(huì)將在未來(lái)的研究?jī)?nèi)進(jìn)行克服與探討。
圖4 在數(shù)據(jù)集FB15K 上的實(shí)驗(yàn)結(jié)果
表4 NSIL 得分 Hits@10
5.3.2 預(yù)測(cè)糾錯(cuò)
在知識(shí)庫(kù)中,也會(huì)出現(xiàn)缺失主體或者客體的情況。于是對(duì)識(shí)別出來(lái)的殘缺相關(guān)實(shí)體進(jìn)行主客體的預(yù)測(cè),將預(yù)測(cè)值和真實(shí)值比較,從而判斷預(yù)測(cè)糾錯(cuò)的性能。 從實(shí)體前兩名的平均情況、前三名的平均情況, 到前十名的平均準(zhǔn)確率情況如圖4 所示。Hits@10 的準(zhǔn)確率達(dá)到了 87.5%。 從實(shí)驗(yàn)看出,雖然預(yù)測(cè)糾錯(cuò)有很高的性能,但是其在非一對(duì)一關(guān)系問(wèn)題上有著其局限性。
在本文中, 提出了一種關(guān)系敏感函數(shù) NSIL,用于知識(shí)庫(kù)的錯(cuò)誤檢測(cè),并且對(duì)知識(shí)庫(kù)殘缺三元組進(jìn)行糾錯(cuò)修復(fù)。 實(shí)驗(yàn)表明,該模型不僅可以有效地對(duì)知識(shí)庫(kù)中的殘缺三元組進(jìn)行預(yù)測(cè)糾錯(cuò),而且在大型知識(shí)庫(kù)Freebase 數(shù)據(jù)集上的錯(cuò)誤檢測(cè)均優(yōu)于現(xiàn)模型。