智能语音机器人交互的设计与实现

发表时间:2020/7/20   来源:《电力设备》2020年第9期   作者:何桂梅 田雪琪
[导读] 摘要:随着信息技术的迭代更新,在电话服务场景中智能语音机器人已经慢慢融入到我们身边。
        (国家电网有限公司客户服务中心北方分中心)
        摘要:随着信息技术的迭代更新,在电话服务场景中智能语音机器人已经慢慢融入到我们身边。它的出现将对我们的生活产生深远影响。本文分析了智能语音机器人交互控制的应用落地条件,利用微软语音应用程序接口研发出完整的人机语音智能系统,详尽描绘了该系统的设计理念及关键程序,其中包括语音识别、语音合成、语法规则创建和知识库维护等方面的内容,同时对提升该系统识别率做出了方向性研究。
        关键词:智能语音机器人;语音识别;电话服务
        1、概述与关键指标
        机器人交互,其目的是为让其识别接收有效的语音操作指令,再对比识别内容做出反映或完成规定动作。其中,语音指令分为两种,一是控制指令,即让机器人完成指定的操作,如“开始充电”、“停止充电”、“开启超声”等进而根据识别结果做出应答或执行指定的操作;正确识别到控制指令需要控制机器人完成对应操作。另外一种指令是应答指令,如“你叫什么名字”、“你会做什么”等,识别到这类指令后机器人需要根据事先设定好的内容应答。
        为适应现场应用需求,语音交互控制系统应满足以下性能指标:
        (1)唤醒词的唤醒率>90%;
        (2)近场通用场景识别率>95%;
        (3)远场通用场景识别率>92%;
        (4)识别的响应时<210ms。
        2、流程设计
        实现机器人语音交互控制的功能需求,可将其分解为语音采集、语音识别、对话应答和执行操作等四个模块。
        首先,利用声音传感器采集给定指令者发出的语音信号,分析处理此语音信号,并提取特征值比对识别结果,据此判定指令类型和此指令是否为合法指令,进而控制机器人做出相应的应答。识别出合法的应答指令,在应答列表中搜索相应的应答内容,使机器人说出应答内容以实现人机对话。再利用语音识别确定合法的操作指令,向机器人发送完成该指令的相关操作。
        在上述诸环节中,语音信号采集技术成熟、结构简单,完成语音传感器及采集卡的物理连接,开发语音采集配套程序即可进行语音采集。语音识别是整个系统中的核心部分,对话应答和执行操作都依赖语音识别的结果。对话应答要求机器人具备说话能力,通过语音合成技术将应答内容转换为会话语音。执行操作部分是向机器人发布控制命令,可直接利用机器人已有的指令控制方式。语言交互控制的处理流程。
        3、语音交互详细设计
        语音识别技术本质是,让机器识别给定指令的语音信号,将此信号转变为相对应的文本命令,其技术主要涵盖特征提取技术、模式匹配准则及模型训练技术。客观来说,尽管有一些公司提供了某些语音识别的商业应用,但真正高效可靠的语音识别技术仍然是一个技术难点,相对而言抗干扰性差、对语音输入要求高。
        当下,市场常用的语音开发工具有两个,其一是微软公司的SAPI语言引擎,另一个是国内科大讯飞提供的InterReco语音识别系统。对机器人语音交互这类命令式识别而言,两者效果相当,因科大讯飞开发包成本相对较高,本项目采用微软的SAPI进行相应开发。
        SAPI(SpeechApplicationProgrammingInterface)是微软语音开发包(Microso出SpeechSDK)提供的关于语音(Speech)处理的一套应用程序编程接口,包含了实现文字-语音识别(SpeechRecognition)和语音合成(Text-to-Speech)程序的基本函数,将更多的优化了语音变成的难度,降低了项目的工作总量。

微软SAPI的主要架构,是利用引擎中的语音系统链接到设备驱动接口DDI层SAPI运行库进行采样对比,应用程序利用其接口API层和SAPI交互。使API进行语音识别和语音合成等方面的研发。
        现阶段SAPI构建出的语音识别系统有两种常规识别模式:语音指令控制模式和语音听写模式。前者的模式结构其语音识别系统,适用于小词汇量、孤立词和非特定人的语音识别,需要研发人员构建语法的规则,识别范围将受限于语法规则所涉及的短词字句,其适应性差但内容识别相对准确。后者的模式结构其构建的语音系统适用于大词汇量的语音识别,无需构建复杂的语法规则,语音识别的适用性极强,但是是比率相对较低。
        语音交互间的指令是有限且固定的,所以我们应采用识别率更高的指令控制识别构架。按照SAPI的开发流程,完成语音识别的基础配置与初始化的识别引擎即可进行语音识别。
        识别规则是语音指令识别模式的基础,是对能够识别的命令库的标准化说明。SAPI的语法规则采用XML(eXtensibleMarkupLanguage,可扩展标记语言)格式。在进行识别工作之前需要编写一个语法规则文件,其中定义了需要识别的字和短语,SDK语音识别引擎加载该语法规则来识别用户的语音。
        XML中的元素或每一个个体都是由开始标记<属性名>和结束标记</属性名>所组成,其中间部分的语句就是该元素或每一个个体所包含的文法内容。文法的内容可以是普通文字,或者是文法元素的子元素。XML规范中对于合法的文法内容的正式定义是采用多集合表达式的形式。我们使用上述定义,就能够准确描述文件的语法和文法规则。在文法中,<P>和</P>中插入的是一组待识别的字或短语,而<L></L>中插入的是以<P></P>为可选择项的可能匹配用户语音的字或短语。
        利用机器人语音交互控制中的常规语法规则,例如:GRAMMARLANGID="804"就指明了识别对象为中文汉字,在整个识别过程中系统会自动调用汉语声学模型位于<P>和</P>之间的是诸条识别命令。XML语法文件会根据识别命令手工编辑,当识别的命令发生变化时需加载XML文件保持同步更新,语音识别引擎才能识别新的指令。所以手工编辑方式对于更新语法难度更高,在开发过程中需要根据XML规则实现语法文件的程序化更新,采用MSXML2::IXMLDOMDocumentPtr和MSXML2::IXMLDOMElementPtr对XML文件进行编辑。
        在语音合成阶段(又称文语转换),能把任意文字信息根据规则转换为标准流畅的语音声波,并朗读给指令发起人,通过计算机语音合成,可将任何时候、任意文本转换成有高流畅度的语音,从而真正实现了机器人的拟人化应答。至此为机器人语音交互应答的需求。
        利用微软SAPI来进行语音合成的步骤同语音识别基本相同,也包含了基本设置(音量和语速)和引擎初始化。但问题的关键在于所选的发音库,即让机器人以什么样的腔调说话。微软SAPI包含了中英文的发音库,但在SAPI5.4及以下版本里中文发音类型少且效果较差;可通过安装第三方的语音库增强语音合成效果,如Neospeech语音库。
        4、结论
        为使智能语音机器人的语音交互功能逐步优化,根据应用需求设计了一整条语音交互研发过程。在此基础上链接基于微软语音应用程序接口SAPI,实现了一套人机语音交互控制系统。在测试结果中显示,系统的各项性能指标满足设计要求。限于语音识别技术的发展水平,机器人的语音识别能力与人相比还有很大差距,仍是下一步亟须解决的问题。
        参考文献:
        [1]李安琪,苏伟,吴燕.服务机器人技术的发展[J].科教导刊-电子版(下旬),2018,(11):261-262.
        [2]李强,乔克,颜红,江熙.基于人工智能技术的电力营业厅机器人设计[J].智能城市,2018,4(24):10-11.
        [3]王博玮,陆中成.基于云的餐厅服务机器人系统设计[J].自动化仪表,2019,40(8):65-69.
        [4]翁剑鹏,彭军发,李金林,易向东.基于语音识别的人形机器人的设计与实现[J].科技创新导报,2019,16(18):138-139.
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: