張永恒 , 張 峰 ,2
(1.榆林學院 信息工程學院,陜西 榆林 719000;2.西北工業大學 自動化控制學院,陜西 西安 710065)
隨著技術系統的復雜化和技術資料數量的膨脹因素的影響,武器裝備IETM系統知識庫越來越龐大,而使用者希望能夠準確高效的檢索到有用信息[1]。但現有的大部分IETM系統還停留在基于關鍵字精確匹配,查全率和智能性都不高。主要存在的問題表現在:1)采取關鍵字匹配檢索方式,對語義相近的詞語無法判定其概念上的相似性,例如檢索概念相同但表述不同的同一個概念,那么檢索結果就完全不同,這就帶來了很大的問題;2)檢索結果只是簡單羅列,使用者往往要在很多的信息中尋找想要的信息,很難實現與用戶的交互,也缺乏關聯智能性;3)缺乏推薦和啟發式關聯機制,檢索結果往往只是特定的,如果使用者想查找相關的其他信息則必須重新構想關鍵字進行二次檢索[2]。因此,提高現有IETM系統海量數據的檢索的智能化和關聯機制就成為IETM技術研究的一個關鍵技術。針對這一問題,本章提出了一種基于Jena推理機的IETM智能化語義檢索方法,并通過實例進行了說明。
語義檢索引擎(Semantic Retrieval)是本文IETM系統的核心技術之一,設計獲取用戶的檢索詞后經過語義擴展完成相關的推理查詢,返回具備語義關聯的結果集。因此,一個完整的語義檢索引擎需包括查詢推理擴展、查詢映射(查詢擴展)和語義封裝3大主要模塊。
1)查詢推理擴展 基于用戶提交的檢索詞作為輸入條件的一個處理單元,本體構建的過程中預定義相關的語義推理擴展規則,該處理單元利用語義擴展規則對語義查詢進行推理擴展,據此推出一組與用戶的檢索對象具有語義關聯的語義查詢條件。
2)查詢映射 以獲得的語義查詢條件作為輸入條件的一個處理單元,語義查詢條件最終需要轉化成一組可執行的SQL語句來查詢RDB,該處理單元的功能就是將一組語義查詢條件映射成一組RDB的SQL語句,具體的映射規則(Onto-RDB映射規則)需要在本體構建過程中建立。
3)語義封裝 對查詢結果的加工處理單元,它將從RDB中查詢獲取的結果根據Onto-RDB映射規則進行逆向推理,解析得出一個基于本體詞匯結果集返回。
根據上述模塊和涉及的本體構建的前置條件,可以推出語義檢索引擎的一種實現模型如圖1所示,其具體過程解析如下:
以用戶提交的基于本體庫詞匯的語義查詢Qs作為查詢輸入條件,“查詢推理”模塊讀取“本體庫”中預先定義的語義推理擴展規則對Qs進行語義擴展處理,得出與Qs具有語義關聯一組語義查詢條件 Q1s,Q2s,Q3s,…,Qns;以此為輸入,“查詢映射”模塊讀取“Onto-RDB映射規則”獲得本體與數據庫的映射關系,據此進行查詢語句重寫處理:重寫得出一組SQL語句 Q1D,Q2D,Q3D, …,QnD直接提交給數據連接池來查詢 RDB,據此獲得一組查詢結果集 R(Q1D),R(Q2D),R(Q3D)…R(QnD)。該結果集若直接返回給用戶,語義可讀性較差,需要調用“語義封裝”模塊來進行語義處理,該模塊讀取 “Onto-RDB映射規則”,據此關系進行逆向處理達到語義封裝的目的,如公式(1)所示。f-2(R(Q1D),R(Q2D),R(Q3D)…R(QnD))
=(R(Q1s),R(Q2s),R(Q3s)…R(Qns)) (1)
經過重寫封裝后獲得的結果集 R(Q1s),R(Q2s),R(Q3s)…R(Qns)返回給面向視圖層的服務器端組件。語義檢索的實現模型如圖1所示。

圖1 一種語義檢索的實現模型Fig.1 Semantic retrievalmodel
語義檢索的核心是解決檢索時執行的查詢轉換和推理擴展,用戶的檢索方式并不唯一,完整的語義檢索過程通常有兩種類型:
1)導航式分類檢索 如圖2中opt選項1所示,根據用戶的檢索詞獲取模型庫導航提示,語義檢索引擎從本體模型庫中推理獲得本體的層級關系和關聯本體,以本體樹或輻射網的形式顯示,該導航的主要目的是通過語義關聯詞挖掘和明確用戶的檢索需求;用戶從導航提示中選擇最符合檢索需求的本體對象提交給檢索引擎獲取對象的屬性集,該屬性集用于構建實例檢索表單,表單輸入域與本體屬性一一對應;表單的“名/值”對構成檢索實例,發送到檢索引擎與模型庫和實例庫進行匹配檢索獲得結果集。
2)全局實例檢索 如圖2中opt選項2所示,在這種方式下主檢索界面的本體已限定,用戶選擇該本體的某屬性輸入檢索詞,檢索詞本身應是一個實例屬性值;語義引擎根據屬性值獲得結果集,該結果集中的每個實例同屬于一個抽象類,因此當引擎在返回該實例的原始數據的同時,會根據模型的語義規則推理得到關聯實例。

圖2 語義檢索過程模型Fig.2 Semantic retrieval processmodel
Jena對本體的操作主要包括:
1)以RDF/XML、三元組形式讀寫RDF
Jena 文檔中詳細介紹了 RDF(s)和 Jena RDF API,其內容包括對 Jena RDF包的介紹,RDF(s)模型的創建、讀寫、查詢等操作,以及RDF容器等討論。Jena采用三元組方式并按XML語法規則和格式讀寫和創建RDF模型,其具體過程如下:
//創建一個空的RDFModel
modelmodelname=ModelFactory.createDefaultModel();
//將模型中的信息寫入到RDF文件中
modelname.write(system.out);
//將RDF文件中的信息讀取到Model中
modelname.read(new InPutStream Reader(inputstream name);
2) 支持 RDF(s)、OWL 和 DAML+OIL 等本體的操作
Jena框架包含一個本體子系統(Ontology Subsystem),它提供的API允許處理基于RDF的本體數據進行操作和檢索,即支持RDFS、OWL和DAML+OIL等本體語言,其具體操作過程如下:
//依據Resource的URI返回 Resource對象
Resource resoucename=model.getresouree(URI);
//利用Resouree對象API列出符合要求的信息
String stringname=resoureename.getProperty (Properyame).getString();
本體API與推理子系統結合可以從特定本體中提取信息,Jena還提供文檔管理器(OntDocumentManager)以支持對導入本體的文檔管理。
3)內存存儲和持久存儲
Jena允許將數據以OWL文件暫時存儲PDF模型,也支持以文件系統或關系數據庫的形式永久存儲在硬盤中。
4)查詢模型
Jena提供了ARQ查詢引擎,它實現SPARQL查詢語言和RDQL,從而支持對本體模型的查詢。另外,查詢引擎與關系數據庫相關聯,能夠高效地查詢存儲在關系數據庫中的本體。
5)基于規則的推理
語義檢索意義在于通過概念及其概念之間的關系進行本體層面的檢索。Jena支持基于RDF(s)和OWL等規則集的推理,也支持自建規則的推理。
Jena程序處理核心是Model和Resource,前者對應于一個文檔模型,該模型以文件系統或數據庫的方式存儲,Jena內核一次性載入原始模型以類似于Dom樹的形式序列化到內存中,因此針對模型節點的增、刪、改操作基本上都是程序與內存的交互,僅當操作完成后才重新存儲到后臺持久環境中;Resource是Jena Statement的核心,針對三元組的statement以Resource表示主語,Property表示謂詞,對象是一個Resource,這種<Resource, Statement, Property>范式是 Jena解析和推理過程的基礎[4]。在Jena體系中,屬性定義、屬性約束、公理定義形成了Resource,所有的Resource和相互的類公理組成了Model,這是Jena的基本設計思想[5-6]。在該思想的基礎上,Jena的模塊架構如圖3所示。

圖3 Jena的模塊架構Fig.3 Jena’smodule architecture
依照前面的分析,構建了文獻本體系統的類、屬性和實例,如圖4所示。圖4(a)中定義了Book、Person和Publication3個抽象類(Class);圖 4(b)中定義所涉及到的 5個屬性(Properties),其中 isPublished/Publishing 和 both Published/bothPublishing 是兩對互逆(inverseOf)屬性。

圖4 抽象類與屬性Fig.4 Abstract classes and attributes
若一本書B滿足如下情況<P1出版 B書,P2出版 B書>,則推出該書由P1社和P2社聯合出版;同理,若一個出版社P滿足如下情況<P出版A書,P出版B書>,則推出A書和B書都由P社出版。按照Jena GenericRuleReasoner的規則編寫規范,上述規則表述為:
[bothPublishing:
(?a http://www.nwpu.edu.cn/owl#Publishing?c),
(?b http://www.nwpu.edu.cn/owl#Publishing?c),
notEqual(?a, ?b)
->(?a http://www.nwpu.edu.cn/owl#bothPublishing?b)]
[bothPublished:
(?a http://www.nwpu.edu.cn/owl#Publishing?b),
(?a http://www.nwpu.edu.cn/owl#Publishing?c),
notEqual(?b, ?c)
->(?b http://www.nwpu.edu.cn/owl#bothPublished?c)]
規則一利用三元組的Property屬性值中間沒有利用隱含邏輯,是一種最為簡單的規則推理;規則二在規則一的基礎上利用屬性的側面定義推導隱含的反面邏輯關系。通過兩條隱含的isPublished條件來推得bothPublished屬性。
IF <a,http://www.nwpu.edu.cn#Publishing,?b>
THEN < b http://www.nwpu.edu.cn#isPublished?a >
綜上,可建立如圖5所示的該語義模型的程序結構。其中BibModelFactory類用于配置通用推理機的規則庫和本體庫,返回 InfModel模型;SearchBaseModel調用 BibModel Factory的InfModel并按三元組范式檢索模型;URICreator工具類用于統一定義命名空間,為檢索關鍵詞返回規范的URI值。

圖5 文獻本體查詢建模Fig.5 Literature ontology querymodeling
文中提出了一種基于Jena推理的IETM智能化語義檢索方法,介紹了語義檢索的基本理論和五種語義推理工具,并選擇出Jena作為航空武器裝備IETM語義檢索的工具,詳細研究了Jena語義推理的功能結構、模塊架構、以及其Model API、推理系統、數據存儲和檢索語法4個子模塊等關鍵技術。提出了基于Jena推理的IETM智能語義檢索方法。該方法先檢索語義相關集,然后根據語義集合,選擇合適的節點獲取詳細信息。該方法能有效克服傳統的關鍵字檢索模型存在的語義缺失問題,且能有效地提高檢索的查全率和查準率。
[1]Fuller J J.Plan for DoD wide demonstrations of a DoD improved interactive electronic technical manual (IETM)architecture[R].West Bethesda:CDNSWC,1998.
[2]Su L P,Nolan M,deMare G,et al.Prognostics frame-work software design tool[C]//Aerospace Conference Proceedings,2000:18-25.
[3]Mathur A,Ghoshal S,Haste D,et al.An integrated support system for rotorcrafthealthmanagementand maintenance[C]//Aerospace Conference Proceedings,2010:18-25.
[4]Koh J J,Kwon S D,Kim B U,et al.Implementation of an interactive electronic technical manual based on webmultimedia technology[C]//The 4th Korea-Russia International Symposium on Volume 2,2007:21-24.
[5]Sarma S,Brock D,Ashton K.The Networked PhysicalWorld[R].White paper MIT,MIT Auto-ID Center,2001.
[6]Scholer F,Williams H E,Yiannis J,et al.Compression of inverted indexes for fast query evaluation[C]//In Proceedings of the 25th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval,2002:222-229.