一种语音交互方法、装置、终端及服务器与流程

文档序号:17630179发布日期:2019-05-11 00:03阅读:267来源:国知局
一种语音交互方法、装置、终端及服务器与流程

本发明涉及通信技术领域,尤其涉及一种语音交互方法、装置、终端及服务器。



背景技术:

近年来,远场语音识别技术发展较为迅速。通过麦克风阵列前端处理算法,有效消除噪音,同时对目标说话人声音进行增强,使得智能家居、智能硬件和机器人语音交互等场景下的远场语音可准确识别。

目前,语音唤醒和语音识别是结合使用的,即一次唤醒一次识别。现有的语音识别方式为:在确定触发唤醒后,终端通过vad(voiceactivitydetection,语音端点检测)得到有效音频,同时向服务器(识别服务器)发起语音识别请求,将有效音频传递给服务器,由该服务器对该有效音频进行识别,得到识别结果,该识别结果可包括语音识别信息、云端资源数据及tts(texttospeech,从文本到语音)播报信息。

然而,一次唤醒一次识别时,识别的准确性受环境音及说话人停顿间隔影响较大,造成识别准确率低,终端的响应自然度差。



技术实现要素:

本发明实施例提供一种语音交互方法、装置、终端及服务器,以解决现有语音识别方法造成的识别准确率低的问题。

为了解决上述技术问题,本发明是这样实现的:

第一方面,本发明实施例提供了一种语音交互方法,应用于终端,包括:

进行串行的多轮端点检测;

针对每轮端点检测得到的每个音频数据,向服务器发送识别会话请求信息,由所述服务器对所述多轮端点检测得到的多个音频数据进行识别;

接收所述服务器发送的识别结果以及与所述识别结果对应的目标播报内容。

第二方面,本发明实施例提供了一种语音交互方法,应用于服务器,包括:

接收终端发送的识别会话请求信息;其中,所述终端进行串行的多轮端点检测,所述识别会话请求信息为所述终端针对每轮端点检测得到的每个音频数据发送的;

根据所述识别会话请求信息,对所述多轮端点检测得到的多个音频数据进行识别;

向所述终端发送识别结果以及与所述识别结果对应的目标播报内容。

第三方面,本发明实施例提供了一种语音交互装置,应用于终端,包括:

检测模块,用于进行串行的多轮端点检测;

第一发送模块,用于针对每轮端点检测得到的每个音频数据,向服务器发送识别会话请求信息,由所述服务器对所述多轮端点检测得到的多个音频数据进行识别;

第一接收模块,用于接收所述服务器发送的识别结果以及与所述识别结果对应的目标播报内容。

第四方面,本发明实施例提供了一种语音交互装置,应用于服务器,包括:

第二接收模块,用于接收终端发送的识别会话请求信息;其中,所述终端进行串行的多轮端点检测,所述识别会话请求信息为所述终端针对每轮端点检测得到的每个音频数据发送的;

识别模块,用于根据所述识别会话请求信息,对所述多轮端点检测得到的多个音频数据进行识别;

第二发送模块,用于向所述终端发送识别结果以及与所述识别结果对应的目标播报内容。

第五方面,本发明实施例提供了一种终端,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述计算机程序被所述处理器执行时可实现上述应用于终端的语音交互方法的步骤。

第六方面,本发明实施例提供了一种服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述计算机程序被所述处理器执行时可实现上述应用于服务器的语音交互方法的步骤。

第七方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时可实现上述应用于终端的语音交互方法的步骤,或者上述应用于服务器的语音交互方法的步骤。

本发明实施例中,通过进行串行的多轮端点检测,针对每轮端点检测得到的每个音频数据,向服务器发送识别会话请求信息,由所述服务器对所述多轮端点检测得到的多个音频数据进行识别,接收所述服务器发送的识别结果以及与所述识别结果对应的目标播报内容,可以实现持续的多次语音识别过程,从而减少环境音和/或说话人停顿间隔等对识别准确性的影响,不仅支持犹豫发问,还提高识别准确率,增强终端的响应自然度。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的语音交互方法的流程图;

图2为本发明实施例的音频处理流程的示意图;

图3为本发明实施例的语音识别流程的示意图;

图4为本发明实施例的另一语音交互方法的流程图;

图5为本发明实施例的语音交互装置的结构示意图之一;

图6为本发明实施例的语音交互装置的结构示意图之二;

图7为本发明实施例的终端的结构示意图;

图8为本发明实施例的服务器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1,图1是本发明实施例提供的一种语音交互方法的流程图,该方法应用于终端,如图1所示,该方法包括以下步骤:

步骤101:进行串行的多轮端点检测。

其中,终端在进行串行的多轮端点检测时,处于唤醒模式(也可称为多次识别模式),从而实现一次唤醒多次识别过程。终端的唤醒模式可以由用户主动触发。进一步的,终端的唤醒模式可以在接收到云端的停止接听(stoplisten)指示信息后退出,也可以由用户主动退出。

上述端点检测可以理解为vad检测。以vad检测为例,终端的一次唤醒多次识别过程中的音频处理流程可参见图2所示,其中终端在唤醒模式下,可利用recorder(录音机)持续读取音频流,并将读取的音频流通过micserver(无线服务端)和micclient(无线客户端)传递给vad以作多轮音频端点检测,而每轮vad检测得到的每个有效音频可通过相应网络模块(chunk1、chunk2,…,或chunkn)持续上传至服务器(如识别服务器)进行识别。

步骤102:针对每轮端点检测得到的每个音频数据,向服务器发送识别会话请求信息,由所述服务器对所述多轮端点检测得到的多个音频数据进行识别。

其中,上述音频数据可以理解为相应端点检测(比如vad检测)得到的有效音频。上述针对每轮端点检测得到的每个音频数据,向服务器发送识别会话请求信息具体为,每检测到一个有效音频数据即向服务器发送相应的识别会话请求信息,以将该有效音频数据发送至服务器进行识别。这样,对于串行检测到的多个音频数据,终端可有序发送至服务器。

步骤103:接收所述服务器发送的识别结果以及与所述识别结果对应的目标播报内容。

其中,上述识别结果包括至少一个音频数据的识别结果。可选的,上述识别结果可由服务器对多个音频数据进行并发识别得到。

需要说明的是,在正常情况下,服务器每得到一个音频数据的识别结果之后,即将该识别结果发送至终端,即上述识别结果不是同时发送至终端的。该音频数据的识别结果可包括音频识别信息、云端资源数据及tts播报信息等,该音频识别信息即音频数据的识别信息,该云端资源数据为与识别对象相关的云端资源,比如音频地址、视频地址、图片资源等。

需指出的是,上述目标播报内容可以是由一个音频数据的识别结果确定的,也可以是由至少两个音频数据的识别结果确定的,依具体情况而定。例如,当用户与智能音箱交互时,若用户完整、清楚且连贯地问了一句“今天天气怎么样”,则通过vad检测得到的有效音频为“今天天气怎么样”,后续服务器可根据该有效音频“今天天气怎么样”的识别结果确定目标播报内容,以使终端播报相应天气情况;或者,若用户停顿、不连贯地说了一句“给我放一首周杰伦的…呃…菊花台”,则通过vad检测可能得到三个有效音频,分别为“给我放一首周杰伦的”、“…呃…”和“菊花台”,后续服务器可根据该三个有效音频的识别结果(其中该“…呃…”的识别结果可能为拒识信息)确定目标播报内容,以使终端播放歌曲“周杰伦的菊花台”。

这样,在接收到服务器发送的目标播报内容后,终端基于该目标播报内容进行语音播报。

本发明实施例的语音交互方法,通过进行串行的多轮端点检测,针对每轮端点检测得到的每个音频数据,向服务器发送识别会话请求信息,由所述服务器对所述多轮端点检测得到的多个音频数据进行识别,接收所述服务器发送的识别结果以及与所述识别结果对应的目标播报内容,可以实现持续的多次语音识别过程,从而减少环境音和/或说话人停顿间隔等对识别准确性的影响,不仅支持犹豫发问,还提高识别准确率,增强终端的响应自然度。

本发明实施例中,为了保证服务器(云端)准确地识别相应音频数据,可在每次的识别会话请求信息中携带标识当前识别状态参数的信息。可选的,上述识别会话请求信息中可包括如下至少一项:

唤醒模式信息、识别请求索引、识别序列号。

这样,通过识别会话请求信息中包括的内容,可方便服务器了解当前的语音识别状态,从而准确对音频数据进行识别比如并发识别,提高识别准确率。

进一步的,上述识别结果包括至少一个音频数据的识别结果,每个音频数据的识别结果为服务器根据其对应的识别会话请求信息中包括的内容,结合如下处理方式中的至少一种,进行识别得到:

声纹检测、上下文语义识别、噪声检测。

其中,当结合声纹检测时,可以检测当前音频数据的声纹信息是否与预设声纹信息匹配,若匹配,则表示当前音频数据是需识别的内容,否则表示当前音频数据无需识别,即终端无需响应。上述预设声纹信息可以预先设置于终端比如智能音箱内。此外当结合声纹检测时,也可以检测当前音频数据的声纹信息是否与开启唤醒模式的用户的声纹信息匹配,若匹配,则表示当前音频数据是需识别的内容,否则表示当前音频数据无需识别,即终端无需响应。这样结合声纹检测,可以实现只响应特定人,避免干扰。

当结合上下文语义识别时,在识别当前音频数据时,可以结合当前音频数据的前一个或者前预设个音频数据进行识别,从而实现上下文语义一体化,表述更自然,使得用户的真实意图得到更快的响应。

当结合噪声检测时,可以对环境噪声进行拒识,从而排除外部环境噪音的影响,提高识别准确率。

可选的,每个音频数据的识别结果中可包括:指示音频数据是否被拒识的第一指示信息,和/或指示音频数据是否是完整语义的第二指示信息。这样通过上述指示信息,终端可快速获知对应音频数据的情况,即是否被拒识、是否是完整语义。

本发明实施例中,步骤103之后,所述方法还可包括:

按照识别序列号,对所述识别结果中的每个音频数据的识别结果进行有序缓存。

其中,上述缓存可通过sdk(softwaredevelopmentkit,软件开发工具包)实现。对于识别结果的时序及完整性可通过本地会话处理器(asrmutiplyprocmanager)保证。这样,借助有序缓存,可方便终端确定播报内容,提高响应速度。

进一步的,每从服务器接收到一个音频数据的识别最终结果(包含拒识结果信息)之后,所述方法还可包括:

对缓存队列中缓存的历史识别结果进行检测和回调,结束所述缓存队列中尚未接收到识别最终结果的历史识别会话,并回调所述一个音频数据对应的所有缓存数据。

其中,结束历史识别会话时,可以对该会话强制补充结束信息。每轮识别回调完补充会话标识asr_finish后,sdk可清理会话处理器中的缓存结果。这样,通过回调处理过程,可使得终端缓存到都是识别完整的结果,从而方便终端确定播报内容,提高响应速度。

需说明的是,具体实现时,每个音频数据的识别结果可以包括至少一个识别中间结果和一个识别最终结果,该识别中间结果包括部分音频识别信息、云端相关资源和tts播报数据结果,该识别最终结果包括音频识别信息、云端相关资源和tts播报数据结果。

下面以vad检测为例,结合图3对本发明具体实例中的语音交互过程进行详细说明。

本发明具体实例中,参见图3所示,终端的语音客户端app启动asr(automaticspeechrecognition,自动语音识别)及开启mic(microphone,麦克风)后,可启动vad做多轮端点检测。每轮vad检测到有效音频起点后,可通过网络模块比如chunknet1、chunknet2,…,或chunknetn向识别服务器发送有效音频,同时发送标识当前识别状态参数的信息比如asrsn1、asrsn2,…,或asrsnn,且每轮vad检测到有效音频尾点后,vad被重置,并开始新一轮vad检测。而服务器可以对接收到的有效音频进行并发识别,获得并发识别结果,并将该并发识别结果以及对应的目标播报内容下发至终端进行有序缓存,此缓存的时序及完整性可通过会话处理器asrmutiplyprocmanager保证。而接收到目标播报内容之后,语音客户端可进行播报,从而实现一次唤醒多次识别过程。

请参见图4,图4是本发明实施例提供的另一种语音交互方法的流程图,该方法应用于服务器(比如识别服务器),如图4所示,该方法包括以下步骤:

步骤401:接收终端发送的识别会话请求信息;其中,所述终端进行串行的多轮端点检测,所述识别会话请求信息为所述终端针对每轮端点检测得到的每个音频数据发送的。

可选的,所述识别会话请求信息中包括如下至少一项:

唤醒模式信息、识别请求索引、识别序列号。

步骤402:根据所述识别会话请求信息,对所述多轮端点检测得到的多个音频数据进行识别。

步骤403:向所述终端发送识别结果以及与所述识别结果对应的目标播报内容。

本发明实施例的语音交互方法,可以实现持续的多次语音识别过程,从而减少环境音和/或说话人停顿间隔等对识别准确性的影响,不仅支持犹豫发问,还提高识别准确率,增强终端的响应自然度。

本发明实施例中,可选的,步骤402可包括:

根据所述识别会话请求信息,对所述多轮端点检测得到的多个音频数据进行并发识别。

可选的,步骤402可包括:

根据所述识别会话请求信息中包括的内容,结合如下处理方式中的至少一种,分别对所述多个音频数据中每个音频数据进行识别:

声纹检测、上下文语义识别、噪声检测。

可选的,对每个音频数据进行识别的结果可包括:指示音频数据是否被拒识的第一指示信息,和/或指示音频数据是否是完整语义的第二指示信息。

上述实施例对本发明的语音交互方法进行了说明,下面将结合实施例和附图对本发明的语音交互装置、终端和服务器进行说明。

请参见图5,图5是本发明实施例提供的一种语音交互装置的结构示意图,如图5所示,该语音交互装置50可包括:

检测模块51,用于进行串行的多轮端点检测;

第一发送模块52,用于针对每轮端点检测得到的每个音频数据,向服务器发送识别会话请求信息,由所述服务器对所述多轮端点检测得到的多个音频数据进行识别;

第一接收模块53,用于接收所述服务器发送的识别结果以及与所述识别结果对应的目标播报内容。

可选的,所述识别结果由所述服务器对所述多个音频数据进行并发识别得到。

可选的,所述识别会话请求信息中包括如下至少一项:

唤醒模式信息、识别请求索引、识别序列号。

可选的,所述识别结果包括至少一个音频数据的识别结果,每个音频数据的识别结果为所述服务器根据其对应的识别会话请求信息中包括的内容,结合如下处理方式中的至少一种,进行识别得到:

声纹检测、上下文语义识别、噪声检测。

可选的,每个音频数据的识别结果中包括:指示音频数据是否被拒识的第一指示信息,和/或指示音频数据是否是完整语义的第二指示信息。

可选的,所述终端还包括:

缓存模块,用于按照识别序列号,对所述识别结果中的每个音频数据的识别结果进行有序缓存。

可选的,所述终端还包括:

回调模块,用于每从所述服务器接收到一个音频数据的识别最终结果之后,对缓存队列中缓存的历史识别结果进行检测和回调,结束所述缓存队列中尚未接收到识别最终结果的历史识别会话,并回调所述一个音频数据对应的所有缓存数据。

本发明实施例的语音交互装置50,可以实现持续的多次语音识别过程,从而减少环境音和/或说话人停顿间隔等对识别准确性的影响,不仅支持犹豫发问,还提高识别准确率,增强响应自然度。

请参见图6,图6是本发明实施例提供的另一种语音交互装置的结构示意图,如图6所示,该语音交互装置60可包括:

第二接收模块61,用于接收终端发送的识别会话请求信息;其中,所述终端进行串行的多轮端点检测,所述识别会话请求信息为所述终端针对每轮端点检测得到的每个音频数据发送的;

识别模块62,用于根据所述识别会话请求信息,对所述多轮端点检测得到的多个音频数据进行识别;

第二发送模块63,用于向所述终端发送识别结果以及与所述识别结果对应的目标播报内容。

可选的,所述识别模块62具体用于:

根据所述识别会话请求信息,对所述多轮端点检测得到的多个音频数据进行并发识别。

可选的,所述识别会话请求信息中包括如下至少一项:

唤醒模式信息、识别请求索引、识别序列号。

可选的,所述识别模块62具体用于:

根据所述识别会话请求信息中包括的内容,结合如下处理方式中的至少一种,分别对所述多个音频数据中每个音频数据进行识别:

声纹检测、上下文语义识别、噪声检测。

可选的,对每个音频数据进行识别的结果可包括:指示音频数据是否被拒识的第一指示信息,和/或指示音频数据是否是完整语义的第二指示信息。

本发明实施例的语音交互装置60,可以实现持续的多次语音识别过程,从而减少环境音和/或说话人停顿间隔等对识别准确性的影响,不仅支持犹豫发问,还提高识别准确率,增强终端的响应自然度。

参见图7,图7是本发明实施例提供的一种终端的结构示意图,如图7所示,终端70包括:处理器71、存储器72及存储在所述存储器72上并可在所述处理器上运行的计算机程序;其中,终端70中的各个组件通过总线接口73耦合在一起,所述计算机程序被所述处理器71执行时可实现上述应用于终端的语音交互方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

此外,参见图8,图8是本发明实施例提供的一种服务器的结构示意图,如图8所示,服务器80包括:处理器81、存储器82及存储在所述存储器82上并可在所述处理器上运行的计算机程序;其中,服务器80中的各个组件通过总线接口83耦合在一起,所述计算机程序被所述处理器81执行时可实现上述应用于服务器的语音交互方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现上述应用于终端的语音交互方法实施例的各个过程,或者上述应用于服务器的语音交互方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

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

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

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

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

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