一种机器人语音交互的系统与方法与流程

文档序号:14654390发布日期:2018-06-08 22:49阅读:314来源:国知局
一种机器人语音交互的系统与方法与流程

本发明涉及机器人领域,尤其涉及一种机器人语音交互的系统与方法。



背景技术:

随着人工智能的发展以及近年来机器人产业的起飞,语音能力正在成为各个机器人生产厂商的基础必备功能。而且作为人与机器人的交互的一种触发形式,展现机器人人工智能的基础手段,越来越多的应用场景需要语音作为与触屏同等地位的输入方式,并基于语音开展多样化的交互。

对于开发机器人业务的语音能力集成商,可能同时要对接多个语音服务商,这些服务商存在各自不同的接口定义,技术人员进行业务开发的时候,需要调用不同的接口,这必然带来更大的开发和维护成本,降低了开发效率。



技术实现要素:

本发明的目的是提供一种机器人语音交互的系统,屏蔽各个语音服务商在实现接口上带来的差异,向上提供一套完整的语音业务流程方案,具有良好的通用性,降低了开发成本。

本发明提供的技术方案如下:

一种机器人语音交互的系统,包括:技术接口层、能力抽象层、语言系统抽象层以及上层应用层;所述能力抽象层,用于当收到所述上层应用层通过所述语言系统抽象层转发的语音识别请求时,所述能力抽象层调用所述技术接口层对采集的音频信号进行语音识别,得到识别到的识别文本;以及,当机器人处于唤醒状态时,所述能力抽象层上报所述识别文本,通过所述语言系统抽象层转发,供所述上层应用层进行界面展示;所述语言系统抽象层,用于根据所述识别文本,得到第一语音操作指令;所述能力抽象层,进一步用于当所述第一语音操作指令为语义理解请求时,所述能力抽象层调用所述技术接口层对所述识别文本进行语义理解,得到对应的语音指令;以及,当未在播放提示音时,所述能力抽象层上报所述语音指令,通过所述语言系统抽象层转发,供所述上层应用层进行界面展示;所述语言系统抽象层,进一步用于根据所述语音指令,得到第二语音操作指令;所述能力抽象层,进一步用于当所述第二语音操作指令为语音合成请求时,所述能力抽象层调用所述技术接口层对所述语音指令进行语音合成,并播放。

在上述技术方案中,通过能力抽象层屏蔽各个语音服务商在实现接口上带来的差异,向上提供了归一化的接口调用,降低了开发成本;通过语言系统抽象层提供了一套完整的语音业务流程方案,具有良好的通用性;通过上层应用层负责界面交互,实现了界面交互与语音业务分离。

进一步,所述当收到所述上层应用层通过所述语言系统抽象层转发的语音识别请求时,所述能力抽象层调用所述技术接口层对采集的音频信号进行语音识别,得到识别到的识别文本具体为:所述能力抽象层,进一步用于当收到所述上层应用层通过所述语言系统抽象层转发的语音识别请求时,所述能力抽象层启动录音功能,采集音频信号;以及,所述能力抽象层调用所述技术接口层提供的语音识别应用程序接口,对所述音频信号进行识别,得到识别到的识别文本。

在上述技术方案中,通过能力抽象层提供了语音识别能力。

进一步,所述能力抽象层,进一步用于当得到所述识别文本后,所述能力抽象层判断所述机器人是否处于唤醒状态;以及,当所述机器人不处于唤醒状态时,所述能力抽象层判断所述识别文本是否命中唤醒词;以及,当所述识别文本命中唤醒词时,所述能力抽象层将所述机器人唤醒,并标记为唤醒状态;以及,所述能力抽象层上报所述唤醒文本,并结束。

在上述技术方案中,提供了一种语音唤醒机器人的方法。

进一步,所述当所述第一语音操作指令为语义理解请求时,所述能力抽象层调用所述技术接口层对所述识别文本进行语义理解,得到对应的语音指令具体为:所述能力抽象层,进一步用于当所述第一语音操作指令为语义理解请求时,所述能力抽象层调用所述技术接口层提供的语义理解应用程序接口,对所述识别文本进行语义理解,得到原始的理解结果;以及,所述能力抽象层将所述原始的理解结果,根据预设的语义理解结果数据模型,得到对应的语音指令。

进一步,所述能力抽象层,进一步用于当收到所述上层应用层通过所述语言系统抽象层转发的语义理解请求时,所述能力抽象层调用所述技术接口层对指定文本进行所述语义理解,得到对应的语音指令。

在上述技术方案中,通过能力抽象层提供了语义理解能力,不仅可以处理内部语音业务流程引入的语义理解请求,还能处理上层应用层触发的语义理解请求。预设的语义理解结果数据模型可扩展,语音指令可扩展,为机器人未来多元化的语音业务提供技术了支撑。

进一步,所述能力抽象层,进一步用于当所述第二语音操作指令为语音合成请求时,所述能力抽象层调用所述技术接口层提供的语音合成应用程序接口,对所述语音指令进行语音合成,并播放。

进一步,所述能力抽象层,进一步用于当收到所述上层应用层通过所述语言系统抽象层转发的语音合成请求时,所述能力抽象层调用所述技术接口层对指定文本进行语音合成,并播放。

在上述技术方案中,通过能力抽象层提供了语音合成能力,不仅可以处理内部语音业务流程引入的语义合成请求,还能处理上层应用层触发的语义合成请求。

本发明还提供一种机器人语音交互的方法,包括:步骤S100当收到上层应用发出的语音识别请求时,对采集的音频信号进行语音识别,得到识别到的识别文本;步骤S120当机器人处于唤醒状态时,上报所述识别文本,供所述上层应用进行界面展示;步骤S130根据所述识别文本,得到第一语音操作指令;步骤S200当所述第一语音操作指令为语义理解请求时,对所述识别文本进行语义理解,得到对应的语音指令;步骤S220当未在播放提示音时,上报所述语音指令,供所述上层应用进行界面展示;步骤S230根据所述语音指令,得到第二语音操作指令;步骤S300当所述第二语音操作指令为语音合成请求时,对所述语音指令进行语音合成,并播放。

在上述技术方案中,通过能力抽象层屏蔽各个语音服务商在实现接口上带来的差异,向上提供了归一化的接口调用;通过语言系统抽象层提供了一套完整的语音业务流程方案,具有良好的通用性,降低了开发成本。

进一步,所述步骤S100包括:步骤S101当收到所述上层应用发出的语音识别请求时,启动录音功能,采集音频信号;步骤S102调用语音识别应用程序接口,对所述音频信号进行识别,得到识别到的识别文本。

在上述技术方案中,通过能力抽象层提供了语音识别能力。

进一步,所述步骤S100之后还包括:步骤S110当得到所述识别文本后,判断所述机器人是否处于唤醒状态;步骤S111当所述机器人不处于唤醒状态时,判断所述识别文本是否命中唤醒词;步骤S112当所述识别文本命中唤醒词时,将所述机器人唤醒,并标记为唤醒状态;步骤S113上报所述唤醒文本,并结束。

在上述技术方案中,提供了一种语音唤醒机器人的方法。

进一步,所述步骤S200包括:步骤S201当所述第一语音操作指令为语义理解请求时,调用语义理解应用程序接口,对所述识别文本进行语义理解,得到原始的理解结果;步骤S202将所述原始的理解结果,根据预设的语义理解结果数据模型,得到对应的语音指令。

进一步,所述步骤S220之前还包括:步骤S210当收到所述上层应用发出的语义理解请求时,对指定文本进行所述语义理解,得到对应的语音指令。

在上述技术方案中,通过能力抽象层提供了语义理解能力,不仅可以处理内部语音业务流程引入的语义理解请求,还能处理上层应用层触发的语义理解请求。

进一步,所述步骤S300包括:步骤S301当所述第二语音操作指令为语音合成请求时,调用语音合成应用程序接口,对所述语音指令进行语音合成,并播放。

进一步,还包括:步骤S310当收到所述上层应用发出的语音合成请求时,对指定文本进行语音合成,并播放。

在上述技术方案中,通过能力抽象层提供了语音合成能力,不仅可以处理内部语音业务流程引入的语义合成请求,还能处理上层应用层触发的语义合成请求。

通过本发明提供的一种机器人语音交互的系统与方法,能够带来以下至少一种有益效果:

1、本发明定义了语音能力的归一化接口,屏蔽了语音服务商的接口差异,实现对上层业务透明,从而降低了开发成本,具有良好的通用性;

2、本发明将语音能力模块分为语音识别、语义理解、语音合成等三块,各自分离,可以随意组合,实现语音系统平台化;

3、本发明定义的语音指令可扩展,为机器人多元化的语音业务提供技术支撑;

4、本发明设计了一套可控、可扩展的语音业务流程方案;

5、本发明将界面交互与语音业务分离,既互相控制却又不互相干扰。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对一种机器人语音交互的系统与方法的上述特性、技术特征、优点及其实现方式予以进一步说明。

图1是本发明的一种机器人语音交互的系统的一个实施例的结构示意图;

图2是本发明的一种机器人语音交互的方法的一个实施例的流程示意图;

图3是本发明的一种机器人语音交互的方法的另一个实施例的流程示意图;

图4是本发明的一种机器人语音交互的方法的另一个实施例的流程示意图;

图5是本发明的的一种机器人语音交互的方法的另一个实施例的流程示意图;

图6是本发明的的一种机器人语音交互的方法的另一个实施例的流程示意图;

图7是本发明的的一种机器人语音交互的方法的一个实施例的语音指令数据模型的示意图;

图8是本发明的一种机器人语音交互的系统的一个实施例的原理示意图。

附图标号说明:

100.技术接口层,200.能力抽象层,300.语言系统抽象层,400.上层应用层。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

在本发明的一个实施例中,如图1所示,一种机器人语音交互的系统,包括:

技术接口层100、能力抽象层200、语言系统抽象层300以及上层应用层400;

所述能力抽象层200,用于当收到所述上层应用层400通过所述语言系统抽象层300转发的语音识别请求时,所述能力抽象层200调用所述技术接口层100对采集的音频信号进行语音识别,得到识别到的识别文本;以及,当机器人处于唤醒状态时,所述能力抽象层200上报所述识别文本,通过所述语言系统抽象层300转发,供所述上层应用层400进行界面展示;

所述语言系统抽象层300,用于根据所述识别文本,得到第一语音操作指令;

所述能力抽象层200,进一步用于当所述第一语音操作指令为语义理解请求时,所述能力抽象层200调用所述技术接口层100对所述识别文本进行语义理解,得到对应的语音指令;以及,当未在播放提示音时,所述能力抽象层200上报所述语音指令,通过所述语言系统抽象层300转发,供所述上层应用层400进行界面展示;

所述语言系统抽象层300,进一步用于根据所述语音指令,得到第二语音操作指令;

所述能力抽象层200,进一步用于当所述第二语音操作指令为语音合成请求时,所述能力抽象层200调用所述技术接口层100对所述语音指令进行语音合成,并播放。

具体的,本系统负责语音业务的处理,包括技术接口层、能力抽象层、语言系统抽象层以及上层应用层;其中,如图8所示,所述技术接口层,用于和底层不同语音服务商通信,调用语音服务商所提供的语音算法的应用程序接口,为所述能力抽象层提供统一的接口;所述能力抽象层,用于为所述语言系统抽象层提供三种归一化的语音能力接口,所述三种能力分别为语音识别能力、语义理解能力以及语音合成能力;所述语言系统抽象层,用于根据所述能力抽象层提供的归一化的语音能力,定义一套完整的语音业务逻辑流程,并且为所述上层应用层提供语音业务所依赖的逻辑接口;所述语言系统抽象层的业务由一个服务(Service)来承载,通过语音操作指令(Speech Operation)来控制整个语音业务流程;所述上层应用层,调用所述语言系统抽象层提供的逻辑接口,实现具体的业务能力。

本实施例,从语音识别开始,经过语义理解,至语音合成,播放结束为止,介绍了一次语音业务的典型生命周期。本实施例的机器人为服务型机器人。

由上层应用层负责界面交互,当上层应用层根据界面交互或听到声音,识别出有语音识别请求时,通过语言系统抽象层向能力抽象层发出语音识别请求;能力抽象层采集音频信号,并对采集的音频信号调用技术接口层进行语音识别,得到识别到的识别文本。当机器人处于唤醒状态时,能力抽象层将得到的识别文本上报,通过语言系统抽象层转发,到上层应用层,做进一步的界面展示,比如,将识别文本在界面上展现,或同时机器人提供配套的表情等。

语言系统抽象层负责语音业务流程的控制,语音业务流程的控制节点由语音操作指令决定,语音操作指令中保存了下一步语音业务需要完成的事务。语言系统抽象层根据语音识别后得到的识别文本上报事件所返回的语音操作指令,得到第一语音操作指令,以指导语音业务的下一步流程。

当所述第一语音操作指令为语义理解请求时,语言系统抽象层下发语义理解请求,能力抽象层收到该请求后,调用技术接口层对识别文本进行语义理解,得到对应的语音指令,所述语音指令包含对应的应答方式与应答内容;当未在播放提示音时,能力抽象层将得到的语音指令上报,通过语言系统抽象层转发,到上层应用层,做进一步的界面展示,比如,将语音指令所包含的应答内容在界面上展现,或同时让机器人做配套的动作等。

语言系统抽象层根据语义理解后得到的语音指令上报事件所返回的语音操作指令,得到第二语音操作指令,以指导语音业务的下一步流程。

当第二语音操作指令为语音合成请求时,语言系统抽象层下发语音合成请求,能力抽象层收到该请求后,调用技术接口层对语音指令进行语音合成,并播放,这样实现了除在界面显示语音指令包含的应答内容外,还对语音指令包含的应答内容进行了语音播报。

至此,一次语音业务流程结束。

除上述典型场景外,第一语音操作指令、第二语音操作指令还可能存在其他情况,比如:

1、语音识别+播报场景:所述能力抽象层,进一步用于当第一语音操作指令为语音合成请求时,所述能力抽象层调用所述技术接口层对所述识别文本进行语音合成,并播放;

2、持续语音识别场景:所述能力抽象层,进一步用于当第一语音操作指令为语音识别请求时,所述能力抽象层判断所述机器人是否正在语音识别;当所述机器人不在语音识别时,所述能力抽象层调用所述技术接口层再次进行语音识别;

3、语音识别+播放提示音场景:所述能力抽象层,进一步用于当第一语音操作指令为播放提示音请求时,则进行提示音的播放;当提示音播放完毕后,判断缓存中是否有未处理的语音指令;若是,则取出未处理的语音指令,进行上报;

4、语义理解+播放提示音场景:所述能力抽象层,进一步用于当得到所述语音指令后,所述能力抽象层判断是否正在播放提示音;以及,当正在播放提示音时,所述能力抽象层将所述语音指令保存到缓存中;

5、语义理解+播放指定表情场景:所述能力抽象层,进一步用于当所述第二语音操作指令为播放表情请求时,所述能力抽象层播放指定表情。

在本发明的一个实施例中,如图1所示,一种机器人语音交互的系统,包括:

技术接口层、能力抽象层、语言系统抽象层以及上层应用层;

所述能力抽象层,用于当收到所述上层应用层通过所述语言系统抽象层转发的语音识别请求时,所述能力抽象层启动录音功能,采集音频信号;以及,所述能力抽象层调用所述技术接口层提供的语音识别应用程序接口,对所述音频信号进行识别,得到识别到的识别文本;

所述能力抽象层,进一步用于当得到所述识别文本后,所述能力抽象层判断所述机器人是否处于唤醒状态;以及,当所述机器人不处于唤醒状态时,所述能力抽象层判断所述识别文本是否命中唤醒词;以及,当所述识别文本命中唤醒词时,所述能力抽象层将所述机器人唤醒,并标记为唤醒状态;以及,所述能力抽象层上报所述唤醒文本,并结束。

具体的,本实施例提供了一种通过语音唤醒机器人的方法。当机器人收到上层应用层发出的语音识别请求时,启动录音功能,采集音频信号;调用底层语音服务商提供的语音识别应用程序接口,对采集的音频信号进行语音识别,得到识别到的识别文本。判断机器人是否处于唤醒状态;当机器人不处于唤醒状态时,判断识别文本是否命中唤醒词。当识别文本命中唤醒词时,将所述机器人唤醒,并标记为唤醒状态;上报唤醒文本,到上层应用层做进一步的界面展示。至此,本次业务流程结束。

在本发明的一个实施例中,如图1所示,一种机器人语音交互的系统,包括:

技术接口层、能力抽象层、语言系统抽象层以及上层应用层;

所述能力抽象层,用于当收到所述上层应用层通过所述语言系统抽象层转发的语音识别请求时,所述能力抽象层启动录音功能,采集音频信号;以及,所述能力抽象层调用所述技术接口层提供的语音识别应用程序接口,对所述音频信号进行识别,得到识别到的识别文本;以及,当机器人处于唤醒状态时,所述能力抽象层上报所述识别文本,通过所述语言系统抽象层转发,供所述上层应用层进行界面展示;

所述语言系统抽象层,用于根据所述识别文本,得到第一语音操作指令;

所述能力抽象层,进一步用于当所述第一语音操作指令为语义理解请求时,所述能力抽象层调用所述技术接口层提供的语义理解应用程序接口,对所述识别文本进行语义理解,得到原始的理解结果;以及,所述能力抽象层将所述原始的理解结果,根据预设的语义理解结果数据模型,得到对应的语音指令;以及,当未在播放提示音时,所述能力抽象层上报所述语音指令,通过所述语言系统抽象层转发,供所述上层应用层进行界面展示;

所述语言系统抽象层,进一步用于根据所述语音指令,得到第二语音操作指令;

所述能力抽象层,进一步用于当所述第二语音操作指令为语音合成请求时,所述能力抽象层调用所述技术接口层提供的语音合成应用程序接口,对所述语音指令进行语音合成,并播放。

具体的,本实施例针对一次语音业务的典型生命周期进行了细化,在进行语音识别时,调用底层语音服务商提供的语音识别应用程序接口,对采集的音频信号进行语音识别;在进行语义理解时,调用底层语音服务商提供的语义理解应用程序接口,对得到的识别文本进行语义理解;在进行语音合成时,调用底层语音服务商提供的语音合成应用程序接口,对得到的语音指令进行语音合成。

在进行语义理解时,调用底层语音服务商提供的语义理解应用程序接口,得到的是原始的理解结果,还需要将原始的理解结果,根据预设的语义理解结果数据模型,得到对应的语音指令。比如,语音识别时得到的识别文本是“你好”,对此进行语义理解,得到应答内容与应答方式,调用语音服务商的语义理解应用程序接口,得到的原始的理解结果可能仅涉及应答内容,比如文本“你好”;需要增加应答方式,比如,从预设的语义理解结果数据模型中选择表情指令,让机器人在呈现文本“你好”的同时保持微笑,如此得到对应的语音指令。

所述语义理解结果数据模型是可扩展的,由此得到的语音指令也是可扩展的,这为机器人多元化的语音业务提供了支撑。语音指令是语义理解能力的归一化输出,语音指令格式如图7所示,其中,vendor为语音服务商,rawText为待语义理解的文本,rawAnswer为原始的理解结果,vc为语音指令类型,vcobject为对应vc的数据模型;

语音指令类型由VCommand定义:

⑴VCommand.NONE简单文本指令,对应VCNone模型,用于基本的文本回答显示的指令;

⑵VCommand.TEXT富文本指令,对应VCTextList模型,用于图文并茂的回答显示的指令;

⑶VCommand.DANCE跳舞指令,对应VCDance模型,用于让机器人跳舞的指令;

⑷VCommand.MOVE移动指令,对应VCMove模型,用于让机器人向某方向移动的指令;

⑸VCommand.SING唱歌指令,对应VCSing模型,用于让机器人昌指定或随机歌曲的指令;

⑹VCommand.EMOTION表情指令,对应VCEmotion模型,用于让机器人变化表情的指令;

⑺VCommand.MISSION任务指令,对应VCMission模型,用于让机器人执行任务的指令;

⑻VCommand.OPERATION操作指令,对应VCOperation模型,用于通用的机器人业务功能操作指令;

⑼VCommand.FLOW流程业务指令,对应VCFlow模型,用于具有一定流程倾向的业务指令。

数据模型:

VCCommon,VCommand数据模型的基类,存储公用数据;

VCNone,在VCCommon基础上增加id属性,当前简单文本语音指令的编号,指向一种特定的语义,可在本地根据id替换相应的回答反馈;

VCTextList,在VCCommon基础上增加若干属性,text表示一段文字,color表示文字的字体色值,font表示文字的字体,description表示当前文字的类型;

VCDance,在VCCommon基础上增加danceId,期望机器人跳的舞蹈的编号;

VCMove,在VCCommon基础上增加若干属性,direction期望机器人的移动方向,duration期望机器人的移动时长;

VCSing,在VCCommon基础上增加若干属性,name歌曲名称,description歌曲简介或描述,path歌曲在本地存储的相对路径,url歌曲的网络链接地址;

VCEmotion,在VCCommon基础上增加若干属性,emotionId表情序列编号,duration表情播放持续时长;

VCMission,在VCCommon基础上增加若干属性,missionId本地存储的任务序列编号,missionStr任务描述文本;

VCOperation,在VCCommon基础上增加若干属性,operationId预设的操作指令,如退出、返回、取消等;

VCFlow,在VCCommon基础上增加若干属性,flowId业务流程指令编号,flowType业务流程指令类型,flowKey业务流程指令标签,flowInfo业务流程指令流程描述文本。

上层应用在收到所述语音指令后,进行相应的界面展示;当所述语音指令为简单文本指令时,则在界面上采用普通文本方式显示内容;当所述语音指令为富文本指令时,则在界面上采用图文并茂的方式显示内容;当所述语音指令为跳舞指令时,则让机器人跳舞;当所述语音指令为移动指令时,则让机器人向某方向移动;当所述语音指令为唱歌指令时,则让机器人播放指定的或随机的歌曲;当所述语音指令为表情指令时,则让机器人变化表情;当所述语音指令为任务指令时,则让机器人执行既定的任务;当所述语音指令为操作指令时,则让机器人执行特定的界面业务响应;当所述语音指令为流程业务指令时,则让机器人执行特定的业务。

在本发明的另一个实施例中,如图1所示,一种机器人语音交互的系统,包括:

技术接口层、能力抽象层、语言系统抽象层以及上层应用层;

所述能力抽象层,用于当收到所述上层应用层通过所述语言系统抽象层转发的语义理解请求时,所述能力抽象层调用所述技术接口层对指定文本进行所述语义理解,得到对应的语音指令;以及,当未在播放提示音时,所述能力抽象层上报所述语音指令,通过所述语言系统抽象层转发,供所述上层应用层进行界面展示;

所述语言系统抽象层,进一步用于根据所述语音指令,得到第二语音操作指令;

所述能力抽象层,进一步用于当所述第二语音操作指令为语音合成请求时,所述能力抽象层调用所述技术接口层提供的语音合成应用程序接口,对所述语音指令进行语音合成,并播放。

具体的,相对前述实施例,本实施例提供了上层应用直接触发语义理解请求的场景的语音业务处理。当收到上层应用发出的语义理解请求时,对指定文本进行语义理解,得到对应的语音指令;后续流程与前述实施例相同,不再重述。

在本发明的另一个实施例中,如图1所示,一种机器人语音交互的系统,包括:

技术接口层、能力抽象层、语言系统抽象层以及上层应用层;

所述能力抽象层,用于当收到所述上层应用层通过所述语言系统抽象层转发的语音合成请求时,所述能力抽象层调用所述技术接口层对指定文本进行语音合成,并播放。

相对前述实施例,本实施例提供了上层应用直接触发语音合成的场景的语音业务处理。当收到所述上层应用发出的语音合成请求时,对指定文本进行语音合成,得到音频文件,并播放。在播放音频文件的同时,也可能同步播放默认的表情。

在本发明的另一个实施例中,如图2所示,一种机器人语音交互的方法,包括:

步骤S100当收到上层应用发出的语音识别请求时,对采集的音频信号进行语音识别,得到识别到的识别文本;

步骤S120当机器人处于唤醒状态时,上报所述识别文本,供所述上层应用进行界面展示;

步骤S130根据所述识别文本,得到第一语音操作指令;

步骤S200当所述第一语音操作指令为语义理解请求时,对所述识别文本进行语义理解,得到对应的语音指令;

步骤S220当未在播放提示音时,上报所述语音指令,供所述上层应用进行界面展示;

步骤S230根据所述语音指令,得到第二语音操作指令;

步骤S300当所述第二语音操作指令为语音合成请求时,对所述语音指令进行语音合成,并播放。

具体的,本实施例,从语音识别开始,经过语义理解,至语音合成、播放结束为止,介绍了一次语音业务的典型生命周期。本实施例的机器人为服务型机器人。

当机器人收到上层应用发出的语音识别请求时,对采集的音频信号进行语音识别,得到识别到的识别文本。当机器人处于唤醒状态时,将得到的识别文本上报,到上层应用做进一步的界面展示,比如,将识别文本在界面上展现,或同时机器人提供配套的表情等。

根据语音识别后得到的识别文本上报事件所返回的语音操作指令,得到第一语音操作指令,以指导语音业务的下一步流程。

当第一语音操作指令为语义理解请求时,对识别文本进行语义理解,得到对应的语音指令,所述语音指令包含对应的应答方式与应答内容;当机器人未在播放提示音时,将得到的语音指令上报,到上层应用做进一步的界面展示,比如,将语音指令所包含的应答内容在界面上展现,或同时让机器人做配套的动作等。

根据语义理解后得到的语音指令上报事件所返回的语音操作指令,得到第二语音操作指令,以指导语音业务的下一步流程。

当第二语音操作指令为语音合成请求时,对语音指令进行语音合成,并播放,这样实现了除在界面显示语音指令包含的应答内容外,还对语音指令包含的应答内容进行了语音播报。

至此,一次语音业务流程结束。

除上述典型场景外,第一语音操作指令、第二语音操作指令还可能存在其他情况,比如:

1、语音识别+播报场景:当第一语音操作指令为语音合成请求时,则对所述识别文本进行语音合成,并播放;

2、持续语音识别场景:当第一语音操作指令为语音识别时,判断所述机器人是否正在语音识别;当所述机器人不在语音识别时,则再次进行语音识别;

3、语音识别+播放提示音场景:当第一语音操作指令为播放提示音请求时,则进行提示音的播放;当提示音播放完毕后,判断缓存中是否有未处理的语音指令;若是,则取出未处理的语音指令,进行上报;

4、语义理解+播放提示音场景:在语义理解后,得到对应的语音指令;判断是否正在播放提示音;若是,则将所述语音指令保存到缓存中;

5、语义理解+播放指定表情场景:当第二语音操作指令为播放表情请求时,则播放指定表情。

在本发明的另一个实施例中,如图3所示,一种机器人语音交互的方法,包括:

步骤S101当收到所述上层应用发出的语音识别请求时,启动录音功能,采集音频信号;

步骤S102调用语音识别应用程序接口,对所述音频信号进行识别,得到识别到的识别文本;

步骤S110当得到所述识别文本后,判断所述机器人是否处于唤醒状态;

步骤S111当所述机器人不处于唤醒状态时,判断所述识别文本是否命中唤醒词;

步骤S112当所述识别文本命中唤醒词时,将所述机器人唤醒,并标记为唤醒状态;

步骤S113上报所述唤醒文本,并结束。

具体的,本实施例提供了一种通过语音唤醒机器人的方法。当机器人收到上层应用发出的语音识别请求时,启动录音功能,采集音频信号;调用底层语音服务商提供的语音识别应用程序接口,对采集的音频信号进行语音识别,得到识别到的识别文本。判断机器人是否处于唤醒状态;当机器人不处于唤醒状态时,判断识别文本是否命中唤醒词。当识别文本命中唤醒词时,将所述机器人唤醒,并标记为唤醒状态;上报唤醒文本,到上层应用做进一步的界面展示。至此,本次业务流程结束。

在本发明的另一个实施例中,如图4所示,一种机器人语音交互的方法,包括:

步骤S101当收到所述上层应用发出的语音识别请求时,启动录音功能,采集音频信号;

步骤S102调用语音识别应用程序接口,对所述音频信号进行识别,得到识别到的识别文本;

步骤S120当机器人处于唤醒状态时,上报所述识别文本,供所述上层应用进行界面展示;

步骤S130根据所述识别文本,得到第一语音操作指令;

步骤S201当所述第一语音操作指令为语义理解请求时,调用语义理解应用程序接口,对所述识别文本进行语义理解,得到原始的理解结果;

步骤S202将所述原始的理解结果,根据预设的语义理解结果数据模型,得到对应的语音指令;

步骤S220当未在播放提示音时,上报所述语音指令,供所述上层应用进行界面展示;

步骤S230根据所述语音指令,得到第二语音操作指令;

步骤S301当所述第二语音操作指令为语音合成请求时,调用语音合成应用程序接口,对所述语音指令进行语音合成,并播放。

具体的,本实施例针对一次语音业务的典型生命周期进行了细化,在进行语音识别时,调用底层语音服务商提供的语音识别应用程序接口,对采集的音频信号进行语音识别;在进行语义理解时,调用底层语音服务商提供的语义理解应用程序接口,对得到的识别文本进行语义理解;在进行语音合成时,调用底层语音服务商提供的语音合成应用程序接口,对得到的语音指令进行语音合成。

在进行语义理解时,调用底层语音服务商提供的语义理解应用程序接口,得到的是原始的理解结果,还需要将原始的理解结果,根据预设的语义理解结果数据模型,得到对应的语音指令。比如,语音识别时得到的识别文本是“你好”,对此进行语义理解,得到应答内容与应答方式,调用语音服务商的语义理解应用程序接口,得到的原始的理解结果可能仅涉及应答内容,比如文本“你好”;需要增加应答方式,比如,从预设的语义理解结果数据模型中选择表情指令,让机器人在呈现文本“你好”的同时保持微笑,如此得到对应的语音指令。

所述语义理解结果数据模型是可扩展的,由此得到的语音指令也是可扩展的,这为机器人多元化的语音业务提供了支撑。语音指令是语义理解能力的归一化输出,语音指令格式如图7所示,其中,vendor为语音服务商,rawText为待语义理解的文本,rawAnswer为原始的理解结果,vc为语音指令类型,vcobject为对应vc的数据模型;

语音指令类型由VCommand定义:

⑴VCommand.NONE简单文本指令,对应VCNone模型,用于基本的文本回答显示的指令;

⑵VCommand.TEXT富文本指令,对应VCTextList模型,用于图文并茂的回答显示的指令;

⑶VCommand.DANCE跳舞指令,对应VCDance模型,用于让机器人跳舞的指令;

⑷VCommand.MOVE移动指令,对应VCMove模型,用于让机器人向某方向移动的指令;

⑸VCommand.SING唱歌指令,对应VCSing模型,用于让机器人昌指定或随机歌曲的指令;

⑹VCommand.EMOTION表情指令,对应VCEmotion模型,用于让机器人变化表情的指令;

⑺VCommand.MISSION任务指令,对应VCMission模型,用于让机器人执行任务的指令;

⑻VCommand.OPERATION操作指令,对应VCOperation模型,用于通用的机器人业务功能操作指令;

⑼VCommand.FLOW流程业务指令,对应VCFlow模型,用于具有一定流程倾向的业务指令。

数据模型:

VCCommon,VCommand数据模型的基类,存储公用数据;

VCNone,在VCCommon基础上增加id属性,当前简单文本语音指令的编号,指向一种特定的语义,可在本地根据id替换相应的回答反馈;

VCTextList,在VCCommon基础上增加若干属性,text表示一段文字,color表示文字的字体色值,font表示文字的字体,description表示当前文字的类型;

VCDance,在VCCommon基础上增加danceId,期望机器人跳的舞蹈的编号;

VCMove,在VCCommon基础上增加若干属性,direction期望机器人的移动方向,duration期望机器人的移动时长;

VCSing,在VCCommon基础上增加若干属性,name歌曲名称,description歌曲简介或描述,path歌曲在本地存储的相对路径,url歌曲的网络链接地址;

VCEmotion,在VCCommon基础上增加若干属性,emotionId表情序列编号,duration表情播放持续时长;

VCMission,在VCCommon基础上增加若干属性,missionId本地存储的任务序列编号,missionStr任务描述文本;

VCOperation,在VCCommon基础上增加若干属性,operationId预设的操作指令,如退出、返回、取消等;

VCFlow,在VCCommon基础上增加若干属性,flowId业务流程指令编号,flowType业务流程指令类型,flowKey业务流程指令标签,flowInfo业务流程指令流程描述文本。

上层应用在收到所述语音指令后,进行相应的界面展示;当所述语音指令为简单文本指令时,则在界面上采用普通文本方式显示内容;当所述语音指令为富文本指令时,则在界面上采用图文并茂的方式显示内容;当所述语音指令为跳舞指令时,则让机器人跳舞;当所述语音指令为移动指令时,则让机器人向某方向移动;当所述语音指令为唱歌指令时,则让机器人播放指定的或随机的歌曲;当所述语音指令为表情指令时,则让机器人变化表情;当所述语音指令为任务指令时,则让机器人执行既定的任务;当所述语音指令为操作指令时,则让机器人执行特定的界面业务响应;当所述语音指令为流程业务指令时,则让机器人执行特定的业务。

在本发明的另一个实施例中,如图5所示,一种机器人语音交互的方法,包括:

步骤S210当收到所述上层应用发出的语义理解请求时,对指定文本进行所述语义理解,得到对应的语音指令;

步骤S220当未在播放提示音时,上报所述语音指令,供所述上层应用进行界面展示;

步骤S230根据所述语音指令,得到第二语音操作指令;

步骤S301当所述第二语音操作指令为语音合成请求时,调用语音合成应用程序接口,对所述语音指令进行语音合成,并播放。

具体的,相对前述实施例,本实施例提供了上层应用直接触发语义理解请求的场景的语音业务处理。当收到上层应用发出的语义理解请求时,对指定文本进行语义理解,得到对应的语音指令;后续流程与前述实施例相同,不再重述。

在本发明的另一个实施例中,如图6所示,一种机器人语音交互的方法,包括:

步骤S310当收到所述上层应用发出的语音合成请求时,对指定文本进行语音合成,并播放。

具体的,相对前述实施例,本实施例提供了上层应用直接触发语音合成的场景的语音业务处理。当收到所述上层应用发出的语音合成请求时,对指定文本进行语音合成,得到音频文件,并播放。在播放音频文件的同时,也可能同步播放默认的表情。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1