本發(fā)明涉及知識(shí)圖譜,特別指一種基于多元事實(shí)驅(qū)動(dòng)的時(shí)間知識(shí)圖譜補(bǔ)全方法。
背景技術(shù):
1、知識(shí)圖譜可用于存儲(chǔ)大量人類知識(shí)和事實(shí),它將知識(shí)和事實(shí)以三元組(es,r,eo)的形式表示,其中,es表示頭實(shí)體、r表示關(guān)系、eo表示尾實(shí)體,例如(姚*,國籍,中國)。目前該領(lǐng)域已構(gòu)建許多大型知識(shí)圖譜,如wiki,yago等知識(shí)圖譜,這些知識(shí)圖譜包含了海量的信息,能夠?yàn)橄掠螒?yīng)用提供數(shù)據(jù)支持,如智能問答機(jī)器人、推薦算法等,但這些知識(shí)圖譜還存在各種事實(shí)缺失問題,這促使知識(shí)圖譜補(bǔ)全技術(shù)的發(fā)展。
2、知識(shí)圖譜補(bǔ)全的目標(biāo)是對知識(shí)圖譜確實(shí)的事實(shí)以機(jī)器學(xué)習(xí)的方式實(shí)現(xiàn)自動(dòng)化補(bǔ)全,減少人工的標(biāo)注行為。而知識(shí)圖譜補(bǔ)全分為靜態(tài)知識(shí)圖譜補(bǔ)全和動(dòng)態(tài)知識(shí)圖譜補(bǔ)全。
3、對于靜態(tài)知識(shí)圖譜,transe、transh等翻譯模型將實(shí)體和關(guān)系投影到低維向量空間中,并將關(guān)系建模為實(shí)體之間的平移向量;在向量空間中,翻譯模型對頭實(shí)體與關(guān)系的向量進(jìn)行計(jì)算得到尾實(shí)體的向量坐標(biāo),并以此進(jìn)行事實(shí)補(bǔ)全工作。bordes等人提出的rescal模型是張量分解模型的一種,三元組以張量的形式存在,通過對張量進(jìn)行分解,來學(xué)習(xí)實(shí)體和關(guān)系之間的潛在結(jié)構(gòu)和模式,然而rescal面臨參數(shù)量過大的挑戰(zhàn);為解決這個(gè)問題,研究者隨后提出distmult模型,它在關(guān)系矩陣的表示上進(jìn)行了簡化,complex使用復(fù)數(shù)建模實(shí)體和關(guān)系表示,解決了實(shí)體在嵌入的對稱和非對稱難題。
4、在實(shí)際應(yīng)用中,許多信息都會(huì)隨時(shí)間變化,傳統(tǒng)的靜態(tài)知識(shí)圖譜無法準(zhǔn)確反映這種動(dòng)態(tài)性。舉例來說,一個(gè)人可能在不同的時(shí)間點(diǎn)具有不同的職業(yè)或地理位置,這種變化難以通過靜態(tài)知識(shí)圖譜來描述。因此構(gòu)建具有時(shí)間屬性的動(dòng)態(tài)知識(shí)圖譜,即時(shí)間知識(shí)圖譜(tkg)更具有現(xiàn)實(shí)意義。而時(shí)間知識(shí)圖譜補(bǔ)全(tkgc)則是針對tkg的補(bǔ)全任務(wù),具體可分為內(nèi)推與外推任務(wù)。
5、在時(shí)間知識(shí)圖譜中,歷史事實(shí)是補(bǔ)全需要考量的關(guān)鍵因素,特別是在外推任務(wù)中,深入挖掘和理解歷史數(shù)據(jù)變得尤為重要。時(shí)間知識(shí)圖譜并非一個(gè)整體的圖譜結(jié)構(gòu),而是根據(jù)時(shí)間戳,將時(shí)間知識(shí)圖譜切分為多個(gè)小圖譜,又叫子圖。每個(gè)子圖都記錄了同一時(shí)間下發(fā)生的事實(shí),而實(shí)體會(huì)存在于多個(gè)子圖中,在不同子圖中實(shí)體會(huì)有不同的結(jié)構(gòu)信息,即鄰域信息,這種差異顯現(xiàn)了實(shí)體特征的時(shí)序變化;通過建模這一動(dòng)態(tài)特征,能夠幫助模型實(shí)現(xiàn)更準(zhǔn)確地實(shí)現(xiàn)時(shí)間知識(shí)圖譜補(bǔ)全。
6、現(xiàn)有的模型如cygnet建模查詢歷史中重復(fù)發(fā)生的事實(shí),re-net、glanet和evoexplore嘗試在每個(gè)歷史子圖中聚合實(shí)體的局部或全局鄰域事實(shí),然而這些模型都只利用了一類歷史事實(shí),即與查詢相關(guān)的歷史事實(shí)或?qū)嶓w相關(guān)的鄰域事實(shí);查詢相關(guān)的歷史事實(shí)涉及到與特定查詢直接相連的歷史事件,這些信息直接反映了查詢實(shí)體和相應(yīng)關(guān)系的歷史背景,而實(shí)體相關(guān)的鄰域事實(shí)則包括了知識(shí)圖譜中各個(gè)實(shí)體自初始至查詢時(shí)刻的所有歷史記錄,這些事實(shí)不僅豐富了實(shí)體的內(nèi)涵,還提供了與查詢緊密相關(guān)的背景信息;由于傳統(tǒng)只利用了一類歷史事實(shí),導(dǎo)致時(shí)間知識(shí)圖譜補(bǔ)全的效果不佳,進(jìn)而影響利用時(shí)間知識(shí)圖譜建模得到的模型的模型性能。
7、因此,如何提供一種基于多元事實(shí)驅(qū)動(dòng)的時(shí)間知識(shí)圖譜補(bǔ)全方法,實(shí)現(xiàn)提升時(shí)間知識(shí)圖譜補(bǔ)全的全面性,成為一個(gè)亟待解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明要解決的技術(shù)問題,在于提供一種基于多元事實(shí)驅(qū)動(dòng)的時(shí)間知識(shí)圖譜補(bǔ)全方法,實(shí)現(xiàn)提升時(shí)間知識(shí)圖譜補(bǔ)全的全面性。
2、本發(fā)明是這樣實(shí)現(xiàn)的:一種基于多元事實(shí)驅(qū)動(dòng)的時(shí)間知識(shí)圖譜補(bǔ)全方法,包括如下步驟:
3、步驟s1、基于查詢歷史編碼器、實(shí)體歷史編碼器、查詢歷史演化模塊、實(shí)體歷史演化模塊、歷史融合模塊以及解碼器創(chuàng)建一時(shí)間知識(shí)圖譜補(bǔ)全模型,設(shè)定所述時(shí)間知識(shí)圖譜補(bǔ)全模型的損失函數(shù);
4、步驟s2、獲取大量的歷史知識(shí)圖譜,對各所述歷史知識(shí)圖譜進(jìn)行預(yù)處理以及標(biāo)注后構(gòu)建數(shù)據(jù)集;
5、步驟s3、基于所述數(shù)據(jù)集對時(shí)間知識(shí)圖譜補(bǔ)全模型進(jìn)行訓(xùn)練;
6、步驟s4、基于訓(xùn)練后的所述時(shí)間知識(shí)圖譜補(bǔ)全模型執(zhí)行時(shí)間知識(shí)圖譜補(bǔ)全操作。
7、進(jìn)一步的,所述步驟s1中,所述查詢歷史編碼器用于對查詢(eq,rq,?,tq)中,與查詢實(shí)體相關(guān)的歷史事實(shí)進(jìn)行注意力聚合,得到查詢嵌入:
8、
9、其中,eq表示查詢實(shí)體;rq表示查詢關(guān)系;?表示待生成的查詢嵌入;tq表示第q個(gè)查詢時(shí)刻;表示查詢實(shí)體eq在ti時(shí)刻下的查詢嵌入;n表示實(shí)體數(shù)量;oi表示第i個(gè)查詢實(shí)體eq和查詢關(guān)系rq的鄰居信息;ni表示從時(shí)間知識(shí)圖譜的前i個(gè)子圖中,獲取與查詢實(shí)體eq和查詢關(guān)系rq相關(guān)的尾實(shí)體嵌入;wv、wq、wk均表示注意力使用的參數(shù)矩陣,且表示實(shí)數(shù),d表示實(shí)體嵌入維度;t表示轉(zhuǎn)置;softmax()表示歸一化指數(shù)函數(shù)。
10、進(jìn)一步的,所述步驟s1中,所述實(shí)體歷史編碼器用于對時(shí)間知識(shí)圖譜,聚合所有實(shí)體e在tq前的n個(gè)子圖中的一跳鄰居歷史事實(shí),得到實(shí)體嵌入,具體過程為:
11、將實(shí)體e拆分為k塊:
12、ek=egk;
13、其中,ek表示第k塊的實(shí)體e;e表示時(shí)間知識(shí)圖譜中的實(shí)體,包括查詢實(shí)體;gk表示第k個(gè)向量空間,表示實(shí)數(shù),d表示實(shí)體嵌入維度;n表示實(shí)體數(shù)量;tq表示第q個(gè)查詢時(shí)刻;
14、對各所述ek進(jìn)行分塊傳輸:
15、msgk=w1[rk||ek];
16、其中,msgk表示ek傳遞的消息;rk表示兩個(gè)實(shí)體e之間存在關(guān)系的分塊嵌入;w1表示參數(shù)矩陣;||表示拼接操作;
17、使用圖注意力方式計(jì)算不同所述msgk的重要性系數(shù),基于所述重要性系數(shù)拼接得到鄰居嵌入:
18、
19、其中,αk表示第k個(gè)重要性系數(shù);exp()表示自然指數(shù)函數(shù);leakeyrelu()表示線性整流函數(shù);w2表示參數(shù)矩陣;msgi表示ei傳遞的消息;表示鄰居實(shí)體o通過l層分塊圖注意力嵌入得到的鄰居嵌入;表示第k個(gè)鄰居實(shí)體通過l-1層分塊圖注意力嵌入得到的鄰居嵌入;
20、基于所述以及e得到實(shí)體嵌入:
21、
22、其中,表示ti時(shí)刻的實(shí)體嵌入;nt(e)表示與e相關(guān)的尾實(shí)體嵌入;表示鄰居實(shí)體o通過l-1層分塊圖注意力嵌入得到的鄰居嵌入。
23、進(jìn)一步的,所述步驟s1中,所述查詢歷史演化模塊用于按照時(shí)間序列對查詢歷史編碼器的輸出進(jìn)行演化,得到查詢嵌入表示:
24、
25、所述實(shí)體歷史演化模塊用于按照時(shí)間序列對實(shí)體歷史編碼器的輸出進(jìn)行演化,得到實(shí)體嵌入表示:
26、
27、其中,gru()表示門控循環(huán)單元函數(shù);表示查詢實(shí)體eq在ti時(shí)刻下的查詢嵌入;表示ti時(shí)刻演化得到的查詢嵌入表示;表示ti-1時(shí)刻演化得到的查詢嵌入表示;表示ti時(shí)刻的實(shí)體嵌入;表示ti時(shí)刻演化得到的實(shí)體嵌入表示;表示ti-1時(shí)刻演化得到的實(shí)體嵌入表示。
28、進(jìn)一步的,所述步驟s1中,所述歷史融合模塊用于對查詢歷史演化模塊和實(shí)體歷史演化模塊的輸出進(jìn)行融合,得到查詢實(shí)體嵌入:
29、
30、其中,表示查詢實(shí)體嵌入;β表示自適應(yīng)函數(shù);sigmoid()表示激活函數(shù);wg表示注意力使用的參數(shù)矩陣;||表示拼接操作。
31、進(jìn)一步的,所述步驟s1中,所述解碼器用于對歷史融合模塊的輸出進(jìn)行解碼,得到查詢相關(guān)的候選實(shí)體概率,基于所述候選實(shí)體概率輸出查詢的預(yù)測結(jié)果:
32、
33、其中,p(o'|eq,rq,tq)表示與時(shí)間知識(shí)圖譜的查詢(eq,rq,?,tq)相關(guān)的候選實(shí)體概率;o'表示候選實(shí)體;eq表示查詢實(shí)體;rq表示查詢關(guān)系;tq表示第q個(gè)查詢時(shí)刻;?表示待生成的查詢嵌入;sigmoid()表示激活函數(shù);convtranse()表示解碼函數(shù);表示歷史融合模塊輸出的查詢實(shí)體嵌入;表示ti時(shí)刻演化得到的實(shí)體嵌入表示。
34、進(jìn)一步的,所述步驟s1中,所述損失函數(shù)的公式為:
35、loss=-∑∑log?p;
36、其中,loss表示損失函數(shù)的損失值;p表示與時(shí)間知識(shí)圖譜的查詢相關(guān)的候選實(shí)體概率。
37、進(jìn)一步的,所述步驟s2具體為:
38、獲取大量的歷史知識(shí)圖譜,對各所述歷史知識(shí)圖譜進(jìn)行至少包括空值處理、數(shù)據(jù)標(biāo)準(zhǔn)化處理、合并數(shù)據(jù)和缺失值處理的預(yù)處理,對預(yù)處理后的各所述歷史知識(shí)圖譜進(jìn)行標(biāo)注,基于標(biāo)注后的各所述歷史知識(shí)圖譜構(gòu)建數(shù)據(jù)集。
39、進(jìn)一步的,所述步驟s3具體為:
40、基于預(yù)設(shè)比例將所述數(shù)據(jù)集劃分為訓(xùn)練集和驗(yàn)證集,通過所述訓(xùn)練集對時(shí)間知識(shí)圖譜補(bǔ)全模型進(jìn)行訓(xùn)練,直至所述損失函數(shù)的損失值小于預(yù)設(shè)的損失閾值,再通過所述驗(yàn)證集對時(shí)間知識(shí)圖譜補(bǔ)全模型進(jìn)行驗(yàn)證,判斷補(bǔ)全準(zhǔn)確率是否大于預(yù)設(shè)的準(zhǔn)確率閾值,若是,則結(jié)束訓(xùn)練;若否,則擴(kuò)充所述訓(xùn)練集繼續(xù)訓(xùn)練。
41、本發(fā)明的優(yōu)點(diǎn)在于:
42、通過查詢歷史編碼器、實(shí)體歷史編碼器、查詢歷史演化模塊、實(shí)體歷史演化模塊、歷史融合模塊以及解碼器創(chuàng)建時(shí)間知識(shí)圖譜補(bǔ)全模型,設(shè)定時(shí)間知識(shí)圖譜補(bǔ)全模型的損失函數(shù);接著獲取大量的歷史知識(shí)圖譜進(jìn)行預(yù)處理以及標(biāo)注后構(gòu)建數(shù)據(jù)集,基于數(shù)據(jù)集以及損失函數(shù)對時(shí)間知識(shí)圖譜補(bǔ)全模型進(jìn)行訓(xùn)練,最后基于訓(xùn)練后的時(shí)間知識(shí)圖譜補(bǔ)全模型執(zhí)行時(shí)間知識(shí)圖譜補(bǔ)全操作;由于查詢歷史編碼器用于對查詢中,與查詢實(shí)體相關(guān)的歷史事實(shí)進(jìn)行注意力聚合,得到查詢嵌入;實(shí)體歷史編碼器用于對時(shí)間知識(shí)圖譜,聚合所有實(shí)體e在tq前的n個(gè)子圖中的一跳鄰居歷史事實(shí),得到實(shí)體嵌入;查詢歷史演化模塊用于按照時(shí)間序列對查詢歷史編碼器的輸出進(jìn)行演化,得到查詢嵌入表示;實(shí)體歷史演化模塊用于按照時(shí)間序列對實(shí)體歷史編碼器的輸出進(jìn)行演化,得到實(shí)體嵌入表示;歷史融合模塊用于對查詢歷史演化模塊和實(shí)體歷史演化模塊的輸出進(jìn)行融合,得到查詢實(shí)體嵌入;解碼器用于對歷史融合模塊的輸出進(jìn)行解碼,得到時(shí)間知識(shí)圖譜的查詢相關(guān)的候選實(shí)體概率,基于候選實(shí)體概率輸出查詢的預(yù)測結(jié)果;即通過時(shí)間知識(shí)圖譜補(bǔ)全模型能對查詢相關(guān)的歷史事實(shí)和實(shí)體相關(guān)的鄰域事實(shí)進(jìn)行融合,極大的提升了時(shí)間知識(shí)圖譜補(bǔ)全的全面性,進(jìn)而極大的提升了利用時(shí)間知識(shí)圖譜建模得到的模型的模型性能。