李正洁(1996-), 女, 硕士, 主要研究领域为人机物融合应用, 云计算
沈立炜(1982-), 男, 博士, 副教授, CCF专业会员, 主要研究领域为人机物融合应用, 移动应用开发与分析, 软件复用
李弋(1975-), 男, 博士, CCF专业会员, 主要研究领域为机器人软件, 程序分析, 计算机系统架构
彭鑫(1979-), 男, 博士, 教授, CCF杰出会员, 主要研究领域为智能化软件开发, 云原生与智能化运维, 泛在计算软件系统
信息物理融合系统(cyber-physical system, CPS)在社会生活中发挥越来越广泛的作用. CPS资源的按需编排建立在CPS资源的软件定义基础上, 软件接口的定义则依赖对CPS资源能力的充分描述. 目前, CPS领域内缺少一个能规范表示资源及其能力的知识库和构建该知识库的有效方法. 面向CPS资源的文本描述, 提出构建CPS资源能力知识图谱并设计一种自底向上的自动构建方法. 给定资源, 所提方法先从其代码和文档中提取资源能力的文本描述信息, 并基于预定义的表示模式生成规范化表示的能力短语. 然后, 基于动宾结构的关键成分对能力短语进行划分、聚合与抽象, 生成不同类型资源的能力层次化抽象描述. 最后, 构建资源能力知识图谱. 面向Home Assistant平台, 构建了包含32个资源类别、957个资源能力的知识图谱. 图谱构建实验从不同维度对比分析了手工构建和所提方法自动构建的结果. 实验表明, 所提方法为CPS资源能力知识图谱的自动化构建提供可行途径, 有助于减少人工构建工作量, 补充CPS领域内资源服务与能力的描述, 并提高图谱的知识完备性.
Cyber-physical system (CPS) plays an increasingly important role in social life. The on-demand choreography of CPS resources is based on the software defining of CPS resources. The definition of software interfaces depends on the full description for the capabilities of CPS resources. At present, in the CPS field, there is a lack of a knowledge base that can describe resources and their capabilities, and a lack of an effective way to construct the knowledge base. For the text description of CPS resources, this study proposes to construct the CPS resource capability knowledge graph and designs a bottom-up automatic construction method. Given CPS resources, this method first extracts textual descriptions of the resources’ capabilities from code and texts, and generates a normalized expression of capability phrases based on a predefined representation pattern. Then, capability phrases are divided, aggregated and abstracted based on the key components of the verb-object structure to generate the hierarchical abstract description of capabilities for different categories of resources. Finally, the CPS knowledge graph is constructed. Based on the Home Assistant platform, this study constructs a knowledge graph containing 32 resource categories and 957 resource capabilities. In the construction experiment, the results of manual construction and automatic construction using the proposed method are compared and analyzed from different dimensions. Experimental results show that this study provides a feasible method for automatic construction of CPS Resource Capability Knowledge Graph. This method helps to reduce the workload of artificial construction, supplement the description of resource services and capabilities in the CPS field and improves the knowledge completeness.
依托3C (computation, communication, control)技术[
CPS涵盖一系列物理和信息资源(本文中将其统称为CPS资源) , 这些资源服务于特定的应用场景. 例如, 访问在线天气服务查看实时天气信息. 除此之外, 各类提供不同能力的IoT[
在资源及其能力的描述方面, 部分学者指出可在资源层面对领域内的概念和关系进行建模, 包括资源本身、资源属性、资源能够执行的动作以及资源与资源之间的关系[
将CPS资源及其提供的服务作为知识进行组织, 可从语义层面上屏蔽不同设备所依赖的底层平台和执行环境的差异, 提高设备的互操作性[
(1) 提出端到端的CPS资源能力知识图谱自动构建过程. 以文本描述为输入, 经能力抽取与表示、聚合与抽象, 输出CPS资源的能力知识图谱. 端到端的自动构建过程可减少人工构建的工作量.
(2) 实现能力的规范化表示与层次化组织. 区别于多样化的表示形式及扁平化的呈现方式, 对能力表示进行规范并将其组织成层次结构有利于从不同维度区分能力. 表示特化的上下位关系可减少信息冗余, 在能力检索上支持精准匹配.
在CPS资源能力知识图谱自动化构建的基础上, 本文对图谱在实际需求中的应用进行分析. 然后, 面向Hass (home assistant)平台构建了包含32个资源类别、957个资源能力的知识图谱. 最后, 开展了图谱构建实验, 从不同维度对比分析手工构建和自动构建的结果. 图谱的构建实验表明, 本方法为CPS资源能力知识图谱的自动化构建提供可行的途径, 有助于减少人工构建工作量, 补充CPS领域内资源服务与能力的描述, 提高图谱的知识完备性.
本文第1节介绍相关工作. 第2节给出研究资源能力知识图谱的自动构建方法的动机. 第3节对自动构建方法进行系统阐述并给出图谱的使用分析. 第4节介绍面向Hass构建图谱的结果. 第5节通过一个图谱构建实验评估验证自动构建方法的可行性. 第6节总结全文, 介绍未来值得研究的工作方向.
近年来, IoT、CPS、CPSS[
Google在2012年提出的知识图谱在诸多领域得到广泛应用, 其构建逐渐形成一套方法论. 例如, 对非结构化的文本数据, 通常要经过文本预处理、实体识别和关系抽取等过程, 最终形成知识的三元组表示. 相福生[
通常, CPS资源的能力信息以多种非结构化方式表述, 包括文本、图像、视频和语音等. 产品使用说明书、官方网站介绍、智能语音助手、聊天机器人及视频使用示例等多源信息使得能力获取更加复杂. Hass是一个典型的开源智能家居解决方案[
Hass平台资源能力描述方式
另一方面, 针对同类型资源但以不同方式表示的能力在语义上可能会出现相似或关联的情况, 这会导致信息冗余, 无法表现能力间的关系. 以Hass中Camera的描述文本为例: (1) “watch video”和“watch live video”, 前者更为抽象, 后者对前者加上限定词“live”来明确视频的类型; (2) “trigger gas alarm”和“trigger carbon_monoxide alarm”, 由于“carbon_monoxide”是一种“gas”, 因此后者是前者的特化. 由此可见, 同种类型资源的能力在表示上具有泛化和特化的层次特性, 因此能力可以用树型层次关系来组织, 从抽象到特化可减少检索能力的代价. 另外, 为了能根据能力快速检索到提供该能力的资源, 还需在能力与资源之间建立关联. 知识图谱可以建立能力与能力、能力与资源之间的关系, 从概念角度对CPS资源及其能力信息进行描述, 并在实例层次接入具体的资源实体及其服务接口.
为了构建资源能力图谱, 需先抽取、表示资源的能力; 然后去除冗余能力、确定能力间关系; 最后建立能力的层次结构, 并用图谱方式进行组织. Hass平台中的资源数量超过900个, 分为48种类型, 单类型下资源数量最多可达253个. 资源的描述信息包含自然语言描述、服务列表和配置示例3种. 若通过人工提取资源能力信息来构建不同类型的资源能力层次化关系并生成资源能力知识图谱, 则需耗费较大的工作量. 因此, 本文提出的CPS资源能力知识图谱构建方法将通过自动化的手段来达成以上目标.
CPS资源能力知识图谱的概念模型如
CPS资源能力知识图谱概念模型
由图2可见模型划分为概念层和实例层. 资源类别、资源、能力及其关系构成图谱的概念层, 其中, 资源类别与能力通过hasCapability关系关联, 表示以资源类别为粒度进行能力描述. 能力之间具有specializes关系, 指能力间的特化关系, 表现出能力知识图谱的层次特性. specializes关系所指向的目标能力抽象程度更高, 更具有概括性, 如“detect gas”; 该关系的起始能力含义更明确、具体, 如“detect carbon_monoxide”. 能力可由资源类别下的某个资源提供, 因此在能力和资源间建立providedBy关系. 资源通过isA关系和资源类别关联, 表示资源所属的类别, 例如, “Xiaomi Air Purifier”属于“Fan”类别. 图谱的实例层定义服务和资源实例, 分别与能力和资源建立instanceOf关系, 表示能力和资源在现实世界中对应的真实存在的实例. 例如, 101会议室摆放的“小米空气净化器”是资源“Xiaomi Air Purifier”的一个资源实例. 在服务与资源实例间建立providedBy关系, 表示服务作为能力的实例形式存在, 并由某个具体的资源实例提供. 本文的研究聚焦在构建资源能力知识图谱的概念层, 不涉及服务、资源实例等具体的实例层知识. 因此, 后文中的资源能力知识图谱指代图谱中的概念层.
通常, 资源类别及其包含的资源可通过既定的分类体系获得. 以Hass平台为例, 可直接将平台支持的各组件作为资源, 将组件所属的类别作为资源类别, 形成图谱中有关资源和资源类别的知识. 隶属于同一类别下的资源称为同种类型的资源. 特定类型资源所具有的能力, 以及能力之间通过specializes关系体现的层次化特性通常隐藏在各类描述中, 无法直接获取, 因此需设计通用的能力提取和分析过程. 为了以自动化的手段达成以上目标, 本文提出CPS资源能力知识图谱的自动化构建方法, 其流程如
CPS资源能力知识图谱构建方法流程
方法的第1步包括资源能力描述短语的提取与规范化表示. 以下对这两个子步骤进行详细介绍.
针对不同形式的数据来源, 可通过制定不同的规则自动化抽取出其中描述能力的短语.
不同数据来源的能力短语提取规则
数据来源 | 提取规则 | 示例 |
服务列表 | 直接提取资源服务名 | 提取Hass中资源的services.yaml文件中的每个条目名作为描述能力的短语 |
配置代码 | 根据指定字段提取资源服务名 | 提取Hass中资源配置示例中的service字段值作为描述能力的短语 |
自然语言文本 | 匹配描述能力的典型词组, 提取短语或从句 | 抽取包含“be able to”“be capable of”“allow to”等词组的句子, 当句子主语为当前资源名时, 提取位于词组后的短语或从句 |
(1) 定义能力短语的规范化表示形式
对第3.1.1节提取出的能力描述短语进行分析, 总结出资源能力的表示一般可分为动宾短语和名词短语两种形式. 以Camera资源为例, “capture image”“watch video”为动宾短语形式, “motion recording”“motion detection”为名词短语形式. 对于动宾短语, 宾语和动词分别表示在某一对象上所施加的某一动作, 这种描述形式符合一般情况下能力表示的习惯. 对于名词短语, 末尾名词通常表示某一动作, 可在保持语义的前提下, 将其转化为动宾结构的形式, 如将“motion recording”转化为“record motion”. 另外, 在上述两种短语形式中, 通常将修饰语(或限定词)用于更精准地描述能力, 如“watch live video”短语中的“live”“streams a video with MJPEG”中的“with MJPEG”. 因此, 修饰语也需作为能力表示的有效成分之一.
综上, 定义能力短语的规范化表示形式, 形如“动词(词组) 修饰语 宾语 修饰语”的动宾短语模式, 如定义1所示.
定义
(2) 生成规范化动宾短语
基于第3.1.1节提取出的能力描述短语, 对其应用依存句法分析技术[
• 情况1. 根据依存句法分析结果, 确定动宾短语中的谓语、宾语、定语和补足语等句法成分, 匹配为动宾短语模式中的
• 情况2. 根据依存句法分析结果, 确定名词短语中的核心名词及该名词的修饰语, 匹配为(修饰语, 核心名词)的名词短语形式, 并按照下述转化规则转化为规范化的动宾短语.
转化规则有:
• 规则1. 若核心名词为动名词, 且表示对修饰语施加的某一动作或过程, 则通过词形还原获取该名词对应的动词, 再将修饰语转化为该动词的宾语. 例如, 先将“motion recording”中的动名词“recording”还原为“record”, 再得到“record motion”.
• 规则2. 若核心名词为名词原形, 且表示对修饰语施加的某一动作或过程, 则结合英语的构词规律[
经过上述过程, 可得到资源能力的规范化表示的动宾短语.
Camera资源能力短语提取与规范化表示示例
对每个类型下的资源, 将第3.1节得到的规范化动宾短语进行划分、聚合与抽象, 可生成该类型资源的能力层次化抽象描述, 作为构建资源能力知识图谱的基础. 本节对生成资源能力层次化抽象描述的过程进行详细介绍.
由第3.1.2节中动宾短语模式的定义可知, 规范化的能力短语必包含
生成资源能力层次化抽象描述的步骤
该过程如算法1所示.
算法
输入: 某一类型资源的规范化表示的能力短语集合
输出: 当前类型资源的能力层次化抽象描述.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
算法1中, 第3行和第6行中的divide操作分别指按给定的
Camera资源能力短语划分结果示例
算法1的第7–10行表示依次将最小短语集作为输入, 生成多个并列的短语关系树的过程. 第11行表示为每个
算法
输入: 最小短语集合
输出: 短语关系树.
1.
2.
3. 创建有向图
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
算法2中, 第5–17行表示根据最小短语集中短语间的关系构建有向加权图
为构建资源能力的层次化描述, 主要考虑判定短语间的上下位关系, 即特化关系. 下位表示特化关系所指向的目标能力; 上位表示关系的起始能力. 该关系可从结构上判定, 如“watch live video”是“watch video”在结构上的特化; 也可从语义角度判定, 如“trigger carbon_monoxide alarm”是“trigger gas alarm”在语义上的特化. 由于最小短语集中短语的
(1) 对A和B分别进行分词操作, 得到单词集合setA和setB;
(2) 若存在单词
(3) 若setA=
(4) 从结构角度判断setA和setB的关系: 若setA
(5) 从语义角度判断setA和setB的关系: 若|setA|=1且|setB|=1, 令x∈setA, y∈setB, 基于WordNet中单词的上下位关系判断x和y是否存在上下位关系, 若是, 表示为A和B的上下位关系; 否则, 判断A和B无上下位关系.
基于修饰语间关系的判定过程, 判断短语P和Q的关系的过程如下.
(1) 若P.
(2) 若Q.
(3) 若P.
① 若P.
② 若Q.
③ 若P.
本文对具有同义关系的短语仅保留其中一个. 经过上述过程, 可得到短语间的包含或同义关系.
基于短语间关系的判定, 可为每个最小短语集构造一个有向加权图
为更清晰展现能力短语的从上至下的特化关系, 利用最小树形图[
加入虚拟根的最小树形图算法示例
(1) 判断图
(2) 生成虚拟顶点
对于第(1)步, 若存在短语
基于
(1) 创建“资源类别”“资源”“能力”等知识作为概念节点.
(2) 在“资源类别”和“能力”结点之间建立“hasCapability”关系.
(3) 在“资源”和“资源类别”结点之间建立“isA”关系.
(4) 在“能力”和“资源”结点之间建立“providedBy”关系.
(5) 在具有上下位关系的“能力”节点之间建立表示特化的“specializes”关系.
最后, 将所有类型资源的能力的层次化抽象描述转化为知识, 以“节点-关系-节点”的三元组形式表示, 并导入到知识图谱中, 形成资源能力知识图谱.
Camera资源的能力层次化抽象描述示例
Camera资源的能力知识图谱构建示例
我们对CPS资源能力知识图谱在CPS领域的应用进行定性分析. 首先, 本文方法构建的CPS资源能力知识图谱目前聚焦在概念层. 当应用到现实场景中时, 可根据真实情况添加环境中的资源实体作为对应资源概念的实例, 将资源实例提供的服务作为对应资源能力的实例. 另一方面, 我们在图谱上开发相应的接口用以实现面向图谱的知识检索等需求. 作为示例,
资源能力知识图谱通用查询接口
接口名 | 说明 | 输入参数 | SPARQL语句 |
queryCapByDes | 根据能力名查询匹配的所有能力 | 能力名(cap) | SELECT ?subCap WHERE {?subCap rdf:type Capability.{cap} specializes* ?subCap } |
querySpecCapByCap | 查询某一能力的特化能力 | 能力名(cap) | SELECT ?subCap WHERE {?subCap rdf:type Capability.{cap} specializes ?subCap } |
queryResByCap | 查询提供某一能力的所有资源 | 能力名(cap) | SELECT ?res WHERE {?res rdf:type Resource.{cap} providedBy ?res } |
queryCapByRes | 查询某一资源具有的所有能力 | 资源名(res) | SELECT ?cap WHERE {?cap rdf:type Capability.?cap providedBy {res} } |
queryResInsByRes | 查询某一资源的所有实例 | 资源名(res) | SELECT ?resIns WHERE {?resIns rdf:type ResourceInstance.?resIns instanceOf {res} } |
querySerByCap | 查询某一能力的所有实例, 即服务 | 能力名(cap) | SELECT ?ser WHERE {?ser rdf:type Service.?ser instanceOf {cap} } |
queryResInsBySer | 查询提供某一服务的所有资源实例 | 服务名(ser) | SELECT ?resIns WHERE {?resIns rdf:type ResourceInstance.{ser} providedBy ?resIns } |
querySerByResIns | 查询某一资源实例提供的所有服务 | 资源实例名(resIns) | SELECT ?ser WHERE {?ser rdf:type Service.?ser providedBy {resIns} } |
上述通用查询接口可以为CPS应用的构造和执行提供支持. 在应用构造阶段, 一般须提前获知完成整个场景运行所需的服务并以正确的次序编排这些服务; 在执行阶段, 应用可直接调用对应的服务驱动其执行. 拥有CPS资源能力知识图谱的情况下, 应用构造阶段可根据需求对能力进行编排, 应用执行时再通过调用“queryCapByDes”“querySpecCapByCap”和“querySerByCap”等接口, 为能力匹配当前可用的服务. 该过程将服务与应用的绑定推迟到执行阶段, 避免服务与应用的“硬绑定”, 在应用构造形式上增加了一层语义抽象, 提高了应用的可移植、可复用性. 另外一个场景是, 在应用执行因某一服务崩溃而中断时, 可根据服务对应的能力切换到其余可用的服务, 做到应用执行的快速恢复. 例如, 某一运行时场景依赖服务A, A是“capture image”能力的实例, 由Blink资源的实例提供, 当该资源实例不可用时, 可根据能力“capture image”查询提供该能力的资源为Blink及Verisure.Verisure存在一个可用的实例并提供一个服务B作为“capture image”能力的实例, 因此可通过将原先的服务A替换为服务B来快速恢复场景运行.
面向Hass平台实施自动化构建过程, 构建出的CPS资源能力知识图谱包含具有实际含义的资源类别32个、能力节点957个, 可直接匹配到218个资源节点(截至2021年6月, Hass中共有48个组件类别、900多个资源). 然而, 仍有部分文本描述无法转换为图谱知识. 其中, “DIY”“Intent”“Energy”等13个组件类别无法对应到具有实际含义的资源类别, 因此忽略对这些类别的资源能力的构建. 有一部分资源的描述内容不充分, 不足以提取其能力信息. 例如, “Sonarr”“Nello”“Clementine Music Player”等资源未给出服务列表和配置示例, 也缺少充分的能力文本描述. 另有一部分自然语言文本无法应用能力短语提取规则. 例如, 由于文本“The worldclock sensor platform simply displays the current time in a different time zone”未包含“be able to”“used to”等明显用于表达能力的词组, 因此无法自动提取出其中的能力短语“displays the current time”.
图谱中的每条知识以“节点-关系-节点”的三元组形式表示, 构成图的形式. 由于篇幅原因,
面向Hass的部分构建结果
资源类别 | 主要能力 | 提供能力的资源 |
Light | brightness related capability
|
|
temperature related capability
|
|
|
Vacuum | zone related capability
|
|
step related capability
|
|
|
base related capability
|
|
|
Lock | lock related capability
|
|
Fan | speed related capability
|
|
direction related capability
|
|
|
humidity related capability
|
|
|
Camera | image related capability
|
|
video related capability
|
|
|
Mailbox | email related capability
|
|
amount related capability
|
|
|
Downloading | limit related capability
|
|
queue related capability
|
|
|
Notifications | notification related capability
|
|
以其中典型的资源类别为例介绍其能力的生成与构建过程. 资源的能力文本描述信息、数据来源及生成的规范化动宾短语在
Hass中几种资源类别的部分能力
资源类别 | 能力文本描述 | 数据来源 | 能力动宾短语 |
Vacuum | “vacuum_clean_zone” | 服务列表/配置示例 | clean zone |
“vacuum_remote_control_move_step: Remote control the vacuum cleaner, only makes one move and then stops.” | 服务列表, 自然语言文本 | move step in remote control mode | |
“Currently supported services are: start, pause, return_to_ base, …” | 自然语言文本 | return to base | |
Lock | “fan_set_child_lock_on” | 服务列表 | set child lock on |
“lock.lock” | 服务列表/配置示例 | lock lock | |
“lock.unlock” | 服务列表/配置示例 | unlock lock | |
Fan | “set_speed” | 服务列表/配置示例 | set speed |
“set_direction” | 服务列表/配置示例 | set direction | |
“set_humidity” | 服务列表/配置示例 | set humidity | |
“fan_set_target_humidity” | 服务列表 | set target humidity | |
Mailbox | “The Mailgun notification service allows you to send emails via Mailgun’s REST API.” | 自然语言文本 | send email |
“The imap integration is observing your IMAP server and reporting the amount of unread emails.” | 自然语言文本 | report amount of all emails |
本节通过图谱构建实验验证所提出的自动化构建方法的有效性, 对比分析手工构建和自动构建的资源能力层次化抽象描述的结果, 并对本文构建方法的不足进行讨论.
(1) 目标
基于相同数据集, 以资源能力的层次化抽象描述为构建目标, 比较手工构建和本文自动构建方法的构建结果, 并总结自动构建方法的不足.
(2) 方案
预先提取并生成不同类型资源的规范化能力短语, 挑选手工构建的实验参与者. 为避免参与者盲目进行构建, 有关构建过程以及预期构建目标, 总结以下几点先验知识预先告知参与者.
• 垂直方向上, 能力以层级关系进行组织, 即能力具有上下位的特化关系.
• 水平方向上, 能力以合理的角度被有效划分.
• 可通过短语成分在语义上的相似、包含情况判断能力之间的同义、上下位、并列等关系, 进而对其进行有效聚合, 对多个同义短语只保留一个.
• 可对被聚合的多个原始能力进行合理抽象, 生成具有概括性的抽象能力.
参与者充分理解后, 独立完成构建过程, 不限制用时. 同时, 将相同实验数据作为本文方法的输入, 经自动构建, 生成资源能力的层次化抽象描述. 手工构建和自动构建的结果都以可视化方式展示.
(3) 实验准备
在Hass平台中选取Mailbox, Calendar, Alarm, Camera这4种资源类别, 这4种资源类别下资源的数量、文本描述信息的丰富程度递增. 其中, Mailbox和Calendar代表信息资源, Alarm和Camera则代表物理设备资源. 抽取并生成这4种资源类别对应的规范化能力短语, 数量分别是7, 21, 29, 62. 为避免不同人员对短语的理解产生歧义, 在抽取时保留每个能力短语的上下文, 作为规范化后短语附加的语义说明. 同时, 挑选软件工程专业的4名硕士研究生(记为A, B, C, D)作为实验参与者, 并准备一台用于运行本文自动构建方法的计算机, 配置为Intel(R) Core(TM) i5-7200U CPU @ 2.50 GHz 2.71 GHz, Windows 10 64 bit.
(1) 结果评估
分别从层级关系、水平划分、有效聚合、概括抽象以及数据规模角度出发, 对4位参与者的手工构建结果以及本文方法的自动构建结果进行对比分析.
首先, 分析能力短语在垂直方向上的层级关系的构建情况. 由于掌握先验知识, 因此4位参与者都能以层级结构对能力短语进行组织. 总体来看, 手工构建和自动构建结果的层次结构都较为清晰. 从层次数量来看, 手工构建的层次数量因不同参与者的构建方式、抽象程度不同而有所不同, 而自动构建方法也一定具有至少3层的层次结构, 并且层次数量会随原始数据复杂度的增加而增加. 在具体结构上, 上层节点一般对应语义较为抽象的能力短语, 下层节点则对应语义较为具体的能力短语. 因此, 从层级关系来看, 手工构建和自动构建都达到了预期效果.
其次, 分析能力短语在水平方向上的划分情况. 从整体看, 4位参与者都按各自的理解从不同角度对能力短语进行了划分. 例如, 对于资源类别Alarm, 如
参与者A、B和本文方法对Alarm的部分构建结果
接着, 就能力短语被有效聚合及被概括抽象的情况进行讨论. 总的来说, 手工构建和自动构建均能将结构或语义上具有关联的短语进行聚合, 但手工构建生成的抽象能力短语, 概括性更好、格式更灵活. 举例来说, (1)对于资源类别Mailbox, 参与者ACD都将“view voicemail”“listen to voicemail”以及“delete voicemail”聚合在一起. 参与者A为这些短语自定义名为“voicemail manipulation”的抽象短语, 参与者C和D则直接定义名为“voicemail”的抽象短语. 自动构建方法则根据这些短语拥有的共同宾语“voicemail”, 将其聚合在一起, 并定义名为“voicemail related capability”的抽象能力短语, 达到了类似的效果. (2)对于资源类别Calendar的与event相关的短语 “describe event start date”“describe event start time”和“describe event start date time”, 全部参与者都将其直接在同一层次上聚合, 并定义“describe event”的抽象短语. 而自动构建方法则按照宾语“date”和“time”分别对其聚合, 并依次向上生成抽象短语“describe time”“time related capability”以及“describe date”“date related capability”. 从结果看, 前者更加简洁直观, 后者则稍显冗余, 但对整体结果的呈现影响不大. (3)对于资源类别Camera,
参与者A和本文方法对Camera的部分构建结果
最后, 从数据规模的角度定性分析数据量和复杂程度对构建结果的影响. 对于数据量较小、数据复杂程度较低的资源类别Mailbox、Calendar和Alarm, 手工构建所耗费代价较小, 4位参与者都能给出较为清晰合理的构建结果. 但对于资源类别Camera, 只有参与者A仍能对其中的能力短语进行比较合理的聚合和抽象, 参与者BCD的构建结果则较为散乱, 缺少有效的抽象, 且存在遗漏了部分短语间关系的情况. 对比来说, 自动构建方法的结果不受数据规模的影响, 始终以一定规则进行构建. 随着数据规模增加, 程序的运行时间虽有所延长, 但对Camera资源能力短语的构建时间也不超过1分钟.
基于上述不同角度的对比分析, 可以得出, 由于不同参与者的理解方式、思考角度存在差异, 使得手工构建通常具有较大的灵活性, 对能力短语的聚合、概括抽象的表现通常较好. 但手工构建过程一般无规律可言, 且花费的代价随数据规模和复杂度的增加而逐渐加大. 相比而言, 本文提出的自动构建方法在能力短语的规范化表示的基础上能有效划分短语、确定短语间关系, 并按照规则向上抽象, 构建过程较为固定, 具有较强的普适性, 为CPS领域内大规模资源能力知识的规范化表示与组织提供了一种可行的途径.
(2) 不足与改进
本文所提出的自动构建方法主要在以下两方面存在不足.
首先, 未根据领域特性对词语的同义、上下位关系进行有效识别. 举例来说, 对于资源类别Camera的“show image”和“view image”能力, “show”和“view”两个单词的语义本无明显关联. 但结合Camera资源进行实际分析, 可发现上述两个能力分别是从Camera资源和能力请求者的视角所展现, 应被识别为同义短语. 另外, 对于资源类别Alarm的“trigger gas alarm”和“trigger carbon_monoxide alarm”, 对修饰语的语义进行分析可得, 前者应是后者的上位短语, 但方法并未识别. 根本原因在于, 自动构建方法对词语的同义、上下位关系的判定, 均依赖于WordNet中词语的同义关系及分类体系进行, 未将这些词语在描述CPS资源能力时具有的特性纳入考虑.
其次, 对相关词语的抽象程度不足. 在某些情况下, 自动构建方法缺乏对相关词语做进一步概括和抽象, 而只以固定的命名格式向上进行一至两层的抽象, 导致抽象程度不高.
针对上述不足, 改进的一种思路是建立CPS资源能力描述领域相关的词语知识库, 对词语间关系及词语的分类体系进行总结. 然而, 构建一个完备的词语知识库需要大量领域数据的支撑, 很难一步完成. 一个可行的思路是利用WordNet中词语的同义和层级分类关系, 结合人工对构建结果中相关词语的反馈标记, 以增量的方式构建出上述词语知识库, 并反馈用于构建过程, 进而不断优化构建结果, 以达到预期效果.
CPS资源能力知识图谱可用于描述各种类型的CPS资源以及资源能力等知识. 目前, 有关CPS资源能力知识图谱的构建工作较为不足. 本文提出一种面向文本描述的CPS资源能力知识图谱构建方法, 以文本信息作为输入, 抽取并生成规范化表示的能力短语, 在此基础上对能力进行划分、聚合、抽象, 最终构造资源能力知识图谱. 该方法的提出有助于减少人工构建工作量并提高图谱的知识完备性.
在构建方法上, 由于目前对相关词语的同义、上下位关系的判断均依赖于WordNet, 未根据领域特性做具体分析. 因此, 未来的一个工作方向是基于WordNet构建领域特定的词语知识库, 对能力词汇间的关系及分类体系进行描述. 另外, 未来将对包含Hass平台的更大范围的CPS文本描述源进行知识挖掘, 不断完善能力提取规则, 并进一步丰富的能力间关系和资源间关系.
Baheti R, Gill H. Cyber-physical systems. The Impact of Control Technology, 2011, 12(1): 161–166.
Lee J, Bagheri B, Kao HA. A Cyber-Physical Systems architecture for Industry 4.0-based manufacturing systems. Manufacturing Letters, 2015, 3: 18–23. [doi: 10.1016/j.mfglet.2014.12.001]
钱志鸿, 王义君. 物联网技术与应用研究. 电子学报, 2012, 40(5): 1023–1029. [doi: 10.3969/j.issn.0372-2112.2012.05.026]
Qian ZH, Wang YJ. IoT technology and application. Acta Electronica Sinica, 2012, 40(5): 1023–1029 (in Chinese with English abstract). [doi: 10.3969/j.issn.0372-2112.2012.05.026]
Mei H, Guo Y. Toward ubiquitous operating systems: A software-defined perspective. Computer, 2018, 51(1): 50–56. [doi: 10.1109/MC.2018.1151018]
Mei H. Understanding “software-defined” from an OS perspective: Technical challenges and research issues. Science China Information Sciences, 2017, 60(12): 126101. [doi: 10.1007/s11432-017-9240-4]
Zhang S, Cai HQ, Ma Y, Fan TY, Zhang Y, Huang G. SmartPipe: Towards interoperability of industrial applications via computational reflection. Journal of Computer Science and Technology, 2020, 35(1): 161–178. [doi: 10.1007/s11390-020-9694-z]
Wang PW, Jin Z, Liu L, Cai GJ. Building toward capability specifications of web services based on an environment ontology. IEEE Transactions on Knowledge and Data Engineering, 2008, 20(4): 547–561. [doi: 10.1109/TKDE.2007.190719]
Wang PW, Jin Z, Liu HY. Capability description and discovery of Internetware entity. Science China Information Sciences, 2010, 53(4): 685–703. [doi: 10.1007/s11432-010-0087-8]
Daoutis M, Coradeshi S, Loutfi A. Grounding commonsense knowledge in intelligent systems. Journal of Ambient Intelligence and Smart Environments, 2009, 1(4): 311–321.
Wollman D. Merging digital and physical worlds into cyber-physical systems framework. The Magazine of the Electroindustry, 2015, 20(11): 12–13.
Zou XH. A survey on application of knowledge graph. Journal of Physics: Conference Series, 2020, 1487: 012016. [doi: 10.1088/1742-6596/1487/1/012016]
徐增林, 盛泳潘, 贺丽荣, 王雅芳. 知识图谱技术综述. 电子科技大学学报, 2016, 45(4): 589–606. [doi: 10.3969/j.issn.1001-0548.2016.04.012]
Xu ZL, Sheng YP, He LR, Wang YF. Review on knowledge graph techniques. Journal of University of Electronic Science and Technology of China, 2016, 45(4): 589–606 (in Chinese with English abstract). [doi: 10.3969/j.issn.1001-0548.2016.04.012]
Kiljander J, D’elia A, Morandi F, Hyttinen P, Takalo-Mattila J, Ylisaukko-Oja A, Soininen JP, Cinotti TS. Semantic interoperability architecture for pervasive computing and internet of things. IEEE Access, 2014, 2: 856–873. [doi: 10.1109/ACCESS.2014.2347992]
Wang FY. The emergence of intelligent enterprises: From CPS to CPSS. IEEE Intelligent Systems, 2010, 25(4): 85–88. [doi: 10.1109/MIS.2010.104]
Guo W, Zhang Y, Li L. The integration of CPS, CPSS, and ITS: A focus on data. Tsinghua Science and Technology, 2015, 20(4): 327–335. [doi: 10.1109/TST.2015.7173449]
Gruber TR. A translation approach to portable ontology specifications. Knowledge Acquisition, 1993, 5(2): 199–220. [doi: 10.1006/knac.1993.1008]
Lemaignan S, Ros R, Sisbot EA, Alami R, Beetz M. Grounding the interaction: Anchoring situated discourse in everyday human-robot interaction. International Journal of Social Robotics, 2012, 4(2): 181–199. [doi: 10.1007/s12369-011-0123-x]
http://www.jos.org.cn/1000-9825/6224.htm]]>
http://www.jos.org.cn/1000-9825/6224.htm]]>
Smirnov A, Levashova T, Kashevnik A. Ontology-based resource interoperability in socio-cyber-physical systems. IT in Industry, 2018, 6(2): 19–24.
https://www.home-assistant.io/]]>
https://zh.wikipedia.org/wiki/YAML]]>
https://web.stanford.edu/~jurafsky/slp3/15.pdf]]>
Miller GA. WordNet: A lexical database for english. Communications of the ACM, 1995, 38(11): 39–41. [doi: 10.1145/219717.219748]
https://spacy.io/]]>
https://en.wikipedia.org/wiki/Edmonds%27_algorithm]]>
https://www.w3.org/TR/rdf-sparql-query/]]>