基于语义推理的智能家居系统研究
2016/8/22 15:09:22
尽管智能家居技术发展取得较大进步,但真正实现智能家居“以人为本”的服务本质,还存在较大距离。未来的智能家居应当重点体现在对家庭主人服务的“智能”上,即根据家庭环境、主人位置、主人情绪、时间等因素的变化,主动的提供适应的服务。为此,需要持续关注智能家居关键技术发展,本文研究了一种支持语义推理的智能家居系统,通过在智能家居物联网系统中引入语义元素,实现智能家居语义推理,达到真正智能家居服务的目的。
1 物联网语义架构
为解决物联网技术快速发展过程中出现的异构互联及平台智能化问题,众多学者和组织对物联网语义技术进行了广泛研究。标准化组织OneM2M在制定物联网标准时,将语义技术引入到物联网中,使其支持知识推理功能,增强了物联网的智能性。结合智能家居环境中对语义物联网的需求,本文对oneM2M语义功能模型进行改进,提出了图1所示的语义架构。主要改进体现在以下两方面:增加与设备控制功能相关的内容,包括指令集和指令处理模块;设置设备对象池,存储设备对象,包括与物理设备对应的设备实例、由物理设备基本功能抽象出的抽象设备、mash-up产生的虚拟设备。
图1改进后的物联网语义架构图
语义分析与查询:对应用端指令进行语义解析(包括直接解析,或调用推理过程),转换为对资源URL进行CRUD操作的REST指令,发送给数据处理或指令处理模块。
推理:针对语义分析与查询模块发送的指令,基于预设规则,在已有设备(包括设备实例和虚拟设备)中获取对象资源,并确定指令类型;当未获取到*对象资源时,调用语义组合模块。
语义组合:按照特定规则,通过对不同来源的抽象设备和虚拟设备进行聚合,向用户提供新的服务。该过程可由用户需求触发,也可由平台主动触发。
本体建模:离线过程,针对每种新资源(包括设备、用户等),预先创建本体模型。
语义标注:为设备实例及抽象设备添加语义信息。
设备抽象:新物理设备上线时,创建与之一一对应的设备实例,并对物理设备的主要功能进行抽象,产生若干抽象设备。
指令处理:将平台内部指令转换为物理设备可识别的私有指令,并完成指令的封装。
数据处理:一方面,对物理设备发来的数据进行正确性及有效性验证,转换为统一格式后存入数据库;另一方面,建立并维护数据库,按需对数据库中的数据进行修改、删除等操作。
本体库:用于存储本体模型。
设备对象池:包括3部分,设备实例与物理设备一一对应,抽象设备是对物理设备基本功能的抽象,虚拟设备通过mash-up过程产生。
指令库:用于存储物理设备可识别的私有指令集(如机器码),并维护平台内部指令和设备私有指令之间的映射关系。
数据库:用于存储经过处理的设备数据。
2智能家居本体构建与查询
2.1智能家居本体构建
现代家庭对生活质量的要求日益提高,智能家居系统需要满足家庭主人的各种生活服务需求,多数文章中仅对家庭监控、照明中的单种需求进行分析。为此,从全面性出发,本文对家庭安全、健康、舒适、通信、理财、教育、娱乐等各种服务需求进行了分析,因篇幅原因仅给出结构图,如图2所示。
图2智能家居服务结构图
由图可见,在复杂智能家居环境中要为家庭提供众多的人性化服务需要家用电器类、设备类、器械类、传感器类等近百种智能设备的支持。在上述物联网语义架构中,智能家居环境中的设备本体构建是语义推理的基础,对于每一个具体型号的智能家居设备,都需要建立与之对应的本体模型,本文中设计了如图3所示的本体模型结构,包括设备基本信息DeviceInfo、设备运行状态Running Status、功能Function、规则Rule、数据Data等5部分。
图3智能家居设备本体模型结构
其中,DeviceInfo家庭设备基本信息包括了设备id号、设备名称、本体模型资源标识、设备型号、设备制造商、设备类型等信息;RunningStatus设备运行状态用于描述设备的运行模式、各项功能on/off状态等信息;Function设备功能记录了对应的设备私有指令、参数列表、是否支持自动mash-up等信息;Rule设备规则记录了设备的运行或数据处理规则等;Data设备数据记录了数据类型、当前值、数据单位及数据的处理规则等信息。
本文采用W3C推荐的OWL语言对家居设备进行本体建模,OWL主要包括类Class和属性Property两个元素,类与类之间的关系可通过三元组的方式来表达,可使用Object Property表示对象类之间的关系,使用Data Property表示对象类与数据类之间的关系。利用Protégé软件构建了一个智能家居的设备本体OWL描述文件,由于篇幅原因仅截取部分,如下所示:
2.2智能家居语义查询
在家居设备本体模型设计好后,对于实例模型资源的描述可根据设备资源的信息以语义本体为基础进行注释。另外,在众多语义数据中搜索目标对象,使用SPARQL语言进行查询,其基本格式如下所示:
查询时根据SPARQL描述的三元组关系对.owl文件中的参数数据进行匹配,从而找到目标对象。
3智能家居服务语义推理
以本体模型为基础的语义技术随着业务关系复杂程度的提高得到不断发展,语义网规则语言(SWRL)以语义网本体语言(OWL)为基础,融合了RuleML多规则描述方式,具有较强的规则描述能力和语义推理能力。本文采用SWRL技术对智能家居中的众多复杂服务进行语义表达和规则建立,并结合JENA推理机进行推理。
在智能家居环境中要为用户提供个性化服务,可定义各种不同的服务模式。在各种家居设备功能定义的规则基础上,通过定义新的SWRL规则进行语义组合向用户提供人性化服务。SWRL规则由antecedent前提部分、consequent结论部分及多个元素atom组成,并使用统一资源定位符URI,其形式表达如下:
其中,元素可以是数据型函数C(x)与关系型函数P(x,y),sameAs(x,y),differentFrom(x,y)或者是builtIn(r,x)组成,其中可用“?”表示x变量。
以家庭有害气体一氧化碳、挥发性有机化合物(VOC)气体(例如甲醛)、二手烟、家庭油烟、家庭周边有害气体等防备服务为例,对各种气体检测传感器、新风、门窗、报警等设备给出了如表1的部分规则定义。
表1家庭有害气体防备服务规则定义
4系统实现
系统平台采用Apache嵌入式Web服务器,开发语言及环境使用Java和Eclipse,数据库选用轻量级Sqlite数据库。本体建模使用Protégé本体编辑工具并采用OWL语言进行形式化描述,zui后使用Jena推理机进行本体模型的包含性、一致性的检验及自定义规则的推理。系统运行界面如图4所示。
图4智能家居服务管理平台运行界面(截图)
5小结
随着“以人为本”观念的普及,人们对基于物联网的智能家居系统已不再满足简单的远程控制和管理功能,而更多关注其自动性和智能性。本文在分析多种智能家居服务的基础上,构建了智能家居本体知识,研究实现了具有语义推理功能的智能家居系统,该工作对智能家居系统的智能化应用发展具有指导意义。