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

文档序号:15048574发布日期:2018-07-27 23:26阅读:289来源:国知局

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



背景技术:

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

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

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

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



技术实现要素:

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

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

本发明提供了一种语音切换方法,包括步骤:s30通过当前语音识别库识别获取到的语音音频数据,得到语音文本数据;s40判断所述语音文本数据中是否含有语音切换信息;s50若有,则根据语音切换信息,更改当前语音识别库、和/或当前语义理解库、和/或当前语音合成库,返回步骤s30;s60若无,通过所述当前语义理解库,查找所述语音文本数据对应的语音回复文本数据;s70通过所述当前语音合成库,将所述语音回复文本数据转换为对应的语音回复音频数据。

优选的,步骤s30之前包括:s10创建所述语音识别对象、所述语义理解对象、所述语音合成对象;s20根据默认配置文件,给所述语音识别对象配置当前语音识别库,给所述语义理解对象配置当前语义理解库,给所述语音合成对象配置当前语音合成库。

优选的,步骤s40具体包括:s401解析所述语音文本数据,得到所述语音文本数据对应的多类关键词;所述多类关键词包括名称类关键词、动作执行类关键词;s402判断所述多类关键词的组合是否与预设语音切换信息匹配;s403若匹配,则进一步判断所述语音文本数据是否存在疑问语气词;s404若不存在,则判断出所述语音文本数据中含有语音切换信息;s405否则,判断所出述语音文本数据中不含有语音切换信息。

优选的,步骤s50具体包括:s501若有,清空所述语音识别对象配置的所述当前语音识别库、和/或所述语义理解对象配置的所述当前语义理解库、和/或所述语音合成对象配置的所述当前语音合成库;s502解析所述语音切换信息,得到所述语音识别对象对应的更新语音识别库、所述语义理解对象对应的更新语义理解库、所述语音合成对象对应的更新语音合成库;s503重新给所述语音识别对象配置所述更新语音识别库,并将所述更新语音识别库作为所述当前语音识别库;和/或重新给所述语义理解对象配置所述更新语义理解库,并将所述更新语义理解库作为所述当前语义理解库;和/或重新给语音合成对象配置所述更新语音合成库,并将所述更新语音合成库作为所述当前语音合成库。

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

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

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

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

优选的,所述服务器还包括:第一处理模块,与所述第一判断模块电连接,用于当所述判断模块判断出所述语音文本数据中含有语音切换信息时,清空所述语音识别对象配置的所述当前语音识别库、和/或所述语义理解对象配置的所述当前语义理解库、和/或所述语音合成对象配置的所述当前语音合成库;第一解析模块,用于解析所述语音切换信息,得到所述语音识别对象对应的更新语音识别库、所述语义理解对象对应的更新语义理解库、所述语音合成对象对应的更新语音合成库;所述第一配置模块,还与所述第一解析模块电连接,还用于重新给所述语音识别对象配置所述更新语音识别库,并将所述更新语音识别库作为所述当前语音识别库;和/或重新给所述语义理解对象配置所述更新语义理解库,并将所述更新语义理解库作为所述当前语义理解库;和/或重新给语音合成对象配置所述更新语音合成库,并将所述更新语音合成库作为所述当前语音合成库。

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

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

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

所述机器人包括:第二配置模块,与所述第一判断模块通信连接,用于当所述判断模块判断出所述语音文本数据中含有语音切换信息时,更改当前语音合成库;第二语音合成模块,与所述第一语义理解模块通信连接,用于通过所述当前语音合成库,将所述语音回复文本数据转换为对应的语音回复音频数据。

优选的,所述服务器还包括:第一对象创建模块,用于创建所述语音识别对象、所述语义理解对象;所述第一配置模块,与所述第一对象创建模块电连接,还用于根据预先设置的配置文件,给所述语音识别对象配置当前语音识别库,和/或给所述语义理解对象配置当前语义理解库;

所述机器人还包括:第二对象创建模块,用于创建所述语音合成对象;所述第二配置模块,还用于根据预先设置的配置文件,给所述语音合成对象配置当前语音合成库。

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

优选的,所述服务器还包括:第一处理模块,与所述第一判断模块电连接,用于当所述判断模块判断出所述语音文本数据中含有语音切换信息时,清空所述语音识别对象配置的所述当前语音识别库、和/或所述语义理解对象配置的所述当前语义理解库;第一解析模块,用于解析所述语音切换信息,得到所述语音识别对象对应的更新语音识别库、所述语义理解对象对应的更新语义理解库;所述第一配置模块,还用于重新给所述语音识别对象配置所述更新语音识别库,并将所述更新语音识别库作为所述当前语音识别库;和/或重新给所述语义理解对象配置所述更新语义理解库,并将所述更新语义理解库作为所述当前语义理解库;

所述机器人还包括:第二处理模块,用于用于当所述判断模块判断出所述语音文本数据中含有语音切换信息时,清空所述语音合成对象配置的所述当前语音合成库;所述第二配置模块,用于重新给语音合成对象配置所述更新语音合成库,并将所述更新语音合成库作为所述当前语音合成库。

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

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

1、本发明能够通过当前语音识别库、当前语义理解库、当前语音合成库,识别用户所说的话,即语音音频数据,并回复对应的回复语言,即语音回复音频数据。实现了机器人与用户的语音交互,提高了机器人的智能性。

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

本发明在原有语音识别的基础上,在语音识别之后、语义识别之前,增加判断用户说的话中是否含有语音切换信息的步骤;使得机器人处于工作状态时,完成语音热切换。

若含有语音切换信息,服务器或者机器人可以根据语音切换信息对应的不同语言,切换到处理能力最优的语音识别库、语义理解库、语音合成库,最大程度地优化服务器的处理能力,满足使用不同语言的用户的需求,提高了用户的体验感。

3、用户可以根据机器人的使用环境预先设置配置文件,给所述语音识别对象配置当前语音识别库,给所述语义理解对象配置当前语义理解库,给所述语音合成对象配置当前语音合成库。比如使用地点如果在中国,可以在配置文件中将语音识别库、语义理解库、语音合成库设置成为处理汉语能力最优的语音识别库、语义理解库、语音合成库。在服务器处理时,由于用户大多说汉语,服务器不用经常切换语音识别库、语义理解库、语音合成库,提高服务器的处理速度。

4、通过解析所述语音文本数据中的关键词,判断所述多类关键词的组合是否与预设语音切换信息匹配;能够准确判断所述语音文本数据中是否含有语音切换信息。例如用户说:“你能说英语吗?”可以解析出关键词“说”、“英语”;这两个词的组合方式与预设语音切换信息匹配,则可以判断出用户说的话中含有语音切换信息。

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

附图说明

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

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

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

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

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

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

附图标号说明:

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

具体实施方式

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

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

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

s30通过当前语音识别库识别获取到的语音音频数据,得到语音文本数据;

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

s50若有,则根据语音切换信息,更改当前语音识别库、当前语义理解库、当前语音合成库,返回步骤s30;

s60若无,通过所述当前语义理解库,查找所述语音文本数据对应的语音回复文本数据;

s70通过所述当前语音合成库,将所述语音回复文本数据转换为对应的语音回复音频数据。

本实施例可以运用在机器人与人的语音交互中。机器人在语音交互中,包括语音识别、语义理解、语音合成等过程。在语音识别过程中,会通过语音识别库来将所述语音音频数据识别为语音文本数据;语义理解过程中,会通过语义理解库来查找语音文本数据对应的语音回复文本数据;在语音合成过程中,会通过语音合成库来将所述语音回复文本数据转换为对应的语音回复音频数据。

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

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

若所述语音文本数据中含有语音切换信息,服务器会根据语音切换信息更改当前语音识别库、和/或当前语义理解库、和/或当前语音合成库。例如,用户如果说:“请说英语”,服务器会判断所述语音文本数据中含有语音切换信息。之后服务器会将当前语音识别库、当前语义理解库、当前语音合成库更改成为对英语的处理能力更优的语音识别库、语义理解库、语音合成库,从而实现不同语言场景的转换。

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

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

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

在服务器通过当前语义理解库得到所述语音回复文本数据之后,还可以将所述语音回复文本数据发送给机器人,所述机器人通过当前语音合成库来将所述语音回复文本数据转换为对应的语音回复音频数据,并发出所述语音回复音频数据。

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

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

s20根据预先设置的配置文件,给所述语音识别对象配置当前语音识别库,给所述语义理解对象配置当前语义理解库,给所述语音合成对象配置当前语音合成库;

优选的,所述步骤s20之后包括:

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

s30通过当前语音识别库识别获取到的语音音频数据,得到语音文本数据;

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

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

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

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

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

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

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

s50若有,则根据语音切换信息,更改当前语音识别库、当前语义理解库、当前语音合成库,返回步骤s30;

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

s501若有,清空所述语音识别对象配置的所述当前语音识别库、所述语义理解对象配置的所述当前语义理解库、所述语音合成对象配置的所述当前语音合成库;

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

s503重新给所述语音识别对象配置所述更新语音识别库,并将所述更新语音识别库作为所述当前语音识别库;重新给所述语义理解对象配置所述更新语义理解库,并将所述更新语义理解库作为所述当前语义理解库;重新给语音合成对象配置所述更新语音合成库,并将所述更新语音合成库作为所述当前语音合成库;

s60若无,通过所述当前语义理解库,查找所述语音文本数据对应的语音回复文本数据;

s70通过所述当前语音合成库,将所述语音回复文本数据转换为对应的语音回复音频数据。

具体的,本实施例中,当开启语音切换功能后,服务器会创建所述语音识别对象、所述语义理解对象、所述语音合成对象;然后,服务器会根据预先设置的配置文件,下载并储存所述配置文件对应的当前语音识别库、当前语义理解库、当前语音合成库,然后对当前语音识别库、当前语义理解库、当前语音合成库进行初始化,给所述语音识别对象配置当前语音识别库,给所述语义理解对象配置当前语义理解库,给所述语音合成对象配置当前语音合成库。

除此以外,由于语音合成对象的作用是将语音文本数据(例如text文本数据)转换为语音音频数据(例如tts音频数据),因此,对当前语音合成库性能的要求不会太高。因此,可以将语音合成对象设置在机器人上。当用户启用语音切换软件,并选择开启语音切换功能开启之后,服务器会创建所述语音识别对象、所述语义理解对象,机器人创建所述语音合成对象;之后服务器会根据预先设置的配置文件,初始化当前语音识别库、当前语义理解库,并给所述语音识别对象配置当前语音识别库,给所述语义理解对象配置当前语义理解库。

机器人也会根据预先设置的配置文件,初始化当前语音合成库,并给所述语音合成对象配置当前语音合成库。

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

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

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

本实施例还具体阐述了如何根据语音切换信息,更改当前语音识别库、当前语义理解库、当前语音合成库。

首先,为了不占用额外的内存,服务器需要清空给所述语音识别对象配置的所述当前语音识别库、所述语义理解对象配置的所述当前语义理解库、所述语音合成对象配置的所述当前语音合成库。

其次,服务器会解析所述语音切换信息,得到所述语音识别对象对应的更新语音识别库、所述语义理解对象对应的更新语义理解库、所述语音合成对象对应的更新语音合成库;例如用户说的是:“请说葡萄牙语”,服务器会解析出将要切换的语音识别库、语义理解库、语音合成库是能够更好处理葡萄牙语的更新语音识别库、更新语义理解库、更新语音合成库。

最后,服务器重新给所述语音识别对象配置所述更新语音识别库,并将所述更新语音识别库作为所述当前语音识别库;重新给所述语义理解对象配置所述更新语义理解库,并将所述更新语义理解库作为所述当前语义理解库;重新给语音合成对象配置所述更新语音合成库,并将所述更新语音合成库作为所述当前语音合成库。

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

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

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

第一语音识别模块11,用于通过当前语音识别库识别获取到的语音音频数据,得到语音文本数据;

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

第一配置模块13,与所述第一判断模块12电连接,用于当所述判断模块判断出所述语音文本数据中含有语音切换信息时,根据语音切换信息,更改当前语音识别库、和/或当前语义理解库、和/或当前语音合成库;

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

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

本实施例可以运用在机器人2与人的语音交互中。机器人2在语音交互中,包括语音识别、语义理解、语音合成等过程。在语音识别过程中,会通过语音识别库来将所述语音音频数据识别为语音文本数据;语义理解过程中,会通过语义理解库来查找语音文本数据对应的语音回复文本数据;在语音合成过程中,会通过语音合成库来将所述语音回复文本数据转换为对应的语音回复音频数据。

具体的,机器人2在接收到用户发出的语音音频数据之后,会将所述语音音频数据(例如tts音频数据)发送到服务器1的当前语音识别库进行识别,服务器1的第一语音识别模块11将语音音频数据识别成为语音文本数据(例如text文本数据)。例如,用户说:“你叫什么名字”,服务器1的第一语音识别模块11会识别“你叫什么名字”这句话对应的语音音频数据,并得到“你叫什么名字”这句话对应的语音文本数据。

服务器1的第一判断模块12会通过预先设置的语言逻辑识别规则,判断所述语音文本数据中是否含有语音切换信息。例如,用户如果说“请说英语”时,会判断出用户说的话中含有语音切换信息,用户如果说:“你叫什么名字”,则判断出用户说的话中不含有语音切换信息。

若所述语音文本数据中含有语音切换信息,服务器1的第一配置模块13会根据语音切换信息更改当前语音识别库、和/或当前语义理解库、和/或当前语音合成库。例如,用户如果说:“请说英语”,语音切换信息中就含有“说”、“英语”这两个关键词,服务器1会将当前语音识别库、当前语义理解库、当前语音合成库更改成为对英语的处理能力更优的语音识别库、语义理解库、语音合成库,从而实现不同语言场景的转换。

若所述语音文本数据中不含有语音切换信息,服务器1中的第一语义理解模块14会通过当前语义理解库,查找所述语音文本数据对应的语音回复文本数据。例如,用户说的是“你叫什么名字”,服务器1的第一语义理解模块14会在当前语义理解库中查找出“你叫什么名字”这句话对应的语音回复文本数据是“我叫lucy”。

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

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

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

所述第一配置模块13,与所述第一对象创建模块10电连接,还用于根据默认配置文件,给所述语音识别对象配置当前语音识别库,给所述语义理解对象配置当前语义理解库,给所述语音合成对象配置当前语音合成库。

第一语音识别模块11,用于通过当前语音识别库识别获取到的语音音频数据,得到语音文本数据;

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

第一配置模块13,与所述第一判断模块12电连接,用于当所述判断模块判断出所述语音文本数据中含有语音切换信息时,根据语音切换信息,更改当前语音识别库、和/或当前语义理解库、和/或当前语音合成库;

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

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

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

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

第一处理模块16,与所述第一判断模块12电连接,用于当所述判断模块判断出所述语音文本数据中含有语音切换信息时,清空所述语音识别对象配置的所述当前语音识别库、和/或所述语义理解对象配置的所述当前语义理解库、和/或所述语音合成对象配置的所述当前语音合成库;

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

所述第一配置模块13,还与所述第一解析模块17电连接,还用于重新给所述语音识别对象配置所述更新语音识别库,并将所述更新语音识别库作为所述当前语音识别库;和/或重新给所述语义理解对象配置所述更新语义理解库,并将所述更新语义理解库作为所述当前语义理解库;和/或重新给语音合成对象配置所述更新语音合成库,并将所述更新语音合成库作为所述当前语音合成库。

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

具体的,本实施例中,当用户启用语音切换软件,并选择开启语音切换功能开启之后,服务器1会创建所述语音识别对象、所述语义理解对象、所述语音合成对象;然后,服务器1会根据预先设置的配置文件对当前语音识别库、当前语义理解库、当前语音合成库进行初始化,下载并储存所述配置文件对应的当前语音识别库、当前语义理解库、当前语音合成库。初始化后,服务器1会给所述语音识别对象配置当前语音识别库,给所述语义理解对象配置当前语义理解库,给所述语音合成对象配置当前语音合成库。

本实施例还具体阐述了如何判断所述语音文本数据中是否含有语音切换信息;在服务器1通过语音识别库识别获取到的语音音频数据,得到语音文本数据之后,服务器1的第一解析模块17会解析所述语音文本数据,得到所述语音文本数据对应的多类关键词。例如,用户说的是:“请说葡萄牙语”,服务器1的第一解析模块17解析“请说葡萄牙语”对应的语音文本数据,得到“葡萄牙语”、“说”两个关键词,可以组合成为“说葡萄牙语”。之后,服务器1会判断所述多类关键词的组合是否与预设语音切换信息匹配;若匹配,则进一步判断所述语音文本数据是否存在疑问语气词;若不存在,则判断出所述语音文本数据中含有语音切换信息;否则,判断所出述语音文本数据中不含有语音切换信息本实施例还具体阐述了如何根据语音切换信息,更改当前语音识别库、当前语义理解库、当前语音合成库。

首先,为了不占用额外的内存,服务器1的第一处理模块16需要清空给所述语音识别对象配置的所述当前语音识别库、所述语义理解对象配置的所述当前语义理解库、所述语音合成对象配置的所述当前语音合成库。

其次,服务器1会解析所述语音切换信息,得到所述语音识别对象对应的更新语音识别库、所述语义理解对象对应的更新语义理解库、所述语音合成对象对应的更新语音合成库;例如用户说的是:“请说葡萄牙语”,服务器1会解析出将要切换的语音识别库、语义理解库、语音合成库是葡萄牙语对应的更新语音识别库、更新语义理解库、更新语音合成库。

最后,服务器1重新给所述语音识别对象配置所述更新语音识别库,并将所述更新语音识别库作为所述当前语音识别库;重新给所述语义理解对象配置所述更新语义理解库,并将所述更新语义理解库作为所述当前语义理解库;重新给语音合成对象配置所述更新语音合成库,并将所述更新语音合成库作为所述当前语音合成库。

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

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

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

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

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

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

本实施例中,还将列举两个例子,用以说明服务器1和机器人2是如何与用户进行沟通的。

例1,当用户说:“你叫什么名字?”时,机器人2会接收到用户发出的“你叫什么名字?”对应的语音音频数据,并将所述语音音频数据发送到服务器1的语音识别对象进行识别;服务器1接收到所述语音音频数据后,会根据语音识别对象配置的当前语音识别库识别所述语音音频数据,得到“你叫什么名字?”对应的语音文本数据,服务器1会判断出所述语音文本数据中不含有语音切换信息;

之后服务器1会将所述语音文本数据发送给机器人2;机器人2接收到所述语音文本数据后,会将所述语音文本数据发送到服务器1的语义理解对象进行语义理解;服务器1的语义理解对象通过当前语义理解库,查找“你叫什么名字?”的回复语言“我叫lucy”对应的文本数据,即语音回复文本数据,并将所述语音回复文本数据发送到机器人2。

机器人2接收到所述语音回复文本数据后,通过语音合成对象配置的语音合成库将语音回复文本数据转换为语音回复音频数据,即将text文本数据转换为tts音频数据。所述语音合成对象也可以设置在服务器1上,此时,机器人2会将接收到的语音回复文本数据发送到服务器1的语音合成对象进行语音合成,得到语音回复音频数据,然后服务器1再将所述语音回复音频数据发送到机器人2,机器人2接收到语音回复音频数据后,发出人们能够识别的声音:“我叫lucy”。

例2,当用户说:“请说英语”时,机器人2会接收到用户发出的“请说英语”对应的语音音频数据,并将所述语音音频数据发送到服务器1的语音识别对象进行识别;服务器1接收到所述语音音频数据后,会根据语音识别对象配置的当前语音识别库识别所述语音音频数据,得到“请说英语”对应的语音文本数据,服务器1会判断出所述语音文本数据中含有语音切换信息,并将当前语音识别库、当前语义理解库、当前语音合成库切换为处理英语能力最优的语音识别库、语义理解库、语音合成库。

如图5所示,本发明还提供了一种语音识别系统的一个实施例,包括服务器1和机器人2。

所述服务器1包括:

第一语音识别模块11,用于通过当前语音识别库识别获取到的语音音频数据,得到语音文本数据;

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

第一配置模块13,与所述第一判断模块12电连接,用于当所述判断模块判断出所述语音文本数据中含有语音切换信息时,则根据语音切换信息,更改所述当前语音识别库和/或当前语义理解库;

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

所述机器人2包括:

第二配置模块21,与所述第一判断模块12通信连接,用于当所述判断模块判断出所述语音文本数据中含有语音切换信息时,更改当前语音合成库;

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

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

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

所述第一配置模块13,与所述第一对象创建模块10电连接,还用于根据预先设置的配置文件,给所述语音识别对象配置当前语音识别库,给所述语义理解对象配置当前语义理解库;

所述机器人2还包括:

第二对象创建模块20,用于创建所述语音合成对象;

所述第二配置模块21,与所述第二对象创建模块20电连接,还用于根据预先设置的配置文件,给所述语音合成对象配置当前语音合成库。

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

优选的,所述服务器1还包括:第一处理模块16,用于当所述判断模块判断出所述语音文本数据中含有语音切换信息时,清空所述语音识别对象配置的所述当前语音识别库、所述语义理解对象配置的所述当前语义理解库;第一解析模块17,用于解析所述语音切换信息,得到所述语音识别对象对应的更新语音识别库、所述语义理解对象对应的更新语义理解库、所述语音合成对象对应的更新语音合成库;所述第一配置模块13,还用于重新给所述语音识别对象配置所述更新语音识别库,并将所述更新语音识别库作为所述当前语音识别库;重新给所述语义理解对象配置所述更新语义理解库,并将所述更新语义理解库作为所述当前语义理解库;

所述机器人2还包括:第二处理模块,用于用于当所述判断模块判断出所述语音文本数据中含有语音切换信息时,清空所述语音合成对象配置的所述当前语音合成库;所述第二配置模块21,用于重新给语音合成对象配置所述更新语音合成库,并将所述更新语音合成库作为所述当前语音合成库。

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

本实施例可以运用在机器人2与人的语音交互中。机器人2在语音交互中,包括语音识别、语义理解、语音合成等过程。在语音识别过程中,会通过语音识别库来将所述语音音频数据识别为语音文本数据;语义理解过程中,会通过语义理解库来查找语音文本数据对应的语音回复文本数据;在语音合成过程中,会通过语音合成库来将所述语音回复文本数据转换为对应的语音回复音频数据。

具体的,当用户启用语音切换软件,并选择开启语音切换功能开启之后,服务器1会创建所述语音识别对象、所述语义理解对象,机器人2创建所述语音合成对象;之后服务器1会进行初始化,根据预先设置的配置文件,给所述语音识别对象配置当前语音识别库,给所述语义理解对象配置当前语义理解库;机器人2也会根据预先设置的配置文件,给所述语音合成对象配置当前语音合成库。

在配置过程中,可以对语音识别库、语义理解库、语音合成库设置标记位,比如讯飞对应的语音识别库标记位为a,捷通对应的语音识别库标记位为b,讯飞对应的语义理解库标记位为c,捷通对应的语义理解库标记位为d,讯飞对应的语音合成库标记位为e,捷通对应的语音合成库标记位为f,再通过配置文件给所述语音识别对象、所述语义理解对象、所述语音合成对象赋予相应的语音识别库标记位、语义理解库标记位、语音合成库标记位,服务器通过所述语音识别对象、所述语义理解对象、所述语音合成对象各自的标记位,配置相应的语音识别库、语义理解库、语音合成库。通过设置标记位的方法,服务器能够提高配置速度,节约配置时间,提升机器人的反应力。

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

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

若所述语音文本数据中含有语音切换信息,服务器1会根据语音切换信息更改当前语音识别库、当前语义理解库、当前语音合成库。例如,用户如果说:“请说英语”,语音切换信息中就含有“说”、“英语”这两个关键词,服务器1会将当前语音识别库、当前语义理解库、更改成为对英语的处理能力更优的语音识别库、语义理解库,所述机器人2会将当前语音合成库更改成为对英语的处理能力更优的语音合成库,从而实现不同语言场景的转换。

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

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

本实施例还具体阐述了如何判断所述语音文本数据中是否含有语音切换信息;在服务器1通过语音识别库识别获取到的语音音频数据,得到语音文本数据之后,服务器1会解析所述语音文本数据,得到所述语音文本数据对应的多类关键词。例如,用户说的是:“请说葡萄牙语”,服务器1解析“请说葡萄牙语”对应的语音文本数据,得到“葡萄牙语”、“说”两个关键词,可以组合成为“说葡萄牙语”。之后,服务器1会判断所述多类关键词的组合是否与预设语音切换信息匹配;若是符合预设语音切换信息,则进一步判断所述语音文本数据是否存在疑问语气词;若不存在,则判断出所述语音文本数据中含有语音切换信息;否则,判断所出述语音文本数据中不含有语音切换信息。

本实施例还具体阐述了如何根据语音切换信息,更改当前语音识别库、当前语义理解库、当前语音合成库。

首先,为了不占用额外的内存,服务器1需要清空给所述语音识别对象配置的所述当前语音识别库、所述语义理解对象配置的所述当前语义理解库、所述语音合成对象配置的所述当前语音合成库。

其次,服务器1会解析所述语音切换信息,得到所述语音识别对象对应的更新语音识别库、所述语义理解对象对应的更新语义理解库、所述语音合成对象对应的更新语音合成库;例如用户说的是:“请说葡萄牙语”,服务器1会解析出将要切换的语音识别库、语义理解库、语音合成库是葡萄牙语对应的更新语音识别库、更新语义理解库、更新语音合成库。

最后,服务器1重新给所述语音识别对象配置所述更新语音识别库,并将所述更新语音识别库作为所述当前语音识别库;重新给所述语义理解对象配置所述更新语义理解库,并将所述更新语义理解库作为所述当前语义理解库;重新给语音合成对象配置所述更新语音合成库,并将所述更新语音合成库作为所述当前语音合成库。

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

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