張永恒 , 張 峰 ,2
(1.榆林學(xué)院 信息工程學(xué)院,陜西 榆林 719000;2.西北工業(yè)大學(xué) 自動(dòng)化控制學(xué)院,陜西 西安 710065)
隨著技術(shù)系統(tǒng)的復(fù)雜化和技術(shù)資料數(shù)量的膨脹因素的影響,武器裝備IETM系統(tǒng)知識(shí)庫越來越龐大,而使用者希望能夠準(zhǔn)確高效的檢索到有用信息[1]。但現(xiàn)有的大部分IETM系統(tǒng)還停留在基于關(guān)鍵字精確匹配,查全率和智能性都不高。主要存在的問題表現(xiàn)在:1)采取關(guān)鍵字匹配檢索方式,對(duì)語義相近的詞語無法判定其概念上的相似性,例如檢索概念相同但表述不同的同一個(gè)概念,那么檢索結(jié)果就完全不同,這就帶來了很大的問題;2)檢索結(jié)果只是簡單羅列,使用者往往要在很多的信息中尋找想要的信息,很難實(shí)現(xiàn)與用戶的交互,也缺乏關(guān)聯(lián)智能性;3)缺乏推薦和啟發(fā)式關(guān)聯(lián)機(jī)制,檢索結(jié)果往往只是特定的,如果使用者想查找相關(guān)的其他信息則必須重新構(gòu)想關(guān)鍵字進(jìn)行二次檢索[2]。因此,提高現(xiàn)有IETM系統(tǒng)海量數(shù)據(jù)的檢索的智能化和關(guān)聯(lián)機(jī)制就成為IETM技術(shù)研究的一個(gè)關(guān)鍵技術(shù)。針對(duì)這一問題,本章提出了一種基于Jena推理機(jī)的IETM智能化語義檢索方法,并通過實(shí)例進(jìn)行了說明。
語義檢索引擎(Semantic Retrieval)是本文IETM系統(tǒng)的核心技術(shù)之一,設(shè)計(jì)獲取用戶的檢索詞后經(jīng)過語義擴(kuò)展完成相關(guān)的推理查詢,返回具備語義關(guān)聯(lián)的結(jié)果集。因此,一個(gè)完整的語義檢索引擎需包括查詢推理擴(kuò)展、查詢映射(查詢擴(kuò)展)和語義封裝3大主要模塊。
1)查詢推理擴(kuò)展 基于用戶提交的檢索詞作為輸入條件的一個(gè)處理單元,本體構(gòu)建的過程中預(yù)定義相關(guān)的語義推理擴(kuò)展規(guī)則,該處理單元利用語義擴(kuò)展規(guī)則對(duì)語義查詢進(jìn)行推理擴(kuò)展,據(jù)此推出一組與用戶的檢索對(duì)象具有語義關(guān)聯(lián)的語義查詢條件。
2)查詢映射 以獲得的語義查詢條件作為輸入條件的一個(gè)處理單元,語義查詢條件最終需要轉(zhuǎn)化成一組可執(zhí)行的SQL語句來查詢RDB,該處理單元的功能就是將一組語義查詢條件映射成一組RDB的SQL語句,具體的映射規(guī)則(Onto-RDB映射規(guī)則)需要在本體構(gòu)建過程中建立。
3)語義封裝 對(duì)查詢結(jié)果的加工處理單元,它將從RDB中查詢獲取的結(jié)果根據(jù)Onto-RDB映射規(guī)則進(jìn)行逆向推理,解析得出一個(gè)基于本體詞匯結(jié)果集返回。
根據(jù)上述模塊和涉及的本體構(gòu)建的前置條件,可以推出語義檢索引擎的一種實(shí)現(xiàn)模型如圖1所示,其具體過程解析如下:
以用戶提交的基于本體庫詞匯的語義查詢Qs作為查詢輸入條件,“查詢推理”模塊讀取“本體庫”中預(yù)先定義的語義推理擴(kuò)展規(guī)則對(duì)Qs進(jìn)行語義擴(kuò)展處理,得出與Qs具有語義關(guān)聯(lián)一組語義查詢條件 Q1s,Q2s,Q3s,…,Qns;以此為輸入,“查詢映射”模塊讀取“Onto-RDB映射規(guī)則”獲得本體與數(shù)據(jù)庫的映射關(guān)系,據(jù)此進(jìn)行查詢語句重寫處理:重寫得出一組SQL語句 Q1D,Q2D,Q3D, …,QnD直接提交給數(shù)據(jù)連接池來查詢 RDB,據(jù)此獲得一組查詢結(jié)果集 R(Q1D),R(Q2D),R(Q3D)…R(QnD)。該結(jié)果集若直接返回給用戶,語義可讀性較差,需要調(diào)用“語義封裝”模塊來進(jìn)行語義處理,該模塊讀取 “Onto-RDB映射規(guī)則”,據(jù)此關(guān)系進(jìn)行逆向處理達(dá)到語義封裝的目的,如公式(1)所示。f-2(R(Q1D),R(Q2D),R(Q3D)…R(QnD))
=(R(Q1s),R(Q2s),R(Q3s)…R(Qns)) (1)
經(jīng)過重寫封裝后獲得的結(jié)果集 R(Q1s),R(Q2s),R(Q3s)…R(Qns)返回給面向視圖層的服務(wù)器端組件。語義檢索的實(shí)現(xiàn)模型如圖1所示。
圖1 一種語義檢索的實(shí)現(xiàn)模型Fig.1 Semantic retrievalmodel
語義檢索的核心是解決檢索時(shí)執(zhí)行的查詢轉(zhuǎn)換和推理擴(kuò)展,用戶的檢索方式并不唯一,完整的語義檢索過程通常有兩種類型:
1)導(dǎo)航式分類檢索 如圖2中opt選項(xiàng)1所示,根據(jù)用戶的檢索詞獲取模型庫導(dǎo)航提示,語義檢索引擎從本體模型庫中推理獲得本體的層級(jí)關(guān)系和關(guān)聯(lián)本體,以本體樹或輻射網(wǎng)的形式顯示,該導(dǎo)航的主要目的是通過語義關(guān)聯(lián)詞挖掘和明確用戶的檢索需求;用戶從導(dǎo)航提示中選擇最符合檢索需求的本體對(duì)象提交給檢索引擎獲取對(duì)象的屬性集,該屬性集用于構(gòu)建實(shí)例檢索表單,表單輸入域與本體屬性一一對(duì)應(yīng);表單的“名/值”對(duì)構(gòu)成檢索實(shí)例,發(fā)送到檢索引擎與模型庫和實(shí)例庫進(jìn)行匹配檢索獲得結(jié)果集。
2)全局實(shí)例檢索 如圖2中opt選項(xiàng)2所示,在這種方式下主檢索界面的本體已限定,用戶選擇該本體的某屬性輸入檢索詞,檢索詞本身應(yīng)是一個(gè)實(shí)例屬性值;語義引擎根據(jù)屬性值獲得結(jié)果集,該結(jié)果集中的每個(gè)實(shí)例同屬于一個(gè)抽象類,因此當(dāng)引擎在返回該實(shí)例的原始數(shù)據(jù)的同時(shí),會(huì)根據(jù)模型的語義規(guī)則推理得到關(guān)聯(lián)實(shí)例。
圖2 語義檢索過程模型Fig.2 Semantic retrieval processmodel
Jena對(duì)本體的操作主要包括:
1)以RDF/XML、三元組形式讀寫RDF
Jena 文檔中詳細(xì)介紹了 RDF(s)和 Jena RDF API,其內(nèi)容包括對(duì) Jena RDF包的介紹,RDF(s)模型的創(chuàng)建、讀寫、查詢等操作,以及RDF容器等討論。Jena采用三元組方式并按XML語法規(guī)則和格式讀寫和創(chuàng)建RDF模型,其具體過程如下:
//創(chuàng)建一個(gè)空的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框架包含一個(gè)本體子系統(tǒng)(Ontology Subsystem),它提供的API允許處理基于RDF的本體數(shù)據(jù)進(jìn)行操作和檢索,即支持RDFS、OWL和DAML+OIL等本體語言,其具體操作過程如下:
//依據(jù)Resource的URI返回 Resource對(duì)象
Resource resoucename=model.getresouree(URI);
//利用Resouree對(duì)象API列出符合要求的信息
String stringname=resoureename.getProperty (Properyame).getString();
本體API與推理子系統(tǒng)結(jié)合可以從特定本體中提取信息,Jena還提供文檔管理器(OntDocumentManager)以支持對(duì)導(dǎo)入本體的文檔管理。
3)內(nèi)存存儲(chǔ)和持久存儲(chǔ)
Jena允許將數(shù)據(jù)以O(shè)WL文件暫時(shí)存儲(chǔ)PDF模型,也支持以文件系統(tǒng)或關(guān)系數(shù)據(jù)庫的形式永久存儲(chǔ)在硬盤中。
4)查詢模型
Jena提供了ARQ查詢引擎,它實(shí)現(xiàn)SPARQL查詢語言和RDQL,從而支持對(duì)本體模型的查詢。另外,查詢引擎與關(guān)系數(shù)據(jù)庫相關(guān)聯(lián),能夠高效地查詢存儲(chǔ)在關(guān)系數(shù)據(jù)庫中的本體。
5)基于規(guī)則的推理
語義檢索意義在于通過概念及其概念之間的關(guān)系進(jìn)行本體層面的檢索。Jena支持基于RDF(s)和OWL等規(guī)則集的推理,也支持自建規(guī)則的推理。
Jena程序處理核心是Model和Resource,前者對(duì)應(yīng)于一個(gè)文檔模型,該模型以文件系統(tǒng)或數(shù)據(jù)庫的方式存儲(chǔ),Jena內(nèi)核一次性載入原始模型以類似于Dom樹的形式序列化到內(nèi)存中,因此針對(duì)模型節(jié)點(diǎn)的增、刪、改操作基本上都是程序與內(nèi)存的交互,僅當(dāng)操作完成后才重新存儲(chǔ)到后臺(tái)持久環(huán)境中;Resource是Jena Statement的核心,針對(duì)三元組的statement以Resource表示主語,Property表示謂詞,對(duì)象是一個(gè)Resource,這種<Resource, Statement, Property>范式是 Jena解析和推理過程的基礎(chǔ)[4]。在Jena體系中,屬性定義、屬性約束、公理定義形成了Resource,所有的Resource和相互的類公理組成了Model,這是Jena的基本設(shè)計(jì)思想[5-6]。在該思想的基礎(chǔ)上,Jena的模塊架構(gòu)如圖3所示。
圖3 Jena的模塊架構(gòu)Fig.3 Jena’smodule architecture
依照前面的分析,構(gòu)建了文獻(xiàn)本體系統(tǒng)的類、屬性和實(shí)例,如圖4所示。圖4(a)中定義了Book、Person和Publication3個(gè)抽象類(Class);圖 4(b)中定義所涉及到的 5個(gè)屬性(Properties),其中 isPublished/Publishing 和 both Published/bothPublishing 是兩對(duì)互逆(inverseOf)屬性。
圖4 抽象類與屬性Fig.4 Abstract classes and attributes
若一本書B滿足如下情況<P1出版 B書,P2出版 B書>,則推出該書由P1社和P2社聯(lián)合出版;同理,若一個(gè)出版社P滿足如下情況<P出版A書,P出版B書>,則推出A書和B書都由P社出版。按照J(rèn)ena GenericRuleReasoner的規(guī)則編寫規(guī)范,上述規(guī)則表述為:
[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)]
規(guī)則一利用三元組的Property屬性值中間沒有利用隱含邏輯,是一種最為簡單的規(guī)則推理;規(guī)則二在規(guī)則一的基礎(chǔ)上利用屬性的側(cè)面定義推導(dǎo)隱含的反面邏輯關(guān)系。通過兩條隱含的isPublished條件來推得bothPublished屬性。
IF <a,http://www.nwpu.edu.cn#Publishing,?b>
THEN < b http://www.nwpu.edu.cn#isPublished?a >
綜上,可建立如圖5所示的該語義模型的程序結(jié)構(gòu)。其中BibModelFactory類用于配置通用推理機(jī)的規(guī)則庫和本體庫,返回 InfModel模型;SearchBaseModel調(diào)用 BibModel Factory的InfModel并按三元組范式檢索模型;URICreator工具類用于統(tǒng)一定義命名空間,為檢索關(guān)鍵詞返回規(guī)范的URI值。
圖5 文獻(xiàn)本體查詢建模Fig.5 Literature ontology querymodeling
文中提出了一種基于Jena推理的IETM智能化語義檢索方法,介紹了語義檢索的基本理論和五種語義推理工具,并選擇出Jena作為航空武器裝備IETM語義檢索的工具,詳細(xì)研究了Jena語義推理的功能結(jié)構(gòu)、模塊架構(gòu)、以及其Model API、推理系統(tǒng)、數(shù)據(jù)存儲(chǔ)和檢索語法4個(gè)子模塊等關(guān)鍵技術(shù)。提出了基于Jena推理的IETM智能語義檢索方法。該方法先檢索語義相關(guān)集,然后根據(jù)語義集合,選擇合適的節(jié)點(diǎn)獲取詳細(xì)信息。該方法能有效克服傳統(tǒng)的關(guān)鍵字檢索模型存在的語義缺失問題,且能有效地提高檢索的查全率和查準(zhǔn)率。
[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.