自然语言空管指令交互接口研究

2023-10-10 01:57刘鹏宇朱雪耀王跃萍
测控技术 2023年9期
关键词:文法规约空管

刘鹏宇, 朱雪耀, 王跃萍

(航空工业西安飞行自动控制研究所 飞行控制系统部,陕西 西安 710065)

近年来,随着航空技术的快速发展,军用、民用和消费级无人机均迎来爆发式增长,对空域资源的需求也日益增大。考虑到安全、技术和管理等因素,目前无人机仅限在隔离空域内飞行,美国联邦航空管理局(Federal Aviation Administratian,FAA)和欧盟认为对无人机进行严格的空域隔离会在很多时候阻碍任务的开展[1],制约了未来无人机在任务模式和使用场景的拓展,因此,无人机融入非隔离空域将成为未来的发展趋势。

安全性问题是阻碍无人机进入融合空域的首要问题。2003年至今,美军已发生数十起无人机和有人机的飞行冲突事故[2]。现阶段,我国的研究大多着力于丰富无人机的功能和提高无人机载荷,对无人机融入空中交通管理系统的针对性研究较少。尽管无人机已具备初步的避障功能,但灵活性和超前性较差,无法保证融合空域的航行安全。因此,在可预见的未来,无人机仍须听从空中交通管制员的指挥。

传统方法依靠人来完成指令理解和交互过程,即“人在回路”模式[3]。空管员将指令发送至地面站,由地面站的管制席接收指令,驾驶席根据理解对无人机实施操纵。这种管控方式虽可达到目的,但也存在一些问题。首先,指令要经多次传递,管控效率较低;其次,大型地面站的无人机操作员面临多机多任务并行操作,指令接收频繁,可能造成混淆和执行偏差;最后,空管指令具有专业性,地面站通常需要配备专业驾驶员,人力成本高昂,无法进行大规模推广。

基于以上原因,无人机亟须具备对指令自动形成可靠认知并做出反馈的能力。自然语言接口是自然语言处理的有效应用之一,可以在限制领域内使用自然语言与计算机形成交互,指控计算机完成特定任务。

国内外对于无人机语言指令控制已有相关研究。杨百翰大学的研究人员开发了基于语音和手持平台(Personal Digital Assistant,PDA)的无人机控制接口[4],取得了良好的性能,但语音指令集范围较窄,且不具备自然语言的灵活性。斯坦福大学语义计算学实验室对无人机的自然语言制导进行了研究[5],但语句内容偏向于任务指派,未涉及空管指令。国内方面,国防科技大学的闫晔[6]采用基于任务领域语法设计了无人机指令理解系统,对任务级指令的理解准确率达到82%,但研究同样仅面向任务级指令。

以上研究均针对任务层面,缺乏对无人机飞行过程中的飞行级指令研究,本文将设计面向动作级英文空管指令的无人机自然语言接口,针对空管指令的特点借助自然语言处理方法设计了一套分析规则,并模拟空管交互场景搭建了人机对话所须的对话管理和回复生成模块,实现无人机从指令识别、指令执行到执行反馈的全流程自动化,提升无人机在人因作用环境中的运行能力,为无人机进入非隔离空域提供关键技术支撑。

1 自然语言接口框架

自然语言接口是以执行飞行任务为核心的交互系统,因此其框架和任务型对话系统类似,由语音识别、指令解析、对话管理、答复生成和语音合成5个部分组成[7],如图1所示。

管制员发出语音指令经语音识别模块识别为指令文本,指令解析模块识别指令意图并提取指令参数,将识别结果填充到规定的指令格式中进行格式化,对话管理模块负责维护对话状态并与无人机控制程序进行交互,结合管制指令、执行情况和当前状态确定对话策略,答复生成模块依据策略调用对应模版,最后经语音合成反馈给用户。

在5个模块中,语音识别和语音合成技术已较为成熟,能够满足系统需求,故不作为本文研究对象。本文重点研究指令解析、对话管理和答复生成3个部分的实现方案。

2 指令解析

2.1 文本预处理

要对指令进行理解,首先需要对语音识别得到的文本进行预处理。预处理过程主要包括特殊表达转换、词形还原等步骤。

不同于日常用语,空管指令为避免混淆、保证飞行安全,对数字和字母的表达有一套特殊规则。例如,“2121”读作“too wun too wun”,“12500m”读作“wun too thousand fife hundred meters”,“ZBAA”读作“zulu bravo alpha alpha”等。常规的语音识别系统仅能输出对应文本,不利于后续的匹配工作。因此,本文按照MH/T4014—2003《空中交通无线电通话用语》[8](简称《用语》)的规定对文本中的特殊表达进行转换。

正则表达式(Regular Expression,RE)是处理字符串的有利工具,可以方便、快速地查询到与给定模式匹配的字符串。这里编写能够匹配上述特殊表达的正则表达式为

pattern=((zero|wun|too|…|niner|dayseemal|hundred|thousand)|(alpha|bravo|charlie|…|yankee|zulu))+

式中:“+”为匹配前面的子表达式一次或多次;“|”为“或”关系。查找时使用Python中的re.reseach方法查询符合匹配模式的第1组字符,替换时使用re.sub方法将指定字符串替换为对应数字或字母。需要注意的是,“hundred”替换“00”,而“thousand”应根据文本替换算法框图进行替换,如图2所示。

图2 文本替换算法框图

英文表达过程中会区分时态和语态,但管制员在实际表达时未必严格遵循相关语法。为方便处理,统一将其还原为对应词根。使用Python中NLTK库自带的lemmatize方法对指令文本中每个词进行处理。词型还原示例如表1所示。

表1 词型还原示例

2.2 指令文法设计

要正确执行管制指令,明确指令意图、获取指令参数,此过程可以看作对自然语言的理解。目前解决这一问题常用的方法有规则匹配、句法分析和深度学习等[9]。空管用语作为一种半人工语言,具有结构简洁、语义精确、语言程式化的特点[10],且《用语》要求飞行员对指令做到准确理解、快速响应。综合以上分析,这里采用规则匹配法进行指令解析。

Chomsky定义形式语法G为四元组[11],G=(VT,VN,S,P),VT为终结符,VN为非终结符,S为VN中初始符号,P为产生式的规则集。根据产生规则的不同可将形式语法分为4类。当P中规则满足形式:A→β,其中A∈VN,β∈(VN∪VT)*,称该文法为2型文法或上下文无关文法。

通过对大量空管指令的分析和规律总结,将指令意图分为20类,如表2所示。

表2 指令意图分类表

根据类别分别设计文法,为保证解析器性能,设计时应尽可能多地考虑该类别的常用语句。例如,高度类指令的文法设计如下。

Grammar of Height:

::=|

::=(|)

::=(|)

::=

::=air china|china eastern|china southern

::=

::=maintain

::=|

::=(climb|descend) to

::=(climb|descend) to and maintain

::=(||)

::=(|)

::=flight level

::= (meters|feet)

::=

::=

::=

::=

::= (VOR|DME)

::=departure|takeoff|land|vacate

::=1|2|3|4|5|6|7|8|9|0|.

::=A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z

经过验证,本文所设计的文法可涵盖空管指令的大部分常用句型,能够满足无人机在融合空域的基本管制需求。

2.3 解析方法

建立各类指令的文法之后,对指令的解析实际上可看作确定指令所匹配的文法类别并识别出指令中有意义的非终结符字段的过程。依据文法的分析算法很多,大致分为自顶而下分析和自底而上分析2种算法[12]。自底而上算法能够避免大量回溯,在计算实时性上具有优势,本文借鉴了自底而上的移进—规约思想设计匹配算法。

解析算法流程如图3所示。首先,将指令单词从左向右依次移入后进先出栈中,每移一次就判断栈中的单词组是否构成了某个产生式的右部;如果匹配,则将匹配部分出栈,对应的产生式左部非终结符入栈,即为一次规约操作;随后继续检查栈中内容可否规约,如无法规约则重复上述操作,直到指令提取完毕;此时若栈中仅剩初始符,则该指令匹配成功,类别为初始符代表类,否则,匹配失败,指令无法识别。

图3 解析算法流程图

需要注意的是,在规约操作前应将规约式右部进行保存,便于有意义规约式的内容提取工作。这里采用分析表的形式进行保存,规约分析表如表3所示。每进行一次规约,就取该规约所包含词的最小开始位置和最大结束位置填入。当需要提取参数时,可直接根据规约表的位置信息从输入指令中截取。

表3 规约分析表

2.4 指令格式化

尽管空管指令的句式措辞较为灵活,但对于具备专业知识的飞行员来说,所接收到的信息是固定的[13]。实际上,飞行员在潜意识完成了信息的理解和格式化工作。在自然语言接口中,为后续指令交互及指令码转换操作方便,需要将自然语言指令的解析结果格式化地表示出来。这里将规范格式划分为两部分:一是所有指令均需要的执行约束部分,决定了指令执行的时间、地点和条件,若指令无执行约束,则该部分内容全部缺省,系统将按默认立即执行;二是指令参数部分,这部分设计需要依据无人机执行不同类别指令实际调用的控制函数进行合理选取。需要注意的是,参数单位应和无人机控制系统使用单位相统一。

例如对高度类指令,无人机一般转换为控制端的“高度给定”指令实现。该指令为组合指令,需要目标高度值参数(m),部分型号的无人机还可设置爬升率或下降率。因此基本指令参数包括高度值和变化率,此外还需添加一个高度保持的布尔型参数,默认为假,当指令要求保持时置为真。综上,高度类格式化指令示例如表4所示。

表4 高度类格式化指令示例

当识别出指令所属类别后,根据每类指令的规范化表查找对应分析表,截取指令内容进行填充。

3 指令交互

3.1 对话管理

对话管理是自然语言交互接口的核心部分,负责推动整个交互系统合理、顺畅地运行。对话管理模块一般分为对话状态跟踪和对话策略选择2个部分[14],对话状态跟踪依据当前用户的输入和系统的反馈,结合历史对话状态确定当前的对话状态;对话策略选择依据当前的对话状态,通过预设的候选动作集选择系统的答复类型或执行动作。

对话状态跟踪的方法主要有:基于人工规则、基于生成式模型和基于判别式模型3类。后两类方法通过强化学习和深度学习等算法实现了特征或概率模型的自动提取,还能在一定程度上纠正语音识别和解析模块的错误结果,在面向日常生活的任务型对话系统中具有优势。但是,其训练需要大量数据集,且状态估计具有一定出错概率,在空管对话这种实时性和准确性要求较高的场景中并不适用。因此,本文选取基于人工规则中的有限状态机(Finite State Machine,FSM)方法进行对话状态更新,并模拟真实空管对话流程加入复诵机制以避免识别和理解错误引发的执行问题。

有限状态机用来描述对象在一个生命周期内的状态序列,以及状态间进行转移的动作事件,可以通过状态转移图来进行描述。定义对话状态包括:等待状态、复诵状态和执行状态。

对话策略选择的方法包括:专家手工制订、强化学习和深度强化学习等。采用简单实用的映射方法,每跳转到下一个状态,就有相应的动作被执行。其动作包括:指令复诵、指令转码和指令回复等。对话状态间的转移关系和每次转移应执行的动作如图4所示。

图4 对话状态转换图

系统平常处于等待状态,接收到管制员发送的指令后进行匹配,如匹配成功则进行复诵,同时系统进入复核态,否则视为无效指令,系统状态不变;系统复诵指令后,若管制员发出无效指令或取消指令,则系统返回等待状态,若管制员的更改指令有效,则重新匹配、复诵,直到指令得到确认或默认(设定时间内无回复),此时系统将指令翻译为对应的指令码送入控制端执行,系统进入执行态;无人机的控制系统判断执行条件后将指令加入执行序列或返回错误信息,交互系统得到控制端反馈或反馈超时后将执行情况报告给管制员,系统回到等待状态,一次交互周期完成。

3.2 回复生成

回复生成模块是根据对话管理模块确定的对话策略,结合当前掌握的指令信息或反馈信息,生成一个句法合法、语义准确的自然语言回复语句。目前,常用的生成方法包括:基于规则模板的方法和基于深度学习的方法。空管对话领域固定、内容受限、要求回复精准简练,基于规则模板的方法更为适用。

需要生成的回复语句主要分为复诵语句和报告语句。复诵语句按照格式化指令表生成,分为包含解析结果的主句部分和包含执行条件的状语部分;报告语句报告指令执行情况,例如执行失败则报告原因。每条语句后都应依照《用语》规范加上本机呼号。生成模板以填槽方式给出,经判断后选取适合的模板,在对应位置填写对应内容即可。回复模板示例如表5所示。

表5 回复模板示例

4 实验验证

语义解析的准确率是影响接口系统性能的关键因素。测试时,从每个类别选取20条指令输入系统,根据系统复诵结果进行人工判断,解析准确率如图5所示。

图5 解析准确率

从图5中可以看出,大部分类别的解析准确率都达到85%以上,approach、hold(air)和departure这3个类别准确率较低,原因是这3类指令普遍较长,语句较为复杂且有形式相似参数的并列情况,导致超出文法匹配范围或规约过程中产生歧义。

展示一条指令的解析和交互过程如下。

例如“AT200 contact Beijing control wun wun ait point six when reaching victor yankee kilo.”使用树结构表示其解析结果,如图6所示。交互对话示例如表6所示。

表6 交互对话示例

图6 解析结果树

可以看到,该交互系统对指令做出了正确的解析和回应,顺利完成了无人机的指控任务。

5 结束语

研究了面向英文空管指令的自然语言接口,建立了自然语言接口框架并制订了除语音处理外各部分的实现方案。根据空管指令的特殊性进行了针对性的预处理,分类编写了指令文法并设计了匹配算法对指令进行解析,将自然语言指令转换为格式化指令表。模拟实际交互场景基于状态转移图设计了对话管理模块,并编写了用于系统回复的自然语言生成模板。实验表明,该接口可以满足空中交通管制的基本交互需求,为无人机进入融合空域奠定了技术基础。

下一步工作包括以下3个方面的内容。

① 目前,设计的指令文法对于一些结构复杂的语句还无法匹配,后续应进行扩充和完善。

② 目前,接口系统中指令格式化和语句生成2个部分都需要根据不同无人机的特点订制,普适性和可移植性较差,需要进一步改进。

③ 由于空管指令复杂的声学条件和变化的语言条件[15],针对空管指令的语音识别系统也值得进一步研究。

猜你喜欢
文法规约空管
关于1940 年尼玛抄写的《托忒文文法》手抄本
民航空管2018年运行统计公报
乙醇蒸气放空管设置室内引发爆炸
电力系统通信规约库抽象设计与实现
一种在复杂环境中支持容错的高性能规约框架
一种改进的LLL模糊度规约算法
Similarity measurement method of high-dimensional data based on normalized net lattice subspace①
A nearest neighbor search algorithm of high-dimensional data based on sequential NPsim matrix①
文法有道,为作文注入音乐美
修辞的敞开与遮蔽*——对公共话语规约意义的批判性解读