本發(fā)明屬于計算機軟件技術(shù)領(lǐng)域,具體涉及邏輯語言在知識庫上的應(yīng)用與技術(shù)。
背景技術(shù):
owl本體作為目前較流行的知識庫形式,受到各個領(lǐng)域科學(xué)家的關(guān)注與研究。描述邏輯el是用來構(gòu)建owl本體的一種邏輯語言。近年來,el因其較充分的表達能力以及較低的計算復(fù)雜度,受到科研人員和工業(yè)界的重視。例如,gene項目以及snomedct項目都采用了el作為底層的數(shù)據(jù)建模語言。近來,el還被用于交通領(lǐng)域本體的構(gòu)建,應(yīng)用在交通阻塞診斷等場景中。
在描述邏輯el中,基本的組成元素是概念和角色。概念用來描述一個類別,比如“疾病”這個類別;角色用來描述一個關(guān)系,比如“位于”。一個概念按照如下語法規(guī)則構(gòu)成:
其中,a表示一個原子概念,t表示頂概念,原子概念與頂概念統(tǒng)稱為基本概念,r表示一個原子角色,c和d表示基于原子概念和頂概念迭代構(gòu)造得到的概念。一個el本體是如下公理的集合:形如
為了方便處理,一個el本體通常首先被轉(zhuǎn)化為其規(guī)范化形式。在一個規(guī)范化的el本體中,所有的概念包含公理都必須是如下幾種形式之一:
推理技術(shù)在本體應(yīng)用中起到了非常重要的作用,如優(yōu)化查詢,輔助本體調(diào)試等。el的核心推理任務(wù)是“本體分類”,即計算本體中概念之間的層次包含關(guān)系。在現(xiàn)有el推理方法中,cel推理機是第一個針對el開發(fā)的串行推理機,然而在處理較大規(guī)模本體時cel表現(xiàn)不佳;牛津大學(xué)開發(fā)的elk推理機首次采用多核并行技術(shù),但是elk受限于單臺機器內(nèi)存容量,其可擴展性受到約束;美國懷特大學(xué)和東南大學(xué)合作研究了基于mapreduce模型的并行推理技術(shù),該技術(shù)因為大量的冗余計算以及具體計算框架的i/o開銷導(dǎo)致推理效率低下。
技術(shù)實現(xiàn)要素:
技術(shù)問題:為克服現(xiàn)有el推理技術(shù)的缺點,本發(fā)明提出一種基于圖模型的el并行推理方法,該方法利用并行技術(shù)處理大規(guī)模本體推理,同時基于圖模型實現(xiàn)平臺無關(guān)的特性,使得并行推理的效率不會受到特定計算平臺的限制。
技術(shù)方案:本發(fā)明的基于圖模型的描述邏輯el本體并行推理方法,包括如下步驟:
1)根據(jù)給定的el本體
2)將所述步驟1)轉(zhuǎn)化得到的有向圖
3)利用并行計算平臺的超步完成推理過程的迭代,分別為:請求、應(yīng)答、推理、加邊;迭代后有向圖
4)最后,將完成更新的有向圖
進一步的,本發(fā)明方法中,步驟1)的具體流程如下:
11)將給定的el本體
12)將規(guī)范化后的el本體
轉(zhuǎn)換過程具體為:利用轉(zhuǎn)化規(guī)則(t1)針對
進一步的,本發(fā)明方法中,步驟4)中利用轉(zhuǎn)換規(guī)則(t1-t6)的可逆性,將有向圖
進一步的,本發(fā)明方法中,步驟2)中的有向圖
41)利用平臺的“轉(zhuǎn)譯超步”將有向圖
42)利用平臺的“存儲超步”將轉(zhuǎn)譯后的有向圖
進一步的,本發(fā)明方法中,步驟41)中的“轉(zhuǎn)譯超步”與42)中的“存儲超步”是并行計算平臺的宏操作,對上層應(yīng)用屏蔽底層平臺的具體實現(xiàn)。
進一步的,本發(fā)明方法中,步驟3)基于“不動點原則”完成,當沒有新的邊添加至有向圖
進一步的,本發(fā)明方法中,步驟3)的具體流程如下:
31)初始化:遍歷有向圖
32)請求:遍歷有向圖
請求過程具體為:根據(jù)規(guī)則r1,請求返回有向圖
33)應(yīng)答:有向圖
34)推理:根據(jù)所述步驟33)返回的信息,針對頂點a進行推理,得到相應(yīng)結(jié)論,推理過程具體為:根據(jù)規(guī)則r1,若有向圖
35)加邊:將所述步驟34)中的推理結(jié)論作為新的邊加入到有向圖
規(guī)范化的el本體因其形式簡單,從而有利于并行化處理,因此本發(fā)明也引入規(guī)范化技術(shù)。另外,圖結(jié)構(gòu)具有“信息相鄰”的特性,即圖中的頂點所表達的信息僅與出邊,入邊以及相鄰頂點相關(guān),與其他頂點和邊不相關(guān)。該特性使得圖結(jié)構(gòu)被廣泛用于并行數(shù)據(jù)處理任務(wù)及平臺中,如neo4j圖數(shù)據(jù)處理系統(tǒng),以及谷歌的pregel并行圖數(shù)據(jù)處理平臺。因此,本發(fā)明將規(guī)范化的el本體
步驟1)中的規(guī)范化處理以及將規(guī)范化后的本體轉(zhuǎn)換成語義等價的有向圖,具體流程如下:
11)將給定的el本體
12)將規(guī)范化后的el本體
轉(zhuǎn)換過程具體為:利用轉(zhuǎn)化規(guī)則(t1)針對
如背景技術(shù)所述,已有推理機是基于特定的計算平臺設(shè)計的,如多核多線程平臺,mapreduce平臺等。這使得推理機受到特定平臺的限制,無法根據(jù)不同需求進行移植,并且影響推理效率。為解決該問題,本發(fā)明引入平臺無關(guān)模型,以消除特定平臺帶來的影響,方便推理機在不同平臺進行移植,并且可以兼顧不同平臺的特點達到推理效率最優(yōu)的目的。
步驟2)中對有向圖
并行化存儲后進行并行推理。由于平臺無關(guān)模型的引入,本發(fā)明通過不同平臺抽象出的統(tǒng)一宏操作來完成推理方法的設(shè)計,并行平臺上的宏操作被稱為“超步”。推理方法的具體設(shè)計思路如下:推理任務(wù)通過有向圖
步驟3)利用并行計算平臺的超步完成推理過程的迭代,涉及到的超步為:請求、應(yīng)答、推理、加邊;迭代后完成有向圖
31)初始化:程序遍歷有向圖
32)請求:程序遍歷有向圖
請求過程具體為:根據(jù)規(guī)則r1,請求返回有向圖
33)應(yīng)答:有向圖
34)推理:根據(jù)所述步驟33)返回的信息,程序針對頂點a進行推理,得到相應(yīng)結(jié)論,推理過程具體為:根據(jù)規(guī)則r1,若不存在有向圖
35)加邊:將所述步驟34)中的推理結(jié)論作為新的邊加入到有向圖
步驟4)中利用轉(zhuǎn)換規(guī)則(t1-t6)的可逆性,將有向圖
有益效果:el本體推理的現(xiàn)有研究工作如下:badder等人開發(fā)的推理機cel,牛津大學(xué)開發(fā)的推理系統(tǒng)elk以及raghava與zhou等人基于mapreduce開發(fā)的分布式el推理系統(tǒng)。與以上現(xiàn)有系統(tǒng)及技術(shù)相比,本發(fā)明優(yōu)點及有益效果分析如下。
cel是首個針對el推理任務(wù)開發(fā)的推理系統(tǒng)。cel系統(tǒng)也引入了規(guī)范化技術(shù)來預(yù)處理el本體。但是,cel是基于串行技術(shù)實現(xiàn)的推理機,其推理能力受制于本體的規(guī)模。實驗結(jié)果表明,在相同配置下,含有百萬數(shù)量公理的本體snomedct,在cel系統(tǒng)上完成分類需要20分鐘時間。本發(fā)明實現(xiàn)的系統(tǒng)引入了并行化技術(shù),在處理snomedct本體的推理時僅需半分鐘計算時間。
elk是首個引入了并行推理技術(shù)的el本體推理機,具體而言,elk引入了多核多線程技術(shù)來實現(xiàn)owlel本體分類。elk針對公理中的特定位置(在符號
基于mapreduce平臺開發(fā)的el推理系統(tǒng)具有分布式、高吞吐量的特點。能夠滿足大規(guī)模本體推理的需求。但是mapreduce系統(tǒng)是著重針對表單數(shù)據(jù)設(shè)計的。因而,基于mapreduce平臺開發(fā)的el推理系統(tǒng)只能按照表單數(shù)據(jù)格式存儲el本體,以及做相應(yīng)操作。但是el本體具有圖的特征,可以利用圖上的優(yōu)化來提升推理效果。因此,本發(fā)明利用圖結(jié)構(gòu)的“信息相鄰”特性,基于圖模型設(shè)計并行推理系統(tǒng)。這使得基于圖操作的優(yōu)化和改進得以實現(xiàn)。另外,基于mapreduce平臺開發(fā)的推理系統(tǒng)只能部署在mapreduce計算平臺上,因而受限于具體平臺的使用。如上一段所述,本發(fā)明采用平臺無關(guān)模型設(shè)計推理過程,在不同平臺使用方面具有靈活性。
附圖說明
圖1是整個并行系統(tǒng)流程圖。
圖2是由本體轉(zhuǎn)換得到的有向圖。
具體實施方式
以下結(jié)合實施例和說明書附圖,詳細說明本發(fā)明的實施過程。
給定el本體
上述本體包含六條公理,分別描述了如下事實:α1描述了“膝關(guān)節(jié)(kneejoint)”是“從屬于膝蓋
本發(fā)明提出了一種基于圖模型的描述邏輯el本體并行推理方法,可以對本體
1)根據(jù)給定的el本體做規(guī)范化處理,并將規(guī)范化后的本體轉(zhuǎn)換成語義等價的有向圖;
首先,對本體
接下來,將所有公理按照轉(zhuǎn)換規(guī)則(t1-t6)轉(zhuǎn)換為有向圖
2)將所述步驟1)轉(zhuǎn)化得來的有向圖
上述并行化存儲過程具體為:首先,利用平臺的“轉(zhuǎn)譯超步”將有向圖
3)利用并行計算平臺的超步完成推理過程的迭代,所使用超步分別為:請求、應(yīng)答、推理、加邊;迭代后有向圖完成更新;
對轉(zhuǎn)換得到的有向圖
以上新添加的邊e9至e13添加進有向圖
4)最后,將完成更新的有向圖逆向轉(zhuǎn)換為新的el本體,作為結(jié)果輸出;
利用轉(zhuǎn)換規(guī)則(t1-t6)的可逆性,將有向圖
所得到新的el本體為最終輸出的結(jié)果。
上述實施例僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出:對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和等同替換,這些對本發(fā)明權(quán)利要求進行改進和等同替換后的技術(shù)方案,均落入本發(fā)明的保護范圍。