为解决开发物联网应用时海量设备数据所带来数据整合问题,提出了一种基于语义标注与推理的物联网应用系统框架.框架中包含一种通用的物联网应用本体,在重用传统设备描述本体的基础上拓展了设备间关系的建模.框架还借助语义传感网、语义web和推理技术以支持可自动执行复杂分析控制任务的实际物联网应用的开发,如异常诊断、自动控制等.楼宇自动化场景下的实验结果表明,该框架支持物联网设备知识库的构建和扩展,并可以支持复杂的物联网应用.
The web of things(WoT) is one of the present advancements in which devices, objects, and sensors are getting linked to the semantic web. To solve the integration problems in developing WoT application with huge device data. A semantic annotation and reasoning based framework and approach was proposed. It presents a universal ontology for WoT applications with expanding a physical process model on the basis of reusing the traditional device description ontology. The framework also shows that semantic sensor networks, semantic web technologies, as well as reasoning mechanisms can help in real-world applications to automatically derive complex models for analytics tasks such as anomaly diagnosis and automatic control. The article demonstrates approaches for building automation system with numerous connected devices in knowledge base constructing and show how the semantic framework allows us to develop a complex WoT application.
楼宇自动化系统(BAS,building automation system)在减少建筑能源消耗,提高人员舒适度方面起到了关键作用. BAS需要根据系统的当前状态执行最优化操作以满足人们不断变化的环境需求[1]. Zhou等[2-3]在研究中总结了BAS系统中现有的异常诊断方式,并指出如果异常和操作可以及时监测,那么建筑的能源消耗将降低15%~30%.笔者提出了一种通用的物联网本体模型,将诊断规则抽象成更通用的上层语义模式,并借助语义标注和推理技术实现海量异质传感器接入场景下设备数据的半自动标注以及设备之间的自动组合、异常检测、自动控制,为基于语义规则的设备异常诊断提供新的方法,同时也提供了一种物联网语义服务与应用的新框架.
1 设备元数据标注与语义推理系统设备元数据标注与语义推理系统架构如图 1所示.系统可分为设备语义标注模块和语义推理应用模块,设备语义标注模块负责构造领域知识库,为设备提供统一的语义标签.语义推理应用模块使用领域知识库,提供系统运行时设备异常的实时诊断和对建筑环境的自动控制服务.
设备语义标注模块旨在构建BAS领域知识库,通过构建通用物联网应用本体将设备元数据映射为统一上层语义信息.
首先,根据BAS中设备属性的需求和特点,在重用已有物联网优秀本体的原则下制定领域通用的设备描述本体.设备调用系统的REST(representational state transfer)服务上传元数据,系统通过标签映射的方式,将设备元数据中的文本标签映射到本体的相应概念和实体上.
虽然设备都已经以统一的语义本体表示,但本体中缺乏对设备之间关联关系的描述,这是现有物联网本体难以支持设备异常诊断需求的症结所在.为此,在设备描述模型的基础上引入物理关系模型,以建模设备之间的关联关系,扩展原设备描述本体,并最终构建语义物联网本体(SWoT,semantic web of things).
尽管通过本体标注的方式构建出设备信息图谱,但是该图谱涵盖的信息贫乏,多为设备和其属性之间的一跳关系,缺乏对设备属性信息的描述,与构建知识库的目标相距甚远.使用针对设备结构化元数据的实体链接(EL)算法,根据设备元数据结构化的特征,利用其上下文之间的约束关系为领域实体匹配其在公共知识库中相应的实体[4-5],通过领域知识库与公共知识库中实体的映射,重用公共知识库的海量知识,以此达到扩展领域知识库体量目的.
语义应用从REST服务接口接收传感设备上传的传感流数据,提取流数据中包含的信息并映射为事件.通过配置语义规则,利用语义推理技术,应用可在运行时发现环境状态的异常,得到异常的致因,并根据当前环境状态控制执行设备的操作.语义应用的扩展性强弱体现在语义规则的撰写上,因此需要在领域本体的基础上设计通用的设备诊断和控制规则.
2 SWoT本体构建 2.1 物联网核心概念及需求分析通过对物联网(WoT,web of things)和BAS实际需求的分析,并综合(SSN,semantic sensor network①, SAN,semantic actuator network、SARFF,smart appliance REFerence)、IoT-lite、, Spitfire、IoT-O以及oneM2M等近年来物联网领域的高质量本体,归纳出WoT系统中几个重要概念.
传感器:物联网系统中用于获取数据的设备,负责从环境上下文中收集观测数据,其数据衡量着系统所处的真实物理状态.
执行器:物联网系统依赖这些设备控制周围环境,执行器可以通过执行一系列操作,对真实环境产生影响.
物理关联:在一个物联网系统中,对同一类属性的观测或者操作会在关注这一属性的设备之间建立物理关联,例如制冷机工作会降低温度传感器的测量值.当环境处于异常状态,这类关联可以用于定位可能的致因设备.
事件:传感器和执行器之间要形成交互,物联网系统才可以正常运转,传感器读取真实环境的状态,并将其量化为数值,而执行器则是根据传感器的观测结果,执行对应操作并改变环境状态.事件这一概念是为了解耦传感器和执行设备之间的紧耦合关系而生的,设备之间的交互不再一一对应配置,而是将数据的变化抽象为事件的触发和订阅,设备在事件层交互,借此屏蔽了底层数据的配置.
服务:WoT的重要思想就是将设备和服务抽象为Web资源,以Rest API的方式开放调用,这使得WoT看上去很像Web服务,系统内的设备就充当了服务提供者和消费者的角色. WoT系统内的各种行为都可以抽象为服务,并提供调用,这是WoT的天然属性.
设备状态机:状态机的概念广泛存在于WoT中,大到设备的开关状态,服务的部署与否,小到某条数据的时效性,物联网中的实体总是在固定的几个离散状态中跳转.
然而,上述单一本体无法完全覆盖WoT服务的需求:SSN、SAN和SAREF涉及了设备、操作和事件信息的描述,但缺乏对服务和设备关联的描述;IoT-lite和Spitfire缺少对执行设备和状态机的建模,oneM2M是物联网M2M领域最新最权威的标准,该标准主要关注物联网的应用层和服务功能层,因此它提供了完备的设备服务和操作本体,支持状态机的概念,但oneM2M本体缺乏对设备属性、事件等关键概念的建模,也未重用SSN等经典设备描述本体.其版本正处于迭代更新的阶段,因此也还未开放到(LOV,linked open vocabularies)本体库,这造成用户难以基于oneM2M本体发展业务.上述本体中IoT-O对物联网关键概念覆盖最广[6],它将IoT系统中的概念划分为设备、服务、状态机、能耗4个模块,并最大限度重用已有本体.但它仍缺乏对设备之间关联关系的建模,无法在本体上体现一个设备的行为对其他设备的影响,也正是这一关键缺失使得已有本体难以支持基于知识和规则的设备异常诊断的需求.综上所述,在重用已有本体的基础上发展一套可以涵盖物联网系统主要概念,并且支持设备异常诊断需求的通用开放WoT本体是迫切而必要的.
2.2 设备描述本体本体的设计原则要求尽可能重用已有的物联网本体.结合上述WoT关键概念分析,笔者提出SWoT领域本体,如图 2所示.该本体重用了各物联网本体中相应概念描述最完备的部分,如传感器本体SSN(包括了对事件的描述)、执行器本体SAN、IoT-O重用的服务描述本体MSM和其提出的状态机建模以及数据描述模型QUDT等,并在其基础上扩展了本系统所需的设备Metadata属性,以此构建了设备描述模型.另一方面,为了解决物联网设备异常诊断的需求,还在本体中引入了描述设备之间关联关系的物理关系模型,SWoT领域本体的主要结构可以描述如下.
1) Sensor-Observation-State-Event:传感器负责观察某种环境物理状态属性(SensorProperty), 它会产生一系列设备原始数据,从这些原始流数据中可以抽取出高层次的状态(State)信息. BAS的运行状态可以用系统中传感器的状态集合来表示,当系统内部状态发生改变时会产生并发布相应的事件.传感器流数据中的高层次状态信息可以通过基于流数据挖掘的模式发现及预测算法抽取,如利用无监督聚类[7]、隐马尔可夫模型(HMM)[8]、深度学习[9]等.
2) Event-Actuator-Actuation-Service:事件由传感器的状态变化触发,用来解耦设备间互相调用的配置,因此系统管理员只需要根据实际情况制定相应的规则,规定系统中的执行器(Actuator)应该订阅何种事件以及事件发生时执行的操作.执行器规则的定义要涵盖先验事件(ssn:Sensor :hasState iot-o:State和:generate dul:Event)以及相应的后续操作(san:Actuator :triggers san:Actuation).在BAS自动控制应用中,当系统发现执行器订阅的事件发生,会以Restful Service的方式调用执行器操作(Actuation),该操作会改变系统当前的环境状态,从而改变传感器的检测值,使得设备状态在各自的状态机(Lifecycle)间跳转,并在设备之间形成调用链.
3) WoT Property:WoT Property描述了WoT资源的主要属性,包括部署地点、设备类型、所属者、所测量属性和测量单位等.设备属性中的常识性知识还可以链接到开放知识库的相应概念和实体上,在本研究中使用DBpedia作为通用背景知识库.
4) Physical Process:设备所观测的真实世界的状态量(Sensor Property)之间存在客观物理关系.物理过程模型(Physical Process)将这种客观存在建模成2个真实状态属性之间的因果关系.
2.3 设备元数据自动标注SWoT领域本体提供了设备元数据描述上的统一模型.在资源描述框架(RDF,resource description framework)图谱中,设备节点拥有可以完整描述其信息的众多属性实体,然而这些属性实体却缺乏同样完备的描述信息.图谱中记录了设备部署在“北京”,而缺乏“北京”属于中国这种常识性知识.但实际上,常识性知识对领域知识库来讲同样重要,它在确定用户搜索意图与范围上发挥着重要作用.当用户输入搜索区域为“中国”时,元数据中部署地点为“北京”的设备也必须能够返回.为此,实现了基于迭代消息传递(IMP,iterative message passing)算法的实体链接工具[10],该工具以键值对(AVP,altribute value pairs)形式的设备元数据为输入,利用结构化元数据特点,即同一属性下各实体类型相同,两不同属性实体间关系相同的约束,实现实体消歧,并最终输出元数据实体与开放知识库DBpedia中的相应实体的链接关系.借此工具,将DBpedia中的常识性知识接入领域知识库,扩充了图谱的规模,为开发丰富的设备语义应用提供了可能.
3 语义推理应用构建BAS领域知识库可支持丰富的语义应用开发.下面将围绕智能建筑中房间环境的自动化调节案例场景,从设备和环境的异常诊断、自动控制以及语义搜索3个方面介绍并验证语义规则和推理技术在语义应用中的核心作用.
3.1 异常诊断1) 案例场景描述
智能房间内部署了温度传感器、摄像头和气体检测仪,温度传感器和气体检测用于检测房间温度和空气质量,摄像头可以捕捉房间画面,并通过相应图像处理算法得到该房间的人员数量,用于衡量房间的拥挤程度.同时,房间中部署了空调、空气净化器等执行器设备,当房间中的温度和空气质量偏离舒适值,这些执行器设备便会启动,其他时间则可以处于休眠状态从而节省电能资源.
环境状态一旦发生异常,会直接体现在检测它的传感器读数上,使环境和系统间建立联系.异常诊断服务的目标是当环境状态发生异常时,系统可以第一时间找到房间中的某个设备,定位异常的致因,以提高系统的安全性和稳定性.
2) 场景构建
在案例智能房间中有2种环境控制需求(FoI,feature of interest),分别为室内温度和室内空气质量场景.考虑到海量设备接入系统时,人工标注难以覆盖每个FoI,提出基于语义规则完成对FoI的自动构建.房间内FoI的构建分为2步.首先,为FoI实例创建属性实体.然后利用物理关系模型在属性实体以及设备实体之间建立关联关系.属性可分为2类,一类是通量属性,每个FoI实例都必须包含一种通量;另一类是传感属性,指所有由传感器观测的属性,但只有实际部署了相应传感器才会在FoI实例中创建这些属性.
结合本体更新语言SPARQL-UPDATE和注释属性可实现自动向FoI实例中添加属性实例.其中注释(annotation)是知识构建过程中作为指导实体以及其关系属性(object property)生成的语义规则.
场景的自动构建过程如图 3中的SPARQL-UPDATE语句.语句#1负责为每个房间创建FoI实例,其中每个FoI实例的URI都是通过UURI8函数计算而来.语句#2将根据当前FoI的注释swot:requiresProperty为FoI添加通量属性的实例.语句#3是场景构建中的关键语句.首先,它根据当前FoI所含有的注释swot:optionalProp为FoI添加传感属性的实例.再利用FoI所在房间(swot:Spot)信息找到部署在该房间的所有设备,然后根据注释swot:defaultObserved将FoI的传感属性实例和设备绑定.通过<场景-传感属性>、<设备-传感属性>得到<场景-设备>可以最大限度地解耦场景与某一设备的绑定关系.语句#4表示了传感和通量属性之间物理关系的构建,是物理关系建模的关键步骤之一.设备是传感属性的衡量,设备之间的关联关系可以映射为其观测属性之间的关联关系,而通量属性是建立该关系的跳板.本语句可以建立传感属性与通量属性之间的桥梁.就温度控制场景而言,通量属性可设定为热量,屋内的热量越高,可认为屋内温度越高,因此热量和温度呈正相关关系.而空调制冷会导致热量下降,因此热量和制冷强弱呈负相关关系.
3) 异常诊断模型
当场景构建过程执行完毕后,本体中的RDF图谱便可以支持设备的异常诊断.环境中出现异常状态能反映在设备的数据中,异常诊断模型可以综合异常事件和设备运行状态、追踪异常致因.如图 4(a)所示,语句#5根据传感属性和通量之间的关联关系,利用关系的传递来创建传感属性之间的关联关系.比如,温度控制场景中,温度和热量是正相关的,室内人数和热量也是正相关的,那么温度和室内人数也应是正相关关系;而空调制冷和热量是负相关的,那么温度和空调制冷应是负相关关系.很显然,当使用正负相关关系作为物理关系在属性间建立桥梁时,属性的传递共有4类. #5在FoI实例下的传感属性之间建立了直接关系,鉴于设备和属性的绑定关系,也可以说它在设备之间建立了直接的正负相关关系,一旦某个设备报出异常事件,便可以从这条关系链中找出所有异常致因设备. #6是负责异常诊断的关键语句,它根据报出异常事件设备的运行状态,从与之有直接相关关系的设备中定位异常致因.比如当前报出异常事件的设备状态为swot:high,那么与之正相关且处于swot:high状态和与之负相关且处于swot:low状态的设备都是该异常的致因事件.
温度和空气质量场景的异常诊断原理相同,因此只展示了室内温度案例下的场景建模(见图 4(b)),以及温度异常事件发生时的异常诊断结果.该图描述的过程是温度传感器从流数据中判断出高温异常事件,诊断模型通过语句#5属性之间关系的传递得到空调制冷和温度呈负相关关系,而室内人数和温度呈正相关关系,之后诊断模型判断空调是否运行于low状态,该状态指设定的温度过高或者风量过小等.若该空调制冷设备满足状态限定,那么它就是异常致因之一.同理,诊断模型判断房间的人数是否处于high状态,如果摄像头视频分析表明屋内人员拥挤,则此情况也会成为高温异常的致因之一.
3.2 自动控制自动控制是指环境场景中的执行器设备可以根据其他传感设备的传感值或状态信息动态调整自己的工作状态,其目的是在维持环境舒适稳定的状态,并最大限度地节约能源.异常诊断模块的结果将作为自动控制的先验知识,是异常事件的提供者,自动控制利用语义规则和推理,使执行器自动订阅环境中的异常事件,再根据环境异常状态执行不同的调节操作.自动控制以FoI为单位,执行器需要获取同一FoI下的所有异常事件和事件发生的时间.出于解耦的目的,本体中未在事件和某一类执行器操作之间建立绑定关系,而是通过使用注释属性swot:changeSateTo来标注某一执行器操作的执行效果.当传感设备获取环境信息并产生异常事件,同一FoI下的执行器可以通过语义推理从操作集中选取具有目标执行效果的操作,提升系统的灵活性.推理语句如图 5所示.语句#7负责执行器对传感器观测到的异常事件动态订阅.语句#8负责执行器操作的配置,它根据传感器对环境的观测结果以及传感器和执行器所观测属性之间的相关关系,得到执行器应进行的操作.以温度控制场景为例,温度传感器报出高温异常事件,处于swot:high状态中,且温度和制冷两属性呈负相关关系,因此必须提高制冷效果才能维持温度环境的稳态,也就是在推理中使用(san:Actuation-:changeStateTo-:high),从制冷机操作集中找到那个能提高制冷效果的操作.
搜索是物联网系统中一项重要功能,构建领域知识库的目标之一就是支持用户对设备、异常事件等信息的语义检索.语义搜索应用可以利用设备元数据,如所在地区和所属机构等信息缩小搜索范围,实现精确查找. 2.3节提到的自动标注工具将开放知识库DBpedia中概念和关系接入本系统的领域知识库,目的也在于提供更全面的语义检索服务.当用户限定搜索范围是“位于中国的设备”时,虽然领域知识库中缺乏对北京和中国关系的描述,但是DBpedia中却维护了(dbr:Beijing-dbo:country-dbr:China)这一事实.当领域知识库中的元数据实体在调用自动标注工具链接到DBpedia的相应概念和实体后,领域知识库的完整结构如图 6所示.
凭借DBpedia知识库丰富的常识性知识,扩展后的领域知识库包含了对设备元数据的详尽描述,这也意味着用户在进行语义搜索时可以充分发挥语义元数据的力量. SPARQL联合查询(Federated Query)能够将查询语句的指定部分代理给另一个SPARQL端点执行,语句#9以设备的部署地点为约束,旨在获取所有部署在中国境内的目标设备.
本地查询得到领域知识库中设备和其部署地点,以及该地点在DBpedia中对应实体的信息.而基于DBpedia的代理查询利用当前地点和中国的关系过滤查询结果.以图 6中的设备为例,在图 7中搜索条件限定地区为中国时,领域知识库不包含该实体,但语义搜索应用会检查DBpedia中的地区关系常识,给出正确结果.通过扩展领域知识库,用户甚至可以用本地不存在的概念、实体作为搜索的约束条件获取查询结果,这提升了系统的通用性和实用性.
提出了物联网设备标注和语义推理系统的框架.为了在物联网应用中为WoT资源提供一套统一的本体表示,在重用已有物联网优秀本体的基础上,提出了满足语义推理需求的SWoT本体,并以此标注物联网设备并构建了物联网领域知识库.通过语义推理应用案例证明了语义技术可以用于复杂系统的自动分析,该方法不仅满足智能楼宇场景下的异常诊断和自动控制需求,还可以通过改变规则配置,方便地移植到其他物联网应用场景,具有良好的扩展性和移植性.
[1] | Ploennigs J, Hensel B, Dibowski H, et al:BASont-a modular, adaptive building automation system ontology[C]//38th Annual Conference on IEEE Industrial Electronics Society. Montreal:IEEE, 2012:4827-4833. |
[2] | Zhou Qiang, Wang Shengwei, Ma Zhenjun. A model-based fault detection and diagnosis strategy for HVAC systems[J]. International Journal of Energy Research, 2009, 33(10): 903–918. doi: 10.1002/er.v33:10 |
[3] | Katipamula S, Brambley M. Methods for fault detection, diagnostics, and prognostics for building systems-a review[J]. HVAC&R Research, 2005, 11(1): 3–25. |
[4] | Mulwad V, Finin T, Joshi A. Semantic message passing for generating linked data from tables[C]//International Semantic Web Conference.[S. l.]:Springer, 2013:363-378. |
[5] | Limaye G, Sarawagi S, Chakrabarti S. Annotating and searching web tables using entities, types and relationships[J]. Proceedings of the VLDB Endowment, 2010, 3(1-2): 1338–1347. doi: 10.14778/1920841 |
[6] | Seydoux N, Drira K, Hernandez N, et al. IoT-O, a core-domain IoT ontology to represent connected devices networks[C]//Knowledge Engineering and Knowledge Management. Bologna:Springer, 2016:561-576. |
[7] | Eberle J, Wijaya T K, Aberer K. Online unsupervised state recognition in sensor data[C]//2015 IEEE International Conference on Pervasive Computing and Communications (PerCom). St. Louis:IEEE, 2015:29-36. |
[8] | Wang Peng, Wang Haixun, Wang Wei. Finding semantics in time series[C]//2011 ACM SIGMOD International Conference on Management of Data (SIGMOD' 11). Athens:ACM, 2011:385-396. |
[9] | Ordóñez F J, Roggen D. Deep convolutional and LSTM recurrent neural networks for multimodal wearable activity recognition[J]. Sensors, 2016(16): 115. |
[10] | Yang Yunong, Wu Zhenyu, Zhu Xinning. Semi-automatic metadata annotation of web of things with knowledge base[C]//IEEE International Conference on Network Infrastructure and Digital Content. Beijing:IEEE, 2016:124-129. |