一种语音交互中的语音切换方法、服务器及系统与流程

文档序号:15313395发布日期:2018-08-31 22:24阅读:198来源:国知局

本发明涉及语音识别领域,尤指一种语音交互中的语音切换方法、服务器及系统。



背景技术:

随着科技的发展,涌现出了非常多的智能产品,给我们的生活和工作带了非常多的便利。比如工厂里的工业机器人实现了生产自动化,家庭里的服务型机器人提高了人们的生活品质,还有诸如搜救机器人、运输机器人等等的特种机器人。

在使用机器人的过程中,不可避免地会出现很多人机交互。目前许多机器人公司也在致力研究人机交互,提高机器人的智能化。其中,机器人和人们的语音交流是研究的一个重点。

在机器人语音交流的过程中,分为语音识别、语义理解、语音合成等步骤。当前的许多机器人在语音交流的过程中使用的知识库比较单一,由于在不同的语言环境下,不同的知识库处理能力有差异,若是只是使用单一的知识库,会造成机器人对某种语言的识别比较差,影响用户使用。

因此,需要发明一种在不同语言环境下能够切换知识库的方法,在不同的语言环境下,机器人也能够实现人机语音交互。



技术实现要素:

本发明的目的是提供一种语音交互中的语音切换方法、服务器及系统,实现在不同语言环境下进行知识库的切换,优化机器人与用户的的语音交互。

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

本发明提供了一种语音交互中的语音切换方法,包括步骤:s30根据当前配置文件调用对应的当前语音识别库,识别获取到的语音音频数据,得到语音文本数据;s40判断所述语音文本数据中是否含有语音切换信息;s50若有,则根据语音切换信息,修改当前配置文件,得到更新配置文件;并将修改后的更新配置文件作为所述当前配置文件;s60若无,根据所述当前配置文件调用对应的当前语义理解库,查找所述语音文本数据对应的语音回复文本数据;s70根据当前配置文件调用对应的当前语音合成库,将所述语音回复文本数据转换为对应的语音回复音频数据。

优选的,步骤s30之前包括:s10创建所述语音识别对象、所述语义理解对象、所述语音合成对象;s11初始化所有的语音识别库、所有的语义理解库、所有的语音合成库;s12将默认配置文件作为所述当前配置文件,并根据所述当前配置文件给所述语音识别对象配置对应的当前语音识别库,给所述语义理解对象配置对应的当前语义理解库,给所述语音合成对象配置对应的当前语音合成库。

优选的,步骤s40具体包括:s401解析所述语音文本数据,得到所述语音文本数据对应的多类关键词;s402判断所述多类关键词的组合是否与预设语音切换信息匹配;s403若有,则判断出所述语音文本数据中含有语音切换信息;s404否则,判断所出述语音文本数据中不含有语音切换信息。

优选的,步骤s50具体包括:s501解析所述语音切换信息,得到更新语音识别库、更新语义理解库、更新语音合成库;s502在所述当前配置文件中设置所述更新语音识别库对应的标识信息、所述更新语义理解库对应的标识信息、所述更新语音合成库对应的标识信息;并将修改后的更新配置文件作为所述当前配置文件;s503根据所述当前配置文件给所述语音识别对象配置对应的当前语音识别库,给所述语义理解对象配置对应的当前语义理解库,给所述语音合成对象配置对应的当前语音合成库。

优选的,所述步骤s20之后包括:s21更改所述默认配置文件,得到配置修改文件,并根据所述配置修改文件,给所述语音识别对象配置更改后的当前语音识别库,给所述语义理解对象配置更改后的当前语义理解库,给所述语音合成对象配置更改后的当前语音合成库。

本发明还提供了一种应用于所述的一种语音交互中的语音切换方法的服务器,包括:第一语音识别模块,用于根据当前配置文件调用对应的当前语音识别库,识别获取到的语音音频数据,得到语音文本数据;第一判断模块,与所述第一语音识别模块电连接,用于判断所述语音文本数据中是否含有语音切换信息;第一配置模块,与所述第一判断模块电连接,用于当所述第一判断模块判断出所述语音文本数据中含有语音切换信息时,根据语音切换信息,修改当前配置文件,得到更新配置文件;并将修改后的更新配置文件作为所述当前配置文件;第一语义理解模块,与所述第一判断模块电连接,用于当所述第一判断模块判断出所述语音文本数据中不含有语音切换信息时,根据所述当前配置文件调用对应的当前语义理解库,查找所述语音文本数据对应的语音回复文本数据;第一语音合成模块,与所述第一语义理解模块电连接,用于根据当前配置文件调用对应的当前语音合成库,将所述语音回复文本数据转换为对应的语音回复音频数据。

优选的,所述服务器还包括:第一对象创建模块,用于创建所述语音识别对象、所述语义理解对象、所述语音合成对象;第一初始化模块,用于初始化所有的语音识别库、所有的语义理解库、所有的语音合成库;所述第一配置模块,分别与所述第一对象创建模块、所述第一初始化模块电连接、还用于将默认配置文件作为所述当前配置文件,给所述语音识别对象配置对应的当前语音识别库,给所述语义理解对象配置对应的当前语义理解库,给所述语音合成对象配置对应的当前语音合成库。

优选的,所述服务器还包括:第一文本解析模块,与所述第一语音识别模块电连接,用于解析所述语音文本数据,得到所述语音文本数据对应的多类关键词;所述第一判断模块,还与所述第一文本解析模块电连接,还用于判断所述多类关键词的组合是否与预设语音切换信息匹配;若匹配,则判断出所述语音文本数据中含有语音切换信息;否则,判断出所述语音文本数据中不含有语音切换信息。

优选的,所述服务器还包括:第一知识库解析模块,用于解析所述语音切换信息,得到所述语音识别对象对应的更新语音识别库、所述语义理解对象对应的更新语义理解库、所述语音合成对象对应的更新语音合成库;所述第一配置模块,还用于在所述当前配置文件中设置所述更新语音识别库对应的标识信息、所述更新语义理解库对应的标识信息、所述更新语音合成库对应的标识信息;并将修改后的更新配置文件作为所述当前配置文件。所述第一配置模块,还用于根据所述当前配置文件给所述语音识别对象配置对应的当前语音识别库,给所述语义理解对象配置对应的当前语义理解库,给所述语音合成对象配置对应的当前语音合成库。

优选的,所述第一配置模块,还用于更改所述默认配置文件,得到配置修改文件,并根据所述配置修改文件,给所述语音识别对象配置更改后的当前语音识别库,给所述语义理解对象配置更改后的当前语义理解库,给所述语音合成对象配置更改后的当前语音合成库。

本发明还提供了应用于一种语音交互中的语音切换方法的一种语音交互中的语音切换系统,包括机器人和服务器;

所述服务器包括:第一语音识别模块,用于根据当前配置文件调用对应的当前语音识别库,识别获取到的语音音频数据,得到语音文本数据;第一判断模块,与所述第一语音识别模块电连接,用于判断所述语音文本数据中是否含有语音切换信息;第一配置模块,与所述第一判断模块电连接,用于当所述第一判断模块判断出所述语音文本数据中含有语音切换信息时,根据语音切换信息,修改当前配置文件,得到更新配置文件;并将修改后的更新配置文件作为所述当前配置文件;第一语义理解模块,与所述第一判断模块电连接,用于当所述第一判断模块判断出所述语音文本数据中不含有语音切换信息时,根据所述当前配置文件调用对应的当前语义理解库,查找所述语音文本数据对应的语音回复文本数据;

所述机器人包括:第二语音合成模块,与所述第一语义理解模块通信连接,用于根据当前配置文件调用对应的当前语音合成库,将所述语音回复文本数据转换为对应的语音回复音频数据。

优选的,所述服务器还包括:第一对象创建模块,用于创建所述语音识别对象、所述语义理解对象;第一初始化模块,用于初始化所有的语音识别库、所有的语义理解库;所述第一配置模块,分别与所述第一对象创建模块、所述第一初始化模块电连接、还用于将默认配置文件作为所述当前配置文件,给所述语音识别对象配置对应的当前语音识别库,给所述语义理解对象配置对应的当前语义理解库;

所述机器人还包括:第二对象创建模块,用于创建所述语音合成对象;第二初始化模块,用于初始化所有的语音合成库;第二配置模块,分别与所述第二对象创建模块、所述第二初始化模块电连接、用于将默认配置文件作为所述当前配置文件,给所述语音合成对象配置对应的当前语音合成库。

优选的,所述服务器还包括:第一文本解析模块,与所述第一语音识别模块电连接,用于解析所述语音文本数据,得到所述语音文本数据对应的多类关键词;

所述第一判断模块,还与所述第一文本解析模块电连接,还用于判断所述多类关键词的组合是否与预设语音切换信息匹配;若匹配,则判断出所述语音文本数据中含有语音切换信息;否则,判断出所述语音文本数据中不含有语音切换信息。

优选的,所述服务器还包括:第一知识库解析模块,用于解析所述语音切换信息,得到所述语音识别对象对应的更新语音识别库、所述语义理解对象对应的更新语义理解库、所述语音合成对象对应的更新语音合成库;

所述第一配置模块,还用于在所述当前配置文件中设置所述更新语音识别库对应的标识信息、所述更新语义理解库对应的标识信息、所述更新语音合成库对应的标识信息;并将修改后的更新配置文件作为所述当前配置文件。

优选的,所述第一配置模块,还用于更改所述默认配置文件,得到配置修改文件,并根据所述配置修改文件,给所述语音识别对象配置更改后的当前语音识别库,给所述语义理解对象配置更改后的当前语义理解库;

所述第二配置模块,还用于更改所述默认配置文件,得到配置修改文件,并根据所述配置修改文件,给所述语音合成对象配置更改后的当前语音合成库。

通过本发明提供的一种语音交互中的语音切换方法、服务器及系统,能够带来以下至少一种有益效果:

1、本发明能够通过当前语音识别库、当前语义理解库、当前语音合成库,识别用户所说的话,即语音音频数据,并回复对应的回复语言,即语音回复音频数据。实现了机器人与用户的语音交互,提高了机器人的智能性。同时,本发明首先会初始化所有会被用到的所有的语音识别库、所有的语义理解库、所有的语音合成库,在语音切换时,只需要更改配置文件,调用相应的语音识别库、语义理解库、语音合成库即可,大大缩短了语音切换的时间,提高了机器人在人机交互中的反应能力,在进行语音交互时,用户不需要等待太长的时间,增加了机器人的智能化。

2、由于不同的语音识别库、语义理解库、语音合成库对不同语言的处理能力有所不同,因此,在不同的语言环境下对于语音识别库、语义理解库、语音合成库进行切换非常重要。

本发明在原有语音识别的基础上,在语音识别之后、语义识别之前,增加判断用户说的话中是否含有语音切换信息的步骤;使得机器人能够在不同语言环境下完成实时切换。

若含有语音切换信息,服务器或者机器人可以根据语音切换信息对应的语言,重新修改当前配置文件,当服务器读取当前配置文件,能够调用处理对应语言能力较好的调用语音识别库、语义理解库、语音合成库。本发明能够最大程度地优化服务器的处理能力,满足使用不同语言的用户的需求,提高了用户的体验感。

4、通过解析所述语音文本数据中的关键词,判断所述多类关键词的组合是否与预设语音切换信息匹配;能够准确判断所述语音文本数据中是否含有语音切换信息。

5、在切换语音识别库、语义理解库、语音合成库时,会清空原有配置,使得配置过程中不占用其他内存,提高机器人和服务器的运行速度。

附图说明

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

图1是本发明一种语音交互中的语音切换方法的一个实施例的流程图;

图2是本发明一种语音交互中的语音切换方法的一个实施例的流程图;

图3是本发明一种服务器的一个实施例的结构示意图;

图4是本发明一种服务器的另一个实施例的结构示意图;

图5是本发明一种语音交互中的语音切换系统的一个实施例的结构示意图。

附图标号说明:

1-服务器、10-第一对象创建模块、11-第一语音识别模块、12-第一判断模块、13-第一配置模块、14-第一语义理解模块、15-第一语音合成模块、16-第一初始化模块、17-第一文本解析模块、18-第一知识库解析模块、2-机器人、20-第二对象创建模块、21-第二配置模块、22-第二语音合成模块、23-第二初始化模块。

具体实施方式

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

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

如图1所示,本发明提供了一种语音交互中的语音切换方法的一个实施例,包括:

s30根据当前配置文件调用对应的当前语音识别库,识别获取到的语音音频数据,得到语音文本数据;

s40判断所述语音文本数据中是否含有语音切换信息;

s50若有,则根据语音切换信息,修改当前配置文件,得到更新配置文件;并将修改后的更新配置文件作为所述当前配置文件,返回步骤s30;

s60若无,根据所述当前配置文件调用对应的当前语义理解库,查找所述语音文本数据对应的语音回复文本数据;

s70根据当前配置文件调用对应的当前语音合成库,将所述语音回复文本数据转换为对应的语音回复音频数据。

由于在不同的语言环境下,语音识别库、语义理解库、语音合成库的处理能力也会有所不同,比如科大讯飞、捷通、思必驰等等语音识别公司对不同语言的处理能力是不一样的,因此若是在不同语言环境下不对语音识别库、语义理解库、语音合成库进行切换,很有可能造成机器人的语音交互能力下降,或者不能识别用户说的话。因此,根据不同语言环境,切换不同的语音识别库、语义理解库、语音合成库是很有必要的。

具体的,本实施例中,机器人在接收到用户发出的语音音频数据之后,会将所述语音音频数据(例如tts音频数据)发送到服务器,服务器读取当前配置文件,调用所述当前配置文件中记录的当前语音识别库进行识别,将语音音频数据识别成为语音文本数据(例如text文本数据)。例如,用户说:“您好”,服务器会识别“您好”这句话对应的语音音频数据,并得到“您好”这句话对应的语音文本数据。

服务器会通过预先设置的语言逻辑识别规则,判断所述语音文本数据中是否含有语音切换信息。例如,用户如果说:“请说英语”时,服务器会判断出用户说的话中含有语音切换信息,用户如果说:“您好”,服务器会判断出用户说的话中不含有语音切换信息。

若所述语音文本数据中含有语音切换信息,服务器会根据语音切换信息,重新设置所述当前配置文件,并将重新设置后的当前配置文件作为所述当前配置文件。例如,用户如果说:“请说英语”,服务器判断出用户说的话中含有英语对应的语音切换信息时,将所述当前配置文件的内容设置为处理英语能力较好的语音识别库、语义理解库、语音合成库对应的标识信息。用户说英语时,服务器就会读取修改后的当前配置文件,调用重新设置过后的处理英语能力较好的语音识别库、语义理解库、语音合成库,以此来更好地识别用户所说的语言,提高机器人的语音互动的能力。

若所述语音文本数据中不含有语音切换信息,服务器会读取当前配置文件,调用所述当前配置文件记录的当前语义理解库,查找所述语音文本数据对应的语音回复文本数据。例如,用户说的是“您好”,服务器会在当前语义理解库中查找出“您好”这句话对应的语音回复文本数据是“您也好”。

之后,服务器会再次读取所述当前配置文件,调用所述当前配置文件记录的当前语音合成库,将所述语音回复文本数据转换为对应的语音回复音频数据,并将所述语音回复音频数据发送到机器人,机器人会发出所述语音回复音频数据,用户就会听到“您也好”这句话。

此外,由于当前语音合成库的作用是将语音文本数据(例如text文本数据)转换为语音音频数据(例如tts音频数据),因此,对当前语音合成库性能的要求不会太高,不用经常根据语音切换信息切换当前语音合成库,所以既可以将当前语音合成库配置在服务器端,也可以将当前语音合成库配置在机器人端。

当语音合成库配置在机器人端时,服务器通过当前语义理解库得到所述语音回复文本数据之后,会将所述语音回复文本数据发送给机器人,所述机器人读取当前配置文件,调用当前语音合成库来将所述语音回复文本数据转换为对应的语音回复音频数据,并发出所述语音回复音频数据。

可以看出,服务器或机器人在进行语音识别、语义理解、语音合成等步骤时,都是通过读取当前配置文件来调用相应的语音识别库、语义理解库、语音合成库。因此在进行语音切换的时候,只需要根据用户发出的语音切换信息,将当前配置文件的数据更改为处理相应语言较好的语音识别库、语义理解库、语音合成库对应的标识信息即可。

如图2所示,本发明提供了一种语音交互中的语音切换方法的另一个实施例,包括:

s10创建所述语音识别对象、所述语义理解对象、所述语音合成对象;

s11初始化所有的语音识别库、所有的语义理解库、所有的语音合成库;

s12将默认配置文件作为所述当前配置文件,并根据所述当前配置文件给所述语音识别对象配置对应的当前语音识别库,给所述语义理解对象配置对应的当前语义理解库,给所述语音合成对象配置对应的当前语音合成库。

s30根据当前配置文件调用对应的当前语音识别库,识别获取到的语音音频数据,得到语音文本数据;

s40判断所述语音文本数据中是否含有语音切换信息;

优选的,步骤s40具体包括:

s401解析所述语音文本数据,得到所述语音文本数据对应的多类关键词;所述多类关键词包括名称类关键词、动作执行类关键词;

s402判断所述多类关键词的组合是否与预设语音切换信息匹配;

s403若匹配,则进一步判断所述语音文本数据是否存在疑问语气词;

s404若不存在,则判断出所述语音文本数据中含有语音切换信息;

s405否则,判断所出述语音文本数据中不含有语音切换信息。

s50若有,则根据语音切换信息,修改当前配置文件,得到更新配置文件;并将修改后的更新配置文件作为所述当前配置文件,返回步骤s30;

优选的,步骤s50具体包括:

s501解析所述语音切换信息,得到更新语音识别库、更新语义理解库、更新语音合成库;

s502在所述当前配置文件中设置所述更新语音识别库对应的标识信息、所述更新语义理解库对应的标识信息、所述更新语音合成库对应的标识信息;并将修改后的更新配置文件作为所述当前配置文件;

s503根据所述当前配置文件给所述语音识别对象配置对应的当前语音识别库,给所述语义理解对象配置对应的当前语义理解库,给所述语音合成对象配置对应的当前语音合成库。

s60若无,根据所述当前配置文件调用对应的当前语义理解库,查找所述语音文本数据对应的语音回复文本数据;

s70根据当前配置文件调用对应的当前语音合成库,将所述语音回复文本数据转换为对应的语音回复音频数据;返回步骤s30。

优选的,所述步骤s12之后包括步骤:s20更改所述默认配置文件,得到配置修改文件,并根据所述配置修改文件,给所述语音识别对象配置更改后的当前语音识别库,给所述语义理解对象配置更改后的当前语义理解库,给所述语音合成对象配置更改后的当前语音合成库。

具体的,本实施例中,当开启语音切换功能后,服务器创建所述语音识别对象、所述语义理解对象、所述语音合成对象;初始化通用形态参数,然后服务器将下载在语音交互中需要使用到的语音识别库、语义理解库、语音合成库,储存在内存中,并初始化所述语音识别对象对应的所有的语音识别库、所述语义理解对象对应的所有的语义理解库、所述语音合成对象对应的所有的语音合成库。这样,服务器在进行语音切换的时候,就可以直接根据当前配置文件直接调用相应的语音识别库、语义理解库、语音合成库。服务器处理起来效率会得到很大的提升。

除此以外,当前语音合成库配置在机器人上时,服务器会创建所述语音识别对象、所述语义理解对象,机器人创建所述语音合成对象;之后服务器会根据预先设置的配置文件,初始化当前语音识别库、当前语义理解库,并给所述语音识别对象配置当前语音识别库,给所述语义理解对象配置当前语义理解库。机器人也会根据预先设置的配置文件,初始化当前语音合成库,并给所述语音合成对象配置当前语音合成库。

在接收到用户发出的语音音频数据时,服务器会读取当前配置文件,查看当前所用的当前语音识别库是哪个库,并调用此当前语音识别库来识别所述语音音频数据,得到语音文本数据。

之后服务器判断语音文本数据是否含有语音切换信息;例如,用户说的是:“canyouspeakenglish?”,则服务器会识别出用户说的是英语,并将当前语音识别库、当前语义理解库、当前语音合成库切换为处理英语能力较好的语音识别库、语义理解库、语音合成库。

具体切换时,服务器会修改当前配置文件,将所述当前配置文件上的信息修改为处理英语能力较好的语音识别库、语义理解库、语音合成库对应的标识信息。当再次接受到用户说的英语时,服务器读取当前配置文件,调用处理英语能力较好的语音识别库、语义理解库、语音合成库进行处理,实现更好的人机交互。

当服务器需要进行语义理解或语音合成时,只需要读取配置文件,调用相应的语义理解库或语音合成库,即可完成语义理解或语音合成。

由上述内容可知,在进行语音交互时,服务器或机器人只进行了一次初始化过程,储存了所有的语音识别库、语义理解库、语音合成库。在语音切换时,只需要更改配置文件,调用相应的语音识别库、语义理解库、语音合成库即可,大大缩短了语音切换的时间,在进行语音交互时,用户不需要等待太长的时间,增加了机器人的智能化。

本实施例还具体阐述了如何判断所述语音文本数据中是否含有语音切换信息;在服务器通过语音识别库识别获取到的语音音频数据,得到语音文本数据之后,服务器会解析所述语音文本数据,得到所述语音文本数据对应的多类关键词、语气词、语言逻辑。

例如,用户说的是:“请说葡萄牙语”,服务器解析“请说葡萄牙语”对应的语音文本数据,得到“葡萄牙语”的名称类关键词、以及“说”的动作执行类关键词,可以组合成为“说葡萄牙语”。之后,服务器会判断所述“说葡萄牙语”这个组合与预设语音切换信息匹配,则判断出所述语音文本数据中含有语音切换信息。

再例如,用户说的是:“你会请说法语吗”,服务器解析“你会请说法语吗”,对应的语音文本数据,得到“法语”“说”两个关键词,以及语气词“吗”。虽然两个关键词可以组合成为“说法语”,但是有一个语气词“吗”,因此可以判断语言逻辑为问句,因此不会判断出所述语音文本数据中含有语音切换信息。

用户可以根据机器人的使用情况,重新设置所述默认配置文件。比如以前机器人的使用客户大多使用汉语,则可以在所述配置文件中,将语音识别库、语义理解库、语音合成库设置成为处理汉语能力较好的语音识别库、语义理解库、语音合成库。当机器人的使用客户变成了使用英语的客户,则可以根据重新设置所述配置文件,将语音识别库、语义理解库、语音合成库设置成为处理英语能力较好的语音识别库、语义理解库、语音合成库。

如图3所示,本发明提供给了一种服务器的一个实施例,包括:

第一语音识别模块11,用于根据当前配置文件调用对应的当前语音识别库,识别获取到的语音音频数据,得到语音文本数据;

第一判断模块12,与所述第一语音识别模块11电连接,用于判断所述语音文本数据中是否含有语音切换信息;

第一配置模块13,与所述第一判断模块12电连接,用于当所述第一判断模块判断出所述语音文本数据中含有语音切换信息时,根据语音切换信息,修改当前配置文件,得到更新配置文件;并将修改后的更新配置文件作为所述当前配置文件;

第一语义理解模块14,与所述第一判断模块12电连接,用于当所述第一判断模块12判断出所述语音文本数据中不含有语音切换信息时,根据所述当前配置文件调用对应的当前语义理解库,查找所述语音文本数据对应的语音回复文本数据;

第一语音合成模块15,与所述第一语义理解模块14电连接,用于根据当前配置文件调用对应的当前语音合成库,将所述语音回复文本数据转换为对应的语音回复音频数据。

在本实施例中,服务器1可以看成是人机交互中的核心处理器。本实施例将会举两个例子,说明服务器1是如何进行语音切换的。

例如:当机器人2接收到用户说:“ineedhelp”之后,会将这句话对应的语音音频数据发送到服务器1。服务器1接收到所述语音音频数据之后,会读取当前配置文件,调用所述当前配置文件中记录的当前语音识别库,对所述语音音频数据进行识别,得到“ineedhelp”对应的语音文本数据。

服务器1会通过预先设置的语言逻辑识别规则,判断所述语音文本数据中含有语音切换信息。之后服务器1会根据语音切换信息,识别出用户将要说的是英语,因此,服务器1会重新设置所述当前配置文件,将所述当前配置文件中的内容修改为处理英语能力较好的语音识别库、语义理解库、语音合成库对应的标识信息。

之后,服务器1会读取当前配置文件,调用当前语义理解库中查找“ineedhelp”对应的回复语言,例如为:“whatcanidoforyou”。接下来,服务器1会读取当前配置文件,调用当前语音合成库,将“whatcanidoforyou”对应的语音回复文本数据转换为语音回复音频数据,并将所述语音回复音频数据发送给机器人2,机器人2就可以说出“whatcanidoforyou”这句话。

再例如:当用户说的是“您好”这句话时,机器人2会将这句话对应的语音音频数据发送到服务器1。服务器1接收到所述语音音频数据之后,会读取当前配置文件,调用所述当前配置文件中记录的当前语音识别库,对所述语音音频数据进行识别,得到“您好”对应的语音文本数据。

服务器1会通过预先设置的语言逻辑识别规则,判断所述语音文本数据中不含有语音切换信息。

之后,服务器1会读取当前配置文件,调用当前语义理解库中查找“您好”对应的回复语言,例如为:“您也好”。接下来,服务器1会读取当前配置文件,调用当前语音合成库,将“您也好”对应的语音回复文本数据转换为语音回复音频数据,并将所述语音回复音频数据发送给机器人2,机器人2就可以说出“您也好”这句话。

如图4所示,本发明还提供了一种服务器的另一个实施例,包括:

第一语音识别模块11,用于根据当前配置文件调用对应的当前语音识别库,识别获取到的语音音频数据,得到语音文本数据;

第一判断模块12,与所述第一语音识别模块11电连接,用于判断所述语音文本数据中是否含有语音切换信息;

第一配置模块13,与所述第一判断模块12电连接,用于当所述第一判断模块12判断出所述语音文本数据中含有语音切换信息时,根据语音切换信息,修改当前配置文件,得到更新配置文件;并将修改后的更新配置文件作为所述当前配置文件;

第一语义理解模块14,与所述第一判断模块12电连接,用于当所述第一判断模块12判断出所述语音文本数据中不含有语音切换信息时,根据所述当前配置文件调用对应的当前语义理解库,查找所述语音文本数据对应的语音回复文本数据;

第一语音合成模块15,与所述第一语义理解模块14电连接,用于根据当前配置文件调用对应的当前语音合成库,将所述语音回复文本数据转换为对应的语音回复音频数据。

优选的,所述服务器1还包括:

第一对象创建模块10,用于创建所述语音识别对象、所述语义理解对象、所述语音合成对象;

第一初始化模块16,用于初始化所有的语音识别库、所有的语义理解库、所有的语音合成库;

所述第一配置模块13,分别与所述第一对象创建模块10、所述第一初始化模块16电连接、还用于将默认配置文件作为所述当前配置文件,给所述语音识别对象配置对应的当前语音识别库,给所述语义理解对象配置对应的当前语义理解库,给所述语音合成对象配置对应的当前语音合成库。

优选的,所述服务器1还包括:

第一文本解析模块17,与所述第一语音识别模块11电连接,用于解析所述语音文本数据,得到所述语音文本数据对应的多类关键词;

所述第一判断模块12,还与所述第一文本解析模块17电连接,还用于判断所述多类关键词的组合是否与预设语音切换信息匹配;若匹配,则判断出所述语音文本数据中含有语音切换信息;否则,判断出所述语音文本数据中不含有语音切换信息。

优选的,所述服务器1还包括:

第一知识库解析模块18,用于解析所述语音切换信息,得到所述语音识别对象对应的更新语音识别库、所述语义理解对象对应的更新语义理解库、所述语音合成对象对应的更新语音合成库;

所述第一配置模块13,还用于在所述当前配置文件中设置所述更新语音识别库对应的标识信息、所述更新语义理解库对应的标识信息、所述更新语音合成库对应的标识信息;并将修改后的更新配置文件作为所述当前配置文件。

本实施例阐述了服务器1如何判断所述语音文本数据中是否含有语音切换信息,具体可参照上述方法实施例,此处不再赘述。

此外,由于各个语音识别系统对不同语言的处理能力不一样,例如在处理法语时,a公司的a语音识别库的处理能力最好,b公司的b语义理解库的处理能力最好,c公司的c语音合成库的处理能力最好。在处理西班牙语时,b公司的b语音识别库的处理能力最好,c公司的c语义理解库的处理能力最好,a公司的a语音合成库的处理能力最好。

当服务器1解析到语音切换信息,语音识别库、语义理解库、语音合成库可以分别使用不同的语音识别系统。若需要从汉语切换到识别法语时,可以将语音识别对象、语义理解对象、语音合成对象分别配置为a语音识别库、b语义理解库、c语音合成库。

当服务器1解析到语音切换信息,需要由法语切换到西班牙语时,可以将语音识别对象、语义理解对象、语音合成对象分别配置为b语音识别库、c语义理解库、a语音合成库。

不同系统的语音识别对象、语义理解对象、语音合成对象会存在兼容性问题,但是可以通过设置系统参数解决,属于现有技术,此处不再赘述。

在机器人2刚开始对用户语音进行识别时,服务器1首次调用的是储存在内存中的默认配置文件,调用对应的语音识别库进行识别的。因此,用户可以根据机器人2的使用情况,重新设置所述默认配置文件。比如以前机器人2的使用客户大多使用汉语,则可以在所述配置文件中,将语音识别库、语义理解库、语音合成库设置成为处理汉语能力较好的语音识别库、语义理解库、语音合成库。当机器人2的使用客户变成了使用英语的客户,则可以根据重新设置所述配置文件,将语音识别库、语义理解库、语音合成库设置成为处理英语能力较好的语音识别库、语义理解库、语音合成库。

如图5所示,本发明提供了一种应用于一种语音交互中的语音切换系统,一个实施例,包括包括机器人2和服务器1:

所述服务器1包括:

第一语音识别模块11,用于根据当前配置文件调用对应的当前语音识别库,识别获取到的语音音频数据,得到语音文本数据;

第一判断模块12,与所述第一语音识别模块11电连接,用于判断所述语音文本数据中是否含有语音切换信息;

第一配置模块13,与所述第一判断模块12电连接,用于当所述第一判断模块12判断出所述语音文本数据中含有语音切换信息时,根据语音切换信息,修改当前配置文件,得到更新配置文件;并将修改后的更新配置文件作为所述当前配置文件;

第一语义理解模块14,与所述第一判断模块12电连接,用于当所述第一判断模块12判断出所述语音文本数据中不含有语音切换信息时,根据所述当前配置文件调用对应的当前语义理解库,查找所述语音文本数据对应的语音回复文本数据;

所述机器人2包括:

第二语音合成模块22,与所述第一语义理解模块14通信连接,用于根据当前配置文件调用对应的当前语音合成库,将所述语音回复文本数据转换为对应的语音回复音频数据。

优选的,所述服务器1还包括:第一对象创建模块10,用于创建所述语音识别对象、所述语义理解对象;第一初始化模块16,用于初始化所有的语音识别库、所有的语义理解库;所述第一配置模块13,分别与所述第一对象创建模块10、所述第一初始化模块16电连接、还用于将默认配置文件作为所述当前配置文件,给所述语音识别对象配置对应的当前语音识别库,给所述语义理解对象配置对应的当前语义理解库。

所述机器人2还包括:第二对象创建模块20,用于创建所述语音合成对象;第二初始化模块23,用于初始化所有的语音合成库;第二配置模块21,分别与所述第一对象创建模块10、所述第二初始化模块23电连接、用于将默认配置文件作为所述当前配置文件,给所述语音合成对象配置对应的当前语音合成库。

优选的,所述服务器1还包括:第一文本解析模块17,与所述第一语音识别模块11电连接,用于解析所述语音文本数据,得到所述语音文本数据对应的多类关键词;

所述第一判断模块12,还与所述第一文本解析模块17电连接,还用于判断所述多类关键词的组合是否与预设语音切换信息匹配;若匹配,则判断出所述语音文本数据中含有语音切换信息;否则,判断出所述语音文本数据中不含有语音切换信息。

优选的,所述服务器1还包括:第一知识库解析模块18,用于解析所述语音切换信息,得到所述语音识别对象对应的更新语音识别库、所述语义理解对象对应的更新语义理解库、所述语音合成对象对应的更新语音合成库;

所述第一配置模块13,还用于在所述当前配置文件中设置所述更新语音识别库对应的标识信息、所述更新语义理解库对应的标识信息、所述更新语音合成库对应的标识信息;并将修改后的更新配置文件作为所述当前配置文件。

优选的,所述第一配置模块13,还用于更改所述默认配置文件,得到配置修改文件,并根据所述配置修改文件,给所述语音识别对象配置更改后的当前语音识别库,给所述语义理解对象配置更改后的当前语义理解库;

所述第二配置模块21,还用于更改所述默认配置文件,得到配置修改文件,并根据所述配置修改文件,给所述语音合成对象配置更改后的当前语音合成库。

具体的,在配置过程中,可以对语音识别库、语义理解库、语音合成库设置标识信息,比如讯飞对应的语音识别库标识信息为a,捷通对应的语音识别库标识信息为b,讯飞对应的语义理解库标识信息为c,捷通对应的语义理解库标识信息为d,讯飞对应的语音合成库标识信息为e,捷通对应的语音合成库标识信息为f。在设置配置文件时,可以记录语音识别库、语义理解库、语音合成库分别对应的标识信息。服务器1读取配置文件时,会获取语音识别库、语义理解库、语音合成库对应的标识信息,并将对应的标识信息赋予对应的所述语音识别对象、所述语义理解对象、所述语音合成对象,所述语音识别对象、所述语义理解对象、所述语音合成对象通过标识信息,查找到对应的库,完成后续的识别程序。通过设置标识信息的方法,服务器1能够提高配置速度,节约配置时间,提升机器人2的反应力。

机器人2在接收到用户发出的语音音频数据之后,会将所述语音音频数据(例如tts音频数据)发送到服务器1的当前语音识别库进行识别,服务器1将语音音频数据识别成为语音文本数据(例如text文本数据)。例如,用户说:“您好”,服务器1会识别“您好”这句话对应的语音音频数据,并得到“您好”这句话对应的语音文本数据。

服务器1会通过预先设置的语言逻辑识别规则,判断所述语音文本数据中是否含有语音切换信息。

例如,用户说:“请说法语”,服务器1接收到“请说法语”对应的语音音频数据之后,会通过语音识别对象将语音音频数据识别为语音文本数据;服务器1会解析语音文本数据含有语音切换信息,重新设置默认配置文件,将默认配置文件中的内容修改为处理法语能力较好的更新语音识别库、更新语义理解库、更新语音合成库,并将修改后的更新配置文件储存在内存当中。

之后服务器1会重新启动语音服务系统,重新读取更新配置文件,给所述语音识别对象配置所述更新语音识别库,并将所述更新语音识别库作为所述当前语音识别库;和/或重新给所述语义理解对象配置所述更新语义理解库,并将所述更新语义理解库作为所述当前语义理解库;和/或重新给语音合成对象配置所述更新语音合成库,并将所述更新语音合成库作为所述当前语音合成库。

若所述语音文本数据中不含有语音切换信息,服务器1会通过当前语义理解库,查找所述语音文本数据对应的语音回复文本数据。例如,用户说的是“您好”,服务器1会在当前语义理解库中查找出“您好”这句话对应的语音回复文本数据是“您也好”,并将所述语音回复文本数据发送给机器人2。

之后,机器人2通过所述当前语音合成库,将所述语音回复文本数据转换为对应的语音回复音频数据,并将所述语音回复音频数据发送到机器人2,机器人2会发出所述语音回复音频数据,用户就会听到“您也好”这句话。

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

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