畢 琳 張 瑩 紀姍姍
(1.中科院國家科學(xué)圖書館 北京 100190)(2.長春理工大學(xué) 吉林長春 130022)(3.中國科學(xué)院大學(xué) 北京 100049)(4.中科院長春光學(xué)精密機械與物理研究所 吉林長春 130033)
網(wǎng)絡(luò)技術(shù)的應(yīng)用為人們提供了極其方便的信息服務(wù),改變了人們獲取信息的途徑和方式,也改變了很多人的生活方式。但是隨著信息數(shù)量的增長,網(wǎng)絡(luò)信息的有效組織和語義理解已成為亟待解決的問題。本體技術(shù)是解決上述問題的有效途徑,本體可將所有信息的元數(shù)據(jù)進行統(tǒng)一的表示,實現(xiàn)網(wǎng)絡(luò)信息的語義化表達。但是本體的建模與開發(fā)本身是一項系統(tǒng)性較強、投入量較大的工程。通過重用已有的本體,能夠減少系統(tǒng)的開銷,避免重復(fù)建設(shè)。重用的思想和理論,在軟件開發(fā)領(lǐng)域已經(jīng)比較成熟,但是對于本體這種特殊知識表示形式的重用,還屬于比較前沿和新興的研究內(nèi)容。
本文通過使用NeOn Toolkit工具,以從網(wǎng)絡(luò)獲取到的本體實例為分析對象,實現(xiàn)自動化的本體重用,并利用SPARQL對重用后的本體實現(xiàn)語義推理,最后分析目前針對大規(guī)模本體重用存在的問題。
2006年,由14個歐盟機構(gòu)參與、受歐盟第六框架計劃資助的NeOn(Networked Ontologies)項目開始研究如何有效利用本體實現(xiàn)分布式大規(guī)模語義應(yīng)用,并發(fā)展了本體工具和相應(yīng)方法。NeOn Toolkit是NeOn項目開發(fā)的基于Java的開源本體編輯工具,NeOn Toolkit平臺及其豐富的插件可以幫助本體開發(fā)人員和本領(lǐng)域?qū)<彝瓿筛鞣N各樣的本體工程活動,包括注釋和文檔、人機交互、模塊化和定制、本體調(diào)試、本體動力學(xué)、本體評估、本體匹配、本體論規(guī)范、推理及重用等。目前最新版本是2011年12月推出的 NeOn Toolkit-2.5.2。
在NeOn Toolkit中,對OWL語言描述的本體,從概念(Classes),對象屬性(Object Properties),數(shù)據(jù)屬性(Bata Properties), 注 釋 (Annotation Properties), 數(shù) 據(jù) 類 型(atatypes)五個方面加以描述(見圖 1)。
圖1 NeOn Toolkit平臺對本體的描述
本文主要以Location和Building本體為例,結(jié)合本體管理的實際需求,利用NeOn Toolkit平臺豐富的功能,實現(xiàn)本體重用與本體推理。利用NeOn Toolkit實現(xiàn)地理位置本體的管理,比利用關(guān)系數(shù)據(jù)庫存儲地理信息有著明顯的優(yōu)勢:NeOn Toolkit支持簡單的邏輯推理,還支持復(fù)雜的知識表達,因此,它更接近人類的知識表達;而數(shù)據(jù)庫數(shù)據(jù)實例和列名定義是相互獨立的,數(shù)據(jù)結(jié)構(gòu)建模較為單一,無法全面表示實例之間復(fù)雜的隱性關(guān)系。
在人工智能界,最早給出Ontology定義的是Neches等人,他認為“本體定義了組成主題領(lǐng)域的詞匯表的基本術(shù)語及其關(guān)系,以及結(jié)合這些術(shù)語和關(guān)系來定義詞匯表外延的規(guī)則”。但其中最著名并被引用得最為廣泛的定義是由T.Gruber提出的“本體是概念化的明確的規(guī)范說明”。本體的作用就是對客觀世界進行抽象的描述,并實現(xiàn)概念層次的統(tǒng)一性。本體和本體工程吸引了來自不同領(lǐng)域的學(xué)者和研究人員,已經(jīng)逐步成為信息領(lǐng)域的一個研究熱點。
從零開始構(gòu)建本體是一項需要大量投入的工程,隨著信息技術(shù)的發(fā)展,本體在自然語言理解、知識表示與獲取、數(shù)據(jù)集成和信息檢索等多個方向上得到了廣泛的應(yīng)用,越來越多的人研究本體,網(wǎng)絡(luò)當中的本體數(shù)量與日俱增,本體重用就是根據(jù)不同實際需求,利用這些已有的本體,構(gòu)成新的本體的過程。通過以后本體的重用,能夠減少系統(tǒng)的開銷避免重復(fù)建設(shè)。本體重用的思想和理論是近年發(fā)展起來的,屬于比較前沿和新興的研究內(nèi)容。國內(nèi)外在該領(lǐng)域的研究集中在:本體模塊化、本體上下文、本體演化、本體緩存與語義緩存等方面。本文則主要是利用NeOn Toolkit平臺,實現(xiàn)本體重用的實踐過程。
本文實現(xiàn)本體重用的過程,選擇了ASTRA項目當中產(chǎn)出的Location和Building兩個本體作為源本體。由Ioannis Zaharakis擔(dān)任項目經(jīng)理的ASTRA項目旨在通過建立泛在認知系統(tǒng)框架,用以支持對人類社會關(guān)系的建模。該框架包括指導(dǎo)并支持社會交流的泛在認知系統(tǒng)設(shè)計和評價的理論,以及支持該系統(tǒng)應(yīng)用的工具和服務(wù)。其中Location和Building兩個本體在系統(tǒng)中用以定位人類社會活動的位置。本文通過對這兩個已有本體的重用,闡述利用NeOn Toolkit平臺本體重用的過程,并對重用后產(chǎn)生的目標本體,進行邏輯推理及查詢。本文采用的方法適用于各種OWL格式所描述的本體數(shù)據(jù)。
首先,在計算機當中配置Java運行環(huán)境。
然后,分析用于重用的本體資源。在本文中選用的位置本體Location.owl將地理位置信息概況為以下幾個關(guān)鍵 概 念 :Continent、Federation、Country、Province、City、Quarter、 Building 、Room、Place,并且輔以屬性、關(guān)系、實例等相關(guān)信息的描述(對于Location.owl的關(guān)鍵概念之間上位superlocation_of、下位sublocation_of以及繼承isa關(guān)系描述見圖2)。
圖2 Location.owl關(guān)鍵概念之間的關(guān)系
對于Location.owl中的building概念,可以為其添加更為豐富的語義關(guān)系,所以選用Buliding.owl本體,將Location.owl和Buliding.owl整合為一個新的目標本體(對于Buliding.owl的關(guān)鍵概念之間的關(guān)系描述見圖3)。
圖3 Buliding.owl關(guān)鍵概念之間關(guān)系
調(diào)用 NeOn Toolkit,將 Location.owl和 Buliding.owl作為源本體輸入本體整合程序(整合操作見圖4,整合后產(chǎn)出的目標本體層次結(jié)構(gòu)及上下位關(guān)系見圖5)。目標本體對原來Location本體中的building信息進行了擴展,所以對地理位置信息的描述更加精確,在包含了Buliding.owl中信息之外,同時對上位、下位及繼承關(guān)系都做了重新調(diào)整。
圖4 Location.owl和Buliding.owl整合操作
圖5 目標本體層次結(jié)構(gòu)圖
對于目標本體,為了測試其是否保證了推理邏輯合理性,可以使用NeOn Toolkit的推理測試功能。NeOn Toolkit平臺支持標準本體查詢語言SPARQL(Simple Protocol and RDF Query Language), 允 許 用 戶 通 過SPARQL語法查詢本體。SPARQL是為RDF開發(fā)的一種查詢語言和數(shù)據(jù)獲取協(xié)議,它是為W3C所開發(fā)的RDF數(shù)據(jù)模型所定義,但是可以用于任何可以用RDF來表示的信息資源。
根據(jù)目標本體關(guān)鍵概念、屬性及實例關(guān)系,設(shè)計以下的推理測試用例:
(1)為目標本體中的關(guān)鍵概念Person添加實例A和B(添加方法見圖 6)。
圖6 對目標本體添加實例
(2)A和B的辦公地址實例分別為 (添加方法同圖6):A (Room:301;Building:Star;);B (Building:Star;City:Beijing)。其中,Room 與 Building存在sublocation_of關(guān)系,Building和City存在sublocation_of關(guān)系。
采用SPARQL對目標進行查詢,代碼如下:
輸出推理查詢的結(jié)果如下:
從以上結(jié)果中可以得出:在City概念實例Beijing的人有A和B。
由于A的聲明中并無城市描述,推理機通過對目標本體的推理,實現(xiàn)了關(guān)于A所在城市的推測。重用后的本體符合簡單推理規(guī)則,由于篇幅有限,對于目標本體的推理測試僅舉一例。然而對于對大規(guī)模本體重用來說,由于關(guān)鍵概念之間的關(guān)系錯綜復(fù)雜,這就為對目標本體推理規(guī)則的設(shè)計帶來了困難?,F(xiàn)在在本體重用這一領(lǐng)域,還沒有完整的關(guān)于推理測試的形式化的表示和操作方法。可見,對于大規(guī)模本體重用,推理規(guī)則的設(shè)計仍有待進一步研究。
隨著網(wǎng)絡(luò)信息的急劇增長,對網(wǎng)絡(luò)信息的有效管理成為人工智能及網(wǎng)絡(luò)信息技術(shù)等領(lǐng)域的研究熱點。本體作為客觀世界概念化的明確的規(guī)范說明,是解決信息組織及語義表達問題的有效途徑,但從零開始構(gòu)建本體的工程量非常巨大,所以對已有本體的重用是提高本體利用效率的有效方法。本文以ASTRA項目當中產(chǎn)出的Location.owl和Building.owl兩個本體作為源本體,通過使用NeOn Toolkit平臺,實現(xiàn)自動化的本體重用,并利用SPARQL對重用后的本體實現(xiàn)語義推理,實驗結(jié)果證明利用本文方法實現(xiàn)本體重用方法有效。但是,對大規(guī)模的本體重用的研究還不十分成熟,尤其是對于重用后的本體推理問題的研究,缺乏深入的探討,以及完備的測試方法。
[1]Welcome to the NeOn Project [EB/OL].[2010-02-24].http://www.neon-project.org/nw/Welcome_to_the_NeOn_Project.
[2]Gruber T R.A Translation Approach to Portable OntologySpecifications [J].Knowledge Acquisition,1993, (5):199-220.
[3]毛郁欣.面向大規(guī)模本體重用的子本體模型研究[D].杭州:浙江大學(xué),2008.
[4]ASTRA Platform and End User tools code now available[EB/OL].[2009-12-14]http://www.astra-project.net
[5]SparQL[EB/OL].[2012-05-28].http://baike.baidu.com/view/661304.htm.