本發(fā)明涉及一種上下文感知系統(tǒng),尤其涉及一種語(yǔ)用網(wǎng)驅(qū)動(dòng)的上下文感知系統(tǒng)。
背景技術(shù):
語(yǔ)義網(wǎng)(Semantic Web)是萬(wàn)維網(wǎng)的本質(zhì)變革,語(yǔ)義網(wǎng)上的信息被賦予了明確的含義,便于人與計(jì)算機(jī)之間的協(xié)作,然而,傳統(tǒng)的語(yǔ)義網(wǎng)本體僅能表示靜態(tài)知識(shí)和絕對(duì)知識(shí),不適合處理現(xiàn)實(shí)世界中動(dòng)態(tài)變化的知識(shí)。針對(duì)傳統(tǒng)的語(yǔ)義網(wǎng)本體實(shí)現(xiàn)動(dòng)態(tài)知識(shí)管理與控制存在的不足,引入了上下文(Context)這一概念,進(jìn)而發(fā)展成為下一代網(wǎng)絡(luò):語(yǔ)用網(wǎng)(Pragmatic Web)?,F(xiàn)階段的上下文感知系統(tǒng)架構(gòu)大多是靜態(tài)的,研究角度主要有基于本體和基于語(yǔ)義Web 技術(shù)等,它們無(wú)法結(jié)合用戶特定的情境(Specific Situation)及用戶動(dòng)態(tài)變化的興趣偏好,不能準(zhǔn)確地捕獲用戶的真實(shí)意圖,無(wú)法準(zhǔn)確地為用戶推薦最適合的服務(wù)。
上下文是語(yǔ)用網(wǎng)的核心元素,用來(lái)刻畫(huà)實(shí)體的某種屬性,Dey 對(duì)上下文給出的定義是:上下文是用來(lái)描述實(shí)體狀態(tài)的任何信息,實(shí)的狀態(tài)可以是當(dāng)前狀態(tài),也可以是已記錄的歷史狀態(tài)。其中,實(shí)體是指用戶和應(yīng)用程序交互過(guò)程中相關(guān)的人、地點(diǎn)或?qū)ο螅ㄓ脩粢约皯?yīng)用程序本身,并且每一種實(shí)體都可以用一個(gè)owl:Class 來(lái)表示。上下文可由多個(gè)上下文屬性(contextattribute)表示,上下文屬性是用來(lái)描述上下文特征的元素,它具有標(biāo)識(shí)符、類(lèi)型和值,上下文屬性的值與對(duì)各領(lǐng)域的興趣值一致。例如,一個(gè)智能家居環(huán)境的室溫、能源消耗以及光照強(qiáng)度等都可作為上下文屬性。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)階段上下文感知系統(tǒng)存在的局限性,本文借鑒了語(yǔ)用網(wǎng)在表達(dá)動(dòng)態(tài)知識(shí)方面的優(yōu)勢(shì),提出了一種面向全新領(lǐng)域的上下文感知系統(tǒng)—語(yǔ)用網(wǎng)驅(qū)動(dòng)的上下文感知系統(tǒng)
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:
語(yǔ)用網(wǎng)驅(qū)動(dòng)的上下文感知系統(tǒng)包括三層結(jié)構(gòu):上下文獲取層、上下文中間件層和上下文服務(wù)層。
所述的上下文獲取層包括外部上下文和內(nèi)部上下文的獲取。外部上下文(也稱低層上下文)通常描述物理環(huán)境的狀態(tài),如位置、溫度和時(shí)間等,它可以通過(guò)物理傳感器、邏輯傳感器及其它知器直接獲取。內(nèi)部上下文(也稱高層上下文)用來(lái)描述用戶狀態(tài),如工狀態(tài)、個(gè)人事件、通信上下文及用戶的情感狀態(tài),通過(guò)網(wǎng)絡(luò)抓包技術(shù)抓取的用戶訪問(wèn)的網(wǎng)頁(yè)、傳遞的文件或通過(guò)網(wǎng)絡(luò)媒介傳輸?shù)娜魏蝺?nèi)容均可作為內(nèi)部上下文的有效來(lái)源。由于用戶靜態(tài)的信息并不適用于上下文感知系統(tǒng)識(shí)別用戶動(dòng)態(tài)變化的意圖,識(shí)別用戶的興趣最有效的資源是用戶當(dāng)前感興趣的上下文,因此,內(nèi)部上下文更具有應(yīng)用價(jià)值。,本文引入了基于數(shù)據(jù)包的上下文獲取技術(shù),該技術(shù)可以高效的獲取用戶的內(nèi)部上下文。
所述的上下文中間件層在PWDCS 系統(tǒng)中起著承上啟下的作用,由三大模塊組成:上下文解析模塊、上下文存儲(chǔ)模塊和上下文推理模塊。上下文中間件層分離了上下文信息的感知與應(yīng)用開(kāi)發(fā),向上對(duì)上下文服務(wù)層提供統(tǒng)一的上下文使用接口,向下可以接入各類(lèi)傳感器,此處是指廣義的傳感器,它可以是物理器件也可以是軟件系統(tǒng)。
所述的上下文服務(wù)層是PWDCS系統(tǒng)的應(yīng)用部分,它的實(shí)現(xiàn)是通過(guò)上下文存儲(chǔ)庫(kù)提供的高層上下文和智能體(Agent)間的通信、協(xié)商完成的。用戶通過(guò)API接口向PWDCS系統(tǒng)發(fā)出服務(wù)請(qǐng)求,這一請(qǐng)求被上下文感知服務(wù)中Agent所接收,并在上下文感知服務(wù)中發(fā)現(xiàn)與之相同或相關(guān)的服務(wù),通過(guò)API接口推薦給用戶。
本發(fā)明的有益效果是:
針對(duì)已有的上下文感知系統(tǒng)無(wú)法對(duì)動(dòng)態(tài)知識(shí)進(jìn)行表達(dá)和推理這一問(wèn)題,本文提出并設(shè)計(jì)了具有動(dòng)態(tài)架構(gòu)的語(yǔ)用網(wǎng)驅(qū)動(dòng)的上下文感知系統(tǒng),目的在于為上下文感知機(jī)制提供一個(gè)開(kāi)放、可重用的基礎(chǔ)設(shè)施。該系統(tǒng)采用基于數(shù)據(jù)包的上下文獲取技術(shù),更加準(zhǔn)確地捕獲了用戶的真實(shí)意圖,結(jié)合規(guī)則庫(kù)中的推理規(guī)則推導(dǎo)出高層上下文,并將其作為服務(wù)發(fā)現(xiàn)的有效信息來(lái)源,利用上下文感知Agent進(jìn)行上下文感知服務(wù)發(fā)現(xiàn),將與用戶請(qǐng)求相符或相關(guān)的服務(wù)推薦給用戶,避免用戶盲目地尋找所需要的服務(wù),為用戶節(jié)省時(shí)間,最終實(shí)現(xiàn)“以用戶為中心”的個(gè)性化推薦服務(wù),提升用戶的滿意度。
附圖說(shuō)明
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說(shuō)明。
圖1是語(yǔ)用網(wǎng)驅(qū)動(dòng)的上下文感知系統(tǒng)框架。
圖2是基于數(shù)據(jù)包的上下文獲取模塊的基本架構(gòu)。
圖3是基于數(shù)據(jù)包的上下文獲取模塊的工作流程圖。
圖4是上下文本體的解析流程圖。
圖5是上下文推理模塊的推理過(guò)程。
具體實(shí)施方式
如圖1所示,語(yǔ)用網(wǎng)驅(qū)動(dòng)的上下文感知系統(tǒng)包括三層結(jié)構(gòu):上下文獲取層、上下文中間件層和上下文服務(wù)層。上下文獲取層包括外部上下文和內(nèi)部上下文的獲取。外部上下文(也稱低層上下文)通常描述物理環(huán)境的狀態(tài),如位置、溫度和時(shí)間等,它可以通過(guò)物理傳感器、邏輯傳感器及其它知器直接獲取。內(nèi)部上下文(也稱高層上下文)用來(lái)描述用戶狀態(tài),如工狀態(tài)、個(gè)人事件、通信上下文及用戶的情感狀態(tài),通過(guò)網(wǎng)絡(luò)抓包技術(shù)抓取的用戶訪問(wèn)的網(wǎng)頁(yè)、傳遞的文件或通過(guò)網(wǎng)絡(luò)媒介傳輸?shù)娜魏蝺?nèi)容均可作為內(nèi)部上下文的有效來(lái)源。由于用戶靜態(tài)的信息并不適用于上下文感知系統(tǒng)識(shí)別用戶動(dòng)態(tài)變化的意圖,識(shí)別用戶的興趣最有效的資源是用戶當(dāng)前感興趣的上下文,因此,內(nèi)部上下文更具有應(yīng)用價(jià)值。,本文引入了基于數(shù)據(jù)包的上下文獲取技術(shù),該技術(shù)可以高效的獲取用戶的內(nèi)部上下文。上下文中間件層在PWDCS 系統(tǒng)中起著承上啟下的作用,由三大模塊組成:上下文解析模塊、上下文存儲(chǔ)模塊和上下文推理模塊。上下文中間件層分離了上下文信息的感知與應(yīng)用開(kāi)發(fā),向上對(duì)上下文服務(wù)層提供統(tǒng)一的上下文使用接口,向下可以接入各類(lèi)傳感器,此處是指廣義的傳感器,它可以是物理器件也可以是軟件系統(tǒng)。上下文服務(wù)層是PWDCS系統(tǒng)的應(yīng)用部分,它的實(shí)現(xiàn)是通過(guò)上下文存儲(chǔ)庫(kù)提供的高層上下文和智能體(Agent)間的通信、協(xié)商完成的。用戶通過(guò)API接口向PWDCS系統(tǒng)發(fā)出服務(wù)請(qǐng)求,這一請(qǐng)求被上下文感知服務(wù)中Agent所接收,并在上下文感知服務(wù)中發(fā)現(xiàn)與之相同或相關(guān)的服務(wù),通過(guò)API 接口推薦給用戶。
如圖2、3所示,基于數(shù)據(jù)包的上下文獲取技術(shù)的核心是基于數(shù)據(jù)包的上下文獲取模塊,簡(jiǎn)稱為PBCAM (Package Based Context AcquisitionModule)。PBCAM運(yùn)行在用戶的計(jì)算機(jī)設(shè)備上,從網(wǎng)絡(luò)應(yīng)用程序中捕獲數(shù)據(jù)包,并對(duì)其進(jìn)行檢查和修改。網(wǎng)絡(luò)上有許多數(shù)據(jù)包,而PBCAM 只收集由用戶需要的文檔組成的明確的數(shù)據(jù)包,并忽略網(wǎng)絡(luò)流控制或除了TCP/IP協(xié)議之外的其它網(wǎng)絡(luò)協(xié)議的數(shù)據(jù)包。經(jīng)過(guò)提煉后的數(shù)據(jù)包抽取成純文檔,這些文檔經(jīng)過(guò)推理引擎處理后可作為內(nèi)部上下文。PBCAM原型系統(tǒng)使用VC++ 6.0 作為開(kāi)發(fā)具,WinPcap3.1作為數(shù)據(jù)包獲取庫(kù),其開(kāi)發(fā)系統(tǒng)為安裝了服務(wù)包2 的臺(tái)式PC。PBCAM是由若干個(gè)智能體和推理引擎組成,首先,獲取引擎包括可以網(wǎng)絡(luò)層持續(xù)獲取數(shù)據(jù)包的監(jiān)聽(tīng)智能體和用來(lái)配置監(jiān)聽(tīng)智能體以集中獲取所需數(shù)據(jù)包的過(guò)濾模塊,過(guò)濾模塊是由系統(tǒng)自動(dòng)配置,并將獲取到的數(shù)據(jù)包存檔。過(guò)濾后的數(shù)據(jù)包傳送到驗(yàn)證引擎,根據(jù)已存儲(chǔ)在網(wǎng)絡(luò)協(xié)議數(shù)據(jù)庫(kù)中的網(wǎng)絡(luò)協(xié)議對(duì)其進(jìn)行檢查。然后,解碼智能體從驗(yàn)證后的數(shù)據(jù)包中讀取分離出來(lái)的數(shù)據(jù),并從數(shù)據(jù)中消除HTML 標(biāo)簽,生成純文檔。最后,PBCAM的推理引擎對(duì)純文檔進(jìn)行處理,此推理引擎包括詞向量工具WVT(Word Vector Tool)和支持向量機(jī)制SVM(Support Vector Machine),WVT用來(lái)攔截文檔中的單詞,并將這些單詞轉(zhuǎn)換成用向量表示的詞向量,SVM通過(guò)詞向量映射決定文檔的關(guān)鍵字,最終得到用戶的內(nèi)部上下文。PBCAM 模塊獲取到的內(nèi)上下文及傳感器直接獲取到的外部上下文都需要被組織成上下文本體的格式,便于上下文中間件層對(duì)其進(jìn)行深入處理。
上下文本體(Context Ontology)是指定義公共詞匯來(lái)共享普適計(jì)算領(lǐng)域中的上下文信息,利用上下文本體可以重用不同領(lǐng)域的知識(shí)。本文將上下文本體設(shè)計(jì)成兩層結(jié)構(gòu):頂層本體和特定領(lǐng)域本體,頂層本體是可以獲取物理世界中通用上下文知識(shí)的高層本體,其中,術(shù)語(yǔ)ContextEntity是層次結(jié)構(gòu)圖的根,它的子實(shí)體指明所有的描述符都具有從根繼承來(lái)的一些屬性。頂層本體包含根元素ContextEntity和它的孩子:Person、Location、Activity、CompEntity。頂層本體提供一組基本概念(如實(shí)體),每個(gè)實(shí)體都描述一個(gè)物理或概念上的對(duì)象及一組抽象的子類(lèi)。兩個(gè)實(shí)體通過(guò)屬性(用owl: DatatypeProperty表示)或關(guān)(owl:ObjectProperty表示)建立連接。另外,頂層本體與特定領(lǐng)域本體的子實(shí)體通過(guò)屬性owl: subClassOf建立關(guān)系,因此,可以通過(guò)添加特定領(lǐng)域所需的新概念來(lái)提供擴(kuò)展。特定領(lǐng)域本體用來(lái)收集低層本體,并定義每個(gè)子領(lǐng)域中詳細(xì)的通用概念和屬性。每個(gè)子領(lǐng)域的低層本體可以根據(jù)環(huán)境的改變動(dòng)態(tài)地插入頂層本體或從頂層本體中撤離。例如,當(dāng)用戶離開(kāi)家去車(chē)庫(kù)提車(chē)時(shí),家這個(gè)領(lǐng)域本體就會(huì)自動(dòng)從系統(tǒng)中撤離,而車(chē)輛領(lǐng)域本體會(huì)自動(dòng)插入系統(tǒng)。
如圖4所示,上下文解析模塊主要負(fù)責(zé)對(duì)讀入的上下文本體文件進(jìn)行結(jié)構(gòu)分析、資源整合和語(yǔ)法轉(zhuǎn)換等語(yǔ)義解析,解析成上下文推模塊所能接受的三元組格式,并將解析后的上下文信息存儲(chǔ)到上下文存儲(chǔ)庫(kù)中。目前,基于描述邏輯(Description Logic-DL)的本體推理機(jī)本身不具備解析功能,因此需要第三方工具的支持,本文利用語(yǔ)義網(wǎng)工具包中Jena推理機(jī)完成解析,通過(guò)Jena 對(duì)OWL 語(yǔ)言及其它本體進(jìn)行推理。描述邏輯知識(shí)庫(kù)由ABox和TBox兩部分組成,基于描述邏輯的本體推理機(jī)最主要的就是從知識(shí)庫(kù)中的ABoxTBox進(jìn)行推理,實(shí)現(xiàn)上下文一致性檢驗(yàn)的功能。另外,上下文存儲(chǔ)庫(kù)中存儲(chǔ)了所有知的上下文信息,包括經(jīng)過(guò)解析后的上下文信息、系統(tǒng)預(yù)定義的上下文本體和實(shí)例及用于推理的啟發(fā)性知識(shí),如“同一個(gè)人不能在兩個(gè)不同地點(diǎn)同時(shí)出現(xiàn)”、“人的體溫不能為50℃”等,另外,經(jīng)過(guò)上下文推理模塊推導(dǎo)出的高層上下文也存儲(chǔ)到上下文存儲(chǔ)庫(kù)中。上下文存儲(chǔ)模塊最重要的功能是維護(hù)上下文存儲(chǔ)庫(kù)的一致性以及將一致的高層上下文信息向上交付給上下文服務(wù)層。引起上下文不一致的原因包括傳感數(shù)據(jù)的不完善和上下文存儲(chǔ)庫(kù)中上下文沒(méi)有及時(shí)反應(yīng)出環(huán)境的動(dòng)態(tài)變化。
如圖5所示,上下文推理模塊主要功能包括:結(jié)合上下文存儲(chǔ)庫(kù)中的低層上下文推導(dǎo)出高層上下文以及利用上下文存儲(chǔ)庫(kù)中的啟發(fā)性知識(shí)判斷上下文信息的一致性,上下文推理模塊可用Jess(Java Expert System Shell)構(gòu)建,其工作原理是:從上下文存儲(chǔ)庫(kù)中讀取事實(shí),與規(guī)則庫(kù)抽取的規(guī)則不斷地進(jìn)行匹配,如果滿足規(guī)則的前件則執(zhí)行規(guī)則指定的動(dòng)作。
目前已有的上下文感知系統(tǒng),如CoBrA,只能在局部環(huán)境的不同來(lái)源收集上下文信息以決定適合的服務(wù)推薦給用戶,但上下文感知系統(tǒng)是分布的、異構(gòu)的,僅返回精確匹配的結(jié)果是不夠的。為了改善當(dāng)前系統(tǒng)的這一局限性,本文設(shè)計(jì)的PWDCS系統(tǒng)在上下文服務(wù)層采用連接在全球服務(wù)(Global Service-GloServ)中的上下文感知Agent架構(gòu)進(jìn)行服務(wù)發(fā)現(xiàn),不僅可以發(fā)現(xiàn)與用戶請(qǐng)求相符的精確結(jié)果,還能返回相關(guān)信息?;谏舷挛谋倔w分類(lèi)的上下文感知Agent架構(gòu)中,每個(gè)Agent都處理一個(gè)指定的服務(wù)類(lèi),當(dāng)用戶發(fā)出服務(wù)請(qǐng)求時(shí),Agent接收上下文信息,將它們映射到適當(dāng)?shù)腉loServ服務(wù)類(lèi)中,并將它們轉(zhuǎn)換成指定的GloServ查詢,結(jié)合OWL語(yǔ)言對(duì)上下文及服務(wù)進(jìn)行分類(lèi),導(dǎo)致語(yǔ)義描述更加豐富,使得給用戶推薦的結(jié)果不只是精確信息,還包括相關(guān)信息,從而提升用戶的滿意度。通過(guò)一個(gè)具體實(shí)例來(lái)說(shuō)明上下文感知Agent在全球服務(wù)中發(fā)現(xiàn)用戶所需服務(wù)的過(guò)程。當(dāng)用戶發(fā)出“cafe”請(qǐng)求,連接在GloServ中的Agent接收這條帶有用戶偏好的消息,將它映射到Restaurant這一服務(wù)類(lèi)下,Restaurant類(lèi)包含很多子類(lèi),如NYCRestaurant、BostonRestaurant等,Agent根據(jù)用戶提供的偏好在等價(jià)的服務(wù)或最接近的相關(guān)服務(wù)領(lǐng)域查找, 選擇了NYCRestaurant,NYCRestaurant類(lèi)下ChineseNYCRestaurantAmericanNYCRestaurant等,結(jié)合高層上下文反映的用戶當(dāng)前位置信息,確定用戶當(dāng)前所處的位置,將最近的NYCRestaurant推薦給用戶,完成“以用戶為中心”的隨時(shí)隨地的個(gè)性化推薦服務(wù)。