面向军事条令条例的本体构建技术
2019-03-27邹烨翰冯旸赫程光权黄金才刘忠
邹烨翰 冯旸赫 程光权 黄金才 刘忠
现代作战对综合信息保障能力提出了更高要求.需要用一套标准的任务语言来应对作战任务的多元性和多样性,用科学的任务计划分解与生成方法来进行作战任务的描述与量化.其相关军事条令条例为部队提供了执行任务的分级列表及任务定义,是指挥官、参谋人员的一种通用科学的描述作战任务的语言和参考标准能用来确定达成使命的能力需求.
本体是知识管理和组织学习的重要组成部分,它形式化地定义了领域内共同认可的知识[1].目前已经成为知识工程、知识表示和自然语言处理在内的诸多领域研究的热门课题.最近的几年中,许多领域的本体库,如医学领域、制造业领域、科学领域的本体构建成为热门.而军事领域,特别是军事条令条例方面的本体库知识库的构建研究还是空白.以对美军联合作战任务清单进行本体构建为例,将本领域内分布广泛,由不同方法描述的知识规范化,是用自然语言处理技术和知识表示技术构建其领域知识图谱的必要工作.为指战员能够高效理解学习美军联合作战条令条例,智能化处理和应用领域内知识提供了基础.
本文将基于任务的形式化描述,针对基于对方行动情报提出一种针对军事条令条例领域的本体构建方法.对联合作战任务清单中出现的结构化、半结构化和非结构化数据进行本体构建.结构化与半结构化数据是作战条令条例中的标题、表格等数据.非结构化的数据,如纯文本,还需要运用自然语言处理(Natural Language Processing)去除冗余信息,使构建好的领域本体实现对领域概念和领域关系的高度覆盖.
1 应用背景与研究现状
在信息化联合作战的条件下,对手的行动与任务往往是相互关联,紧密配合的.通常一个使命会由多个任务去达成,而任务又包含不同的行动,有各自不同的目的.而我方在大多数情况下只能搜集到对方部分零散的有关行动的情报信息.仅对单个行动或者军事实体进行情报分析可能难以获得有效信息,也很难快速分析出对手的关联行动、任务、军事实体以及对手行动和任务的目的.
由于美军的联合作战任务清单是其联合作战的指导性文件[2].其联合军事行动必然遵循任务清单中的规则与要求.这为我们分析挖掘出其行动、军事实体和任务要素之间的联系,理解其作战流程与规则,从而能根据情报片段查询相关信息提供了可能性.将联合作战任务清单文本中的作战规则、任务描述、关系网络等信息整理为机器可以理解的语言.从而挖掘其潜在信息,构建联合作战任务清单知识图谱,能够为我方情报分析、意图识别、辅助决策等军事智能研究提供重要技术支撑.
在领域文档本体构建研究中,Mirna El Ghosh等[3]利用本体学习工具、自然语言处理技术的知识提取方法从法律文本中提取领域特定的本体元素,构建了一个黎巴嫩法律知识系统的法律领域本体.Merlin Florrence Joseph 等[4]针对开发多语言本体的问题提出了一种“六步迭代”的方法.通过开发著名的泰米尔语Tulukkar 的多语言本体应用来进行实验.实验结果表明,该方法可以开发多语言本体,从多语言本体中检索语义知识.Blfgeh 等[5]对领域专家知识Excel 表格格式的数据提出了一种本体转化方法,并构建了描述免疫细胞系的本体.
为了能够适用于该本体的应用目的,本文在构建联合作战任务清单本体时应遵循以下原则:
1)本体概念类及属性应当围绕联合任务来定义.
2)有关任务目的、行动、评价等概念的实例应当具有完整的表达语义,抽取的粒度应当合适.
3)有可扩展性.不仅要使用联合作战任务清单内的词汇,而且还要考虑本体向战术条令条例、军事武器装备上扩展的可能性,使得本体的表达能被单调地扩展.
2 本体构建
2.1 本体构建的方法
本体构建的方法根据所要依据本体的应用领域的不同而各不相同[6-7].通过参考和分析通用的方法,如斯坦福大学基于Prot´eg´e工具提出的“七步法[8],美国空军提出的IDEF5 方法[9],以及针对商业领域构造虚拟企业本体的TOVE 法[10],采取的构建步骤如图1所示,为:定义本体范围;获取领域知识;定义概念类、关系和属性;创建本体实例;验证本体.
在本体构建工具上我们选择斯坦福大学基于Java 语言开发的开源工具Prot´eg´e[11],因为其免费下载、支持中文,而且可生成可视化的直观图而广受欢迎.选择Prot´eg´e Desktop 5.2 版本作为建模工具.
2.2 确定本体范围
研究对象的范围是美军联合作战任务清单中所有概念、关系、函数、公理和实例.考虑到该本体模型向其他条令条例、军事武器装备领域上的可扩展性,在创建概念类的时候,将为涉及到这两个领域的概念创建类.但这些类的实例均来自于美军联合作战任务清单文本.
本研究的作战任务是指美军联合作战任务清单中定义的作战任务.在美军的联合任务体系中,任务清单按国家军事任务战略层次、战区任务战略层次、战区任务战役层次、战区任务战术层次等战争层次分4 个部分组成[12].具体每项任务都有各自的代码以反映其在这个结构中的位置,如图2所示.在战役任务层次,联合作战任务清单包括实施战场输送和机动、实施情报、监视与侦察、使用作战火力、提供作战后勤支援和人力支援、作战指挥与控制、负责作战部队的防护等6 项任务.每一个主任务下又有其相应的子任务.例如,在使用作战火力中,又分为联合部队对任务进行选择与打击、攻击作战任务、在联合作战区内实施和平行动3 个子任务.
对于每一项任务,任务清单除了规定了任务名称外,还会以章节号表明任务间的从属关系.例如在任务“使用作战火力” 中,任务“联合部队对目标进行选择与打击”、“攻击作战目标”为其子任务,而任务“确定打击目标”则为“联合部队对目标进行选择与打击”的子任务.每项任务会有一段文字描述,根据任务的类型、涉及的内容的不同,描述内容会有所不同.在任务的描述之后会列出该任务涉及的参考文献.每项任务最后会有一张表格,列出该任务的评价指标,用以全方位评价该任务的完成情况.
2.3 获取知识定义
联合作战任务清单的作用之一是为其使用者提供一种用来交流任务需求的共同语言和通用基准系统.在文本中对其涵盖的专有名词、术语和关系都有清晰的定义.文本的第一章首先定义了联合任务、战争的层次、任务与战争层次、战争层次与军事力量的目标之间的关系、战争层次与战区结构的关系、任务联系等与联合任务有关的概念.然后定义了评价标准、衡量尺度等围绕联合任务展开的概念.
图2 战争层次与任务的关系
其中如何定义和描述联合作战任务是该本体构建研究的一个核心问题.在军事领域,目前关于作战任务的概念可以分为两类,第一类是在任务空间概念模型中对作战任务的描述,从预期作战应用的角度,强调任务执行的具体过程,体现为作战使命的组成部分; 第二类是通用联合作战任务清单中对作战任务的描述,从执行主体的角度,强调任务本身是一种能力,由执行任务的作战单元决定,用以确定达成使命的能力需求[13].依据本体的应用背景,选择以第二类作战任务概念模型为基础,结合第一类概念中关于任务的主要因素的定义,将作战任务形式化定义为以下九元组:
Task= <Name,Action,Aim,Type,Characteristc,Standards,Relation,Entity,Reference>
其中,Name 表示任务名称;Action={act1,act2,··· ,actn}表示任务包括的行动集合;Aim={aim1,aim2,··· ,aimn}表示任务的目的集合; Type 表示任务的类型,任务类型根据任务职能划分有:指挥与控制任务、情报任务、火力任务、运动和机动任务、防护任务、支援任务; 根据任务层次划分有:国家战略任务、战区战略任务、战役任务、战术任务、军种任务;Characteristc 表示任务的特征,有时间特征、空间特征、信息特征; Standards={sta1,sta2,··· ,stan}表示任务的评价指标集合;Relation 表示关系集合;Entity 表示在任务描述中出现的军事实体;Reference 表示任务涉及到的参考文献.
2.4 定义概念类、关系和属性
由于围绕任务产生的定义、概念和关系众多,将文本中的哪些实体归为一个类,哪些作为概念是一个值得研究的问题.本文分别从任务与任务之间、任务与其他实体之间、其他实体与其他实体之间的关系进行研究,以达到既准确描述又符合应用需求的目的.
每个联合任务都归属于4 个战争层次中的一个,而任务又根据任务职能划分了6 个类型[14].根据本体的应用场景,战争层次决定了任务的行动层次、目的层次、指挥层次,对于分析判断联合部队行动的规模、可能采取的手段、实施行动的目的至关重要.任务的职能分类代表了任务的类别,仅仅涉及任务功能上的作用,能够为任务间构建跨层次的联系提供参考依据.因此,我们将任务根据战争层次划分为“国家战略任务、战区战略任务、战役任务、战术任务、军种任务”5 类,而将任务的职能类型作为任务的属性.
任务说明中提及的相关行动与任务目的也依附于任务而存在.在不同的战争层次中,相似任务包含的行动的语义如果相同,其含义往往是一致而明确的.而对于目的,其任务的层次决定了目标的层次,即使目的描述在语义上是相同的,其实际意义也是不同的.例如:国家战略任务“进行战略信息的技术处理与利用”与战区战略任务“进行技术处理和充分使用”中都有“文件翻译”、“数据转换”的行动.它们语义与含义是一致的.战区战略任务“建立战区兵力和手段安全程序”与战役任务“为作战部队和设施提供安全”都有目的“增强行动的自由”,而增强行动的对象范围和层次都不相同.因此,我们将所有行动都分为一类,而任务目的的类下有根据任务层次划分的3 个子类.
对于任务的评价标准,以表1为例,国家战略任务“制定国家战略情报收集计划” 下有3 条评价标准,每条评价标准有其对应的单位.由于评价的单位只与本条标准有关,因此单位作为评价标准的属性.
表1 任务“制定国家战略情报收集计划”评价标准
2.5 任务的关系
在美军联合作战任务清单中,任务与任务之间的关系分为了半结构化的显性关系和非结构化的隐性关系.文本中通过章节号表明了任务间的从属关系,即父任务与子任务的关系,以及有共同父任务的兄弟任务关系.而由于不同层次的任务间在其目的、特征、相关实体上产生的相似性或关联性而推断出任务之间的关系我们称之为隐性关系.这些关系包括“相似任务”“关联任务”.
所有任务以外的实体均与任务之间由特定关系相连.在文本半结构化的数据中,参考文献与任务评价标准的各项指标与任务之间构成了“参考”关系和“评价”关系.在非结构化的任务描述中,一项任务的说明往往有固定的句式,例如:“这项任务通过···(行动)···,以达成···(目的)···.”; “该任务包括···(行动)···.” 这实际上说明了任务包含的行动、将达成的目的、拥有何种特征、与哪些军事实体相关等等关系.
2.6 实例创建
使用Prot´eg´e 软件,在Classes 的Class hierarchy中添加子类.共分有“任务”、“军事实体”、“参考文献”、“特征”、“目标”、“行动”、“评价标准”几类.其中“任务” 类下有“联合任务”、“军种任务” 两个子类,“联合任务”下有“国家战略任务”、“战区战略任务”、“战役任务”、“战术任务”4 个子类.“军事实体”下有“部门”、“人员”、“装备”、“设施”、“系统”、“组织”子类.“参考文献”下有“参联会主席手册”与“联合条令”两类.“特征”类下有“时间特征”、“空间特征”、“信息特征”3 类,如图3所示.
在Prot´eg´e中,属性分为数据属性(Data Property)和对象属性(Object Property),对象属性是指两个实体之间的关系,数据属性是表示实体与数据值之间的关系.其中对象属性有:连接任务与特征的关系“任务在”、“任务适用于”; 连接任务与目的、行动和参考文献的关系“任务目的是”、“任务行动有”、“参考文献有”; 连接评价标准与任务的关系是“评价任务”; 连接任务之间的关系有“子任务是”、“关联任务”、“相同任务”.数据属性有:“任务类型”、“任务描述”、“单位”,如表2所示.
在本体类的实例(individual)匹配中,根据文本结构特点,将文本数据分为半结构化和非结构化数据分别处理.对于半结构化数据,例如任务名称及其层次与从属关系、评价标准及单位、参考文献均属于有特定格式、表格或特殊符号表示的数据.可以采用半自动化分类抽取.对于非结构化数据,主要采取标示词提取完整语义的句子.利用“结巴分词”软件提取军事实体名词.
如表3所示,国家战略任务“协调全球战略加油”任务描述为“协调加油以便:1)使战略部署飞机尽量不依靠在外国的着陆权而抵达目的地; 以及2)增加实施空中战略行动的飞机的航程、飞行时间和有效载重.它也包括在海上对正在执行战略任务和进行战略部署的舰船与护航运输队实施补给(加油).” 根据文档描述特点,利用“以便”、“以”、等指示词,可以定位提取出一个句子中表示行动和目的的语义字段.而通常提示词“包括”既可能代表任务包含的行动的提示,又可能代表军事实体之间的包含关系,此处需要人工识别.
图3 联合作战任务清单本体类关系图
表2 对象属性表
图4 本体实例与关系统计
3 本体推理验证和评估
3.1 本体的推理验证
为了使创建好的联合作战任务清单本体在概念层次上清晰,避免内部存在的冲突,需要对初步构架的本体解析后进行推理.使原有的层次关系被更新成为一个新的符合限制条件的层次关系,保证构建的本体的准确性.本体推理的任务之一是保证本体的一致性,也就是要本体满足领域本体中的公理的集合[15].本文研究的本体涉及两种关系的公理,分别是SubClassOf 和DisjointWith.
SubClassOf 用于指出类之间的类属关系,对于类Ci(i= 1,2,3,···,n),SubClassOf (C1,C2)表示C1是C2的子类.其涉及两条公理.
公理1 (传递性)SubClassOf (C1,C2)∧SubClassOf(C2,C3→SubClassOf(C1,C3).
公理2 (非循环性)SubClassOf (C1,C2)∧...∧SubClassOf(Ci,Ci+1)...∧SubClassOf (Cn,Cn+1)=False.
DisjointWith 表示两个类没有交集,对于类Ci(i=1,2,3,...,n)DisjointWith(C1,C2)表示C1和C2是互不相交的.如果两个类在逻辑上不相交,那么它们的子概念或等价概念之间在逻辑上也是不相交的.
公理3 (传递性)DisjointWith (C1,C2))∧(Sub-ClassOf (C4,C2)∨Equivalent Class (C4,C2))→DisjointWith(C3,C4).
如果本体构建在语法上产生了错误,违背了OWL 的描述规则,例如:类的子类不是类、子类关系产生了循环继承;或是语义逻辑上出现了错误,如违背了公理3; 在领域本体中,违反了自定义的规则,我们都认为它违反了一致性.我们使用prot´eg´e的ELK0.4.3 推理机对本体进行了一致性检测,出现了一例报错,其解释是在互不相交的“时间特征”和“空间特征”两类中有共同的实例,如图5所示.经过修改后,一致性检测通过.
图5 一致性检测报错与解释
3.2 本体评估
本体评估是评价本体在特定应用领域或特定环境中的性能和适用性,是影响本体是否能在语义网中应用的一个重要影响因素.目前本体评估没有一个统一的标准和方法.本文根据联合作战任务清单本体的结构特点和应用特点,主要从结构、功能和可用性3 个维度进行评估[16].
1)从结构维度上看,该本体的结构较为简单,概念类的类关系、公理以及实例均通过一致性检查.
2)从功能维度上看,经过本体类实例匹配后,我们依照具体的应用需求和目标来评估本体.[17].根据原文本实体抽取的结果,我们选取实例匹配覆盖率作为本体评估的指标,如表4所示.其计算方法与结果如下:
其中,TP为实例匹配后的实体样本或关系数量,FN为人工检查出来应当属于却没有匹配的本体实例的实体样本或关系数量,S为全文档的分词后实体样本或关系数量.
3)从可用性维度上看,该本体在其预期应用场景下,以简单有效的结构对接需求.在功能的拓展性上,该本体预留了向其他军事条令条例、军事武器装备、作战手册等领域扩展的“接口”.我们将编辑本体说明文档,以方便用户了解、使用、维护以及复用该本体.
表4 评估指标
4 基于本体的规则推理
本体构建完成之后,其推理除了计算本体类层次关系、概念一致性的检测、本体实例合法性检测以外,还能够使用自定义规则进行规则推理.
对于规则推理我们使用答案集编程(Answer Set Programming,ASP),它是一种主要面向解决NP-hard和搜索问题的声明性编程形式.作为非单调推理在知识表示中的应用,ASP 在知识密集型应用中尤其有用,采用ASP 系统clingo 实现推理,首先编辑规则库,每条规则由主体(body)和头(head)组成,每条规则都有一个主体和一个头,例如表示子任务关系的传递性规则:[rule1:子任务是(A,C):子任务是(A,B),子任务是(B,C).],其中规则的主体为:子任务是(A,B),子任务是(B,C),头为:子任务是(A,C),也就是说有所有的主体可以推出头.
根据对本体实体关系的理解以及应用的需要,如表5所示,我们制定了11 条推理规则主要对“子任务”、“关联任务”、“关联实体”3 种关系进行推理.其中公理代表了关联关系的对称性.绝对规则代表一对事实(三元组)符合条件即相关实体构成关系,而对于加权规则Rule8 ~11,必须同时满足两条规则及以上的关系才能构建关系.推理流程算法如图6所示,首先让事实集与公理集进行推理,其结果分别与绝对规则和加权规则集进行推理后再减去与公理推理结果T1重复的事实.对加权推理结果T5进行筛选后即与T4进行合并得到最终结果,新的关系(对象属性)增加对比情况如图7所示.
表5 推理规则集
图6 推理流程图
图7 推理关系增加结果
5 结论
使用本体技术构建美军联合作战任务清单本体模型,对其一致性进行了检查,做了初步的评估,最后完成了基于自定规则的推理,完善了本体的内容.也为同类型的与任务相关的军事条令条例本体的构建提供了一个参考.由于本文构建的本体将应用在后续的知识图谱构建上,其有效性与合理性将得到进一步评估并更加完善.