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