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