李泽宇,李 磊,李煜祺,鲁兴河,王淑平,潘玉林
(1.中国电子科技集团公司第二十八研究所,江苏 南京 210007;2.解放军 32180 部队,北京 100072)
指挥信息系统是军队指挥的重要核心系统,在数据中心存储着大量的数据信息。但是现有的数据汇聚手段以及数据检索能力仍然存在严重的不足,各个信息之间的关联并不完整、手动输入检索的效率并不可观、操作模式单一且复杂[1]。故急需引入智能语音检索的方式并辅以知识图谱的构建研究工作[2],其中智能语音的检索主要包括语音识别和语义理解,前者主要是收集用户的语音信息并转换成文字信息,后者主要将文字信息中的有效信息提取出来用于后续检索。
知识图谱是一种知识表示技术,可以描述客观世界的概念、实体、事件及其之间的关系。实质上,知识图谱是一种可对任何事物以及他们之间关系进行细化描述的语义关系网络[3]。知识图谱又可以看作是一张庞大的图,图中的节点表示实体或概念,而图中的边则由属性或关系构成。目前,知识图谱在各领域中也得到了广泛的应用。
语音识别技术是一种实现人机交互中的技术,它的功能就是让计算机完成将信息从“声音”到“文字”的转换,通过将人的语音直接转换为相应的文本或命令[4]。从系统构成上来说,语音识别系统是建立在一定硬件平台和操作系统基础上的应用软件系统。从系统结构上来说,语音识别系统一般主要由预处理、特征提取、声学模型、识别解码、语言模型、识别结果处理等模块构成。对比传统的手动文本输入和手动命令点击,语音识别可更加有效、快速的完成文本输入和指令操作。
语义可以看作是数据所对应的现实世界中的事物所代表的概念的含义,以及这些含义之间的关系,是数据在某个领域上的解释和逻辑表示[5-6]。语义理解,也就是所谓的知道了一个词或一个句子的意思。它包含了两层含义:一层是能够实现不同符号之间的变换;另一层是能够进行推理。语义理解实际涉及的范围很广,内容很多,大致包括文本分类、要素抽取、语义理解、智能客服和机器翻译等领域。对比传统的检索方式,用户需自行分析总结关键词,而语义理解用户只需给出口语化的问答句式,大大简化了用户的思考,节省了时间,而且通过语音识别输入更加自然,达到人与计算机“交流”的目的。
总体架构如图1 所示,主要包括终端应用模块、语音识别模块、语义理解模块和数据检索模块。终端应用模块是语音问答系统在指挥信息系统中的具体使用场景,提供声音录制的入口以及获取数据的展示界面;语音识别模块负责实时监测并接收终端应用发送的音频信息,利用语音识别引擎进行模数转换,生成文本信息;语义理解模块提供http 服务接口,实时接收来自语音识别模块生成的文本句式信息,利用语义理解引擎将关键词信息提取出来;数据检索模块负责接收语义理解模块生成的关键词信息,通过对知识图谱数据库的访问获取用户实际期望得到的信息,最后返回终端应用显示在界面上。
图1 语音问答系统的整体架构图
语音识别主要提供一种语音操作代替手动输入的功能[7-8],更能适应实战中经常出现的颠簸的周遭环境[9],如图2 所示,通过声音的录入将声音信息转化成文本信息,具体实现方法如下。
步骤1:系统终端接收到操作者录制的音频后生成音频文件发送至语音识别服务端。
步骤2:服务端接收到音频文件后,对语音信号进行预处理(包括抗混叠滤波、预加重及端点检测等操作),以改善语音效果、提高语音质量。
步骤3:对预处理后的语音信号进行特征提取,将模拟信号转化为数字信号,便于计算机处理。
步骤4:特征提取后进行解码,根据训练好的声学模型和语言模型进行匹配,输出似然度最高的词序作为识别结果。
步骤5:服务端将识别结果生成文本信息返回给系统终端。
图2 语音识别模块
语义理解主要提供一种问答句式解析功能[10-11],能够将语音识别模块生成的文本信息与语义模板进行匹配,得到使用者关心的重要信息[12],如图3 所示,通过解析问答句式得出其中的关键信息以及信息类型,具体实现方法如下。
步骤1:系统终端接收到上述返回的文本信息后,将文本数据发送至语义理解服务端。
步骤2:服务端接收到文本数据后,对其中特定类型词语进行语义标注,利用模型进行语义预测,以得到正确的语义。
步骤3:预测后通过语义pk 将不同的语义路径进行匹配打分,选出最优语义路径。
步骤4:根据场景状态语义和搜索数据给出对应的语义信息。
步骤5:将语义信息转换为最终的关键词及其类型返回给系统终端。
图3 语义理解模块
关键词检索分析功能主要是将从语义理解模块获得的关键词信息进行分类,如图4 所示,通过关键词类型对应到具体的实体及其属性或关系的名称,并与对应的实体模型相匹配,最后到数据库中查询并展示相应的信息,具体分析方法如下。
步骤1:系统终端接收到语义理解服务端返回的关键词及其类型信息后,首先区分实体关键词和关联关键词(如:人物:许培山;属性:任职单位。其中许培山为实体关键词,任职单位为关联关键词)。
步骤2:根据实体关键词的类型,找到对应的数据表并查出该实体对应的信息。
步骤3:根据关联关键词的类型,找到该实体对应的属性或关系并查出该属性或关系对应的完整内容。
步骤4:将步骤3 得到的内容作为检索结果在系统终端界面展示。
图4 关键词检索模块
除主要功能模块外,还有包括知识图谱中关系模型的构建以及语义理解模块中用到的问答句式模板的构建等。这些模块为主模块提供了重要帮助,数据关系模型构建模块有效的利用知识图谱的结构特性[13],将复杂的分析语句转化成更为简单的图查询语言,提高了执行效率;问答句式模块将主体和关系数据以特定的形式与问答句式模板相结合[14],提高了问答的多样性与准确性,给用户以更好的操作体验。
数据关系模型主要是将大量的数据成体系的建立联系,这些数据之间有大量“隐形”的关联,但是仅仅存储在数据库中很难将这些关联明显的呈现出来,如图5所示,提供一种基于知识图谱的数据关系模型构建方法,将数据按层级划分逐步分类、细化并关联,更直观的将数据之间的联系呈现出来,具体构建方法如下。
步骤1:根据数据源进行本体模型构建(本体模型包括:人员、部队、地区等等)。
步骤2:进行本体模型关系构建(如:人员与部队之间的关系,部队与地区之间的关系)。
步骤3:进行实体关系构建(如:人员张三所属部队为2 连)。
步骤4:形成图数据库,完成数据关系模型构建。
图5 数据关系模型构建
问答句式构建主要提供一种文法设计的功能,该功能可将各种常用句式进行拆解,分成包括关键信息在内的若干词汇,如图6 所示,通过对信息的分类并结合组成问答句式的文法逻辑,一旦问答句式与设计模板相匹配便可迅速获得其中的关键信息,具体实现方法如下。
步骤1:将不同类型的数据分别写入以该类型命名的文档中(如人员文档中包含张三、李四等,部队文档中包含1 连、2 营等)。
步骤2:根据文法设计的格式将问答句式的结构按要求填写完整(如$人员 [属于] $部队,可匹配“张三属于1 连”等)。
步骤3:使用文法编译工具将上述文档编译成文法资源文件,作为语义分析的重要依据。
步骤4:如果对问答句式有增加、删除或修改等操作,可直接对上述文件进行修改,生成并替换文法资源文件即可。
本文所述方法将智能语音技术与指挥信息系统中的数据检索功能相结合,利用语音识别功能将用户的语音信息转换成文本信息,再利用语义理解功能匹配对应的问答句式,从而分析得到用户想要查询的关键主体与对应关系,最后利用关键词检索功能到数据库中查询得到最终的结果。该方法提供了一种高效的数据检索交互方式,可实现不同场景下数据检索的可视化和智能化。
图6 问答句式功能构建