国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進(jìn)多嵌入空間的實(shí)時(shí)語(yǔ)義數(shù)據(jù)流推理

2022-02-24 05:06姚光濤顧進(jìn)廣
計(jì)算機(jī)工程 2022年2期
關(guān)鍵詞:三元組數(shù)據(jù)流個(gè)數(shù)

高 峰,姚光濤,顧進(jìn)廣

(1.武漢科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,武漢 430065;2.武漢科技大學(xué) 大數(shù)據(jù)科學(xué)與工程研究院,武漢 430065;3.智能信息處理與實(shí)時(shí)工業(yè)系統(tǒng)湖北省重點(diǎn)實(shí)驗(yàn)室,武漢 430065;4.富媒體數(shù)字出版內(nèi)容組織與知識(shí)服務(wù)重點(diǎn)實(shí)驗(yàn)室,武漢 430065)

0 概述

近年來(lái),物聯(lián)網(wǎng)和移動(dòng)互聯(lián)網(wǎng)取得快速發(fā)展,其中產(chǎn)生了海量的傳感器數(shù)據(jù)以及其他類(lèi)型的數(shù)據(jù),這些數(shù)據(jù)具有高速、實(shí)時(shí)、動(dòng)態(tài)的特征,對(duì)它們進(jìn)行分析并推理出其中隱含的知識(shí)具有重要的理論和現(xiàn)實(shí)意義。將實(shí)時(shí)數(shù)據(jù)與知識(shí)圖譜技術(shù)相結(jié)合,并以RDF(Resource Description Framework)三元組加時(shí)間標(biāo)注的方式進(jìn)行表示,可以形成實(shí)時(shí)語(yǔ)義數(shù)據(jù)流數(shù)據(jù),基于實(shí)時(shí)語(yǔ)義數(shù)據(jù)流的RDF 流推理逐漸引起研究人員的關(guān)注。

目前的語(yǔ)義數(shù)據(jù)流推理引擎包括集中式和分布式兩大類(lèi):集中式流推理以CSPARQL(Continuous SPARQL)[1]引擎為代 表,使 用Esper[2]、Jena[3]和Sesame[4]進(jìn)行窗口運(yùn)算以及處理查詢(xún);分布式流推理屬于新興領(lǐng)域,目前尚處于研究階段,主要包括CQELS[5]的分布式版本、基于Storm 集群的Katts[6]、基于Spark 框架的Strider[7]等。現(xiàn)有的語(yǔ)義數(shù)據(jù)流引擎雖然能夠在一定程度上完成語(yǔ)義推理,但仍存在一些問(wèn)題,如缺乏對(duì)海量數(shù)據(jù)的適應(yīng)性、推理性能不佳、推理時(shí)延較大等,難以適應(yīng)當(dāng)前海量數(shù)據(jù)場(chǎng)景下人們對(duì)推理查詢(xún)實(shí)時(shí)性的需求。

隨著知識(shí)圖譜嵌入表示學(xué)習(xí)的興起,可以對(duì)知識(shí)圖譜中的實(shí)體和關(guān)系進(jìn)行向量表示,將實(shí)體相互之間復(fù)雜的語(yǔ)義關(guān)系轉(zhuǎn)換為向量計(jì)算,這種簡(jiǎn)單的向量計(jì)算的方式對(duì)提升知識(shí)圖譜推理效率具有重要意義。然而,現(xiàn)有的知識(shí)表示學(xué)習(xí)模型存在一定不足,如只關(guān)注靜態(tài)圖譜嵌入而忽略知識(shí)圖譜的動(dòng)態(tài)更新,或缺乏推理能力等,導(dǎo)致其無(wú)法直接應(yīng)用于實(shí)時(shí)動(dòng)態(tài)語(yǔ)義數(shù)據(jù)流推理任務(wù)。

為了使得知識(shí)表示學(xué)習(xí)模型能夠適應(yīng)知識(shí)圖譜的在線更新,本文建立一種PUKALE(Parallel Universe KALE)模型。針對(duì)傳遞閉包等復(fù)雜推理場(chǎng)景,在聯(lián)合嵌入模型KALE 的基礎(chǔ)上引入多嵌入空間,提出能夠適應(yīng)復(fù)雜推理的嵌入空間生成算法。為了在進(jìn)行增量更新訓(xùn)練時(shí)更合理地選擇嵌入空間,提出基于實(shí)體關(guān)系映射的嵌入空間選擇算法。將PUKALE 模型嵌入至語(yǔ)義數(shù)據(jù)流推理引擎CSPARQL-engine 中,以實(shí)現(xiàn)對(duì)實(shí)時(shí)語(yǔ)義數(shù)據(jù)流的推理查詢(xún)。

1 相關(guān)工作

目前,語(yǔ)義數(shù)據(jù)流處理平臺(tái)大多基于SPARQL[8],首先讀取所有的RDF 數(shù)據(jù)并構(gòu)建所讀取數(shù)據(jù)的完整索引,然后評(píng)估SPARQL 的推理查詢(xún)性能。Streaming SPARQL[9]流處理平臺(tái)基于SPARQL,設(shè)計(jì)一個(gè)擴(kuò)展用于處理數(shù)據(jù)流上的窗口查詢(xún),允許在數(shù)據(jù)流上定義基于時(shí)間和計(jì)數(shù)的窗口,但其沒(méi)有考慮關(guān)于數(shù)據(jù)結(jié)構(gòu)選擇和連續(xù)執(zhí)行計(jì)算狀態(tài)共享的性能問(wèn)題。CSPARQL 是SPARQL 的一個(gè)擴(kuò)展,其特點(diǎn)是支持連續(xù)查詢(xún),即在RDF 數(shù)據(jù)流上注冊(cè)然后連續(xù)執(zhí)行的查詢(xún)。CQELS 支持流式數(shù)據(jù)以及靜態(tài)RDF 數(shù)據(jù),此外,CQELS 是一個(gè)本地自適應(yīng)的查詢(xún)處理器,在本地實(shí)現(xiàn)所需的查詢(xún)運(yùn)算符,能夠提供一個(gè)靈活的查詢(xún)執(zhí)行框架,在查詢(xún)執(zhí)行的過(guò)程中,其根據(jù)一些啟發(fā)式規(guī)則不斷地對(duì)操作符進(jìn)行重新排序,提高了查詢(xún)執(zhí)行的延遲和復(fù)雜性。EP-SPARQL[10]是一種描述事件處理和流推理的語(yǔ)言,可以翻譯成基于Prolog的復(fù)雜事件處理框架ETALIS[11],它可以將基于RDF的數(shù)據(jù)轉(zhuǎn)化為邏輯事實(shí),然后將EP-SPARQL 查詢(xún)轉(zhuǎn)化為Prolog 邏輯規(guī)則,但是其轉(zhuǎn)化過(guò)程耗時(shí),性能不高。StreamRule[12]結(jié) 合RSP 引擎和Clingo[13]用于流的過(guò)濾以及聚合,提升了知識(shí)密集場(chǎng)景下的復(fù)雜推理能力。結(jié)合了Spark 和Flink 分布式平臺(tái)的實(shí)時(shí)語(yǔ)義數(shù)據(jù)流推理平臺(tái)BigSR[14]能利用分布式處理來(lái)有效降低推理延時(shí),但其對(duì)硬件資源要求較高。

BORDES 等[15]提出一種 知識(shí)表示 學(xué)習(xí)模型TransE,其將三元組中實(shí)體之間的關(guān)系嵌入到低維向量空間中進(jìn)行計(jì)算,由于參數(shù)少、易于訓(xùn)練、可擴(kuò)展性強(qiáng),使得知識(shí)表示在知識(shí)圖譜領(lǐng)域受到廣泛關(guān)注。隨后,針對(duì)TransE 出現(xiàn)了一些擴(kuò)展性模型,如TransH[16]、TransR[17]等,盡管這些模型在TransE 模型的基礎(chǔ)上做了進(jìn)一步擴(kuò)展,但是它們都沒(méi)有利用邏輯規(guī)則。KALE[18]模型在TransE 模型的基礎(chǔ)上引入邏輯規(guī)則,建立三元組與邏輯規(guī)則的統(tǒng)一框架,使得模型具備一定的推理能力,可以推理出三元組之間隱藏的知識(shí)。然而,KALE 模型缺乏對(duì)流式增量數(shù)據(jù)的更新能力,當(dāng)流式數(shù)據(jù)中出現(xiàn)新的實(shí)體或關(guān)系時(shí),KALE 模型需要在整個(gè)數(shù)據(jù)集上重新訓(xùn)練,在數(shù)據(jù)規(guī)模較大、更新較頻繁的場(chǎng)景下,時(shí)間消耗難以被人們接受。TAY 等[19]在TransE 的基礎(chǔ)上進(jìn)行改進(jìn),提出puTransE 模型,其通過(guò)劃分子嵌入空間的方式使得模型具備處理動(dòng)態(tài)知識(shí)圖譜的能力,然而,該模型不具備推理能力,不能直接應(yīng)用于數(shù)據(jù)流推理任務(wù)。還有一些動(dòng)態(tài)圖嵌入方法[20-22]支持在線學(xué)習(xí)圖節(jié)點(diǎn)嵌入,然而這些方法不能被用于動(dòng)態(tài)知識(shí)圖譜嵌入,因?yàn)樗鼈儗W(xué)習(xí)的是結(jié)構(gòu)相近的節(jié)點(diǎn)的嵌入,而沒(méi)有考慮邊的語(yǔ)義信息。

2 PUKALE 模型

2.1 PUKALE 框架

圖1 所示為PUKALE 模型框架。模型在初始訓(xùn)練時(shí),會(huì)根據(jù)訓(xùn)練集三元組的個(gè)數(shù)和嵌入空間三元組的限定值生成n個(gè)嵌入空間,模型在n個(gè)嵌入空間中分別訓(xùn)練;當(dāng)增量更新的三元組到達(dá)時(shí),如果增量更新的三元組的實(shí)體和關(guān)系在已有的嵌入空間中,則對(duì)相應(yīng)的嵌入空間重新訓(xùn)練;若最后一個(gè)嵌入空間三元組個(gè)數(shù)沒(méi)有達(dá)到限定值,則將增量更新的三元組加入當(dāng)前嵌入空間中重新訓(xùn)練,否則,重新創(chuàng)建一個(gè)嵌入空間進(jìn)行訓(xùn)練。

圖1 PUKALE 模型框架Fig.1 PUKALE model framework

算法1 是PUKALE 模型算法的偽代碼表示:第1 行根據(jù)訓(xùn)練集數(shù)據(jù)生成初始嵌入空間;第2 行讀取推理規(guī)則到模型中;第3 行~第19 行表示對(duì)每個(gè)嵌入空間分別進(jìn)行訓(xùn)練,包括隨機(jī)生成超參數(shù)、隨機(jī)初始化向量空間等。在訓(xùn)練完成后,會(huì)保存每個(gè)嵌入空間的實(shí)體和關(guān)系矩陣。

算法1PUKALE 模型算法

2.2 嵌入空間生成策略

對(duì)于PUKALE 模型中嵌入空間的生成,本文實(shí)現(xiàn)并測(cè)試3 種嵌入空間的生成策略:第1 種策略是語(yǔ)義相關(guān)的生成方法;第2 種策略是結(jié)構(gòu)上相關(guān)的方法;第3 種策略是上述兩者的結(jié)合。

1)第1 種語(yǔ)義相關(guān)策略在對(duì)一個(gè)嵌入空間劃分三元組時(shí),具有相同關(guān)系的三元組更傾向于劃分到同一個(gè)嵌入空間,而具有不同關(guān)系的三元組更傾向于劃分到不同的嵌入空間。如圖2(a)虛線部分所示,假設(shè)(e3,r1,e4)是初始三元組,則(e1,r1,e2)和(e3,r1,e4)更傾向于劃分到同一嵌入空間中。

2)第2 種結(jié)構(gòu)相關(guān)策略的思路是在創(chuàng)建一個(gè)嵌入空間時(shí),首先隨機(jī)選擇一個(gè)三元組加入當(dāng)前嵌入空間,然后以當(dāng)前三元組的頭實(shí)體和尾實(shí)體為起點(diǎn),選擇出度和入度方向的三元組加入當(dāng)前嵌入空間,隨后繼續(xù)以新加入的三元組的頭實(shí)體和尾實(shí)體為起點(diǎn),添加出度和入度方向的三元組,以此類(lèi)推,直到添加的三元組個(gè)數(shù)達(dá)到嵌入空間的限定值。從新加入三元組的頂點(diǎn)出發(fā)繼續(xù)選擇出度和入度方向的三元組,一方面是為了適應(yīng)復(fù)雜環(huán)境(如軍事態(tài)勢(shì)感知)中的傳遞閉包推理場(chǎng)景;另一方面,隨著時(shí)間的推進(jìn),圖譜中會(huì)頻繁進(jìn)行三元組的添加、刪除等圖譜更新操作,為了適應(yīng)這些更新,模型不僅要快速學(xué)習(xí)所更新實(shí)體以及關(guān)系的嵌入,還要考慮其對(duì)現(xiàn)有實(shí)體以及關(guān)系嵌入的影響。以圖2(b)為例,假設(shè)在實(shí)體e1和實(shí)體e2之間添加一個(gè)關(guān)系r1,構(gòu)成新的三元組(e1,r1,e2),則需要對(duì)和e1、e2有關(guān)的5 個(gè)三元組重新訓(xùn) 練,它們分別 為(e1,r7,e5)、(e4,r8,e1)、(e1,r3,e3)、(e2,r2,e3)、(e1,r1,e2),而不需要在整個(gè)圖譜上重新進(jìn)行訓(xùn)練。對(duì)于超參數(shù)嵌入空間三元組限定值的設(shè)置,本文在[500,3 000]范圍內(nèi)以步長(zhǎng)500 遞增進(jìn)行調(diào)優(yōu),嵌入空間限定值設(shè)置在1 500 個(gè)時(shí)模型效果較好,繼續(xù)增大該限定值,模型準(zhǔn)確度并沒(méi)有明顯提升,而嵌入空間計(jì)算延遲會(huì)略有增加。結(jié)構(gòu)相關(guān)策略選擇三元組的方式如圖2(b)所示,假設(shè)(e3,r1,e4)是初始三元組,則虛線部分是所選擇的三元組。

3)第3 種嵌入空間生成策略是第1 種策略和第2 種策略的結(jié)合,其生成嵌入空間的主要思路是:首先隨機(jī)選擇一個(gè)三元組,將其加入當(dāng)前嵌入空間并記錄當(dāng)前三元組的謂語(yǔ)關(guān)系;之后以當(dāng)前三元組的頭尾實(shí)體為起點(diǎn)選擇出度和入度方向的三元組加入嵌入空間,與第2 種策略不同的是,其不是繼續(xù)以新的實(shí)體為起點(diǎn)添加三元組,而是重新隨機(jī)選擇一個(gè)語(yǔ)義相似的三元組加入嵌入空間,繼續(xù)重復(fù)前面的流程,直到三元組的個(gè)數(shù)達(dá)到嵌入空間三元組的限定值。在結(jié)構(gòu)相關(guān)策略的基礎(chǔ)上引入語(yǔ)義相關(guān)策略的原因是,三元組的更新操作影響的不僅是以對(duì)應(yīng)頂點(diǎn)出發(fā)的結(jié)構(gòu)上相近的三元組,還有結(jié)構(gòu)上雖然不相近但是關(guān)系相同的三元組,同樣以添加(e1,r1,e2)為例,關(guān)系嵌入r1的變化會(huì)影響圖譜上包含r1的其他三元組,如(e3,r1,e4)。第3 種策略可以兼顧2 種類(lèi)型的三元組,與結(jié)構(gòu)相關(guān)策略相比,該策略選擇的三元組更具多樣性,在嵌入空間訓(xùn)練時(shí)可以學(xué)習(xí)到更多的信息。第3 種策略的三元組選擇方式如圖2(c)所示,假設(shè)(e3,r1,e4)是初始三元組,則虛線部分是所選擇的三元組。

第3 種嵌入空間生成算法描述如算法2 所示。此外,本文也嘗試puTransE 中的語(yǔ)義雙向隨機(jī)游走嵌入空間生成方式,該策略與策略3 的主要區(qū)別在于,隨機(jī)游走從頂點(diǎn)出發(fā)選擇三元組的路徑是隨機(jī)的,而策略3 會(huì)選擇出度和入度方向的所有三元組。puTransE 生成嵌入空間的方式如圖2(d)虛線部分所示,如果初始時(shí)三元組是(e3,r1,e4),則下一輪選擇的三元組是以實(shí)體e3、e4為起點(diǎn)或終點(diǎn)的一個(gè)隨機(jī)三元組。

圖2 嵌入空間三元組選擇策略示意圖Fig.2 Schematic diagram of embedding space triplet selection strategies

算法2結(jié)合語(yǔ)義和結(jié)構(gòu)的嵌入空間生成算法

2.3 嵌入空間選擇策略

在PUKALE 模型的訓(xùn)練過(guò)程中,每個(gè)嵌入空間都會(huì)生成獨(dú)立的實(shí)體向量矩陣和關(guān)系向量矩陣。對(duì)于嵌入空間的選擇問(wèn)題,本文分析如下2 種策略:

1)第1 種策略是線性遍歷每個(gè)嵌入空間,如果輸入的三元組對(duì)應(yīng)的實(shí)體和關(guān)系存在于當(dāng)前嵌入空間,則計(jì)算當(dāng)前三元組在當(dāng)前嵌入空間的能量分?jǐn)?shù)并進(jìn)行記錄,最終該三元組的全局能量分?jǐn)?shù)就是所有符合條件的嵌入空間中能量分?jǐn)?shù)的最大值。這種方式的時(shí)間復(fù)雜度是O(n),其中,n是嵌入空間的個(gè)數(shù)。在嵌入空間數(shù)量比較大的情況下,順序遍歷會(huì)有很多無(wú)效的遍歷,從而浪費(fèi)大量時(shí)間。

2)本文對(duì)第1 種策略進(jìn)行優(yōu)化,提出第2 種嵌入空間選擇策略,建立實(shí)體和關(guān)系到各個(gè)嵌入空間的索引映射,如圖3 所示。在訓(xùn)練時(shí),如果一個(gè)三元組到達(dá),則根據(jù)三元組的實(shí)體和關(guān)系查找對(duì)應(yīng)的索引列表,索引列表中重疊的嵌入空間就是符合要求的嵌入空間。如圖4 所示,這種建立在索引機(jī)制上的嵌入空間選擇方式可以有效避免多余的遍歷,在不影響模型準(zhǔn)確度的前提下能夠提高嵌入空間的選擇速度,其時(shí)間復(fù)雜度可以達(dá)到O(k),其中,k是查找的索引列表最大長(zhǎng)度。該策略對(duì)應(yīng)的算法描述如算法3 所示。

圖3 實(shí)體和關(guān)系到嵌入空間的索引映射Fig.3 Index mapping of entities and relationships to embedding space

圖4 基于索引映射的嵌入空間選擇流程Fig.4 Procedure of embedding space selection based on index mapping

算法3基于索引映射的嵌入空間選擇算法

2.4 算法復(fù)雜度分析

為了分析PUKALE 模型的空間復(fù)雜度和時(shí)間復(fù)雜度,將PUKALE 和TransE 及其相關(guān)改進(jìn)模型進(jìn)行空間和時(shí)間復(fù)雜度對(duì)比,結(jié)果如表1 所示。

表1 知識(shí)表示學(xué)習(xí)模型的空間和時(shí)間復(fù)雜度對(duì)比Table 1 Comparison of space complexity and time complexity of knowledge representation learning models

在表1 中:d表示嵌入學(xué)習(xí)的向量空間維度;ne表示實(shí)體個(gè)數(shù);nr表示關(guān)系個(gè)數(shù);nt表示三元組個(gè)數(shù);ng表示邏輯規(guī)則個(gè)數(shù);ns表示生成的語(yǔ)義空間個(gè)數(shù)。從表1 可以看出,PUKALE 的空間及時(shí)間復(fù)雜度與性能最好的TransE 相差不大,與KALE 相比,PUKALE 的空間復(fù)雜度相同而時(shí)間復(fù)雜度降低,原因是對(duì)于流式增量數(shù)據(jù),KALE 是在完整數(shù)據(jù)集上重新訓(xùn)練,而PUKALE 中引入了子嵌入空間,其在子嵌入空間中進(jìn)行局部訓(xùn)練,在圖譜規(guī)模較大、嵌入空間個(gè)數(shù)較多的場(chǎng)景下,可以大幅縮短模型的訓(xùn)練時(shí)間。

2.5 PUKALE 訓(xùn)練方案

為了對(duì)PUKALE 模型進(jìn)行有效訓(xùn)練,本文使用KALE 中基于間距的Hinge 表達(dá)式優(yōu)化損失函數(shù),其常用形式如下:

間距模型常用于二分類(lèi)或者樣本相似性分析任務(wù),本文基于間距模型并結(jié)合聯(lián)合嵌入模型中所提的損失函數(shù),提出一種PUKALE 模型的損失函數(shù),如下:

其中:L表示正確三元組和否定三元組之間的margin距離;S+為數(shù)據(jù)集中正確三元組組成的集合;S-為否定三元組組成的集合;I為模型計(jì)算出的真值;γ是距離超參數(shù)。

PUKALE 模型的訓(xùn)練過(guò)程為:首先隨機(jī)初始化三元組(h,r,t)中實(shí)體和關(guān)系的向量表示;然后對(duì)訓(xùn)練樣本生成否定三元組,生成方式是隨機(jī)替換樣本的頭實(shí) 體或尾實(shí)體,構(gòu) 造出負(fù)例三元組(h′,r,t)或(h,r,t′);最后針對(duì)每個(gè)三元組計(jì)算統(tǒng)一得分函數(shù),對(duì)于正確的三元組,其期望得分更低,而對(duì)于否定三元組,其期望得分更高,這樣即可通過(guò)訓(xùn)練樣本的分?jǐn)?shù)來(lái)區(qū)分正負(fù)樣本。

2.6 基于PUKALE 的實(shí)時(shí)語(yǔ)義數(shù)據(jù)流推理

現(xiàn)有的數(shù)據(jù)流推理引擎CSPARQL-engine 主要包括ESPER 流處理引擎、Sparql 推理引擎和Jena 查詢(xún)引擎。ESPER 是一個(gè)復(fù)雜事件處理以及事件流處理引擎,Jena 是Apache 的開(kāi)源并基于Java 的RDF 流處理工具,CSPARQL 支持流式數(shù)據(jù)的持續(xù)查詢(xún)功能。本文將基于多嵌入空間的PUKALE 模型嵌入到CSPARQL-engine 中,使得復(fù)雜的規(guī)則推理可以映射至低維向量空間進(jìn)行簡(jiǎn)單的向量計(jì)算,從而降低圖譜規(guī)模不斷增大后的推理延遲,使其滿(mǎn)足大規(guī)模流式數(shù)據(jù)場(chǎng)景下的實(shí)時(shí)推理需求。實(shí)時(shí)語(yǔ)義數(shù)據(jù)流推理架構(gòu)如圖5 所示,推理過(guò)程如下:

圖5 基于PUKALE 的實(shí)時(shí)語(yǔ)義數(shù)據(jù)流推理過(guò)程Fig.5 Procedure of real-time semantic data flow reasoning based on PUKALE

1)輸入到CSPARQL-engine 中的RDF 數(shù)據(jù)先通過(guò)Jena 進(jìn)行格式化,轉(zhuǎn)換成系統(tǒng)可以識(shí)別的數(shù)據(jù)格式。

2)系統(tǒng)讀取Jena 格式化后的數(shù)據(jù),在RDF 三元組的基礎(chǔ)上加上時(shí)間戳形成四元組,將該四元組放到RDF 數(shù)據(jù)流中。

3)系統(tǒng)讀取并解析CSPARQL 查詢(xún),獲得查詢(xún)的時(shí)間步長(zhǎng)和RDF 流窗口大小。

4)系統(tǒng)從ESPER 流引擎中取出指定窗口內(nèi)的數(shù)據(jù),將其輸入到查詢(xún)引擎中,同時(shí)作為輸入數(shù)據(jù)輸入到PUKALE 模型中。

5)PUKALE 模型獲取數(shù)據(jù)后,根據(jù)預(yù)設(shè)的邏輯規(guī)則進(jìn)行計(jì)算,推理出隱藏的三元組知識(shí),然后生成推理三元組集合并輸入查詢(xún)引擎。

6)系統(tǒng)根據(jù)查詢(xún)語(yǔ)句在查詢(xún)引擎中進(jìn)行持續(xù)查詢(xún),并返回查詢(xún)結(jié)果。

3 實(shí)驗(yàn)與結(jié)果分析

本節(jié)首先通過(guò)實(shí)驗(yàn)分析嵌入空間生成算法和選擇算法的性能,然后評(píng)估PUKALE 模型的動(dòng)態(tài)更新效果以及模型性能,最后將其嵌入到CSPARQL-engine,并完成2 個(gè)語(yǔ)義數(shù)據(jù)流的推理查詢(xún)測(cè)試。實(shí)驗(yàn)所使用的軟件環(huán)境均為Windows10 操作系統(tǒng),Java8 編程環(huán)境,Maven 版本3.6;硬件環(huán)境為CPU i5-8265U@1.6 GHz,內(nèi)存大小8 GB。

3.1 PUKALE 模型實(shí)驗(yàn)

為了測(cè)試嵌入空間生成算法和選擇算法以及PUKALE 模型的性能,本節(jié)進(jìn)行4 個(gè)實(shí)驗(yàn):前2 個(gè)實(shí)驗(yàn)是對(duì)嵌入空間生成算法和選擇算法的性能測(cè)試;第3 個(gè)是測(cè)試新增數(shù)據(jù)集時(shí)PUKALE 模型和KALE模型在同等規(guī)模數(shù)據(jù)集下更新相同個(gè)數(shù)三元組時(shí)的時(shí)間消耗;第4 個(gè)是測(cè)試對(duì)比PUKALE 模型與其他知識(shí)表示學(xué)習(xí)模型的性能。

為了評(píng)價(jià)PUKALE 模型在軍情態(tài)勢(shì)預(yù)測(cè)數(shù)據(jù)集上的效果,對(duì)于樣本中的每一個(gè)三元組(s,p,o),模型會(huì)生成多個(gè)否定三元組實(shí)例,生成方式是主語(yǔ)s或賓語(yǔ)o替換為實(shí)體集合中的其他實(shí)體,形成(s′,p,o)或(s,p,o′),之后計(jì)算所有生成的三元組的得分,最后模型對(duì)三元組的得分進(jìn)行排序,根據(jù)排序結(jié)果統(tǒng)計(jì)正實(shí)例三元組在列表中的位置排名。本文使用與KALE 相同的評(píng)估指標(biāo):

1)MRR(Mean Reciprocal Rank),其為一個(gè)國(guó)際通用的搜索算法性能評(píng)估指標(biāo)。

2)HITS@K,指前K個(gè)位置中正實(shí)例三元組所占的比例。

3.1.1 嵌入空間生成策略性能分析

本文通過(guò)實(shí)驗(yàn)分析2.2 節(jié)所提3 種嵌入空間生成策略以及puTransE 隨機(jī)游走策略對(duì)PUKALE 模型準(zhǔn)確性的影響。實(shí)驗(yàn)使用的數(shù)據(jù)集是海軍軍情態(tài)勢(shì)預(yù)測(cè)數(shù)據(jù)集,其包含100 000 個(gè)三元組。為了使模型有更好的適應(yīng)性,本文減少超參數(shù)對(duì)模型性能的影響,在各個(gè)嵌入空間的訓(xùn)練過(guò)程中,模型的初始參數(shù)不是固定的,而是采用隨機(jī)設(shè)置的方式,以避免參數(shù)耦合影響模型的訓(xùn)練效果。訓(xùn)練參數(shù)設(shè)定如下:嵌入空間三元組限定值為1 500;向量空間維度為30;margin 參數(shù)范圍 為{0.1,0.2,0.3};學(xué)習(xí)率learning_rate 參數(shù)范圍為{0.1,0.01}。

實(shí)驗(yàn)結(jié)果如表2 所示。從表2 可以看出:第1 種語(yǔ)義相關(guān)策略在數(shù)據(jù)集關(guān)系個(gè)數(shù)較少的情況下不適用,原因在于這種劃分方式雖然可以讓一個(gè)嵌入空間中的三元組盡可能滿(mǎn)足語(yǔ)義的相關(guān)性,但是劃分到每個(gè)嵌入空間的關(guān)系個(gè)數(shù)比較少,三元組關(guān)系不具備多樣性,訓(xùn)練效果比較差;在第2 種結(jié)構(gòu)相關(guān)的三元組選擇策略下模型的準(zhǔn)確率有明顯提高,一方面是因?yàn)閯澐种燎度肟臻g的關(guān)系個(gè)數(shù)增加,解決了第1 種策略嵌入空間關(guān)系個(gè)數(shù)太少的缺陷,另一方面,結(jié)構(gòu)相關(guān)的三元組劃分到同一個(gè)嵌入空間,避免了相互影響的三元組分散在多個(gè)嵌入空間,減少了圖譜更新時(shí)需要重新訓(xùn)練的嵌入空間個(gè)數(shù),提升了模型的訓(xùn)練效率和準(zhǔn)確率,此外,這種方式下相鄰嵌入空間的三元組存在一定程度的重疊,經(jīng)過(guò)測(cè)試,所有嵌入空間三元組的總重復(fù)率為4.6%;第3 種語(yǔ)義結(jié)構(gòu)結(jié)合策略相比第2 種結(jié)構(gòu)相關(guān)策略,模型的準(zhǔn)確率進(jìn)一步提升,因?yàn)閳D譜中三元組的更新影響的不僅是頂點(diǎn)入度出度方向的三元組,還有關(guān)系相同的三元組,策略2 只選擇了受頂點(diǎn)變化影響的三元組,而忽略了受關(guān)系變化影響的三元組,策略3 在策略2 的基礎(chǔ)上加入了關(guān)系相同的三元組,使得嵌入空間重訓(xùn)練時(shí)可以學(xué)習(xí)到更多的信息;與puTransE中的隨機(jī)游走策略相比,策略3 下的模型準(zhǔn)確率更高,原因是其模型可以推理出更多隱含的三元組。

表2 嵌入空間生成策略性能對(duì)比Table 2 Performance comparison of embedding space generation strategies

如圖6、表3 所示,本文以數(shù)據(jù)流傳遞閉包規(guī)則為例進(jìn)行推理查詢(xún)。以t1為初始三元組,假設(shè)使用隨機(jī)游走策略劃分三元組,由于隨機(jī)游走的隨機(jī)性,三元組t1、t2可能劃分在嵌入空間E1,t3、t4可能劃分在嵌入空間E2,則E1中可以推理出t5,E2中可以推斷出t6。假設(shè)使用結(jié)構(gòu)語(yǔ)義結(jié)合策略,則三元組t1、t2、t3、t4會(huì)劃分到同一個(gè)嵌入空間E3,在E3中除了可以推理出t5、t6外,還 可以推理出t7、t8。而在傳遞 閉包規(guī)則中,推理的結(jié)果可以作為推理?xiàng)l件繼續(xù)使用,將其加入嵌入空間進(jìn)行訓(xùn)練,模型可以學(xué)習(xí)更多的信息,即準(zhǔn)確率會(huì)提升。

圖6 傳遞閉包圖譜示例Fig.6 Sample of transitive closure graph

表3 傳遞閉包圖譜三元組編號(hào)Table 3 Transitive closure graph triples numbers

3.1.2 嵌入空間選擇策略性能分析

本節(jié)通過(guò)在10 萬(wàn)、30 萬(wàn)、50 萬(wàn)規(guī)模的數(shù)據(jù)集上分別進(jìn)行實(shí)驗(yàn),記錄不同規(guī)模數(shù)據(jù)集下嵌入空間的平均選擇時(shí)間,以分析2.2 節(jié)所提2 種嵌入空間選擇策略的性能。在3 個(gè)不同規(guī)模數(shù)據(jù)集上的參數(shù)設(shè)定均一致,嵌入空間三元組限定值為1 500,向量空間維度為30,margin 參數(shù)范圍為{0.1,0.2,0.3},學(xué)習(xí)率learning_rate參數(shù)范圍為{0.1,0.01},實(shí)驗(yàn)結(jié)果如表4 所示。從表4可以看出,隨著訓(xùn)練集三元組規(guī)模的增大,子嵌入空間個(gè)數(shù)增多,索引映射的時(shí)間消耗明顯低于線性遍歷,原因在于索引映射使用索引算法避免了對(duì)多余子嵌入空間的遍歷,從而節(jié)省了時(shí)間。

表4 不同規(guī)模數(shù)據(jù)集下嵌入空間選擇時(shí)間對(duì)比Table 4 Comparison of embedding space selection time under different scale datasets ms

3.1.3 PUKALE 模型動(dòng)態(tài)更新分析

PUKALE 模型中引入了多嵌入空間,避免了數(shù)據(jù)集三元組增量更新時(shí)模型在整個(gè)數(shù)據(jù)集上重新訓(xùn)練。為了驗(yàn)證PUKALE 模型引入多嵌入空間的有效性,本文對(duì)比PUKALE 模型和KALE 模型在不同規(guī)模數(shù)據(jù)集下增量更新時(shí)的訓(xùn)練時(shí)間消耗,數(shù)據(jù)集詳細(xì)信息如表5 所示,KALE 和PUKALE 在表5 的3 個(gè)不同規(guī)模數(shù)據(jù)集上動(dòng)態(tài)更新所消耗時(shí)間如表6 所示。實(shí)驗(yàn)參數(shù)設(shè)置:嵌入空間三元組個(gè)數(shù)限定值為1 500,margin 參數(shù)范圍 為{0.1,0.2,0.3},學(xué)習(xí)率learning_rate 參數(shù)范圍為{0.1,0.01}。

表5 用于增量更新測(cè)試的數(shù)據(jù)集信息Table 5 Datasets information for incremental update test

表6 不同規(guī)模數(shù)據(jù)集下增量更新時(shí)間對(duì)比Table 6 Comparison of incremental update time under different scale datasets min

在訓(xùn)練集三元組增量更新時(shí),KALE 模型在整個(gè)圖譜上重新訓(xùn)練,是一種全量更新的方式,隨著三元組數(shù)目的不斷增大,KALE 模型重新訓(xùn)練所消耗的時(shí)間會(huì)顯著增加。而PUKALE 模型的增量更新方式是在選定的嵌入空間進(jìn)行更新,是一種局部更新的方式,相比于全量更新,其訓(xùn)練時(shí)間明顯降低,適用于大規(guī)模數(shù)據(jù)流更新場(chǎng)景。

在動(dòng)態(tài)更新實(shí)驗(yàn)過(guò)程中,不同規(guī)模數(shù)據(jù)集上PUKALE 模型和KALE 模型的準(zhǔn)確率對(duì)比如表7 所示。從表7 可以看出,對(duì)于不同規(guī)模的三元組,隨著三元組數(shù)量的增多,PUKALE 模型的準(zhǔn)確率會(huì)逐漸提高,同等規(guī)模三元組在進(jìn)行增量更新時(shí),PUKALE模型在各個(gè)子嵌入空間的平均準(zhǔn)確率也略有提高,這表明PUKALE 模型的增量更新具有有效性。

表7 不同規(guī)模數(shù)據(jù)集下模型準(zhǔn)確率對(duì)比Table 7 Comparison of models accuracy under different scale datasets

3.1.4 PUKALE 模型性能分析

為了比較PUKALE 模型和其他知識(shí)表示學(xué)習(xí)模型的訓(xùn)練效果,本文進(jìn)行對(duì)比實(shí)驗(yàn),設(shè)置如下:向量空間維度d分別設(shè)置為{30,40,50};訓(xùn)練集三元組個(gè)數(shù)為90 000;驗(yàn)證集三元組個(gè)數(shù)為10 000;嵌入空間三元組個(gè)數(shù)分別設(shè)置為{1 000,1 500,2 000,3 000};margin 參數(shù)范圍為{0.1,0.2,0.3};學(xué)習(xí)率learning_rate 參數(shù)范圍為{0.1,0.01}。實(shí)驗(yàn)結(jié)果如表8 所示。

表8 PUKALE 與其他知識(shí)表示學(xué)習(xí)模型準(zhǔn)確率對(duì)比Table 8 Comparison of accuracy between PUKALE and other knowledge representation learning models

從表8 可以看出,KALE 模型和PUKALE 模型的準(zhǔn)確率均優(yōu)于TranE、TransH、TransR 模型,PUKALE 在各個(gè)嵌入空間的平均準(zhǔn)確率比KALE低,但是MRR 相比KALE 有所提高,PUKALE 準(zhǔn)確率比KALE 低的原因在于KALE 訓(xùn)練時(shí)只有一個(gè)全局嵌入空間,其可以完整學(xué)習(xí)所有三元組的信息,而PUKALE 是將三元組按語(yǔ)義相關(guān)和結(jié)構(gòu)相關(guān)劃分到各個(gè)子嵌入空間中,由于嵌入空間生成算法具有差異性,因此相關(guān)的三元組不一定能全部劃分到同一個(gè)嵌入空間,導(dǎo)致在各個(gè)嵌入空間學(xué)習(xí)的信息不一定完整,平均準(zhǔn)確率降低。PUKALE 的MRR 有所提高的原因在于嵌入空間的選擇機(jī)制會(huì)忽略掉一些不相關(guān)的嵌入空間和三元組,精簡(jiǎn)了三元組的搜索范圍,使得測(cè)試三元組的排名更靠前。雖然PUKALE的準(zhǔn)確性低于KALE,但是PUKALE 支持增量更新,進(jìn)行增量更新時(shí)是在局部嵌入空間重新訓(xùn)練,而不是在整個(gè)數(shù)據(jù)集上進(jìn)行重新訓(xùn)練。在大規(guī)模三元組場(chǎng)景下,PUKALE 的更新時(shí)間消耗遠(yuǎn)低于KALE,這在后續(xù)的實(shí)時(shí)語(yǔ)義數(shù)據(jù)流處理中具有重要意義。

3.2 PUKALE 在語(yǔ)義數(shù)據(jù)流推理中的性能分析

本節(jié)將PUKAEL 模型添加推理嵌入到CSPARQLengine 中進(jìn)行2 種場(chǎng)景實(shí)驗(yàn),測(cè)試其在2 種場(chǎng)景下的推理查詢(xún)時(shí)延,并與傳統(tǒng)的CSPARQL 推理查詢(xún)和KALE推理查詢(xún)進(jìn)行對(duì)比。場(chǎng)景1 是具有傳遞閉包規(guī)則的艦船戰(zhàn)斗群隸屬關(guān)系推理,場(chǎng)景2 是較為復(fù)雜的動(dòng)態(tài)威脅感知推理。場(chǎng)景1 的規(guī)則如表9 所示。

表9 場(chǎng)景1 閉包規(guī)則Table 9 Scenario 1 closure rule

表9 規(guī)則表示,如果艦船目標(biāo)x 和艦船目標(biāo)y 處于同一個(gè)戰(zhàn)斗組,艦船目標(biāo)y 和艦船目標(biāo)z 處于同一個(gè)戰(zhàn)斗組,則艦船目標(biāo)x 和艦船目標(biāo)z 處于同一個(gè)戰(zhàn)斗組。對(duì)于艦船目標(biāo)x,如果獲取了與其同組的y 和z,則可以通過(guò)分析其同組艦船目標(biāo)的歷史活動(dòng)進(jìn)行意圖分析。因此,在數(shù)據(jù)流平臺(tái)快速推理出x 同組的其他艦船目標(biāo)比較關(guān)鍵。另外,該規(guī)則存在傳遞閉包特征,推理結(jié)果可以作為推理?xiàng)l件繼續(xù)使用。

針對(duì)表9 構(gòu)造的Rule1,本文在CSPARQL-engine中使用如下查詢(xún)語(yǔ)句Query1,表示查詢(xún)出所有與艦船x 同組的艦船。

Query1傳遞閉包查詢(xún)

場(chǎng)景2 的規(guī)則如表10 所示。該規(guī)則表示,如果艦船目標(biāo)a 裝載了武器b,武器b 的目標(biāo)是c,而艦船目標(biāo)d 的類(lèi)型是c,則艦船目標(biāo)a 對(duì)艦船目標(biāo)d 存在潛在威脅。

表10 場(chǎng)景2 復(fù)雜推理規(guī)則Table 10 Scenario 2 complex reasoning rule

針對(duì)規(guī)則2,本文使用的推理查詢(xún)語(yǔ)句如Query2所示。Query2 是一個(gè)較為復(fù)雜的推理查詢(xún),表示如果在時(shí)間點(diǎn)time1 和位置1 發(fā)現(xiàn)了2 艘艦船x 和y,并且x對(duì)y 有威脅,而在時(shí)間點(diǎn)time2(time2>time1)和位置2又發(fā)現(xiàn)了x 和y,并且2 個(gè)區(qū)域在一定范圍內(nèi),則查詢(xún)出2 艘艦船的信息。

Query2復(fù)雜推理規(guī)則查詢(xún)

針對(duì)以上2 個(gè)查詢(xún),本文實(shí)驗(yàn)所設(shè)置的參數(shù)如下:數(shù)據(jù)流窗口大小分別為{10,20,30,40},單位為秒;每秒窗口三元組的數(shù)量為{2 000,4 000,8 000,16 000,32 000,64 000};窗口的步長(zhǎng)為1 s。根據(jù)以上輸入?yún)?shù)可以得到實(shí)驗(yàn)結(jié)果如圖7、圖8 所示。

圖7 規(guī)則1 推理查詢(xún)時(shí)間延遲Fig.7 Rule1 reasoning and query time delay

圖8 規(guī)則2 推理查詢(xún)時(shí)間延遲Fig.8 Rule2 reasoning and query time delay

實(shí)驗(yàn)結(jié)果表明:在相同的條件限制下,CSPARQL-engine 在PUKALE 作為推理引擎時(shí)的推理查詢(xún)延遲明顯低于傳統(tǒng)的CSPARQL 規(guī)則推理引擎,而且傳統(tǒng)的CSPARQL 規(guī)則推理引擎在三元組輸入速率達(dá)到32 000 個(gè)/s 時(shí)失去響應(yīng),而在使用PUKALE 和KALE 作為推理引擎時(shí),CSPARQLengine 還能正常工作;CSPARQL-engine 在使用PUKALE 作為推理引擎時(shí)的推理查詢(xún)時(shí)延在三元組速率低于16 000 個(gè)/s 時(shí)與KALE 作為推理引擎時(shí)延遲差別不大,但在三元組速率達(dá)到32 000 個(gè)/s 或64 000 個(gè)/s 時(shí),PUKALE 推理的性能略好于KALE,原因在于KALE 推理只有一個(gè)全局配置空間,在計(jì)算時(shí)對(duì)所有三元組都會(huì)計(jì)算一次,在三元組個(gè)數(shù)較多的情況下會(huì)有較多的無(wú)效計(jì)算,比較耗時(shí),而PUKALE 采用多嵌入空間的方式,能過(guò)濾掉一些無(wú)效嵌入空間和三元組,因此,在三元組個(gè)數(shù)較多的情況下,其計(jì)算量較少,性能較高。

4 結(jié)束語(yǔ)

本文在知識(shí)表示學(xué)習(xí)模型KALE 的基礎(chǔ)上引入多嵌入空間,提出一種PUKALE 模型,并設(shè)計(jì)3 種嵌入空間生成策略以及2 種嵌入空間選擇策略。為了提升數(shù)據(jù)流推理引擎的推理效率,本文將PUKALE 模型嵌入實(shí)時(shí)數(shù)據(jù)流推理平臺(tái)CSPARQL-engine,并與傳統(tǒng)的CSPARQL 推理和KALE 推理進(jìn)行對(duì)比。實(shí)驗(yàn)結(jié)果表明,相較KALE 的全量更新方式,PUKALE 中的增量更新方式在三元組數(shù)量較大、更新較頻繁的場(chǎng)景下具有顯著優(yōu)勢(shì),在50 萬(wàn)圖譜規(guī)模數(shù)據(jù)集中時(shí)間消耗約下降93%。此外,相較傳統(tǒng)的CSPARQL 推理,PUKALE 推理的查詢(xún)時(shí)間約縮短85%,且其更適用于大規(guī)模實(shí)時(shí)語(yǔ)義數(shù)據(jù)流推理查詢(xún)?nèi)蝿?wù)。

PUKALE 模型在知識(shí)圖譜在線更新時(shí)使用局部子嵌入空間訓(xùn)練,雖然避免了在整個(gè)圖譜上重新訓(xùn)練,縮短了訓(xùn)練時(shí)間,然而,局部子空間并不能保存圖譜全局結(jié)構(gòu)信息,從而導(dǎo)致信息學(xué)習(xí)不全的問(wèn)題。此外,PUKALE 利用TransE 的打分函數(shù)計(jì)算每個(gè)三元組的能量分?jǐn)?shù),其并不能很好地建模1~N、N~1、N~N的關(guān)系。因此,后續(xù)將為PUKALE 設(shè)計(jì)新的三元組學(xué)習(xí)及打分機(jī)制,弱化TransE 中三元組h+r≈t的嚴(yán)格限制,進(jìn)一步提升PUKALE 模型對(duì)1~N、N~1、N~N關(guān)系的建模及適應(yīng)能力。

猜你喜歡
三元組數(shù)據(jù)流個(gè)數(shù)
數(shù)據(jù)流計(jì)算研究進(jìn)展與概述
怎樣數(shù)出小正方體的個(gè)數(shù)
特征標(biāo)三元組的本原誘導(dǎo)子
汽車(chē)維修數(shù)據(jù)流基礎(chǔ)(上)
汽車(chē)維修數(shù)據(jù)流基礎(chǔ)(下)
等腰三角形個(gè)數(shù)探索
怎樣數(shù)出小木塊的個(gè)數(shù)
關(guān)于余撓三元組的periodic-模
一個(gè)時(shí)態(tài)RDF存儲(chǔ)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
怎樣數(shù)出小正方體的個(gè)數(shù)