柳佳佳,葛 文
(1.信息工程大學 地理空間信息學院,河南 鄭州 450052;2.65014部隊,遼寧 沈陽 110027)
隨著語義網技術的快速發展,基于語義網技術的服務發現技術已經成為網絡服務領域的研究熱點之一。語義網環境下進行地理信息服務發現需要解決兩個問題,即服務采用什么樣的描述方法以及采用什么樣的服務匹配標準。語義化描述地理信息服務的方法是首先對地理信息服務中的概念進行本體標注,然后采用語義網絡服務描述語言如OWL-S(Web Ontology Language for Services)對地理信息服務進行描述,該方面的研究內容可參見文獻[1-4]。對于服務的匹配標準,目前基于本體語義的服務匹配研究比較多。但是服務匹配的方法還存在諸多問題,如服務匹配的結果只是定性的區分是否匹配[5-6],即使是定量計算的方法適用性也不夠,如服務輸入輸出接口都是固定且必須等情況。
本文研究了一種基于本體語義的地理信息服務發現方法,該方法主要思路是:通過地理信息服務中的本體概念語義相似度以及引入服務接口間的依賴關系計算地理信息服務相似度,然后基于此相似度進行地理信息服務的匹配。
最初關于語義距離的計算是將本體看作以概念為結點,以繼承關系為邊的一個圖,本體兩個概念之間的語義距離就是兩個結點間最短路徑的邊數之和[7]。例如,對于圖1所示的本體片段,Point_Geog和Point的語義距離是2,Point_Geog和Point_Proj的語義距離也是2。可以看出,這種語義距離方法并不合理。因為Point_Geog和Point_Proj同屬于Point_2D,直覺上Point_Geog和Point_Proj的語義距離應該要小于Point_Geog和Point的語義距離。于是人們開始考慮對該計算方法進行改進。

圖1 幾何對象(Geometry)本體片段
Sycara等提出了加權語義距離的改進方法[8],該方法將不同的組合操作賦予不同的權重,其權重分配如表1所示。

表1 語義距離權重表
其中g表示gereralization,即泛化,也就是從子結點指向父結點的邊;s表示specialization,即細化,也就是從父結點指向子結點的邊;p表示positive association,即正關聯,也就是連接兩同義關系結點的邊。
權重表中的操作順序為先列后行。例如先進行g操作,然后再進行s操作,則權重為1而不是3,因為先列后行得出第2列第3行。用權重代表語義距離重新計算圖1中的語義距離得出Point_Geog到Point的語義距離是2,因為需進行兩次g操作,Point_Geog和Point_Proj的語義距離是1,因為先進行g操作再進行s操作。可見,加權語義距離的改進方法在一定程度上彌補了最初最短路徑邊計數法的不足。
但是,該方法還存在以下3個方面的問題:
問題1:通過研究幾何對象本體片段可以發現,Point_Geog到Point_2D的語義距離(Dis(Point_Geog,Point_2D))和Point_2D到Point_Geog的語義距離(Dis(Point_2D,Point_Geog))應該是不同的。因為在“彈性匹配”[5]中,Dis(Point_Geog,Point_2D)相當于包含匹配(Subsume),而Dis(Point_2D,Point_Geog)相當于精確匹配(Exact),那么根據相似度越小語義距離越大,可以得出Dis(Point_Geog,Point_2D)應該大于Dis(Point_2D,Point_Geog),即語義距離是有方向的。然而由加權語義距離的改進方法卻無法得出這樣的結論,甚至其只有兩次連續操作的權重,而無法計算單次操作的語義距離。
問題2:通過表1可以看出,操作g→s(表示先g操作再s操作)和操作s→g(表示列s操作再g操作)的權重是不同的,造成語義距離權重的不對稱性。對幾何對象本體片段進行分析得出Dis(Point_Geog,Point_Proj)與Dis(Point_Proj,Point_Geog)是不同的,這也是不合理的。
針對問題1和問題2對語義距離的權重計算作如下擴展:
擴展1 區別邊的方向。邊的方向不同,進行的操作不同。例如g操作和s操作包含的邊的方向相反,其權重應該有所不同,將在擴展后的語義權重表中進行體現。
擴展2 增加二元關系。二元關系可以體現更加復雜的本體概念之間的語義關系,增加二元關系其實也就是增加邊的類型,并記b(binary relation)為二元關系。這樣邊的操作類型就包括g,s,p和b 4種。
擴展3 擴展和改進語義距離權重表,包括擴展單次操作權重和消除語義距離權重的不對稱性。對于單次操作權重采用引入空操作Φ與其他操作進行組合的方式實現。擴展后的權重如表2所示。

表2 擴展后的語義距離權重表
經過單次操作權重擴展后,通過組合就可以計算多次操作的權重,計算的方法是:前兩次操作的權重按兩次連續操作計算,其他操作按單次操作計算。例如對于多次操作序列g→g→s→b,其語義距離權重為(g→g)→s→b=4+3+7=14,并不是g→(g→s)→b=2+3.5+7=12.5。
問題3:Point_2D和Point_3D之間的語義距離和Point_Geog和Point_Proj之間的語義距離是相等的,兩者都是先進行g操作再進行s操作,顯然有些不太合理。同樣存在這樣一個直觀規律:概念之間的語義距離與它在概念樹中的深度有密切關系,如果概念樹中的深度越深,它們之間的關系就越緊密,語義距離就越小,反之則越大。
對于上述問題,Wu-Palmer[9]提出了最低共同祖先(Lowest Common Ancestry,LCA)的概念來解決,即通過概念結點vi和vj共同祖先結點中層次最低的一個概念結點vLCA來度量它們的語義距離,具體計算方法如下:

式中:r表示根結點,len表示最短路徑,但該式中使用的是最短路徑邊計數法。
根據以上討論,本文將加權語義距離和Wu-Palmer法相結合,給出一個語義距離計算方法如下:

計算語義距離的目的是為了計算語義相似度[10],但兩者之間需要滿足以下關系:
1)當語義距離為0時,語義相似度為1;
2)語義相似度取值在[0,1]之間;
3)語義相似度與語義距離成反比,即語義距離越小,語義相似度越大,反之越小。
滿足上述3個條件的函數也有不少,比較常用的有以下3個:

上述3個公式的語義相似度隨語義距離遞減的速度不一樣,第1個公式屬于線性遞減,第2個公式遞減速度要更加快一些,而第3個公式遞減速度最快。實際應用中可以根據需要選擇適當的語義相似度函數。
目前,大多數基于本體語義的服務匹配方法都默認這樣一種假設:對于服務的輸出而言,服務所有的輸入都是必須的。然而,地理信息服務的多態性卻存在這樣一種情況,即某個地理信息服務的輸入是可選的,但也能得出服務的輸出結果。例如,有這樣一個獲取坐標位置的地理信息服務GetCoordByPosInfo(GeoCode,GeoName,GeoAddress),該服務具備3個輸入:地理編碼、地名和地址,具備一個輸出:坐標。調用該服務時,GeoCode和GeoName兩個輸入項可任選其一,GeoAddress為必選項,即只需要給定GeoCode或GeoName、Geo-Address即可調用GetCoordByPosInfo服務獲取坐標位置。但如果服務請求者只能提供GeoName和GeoAddress這兩個輸入,目前大多數基于本體語義的服務匹配算法無法向用戶返回該服務。因為,它們認為用戶無法提供GeoCode輸入則無法使用該服務,從而即認為該服務不是用戶所需要的。因此,目前大多數的服務匹配算法沒有考慮服務接口多態性的問題,本文引入服務輸入/輸出接口之間的依賴關系解決這一問題。
定義1 服務接口:地理信息服務的輸入或輸出。I={I1,I2,…,Im}表示地理信息服務的輸入集合,O={O1,O2,…,On}表示地理信息服務的輸出集合,I∪O是地理信息服務的接口集合,每個接口均對應一個本體概念。
定義2 接口依賴關系[11]:地理信息服務輸出集合到輸入集合的一個映射,即ψ(O′)=I′,表示為O′|→I′,其中O′?O,I′?I。
給一個抽象的服務例子說明定義2,該服務的接口有3個輸入和兩個輸出,如圖2所示。其中輸出O1依賴于所有輸入(O1|→{I1,I2,I3}),稱為全依賴輸出;輸出O2只依賴于I1和I3(O2|→{I1,I3}),稱為部分依賴輸出。

圖2 具有接口依賴關系的服務
定義3 服務(接口)請求:一個地理信息服務請求為一個二元組R=〈IR,OR〉,這里暫不考慮其他服務請求因素,其中:IR={IR1,IR2,…,IRm},表示地理信息服務的輸入集合,OR={OR1,OR2,…,ORn}表示地理信息服務的輸出集合,每個服務請求接口也均對應一個本體概念。
具體的考慮接口依賴關系的本體語義地理信息服務匹配算法如表3所示。

表3 考慮接口依賴關系的本體語義地理信息服務匹配
上面的算法中,如果直接給定了候選服務與服務請求接口間的對應關系,則可以直接計算接口間的相似度,而不用執行第8行和第16行的操作。下面通過圖3所示的一個候選服務S和一個服務請求R來說明該服務匹配方法。在該例子中,候選服務S有3個輸入和3個輸出,且接口具有如下依賴關系:O1|→{I1,I2,I3},O2|→{I1,I3},O3|→{I3}。服務請求R有3個輸入和兩個輸出,且候選服務S和服務請求R的接口之間映射關系和相似度如下:

應用考慮接口依賴關系的本體語義地理信息服務匹配算法,圖3中的候選服務S和服務請求R之間的相似度為

圖3 服務匹配例子

考慮服務名稱N后,最終基于本體語義的地理信息服務匹配相似度計算方法為

其中,w1+w2=1,w1,w2的取值體現服務匹配因素的構成,w1=1時則為純基于服務名稱N的匹配,w2=1時則變為純基于服務輸入輸出IO的匹配。SimN采用GetOntologySim函數直接計算本體概念語義相似度即可。
為了驗證本章的服務發現方法,基于Java語言設計并實現了一個實驗原型。其中地理信息服務采用OWL-S語義化描述,本體采用OWL描述,OWL-S的解析借助于卡內基梅隆大學的OWL-S API 1.1,并采用Jess作為規則推理引擎。
地理信息服務測試樣例來自OWL-S TC4以及自定義發布并語義化描述的部分服務共64個,本體采用幾何對象本體(Geometry.owl)、地理信息服務本體(ISO_geographic_service.owl)和應用本體geographydataset(geographydataset.owl),需預先將geographydataset本體的部分概念與Geometry和ISO_geographic_service進行本體集成。
首先進行基于本體語義的地理信息服務發現實驗,將考慮服務接口依賴關系和未考慮服務接口依賴關系的實驗結果進行對比如表4所示。

表4 實驗結果
表4表明,基于本體語義的地理信息服務匹配方法的性能較高,未考慮服務接口依賴關系時查全率 為91.1%,查 準 率 為90.5%,F-Score值 為0.908,考慮服務接口依賴關系后服務匹配性能進一步提高,查全率達到95.6%,查準率達到94.3%,F-Score值到達0.949。
語義網的出現為人們描繪了一個未來網絡的美好愿景,在語義網環境中,一切網絡活動和任務將變得更加自動化、智能化。引入本體語義是未來語義網環境下進行地理信息服務發現的必然需求,本文基于此背景研究了基于本體語義的地理信息服務發現方法,討論了以下兩個問題:
1)將加權語義距離和Wu-Palmer法相結合并進行改進后,給出了本體概念語義相似度的計算方法;
2)結合服務接口依賴關系,提出了支持接口多態性的本體語義地理信息服務輸入輸出IO匹配方法。
本文還設計了實驗原型對基于本體語義的地理信息服務發現方法進行了實驗與分析。此研究對于提高地理信息服務的發現性能具有一定的理論和技術價值,進一步的研究工作將圍繞地理信息服務本體概念的推理、前提、效果屬性的匹配等展開。
[1]李宏偉.基于Ontology的地理信息服務研究[D].鄭州:信息工程大學,2007.
[2]陳建杰,楊樹鋒,李長江.一種基于本體的空間信息Web服務實現方法[J].浙江大學學報:工學版,2006,40(3):376-380.
[3]王海濤,劉海硯,劉棟永,等.基于本體的地理信息語義共享方法[J].測繪工程,2012,21(6):4-7.
[4]王強.空間信息服務聚合的關鍵技術研究[D].鄭州:信息工程大學,2010.
[5]PAOLUCCI M,KAWAMURA T,PAYNE T R,et al.Semantic Matching of Web Services Capabilities[C].Proeeedings of the 1st International Semantic Web Conference(ISWC),Sardinia,Italia,2002,333-347.
[6]LUTZ M.Ontology-based Descriptions for Semantic Discovery and Composition of Geoprocessing Services[J].Geoinformatica 2007,1(11):1-36.
[7]RADA R,MILI H,BICKNELL E,et al.Development and Application of Metric on Semantic nets[J].IEEE Transaction on Systems,Man,and Cybernecics,1989,19(1):17-30.
[8]SYCARA K,WIDOFF S,KLUSH M,et al.Larks:Dynamic Matchmaking among Heterogeneous Software Agents in Cyberspace[J].Autonomous Agents and Multi-Agent Systems,2002,(5):173-203.
[9]WU Z,PALMER M.Verb Semantics and Lexical Selection[C].Proceedings of the 32nd Annual Meeting of the Association for Computational Linguistics,New Mexico,1994,133-138.
[10]孫海霞,錢慶,成穎.基于本體的語義相似度計算方法研究綜述[J].現代圖書情報技術,2010(1):51-56.
[11]鄧水光,尹建偉,李瑩,等.基于二分圖匹配的語義Web服務發現方法[J].計算機學報,2008,31(8):1364-1375.