吳天吉,肖 奎,李 強(qiáng)
標(biāo)簽系統(tǒng)是一種非常流行的Web 2.0 應(yīng)用,主要用于幫助用戶標(biāo)注網(wǎng)絡(luò)資源,分享網(wǎng)絡(luò)資源。人們可以通過標(biāo)簽輕松實(shí)現(xiàn)資源的分類,每一個(gè)資源都附有幾個(gè)標(biāo)簽,用以描述資源的特性等信息。用戶通過一個(gè)標(biāo)簽就能搜索到一組相關(guān)的資源,但當(dāng)前很多資源的描述標(biāo)簽,僅僅是詞匯的列表,用戶在搜索過程中,從這些標(biāo)簽得到的幫助有限。比如,Programmableweb 平臺(tái)上的標(biāo)簽只是一些靜態(tài)的、固定的詞匯,用戶很難通過這幾個(gè)詞匯搜索到符合需要的信息。為改進(jìn)搜索過程,提高搜索的準(zhǔn)確率,搜索引擎需要理解用戶含義,了解和掌握用戶真正需要的信息。所以,人們需要一些智能搜索技術(shù)以改進(jìn)資源搜索的過程,而本體技術(shù)能較好地解決這類問題。近年很多研究人員關(guān)注如何通過標(biāo)簽來構(gòu)建本體,但是利用單個(gè)網(wǎng)絡(luò)資源的標(biāo)簽構(gòu)建本體很困難,因?yàn)橐话銌蝹€(gè)資源的描述標(biāo)簽數(shù)量較少,無法構(gòu)建本體。為此,研究人員通常利用一組資源的描述標(biāo)簽構(gòu)建本體。具有相同類別的標(biāo)簽可以轉(zhuǎn)換為本體中的概念。構(gòu)建的本體可用于標(biāo)注Web 服務(wù)等資源,從而改進(jìn)Web 服務(wù)的搜索過程。S2R2 平臺(tái)[1]描述了利用本體標(biāo)注Web服務(wù)的過程原理與方法[2-4]。本文利用Web 服務(wù)描述標(biāo)簽與維基百科的語義知識(shí)構(gòu)建本體,用來標(biāo)注Web 服務(wù)。圖1 描述Web 服務(wù)、本體與標(biāo)簽之間的關(guān)系。
圖1 Web 服務(wù)、本體與標(biāo)簽之間的關(guān)系
文章介紹語義與本體的相關(guān)研究,提出一種標(biāo)簽篩選的方法,選擇構(gòu)建本體的標(biāo)簽,運(yùn)用維基百科知識(shí)庫的體系結(jié)構(gòu)構(gòu)建本體,并通過實(shí)例展示簡單標(biāo)簽本體的構(gòu)建方法,最后對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行驗(yàn)證。
語義網(wǎng)研究社區(qū)長期研究與標(biāo)簽相關(guān)的難題。研究人員關(guān)注如何發(fā)現(xiàn)標(biāo)簽的特性,以及如何挖掘標(biāo)簽潛在的語義。有些主要的知識(shí)庫可以為普通的標(biāo)簽提供語義信息,比如維基百科、WordNet 與其它在線本體等等。這些知識(shí)庫都可以被研究人員用來豐富標(biāo)簽的語義,但是每個(gè)知識(shí)庫都有各自的特點(diǎn),提供的信息形式也各有不同。
維基百科為大量的實(shí)體與概念提供了條目。網(wǎng)絡(luò)用戶在這個(gè)平臺(tái)上編輯了許多知識(shí)信息,這些信息覆蓋的領(lǐng)域非常廣泛,對(duì)信息抽取應(yīng)用程序具有很大的吸引力[5]。研究表明,維基技術(shù)可以很容易地用于本體開發(fā)過程[6]。而且維基百科條目的URIs 適用于本體概念的標(biāo)識(shí)符(identifier)。雖然標(biāo)簽用來對(duì)資源進(jìn)行分類,但維基百科的分類方式與標(biāo)簽相比可提供更好的語義信息。
WordNet 是一個(gè)由專業(yè)研究團(tuán)體維護(hù)的知識(shí)庫,很多的研究工作都是基于這個(gè)知識(shí)庫[7]。WordNet 的開發(fā)研究團(tuán)隊(duì)采用了一種新的方法,構(gòu)建基于分眾分類標(biāo)簽的本體。在此過程中,他們利用Word Net 的概念樹實(shí)現(xiàn)對(duì)delicious平臺(tái)的關(guān)鍵詞過濾。DBPedia 是一個(gè)由集體維護(hù)的知識(shí)庫,而且其內(nèi)容在持續(xù)演化更新[8]中。DBPedia 提出一種方法可以為一詞多義的標(biāo)簽消除歧義,這種方法依賴于DBPedia 與維基百科的支持。每個(gè)標(biāo)簽的每一次標(biāo)注行為都可以關(guān)聯(lián)到許多DBPedia 條目,這些條目定義了該標(biāo)簽所有可能的含義。在線本體也是這類研究工作常用的數(shù)據(jù)源,例如,Watson 有一種語法分析工具,該工具可以自動(dòng)搜集、分析和檢索互聯(lián)網(wǎng)上可用的本體與語義數(shù)據(jù)。它為語義網(wǎng)用戶與應(yīng)用程序訪問互聯(lián)網(wǎng)的大量知識(shí)信息提供了便利。
本文選擇維基百科幫助構(gòu)建標(biāo)簽本體。與其它知識(shí)庫系統(tǒng)不同,維基百科一直由普通用戶對(duì)其信息進(jìn)行更新,能提供最新版本的數(shù)據(jù)信息。構(gòu)建的本體的關(guān)系來自于Dublin Core,Dublin Core 是一種圖書關(guān)系元數(shù)據(jù)的國際標(biāo)準(zhǔn),現(xiàn)在是本體論研究的一個(gè)標(biāo)準(zhǔn)測(cè)試集。
服務(wù)平臺(tái)一般有如下特點(diǎn):每個(gè)服務(wù)都由幾個(gè)標(biāo)簽描述;根據(jù)描述標(biāo)簽,服務(wù)被劃分到不同的類別;標(biāo)簽由服務(wù)創(chuàng)建者提供。從這些特點(diǎn)可以看出,這些標(biāo)簽為服務(wù)搜索提供的幫助很有限。
利用標(biāo)簽構(gòu)建各個(gè)服務(wù)集合的本體,可使得服務(wù)搜索的過程變得更智能。本文創(chuàng)建的本體是指RDF 文檔。首先,從各個(gè)服務(wù)集合的標(biāo)簽中篩選出核心標(biāo)簽,每個(gè)服務(wù)集合都被視為一個(gè)獨(dú)立的領(lǐng)域。然后,把每個(gè)核心標(biāo)簽與維基百科的條目關(guān)聯(lián)起來。因?yàn)槊恳粋€(gè)維基百科的概念條目都有獨(dú)立的URI,它們可以被用作RDF 文檔的實(shí)體。此方法只支持簡單的RDF文檔結(jié)構(gòu),忽略任何其它類似樹形結(jié)構(gòu)的復(fù)雜結(jié)構(gòu)。
由于每個(gè)服務(wù)都由幾個(gè)標(biāo)簽描述,可能有些標(biāo)簽與服務(wù)對(duì)應(yīng)的領(lǐng)域沒有關(guān)聯(lián)。比如有的標(biāo)簽是城市名稱,說明服務(wù)與具體城市有關(guān);有的標(biāo)簽是產(chǎn)品名稱,例如iphone,說明服務(wù)可能是iphone 專用的服務(wù);有的標(biāo)簽說明了平臺(tái)的名稱,例如服務(wù)調(diào)用Delicious 平臺(tái)的APIs 等。很明顯,這些標(biāo)簽與服務(wù)所屬的領(lǐng)域都沒有直接的關(guān)系。
如果一個(gè)標(biāo)簽被用來描述某個(gè)領(lǐng)域的多個(gè)服務(wù),那么可以推斷此標(biāo)簽很可能與領(lǐng)域相關(guān)。那些與服務(wù)領(lǐng)域相關(guān)的標(biāo)簽需要被篩選出來,它們描述了領(lǐng)域的相關(guān)信息,被稱為領(lǐng)域的核心標(biāo)簽。通過對(duì)特定領(lǐng)域內(nèi)所有標(biāo)簽的使用頻率進(jìn)行統(tǒng)計(jì),可以篩選出該領(lǐng)域的核心標(biāo)簽。
為了創(chuàng)建RDF 文檔,需將領(lǐng)域的核心標(biāo)簽映射為RDF 文檔的元素。一般而言,RDF 文檔的元素都采用URI 的形式表示。當(dāng)然,有些RDF 語句的對(duì)象是datatype 屬性,不是URI的形式。維基百科是創(chuàng)建RDF 文檔的非常好的資源。維基百科的條目可以作為本體的概念,每個(gè)條目都有一個(gè)獨(dú)立的URI。更重要的是,很多標(biāo)簽在維基百科知識(shí)庫里都被定義為一個(gè)個(gè)條目,可以被轉(zhuǎn)換為實(shí)體。
因?yàn)榫S基百科沒有以明確的知識(shí)表示模型作為基礎(chǔ),所以一個(gè)維基百科條目可以是實(shí)例、概念或?qū)傩浴8鶕?jù)慣例,維基百科包含的大多數(shù)條目都是名詞,而且沒有包含相互關(guān)系和屬性的內(nèi)容。這樣在構(gòu)建本體時(shí)可忽略實(shí)例和概念之間的區(qū)別,這些對(duì)于純RDF 文檔并不重要。
通過把“2.1 節(jié)”篩選出的領(lǐng)域核心標(biāo)簽映射成維基百科的條目,普通的標(biāo)簽就成為帶有一定語義的概念。每個(gè)概念都可以用具體的URI 標(biāo)識(shí)。URI 標(biāo)識(shí)的概念可以作為RDF 文檔的實(shí)體直接使用。對(duì)一詞多義的標(biāo)簽,需要手工進(jìn)行處理。參考標(biāo)簽所屬的領(lǐng)域,以人工方式確定標(biāo)簽所屬的概念。對(duì)一些非名詞的標(biāo)簽,如“social”等,雖然使用的頻率比較高,本研究并不對(duì)它們進(jìn)行映射處理。同樣,對(duì)一些沒有對(duì)應(yīng)條目的標(biāo)簽,也不進(jìn)行映射處理,當(dāng)前只關(guān)注名詞概念。
此外,從維基百科的條目里難以發(fā)現(xiàn)相互關(guān)系和屬性的內(nèi)容。解決這個(gè)問題的方法是使用許多本體包含Dublin 核心元素[9-10]定義的相互關(guān)系和屬性。但本文沒有完全使用Dublin 作為本體的概念資源,因?yàn)橄鄬?duì)而言,維基百科概念條目更新的速度更快,更能反映語義變化的動(dòng)態(tài)性。
Programmableweb 是一個(gè)非常流行的Mashup 服務(wù)和APIs 平臺(tái)。實(shí)驗(yàn)收集了Programmableweb 平臺(tái)“sports”領(lǐng)域的52 個(gè)Mashup 服務(wù)的標(biāo)簽數(shù)據(jù),然后統(tǒng)計(jì)了這些標(biāo)簽在“sports”領(lǐng)域Mashup 服務(wù)以及在整個(gè)Programmableweb 平臺(tái)所有Mashup 服務(wù)中使用的次數(shù),在此基礎(chǔ)上計(jì)算前者在后者所占的比例。
為了獲得“sports”領(lǐng)域的核心標(biāo)簽,實(shí)驗(yàn)設(shè)置了兩個(gè)閾值:
(1)每一個(gè)標(biāo)簽在Programmableweb 平臺(tái)上使用的次數(shù)必須大于1。很多只使用一次的標(biāo)簽與領(lǐng)域無關(guān),如城市名稱;
(2)上述計(jì)算的比例必須大于0.1。標(biāo)簽使用的頻率越高,它與領(lǐng)域的關(guān)聯(lián)越緊密。
表1 “Sports”領(lǐng)域的核心標(biāo)簽
表1 顯示了52 個(gè)Mashup 服務(wù)集合的核心標(biāo)簽,很明顯,所有這些標(biāo)簽都與“sports”領(lǐng)域緊密相關(guān)。其中,有些標(biāo)簽進(jìn)行了額外的手工的處理,比如,“cycling”實(shí)際上包含{bicycle,bike,cycling,biking}四個(gè)標(biāo)簽,實(shí)驗(yàn)中把它們作為一個(gè)標(biāo)簽處理;同樣,“football”包含了{(lán)football,soccer}兩個(gè)標(biāo)簽;“skiing”包含了{(lán)skiing,ski}兩個(gè)標(biāo)簽。
然后,利用這些“sports”領(lǐng)域的核心標(biāo)簽創(chuàng)建相應(yīng)的RDF 文檔。每一個(gè)核心標(biāo)簽都是RDF 文檔的一個(gè)概念。其中,“sports”是這個(gè)領(lǐng)域的首要概念,所有其它標(biāo)簽(即概念)應(yīng)當(dāng)與“sports”概念相關(guān)聯(lián)。第一步,從維基百科中搜索“sports”概念對(duì)應(yīng)的條目,并在該條目搜索包含其它概念的文本內(nèi)容。反過來,從其它概念的條目搜索包含“sports”的文本內(nèi)容。第二步,從都柏林核心抽取元數(shù)據(jù),定義概念之間的語義關(guān)系。
有一些標(biāo)簽在實(shí)驗(yàn)中要被忽略,例如,忽略所有形容詞標(biāo)簽,只關(guān)注名詞標(biāo)簽。除此之外,在維基百科條目中與“sports”概念沒有文本相關(guān)內(nèi)容的標(biāo)簽也要忽略。剩下的標(biāo)簽可以用來創(chuàng)建RDF 文檔。每一個(gè)標(biāo)簽都對(duì)應(yīng)一個(gè)URI,可以視為RDF 的實(shí)體。實(shí)體之間的屬性來自Dublin 核心元素。圖2(見第16 頁)顯示了創(chuàng)建的RDF 文檔細(xì)節(jié)部分。
圖2 中橢圓代表實(shí)體,連接線代表實(shí)體之間的聯(lián)系。具體解釋如下:
Climbing(攀巖)、Baseball(棒球)、Basketball(籃 球)、Golf(高 爾 夫)、Running(跑 步)、Football(足球)、Skiing(溜冰)、Cycling(騎自行車)都屬于Sports 類(class)的實(shí)例。其中Cycling 和Bicycle(自行車)是一種關(guān)聯(lián)關(guān)系,Bike包括Bicycle;Ski(雪橇)和Skiing 是一種關(guān)聯(lián)關(guān)系,Soccer(英式足球)是Football 的實(shí)例。
為了考察生成的RDF 文檔的準(zhǔn)確性,可利用Word Net 的知識(shí)對(duì)上述實(shí)驗(yàn)結(jié)果進(jìn)行驗(yàn)證。首先,從WordNet 知識(shí)庫中找出包含上述全部核心標(biāo)簽的知識(shí),然后,利用這些WordNet 知識(shí)體系驗(yàn)證生成的RDF 文檔。
標(biāo)簽在Word Net 知識(shí)庫中可能有多個(gè)語義(sense),每個(gè)語義對(duì)應(yīng)著WordNet 知識(shí)庫體系結(jié)構(gòu)的一個(gè)結(jié)點(diǎn),那么一個(gè)標(biāo)簽就可能對(duì)應(yīng)多個(gè)結(jié)點(diǎn),但上述實(shí)驗(yàn)的核心標(biāo)簽的語義都存在于以entity 為根節(jié)點(diǎn)的樹狀結(jié)構(gòu)中。為了確定每個(gè)核心標(biāo)簽的語義,可求解每個(gè)標(biāo)簽的結(jié)點(diǎn)到其它各個(gè)標(biāo)簽結(jié)點(diǎn)的路徑長度之和,再對(duì)這些所求的和進(jìn)行累加,當(dāng)累加值最小時(shí)每個(gè)標(biāo)簽對(duì)應(yīng)的結(jié)點(diǎn)就作為標(biāo)簽的sense。圖3(見第17 頁)顯示了“sports”領(lǐng)域的核心標(biāo)簽的WordNet 知識(shí)體系。
本文構(gòu)建的本體與WordNet 知識(shí)庫相比,語義關(guān)系比較準(zhǔn)確。在WordNet 知識(shí)庫中,Skiing 與Cycling 屬于Sports 類(class)的實(shí) 例(instance),Basketball 與Golf 等 屬 于Sports 類的子類的實(shí)例,但Climbing 與Sports沒有這種隸屬關(guān)系。而且Ski 與Skiing、Bike及Bicycle 與Cycling 之間的關(guān)聯(lián)關(guān)系是WordNet中沒有的,這說明維基百科的語義關(guān)系比WordNet 更豐富,能對(duì)WordNet 形成補(bǔ)充。
圖2 “Sports”領(lǐng)域的RDF 圖
本文利用維基百科知識(shí)庫為服務(wù)創(chuàng)建本體,在篩選出服務(wù)領(lǐng)域的核心標(biāo)簽后,把領(lǐng)域核心標(biāo)簽與維基百科的條目進(jìn)行關(guān)聯(lián),然后將各條目的URI 用作本體的基本元素。所創(chuàng)建的本體主要是一些簡單的RDF 文檔,RDF 實(shí)體之間的屬性來自Dublin 核心元素。下一步,可考慮創(chuàng)建一些結(jié)構(gòu)復(fù)雜的本體,以便進(jìn)一步提高服務(wù)搜索的效率。此外,文本描述也是一個(gè)重要的標(biāo)簽來源,充分發(fā)揮網(wǎng)絡(luò)資源文本描述的作用也非常重要。
[1] 李兵. 軟件服務(wù)注冊(cè)庫[EB/OL].[2013- 05- 12].http:/ /www.s2r2.org,2010.
[2] Zeng C, He K Q, Li B, et al. Toward Multiontology Based Interoperability in Web Service Registry[J]. Journal of Computational Information Systems,2009,5 (6):1669- 1677.
[3] Zeng C,He K Q,Li B,et al. A MFI4OR- based Approach of Semantic Annotation for Web Service[A]/ / the 5th International Joint Conferences on Computer,Information, and Systems Sciences, and Engine(CISSE 2009) [C]. Connecticut, USA, 2009:615- 620.
圖3 “Sports”領(lǐng)域核心標(biāo)簽在WordNet中的知識(shí)體系
[4] 曾誠,何克清,李兵. 一種支持語義互操作的Web服務(wù)注冊(cè)管理機(jī)制[J]. 小型微型計(jì)算機(jī)系統(tǒng),2011(9):1710- 1715.
[5] Ahn D,Jijkoun V,Mishne G,et al. UsingWikipedia at the TREC QA track [A]/ / The Thirteenth Text Retrieval Conference. 2004.
[6] Hepp M, Bachlechner D, Siorpaes K. Harvesting Wiki Consensus- Using Wikipedia Entries as Ontology Elements [A]/ / the 3rd European Semantic Web Conference[C]. Budva,Montenegro,2006.
[7] Laniado D,Eynard D,ColombettiM. UsingWordNet to turn a folksonomy into a hierarchy of concepts [C].the 4th Workshop on Semantic Web Applications and?Perspectives,2007:192- 201.
[8] d’Aquin M,Sabou M,Dzbor M,et al. Watson:A gateway for the semantic web [C]. the 4th European Semantic Web Conference,2007.
[9] Dublin Core Metadata Initiative. Dublin Core Metadata Element Set, Version 1.1: Reference Description[EB/OL].[2013- 05- 12]. http:/ / dublincore.org/ documents/dces/ ,2005- 11- 30.
[10] Dublin Core Metadata Initiative. DCMI Metadata Terms [EB/OL]. [2013- 05- 12]. http:/ / dublincore.org/ documents/ dcmi- terms/ ,2005- 11- 30.