探讨基于情境感知技术实现集成融汇服务的方法。在调研国内外相关研究进展的基础上,提出实现情境感知的集成融汇服务所需的几个功能模块,包括情境信息获取、情境建模、情境感知的服务发现、情境感知的服务组合等。重点分析情境建模技术与情境感知的服务发现技术,构建个性化情境本体模型CA-PLE,并将情境推理技术与语义匹配技术相结合,以主动提供与用户需求匹配度高的服务。
This paper presents the approach to implement context-aware mashup. Based on the current related researches, the authors put forward the main function modules to achieve context-aware mashup, such as context information acquisition, context modeling, context-aware service discovery, service composition, and so on. Taking the technology of context modeling and context-aware service discovery as the key problem, this paper proposes a context model CA-PLE, then utilizes context inference and semantic matching to discover the services most in need.
随着集成融汇(Mashup)技术的发展与Web服务API数量的增加,集成融汇生态环境正在形成[ 1],基于Web资源与服务的开放调用、融合组织、迅捷响应等成为当前信息服务系统建设的重要特点。然而,传统的信息服务系统大都是被动服务模式,即在用户明确提出需求后提供应答服务,这在一定程度上影响了服务效果。本文探讨基于情境感知(Context Awareness)的主动集成融汇服务方法,以便信息服务系统能主动感知用户情境信息,主动识别用户需求,主动发现符合用户当前情境及需求的服务,经融合处理后提供主动的服务。Wong[ 2]认为,情境感知的集成融汇服务代表未来信息服务系统的发展方向。
情境感知源于普适计算(Ubiquitous Computing),是指通过传感器及其相关的技术使计算机设备能够“感知”到指定的情境信息,包括地理位置、时间、人和设备以及用户活动等信息,向用户提供相关信息和服务[ 3]。 采用情境感知技术的系统可以自动识别情境信息, 并提供主动的反馈服务。 目前,情境感知技术被应用于智能空间(如会议室、家庭)、旅游向导、移动计算、医疗卫生等众多领域。将情境感知技术与集成融汇技术结合是一个新的研究领域。其中,在移动通信服务领域,研究重点是基于用户地理位置的相关资源、服务自动发现与融合技术。例如: Telar通过GPS系统感知手机用户当前的位置,基于规则推导发现用户可能的兴趣点(Points of Interesting, POIS),并将POIS信息在手机地图上进行可视化标注[ 4];Olsen等[ 5]提出一个位置感知的图书馆服务系统,它动态检索不同来源、不同类型资源(如本地书目服务、Google地图服务、LibraryThing网站及公交信息等),返回与用户当前位置最恰当的信息。在智能空间领域,Huang等[ 6]提出一个U-Learning系统SituMash,它通过RFID获取用户位置信息,并综合考虑用户的社会关系、日程安排、设备等信息,通过情境推理得到用户所处的场景并选择最优的服务进行组合,动态更新个人学习门户的内容。在自适应服务系统领域,Pietschmann等[ 7]提出一个基于语义的自适应集成融汇系统CRUISe,该系统根据获取的用户情境信息(用户、物理、设备),触发相应的组件(Web服务、Widget)来提供服务。在数字图书馆领域,基于情境感知的集成融汇服务研究还处于起步阶段,特别是关于用户情境信息要素分析以及Web服务描述模型、服务发现推理机制等研究还有待进一步深入。
本文面向个人学习环境建设,探索如何识别用户学习环境并根据环境需求分析,主动发现相关服务组件Widget,实现表示层集成融汇的技术方法。该场景中,用户的学习需求是随时随地发生的,对服务的需求也是动态变化的。为实现“随需而现”的服务,需要根据集成融汇环境下情境要素的特点,建立服务与用户情境之间的关系,实现由情境信息到服务需求的推导。借鉴情境感知与语义Web服务领域对情境建模、情境推理、语义匹配等技术的研究,确定了实现情境感知的集成融汇服务所需的几个功能模块,包括情境信息获取、情境建模、情境感知的服务发现、情境感知的服务组合等,如图1所示:
(1)情境信息获取是实现情境感知服务的前提,该模块通过各种情境获取技术得到用户的情境信息。情境信息主要通过传感器、软件代理、用户概述等方式进行收集[ 8]。不同类型情境信息的获取技术可参见文献[9]。
(2)情境建模是实现情境感知服务的基础,包括用户情境建模与服务情境建模两个子模块。其中,用户情境建模技术将获取到的用户情境信息进行建模并存储;服务情境建模技术对Widget的情境信息进行描述、建模及存储。
(3)情境感知的服务发现是实现情境感知服务的重点。根据用户情境模型及服务情境模型,建立一系列的推理规则及语义匹配计算模型,计算得到与当前用户情境相关的服务(Widget)信息。
(4)情境感知的Widget服务组合与显示,这是情境感知服务的实现结果,主要将通过服务发现得到的Widget服务在用户界面中进行组合与显示。
在情境感知集成融汇系统实现中,情境建模技术与基于情境感知的服务发现技术是关键,这也是本文研究重点。
情境建模是指对信息进行面向算法的、具有特定数据结构的、形式化的描述,相关研究有COBRA-ONT[ 10]、CONON[ 11]、SOUPA[ 12]、CALA-ONT[ 13]等。针对Widget服务对象及个人学习环境构建需求,本文提出个性化情境本体模型CA-PLE(Context Aware Personal Learning Environment),包括用户情境模型与服务情境模型两部分。
借鉴商业决策中常用的5WH[ 14]分析法(Who、What、When、Where、Why、How),笔者将个人学习环境中的用户情境要素划分为5种类别:
(1)服务使用对象(Who),描述学习活动的主体,即用户(Person),其情境信息(如角色、能力、个人偏好等)会对服务的选择产生重要影响;
(2)服务时间(When),时间(Time)情境主要描述当前的时间与事件开始及结束的时间,对其他的情境信息起到辅助作用;
(3)服务地点(Where),描述用户当前的地理位置(Location),根据这一信息可以了解用户当前的动作行为,并且结合其他信息推断用户可能开展的活动以及下一步的行为动向;
(4)用户所在的环境(Where),描述用户目前所处的环境(Environment),包括自然环境、网络环境及设备环境等;
(5)用户在做什么(What),描述用户的活动信息(Activity),了解用户当前的行为,包括活动状态、活动主题、参与者等信息。
用户情境核心要素及其子类别如表1所示:
从服务的角度考虑,为支持情境感知的服务发现,服务描述不仅要包含服务本身信息,还要增加其支持的情境条件等信息。在语义Web服务领域,许多研究通过增加服务情境描述项来构建Web服务的情境模型,例如在OWL-S[ 15]、SA-WSDL[ 16]等现有Web服务描述模型基础上引入情境子本体。本文中的服务主要指学习平台提供的Widget组件服务,它本质上也属于Web服务,但与传统的Web服务又存在许多不同点,如服务协议、调用方式、呈现方式等。借鉴Web服务描述方法[ 17],在OWL-S本体模型基础上,结合Widget特点,对服务概况(ServiceProfile)进行扩展,增加Widget元数据、服务情境信息、服务类别信息三部分内容,如表2所示:
Widget元数据描述服务的基本信息;服务情境信息描述服务对用户、环境、地点等情境信息的要求,实现与用户情境模型中概念的对应;服务类别信息描述服务所属的类别,与用户情境模型存在关联。通过以上扩展,用户情境模型与服务情境模型形成一个语义网络,为情境推理与语义匹配计算打好基础。
基于以上用户情境建模与服务情境建模分析,笔者构建了CA-PLE本体模型,如图2所示:
CA-PLE将情境本体分为两个部分:核心本体与扩展本体。核心本体用于描述学习环境中通用的概念实体,CA-PLE选取用户(Person)、地点(Location)、活动(Activity)、环境(Environment)、时间(Time)、服务(Service)作为核心本体的组成元素。扩展本体是在具体的应用领域中对核心本体的扩展,对用户建立角色(Role)、能力(Capability)等扩展类,对环境建立设备(Device)、网络(Network)、自然环境(NaturalEnviron)等子类,可提高本体的知识共享与复用。在类的基础上,CA-PLE本体模型还建立了多种属性,其中:对象属性表示两个类之间的关系,能够增强本体的推理能力,如用户参与(engagesIn)某个活动,对某些服务类别感兴趣(interestsIn)等;数据属性指一个类元素自身的属性,可以被赋予一个具体的值。
基于规则的情境推理技术不但可以用于获取用户的高阶情境信息,而且可以推理获得用户所需的服务[ 18, 19],缺点是规则编写工作量大、推导结果不准确等。为解决以上问题,将情境感知的服务发现分为两部分:采用基于规则的情境推理获取用户的高阶情境信息,采用情境感知的语义匹配技术实现相关服务发现。
用户情境本体模型描述了各实体之间的关系,但使用本体自身的描述逻辑并不能发现本体之外的知识,因此需要通过自定义规则来实现用户高阶情境信息的推导,得到用户的隐含情境。通常,用户自定义规则主要通过一阶逻辑推理来完成。一阶逻辑推理是一种典型的基于规则的推理方法,该方法首先向引擎输入已知的初级情境信息,通过一致性验证后,与规则进行比较,如果相同,那么给出对应规则结果的高级情境信息,否则提示没有成功。规则可简单表示为:Context1∧Context2∧…∧ContextM→ ContextN。通过情境推理可以得到用户的隐含情境信息,例如:用户正在进行什么活动(Activity)、用户可能感兴趣的主题(Subject)、其他参与该活动的用户(Person)等。为了支持情境感知的服务发现,利用SWRL规则语言设定了CA-PLE本体模型中用户情境的推理规则,如:
Person(?x)∧Activity(?y)∧ServiceCategory(?a)∧engagesIn(?x, ?y)∧activityCategory(?y, ?a) →interestedIn(?x, ?a)
所谓情境感知语义匹配计算,就是在服务发现过程中,自动收集用户的情境信息,并将其与相关的服务情境信息进行匹配计算、发现相关服务的过程。其中,参与匹配计算的用户情境信息包括用户、时间、地点、环境、活动等全部情境要素或部分情境要素,每种情境要素具有不同的权重,通过与服务情境信息匹配计算,将匹配度高的服务优先推荐给用户。
通过情境建模,对用户情境本体及服务情境本体增加情境信息的语义扩展,它们的情境信息描述间存在交集,情境感知的语义匹配方法就是在它们扩展的情境概念间计算匹配度。根据对服务发现的影响程度,将情境要素分为硬性条件情境要素及非硬性条件情境要素两类,如表3所示:
硬性条件是指用户所在的情境与服务支持的情境必须完全匹配的要素,非硬性条件是指两者可以模糊匹配的要素。
由于硬性条件及非硬性条件匹配度的计算方法不同,因此将语义匹配的过程分为两阶段:硬性条件匹配及非硬性条件匹配。具体思路如下:
如果用CU代表某用户的情境集合,用CS代表某服务的情境集合,计算过程可简单表示为:
CU
用P(CU,CS)表示该用户情境与某服务情境最终的匹配度,PHardMatch(CU,CS)表示硬性条件的匹配结果,PSoftMatch(CU,CS)表示非硬性条件的匹配结果。
(1)硬性条件匹配计算:硬性条件的情境要素对服务发现结果有决定性影响,它的匹配结果只有两种:匹配、不匹配。当任意一个硬性条件不匹配时,直接设定P(CU,CS)=0,过滤掉该服务;只有所有的硬性条件都匹配时才能进入非硬性条件匹配计算。
(2)非硬性条件匹配计算:非硬性条件的匹配是一种模糊匹配,它的结果是对所有非硬性条件情境要素匹配度的加权求和,匹配度越高说明该服务越符合用户需求。
综合考虑硬性条件匹配计算及非硬性条件匹配计算结果,本文将情境感知语义匹配的计算公式概括为:
P(CU,CS)=PHardMatch(CU,CS)×PSoftMatch(CU,CS)
=
(1) |
其中,若PHardMatch(CU,CS)=0,说明该服务不符合用户当前的情境信息,最终的匹配度P(CU,CS)=0,并将该服务过滤掉;若PHardMatch(CU,CS)≠0,说明服务与用户的硬性条件相匹配,此时最终的匹配度等于非硬性条件的匹配度,即P(CU,CS)=PSoftMatch(CU,CS)。P(CU,CS)值越大说明该服务与用户当前情境的匹配度越高,排序后匹配度高的服务优先提供给用户。篇幅所限,更具体的计算公式见文献[20]。
为验证公式(1)的有效性,本文利用个人学习环境中具体的用户实例及服务实例进行语义匹配计算。
图3(a)为经过情境建模、情境推理得到的用户情境信息,图3(b)为服务情境信息与最终的匹配度计算结果。
由实验结果可以发现:
(1)硬性条件匹配计算可过滤掉不匹配的服务。实验数据中,硬性情境条件包括角色、设备及网络带宽。服务S02支持的用户角色为教师,而用户Jane的角色是学生,计算所得二者匹配度为零。
(2)非硬性条件匹配计算可得到符合用户需求的服务排序结果。实验数据中非硬性情境条件包括地点、服务类别及用户活动。分析用户Jane的情境信息,推理得到其正在参与材料化学课程,所需的服务更偏向于课程类及化学类,而实验结果中与其最相关的服务为材料化学课程ppt(匹配度2.60),其次为Google学术搜索及咨询服务,符合其需求。
通过以上两阶段的语义匹配,可以高效过滤掉不符合当前用户情境的服务,并且将匹配度高的服务优先提供给用户。
基于情境感知的集成融汇技术的应用将有助于构建主动性、普适性服务环境,相关研究还处于起步阶段。本文提出了依赖相关启发式规则进行高阶情境推理的策略,并借助Web服务领域的情境感知语义匹配技术实现主动的Web服务发现。在Web服务描述与情景环境建设尚不够完善的情况下,为了保证服务发现效果,可针对特定领域需求采取个性化策略,并适当增加人工参与力度,如人工填写情境信息、调整情境权重分配方案、进行服务结果反馈等,增强机器学习能力,进而提升服务发现能力。
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|
[18] |
|
[19] |
|
[20] |
|