语音识别方法、装置、设备和存储介质与流程

文档序号:18469060发布日期:2019-08-20 20:04阅读:216来源:国知局
语音识别方法、装置、设备和存储介质与流程

本申请实施例涉及语音识别技术领域,特别涉及一种语音识别方法、装置、设备和存储介质。



背景技术:

语音识别技术是一种将人的语音转换为文本的技术,广泛应用于各类人工智能产品中,比如智能对话机器人、智能音箱、智能翻译设备等等。

语音识别的大致流程包括:语音识别设备获取用户输入的语音数据,并将该语音数据发送至语音识别引擎,语音识别引擎对该语音数据进行识别,并将语音识别结果反馈给语音识别设备,语音识别设备输出上述语音识别结果。

目前,语音识别依赖于单一的语音识别引擎,且该语音识别引擎为一通用平台,针对某些特定领域的识别效果相对较差,导致识别结果不准确。



技术实现要素:

本申请实施例提供了一种语音识别方法、装置、设备和存储介质,可用于解决相关技术中,语音识别引擎针对某些特定领域的识别效果相对较差,识别结果不准确的问题。所述技术方案如下:

一方面,本申请实施例提供了一种语音识别方法,所述方法包括:

获取待识别的语音数据;

将所述待识别的语音数据发送给n个语音识别引擎,得到n个语音识别结果,所述n为大于1的整数;

根据所述n个语音识别结果的特征信息,从所述n个语音识别结果中选择目标语音识别结果;其中,所述语音识别结果的特征信息用于指示输出所述语音识别结果的语音识别引擎与所述待识别的语音数据之间的适配程度以及所述语音识别结果包含的字词的可信程度。

另一方面,本申请实施例提供了一种语音识别装置,所述装置包括:

数据获取模块,用于获取待识别的语音数据;

数据发送模块,用于将所述待识别的语音数据发送给n个语音识别引擎,得到n个语音识别结果,所述n为大于1的整数;

结果选择模块,用于根据所述n个语音识别结果的特征信息,从所述n个语音识别结果中选择目标语音识别结果;其中,所述语音识别结果的特征信息用于指示输出所述语音识别结果的语音识别引擎与所述待识别的语音数据之间的适配程度以及所述语音识别结果包含的字词的可信程度。

又一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的语音识别方法。

再一方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的语音识别方法。

还一方面,本申请实施例提供了一种计算机程序产品,当该计算机程序产品被处理器执行时,其用于实现上述语音识别方法。

本申请实施例提供的技术方案可以包括如下有益效果:

通过将待识别的语音数据发送给多个语音识别引擎进行识别,得到多个语音识别结果,并根据该多个语音识别结果的特征信息,从该多个语音识别结果中选择一个作为目标语音识别结果。相比于相关技术中,语音识别依赖于单一的语音识别引擎,且该语音识别引擎为一通用平台,针对某些特定领域的识别效果相对较差,本申请提供的技术方案中,采用多个语音识别引擎的语音识别结果作为参考,并从多个语音识别结果中选取较优的语音识别结果,提高了识别结果的准确度。

附图说明

图1是本申请一个实施例提供的实施环境的示意图;

图2是本申请一个完整的语音识别流程的示意图;

图3是本申请一个实施例提供的语音识别方法的流程图;

图4是本申请另一个实施例提供的语音识别方法的流程图;

图5是示例性示出了一个纠错改写系统的框图;

图6是示例性示出了另一个纠错改写系统的框图;

图7是示例性示出了第二改写层改写流程的示意图;

图8是本申请一个实施例提供的语音识别装置的框图;

图9是本申请一个实施例提供的语音识别装置的框图;

图10是本申请一个实施例提供的计算机设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

请参考图1,其示出了本申请一个实施例提供的实施环境的示意图。该实施环境可以包括:终端10、后台服务器20和语音识别服务器30。

在本申请实施例中,终端10中可以配置有语音采集装置,该语音采集装置可以是麦克风、麦克风阵列、送话器等,用于获取用户输入的语音数据。上述后台服务器20为终端10提供后台服务。

可选地,终端10中可以安装具有语音输入功能的应用,如即时通信应用、语音输入法应用、语音助手等。这些应用在运行时,调用上述语音采集装置,采集用户输入的语音数据。

可选地,上述后台服务器20也可以是上述具有语音输入功能的应用的后台服务器。

在一种可能的实施方式中,上述具有语音输入功能的应用不仅能够采集用户输入的语音数据,还能够识别该语音数据。

在另一种可能的实施方式中,上述具有语音输入功能的应用仅能采集用户输入的语音数据,需要经由后台服务器20将采集的语音数据发送给语音识别服务器30来对该语音数据进行识别,语音识别服务器30在识别完成之后将语音识别结果经由后台服务器20反馈给终端10进行输出。在本申请实施例中,以语音识别服务器30对用户输入的语音数据进行识别为例来说明。

上述终端10可以是诸如智能手机、平板电脑、pc(personalcomputer,个人计算机)、智能机器人、智能电视、智能音箱等可以与用户进行语音交互的电子设备。

在本申请实施例中,上述语音识别服务器30上运行有语音识别引擎。可选地,不同的语音识别服务器中可以运行有不同的语音识别引擎;一个语音识别服务器中可以运行有一个语音识别引擎,也可以运行有多个不同的语音识别引擎,本申请实施例对此不作限定。

上述后台服务器20和语音识别服务器30均可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。

终端10可以通过网络与后台服务器20进行通信,后台服务器20通过网络与语音识别服务器30进行通信。

需要说明的一点是,在一些实施例中,语音识别服务器30的数量为一个,该语音识别服务器30中运行有多个不同的语音识别引擎;在另一些实施例中,语音识别服务器30的数量为多个,每个语音识别服务器中运行有一个语音识别引擎,且各个语音识别服务器中的语音识别引擎各不相同。

此外,本申请实施例提供的技术方案,可适用于多个不同语种的语音识别,如汉语、英语、法语、德语、日语、韩语等等。在本申请实施例中,主要以应用在汉语中为例进行介绍说明,但并不构成对本申请技术方案的限定。

需要说明的是,本申请实施例提供的技术方案可以应用于各类人工智能产品中,应用场景包括但不限于家居、车载、游戏等等。

请参考图2,其示例性示出了本申请一个完整的语音识别流程的示意图。用户通过终端10(如智能机器人、智能电视、智能音箱等)中配置的语音采集装置,输入待识别的语音数据;然后,终端10经由后台服务器20将该待识别的语音数据发送给多个语音识别引擎,如语音识别引擎a、语音识别引擎b和语音识别引擎c,得到各个语音识别引擎的语音识别结果,如语音识别结果a、语音识别结果b和语音识别结果c。上述语音识别引擎运行在语音识别服务器30中。然后,后台服务器20可以从上述多个语音识别结果中选择目标语音识别结果。进一步对该目标语音识别结果进行纠错改写,得到纠错改写后的目标语音识别结果。其中,上述选择目标语音识别结果和纠错改写的过程中,结合了历史交互日志、领域知识图谱以及用户特征等内容。最后,之后,后台服务器20将纠错改写后的目标语音识别结果反馈给终端10,以便终端10可以通过交互系统,结合纠错改写后的目标语音识别结果给用户以响应。

下面,通过几个实施例对本申请技术方案进行介绍说明。

请参考图3,其示出了本申请一个实施例提供的语音识别方法的流程图。在本申请实施例中,主要以该方法应用于图1所示实施环境中的后台服务器来举例说明。该方法可以包括如下几个步骤:

步骤301,获取待识别的语音数据。

待识别的语音数据是指用户输入的语音数据。当用户想要通过语音的方式与终端进行交互时,可以直接对着该终端中的语音采集装置说话,相应地,终端可以通过该语音采集装置获取用户所说的话,作为待识别的语音数据。

可选地,终端可以在接收到语音识别指令时,采集待识别的语音数据,该语音识别指令可以是由用户触发的,该用户可以通过指定操作触发,该指定操作可以包括点击操作、滑动操作等等,本申请实施例对此不做限定。

例如,终端中可以提供有语音识别选项,当用户想要通过语音与该终端进行交互时,可以点击该语音识别选项,以触发该语音识别指令。该终端接收到该语音识别指令后,获取待识别的语音数据。

步骤302,将待识别的语音数据发送给n个语音识别引擎,得到n个语音识别结果,n为大于1的整数。

终端在获取到待识别的语音数据后,可以将该待识别的语音数据发送给多个语音识别引擎进行语音识别,对应地,语音识别引擎在接收到待识别的语音数据之后,可以将该待识别的语音数据转换成文本,该文本即上述语音识别结果。

上述n个语音识别引擎可以是在一个服务器中运行的,也可以是在多个服务器中运行的。n个语音识别对应的特征各不相同,该特征可以包括领域特征、历史特征、性别特征、地域特征等等。

在本申请实施例中,上述n个语音识别引擎为通用语音识别引擎。

步骤303,根据n个语音识别结果的特征信息,从n个语音识别结果中选择目标语音识别结果。

在得到n个语音识别引擎输出的n个语音识别结果后,由于n个语音识别引擎针对不同场景识别的置信度不同,因此上述n个语音识别结果的准确度也可能不相同,因此,从n个语音识别结果中选择一个识别结果作为目标语音识别结果。

其中,语音识别结果的特征信息用于指示输出语音识别结果的语音识别引擎与待识别的语音数据之间的适配程度以及语音识别结果包含的字词的可信程度。上述适配程度用于反映语音识别引擎对于待识别语音数据识别的准确度,适配程度越高,表示输出语音识别结果的语音识别引擎对于待识别的语音数据识别的准确度越高;例如,当待识别语音数据为“战场由我一人主宰”,语音识别引擎a与该待识别语音数据的适配程度,低于语音识别引擎b与该待识别语音数据的适配程度,则表示语音识别引擎b识别该待识别语音数据的准确度更高。

上述可信程度用于反映语音识别结果包含的字词与预定义词库中的字词的重合度,可信程度越高,语音识别结果包含的字词与预定义词库中的字词的重合度越高,表示语音识别结果中包含的字词的准确度越高。例如,语音识别结果a为“你别和吕布谁厉害”,语音识别结果b为为“李白和吕布谁厉害”,预定义词库中的字词包括“李白”、“吕布”,即语音识别结果b与预定义词库中字词存在重合,则表示语音识别结果b中包含的字词的准确度越高。

关于上述特征信息的详细内容在下述图4实施例中进行介绍,此处不再赘述。

可选地,上述根据n个语音识别结果的特征信息,从n个语音识别结果中选择目标语音识别结果,包括:根据n个语音识别结果的特征信息,计算n个语音识别结果各自对应的置信度分值;从n个语音识别结果中,选择置信度分值最高的语音识别结果作为所述目标语音识别结果。

上述计算n个语音识别结果各自对应的置信度分值可以通过机器学习模型来实现。该机器学习模型可以是马尔科夫连续语音识别模型、神经网络模型、svm(supportvectormachine,支持向量机)等等,本申请实施例对此不作限定。

综上所述,本申请实施例提供的技术方案中,通过将待识别的语音数据发送给多个语音识别引擎进行识别,得到多个语音识别结果,并根据该多个语音识别结果的特征信息,从该多个语音识别结果中选择一个作为目标语音识别结果。相比于相关技术中,语音识别依赖于单一的语音识别引擎,且该语音识别引擎为一通用平台,针对某些特定领域的识别效果相对较差,本申请提供的技术方案中,采用多个语音识别引擎的语音识别结果作为参考,并从多个语音识别结果中选取较优的语音识别结果,提高了识别结果的准确度。

请参考图4,其示出了本申请另一个实施例提供的语音识别方法的流程图。在本申请实施例中,主要以该方法应用于图1所示实施环境中的后台服务器来举例说明。该方法可以包括如下几个步骤:

步骤401,获取待识别的语音数据。

本步骤与图3实施例中步骤301相同或类似,此处不再赘述。

步骤402,将待识别的语音数据发送给n个语音识别引擎,得到n个语音识别结果,n为大于1的整数。

本步骤与图3实施例中步骤302相同或类似,此处不再赘述。

步骤403,根据n个语音识别结果的特征信息,计算n个语音识别结果各自对应的置信度分值。

上述置信度分值用于反映语音识别结果的准确度,置信度分值越高,表示该语音识别结果的准确度越高。

上述根据n个语音识别结果的特征信息,计算n个语音识别结果各自对应的置信度分值,可以包括以下两个步骤:对于n个语音识别结果中的第i个语音识别结果,获取第i个语音识别结果的特征信息;将第i个语音识别结果的特征信息,输入至机器学习模型,得到第i个语音识别结果对应的置信度分值,上述i为小于等于n的正整数。

上述特征信息用于反映待识别的语音数据、输出第i个语音识别结果的语音识别引擎以及第i个语音识别结果的抽象特征,该特征信息包括但不限于以下至少一种:待识别的语音数据对应的领域特征、待识别的语音数据对应的地域特征、待识别的语音数据对应的性别特征、待识别的语音数据对应的历史特征、输出第i个语音识别结果的语音识别引擎对应的领域特征、输出第i个语音识别结果的语音识别引擎对应的地域特征、输出第i个语音识别结果的语音识别引擎对应的性别特征、输出第i个语音识别结果的语音识别引擎对应的历史特征、第i个语音识别结果与预定义词库之间的匹配度,等等。

其中,待识别的语音数据对应的领域特征用于反映该语音数据的主题所属的领域,如游戏主题的领域、音乐主题领域、儿童故事领域、政治主题的领域、经济主题的领域、科技主题的领域等等;输出第i个语音识别结果的语音识别引擎对应的领域特征用于反映该语音识别引擎对于上述领域识别的置信度。

待识别的语音数据对应的地域特征用于反映输入该语音数据的用户所处地域口音,如东北方言、广东方言、上海方言等等;输出第i个语音识别结果的语音识别引擎对应的地域特征用于反映该语音识别引擎对于具有不同地域特征的语音数据识别的置信度。

待识别的语音数据对应的性别特征用于反映输入该语音数据的用户的性别,如男声或者女声;输出第i个语音识别结果的语音识别引擎对应的性别特征用于反映该语音识别引擎对于具有不同性别特征的语音数据识别的置信度。

待识别的语音数据对应的历史特征用于反映该待识别语音数据是否出现在历史交互日志中;输出第i个语音识别结果的语音识别引擎对应的历史特征用于反映该语音识别引擎对于历史交互日志中语音数据的识别的置信度。

第i个语音识别结果与预定义词库之间的匹配度用于反映该第i个语音识别结果与预定义词库中词语的相似程度。该预定义词库可以包括该第i个语音识别结果的主题所属领域的领域知识图谱,该领域知识图谱中包含该领域的专有词库;还可以包括历史交互日志中记录的历史识别的词库;还可以包括后台设计人员预先采集的高频使用词的词库等等,本申请实施例对此不作限定。

此外,上述特征信息还可以包含其它特征,本申请实施例对此不作限定。

在获取第i个语音识别结果对应的上述多个特征信息之后,可以将多个特征信息输入至预先训练的机器学习模型中,计算得到该第i个语音识别结果对应的置信度分值。上述机器学习模型的输入是语音识别结果对应的多个特征信息,输出是该语音识别结果对应的置信度分值。

步骤404,从n个语音识别结果中,选择置信度分值最高的语音识别结果作为目标语音识别结果。

上述置信度分值越高,表示该语音识别结果越准确。因此,在获取到n个语音识别结果各自的置信度分值后,可以将置信度分值最高的语音识别结果作为目标语音识别结果。

另外,当语音识别结果中存在两个或两个以上置信度分值并列最高时,可以选择其中任意一个作为目标语音识别结果。

可选地,在得到目标语音识别结果之后,可以对目标语音识别结果中的错误词进行纠错改写,得到纠错改写后的目标语音识别结果。

由于上述语音识别引擎为通用语音识别引擎,因此对于某些特定的场景识别准确度不够,可能会出现部分错误词,影响人机交互。因此,引入纠错改写,可以发现目标语音识别结果中的错误词,进一步进行纠错改写,得到纠错改写后的目标语音识别结果,并通过终端的交互系统进行响应,提升语音识别的准确度。

上述对目标语音识别结果中的错误词进行纠错改写,可以包括以下步骤405-406。

步骤405,将目标语音识别结果输入至纠错改写系统。

由于上述语音识别引擎为通用语音识别引擎,因此对于某些特定的场景识别准确度不够,可能会出现部分错误词,影响人机交互。因此,将目标语音识别结果输入至纠错改写系统,可以发现目标语音识别结果中的错误词,进一步进行纠错改写,提升语音识别的准确度。

上述纠错改写系统用于确定目标语音识别结果中的错误词,获取与错误词对应的正确词,将目标语音识别结果中的错误词改写为正确词,得到纠错改写后的目标语音识别结果。例如,目标语音识别结果为“你别和吕布谁厉害”,纠错改写系统可以确定该目标语音识别结果中的“你别”为错误词,进一步获取与“你别”对应的正确词,如“李白”,并将该错误词“你别”改写为正确词“李白”,得到纠错改写后的目标语音识别结果为“李白和吕布谁厉害”;又例如,目标语音识别结果为“我方周杰伦的歌”,纠错改写系统可以确定该目标语音识别结果中的“我方”为错误词,进一步获取与“我方”对应的正确词,如“播放”,并将该错误词“我方”改写为正确词“播放”,得到纠错改写后的目标语音识别结果为“播放周杰伦的歌”。

可选地,结合参考图5,纠错改写系统500包括:第一改写层501、第二改写层502和第三改写层503;其中,第一改写层501用于改写目标语音识别结果中的高频错误词,第二改写层502用于改写目标语音识别结果所属领域的错误词,第三改写层503用于改写目标语音识别结果中冗余的错误词。

可选地,上述第一改写层、第二改写层和第三改写层的改写精度依次递增。当第一改写层的纠错改写成功后,不再执行第二改写层和第三改写层的纠错改写;当第一改写层的纠错改写失败后,执行第二改写层的纠错改写,当第二改写层的纠错改写成功后,不再执行第三改写层的纠错改写,当第二改写层的纠错改写失败后,执行第三改写层的纠错改写。

下面,结合参考图6,详细介绍第一改写层、第二改写层和第三改写层的内容。

1、第一改写层501包括白名单和/或至少一种改写规则。上述白名单是指高频错误词与该高频错误词对应的正确词的映射表,当检测到目标语音识别结果中包含高频错误词时,根据白名单和/或改写规则对上述高频错误词进行纠错改写;其中,上述映射表可以是根据历史交互日志采集得到的,也可以是由设计人员预先判别得到的,本申请实施例对此不作限定。

上述改写规则是针对高频错误词设定的改写规律,该改写规律可以包括针对同一高频错误词,当属于不同领域的改写方式,如高频错误词“我放”,则改写规律可以是当语音数据属于音乐领域时,将“我放”改写为“播放”;当语音数据属于游戏领域时,将“我放”改写为“我方”。其中,上述改写规则可以是根据历史交互日志采集得到的,也可以是由后台设计人员预先判别得到的,本申请实施例对此不作限定。

2、第二改写层502包括第一检错模块、第二检错模块和改写模块。其中,第一检错模块用于调用语言模型检测目标语音识别结果所属领域的错误词。可选地,上述语言模型可以为n元语法(n-gram)模型。本申请中n的取值为1、2和3,也即一元语法(1-gram)模型、二元语法(2-gram)模型和三元语法(3-gram)模型。在其它实施例中,n还可以是大于3的自然数,本申请实施例对此不作限定。使用n元语法模型检测目标语音识别结果所属领域的错误词,主要包括以下几个步骤:

(1)将目标语音识别结果输入n元语法模型,得到对应的分数值;

在得到目标语音识别结果之后,就可以将该目标语音识别结果分别输入上述一元语法模型、二元语法模型和三元语法模型。可选地,在输入上述语法模型之前,可以对目标语音识别结果进行分词,获取到目标语音识别结果对应的词语对列表,示例性地,以二元语法模型为例,假设目标语音识别结果为“我方王菲的红豆”,则二元语法模型的词语对列表为:[我方,王菲]、[王菲,的]、[的,红豆]。同理,得到一元语法模型和三元语法模型的词语对列表。进一步,将上述各个语法模型的词语对列表分别输入各自对应的语法模型中,对于其中的任意一个词,每个语法模型可以计算得到两个分数值。在本申请实施例中,对于目标语音识别结果中的任意一个词,可以分别得到一元语法模型、二元语法模型和三元语法模型分别计算出来的分数值,总共六个分数值。可选地,上述分数值可以采用最长公共子串和/或编辑距离的方法计算得到。

(2)根据上述n元语法模型对应的分数值,计算得到上述分数值的均值分。

在本申请实施例中,对于任意一个词,可以分别得到一元语法模型、二元语法模型和三元语法模型分别计算出来的分数值,总共六个分数值;进一步,可以得到每个词的均值分。

(3)采用过滤算法检测出目标语音识别结果所属领域的错误词。

在本申请实施例中,以该过滤算法为mad(meanabsolutedifferences,平均绝对差)算法为例来说明,mad值越大,表示该词为错误词的可能性越大,进一步,可以将mad值最大的词确定为错误词。

在获取到每个词的均值分之后,进一步可以得到每个词相对于均值分的平均绝对差,根据上述过滤算法,将平均绝对差最大的词确定为错误词。在一些其它实施例中,上述过滤算法还可以是sad(sumofabsolutedifferences,绝对误差和)算法、ssd(sumofsquareddifferences,误差平方和)算法、msd(meansquaredifferences,平均误差和)算法等等,本申请实施例对此不作限定。

第二检错模块用于根据句法分析算法检测目标语音识别结果所属领域的错误词,即通过分析目标语音识别结果的句法结构(主谓宾定状补)或者分析目标语音识别结果中词汇间的依存关系,来检测目标语音识别结果所属领域的错误词。主要包括以下几个步骤:

(1)检测目标语音识别结果中的关键词;

通常句子的关键词为谓语。示例性地,假设目标语音识别结果为“播放周杰伦的导向”,根据句法结构可以确定“播放”应为谓语,“周杰伦”为定语,“导向”为宾语,因此可以确定“播放”为关键词。

(2)根究上述关键词检测目标语音识别结果中的实体;

通常句子的实体为关键词之后的词。示例性地,假设目标语音识别结果为“播放周杰伦的导向”,则实体可以包括“周杰伦”和“导向”。

(3)提取上述实体中的目标实体,确定为目标语音识别结果所属领域的错误词;

上述目标实体可以为上述实体中的疑似的错误词。如实体“周杰伦”和“导向”中的“导向”,并将该“导向”确定为目标语音识别结果所属领域的错误词。

改写模块用于将第一检错模块和第二检错模块检测出的错误词改写为正确词。

改写模块可以包括正确词召回单元、过滤单元和改写单元。可选地,改写模块还可以包含排序单元。

其中,正确词召回单元用于从目标语音识别结果所属领域的领域知识图谱中,选取与错误词相似度分值大于预设阈值的至少一个候选正确词。

上述相似度分值可以是拼音相似度分值和/或字形相似度分值。上述领域知识图谱可以包括目标语音识别结果所属领域的领域专有词库。上述候选词可以是至少一个该目标语音识别结果所属领域的专有的词。

示例性地,以采用拼音相似度为例介绍确定候选正确词的过程。假设目标语音识别结果为“播放周杰伦的导向”,属于音乐领域;检测出的错误词为“导向”,对应的拼音文本为“daoxiang”,则将该“daoxiang”对比音乐领域专有词库的拼音,计算相似度得分,如“稻香”的相似度得分为90分,“倒向”的相似度分值的为65分,“岛向”的相似度分值为50分;选取合适的预设阈值,如60分,将大于该预设阈值的音乐领域专有词库中的词,如“稻香”和“倒向”作为候选正确词。

排序单元用于将至少一个候选正确词各自对应的相似度分值按照递减的规律进行排序。例如“稻香”的相似度得分为90分,“倒向”的相似度的分为65分,则将“稻香”作为第一候选正确词,“倒向”作为第二候选正确词。

过滤单元用于计算各个候选正确词的困惑度分值,根据各个候选正确词的困惑度分值,从各个候选正确词中确定目标正确词。在本申请实施例中,上述ppl(perplexity,困惑度)分值用于表征上述至少一个候选正确词改写至目标语音识别结果中的准确度。ppl分值可采用下述公式计算:

其中,n表示目标语音识别结果的长度,p(wi)是第i个候选正确词出现的概率。该ppl分值越小,p(wi)越大,表示该第i个候选正确词改写至目标语音识别结果中的准确度越高。

进一步,可以将ppl分值最高的候选正确词确定为目标正确词。

例如,目标语音识别结果为“播放周杰伦的导向”,候选正确词包括“稻香”和“倒向”,其中“稻香”的ppl分值为95,“倒向”ppl分值为55,因此可以将“稻香”作为目标正确词。

可选地,过滤单元可以调用语言模型从上述至少一个候选正确词中确定目标正确词。

上述改写单元用于将目标语音识别结果中的错误词改写为目标正确词。

例如,目标语音识别结果为“播放周杰伦的导向”,“稻香”为目标正确词,因此可以将“稻香”替换目标语音识别结果中的“导向”,得到纠错改写后的目标语音识别结果,即“播放周杰伦的稻香”。

进一步,可以将该纠错改写后的目标语音识别结果输出。

3、第三改写层503用于调用神经网络模型改写目标语音识别结果中冗余的错误词。

可选地,该神经网络模型具有端到端(sequencetosequence)的框架,即编码-解码(encoder-decoder)框架;该神经网络模型可以采用cnn(convolutionalneuralnetworks,卷积神经网络)模型,也可以采用rnn(recurrentneuralnetwork,循环神经网络)模型,也可以采用transformer模型,还可以采用lstm(longshort-termmemory,长短期记忆网络)模型等等,本申请实施例对此不作限定。

上述冗余的错误词可以是指目标语音识别结果中重复的词语,也可以是指目标语音识别结果中的语气词。例如,目标语音识别结果为“我我要听歌”,改写冗余的错误词后的目标语音识别结果为“我要听歌”。

步骤406,获取纠错改写系统输出的纠错改写后的目标语音识别结果。

终端可以获取纠错改写系统输出的纠错改写后的目标语音识别结果,进一步根据该纠错改写后的目标语音识别结果,通过终端的交互系统与用户进行响应。

需要说明的一点是,在本申请实施例中,上述纠错改写不依赖于上述通用的语言识别引擎,可以直接由终端,或者服务该终端的服务器执行。

综上所述,本申请实施例提供的技术方案,通过将待识别的语音数据发送给多个语音识别引擎进行识别,得到多个语音识别结果,并将多个语音识别结果中置信度分值最高的语音识别结果作为目标语音识别结果,进一步将该目标语音识别结果输入纠错改写系统进行纠错改写,得到纠错改写后的目标语音识别结果。相比于相关技术,将多个语音识别结果中置信度分值最高的语音识别结果作为目标语音识别结果,而不是依赖于某一个语音识别引擎的结果,提高了识别结果的准确度。并且,还通过对该选取的语音识别结果进行纠错改写,进一步提升了识别结果的准确度。

另外,纠错改写系统针对不同类型的错误词,如高频错误词、所属领域的错误词和冗余的错误词等,使用不同的纠错改写策略或者模型,有效提升了最终语音识别结果的合理性。

此外,在本申请实施例中,上述纠错改写不依赖于通用的语言识别引擎,可以直接由终端,或者服务该终端的服务器执行,节省了语音识别的时间和成本。

下面,结合参考图7,以第一检错模块的语言模型为n元语法(n-gram)模型,过滤算法为mad算法为例,对第二改写层改写目标语音识别结果所属领域的错误词的完整流程进行简单的介绍。以目标语音识别结果为“你别和吕布谁厉害”,第二改写层的第一检错模块调用n元语法模型,如一元语法模型、二元语法模型和三元语法模型,进一步得到一元语法模型、二元语法模型和三元语法模型分别计算出来的分数值,即1-gram分数、2-gram分数和3-gram分数;根据1-gram分数、2-gram分数和3-gram分数计算得到n-gram均值分,基于该n-gram均值分采用mad过滤算法,确定“你别”为错误词;第二检错模块通过关键词检测、实体检测和提取目标实体,确定“你别”为错误词;之后,在正确词召回单元中,根据拼音相似度和/或字形相似度,在领域知识图谱中检索得到至少一个候选正确词;排序单元将上述各个候选正确词各自对应的相似度分值按照递减的规律进行排序,并在过滤单元中按照各个候选正确词的排序,计算每个候选正确词的ppl分值,并将ppl分值最高的候选正确词确定为目标正确词;之后改写单元将目标语音识别结果中的错误词改写为目标正确词,得到纠错改写后的目标语音识别结果“李白和吕布谁厉害”,至此,纠错改写完成。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参考图8,其示出了本申请一个实施例提供的语音识别装置的框图。该装置具有实现上述方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的语音识别装置或者终端,也可以设置在后台服务器或者终端上。该装置800可以包括:数据获取模块810、数据发送模块820、结果选择模块830和结果改写模块840。

数据获取模块810,用于获取待识别的语音数据。

数据发送模块820,用于将所述待识别的语音数据发送给n个语音识别引擎,得到n个语音识别结果,所述n为大于1的整数。

结果选择模块830,用于根据所述n个语音识别结果的特征信息,从所述n个语音识别结果中选择目标语音识别结果;其中,所述语音识别结果的特征信息用于指示输出所述语音识别结果的语音识别引擎与所述待识别的语音数据之间的适配程度以及所述语音识别结果包含的字词的可信程度。

综上所述,本申请实施例提供的技术方案中,通过将待识别的语音数据发送给多个语音识别引擎进行识别,得到多个语音识别结果,并根据该多个语音识别结果的特征信息,从该多个语音识别结果中选择一个作为目标语音识别结果。相比于相关技术中,语音识别依赖于单一的语音识别引擎,且该语音识别引擎为一通用平台,针对某些特定领域的识别效果相对较差,本申请提供的技术方案中,采用多个语音识别引擎的语音识别结果作为参考,并从多个语音识别结果中选取较优的语音识别结果,提高了识别结果的准确度。

在一些可能的设计中,如图9所示,所述结果选择模块830,包括:分值计算单元831和结果选择单元832。

分值计算单元831,用于根据所述n个语音识别结果的特征信息,计算所述n个语音识别结果各自对应的置信度分值。

结果选择单元832,用于从所述n个语音识别结果中,选择置信度分值最高的语音识别结果作为所述目标语音识别结果。

在一些可能的设计中,如图9所示,所述装置800还包括:结果改写模块840。

结果改写模块840,用于对所述目标语音识别结果中的错误词进行纠错改写,得到纠错改写后的目标语音识别结果。

需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

请参考图10,其示出了本申请一个实施例提供的计算机设备的结构示意图。该计算机设备用于实施上述实施例中提供的语音识别方法。该计算机设备可以是上文介绍的后台服务器,也可以是上文介绍的诸如智能手机、平板电脑、pc、智能机器人、智能电视、智能音箱等可以与用户进行语音交互的终端。具体来讲:

所述计算机设备1000包括中央处理单元(cpu)1001、包括随机存取存储器(ram)1002和只读存储器(rom)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。所述计算机设备1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1012的大容量存储设备1007。

所述基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中所述显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。所述基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。

所述大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。所述大容量存储设备1007及其相关联的计算机可读介质为计算机设备1000提供非易失性存储。也就是说,所述大容量存储设备1007可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。

根据本申请的各种实施例,所述计算机设备1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1000可以通过连接在所述系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。

所述存储器还包括至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述语音识别方法。

在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被处理器执行时实现上述语音识别方法。

在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被处理器执行时,其用于实现上述语音识别方法。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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