專利名稱:大規模語義知識庫的動態維護系統的制作方法
技術領域:
本發明涉及網絡信息處理技術,特別是涉及一種基于*吐2.0網絡的異構語義知識庫的動態維護系統。
背景技術:
本發明所涉及的有以下幾個技術1.語義^feb的知識庫語義Web已經發展了十余年時間。知識表示、知識存儲和查詢、知識推理等語義 Web技術的研究已經有了長足的進步。但是與傳統的Web相比,語義Web的知識庫規模還相差甚遠,能夠實際應用的本體知識庫鳳毛麟角,很難滿足語義Web對大規模知識庫的需求。究其原因,本體的構建成本、效率,以及本體的管理難題都是制約語義知識庫發展的障礙。本體是構成知識庫的主體,目前構建本體的途徑主要是由領域專家通過手工來制作本體,不但成本高、效率低,而且維護起來非常困難,也有研究人員通過統計分析和自然語言處理的方法對已有的Web頁面進行標注或者抽取來獲取語義知識,但是語義識別準確率不高,造成了本體質量低下。至今人們尚未找到一種能夠持續、高效、優質地構建本體的途徑。 然而,自底向上的建設語義Web已經獲得越來越多的共識,從簡單地關聯大量的開放數據集開始,逐漸積累并豐富其語義,從而構建帶有語義的Web知識庫的工作已經起步并獲得了顯著的進展。2.分布式本體研究語義Web的發展從一開始就是建立在Web2. 0基礎之上的,必將包含海量的語義數據。此外,在語義發展初期,眾多的標準和技術形成了大量的異構語義數據源,如何聯合異構語義數據源并在海量語義數據中進行查詢和推理已經越來越受到科研人員的重視,然而由于大規模的語義Web知識庫尚未建立,因此對分布式本體的研究也很難找到著力點。但是,在研究中提出來的一些思想和架構依然可以被借鑒,用來解決分布式本體條件下的難題。3.知識庫維護研究語義知識庫的維護主要是指對大量異構語義數據源的管理,以使整個語義知識庫保持上層語義網應用所需的一致性以及推理和查詢的效率。目前圍繞知識庫不一致性處理方面,已經產生了各個研究領域,如不一致性檢測、不一致性推理、不一致性調試等,在提升推理和查詢效率上,一方面有對本體推理查詢算法的改進,如圍繞描述邏輯推理算法 tabular算法的優化,對SPARQL查詢機制的優化,另一方面有通過對本體之間數據關系的挖掘,來優化知識庫中本體的存儲結構,進而提高推理查詢的效率,如本體合并、本體分割。針對大規模語義知識庫的動態維護的難題,如何將各種本體維護算法結合起來構建一個能夠提供不一致性本體處理,并能動態優化知識庫中本體存儲結構的管理接口是本領域所要解決的問題。
發明內容
基于上述現有技術,本發明提出一種大規模語義知識庫的動態維護系統,結合本體合并算法、本體不一致性處理算法和本體分割算法,將不一致性處理算法與大規模語義知識庫進行了整合,從而實現了大規模語義知識庫的一致性管理。本發明提出了一種大規模語義知識庫的動態維護系統,該系統包括主服務器、分布式數據服務器以及存儲采用OffL語言描述的本體知識庫,其特征在于,該系統還包括部署于主服務器上的全局知識管理系統和部署于該系統的分布式數據服務器的局部數據管理系統,所述全局知識管理系統和所述局部數據管理系統通過知識總線控制器,以一套標準的知識通信指令進行交互,其中局部數據管理系統,用于監聽通過總線MULE傳送來的指令并根據總線返回的控制流指令返回本體處理數據,實現語義知識庫動態維護算法數據的存儲與管理,包括本體的合并、分割以及不一致性處理;全局知識管理系統,用于統籌、維護和應用本體知識庫,該系統包括局部服務器索引,該索引用來記錄位于輔助數據服務器上的局部服務器的標注的信息,然后位于主服務器上負責統籌、維護和應用本體知識庫的全局知識管理系統運行核心處理,依據請求查詢相應索引信息,并發出多播和廣播指令;API解釋器,用于將來自上層的功能API的請求,解釋成基礎的核心查詢指令,支持系統運行;全局知識庫管理模塊,運行于主服務器后臺,用于執行本體知識庫推理和演化算法,優化知識庫結構和存儲,實現一致本體視圖抽取、本體合并、本體分割、負載均衡,具體算法如下本體合并算法,首先找到兩個輸入本體之間實體的關聯,然后指定一個本體A作為基本體,將另一個本體B導入本體A中,然后在合并本體B中添加關聯描述,則得到了所需的合并后的本體結果;本體不一致性處理算法,對每個不一致本體,計算不一致本體的不可滿足概念集; 讀取每一個不可滿足概念的最小不一致子本體從每個不一致子本體中抽取一個三元組, 如果子本體有相交,則抽取相交部分的三元組,組成三元組集合;從原本體中去除這個三元組集合,使得所有不一致本體一致;得到最大一致子本體;本體分割算法,給定一個本體,首先將其轉化為圖形結構,然后判斷其是否全連通,如果全連通則計算最小割集,包括割點與割邊;根據割集分割;如果不是全連通,則計算極大連通子圖,然后根據子圖進行分割。所述局部服務器的標識信息包括如通信地址、本體列表、局部服務器狀態信息。所述找到兩個輸入本體之間實體的關聯的步驟,具體包括基于實體字符串距離構造一個距離矩陣,通過字符串距離計算算法,求得每一對實體之間的距離,距離最近的實體即認為是有關聯的實體。所述字符串距離計算算法采用ontosim中的符串距離計算算法。所述找到兩個輸入本體之間實體的關聯的步驟,該步驟的具體實現包括以下步驟通過對外部語義工具的調用,找到實體名之間的關聯度,關聯度最小的即認為是有關聯的實體;
所述外部語義工具為WordNet或Wikipedia。所述通過總線MULE傳送來的指令,該指令文件名必須與ontologyURI —致。與現有技術相比,本發明能夠通過平臺及平臺之上的優化算法,實現對大規模語義知識庫本體的優化,從而減少存儲規模,以及優化推理和查詢的效率。
圖1為分布式本體管理體系架構圖;圖2為本體合并算法流程圖;圖3為本體不一致性處理算法流程圖;圖4為本體分割算法流程具體實施例方式首先,本發明利用了本體合并算法。由于本體數據源之間的異構以及概念的重疊, 找到本體之間結構的關聯,減少存儲規模從而優化推理和查詢的效率就變得可能,該算法主要通過尋找本體的實體之間的距離,從而在合并后的本體中添加實體關系的描述,進而建立本體之間的關聯。其次,本發明利用了本體不一致性處理算法?,F實開放世界中的知識本身存在不完全性以及知識隨時間的動態演化性,因此不一致性的出現不可避免。通過本發明提出了一種提取最大一致子本體的算法來解決這些問題。在本發明中的本體是采用基于描述邏輯的語言——OffL描述的。并且,將這個算法與底層知識庫結合了起來,從而實現了分布式環境下全局知識庫的一致性管理。以及,本發明還利用了本體分割算法的應用。在本體知識庫中,有時會出現一些大規模本體,這些本體的出現對知識庫推理和查詢的效率會有顯著的影響,通過將其分割成一些小規模本體就可以極大地提高推理和查詢的效率。各個算法的功能如下一、本體合并算法。對任意給定的兩個OffL本體,找到他們的實體(類、屬性、實例)之間的關聯(子類或者等價)。二、本體不一致性處理算法。對任意給定的一個不一致本體,返回一個臨時的最大一致子本體。三、本體分割算法。對任意一個規則的OffL本體,返回它的最小割集。算法演示平臺綜合了以上三種算法,從而可以更加方便地對這些算法進行測試, 此外在這個平臺的基礎上以及對大規模語義知識庫的整體設計上,將不一致性處理算法整合到知識庫的管理接口中來,實現了對大規模語義知識庫的一致性管理。以下通過具體實施方式
的描述,進一步說明本發明的技術方案1.大規模語義知識庫設計我們將這個大規模語義知識庫設計成由一個主服務器控制多個輔助數據服務器的模式。如圖1所示,該分布式本體管理體系架構以知識總線控制器為邊界,分為兩個部分。上面的是全局知識管理系統,下面的是位于分布式數據服務器上的局部數據管理系統。這兩個部分通過知識總線控制器和一套標準的知識通信指令進行交互,最終完成知識庫的管理工作。局部數據管理系統位于輔助數據服務器上,負責監聽總線傳來的指令,并返回所需數據,維護局部數據的存儲與管理。全局知識管理系統則位于主服務器上,負責統籌、維護和應用本體知識庫的功能。首先該系統需要一個局部服務器索引用來記錄局部服務器的信息,如通信地址、本體列表、局部服務器狀態等信息。然后查詢運行核心程序需要查詢該索引信息,并發出多播和廣播指令。API解釋器相當于一個適配器,將上層五花八門的API 請求,解釋成基礎的核心查詢指令,以此來支持系統運行。全局知識庫管理器則是一個特殊的程序,它不停地運行于主服務器后臺,并執行本體知識庫推理和演化算法,不斷地優化知識庫結構和存儲,其作用應該包括一致本體視圖抽取、本體合并、本體分割、負載均衡等。2.本體合并算法如圖2所示,為本體合并算法流程,使用Jena進行本體的合并時,首先找到兩個輸入本體之間實體的關聯,然后指定一個本體A作為基本體,將另一個本體B導入本體A中, 然后在合并本體B中添加關聯描述,則得到了所需的合并后的本體結果。合并后的本體可能會存在不一致性anconsistency)的情況,這時可以采用Jena或者Pellet進行一致性驗證。例如,在本體B中添加完關聯描述以后就可以調用Jena或者Pellet的推理器接口 (Reasoner),進行一致性驗證了。如果不一致,則可通過再次調用Jena或者Pellet的推理器接口(Reas0ner)檢驗是哪些概念導致了本體不一致性的出現。本體合并算法的核心以及主要計算量集中在尋找本體之間的實體關聯。尋找關聯的原則主要有兩類基于實體字符串距離,借助外部語義工具(如WordNetJikipedia)。基于第一類原則的方法主要是構造一個距離矩陣,通過計算字符串相似度算法,求得每一對實體名之間的距離,距離最近的實體即認為是有關聯的實體。在ontosim中,作者提供了多種計算字符串距離的算法,這些算法可以很方便的與Alignment API結合。借助該API的幫助,我們可以比較各種算法的結果,并且與標準結果進行比較等功能。在本發明中,為了簡化上述字符串距離算法,假定如果字符串相等,則距離為0,否則為1?;诘诙N原則的方法則是通過對外部語義工具的調用,找到實體名之間的關聯度,關聯度最小的即認為是有關聯的實體。例如,BLOOMS系統利用了 Wikipedia的分類系統(category hierarchy),對每對即將合并的類名,調用Wikipedia的服務(Webservice) 得到它所屬的種類(category),遞歸得到一個高度為4的樹,比較這些樹之間的重合度,得到類之間的關系是相等、子類還是無關。此外,在Alignment API中,利用WordNet的合并算法可以很方便地找到兩個概念之間的語義距離。這兩種原則在實際中都取得了比較好的效果。3.本體不一致性處理算法本發明考慮的本體是采用OWL語言描述的本體,而OWL語言遵循的邏輯基礎是描述邏輯的子集。在邏輯中,矛盾可以推導出一切,因而一個不一致本體是不能直接用來推理的。但現實環境中,因為知識的不完全性以及隨時間的動態演化性,使得知識的不一致性不可避免。因而我們需要尋找一種方法來解決在不一致環境下的本體推理。一種常用的方法就是構造不一致本體的臨時最大一致子本體。如圖3所示,為計算最小不一致子本體的算法流程。簡單說來,對每個不一致本體,第一步,計算不一致本體的不可滿足概念集;第二步,讀取每一個不可滿足概念的最小不一致子本體從每個不一致子本體中抽取一個三元組(如果子本體有相交,則抽取相交部分的三元組),組成三元組集合;從原本體中去除這個三元組集合,使得所有不一致本體一致,即得到了最大一致子本體;例如,定位本體0的最小子集0’,使得0’不能滿足概念C。換句話講,概念C在本體0的任意一個最大真子集中得到滿足,且在最小子集0’中不能滿足。本算法將可用于確定抽取一致本體的規模的上限。4.本體分割算法現實Web環境中存在各種規模的本體數據,特別是一些專業組織開放的本體。如果要將這些大規模本體添加到一個本體知識庫中,必須將其分割成小本體,以有利于知識庫的存儲和推理的效率。如果將類看作節點,類之間的關系(子類、互斥等)看作邊,則其存儲結構就是一張圖。在實現本體分割算法的時候,可以將該視圖看作無向圖,并借鑒圖論中求割點(關節點)的算法進行分割。這里的圖是指一種復雜的數據結構。數據元素間的關系是任意的。其他數據結構(如樹、線性表等)都有明確的條件限制,而圖形結構中任意兩個數據元素間均可相關聯。如圖4所示,為本體分割算法流程。給定一個本體的視圖,首先將其轉化為圖形結構,然后判斷其是否全連通,如果全連通則計算最小割集(包括割點與割邊),根據割集分割;如果不是全連通,則計算極大連通子圖,然后根據子圖進行分割。該本體分割算法的主要過程就是求關節點。求關節點的過程就是一次深度優先遍歷的過程,該算法的時間復雜度為0(n+e)(其中η為節點數,e為邊數)。該算法僅僅針對本體結構上的劃分;若再結合本體的語義等信息的考慮,本發明另外提出了一個模塊化本體的表示和推理的框架,這種模塊化表示可以看做本體分割的進一步深化,本發明的本體模塊化具有以下三個特征松耦合性(loose coupling)、自包含性(self-containment)與完整性(integrity)。
權利要求
1.一種大規模語義知識庫的動態維護系統,該系統包括主服務器、分布式數據服務器以及存儲采用OffL語言描述的本體知識庫,其特征在于,該系統還包括部署于主服務器上的全局知識管理系統和部署于該系統的分布式數據服務器的局部數據管理系統,所述全局知識管理系統和所述局部數據管理系統通過知識總線控制器,以一套標準的知識通信指令進行交互,其中局部數據管理系統,用于監聽通過總線MULE傳送來的指令并根據總線返回的控制流指令返回本體處理數據,實現語義知識庫動態維護算法數據的存儲與管理,包括本體的合并、分割以及不一致性處理;全局知識管理系統,用于統籌、維護和應用本體知識庫,該系統包括局部服務器索引,該索引用來記錄位于輔助數據服務器上的局部服務器的標注的信息,然后位于主服務器上負責統籌、維護和應用本體知識庫的全局知識管理系統運行核心處理,依據請求查詢相應索引信息,并發出多播和廣播指令;API解釋器,用于將來自上層的功能API的請求,解釋成基礎的核心查詢指令,支持系統運行;全局知識庫管理模塊,運行于主服務器后臺,用于執行本體知識庫推理和演化算法,優化知識庫結構和存儲,實現一致本體視圖抽取、本體合并、本體分割、負載均衡,具體算法如下本體合并算法,首先找到兩個輸入本體之間實體的關聯,然后指定一個本體A作為基本體,將另一個本體B導入本體A中,然后在合并本體B中添加關聯描述,則得到了所需的合并后的本體結果;本體不一致性處理算法,對每個不一致本體,計算不一致本體的不可滿足概念集;讀取每一個不可滿足概念的最小不一致子本體從每個不一致子本體中抽取一個三元組,如果子本體有相交,則抽取相交部分的三元組,組成三元組集合;從原本體中去除這個三元組集合,使得所有不一致本體一致;得到最大一致子本體;本體分割算法,給定一個本體,首先將其轉化為圖形結構,然后判斷其是否全連通,如果全連通則計算最小割集,包括割點與割邊;根據割集分割;如果不是全連通,則計算極大連通子圖,然后根據子圖進行分割。
2.如權利要求1所述的大規模語義知識庫的動態維護系統,其特征在于,所述局部服務器的標識信息包括如通信地址、本體列表、局部服務器狀態信息。
3.如權利要求1所述的大規模語義知識庫的動態維護系統,其特征在于,所述找到兩個輸入本體之間實體的關聯的步驟,具體包括基于實體字符串距離構造一個距離矩陣,通過字符串距離計算算法,求得每一對實體之間的距離,距離最近的實體即認為是有關聯的實體。
4.如權利要求3所述的大規模語義知識庫的動態維護系統,其特征在于,所述字符串距離計算算法采用ontosim中的符串距離計算算法。
5.如權利要求1所述的大規模語義知識庫的動態維護系統,其特征在于,所述找到兩個輸入本體之間實體的關聯的步驟,該步驟的具體實現包括以下步驟通過對外部語義工具的調用,找到實體名之間的關聯度,關聯度最小的即認為是有關聯的實體;
6.如權利要求1所述的大規模語義知識庫的動態維護系統,其特征在于,所述外部語義工具為 WordNet 或 Wikipedia。
7.如權利要求1所述的大規模語義知識庫的動態維護系統,其特征在于,所述通過總線MULE傳送來的指令,該指令文件名必須與ontologyURI —致。
全文摘要
本發明公開了一種大規模語義知識庫的動態維護系統,該系統包括主服務器、分布式數據服務器以及存儲采用OWL語言描述的本體知識庫,其特征在于,該系統還包括部署于主服務器上的全局知識管理系統和部署于該系統的分布式數據服務器的局部數據管理系統,所述全局知識管理系統和所述局部數據管理系統通過知識總線控制器,以一套標準的知識通信指令進行交互,與現有技術相比,本發明大規模語義知識庫本體的優化,從而減少存儲規模,以及優化推理和查詢的效率。
文檔編號G06F17/30GK102402599SQ20111036604
公開日2012年4月4日 申請日期2011年11月17日 優先權日2011年11月17日
發明者馮志勇, 賈彪, 饒國政 申請人:天津大學