利用系统人机交互接口,将专家提供的目标类型及属性信息输入至知识库中,知识的描述方式采用产生式规则,部分如下:
A、B、C为目标特征信息的前件,M、N为目标的后件。如规则一,前件A和B同时存在,则可推理出后件M;规则二,前件C和后件M同时存在,可推理出后件N;规则三,前件A、B和C同时存在,则可推理出N。
信息的前件由目标特征信息,如速度、外形特征等构成,后件由目标类型及属性构成,如装甲类目标、飞行类目标等构成。
目标信息的前件和后件分开存储,通过构建前件和后件的映射关系实现两者的信息关联。对于前件向后件映射过程中,可能存在同一前件对应多个不同的后件,对此冲突关系,采用优先级策略,即先推理到的后件即为最优后件,忽略后续映射关系。
通过系统的情报接口获取情报信息后,对该信息进行处理,具体如下:
2) 若1)匹配成功,则表明该条情报信息存在目标信息,须对该条情报进行标记,并做分词处理;
3) 若1)匹配不成功,则表明该条情报不包含目标信息,不处理;
4) 对2)中分词处理方法是:利用知识库中的前件、后件信息与情报信息进行匹配,若匹配结果同时包含前件信息和后件信息,则将该条信息作为目标特征知识扩充到知识库中,并形成前件与后件的映射关系。若匹配结果仅包含前件信息,则表明该条情报信息需要专家系统进一步推理得到后件(结果)。
语义识别的关键是对文本的快速匹配。指挥信息系统中,系统接收到的情报特点是单条情报字节数均不多。但是,语义库和知识库中均包含数目较多的词条信息,为实现两者间的快速匹配,采用字符串快速匹配算法以提高匹配效率。
算法思路:通过将特征词分解成单字符,由该单字符与情报进行比较,确定单字符在情报中的具体位置,再进行其他字符间的匹配,确保在失配时,特征词能跳过尽量大的距离,减少不必要的匹配。算法流程如下:
1) 设特征词为C,长度为m,情报为B,长度为n。令0≤i<m,0≤j<n;
3) 若m=n,则C[i]和B[j]逐一比较,两者相等则匹配,否则不匹配;
4) 若m<n,记录C[m-1]在B[0]至B[n-m-1]中出现的所有位置,构成位置序列P[k];
5) 分别将C[m-1]与B[P[k]]对齐后,对其余字符从左至右逐个匹配,若匹配成功,则返回True,若不成功则跳转下一个P[k]位置,重复步骤5)。若始终无法完全匹配,则返回False。
6) 返回值为True时,表明该特征词在情报中;反之,则该情报不含该特征词。
如上所述,情报信息不限于情报报文信息,亦包括经过格式化转换后的传感器系统信息等。
根据语义识别相关方法,若情报同时含前件及后件信息,利用语义识别将前件和后件信息提取出来,扩充到知识库中,并增加前件与后件的映射关系,从而实现目标识别系统知识库的不断扩充,使之更加贴近作战应用需要。
一般知识推理系统其知识结构往往是固定的,不具备在线扩充和自学习能力[2],导致大量系统输入输出数据无法有效转换成作战知识。而本目标自动识别系统通过知识库的自学习扩充机制,可在一定程度上增加并完善系统的知识库,减少系统使用维护人员手工构建知识库的工作量,从而增加系统推广应用的可能性。
正向推理由专家系统推理机实现,该推理机作为系统一个独立的功能模块,与知识库是分开设计的。启动正向推理的触发机制有如下2种。
1)若情报信息经语义识别、分析,发现仅含有目标前件信息时,则触发推理机进行正向推理,如图2流程①;
2)若指挥控制人员人为输入目标信息前件时,则亦触发推理机,如图2流程②。
1)读入目标特征信息事实facts=(F1,F2,…),通过数据总线访问目标知识库前件forwards,在知识库规则rules=(R1,R2,…)中查找符合facts与forwards相匹配的规则R1,再把R1后件中不在facts中的后件结论M=(M1,M2,…)中与之匹配的M1添加到facts中,扩充事实facts为facts=(F1,F2,…,M1)。若存在一条可用的知识库规则Rx,且Rx的前件也在当前的事实facts中,则采用冲突消解策略,如前文所述的优先排列的规则,即同时有多条规则满足匹配条件时,则在知识库映射规则rules中选择第一条作为匹配规则。
2)对扩充后的事实facts在知识库rules中查找可用规则,当找到规则R1时,由于R1的后件结论M1已在facts中,故此时忽略规则R1,继续查找符合要求的规则R。当遍历到规则Rx符合要求时,判断Rx的后件结论M是否在当前facts中,若在,则忽略,若不在,则将其后件结论M2添加到facts中,扩充当前facts为facts=(Fx,Fy,…M1,M2)。
3)在知识库rules中查找符合当前扩充后facts的规则,若规则Ry的前件在facts中,则表明Ry是可用规则。当Ry的后件结论在facts中时,则忽略该规则,若Ry的后件结论H1不在当前扩充后的facts中时,则将规则结论H1扩充到facts中,使得facts=(Fx,Fy,…M1,M2,H1)。
4)不断在知识库rules中查找符合当前要求的facts规则,直到找不到规则的前件forwards所包含的全部条件与facts相匹配,且rules中的后件结论亦不在facts中。至此,正向推理结束。
5)目标信息推理的结果为rules的后件结论。该结论包括目标类型或目标属性信息。
如图5所示,正向推理功能模块由面向对象的结构化编程语言C++编写,主要包括七个功能函数:1个推理函数,1个调用函数和5个判断函数,各函数功能定义如图5所述。
通过上述5个步骤,目标自动识别系统在后台基本完成了针对某个或多个目标特征信息的推理,并生成目标类型和相应的属性信息,为确保目标识别系统的可靠性和准确性,必要时可采用人件服务的理念[3],由指挥人员对推理过程进行核查确认,最终确定目标类型。
实际应用时,目标推理结果可以和情报信息关联,当打开情报信息时,系统便会自动给出推理结果,辅助于指挥控制人员对目标信息的处理,提高知悉信息的能力,为辅助决策提供支撑。