摘 要: 分析了當(dāng)前空間信息服務(wù)在個性化推薦方面所存在的問題,充分考慮用戶行為對空間信息服務(wù)個性化推薦的約束,匹配過程中的“需求”與空間信息服務(wù)“操作”的映射關(guān)系,提出針對不同用戶需求的空間信息服務(wù)三層模型。該模型將用戶的歷史操作抽象為二元組,以此二元組作為約束條件,通過語義的相似度匹配,有效且準(zhǔn)確地進(jìn)行空間信息服務(wù)的個性化推薦。
關(guān)鍵詞: 空間信息服務(wù);三層模型;個性化推薦
人類社會進(jìn)入信息時代,服務(wù)提供商提供的規(guī)范化、標(biāo)準(zhǔn)化服務(wù)并不能滿足用戶的差異性需求。個性化服務(wù)通過收集和分析用戶信息來學(xué)習(xí)用戶的興趣和行為,從而實現(xiàn)主動推薦的目的[1],成為目前研究的熱點。
國內(nèi)外研究人員對空間信息服務(wù)匹配[2-4]、空間信息服務(wù)組合[5-7]、空間信息服務(wù)質(zhì)量評價[8]以及個性化系統(tǒng)中用戶建模[9-12]等方面進(jìn)行了大量研究。這些研究主要關(guān)注于如何對空間信息服務(wù)進(jìn)行語義表達(dá)、空間信息服務(wù)的有效匹配、服務(wù)組合的有序展開以及怎樣通過各種質(zhì)量屬性參數(shù)來衡量服務(wù)的好壞等。然而它們卻存在著一個共同的問題,即都是面向服務(wù)本身,忽略了用戶需求,分離用戶與服務(wù)兩者之間的映射關(guān)系,使得每個服務(wù)的匹配沒有結(jié)合其用戶的需求而獨立進(jìn)行或是僅僅憑借用戶所輸入的幾個服務(wù)參數(shù)來檢索服務(wù),其結(jié)果必然導(dǎo)致最后所得到的服務(wù)無法滿足用戶的復(fù)雜需求,迫使用戶做出二次或多次服務(wù)檢索,不利于個性化服務(wù)的有效開展。
本文提出一種面向用戶復(fù)雜需求、針對單個空間信息服務(wù)的三層組織模型,在空間信息服務(wù)個性化推薦過程中,根據(jù)用戶的歷史行為,通過源服務(wù)拆分以及用戶建模等步驟,準(zhǔn)確地將具體的用戶行為映射到抽象的空間信息服務(wù)上,滿足了動態(tài)變化的用戶人群對空間信息服務(wù)的不同需求。
1 幾個定義
為了建立起針對用戶約束的個性化推薦三層模型,首先給出以下幾個概念:
定義1:空間信息源服務(wù):服務(wù)提供者提供的單個具體空間信息服務(wù)稱為源服務(wù)。一個源服務(wù)必須包含以下變量,即:
So=Name+URL+Operation+QoS+DomainFeature
其中,So表示某一目標(biāo)服務(wù);Name為服務(wù)的名稱;URL表示服務(wù)的訪問地址;Operation為該服務(wù)所支持的各種操作;QoS為該服務(wù)的質(zhì)量,包含服務(wù)響應(yīng)時間、價格、穩(wěn)定度、可用性等參數(shù);DomainFeature為空間信息服務(wù)的領(lǐng)域特性,如空間數(shù)據(jù)服務(wù)應(yīng)包含Data format、Spatial resolution、Spatial reference system、Extent,描述內(nèi)容參考了ISO19115元數(shù)據(jù)標(biāo)準(zhǔn)。
定義2:空間信息原子服務(wù):只封裝了一個操作的空間服務(wù)為原子服務(wù)。原子服務(wù)使用一個三元組來表示,即:
Sa=<f,Op,IO>
其中,f表示服務(wù)Sa能完成的功能,它以語句形式描述該原子服務(wù)的功能信息;Op表示服務(wù)Sa中封裝的單一操作;IO表示操作Op中輸入輸出接口參數(shù),其中從參數(shù)名(param Value)、參數(shù)描述(description)、參數(shù)類型(type)、單位(unit)和比例系數(shù)(scale)5個方面來描述。
2 空間信息服務(wù)三層組織模型的構(gòu)建
傳統(tǒng)的三層服務(wù)模型[5-6],主要針對原子服務(wù)如何組合以及服務(wù)鏈的有序展開等問題,其思想是將整條服務(wù)鏈拆分為多個獨立的原子服務(wù),研究這些原子服務(wù)之間的接口關(guān)系,便于前置服務(wù)輸出接口所得到的參數(shù)與后置服務(wù)的輸入接口所需要的參數(shù)相匹配,從而使服務(wù)組合有效開展。而本文中的三層模型,針對的是復(fù)雜多變的用戶人群以及用戶動態(tài)的需求,從用戶需求的角度來研究如何組織服務(wù),從而實現(xiàn)空間信息領(lǐng)域的個性化推薦。
用戶對空間信息服務(wù)的需求往往不是單一的,而是由多個單純需求構(gòu)成的復(fù)雜體,反映在用戶操作或行為上就是多個操作或行為的復(fù)雜集合體,反映在服務(wù)上就是服務(wù)的各類參數(shù)和所包含的原子服務(wù)??臻g信息服務(wù)的個性化推薦,其實質(zhì)是服務(wù)本身所含有的原子服務(wù)和用戶模型耦合作用的結(jié)果。
根據(jù)以上分析,從功能角度組織服務(wù),將源服務(wù)(對象服務(wù))拆分為原子服務(wù),再將用戶需求拆分為單個行為或操作,通過原子服務(wù)與用戶單個操作或行為的映射關(guān)系,實現(xiàn)一個服務(wù)-用戶的分級模型,便于源服務(wù)與多用戶的不同需求和單個用戶的多個需求進(jìn)行匹配;實現(xiàn)針對用戶歷史行為或操作集合所做出的服務(wù)個性化推薦。具體模型如圖1所示,即源服務(wù)層-原子服務(wù)層-用戶層。三層模型實現(xiàn)兩個映射關(guān)系:源服務(wù)與原子服務(wù)之間的映射,原子服務(wù)與用戶之間的映射。
2.1 源服務(wù)到原子服務(wù)的映射
源服務(wù)拆分為原子服務(wù),是要將源服務(wù)的功能進(jìn)行分解,而這些功能實質(zhì)上是由原子服務(wù)來實現(xiàn)的,例如在ArcWeb服務(wù)中位置查找Web服務(wù)(The Place Finder Sample Web Service),客戶端調(diào)用某一源服務(wù)中的Find-Place原子服務(wù),傳遞位置名稱,然后得到這個位置的確切定位。過程如下:FindPlace(placeName:string,placeFinder-Options:placeFinder Options):LocationInfo。反之,如果一個源服務(wù)中沒有FindPlace原子服務(wù),則該服務(wù)就不能提供這一功能。
在源服務(wù)拆分為原子服務(wù)的過程中,并不是真正地對某個具體的源服務(wù)進(jìn)行拆分,而是為了便于與用戶的單個需求進(jìn)行匹配所做的工作。服務(wù)提供者發(fā)布源服務(wù),通過對其WSDL進(jìn)行解析,建立起由源服務(wù)—原子服務(wù)的映射關(guān)系,原子服務(wù)與源服務(wù)的關(guān)系可以表示為:
Soi=Sai0+Sai1+…+Sain(1)
Soj=Saj0+Saj1+…+Sajm(2)
其中Soi為某一源服務(wù),可以表示為Sai0、Sai1、…、Sain等原子服務(wù)的總和;同樣源服務(wù)Soj也可以表示為Saj0、Saj1、…、Sajm等原子服務(wù)的總和。式(1)、式(2)中的原子服務(wù)個數(shù)m與n可以相等或不等,原子服務(wù)項可以相同或不同。
2.2 用戶分析與建模
空間信息Web服務(wù)是在Web服務(wù)技術(shù)和標(biāo)準(zhǔn)基礎(chǔ)之上實現(xiàn)的地理空間信息網(wǎng)上在線服務(wù)。主要的應(yīng)用客戶包括發(fā)現(xiàn)客戶、地圖瀏覽客戶、影像使用客戶、增值客戶和傳感器客戶等。這些人群大致可以分為3類:(1)面向程序的開發(fā)人員:指對服務(wù)進(jìn)行增值服務(wù)開發(fā)的用戶。這類用戶更關(guān)注于服務(wù)質(zhì)量(QoS);(2)面向空間數(shù)據(jù)的用戶:指通過GIS相關(guān)的軟件產(chǎn)品使用空間信息服務(wù)所提供數(shù)據(jù)的用戶。這類用戶關(guān)注于服務(wù)所含有的空間實體的屬性(如位置信息、幾何性質(zhì)、拓?fù)潢P(guān)系等);(3)空間信息服務(wù)的終極用戶:指只使用空間信息服務(wù),而不對服務(wù)進(jìn)行二次處理的用戶,也即普通大眾。這類用戶可以通過查詢空間信息服務(wù)解決方案得到最新的空間信息報告、地圖和感興趣的應(yīng)用程序。
因為前兩種用戶和第三種用戶對服務(wù)的關(guān)注程度存在遞進(jìn)關(guān)系,即開發(fā)人員>數(shù)據(jù)用戶>大眾用戶,因此針對第三種用戶進(jìn)行分析與建??蓪?gòu)建另外兩種用戶模型提供幫助。以下對第三類用戶進(jìn)行分析,這類用戶在使用空間信息服務(wù)時,其興趣將反應(yīng)在其行為上,具體表現(xiàn)為在示例地圖上(示例地圖是能提供所有操作的服務(wù),且該服務(wù)不參與服務(wù)推薦)的操作。對用戶所進(jìn)行的操作進(jìn)行采集和預(yù)處理,根據(jù)用戶記錄拆分其操作集合為離散的操作,每一個操作采用一個二元組(動詞,名詞)來表示,其中操作的本身用動詞表示,操作的對象用名詞表示,用戶二元組簡寫為U(V,N),如檢索一個位置或查詢某一地點在規(guī)定時間內(nèi)的可達(dá)性,分別表述為(search, place)和(compute, extent)。用戶模型通常由多個二元組組成,表達(dá)了用戶的復(fù)雜需求?;谝陨戏治?,三類用戶模型中包含的具體內(nèi)容如表1所示。
2.3 原子服務(wù)與用戶興趣的雙向映射
原子服務(wù)與用戶操作的匹配,主要通過挑選出f中的動_名關(guān)鍵詞,與用戶二元組(動_名詞)進(jìn)行語義匹配。本文將動、名詞匹配等級分為exact、subsume、sibling和irrelevant,其中exact表示完全匹配關(guān)系,subsume表示包含關(guān)系,sibling表示類似關(guān)系,irrelevant表示不相干關(guān)系,在匹配過程中,優(yōu)先級為exact> subsume>sibling>irrelevant。
為定量表示原子服務(wù)與用戶二元組的相關(guān)關(guān)系,分別對動、名詞的4個等級賦予權(quán)值ω,即exact級,ω=1;subsume級,ω=0.6;sibling級,ω=0.4;irrelevant級,ω=0。其中定義ω的標(biāo)準(zhǔn)應(yīng)符合:(1)人們對原子服務(wù)匹配成功的語義相似度要求,相似度越高,匹配越準(zhǔn)確,一般要求相似度要大于0.4;(2)便于區(qū)分4個等級的差異性。定義原子服務(wù)與用戶二元組的相似度Φ及動名詞在二元組中的權(quán)重ω,有如下關(guān)系:
Φ=ωV×ΦV+ωN×ΦN(3)
其中ΦV表示原子服務(wù)與用戶二元組的動詞相似度,ΦN表示原子服務(wù)與用戶二元組的名詞相似度,ωV、ωN分別表示用戶二元組的動詞與名詞在二元組中的權(quán)值,有約束條件ωV+ωN=1。
2.4 個性化推薦過程
一般的個性化推薦是根據(jù)用戶所發(fā)出的明確請求,向用戶推薦其感興趣的信息和商品的過程。而空間信息服務(wù)的個性化推薦是根據(jù)用戶在示例地圖中的歷史操作或使用網(wǎng)絡(luò)服務(wù)的歷史情況,向用戶推薦其感興趣的網(wǎng)絡(luò)服務(wù)過程。本文提出的模型在個性化推薦中的具體應(yīng)用如圖2所示。在有效時間內(nèi),通過對用戶歷史行為的記錄展開篩選服務(wù),進(jìn)而對該服務(wù)進(jìn)行推薦。
3 模擬應(yīng)用實驗
3.1 實驗準(zhǔn)備
設(shè)計源服務(wù)組織模型并下載Esri以及本地的服務(wù)等200多個服務(wù)WSDL,組成源服務(wù)數(shù)據(jù);解析WSDL得到源服務(wù)所包含的操作組成原子服務(wù),借鑒ArcGIS Soap標(biāo)準(zhǔn)對原子服務(wù)功能f進(jìn)行描述。個性化推薦通過隱性方式收集用戶在頁面上的行為,抽象出用戶二元組。
3.2 實驗過程
本文以一個仿真實驗為例進(jìn)行分析。對用戶的歷史操作或行為進(jìn)行采集,論證能否通過三層模型篩選出滿足用戶需求的源服務(wù)。
過程簡述為:首先采集用戶的歷史行為,并對這些用戶行為進(jìn)行抽象,組成代表用戶復(fù)雜興趣的二元組集合,計算單個二元組與原子服務(wù)的相似度,取相似度最大的原子服務(wù)。因為用戶操作不僅是一個,通常情況下是多個,以每個二元組所對應(yīng)的原子服務(wù)為索引,組成索引集,檢索出源服務(wù)并進(jìn)行推薦。
將實驗源服務(wù)拆分為原子服務(wù),如表2所示。
通過javascript腳本以及session的建立與銷毀來記錄用戶的行為日志,發(fā)現(xiàn)在有效的時間段,用戶在示例地圖上進(jìn)行了如下操作:(1)用鼠標(biāo)在地圖上進(jìn)行定位;(2)分析該位置在2 min內(nèi)所能到達(dá)的區(qū)域,構(gòu)建其模型為:用戶=<Locate,Point>+<Analyse,Extent>。其中,借助wordnet工具包將原子服務(wù)f語句中的動詞和名詞挑選出來作為關(guān)鍵詞匹配計算,采用Lin算法計算原子服務(wù)與用戶二元組的相似度(ΦV,ΦN),設(shè)定動詞與名詞在二元組中的權(quán)重都為0.5,即ωV=ωN=0.5。用戶與原子服務(wù)的相似度計算結(jié)果如表3所示。
抽取出分別對應(yīng)用戶兩個二元組的最大相似度原子服務(wù)(表3中原子服務(wù)3和2),將其作為索引集,檢索源服務(wù),得到源服務(wù)結(jié)果(表2中服務(wù)2和5,服務(wù)效果如圖3(a)所示),推薦給用戶;對于噪聲源服務(wù)(表2中服務(wù)3等,服務(wù)效果如圖3(b)所示),拒絕推薦。
3.3 實驗分析與結(jié)論
通過模擬實驗,用戶模型代表了用戶的兩方面需求:定位和分析通達(dá)性。根據(jù)表3所示用戶與原子服務(wù)的相似度計算結(jié)果,用戶的這兩方面需求由原子服務(wù)ToMapPoints和Solve(表3中原子服務(wù)3和2)實現(xiàn)。根據(jù)源服務(wù)與原子服務(wù)的關(guān)系(表2)可知,包含這兩個原子服務(wù)的源服務(wù)(表2中源服務(wù)2和5)能提供用戶所要求的功能,符合推薦條件。
由以上分析得出以下結(jié)論:傳統(tǒng)空間信息服務(wù)模型以服務(wù)本身為考慮對象,忽略了對用戶信息的挖掘,檢索出的服務(wù)其功能并不一定滿足用戶的需求,迫使用戶做出二次甚至多次的檢索,影響服務(wù)質(zhì)量;本文模型有效地克服了這一缺點,在對用戶歷史信息進(jìn)行挖掘后,經(jīng)過原子服務(wù)這一橋梁,把用戶需求與服務(wù)功能有機(jī)地結(jié)合在一起,所篩選出的源服務(wù)也必然具有與用戶需求相一致的功能。
傳統(tǒng)的空間信息服務(wù)組織模式已難以滿足廣大不同用戶的需要,個性化在空間信息服務(wù)中的應(yīng)用是當(dāng)前研究的一大難點。本文嘗試以用戶為研究對象,提出面向用戶需求的三層組織模型,該模型充分挖掘了用戶信息,將用戶需求與服務(wù)功能有機(jī)地聯(lián)系起來,為實現(xiàn)空間信息服務(wù)領(lǐng)域的個性化推薦提供一種更為便利的組織形式,且實例證明該三層模型能有效且迅速地對用戶行為作出響應(yīng),從眾多的空間服務(wù)中篩選出最滿足用戶需要的服務(wù),為未來空間信息服務(wù)領(lǐng)域的智能化和個性化研究提供新的思路。
參考文獻(xiàn)
[1] 曾春,邢春曉,周立柱.個性化服務(wù)技術(shù)綜述[J].軟件學(xué)報,2002,13(10):1952-1961.
[2] 鄔群勇,鄭孝苗,康凌駿.語義地理信息服務(wù)的三級匹配發(fā)現(xiàn)算法[J].廈門大學(xué)學(xué)報(自然科學(xué)版),2012,51(2):53-57.
[3] 王強,王家耀,姜艷媛,等.基于P2P和本體的空間信息服務(wù)發(fā)布與發(fā)現(xiàn)[J].測繪科學(xué)技術(shù)學(xué)報,2009,26(6):68-71.
[4] 王強,王家耀,姜艷媛.本體支持的智能化空間信息服務(wù)發(fā)現(xiàn)[J].信息工程大學(xué)學(xué)報,2010,11(2):46-50.
[5] 高巖,那俊,張斌,等.支持動態(tài)服務(wù)組合的Web服務(wù)三層組織模型[J].小型微型計算機(jī)系統(tǒng),2006,27(10):89-92.
[6] 張永勝,徐麗麗,齊峰,等.基于三層組織模型的一種Web服務(wù)組合策略[J].計算機(jī)工程與應(yīng)用,2008,44(22):89-91.
[7] 羅安,王艷東,龔健雅.顧及上下文的空間信息服務(wù)組合語義匹配方法[J].武漢大學(xué)學(xué)報(信息科學(xué)版),2011,36(3):368-372.
[8] 章漢武,龔俊,吳華意.地理空間信息服務(wù)質(zhì)量評價的概念與方法[J].測繪科學(xué),2012,37(1):161-164.
[9] 裴仰軍.個性化服務(wù)中用戶興趣模型的研究[D].重慶:重慶大學(xué),2005.
[10] 唐燦,朱征宇.基于模糊興趣模型的個性化推薦算法[J].計算機(jī)工程與應(yīng)用,2006,42(9):170-172.
[11] 韓旭.個性化推薦系統(tǒng)用戶興趣建模方式的研究[J].數(shù)字技術(shù)與應(yīng)用,2010(11):46,48.
[12] 牛亞真,祝忠明.個性化服務(wù)中跨系統(tǒng)用戶建模方法研究綜述[J].現(xiàn)代圖書情報技術(shù),2012,28(5):5-10.