语音识别方法、终端设备及存储介质与流程

文档序号:13878838阅读:251来源:国知局
语音识别方法、终端设备及存储介质与流程

本发明涉及语音识别领域,尤其涉及一种语音识别方法、终端设备及存储介质。



背景技术:

就目前来看物联网的发展越来越快,应用也越来越广泛,语义识别技术也是互联网智能化和下一代人机交互的基础。语音识别和语义分析的成熟,将使信息技术大步跃进成为一种生活中最重要的基本需求,并且这种需求具有不可替代性。甚至可以将其比作电力普及应用的意义,对整个社会生活将产生重大影响。语音识别技术蕴涵的巨大力量,随之应运而生的有图灵、讯飞、百度及微软等语音识别语义分析平台,然而由于语音识别语义分析还处于初级发展阶段,没有一个统一标准,这些语音识别平台在给终端设备提供语音识别和语义分析服务的同时,返回给终端设备的数据参差不齐,经常出现反馈的数据终端设备不能够响应的问题。

上述信息仅用于个性理解本发明的技术方案,并不代表承认上述信息是现有技术。



技术实现要素:

本发明的主要目的在于提供一种语音识别方法、终端设备及存储介质,旨在解决上述终端设备对语音识别平台反馈的结果数据因数据结构不兼容而无法响应的技术问题。

为实现上述目的,本发明提供一种语音识别方法,所述语音识别方法包括以下步骤:

终端设备发送语音信息至语音识别平台,以使所述语音识别平台对所述语音信息进行识别,并根据识别获得的文本数据查找对应的结果数据;

接收所述语音识别平台反馈的结果数据;

根据预设数据模型对所述结果数据进行封装,获得java类的目标数据,并将所述目标数据进行展示。

优选地,所述根据预设数据模型对所述结果数据进行封装,具体包括:

对所述结果数据进行解析,获得所述结果数据对应的数据类型;

根据所述数据类型查找对应的预设数据模型;

根据查找到的预设数据模型对所述结果数据进行封装。

优选地,所述根据所述数据类型查找对应的预设数据模型,具体包括:

从映射关系表中查找与所述数据类型对应的预设数据模型,所述映射关系表包括数据类型与预设数据模型之间的对应关系。

优选地,所述根据所述数据类型查找对应的预设数据模型之后,所述方法还包括:

获取所述结果数据的原始数据模型,在所述原始数据模型与所述预设数据模型不一致时,执行所述根据查找到的预设数据模型对所述结果数据进行封装的步骤。

优选地,所述接收语音识别平台反馈的结果数据之后,所述方法还包括:

在所述结果数据存在多个时,选择预设语音识别平台反馈的结果数据作为目标结果数据;

相应地,所述根据预设数据模型对所述结果数据进行封装,获得java类的目标数据,并将所述目标数据进行展示,具体包括:

根据预设数据模型对所述目标结果数据进行封装,获得java类的目标数据,并将所述目标数据进行展示。

优选地,所述选择预设语音识别平台反馈的结果数据作为目标结果数据之后,所述方法还包括:

判断所述目标结果数据是否异常,在所述目标结果数据异常时,选择其他语音识别平台反馈的结果数据作为新的目标结果数据。

优选地,所述选择其他语音识别平台反馈的结果数据作为新的目标结果数据,具体包括:

按照预设规则选择其他语音识别平台反馈的结果数据作为新的目标结果数据。

优选地,所述预设规则包括:语音识别平台的使用频率;

相应地,所述按照预设规则选择其他语音识别平台反馈的结果数据作为新的目标结果数据,具体包括:

获取其他语音识别平台的使用频率,按照所述使用频率选择其他语音识别平台反馈的结果数据作为新的目标结果数据。

此外,为实现上述目的,本发明还提出一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的语音识别程序,所述语音识别程序配置为实现如上文所述的语音识别方法的步骤。

此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有语音识别程序,所述语音识别程序被处理器执行时实现如上文所述的语音识别方法的步骤。

本发明通过根据自定义的预设数据模型对语音识别平台反馈的结果数据进行封装,获得java类的目标数据,使得无论何种语音识别平台反馈的结果数据都能转换为终端设备能够响应的数据结构,从而进行展示,解决了终端终端设备对语音识别平台反馈的结果数据因数据结构不兼容而无法响应的问题。

附图说明

图1为本发明一种语音识别方法实施例方案涉及的硬件运行环境的终端设备结构示意图;

图2为本发明一种语音识别方法第一实施例的流程示意图;

图3为本发明一种语音识别方法第二实施例的流程示意图;

图4为本发明一种语音识别方法第三实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的终端设备结构示意图。

如图1所示,该终端设备可以包括:处理器1001,例如cpu,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储终端。

本领域技术人员可以理解,图1中示出的结构并不构成对所述终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及语音识别程序。

在图1所示的终端设备中,网络接口1004主要用于连接服务器,与服务器进行数据通信;用户接口1003主要用于接收用户输入的指令,所述终端设备通过处理器1001调用存储器1005中存储的语音识别程序,并执行以下操作:

终端设备发送语音信息至语音识别平台,以使所述语音识别平台对所述语音信息进行识别,并根据识别获得的文本数据查找对应的结果数据;

接收所述语音识别平台反馈的结果数据;

根据预设数据模型对所述结果数据进行封装,获得java类的目标数据,并将所述目标数据进行展示。

进一步地,处理器1001可以调用存储器1005中存储的语音识别程序,还执行以下操作:

对所述结果数据进行解析,获得所述结果数据对应的数据类型;

根据所述数据类型查找对应的预设数据模型;

根据查找到的预设数据模型对所述结果数据进行封装。

进一步地,处理器1001可以调用存储器1005中存储的语音识别程序,还执行以下操作:

从映射关系表中查找与所述数据类型对应的预设数据模型,所述映射关系表包括数据类型与预设数据模型之间的对应关系。

进一步地,处理器1001可以调用存储器1005中存储的语音识别程序,还执行以下操作:

获取所述结果数据的原始数据模型,在所述原始数据模型与所述预设数据模型不一致时,执行所述根据查找到的预设数据模型对所述结果数据进行封装的步骤。

进一步地,处理器1001可以调用存储器1005中存储的语音识别程序,还执行以下操作:

在所述结果数据存在多个时,选择预设语音识别平台反馈的结果数据作为目标结果数据;

相应地,所述根据预设数据模型对所述结果数据进行封装,获得java类的目标数据,并将所述目标数据进行展示,具体包括:

根据预设数据模型对所述目标结果数据进行封装,获得java类的目标数据,并将所述目标数据进行展示。

进一步地,处理器1001可以调用存储器1005中存储的语音识别程序,还执行以下操作:

判断所述目标结果数据是否异常,在所述目标结果数据异常时,选择其他语音识别平台反馈的结果数据作为新的目标结果数据。

进一步地,处理器1001可以调用存储器1005中存储的语音识别程序,还执行以下操作:

按照预设规则选择其他语音识别平台反馈的结果数据作为新的目标结果数据。

进一步地,处理器1001可以调用存储器1005中存储的语音识别程序,还执行以下操作:

获取其他语音识别平台的使用频率,按照所述使用频率选择其他语音识别平台反馈的结果数据作为新的目标结果数据。

本实施上述方案,通过根据自定义的预设数据模型对语音识别平台反馈的结果数据进行封装,获得java类的目标数据,使得无论何种语音识别平台反馈的结果数据都能转换为终端设备能够响应的数据结构,从而进行展示,解决了终端设备对语音识别平台反馈的结果数据因数据结构不兼容而无法响应的问题。

基于上述硬件结构,提出本发明一种语音识别方法实施例。

参照图2,提出本发明一种语音识别方法第一实施例。

在本实施例中,所述语音识别方法包括以下步骤:

步骤s10,终端设备发送语音信息至语音识别平台,以使所述语音识别平台对所述语音信息进行识别,并根据识别获得的文本数据查找对应的结果数据;

可理解的是,所述终端设备可以是机器人、智能手机、平板电脑或台式电脑等,本实施例对此不加以限制。所述终端设备接收用户输入的语音信息,并将所述语音信息发送至语音识别平台,所述语音识别平台包括图灵语音识别平台、讯飞语音识别平台、百度语音识别平台或微软语音识别平台等,所述语音识别平台对所述语音信息进行语音识别及语义分析,识别获得与所述语音信息对应的文本数据,再根据所述文本数据查找对应的结果数据。

例如:用户输入的语音信息为“播放一首儿歌”,所述终端设备将“播放一首儿歌”的语音信息发送至讯飞语音识别平台,所述讯飞语音识别平台对“播放一首儿歌”进行语音识别,获得文本数据:“播放一首儿歌”,再根据识别出的文本数据“播放一首儿歌”查找对应的儿歌播放地址,所述儿歌播放地址即所述结果数据。

步骤s20,接收所述语音识别平台反馈的结果数据;

应理解的是,所述语音识别平台将查找到的结果数据进行反馈,所述终端设备接收反馈的结果数据,由于各种语音识别平台还处于初级发展阶段,没有统一标准,通常所述语音识别平台反馈的结果数据的数据结构会参差不齐,当反馈的数据结构不是所述终端设备能够响应的数据结构时,不能对反馈的结果数据进行成功显示,为了能够响应各种语音识别平台反馈的结果数据,则需要对反馈的结果数据进行封装,将其封装为统一的数据结构,使得所述终端设备能够响应。

步骤s30,根据预设数据模型对所述结果数据进行封装,获得java类的目标数据,并将所述目标数据进行展示。

可理解的是,所述预设数据模型为所述终端设备自定义的数据结构,所述预设数据模型为自定义的java类的数据结构模型,将各种语音识别平台反馈的结果数据进行根据自定义的java类的数据结构模型进行封装,获得java类的目标数据是所述终端设备能够响应的数据类型,则可将所述目标数据进行成功展示。比如:用户输入的语音信息为“播放一首儿歌”,所述语音识别平台反馈的结果数据为对应的儿歌播放地址,反馈的儿歌播放地址的数据类型为json格式,所述终端设备无法识别json格式的数据,则根据自定义的java类的数据结构模型将所述儿歌播放地址封装为java类的目标数据,使得所述终端设备能够响应所述目标数据,并将其进行展示。

本实施例上述方案,通过根据自定义的预设数据模型对语音识别平台反馈的结果数据进行封装,获得java类的目标数据,使得无论何种语音识别平台反馈的结果数据都能转换为终端设备能够响应的数据结构,从而进行展示,解决了终端设备对语音识别平台反馈的结果数据因数据结构不兼容而无法响应的问题。

进一步地,如图3所示,基于第一实施例提出本发明一种语音识别方法第二实施例。

在本实施例中,所述步骤s30,具体包括:

步骤s301,对所述结果数据进行解析,获得所述结果数据对应的数据类型;

步骤s302,根据所述数据类型查找对应的预设数据模型;

步骤s303,根据查找到的预设数据模型对所述结果数据进行封装,获得java类的目标数据,并将所述目标数据进行展示。

可理解的是,对于用户输入的不同的语音信息,所述语音识别平台反馈的结果数据对应的数据类型可能不同,例如:用户输入的语音信息为“播放一首儿歌”,各种语音识别平台反馈的结果数据为对应的儿歌播放地址,则要根据所述儿歌播放地址的数据类型查找对应的预设数据模型,再根据查找到的预设数据模型对儿歌播放地址进行封装,获得所述终端设备可响应的java类的目标数据。再如:用户输入的语音信息为“想看安徒生童话故事”,各种语音识别平台反馈的结果数据为对应的各种安徒生童话故事的文本数据,则要根据各种安徒生童话故事的文本数据的数据类型查找对应的预设数据模型,再根据查找到的预设数据模型对所述安徒生童话故事的文本数据进行封装,获得所述终端设备可响应的java类的目标数据。

需要说明的是,为了更加快速便捷的找到可预先搜集各种数据类型,针对各种数据类型自定义对应的预设数据模型,并建立各种数据类型与对应的预设数据模型之间的映射关系表,本实施例中,所述步骤s302,具体包括:从映射关系表中查找与所述数据类型对应的预设数据模型,所述映射关系表包括数据类型与预设数据模型之间的对应关系。

应理解的是,语音识别平台反馈的结果数据的数据模型可能与预设的数据模型一致,此时,就不需要再次对所述结果数据进行封装,本实施例中,在所述步骤s302之后,还包括:获取所述结果数据的原始数据模型,在所述原始数据模型与所述预设数据模型不一致时,执行所述步骤s303。

本实施例上述方案,通过对各语音识别平台反馈的结果数据进行解析,获得反馈的结果数据对应的数据类型,再根据所述数据类型查找对应的预设数据模型对所述结果数据进行封装,获得java类的目标数据,使得根据语音识别平台反馈的结果数据的数据类型,快速找到对应的预设数据模型,将所述结果数据封装成所述终端设备能够响应的数据类型,解决了终端设备对语音识别平台反馈的结果数据因数据结构不兼容而无法响应的问题。

进一步地,如图4所示,基于第一实施例提出本发明一种语音识别方法第三实施例。

在本实施例中,在所述步骤s20之后,还包括:

步骤s21,在所述结果数据存在多个时,选择预设语音识别平台反馈的结果数据作为目标结果数据;

可理解的是,所述终端设备将语音信息发送至语音识别平台,通常存在多个语音识别平台,多个语音识别平台分别对所述语音信息进行识别,并反馈结果数据至所述终端设备,则所述终端设备接收到多个结果数据,并不需要多所有的结果数据进行封装,可以选择预设语音识别平台反馈的结果数据作为目标结果数据,对所述目标结果数据进行封装。

例如:所述语音识别平台包括图灵语音识别平台、讯飞语音识别平台、百度语音识别平台和微软语音识别平台,所述终端设备将所述图灵语音识别平台设置为预设语音识别平台,当各语音识别平台分别向所述终端设备反馈结果数据,所述终端设备将所述图灵语音识别平台反馈的结果数据作为目标结果数据,对所述目标结果数据进行封装。

相应地,所述步骤s30,具体包括:

s304,根据预设数据模型对所述目标结果数据进行封装,获得java类的目标数据,并将所述目标数据进行展示。

应理解的是,所述预设数据模型为所述终端设备自定义的数据结构,所述预设数据模型为自定义的java类的数据结构模型,将预设语音识别平台反馈的结果数据作为目标结果数据,对所述目标结果数据根据自定义的java类的数据结构模型进行封装,获得java类的目标数据,所述目标数据是所述终端设备能够响应的数据类型,则所述终端设备可将所述目标数据进行成功展示。

可理解的是,预设语音识别平台反馈的数据可能会因为平台故障或者其他原因导致反馈的结果数据出现异常,此时,可选择其他语音识别平台反馈的结果数据作为新的目标结果数据。本实施例中,在所述步骤s21之后,还包括:判断所述目标结果数据是否异常,在所述目标结果数据异常时,选择其他语音识别平台反馈的结果数据作为新的目标结果数据。

比如:所述语音识别平台包括图灵语音识别平台、讯飞语音识别平台、百度语音识别平台和微软语音识别平台,所述终端设备将所述图灵语音识别平台设置为预设语音识别平台,当所述图灵语音识别平台反馈的结果数据出现异常时,从讯飞语音识别平台、百度语音识别平台和微软语音识别平台反馈的结果数据中选择一个作为新的目标结果数据,对所述新的目标结果数据进行封装。

需要说明的是,当预设语音识别平台反馈的结果数据存在异常,如何从多个结果数据中选择其他语音识别平台反馈的结果数据,可以有很多途径,本实施例中,所述选择其他语音识别平台反馈的结果数据作为新的目标结果数据,具体包括:按照预设规则选择其他语音识别平台反馈的结果数据作为新的目标结果数据。

应理解的是,所述预设规则,可以是预先将各语音识别平台进行排序,按照排序进行对应的结果数据的选择,还可以是各语音识别平台的使用频率,按照使用频率的高低来进行对应的结果数据的选择,本实施例中,所述预设规则包括:语音识别平台的使用频率;相应地,所述按照预设规则选择其他语音识别平台反馈的结果数据作为新的目标结果数据,具体包括:获取其他语音识别平台的使用频率,按照所述使用频率选择其他语音识别平台反馈的结果数据作为新的目标结果数据。

例如:所述语音识别平台包括图灵语音识别平台、讯飞语音识别平台、百度语音识别平台和微软语音识别平台,所述终端设备将所述图灵语音识别平台设置为预设语音识别平台,当所述图灵语音识别平台反馈的结果数据出现异常时,获取讯飞语音识别平台、百度语音识别平台和微软语音识别平台对应的使用频率分别为a、b和c,其中b>a>c,则可将使用频率最高的百度语音识别平台反馈的结果数据作为新的目标结果数据。

本实施例上述方案,在所述结果数据存在多个时,选择预设语音识别平台反馈的结果数据作为目标结果数据,在所述目标结果数据异常时,选择其他语音识别平台反馈的结果数据作为新的目标结果数据,以保证能够选择合适的结果数据进行封装,获得java类的目标数据,使得所述终端设备对所述目标数据进行展示。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有语音识别程序,所述语音识别程序被处理器执行时实现如下操作:

终端设备发送语音信息至语音识别平台,以使所述语音识别平台对所述语音信息进行识别,并根据识别获得的文本数据查找对应的结果数据;

接收所述语音识别平台反馈的结果数据;

根据预设数据模型对所述结果数据进行封装,获得java类的目标数据,并将所述目标数据进行展示。

进一步地,所述语音识别程序被处理器执行时还实现如下操作:

对所述结果数据进行解析,获得所述结果数据对应的数据类型;

根据所述数据类型查找对应的预设数据模型;

根据查找到的预设数据模型对所述结果数据进行封装。

进一步地,所述语音识别程序被处理器执行时还实现如下操作:

从映射关系表中查找与所述数据类型对应的预设数据模型,所述映射关系表包括数据类型与预设数据模型之间的对应关系。

进一步地,所述语音识别程序被处理器执行时还实现如下操作:

获取所述结果数据的原始数据模型,在所述原始数据模型与所述预设数据模型不一致时,执行所述根据查找到的预设数据模型对所述结果数据进行封装的步骤。

进一步地,所述语音识别程序被处理器执行时还实现如下操作:

在所述结果数据存在多个时,选择预设语音识别平台反馈的结果数据作为目标结果数据;

相应地,所述根据预设数据模型对所述结果数据进行封装,获得java类的目标数据,并将所述目标数据进行展示,具体包括:

根据预设数据模型对所述目标结果数据进行封装,获得java类的目标数据,并将所述目标数据进行展示。

进一步地,所述语音识别程序被处理器执行时还实现如下操作:

判断所述目标结果数据是否异常,在所述目标结果数据异常时,选择其他语音识别平台反馈的结果数据作为新的目标结果数据。

进一步地,所述语音识别程序被处理器执行时还实现如下操作:

按照预设规则选择其他语音识别平台反馈的结果数据作为新的目标结果数据。

进一步地,所述语音识别程序被处理器执行时还实现如下操作:

获取其他语音识别平台的使用频率,按照所述使用频率选择其他语音识别平台反馈的结果数据作为新的目标结果数据。

本实施例上述方案,通过根据自定义的预设数据模型对语音识别平台反馈的结果数据进行封装,获得java类的目标数据,使得无论何种语音识别平台反馈的结果数据都能转换为终端设备能够响应的数据结构,从而进行展示,解决了终端设备对语音识别平台反馈的结果数据因数据结构不兼容而无法响应的问题。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本文中,单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图信息所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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