本技術(shù)實(shí)施例涉及自然語言處理,特別涉及一種知識(shí)圖譜補(bǔ)全方法、裝置及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、知識(shí)圖譜(knowledge?graph,kg)作為一種通過三元組形式表達(dá)實(shí)體及其之間復(fù)雜關(guān)系的圖結(jié)構(gòu),廣泛應(yīng)用于自然語言處理領(lǐng)域,如問答系統(tǒng)、推薦引擎、智能對(duì)話助手等。每個(gè)三元組由一個(gè)頭實(shí)體(head?entity)、一個(gè)關(guān)系(relation)和一個(gè)尾實(shí)體(tailentity)組成,用于表示現(xiàn)實(shí)世界中的事實(shí)和知識(shí)。然而,隨著知識(shí)圖譜的動(dòng)態(tài)更新和構(gòu)建過程中不可避免的限制,許多公開的知識(shí)圖譜往往存在不完整的情況,導(dǎo)致某些實(shí)體和關(guān)系的語義信息無法被充分挖掘和利用。
2、為了克服這些問題,知識(shí)圖譜補(bǔ)全(knowledge?graph?completion,kgc)任務(wù)應(yīng)運(yùn)而生,旨在通過給定的頭實(shí)體和關(guān)系,預(yù)測(cè)缺失的尾實(shí)體,或通過給定的尾實(shí)體和關(guān)系,預(yù)測(cè)缺失的頭實(shí)體,從而補(bǔ)全知識(shí)圖譜中缺失的知識(shí)。此類補(bǔ)全任務(wù)的核心目標(biāo)是提升知識(shí)圖譜的完備性,使其能夠更好地支持下游任務(wù)的應(yīng)用。當(dāng)前,知識(shí)圖譜補(bǔ)全的主流方法多依賴于嵌入模型,通過將實(shí)體和關(guān)系映射到低維向量空間來進(jìn)行表示學(xué)習(xí),并利用該表示進(jìn)行知識(shí)圖譜補(bǔ)全任務(wù)。這些方法中,基于嵌入的模型如transe,通過優(yōu)化實(shí)體和關(guān)系的向量表示,能夠有效地將三元組的語義信息進(jìn)行捕捉。transe等方法通常采用負(fù)樣本采樣來訓(xùn)練模型,通過隨機(jī)替換頭實(shí)體或尾實(shí)體,生成負(fù)樣本用于模型的訓(xùn)練,從而提高模型的判別能力。
3、然而,負(fù)樣本的選擇仍然存在一定的問題。以transe為代表的負(fù)樣本生成方式通常采用隨機(jī)替換頭或尾實(shí)體的方式,這種方法雖然簡(jiǎn)單,但生成的負(fù)樣本可能不具備挑戰(zhàn)性,無法有效提升模型的性能。另一方面,基于文本的知識(shí)圖譜補(bǔ)全方法,如simkgc,通過批內(nèi)負(fù)樣本、批前負(fù)樣本和自我負(fù)樣本等策略,緩解了負(fù)樣本選擇中的次優(yōu)問題。然而,這些方法仍然面臨一個(gè)共性挑戰(zhàn),即大量生成的負(fù)樣本往往容易區(qū)分并且無法提供有價(jià)值的信息。
4、因此,如何生成高質(zhì)量的負(fù)樣本,特別是“難負(fù)樣本”成為了知識(shí)圖譜補(bǔ)全任務(wù)中的一大挑戰(zhàn)。難負(fù)樣本能夠通過提供具有挑戰(zhàn)性的信息,迫使模型學(xué)習(xí)更加細(xì)致和深入的特征,從而提升模型的區(qū)分能力和預(yù)測(cè)性能。這一思路啟發(fā)了對(duì)比學(xué)習(xí)(contrastivelearning)在知識(shí)圖譜補(bǔ)全中的潛力挖掘。對(duì)比學(xué)習(xí)通過優(yōu)化正負(fù)樣本的表示差異,能夠有效地學(xué)習(xí)到更加魯棒和有意義的表示,因此,在知識(shí)圖譜補(bǔ)全任務(wù)中,探索難負(fù)樣本及其對(duì)比學(xué)習(xí)策略,可能會(huì)進(jìn)一步提升知識(shí)圖譜的補(bǔ)全效果。通過這些改進(jìn)和創(chuàng)新,知識(shí)圖譜補(bǔ)全方法將能夠更好地應(yīng)對(duì)現(xiàn)實(shí)世界中知識(shí)圖譜的不完整性問題,推動(dòng)自然語言處理、推薦系統(tǒng)、智能對(duì)話等應(yīng)用的發(fā)展。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例提供了一種知識(shí)圖譜補(bǔ)全方法、裝置及存儲(chǔ)介質(zhì),用于解決上述提到的知識(shí)圖譜補(bǔ)全任務(wù)中生成難負(fù)樣本困難且不完整問題。
2、一方面,提供了一種知識(shí)圖譜補(bǔ)全方法,定義知識(shí)圖譜為g={e,r,d},e是包含所有實(shí)體ei的實(shí)體集e,r是關(guān)系的邊集,d是文本描述di的集合,其中,ei∈e,di∈d,所述方法包括:
3、根據(jù)所述知識(shí)圖譜中所述實(shí)體ei和所述關(guān)系r的文本描述d,得到三元組(s,r,o)中頭實(shí)體s的關(guān)系感知嵌入表示和尾實(shí)體o的嵌入表示,t={(s,r,o)|s,o∈e,r∈r}是三元組集合,其中每個(gè)三元組(s,r,o)代表一個(gè)事實(shí)知識(shí),r表示所述頭實(shí)體s和所述尾實(shí)體o之間的關(guān)系;
4、將所述尾實(shí)體o的嵌入表示輸入到條件擴(kuò)散模型中,且,以所述頭實(shí)體s的關(guān)系感知嵌入表示為條件引導(dǎo)所述條件擴(kuò)散模型的去噪過程,并采用均方誤差損失函數(shù)訓(xùn)練所述條件擴(kuò)散模型;
5、采樣負(fù)樣本nnegative以及采用所述條件擴(kuò)散模型去噪過程中生成的難負(fù)樣本nhard-negative,構(gòu)成負(fù)樣本集n;
6、根據(jù)所述負(fù)樣本集n與正樣本,使用對(duì)比學(xué)習(xí)損失函數(shù)對(duì)所述條件擴(kuò)散模型進(jìn)行訓(xùn)練得到用于知識(shí)補(bǔ)全的目標(biāo)知識(shí)表示模型,所述正樣本指代所述尾實(shí)體o的嵌入表示;
7、針對(duì)所述知識(shí)圖譜中的待補(bǔ)全三元組(s,r,?),利用所述目標(biāo)知識(shí)表示模型計(jì)算頭實(shí)體-關(guān)系對(duì)(s,r)和所述實(shí)體集e中所有實(shí)體ei的相似度,得到所述待補(bǔ)全三元組(s,r,?)中缺失的尾實(shí)體,完成知識(shí)圖譜的補(bǔ)全。
8、可選的,所述根據(jù)所述知識(shí)圖譜中所述實(shí)體ei和所述關(guān)系r的文本描述d,得到三元組(s,r,o)中頭實(shí)體s的關(guān)系感知嵌入表示和尾實(shí)體o的嵌入表示,包括:
9、將所述頭實(shí)體s的文本描述ds和所述關(guān)系r的文本描述dr輸入到編碼器bertsr中,生成所述三元組(s,r,o)中頭實(shí)體s的關(guān)系感知嵌入表示vsr;
10、將所述尾實(shí)體o的文本描述do輸入到編碼器berto中,生成所述三元組(s,r,o)中尾實(shí)體o的嵌入表示vo。
11、可選的,所述實(shí)體s的關(guān)系感知嵌入表示vsr表示為vsr=bertsr(dsr),其中,dsr=[ds,[sep],dr];
12、所述尾實(shí)體o的嵌入表示vo表示為vo=berto(do)。
13、可選的,所述將所述尾實(shí)體o的嵌入表示輸入到條件擴(kuò)散模型中,且,以所述頭實(shí)體s的關(guān)系感知嵌入表示為條件引導(dǎo)所述條件擴(kuò)散模型的去噪過程,并采用均方誤差損失函數(shù)訓(xùn)練所述條件擴(kuò)散模型,包括:
14、將所述尾實(shí)體o的嵌入表示輸入到條件擴(kuò)散模型中;
15、加噪過程中,向尾實(shí)體節(jié)點(diǎn)的嵌入表示vo添加采樣噪聲εt;
16、去噪過程中,向擴(kuò)散節(jié)點(diǎn)嵌入所述采樣噪聲εt得到預(yù)測(cè)噪聲
17、其中,所述預(yù)測(cè)噪聲表示為τ(·;θ)為用于估計(jì)時(shí)間步t時(shí)擴(kuò)散節(jié)點(diǎn)嵌入的變換以得到預(yù)測(cè)噪聲的可學(xué)習(xí)變換函數(shù),為所述條件擴(kuò)散模型的輸出,θ是一個(gè)可學(xué)習(xí)的參數(shù),αt=1-βt,方差βt固定為常數(shù),所述尾實(shí)體節(jié)點(diǎn)指代所述尾實(shí)體o部分;
18、采用所述均方誤差損失函數(shù)將所述采樣噪聲εt與所述預(yù)測(cè)噪聲之間的誤差最小化,以訓(xùn)練所述條件擴(kuò)散模型,所述均方誤差損失函數(shù)的形式為
19、所述條件擴(kuò)散模型更新后,將用于合成知識(shí)圖譜補(bǔ)全任務(wù)的節(jié)點(diǎn)嵌入,其中,所述嵌入的過程從高斯噪聲(t=t)開始,其中,t為加噪過程中的最大時(shí)間步;
20、逐步去除每個(gè)時(shí)間步的預(yù)測(cè)噪聲來獲得生成的樣本,去除的形式為,其中,表示從高斯分布在隨機(jī)采樣的噪聲。
21、可選的,所述采樣負(fù)樣本nnegative以及采用所述條件擴(kuò)散模型去噪過程中生成的難負(fù)樣本nhard-negative,構(gòu)成負(fù)樣本集n,包括:
22、于同一批次內(nèi)除所述尾實(shí)體o外采樣其余實(shí)體集得到負(fù)樣本nnegative,其中,所述負(fù)樣本nnegative表示為nnegative={e|e∈ein-batch,e≠o},ein-batch表示同一個(gè)batch內(nèi)的數(shù)據(jù)樣本,batch表示每次傳遞給所述條件擴(kuò)散模型進(jìn)行訓(xùn)練的數(shù)據(jù)樣本數(shù);
23、于所述條件擴(kuò)散模型去噪過程中采樣時(shí)間步的樣本作為所述難負(fù)樣本nhard-negative,其中,所述難負(fù)樣本nhard-negative表示為0≤t≤t,所述難負(fù)樣本nhard-negative為所述條件擴(kuò)散模型在所述頭實(shí)體s的關(guān)系感知嵌入表示vsr為條件下生成的潛在空間中的負(fù)樣本;
24、獲取所述負(fù)樣本nnegative和所述難負(fù)樣本nhard-negative,構(gòu)成所述負(fù)樣本集n,表示為n=nnegativeunhard-negative。
25、可選的,所述對(duì)比學(xué)習(xí)損失函數(shù)的表達(dá)形式為γ>0,φ(s,r,o)為所述三元組(s,r,o)的得分函數(shù)并定義為φ(s,r,o)=cos(vsr,vo)∈[-1,1],τ為溫度參數(shù)用于所述調(diào)節(jié)負(fù)樣本集n的相對(duì)重要性。
26、可選的,所述針對(duì)所述知識(shí)圖譜中的待補(bǔ)全三元組(s,r,?),利用所述目標(biāo)知識(shí)表示模型計(jì)算頭實(shí)體-關(guān)系對(duì)(s,r)和所述實(shí)體集e中所有實(shí)體ei的相似度,得到所述待補(bǔ)全三元組(s,r,?)中缺失的尾實(shí)體,完成知識(shí)圖譜的補(bǔ)全,包括:
27、針對(duì)所述知識(shí)圖譜中的待補(bǔ)全三元組(s,r,?),將所述頭實(shí)體-關(guān)系對(duì)(s,r)和所述實(shí)體集e中所有實(shí)體ei輸入到所述目標(biāo)知識(shí)表示模型中,計(jì)算得到所述頭實(shí)體s的關(guān)系感知嵌入表示vsr與所述實(shí)體集e中所有實(shí)體ei的嵌入表示ve的相似度cos(vsr,ve),表示為
28、對(duì)所述相似度cos(vsr,ve)降序排序,并預(yù)測(cè)得分最高的一項(xiàng)作為所述待補(bǔ)全三元組(s,r,?)中缺失的尾實(shí)體,預(yù)測(cè)執(zhí)行過程表示為
29、另一方面,還提供了一種知識(shí)圖譜補(bǔ)全裝置,定義知識(shí)圖譜為g={e,r,d},e是包含所有實(shí)體ei的實(shí)體集e,r是關(guān)系的邊集,d是文本描述di=(w1,w2,…,wn)的集合,其中,ei∈e,di∈d,所述裝置包括:
30、第一處理模塊,用于根據(jù)所述知識(shí)圖譜中所述實(shí)體ei和所述關(guān)系r的文本描述d,得到三元組(s,r,o)中頭實(shí)體s的關(guān)系感知嵌入表示和尾實(shí)體o的嵌入表示,t={(s,r,o)|s,o∈e,r∈r}是三元組集合,其中每個(gè)三元組(s,r,o)代表一個(gè)事實(shí)知識(shí),r表示所述頭實(shí)體s和所述尾實(shí)體o之間的關(guān)系;
31、第二處理模塊,用于將所述尾實(shí)體o的嵌入表示輸入到條件擴(kuò)散模型中,且,以所述頭實(shí)體s的關(guān)系感知嵌入表示為條件引導(dǎo)所述條件擴(kuò)散模型的去噪過程,并采用均方誤差損失函數(shù)訓(xùn)練所述條件擴(kuò)散模型;
32、第三處理模塊,用于采樣負(fù)樣本nnegative以及采用所述條件擴(kuò)散模型去噪過程中生成的難負(fù)樣本nhard-negative,構(gòu)成負(fù)樣本集n;
33、第四處理模塊,用于根據(jù)所述負(fù)樣本集n與正樣本,使用對(duì)比學(xué)習(xí)損失函數(shù)對(duì)所述條件擴(kuò)散模型進(jìn)行訓(xùn)練得到用于知識(shí)補(bǔ)全的目標(biāo)知識(shí)表示模型,所述正樣本指代所述尾實(shí)體o的嵌入表示;
34、第五處理模塊,用于針對(duì)所述知識(shí)圖譜中的待補(bǔ)全三元組(s,r,?),利用所述目標(biāo)知識(shí)表示模型計(jì)算頭實(shí)體-關(guān)系對(duì)(s,r)和所述實(shí)體集e中所有實(shí)體ei的相似度,得到所述待補(bǔ)全三元組(s,r,?)中缺失的尾實(shí)體,完成知識(shí)圖譜的補(bǔ)全。
35、另一方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)存儲(chǔ)有至少一條指令,所述至少一條指令用于被處理器執(zhí)行以實(shí)現(xiàn)如上述方面所述的知識(shí)圖譜補(bǔ)全方法。
36、另一方面,還提供了一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品存儲(chǔ)有至少一條指令,所述至少一條指令由所述處理器加載并執(zhí)行以實(shí)現(xiàn)上述方面所述的知識(shí)圖譜補(bǔ)全方法。
37、本技術(shù)帶來的技術(shù)效果至少如下。
38、本身體提供的知識(shí)圖譜補(bǔ)全方法,針對(duì)三元組(s,r,o),根據(jù)知識(shí)圖譜中實(shí)體和關(guān)系的文本描述,輸出頭實(shí)體的關(guān)系感知嵌入表示和尾實(shí)體嵌入表示;將尾實(shí)體嵌入表示輸入到擴(kuò)散模型中,并以頭實(shí)體的關(guān)系感知嵌入表示為條件引導(dǎo)擴(kuò)散模型的去噪過程,采用均方誤差損失函數(shù)訓(xùn)練擴(kuò)散模型;從同一批次內(nèi)采樣負(fù)樣本、擴(kuò)散模型的去噪過程中采樣難負(fù)樣本,生成一個(gè)負(fù)樣本集;根據(jù)負(fù)樣本集與正樣本,使用對(duì)比學(xué)習(xí)損失函數(shù)進(jìn)行訓(xùn)練以得到用于知識(shí)補(bǔ)全的目標(biāo)知識(shí)表示模型。這樣,使用目標(biāo)知識(shí)表示模型進(jìn)行補(bǔ)全時(shí),能夠充分學(xué)習(xí)到正負(fù)樣本的邊界,從而正確預(yù)測(cè)缺失的實(shí)體知識(shí)。