摘要:为解决作战体系概念模型与作战体系仿真想定的数据壁垒,对仿真想定的智能映射与模型重用技术进行研究。采用 DOM 技术对概念模型进行解析。基于本体理论构建作战领域知识库,定制网络爬虫以建立领域同义词库。通过 SWRL 规则库,调用推理机实现语义层面的关系推理。设计智能匹配算法,将语义关系映射到仿真模型的组合关系。采用 DOM 技术确定对象节点,生成仿真平台可执行的想定文件,实现了系统仿真模型的组合重用,同时基于上述流程搭建了作战体系仿真想定智能生成软件平台。
田星雨; 曾广迅; 高云博; 龚光红; 李妮, 系统仿真学报 发表时间:2021-10-13
关键词:语义组合;作战体系;模型重用;仿真想定;语义匹配
引言
随着科学技术的快速发展,信息化军事背景下的未来战争不再局限于少量作战单元之间的简单作战,而是趋向于作战体系之间的对抗。体系因此成为了国内外学者的重点研究内容。
体系设计全生命周期,包括体系结构设计、体系建模仿真、体系仿真结果评估等三部分。作战体系概念模型作为体系结构设计结果,从顶层角度为建模仿真人员提供了作战实体、作战活动的抽象描述。但由于作战体系概念模型与作战体系仿真想定在数据粒度、表现形式上的差异,二者无法直接实现数据复用。同时,目前国内尚未形成成熟的仿真想定系统,缺乏从概念模型到仿真想定的智能化映射软件。面对军事领域仿真的多样性、复杂性,仿真想定生成领域对想定生成的智能化、想定模型的可重用性提出了越来越高的要求。
模型重用问题是仿真领域的前沿课题,被列为仿真领域最具挑战性的 4 个研究领域之一[1]。通过对商用软件二次开发,将模型信息分类,能够实现仿真模型的快速建模,但其缺点是针对特定仿真软件,适用范围较小[2]。目前针对模型重用已有许多标准和工具,但在作战仿真领域的具体应用较少。
因此,面向作战领域开展仿真实体与行为模型组合重用的研究具有重要意义。本文通过对作战领域武器装备、作战行动概念进行表示,基于本体理论建立领域知识库,通过智能映射算法与语义推理设计,实现概念模型到仿真想定的映射,完成概念模型知识的重用、系统原有仿真模型的组合重用,降低体系设计开发成本,有效缩短体系设计周期。
1 基于本体的作战领域知识库构建
基于 DoDAF 2.0 理论,明确概念模型解析的整体路线,采用 DOM 技术对.xml 格式的作战体系概念模型文件开展解析,通过 DOM 树的生成与查询,实现指定类型数据的筛选。分析解析数据与概念模型中节点的映射关系,确定概念模型与仿真想定之间可进行复用的作战概念数据,即概念模型中的武器装备、作战行为数据。由于命名形式、数据语义、数据粒度等方面的差距,数据无法直接映射至仿真想定,需建立作战领域知识库,为后续匹配、语义推理提供知识支撑。
1.1 基于本体的作战领域知识库构建流程
本体是指挥信息系统与作战仿真系统的基础。本体的概念最初在哲学领域引入,其含义为“对世界上客观存在物的系统描述”。随着互联网、计算机领域技术的逐渐发展,本体受到了诸如语义网 [3]、知识工程[4]、生物医学[5]和人工智能[6]等多个领域的关注。
本体知识库的构建,是指运用本体技术,基于本体理论构建知识库系统。关于领域本体构建方法,骨架法和企业建模法首先出现;随着本体技术的发展,形成了七步法、Methontology 方法、 KACTUS 工程法等本体构建方法。这些方法对开展本体构建工作具有指导意义。其中,应用较为广泛的七步法,是斯坦福大学提出的一种自顶向下的本体构建方法。七步法的本体构建步骤明确清晰,包括本体分析、合并、概念添加等本体构建过程,对构建作战领域本体具有较强的指导意义。
基于本体的知识库构建思路通常分为自顶向下、自底向上两种。自顶向下方法含义为,从顶层概念开始对知识库进行细化,搭建良好的层次分类结构,再对本体库进行底层本体添加;而自底向上方法含义为,首先从底层本体入手,对本体进行归纳组织,提取底层概念,之后通过逐步抽象提取上层概念,整合形成完整知识库。
由于不同本体构建人员的专业领域知识存在差异,为构建无歧义的领域本体,实际构建更多采用自顶向下、自底向上思路相结合的方式。根据本体的具体应用和作战领域特点,本文提出作战领域本体构建的流程方法,其具体过程如图 1 所示。
手动构建领域本体库的方法依赖于本体开发工具,用于进行本体的构建、存储、查询、推理等。 Protégé是一个开源本体编辑器,本文采用 Protégé 本体构建软件,对上层本体进行手工构建。
1.2 本体构建
1.2.1 自顶向下的本体构建
(1)确定本体范畴和构建目的
本文所要构建的领域本体,具体范围为军事领域的武器装备、功能组件、作战行为及其他上层概念。作战领域本体的构建目标为,以结构化形式对作战领域知识进行表示,对作战领域中武器装备、作战行动概念及概念间相互关系进行描述,实现领域知识的重用与共享。
(2)确定领域核心概念集
设计领域本体结构模型的基础,在于识别作战领域重要术语,并据此建立领域主题概念集。针对本文面向的实际应用需求,作战领域顶层概念涵盖武器装备、功能组件、作战行为、作战环境、作战组织等概念,但仅对其中部分概念进行满足应用需求的关系描述与推理。
(3)建立概念层次结构
实体概念,用于描述作战领域武器装备的具体类别划分与层级关系。功能组件概念是实现作战领域具体功能的最小组件,如雷达、导弹等本体。参考军事数据网站提出的层级结构,在本文知识库中建立武器装备本体知识结构。
在作战领域,对作战行为进行分析,主要从两种粒度的行为进行考虑:动作和任务[7]。
动作:即原子行为、原子模型,是最小的、不可再细分的行为概念,定义为任务实施过程中的步骤或工序;
任务:即组合行为、组合模型,由原子模型组成。任务是具有明确作战意图的军事行动,定义为执行作战命令的过程。任务可由若干个动作组成。
在《军语》、作战条令、条例、相关文献[8]中进行概念获取,明确作战行动术语的准确定义。作战行为可初步分为任务模型与自主行为,其中任务模型根据行为粒度,可分为原子模型、组合模型。原子模型为组合模型的基本组成单元,其又包含多种概念分类。例如机动是为达成一定目的而有组织地转移兵力或火力的作战行动。对于兵力机动类型,具体包括开进、合围、追击、转移、疏散、交替前进等行动样式。
(4)定义属性及属性约束
对于武器装备及功能组件,数据属性即为其各类实际参数,可在已有作战领域武器装备本体库中查询获得。对于作战行为类数据,需要对作战行为进行时间顺序上的约束。
对象属性是对领域本体概念间关系的描述。结合相关调研,对作战领域顶层概念及其子类的关系概括如表 1,并依此建立对象属性。
(5)进行实例化
在自顶向下的手动构建部分,只针对文献中出现的部分作战行为描述进行实例添加。
至此,在 Protégé中完成作战领域本体库初步搭建。该本体库面向作战领域相关概念,共包含 328 个子类、32 个实例属性、12 个类间关系。本体库中初步添加 85 个实例,用于对各类作战行为提供具体描述,如“冲击类”原子任务模型包括“偷袭”、“火力追击”、“突击”等行为实例。
此时,基于自顶向下构建思路,已初步完成本体库构建。由于作战行为存在着语义描述上的多义性与指代不一,需要进一步获取实例数据,根据底层实例数据进行自底向上的本体库修正。
1.2.2 自底向上的本体构建
随着网络科技的不断发展,互联网成为信息的载体,对其中信息资源进行自动抓取的程序或者脚本也应运而生,它们被称作网络机器人、网络爬虫。面对特定数量与特定主题的网页资源,则需要依据网页资源的加载方式,对网络爬虫定制化设计。
实验室已通过网络爬虫技术,在军事网站中进行数据爬取,对数据进行整理,并按照特定组织形式保存于本地 MySQL 数据库中。数据库包括 3104 个 aircraft 类装备型号数据、1754 个 ship 类装备型号数据、330 个 submarine 类装备型号数据,最大深度为 5,武器装备间主要关系为上下位关系,共囊括 5188 种武器装备型号与具体参数。
本文面向开源军事术语网站定制网络爬虫应用程序,通过调用 Requests 库模拟 Ajax 请求获取数据,调用 BeautifulSoup 库解析返回的 HTML 数据,并进行筛选、保存。
本文整理了 51 个常见行为术语,以此进行数据搜索与爬取,得到 37032 个搜索词条,保存于本地 MySQL 数据库中。结合具体应用需求,调用 Jieba 库实现术语的词性标注,结合手工标注,得到了无歧义的作战行为类实例数据 1212 个词条。
对实例进行手工归类,确保每个原子行为子类对应于多个作战行为术语实例。同时,整理形成作战行为同义词库,用于后续实例添加与语义推理。
1.3 实例自动化添加
庞大的实例数据与其丰富的语义信息,对自动化添加实例的方法提出了较高要求。在对 OWL 文件进行解读的基础上,可以通过 re 库正则字符串,实现 OWL 字符串模式匹配与定位,将 MySQL 数据库中的结构化数据,转换为 OWL 代码段插入本体库文件中,并通过 Protégé软件读取扩充后的本体库进行正确性校验。
为补充同义词信息,进行同义词库自动化添加,通过实例的 same individual as 实现“同义词” 的语义表达。
图 2 为 Protégé读取本体库文件得到的实例个数及具体信息,添加的实例符合格式要求。
至此,作战领域知识库的本体已构建完成,包含 319 个概念(类)、49 种关系、84 种数据属性和 5538 个实例。添加的大量实例及其属性,作为对本体库的补充,构建形成了作战领域知识库,既是对知识库的丰富,也为后续进行语义匹配、规则推理提供了数据支撑。
2 仿真模型智能映射算法的实现
完成作战领域知识库搭建工作后,需要通过语义推理,对知识库中本体的组合、对应关系进行推理补全。之后通过匹配算法的运行,将作战体系概念模型中的待处理武器装备、作战行为数据映射至作战仿真推演平台模型库中相似度最高的仿真模型。针对不同类别数据的实际匹配需要,本文分别研究了不同的匹配方法。
2.1 基于 SWRL 规则库的语义推理方法
知识图谱是一种可视化的图网络,由概念、实体、实例、语义关系、属性、约束条件组成。在知识图谱中,概念、实体、属性或属性值通过结点表示,概念、实体的属性或关系通过结点连线表示。作战领域知识库旨在构建面向作战仿真的知识图谱,为作战领域提供一种面向作战领域仿真模型体系的、显式的知识组织模型与表示。
在本文以自底向上、自顶向下相结合的方式构建的领域知识库基础上,本节给出基于知识图谱推理的模型语义组合方法,基于语义网规则语言(Sematic Web Rule Language, SWRL),通过定义规则,实现本体的语义组合。
本文搭建的作战领域知识库中,SWRL 规则具体包括以下几个类型:
(1)任务的执行者
该类型推理执行的前提是,存在组合模型(?CB)与作战组织或实体(?OPT),且二者存在执行(isOperatedby)关系。基于上述条件,推断出(?OPT, hasTask, ?CB),即作战组织或实体(?OPT)与组合模型(?CB)存在 hasTask 关系。
(2)子任务的相同执行者
该类型推理执行的前提是,存在原子模型(?PB1)与(?PB2),且两者与同一实体或作战组织(?En)存在执行(isOperatedby)关系。基于上述条件,推断出(?PB1, same_operator, ?PB2),即两个原子模型(?PB1, ?PB2)对应于相同执行者。
(3)任务组合
该类型推理执行的前提是,存在组合模型(?CB)与原子模型(?PB),且两者与同一实体或作战组织(?En)存在执行(isOperatedby)关系。基于上述条件,推断出(?PB, isPartOF, ?CB),即原子模型(?PB)被组合于组合模型(?CB)中。
(4)任务的先后顺序或并行
该类型推理执行的前提是,存在具有相同执行者的两个原子任务模型(?PB1)与(?PB2),且二者均具有数据属性 occur_time。通过判定两者数据属性 occur_time 的大小进行推理,若时间相同,则视为并行任务(parallel);若时间不同,则较早任务为较晚任务的前置任务(pre_drive),反之为后置任务(after_drive)。
(5)实体同级
该类型推理执行的前提是,存在不相同的两个实体(?E1)与(?E2),且两者均与相同组织(?Un)存在上下级关系(isSuperior)。基于上述条件,推断两个实体存在同级关系,即(?E1, sideway, ?E2)。
(6)模型组装
模型组装推理体现模型体系的“任务模型—— 自主行为模型——功能组件”的调用机制。该类型推理执行的前提是,存在分类的实体模型(歼击机?F),存在执行任务的类型(巡逻任务属于平台运动类型、空战任务属于火控类型……)。基于上述条件,推断出实体必须包含相应的功能组件(六自由度运动、指控、火力控制等)。
对于上述推理类型,通过编写 SWRL 领域规则库,调用 Jess 推理机,能够对本体进行语义层面的推理,得到本体的语义组合关系,其本质上即为(头实体-关系-尾实体)。之后通过智能映射算法,能够将本体映射至相似度最高的仿真模型,将本体组合、对应关系映射至平台库内仿真模型的组合、对应关系,实现系统原有仿真模型的组合重用。
2.2 基于领域知识库的智能映射算法流程
以作战领域知识库作为知识支撑,设计智能映射算法。概念模型解析得到的仿真模型要素,包含 OV-4 视图中的底层作战实体数据、OV-5b 视图中的作战活动数据。二者作为智能映射算法的输入,分别按照不同的映射流程进行处理,如图 4 所示。
2.3 武器装备映射匹配
当解析获取的待匹配武器装备数据进行匹配时,若其在知识库内存在同义词,则将该武器装备实体匹配为其同义词标准型本体,并将标准型作为算法输入,进行混合式语义相似度计算,将其映射至相似度最高的仿真模型;若其在知识库内不存在同义词数据,则通过基于字段的相似度计算,将其映射至相似度最高的仿真模型。
2.3.1 基于语义相似度的武器装备匹配算法
作为武器装备智能匹配过程的核心内容,语义匹配算法将对概念模型数据重用的效果起到关键影响。本文采用一种面向作战领域提出的混合式语义相似度算法[9],用于实现武器装备层面的匹配。该算法针对搭建的作战领域知识库,考虑路径距离、本体特征、特征参数值等多方面语义信息,并通过加权结合取得了较好的应用效果。
该混合式的语义相似度计算方法如式(1)所示: 1 2 1 2 1 2 1 2 1 Sim SE SE Sim SE SE Sim SE SE Sim SE SE , , , , p (1) 其中 1 2 , p Sim SE SE 为基于路径距离部分的语义相似度, Sim SE SE 1 2 , 为基于本体特征部分的语义相似度, Sim SE SE 1 2 , 为基于特征参数值部分的语义相似度, 、 、参数用于衡量路径距离、本体特征和特征参数值等语义信息所占权重。
2.3.2 基于字段相似度的武器装备匹配算法
在实际应用时,由于数据来源的有限性、名称指代的多样性,可能出现输入的武器装备名称不包含于作战领域知识库的情况。本文基于字段相似度匹配算法,对其进行查找匹配。
使用经典 Levenshtein 算法用于武器装备数据的字段相似度匹配,采用编辑距离衡量字段相似度。编辑距离定义为两个字符串进行转换所需的最少编辑次数。该算法的相似度计算公式为: i m sim n m (2) 其具体原理为:记字符串 t 的长度为 n ,字符串 s 的长度为 m , n m , k n m ,前 m 个字符存在 i 个相同的字符。若使用 m i 个字符替换操作,能够使得字符串 t 的前 m 个字符与字符串 s 完全相同。之后对 s 字符串进行编辑,进行 k 次字符插入,最终其与 t 一致。该流程下编辑距离表示为: m i k m i n m n i 可得 m n n i m i ,则最终求得式(2)。
从实际操作出发,字符替换可以视作删除、插入两步操作,因此若对上述算法进行加权,将删除、插入操作的 cost 视作 1,将替换的 cost 视作 2 [11]。如此得到改进后的字段相似度计算公式为: 2i sim n m
2.4 作战行为映射匹配
结合知识库中作战行为术语的具体特点,本文采用 Jaro-Winkler 算法用于计算作战行为本体之间的相似度[12]。
Jaro–Winkler Distance 是一种计算两个字符串之间相似度的算法,适合计算两个较短字符串之间的相似度。Jaro Distance 算法计算公式为: 1 2 1 3 j m m m t d s s m 式中, j d 为两字符串的 Jaro 距离; m 为两字符串完全匹配的字符数; 1 s 与 2 s 为待匹配字符串; 1 s 与 2 s 为待匹配字符串的长度; t 表示所需换位的字符对数目。
Jaro-Winkler 算法在此基础上,给与起始部分相同的字符串更高的分数,通过对常量 P 的定义,调整前缀匹配的权值。其计算公式为:d d L P d w j j 1 式中, w d 为计算得到的语义相似度; j d 为两字符串的 Jaro 距离; L 为完全相同的前缀字符串长度; P 是一个调整前缀匹配权值的范围常量。
经 过 调 参 测 试 , 本 文 确 定 P 0.1 时 的 Jaro-Winkler 算法,用以进行作战行为映射匹配。
3 作战体系仿真想定生成方法
作战体系仿真想定智能生成部分,需通过对作战体系概念模型数据类型与作战体系仿真想定描述模块的对应关系的探究,明确作战体系仿真想定规范文件的生成流程。
根据仿真推演平台导出的想定标准格式,可整理得到作战体系仿真想定的标准文件模板。依据本文所分析的作战体系概念模型数据、仿真想定内容,对想定生成过程中涉及的数据节点进行整理。表 2 展示了数据含义与所在节点的对应关系。
基于已有的作战体系仿真想定标准模板,在具体实现方法上,本文采用 C#语言作为开发语言,以 Visual Studio 2019 编译器为基础,归纳作战体系仿真想定生成的实现流程如下:
① 依据仿真想定标准模板文件,调用 DOM 技术[13]进行对象节点构建;
② 按照模板文件具体格式规范,将匹配完成的武器装备、作战行为数据,整合读取后未经匹配的其他类型作战数据,插入指定的对象节点中;
③ 重复步骤①至②,直至构建完成仿真想定中全部对象节点,至此形成仿真想定完整 DOM 树;
④ 通过对 Xml 库的调用,将 DOM 树进行逆向生成,得到.xml 格式规范的作战体系仿真想定文件,导出至指定路径;
⑤ 将作战体系仿真想定文件输入已有的作战仿真推演平台,验证想定生成结果是否可运行、符合设计结果。
4 仿真想定生成实例及验证分析
为验证映射流程,选择编队突袭防御体系,读取其作战体系概念模型进行验证。
首先通过编写好的 SWRL 规则库,调用推理机,对知识库中已有组合模型本体进行语义层面推理,得到任务本体组合关系、子任务先后次序关系的推理结果,如图 5、6 所示。
将概念模型作为智能映射算法输入,得到相似度计算结果如表 3 所示。
通过人工操作,将平台推荐的高波级驱逐舰匹配目标 052C 改为基隆级驱逐舰。
对于待匹配作战行为“空中目标拦截”,选择知识库中已有组合模型“空中目标拦截”作为匹配结果。对组合模型进行语义信息读取,并对分解后的原子模型进行映射,如图 7 所示。
至此,概念模型中的作战活动数据“空中目标拦截”被分解为“编队起飞-编队探测目标-编队巡逻 -编队空战-编队返航”本体行为序列实现,并通过映射算法匹配至合适的仿真模型组合,实现了仿真平台库内模型的组合重用。
利用实验室已有的作战仿真推演平台,对生成的仿真想定进行读取,得到初始态势界面如图 8 所示,证明仿真想定文件实现成功读取。进行仿真推演,作战态势符合情境,想定成功读取运行。
5 结论
本文基于本体理论建立了作战领域知识库,基于自顶向下思想构建顶层本体,设计网络爬虫建立作战行为同义词库,通过自动化添加方式对知识库底层本体加以完善。编写 SWRL 规则库,将对象属性中的语义信息推理得到本体层面的组合关系。设计智能映射算法,针对不同类型的待匹配数据,应用不同的映射算法,将本体关系映射至仿真模型的组合关系,实现模型的组合重用。最后,读取编队突防体系概念模型,经过语义匹配与组合推理,生成仿真想定,运用仿真推演平台读取想定,其运行结果符合情境,验证了本文映射流程的有效性、生成仿真想定的有效性。