车辆语音交互方法、服务器和存储介质与流程



1.本发明涉及车辆语音交互技术领域,特别涉及一种车辆语音交互方法、服务器和存储介质。


背景技术:



2.在语音交互系统中,利用自动语音识别技术的流式逐帧传输的特性提前预测最终语音请求结果的算法能力已经相对成熟,例如,利用该算法可以对用户输入的中间态请求“打开”进行预测得到中间态预测语音请求结果“打开车窗”,可以将该中间态预测语音请求结果“打开车窗”作为提前预测的最终语音请求结果。
3.在车载领域中,如若将基于流式自动语音识别的算法预测能力应用到工程实现上,那么会有一定语音交互时延上的收益,随之而来的是工程实现上遇到的一系列问题,例如,如何通知全链路服务当前处理的语音请求是中间态语音请求或第几次中间态语音请求,还是最终态语音请求等问题。


技术实现要素:



4.本发明提供一种车辆语音交互方法、服务器和存储介质。
5.本发明提供一种车辆语音交互方法。所述车辆语音交互方法包括:接收车辆发送的用户语音数据以实时进行语音识别得到用户语音请求;在实时识别到的所述用户语音请求为中间态语音请求的情况下,对所述中间态语音请求进行补全预测并添加请求头信息得到中间态预测语音请求;对所述中间态预测语音请求进行预处理得到中间态预处理结果;根据所述请求头信息对所述中间态预处理结果进行存储;在实时识别到的所述用户语音请求为最终态语音请求且与所述中间态预测语音请求相匹配的情况下,根据对应的所述中间态预处理结果完成语音交互。
6.如此,本发明的车辆语音交互方法通过添加请求头信息区分中间态预测语音请求和最终语音请求,并能详细区分中间态预测语音请求是第几次中间态预测语音请求,保证基于流式自动语音识别的算法预测对中间态语音请求的后续处理,实现全链路服务识别中间态语音请求。
7.所述对所述中间态预测语音请求进行预处理得到中间态预处理结果的步骤之前,所述车辆语音交互方法包括:拦截所述中间态预测语音请求以获取所述请求头信息的状态信息和表示所述中间态预测语音请求次序的信息标识符;将所述状态信息和所述信息标识符添加到线程变量。
8.如此,本发明引入sdk拦截中间态预测语音请求,以获取请求头信息的状态信息和表示中间态预测语音请求次序的信息标识符,将状态信息和信息标识符添加到线程变量,以便于后续处理时,通过读取线程变量的请求头信息即可判断本次请求是中间态预测语音请求还是最终态语音请求。
9.所述根据所述请求头信息对所述中间态预处理结果进行存储,包括:根据所述信
息标识符确定对应的所述中间态预测语音请求的次序;根据所述信息标识符和所述中间态预处理结果生成初始中间态键值对;在所述信息标识符与预设key值前缀匹配成功的情况下,根据所述中间态预测语音请求的次序修改所述初始中间态键值对的key值得到目标中间态键值对;将所述目标中间态键值对存储到kv数据库。
10.如此,本发明的实现方法将业务方需要修改的key值进行配置预设key值前缀,根据前缀匹配方法对该key值进行自动无感知的中间态修改处理,得到目标中间态键值对存储到kv数据库。
11.所述在所述信息标识符与预设key值前缀匹配成功的情况下,根据所述中间态预测语音请求的次序修改所述中间态键值对的key值,包括:在所述信息标识符与所述预设key值前缀匹配成功的情况下,根据所述中间态预测语音请求的次序在所述初始中间态键值对的key值添加后缀得到所述目标中间态键值对的key值。
12.如此,本发明的车辆语音交互方法根据前缀匹配方法对需要修改的key值需要进行中间态的自动无感知修改处理后,在此基础上根据中间态预测语音请求的次序在初始中间态键值对的key值添加后缀得到目标中间态键值对的key值,从而完成中间态数据在kv数据库中的存储。
13.所述根据所述请求头信息对所述中间态预处理结果进行存储,包括:在所述信息标识符与所述预设key值前缀匹配失败的情况下,直接存储所述初始中间态键值对。
14.如此,在信息标识符与预设key值前缀匹配失败的情况下,能够在kv数据库中存储初始中间态键值对。
15.所述将所述目标中间态键值对存储到kv数据库的步骤之后,所述车辆语音交互方法包括:根据所述信息标识符、所述中间态预测语音请求的次序和所述初始中间态键值对的key值生成修改记录键值对;将所述修改记录键值对存储到所述kv数据库。
16.如此,可以通过将修改记录存储道kv数据库中,有利于本发明的车辆语音交互方法应用数据回溯机制时可以触发回溯当前服务存储的中间态数据进行重命名或删除操作。
17.所述在实时识别到的所述用户语音请求为最终态语音请求且与所述中间态预测语音请求相匹配的情况下,根据对应的所述中间态预处理结果完成语音交互,包括:在全部的所述中间态预测语音请求均预处理完成,且所述最终态语音请求与所述中间态预测语音请求相匹配的情况下,根据匹配到的所述中间态预测语音请求发布卡夫卡消息以更新所述kv数据库;根据更新后所述kv数据库对应的所述中间态预处理结果完成语音交互。
18.如此,本发明的车辆语音交互方法在全部的中间态预测语音请求均预处理完成,且最终态语音请求与中间态预测语音请求相匹配的情况下,可以根据匹配到的中间态预测语音请求发布卡夫卡消息,以更新kv数据库。
19.所述在全部的所述中间态预测语音请求均预处理完成,且所述最终态语音请求与所述中间态预测语音请求相匹配的情况下,根据匹配到的所述中间态预测语音请求发布卡夫卡消息以更新所述kv数据库,包括:根据所述卡夫卡消息确定对应的修改记录键值对,所述卡夫卡消息包括匹配状态信息、匹配到的所述预测语音请求的信息标识符和匹配到的所述预测语音请求的次序;根据确定的所述修改记录键值对将对应的所述目标中间态键值对的key值修改为所述初始中间态键值对的key值;根据匹配到的所述预测语音请求的信息标识符,将与匹配到的所述预测语音请求的次序不对应的所述目标中间态键值对删除。
20.如此,本发明的车辆语音交互方法可以实现回溯中间态数据的存储历史,并删除或重命名对应数据。
21.所述在实时识别到的所述用户语音请求为最终态语音请求且与所述中间态预测语音请求相匹配的情况下,根据对应的所述中间态预处理结果完成语音交互,包括:在实时识别到的所述用户语音请求为最终态语音请求且与所述中间态预测语音请求相匹配的情况下,将对应的所述中间态预处理结果发送至车辆客户端以完成语音交互。
22.如此,在实时识别到的用户语音请求为最终态语音请求且与中间态预测语音请求相匹配的情况下,将对应的中间态预处理结果发送至车辆客户端以完成语音交互,可以产生中控调用下游服务的来回时间的时延收益,达到语音交互的抢跑效果。
23.所述在实时识别到的所述用户语音请求为中间态语音请求的情况下,对所述中间态语音请求进行补全预测并添加请求头信息得到中间态预测语音请求,包括:在实时识别到的所述用户语音请求为中间态语音请求的情况下,若所述中间态语音请求未请求过话语补全,则对所述中间态语音请求进行补全预测并添加请求头信息得到中间态预测语音请求。
24.如此,本发明的车辆语音交互方法可以在实时识别到的用户语音请求为中间态语音请求的情况下,若中间态语音请求未请求过话语补全,则对中间态语音请求进行补全预测并添加请求头信息得到中间态预测语音请求。
25.所述对所述中间态预测语音请求进行预处理得到中间态预处理结果,包括:在实时预测得到的所述中间态预测语音请求与已经过预处理的所述中间态预测语音请求不同的情况下,对实时预测得到的所述中间态预测语音请求进行预处理得到对应的所述中间态预处理结果。
26.如此,可以有效避免对相同的中间态预测语音请求进行重复预处理得到相同的中间态预处理结果,提升语音交互的效率。
27.所述对所述中间态预测请求进行预处理得到中间态预处理结果,包括:在未识别到所述最终态语音请求的情况下,对所述中间态预测语音请求进行预处理得到所述中间态预处理结果。
28.如此,在中控未识别到最终态语音请求的情况下,先对中间态请求预测语音请求进行预处理得到中间态预处理结果,可以为后续创造时延收益奠定基础。
29.本发明还提供一种服务器。所述服务器包括处理器和存储器,所述存储器上存储有计算机程序,当所述计算机程序被所述处理器执行时,实现上述实施方式任一项所述的车辆语音交互方法。
30.如此,本发明的服务器应用上述车辆语音交互方法通过添加请求头信息区分中间态预测语音请求和最终语音请求,并能详细区分中间态预测语音请求是第几次中间态预测语音请求,保证基于流式自动语音识别的算法预测对中间态语音请求的后续处理,实现全链路服务识别中间态语音请求。
31.本发明还提供一种包含有计算机程序的非易失性计算机可读存储介质。当所述计算机程序被一个或多个处理器执行时,实现上述实施方式任一项所述的车辆语音交互方法。
32.如此,本发明的存储介质应用上述车辆语音交互方法通过添加请求头信息区分中
间态预测语音请求和最终语音请求,并能详细区分中间态预测语音请求是第几次中间态预测语音请求,保证基于流式自动语音识别的算法预测对中间态语音请求的后续处理,实现全链路服务识别中间态语音请求。
33.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
34.本发明的上述和/或附加的方面和优点可以从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:图1是本发明的车辆语音交互方法的流程示意图之一;图2是本发明的车辆语音交互方法的基于流式自动语音识别服务的算法预测架构的示意图;图3是本发明的车辆语音交互方法的流程示意图之二;图4是本发明的车辆语音交互方法的流程示意图之三;图5是本发明的车辆语音交互方法的流程示意图之四;图6是本发明的车辆语音交互方法的流程示意图之五;图7是本发明的车辆语音交互方法的流程示意图之六;图8是本发明的车辆语音交互方法的流程示意图之七;图9是本发明的车辆语音交互方法的流程示意图之八;图10是本发明的车辆语音交互方法的流程示意图之九;图11是本发明的车辆语音交互方法的服务器端基于流式自动语音识别服务的算法预测流程的示意图之一;图12是本发明的车辆语音交互方法的服务器端基于流式自动语音识别服务的算法预测流程的示意图之二;图13是本发明的车辆语音交互方法的流程示意图之十;图14是本发明的车辆语音交互方法的流程示意图之十一;图15是本发明的车辆语音交互方法的流程示意图之十二。
具体实施方式
35.下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明的实施方式,而不能理解为对本发明的实施方式的限制。
36.请参阅图1,本发明提供了一种车辆语音交互方法。该车辆语音交互方法包括:01:接收车辆发送的用户语音数据以实时进行语音识别得到用户语音请求;03:在实时识别到的用户语音请求为中间态语音请求的情况下,对中间态语音请求进行补全预测并添加请求头信息得到中间态预测语音请求;05:对中间态预测语音请求进行预处理得到中间态预处理结果;07:根据请求头信息对中间态预处理结果进行存储;
09:在实时识别到的用户语音请求为最终态语音请求且与中间态预测语音请求相匹配的情况下,根据对应的中间态预处理结果完成语音交互。
37.本发明还提供一种服务器。服务器包括处理器和存储器,存储器上存储有计算机程序。处理器用于:接收车辆发送的用户语音数据以实时进行语音识别得到用户语音请求;在实时识别到的用户语音请求为中间态语音请求的情况下,对中间态语音请求进行补全预测并添加请求头信息得到中间态预测语音请求;对中间态预测语音请求进行预处理得到中间态预处理结果;根据请求头信息对中间态预处理结果进行存储;在实时识别到的用户语音请求为最终态语音请求且与中间态预测语音请求相匹配的情况下,根据对应的中间态预处理结果完成语音交互。
38.本技术为基于自动语音识别技术的流式逐帧传输的特性提前预测最终语音请求结果的算法整体流程如图2所示。
39.请参阅图2,在中间态处理流程中,服务器首先获取从车载中控大屏端以流式音频方式实时发送的用户语音数据以实时进行自动语音识别得到用户语音请求。
40.然后,服务器的自动语音识别服务可以调用第三方服务商接口(dui)返回中间态语音请求。此时,在服务器可以实时将识别到用户语音请求发送至流式补全算法服务进行预测补全,在用户语音请求为中间态语音请求的情况下,对中间态语音请求进行补全预测后添加请求头信息得到中间态预处理结果,即中间态预测语音请求。例如,识别到中间态语音请求为“打开车”,对该中间态语音请求进行补全预测得到中间态预测语音请求为“打开车窗”。
41.进一步地,服务器自动语音识别服务将中间态预测语音请求发送至中控服务,请求中控服务对中间态预测语音请求进行预处理。中控服务接收到中间态预测语音请求后请求下游服务,然后获取并存储下游服务的预处理结果。
42.对于最终态处理流程,车载中控大屏端获取到用户语音数据的全部音频后发送至服务器,服务器的自动语音识别服务可以调用第三方服务商接口(dui)返回最终态语音请求。然后服务器的自动语音识别服务将最终态语音请求发送至中控服务。中控服务判断各个中间态预测语音请求是否命中最终态语音请求。如果命中,则从存储的数据中读取命中的中间态语音请求对应预处理结果,最终将结果下发车载中控大屏端;如果未命中,则请求下游服务对最终态语音请求进行预处理,等待最终结果返回后将结果下发车载中控大屏端。
43.可以理解,在中间态预测语音请求命中最终态语音请求的情况下,直接下发预警预处理好的结果,不需要再对最终态语音请求进行预处理,从而减少中控调用下游服务的来回时间,使得车载中控大屏端响应的时间减短,达到语音交互的抢跑效果,提升用户体验。
44.在本技术中,请求头信息为在请求头中新增的信息。请求头信息包括“istempstate”和“tempstatemsgid”两个字段。
45.请求头信息用于标识是第几次中间态预测语音请求结果。如下表1所示,若请求头信息中具有“istempstate”字段,则表示该语音请求为中间态语音请求。在判断请求头信息中具有“istempstate”字段,且请求头信息中的状态信息为“istempstate=true”时,且请求头信息中的信息标识符为“tempstatemsgid=62f59c20cd32385-0”,则表示为第一次中间态
预测语音请求。
46.若请求头信息中具有“istempstate”字段,则表示该语音请求为中间态语音请求。在判断请求头信息中具有“istempstate”字段,且请求头信息中的状态信息为“istempstate=true”时,且请求头信息中的信息标识符为“tempstatemsgid=62f59c20cd32385-1”,则表示为第二次中间态预测语音请求。
47.若语音请求的请求头中没有这两个字段则表示本次请求为最终态语音请求。
48.表1请求头组合释义istempstate=truetempstatemsgid=62f59c20cd32385-0第一次中间态预测语音请求tempstatemsgid=62f59c20cd32385-1第二次中间态预测语音请求在得到中间态预测语音请求后,可以对中间态预测语音请求进行预处理得到中间态预处理结果。服务器可以请求中控服务,调用中控服务通过下游服务对中间态预测语音请求进行预处理得到中间态预处理结果。
49.然后,中控服务可以根据请求头信息对中间态预处理结果进行存储。
50.最后,在实时识别到的用户语音请求为最终态语音请求且与中间态预测语音请求相匹配的情况下,根据对应的中间态预处理结果完成语音交互。
51.例如,实时识别到的用户语音请求为无请求头信息的最终态语音请求为“打开车窗和车门”,中间态语音请求为“打开车窗和”,对该中间态语音请求进行补全预测得到中间态预测语音请求也为“打开车窗和车门”,则可以根据中间态预测语音请求“打开车窗和车门”对应的中间态预处理结果完成语音交互。
52.如此,本发明的车辆语音交互方法通过添加请求头信息区分中间态预测语音请求和最终语音请求,并能详细区分中间态预测语音请求是第几次中间态预测语音请求,保证基于流式自动语音识别的算法预测对中间态语音请求的后续处理,实现全链路服务识别中间态语音请求。
53.具体地,请参阅图3,在步骤05之前,车辆语音交互方法包括:041:拦截中间态预测语音请求以获取请求头信息的状态信息和表示中间态预测语音请求次序的信息标识符;042:将状态信息和信息标识符添加到线程变量。
54.处理器用于拦截中间态预测语音请求以获取请求头信息的状态信息和表示中间态预测语音请求次序的信息标识符;将状态信息和信息标识符添加到线程变量。
55.当前服务器收到话语补全的客户端发送的中间态预测语音请求(http请求)后,中间态预测语音请求会被服务器的:软件开发工具包(software development kit,sdk)中的过滤器(filter)拦截,并获取请求头信息的状态信息和表示中间态预测语音请求次序的信息标识符,将状态信息和信息标识符添加到线程变量(threadlocal)中,再执行后续业务逻辑。在后续处理时,可以通过读取线程变量的请求头信息,判断本次请求是中间态预测语音请求还是最终态语音请求。
56.例如,第一次中间态预测语音请求的请求头信息中状态信息为“istempstate=true”,第一次中间态预测语音请求的请求头信息中表示中间态预测语音请求次序的信息标识符为“tempstatemsgid=62f59c20cd32385-0”,则可以将该状态信息和信息标识符都添
加到线程变量中。其他次序的中间态预测语音请求的请求头信息以此类推,均可以添加至线程变了中。
57.如此,本发明引入sdk拦截中间态预测语音请求,以获取请求头信息的状态信息和表示中间态预测语音请求次序的信息标识符,将状态信息和信息标识符添加到线程变量,以便于后续处理时,通过读取线程变量的请求头信息即可判断本次请求是中间态预测语音请求还是最终态语音请求。
58.另外,在全链路服务中嵌入中间态预测能力之前,全链路服务针对最终态请求会有多次kv型数据库读写操作。在嵌入中间态预测能力后,需要新增保存中间态预测语音请求的相关数据。
59.考虑到目前在服务器正常进行kv(key-value)型数据库存储时,如何自动无感知修改key值,存储中间态预测语音请求的数据的问题,本发明继续使用sdk拦截中间态预测语音请求,进行无感知修改key值和存储中间态预测语音请求的数据。
60.具体地,请参阅图4,步骤07包括:071:根据信息标识符确定对应的中间态预测语音请求的次序;072:根据信息标识符和中间态预处理结果生成初始中间态键值对;073:在信息标识符与预设key值前缀匹配成功的情况下,根据中间态预测语音请求的次序修改初始中间态键值对的key值得到目标中间态键值对;074:将目标中间态键值对存储到kv数据库。
61.处理器用于根据信息标识符确定对应的中间态预测语音请求的次序;根据信息标识符和中间态预处理结果生成初始中间态键值对;在信息标识符与预设key值前缀匹配成功的情况下,根据中间态预测语音请求的次序修改初始中间态键值对的key值得到目标中间态键值对;将目标中间态键值对存储到kv数据库。
62.首先,根据信息标识符确定对应的中间态预测语音请求的次序。
63.然后,根据信息标识符和中间态预处理结果生成初始中间态键值对。例如,服务器可以为每次服务配置预设key值前缀为abc,若中间态预处理返回预处理结果后,需要存储语音请求的信息标识符为“abcd”和预处理结果的数据为“test”,则根据信息标识符和中间态预处理结果可以生成初始中间态键值对《k:abcd,v:test》以便于存储到kv数据库中。
64.接着,对于生成的初始中间态键值对,在key值“abcd”与预设key值前缀“abc”匹配成功的情况下,根据中间态预测语音请求的次序修改初始中间态键值对的key值得到目标中间态键值对。
65.例如,对于中间态预测语音请求的次序为第一次中间态预测语音请求的情况下,可以修改初始中间态键值对的key值,得到第一次中间态预测语音请求的目标中间态键值对为“《k:abcd-0,v:test》”。对于中间态预测语音请求的次序为第二次中间态预测语音请求的情况下,可以修改初始中间态键值对的key值,得到第二次中间态预测语音请求的目标中间态键值对为“《k:abcd-1,v:test》”。
66.最后,将目标中间态键值对存储到kv数据库。
67.如此,本发明的实现方法将业务方需要修改的key值进行配置预设key值前缀,根据前缀匹配方法对该key值进行自动无感知的中间态修改处理,得到目标中间态键值对存储到kv数据库。
68.请参阅图5,步骤073包括:0731:在信息标识符与预设key值前缀匹配成功的情况下,根据中间态预测语音请求的次序在初始中间态键值对的key值添加后缀得到目标中间态键值对的key值。
69.处理器用于在信息标识符与预设key值前缀匹配成功的情况下,根据中间态预测语音请求的次序在初始中间态键值对的key值添加后缀得到目标中间态键值对的key值。
70.例如,初始中间态键值对为《k:abcd,v:test》,对于中间态预测语音请求的次序为第一次中间态预测语音请求的情况下,可以在初始中间态键值对的key值添加后缀
“‑
0”,得到第一次中间态预测语音请求的目标中间态键值对为“《k:abcd-0,v:test》”。对于中间态预测语音请求的次序为第二次中间态预测语音请求的情况下,可以在初始中间态键值对的key值添加后缀
“‑
1”,得到第二次中间态预测语音请求的目标中间态键值对为“《k:abcd-1,v:test》”。
71.如此,本发明的车辆语音交互方法根据前缀匹配方法对需要修改的key值需要进行中间态的自动无感知修改处理后,在此基础上根据中间态预测语音请求的次序在初始中间态键值对的key值添加后缀得到目标中间态键值对的key值,从而完成中间态数据在kv数据库中的存储。
72.请参阅图6,步骤07包括:075:在信息标识符与预设key值前缀匹配失败的情况下,直接存储初始中间态键值对。
73.处理器用于在信息标识符与预设key值前缀匹配失败的情况下,直接存储初始中间态键值对。
74.此外,在获取到的最终态语音请求中,在需要存储目标中间态键值对时,会被sdk拦截,并识别到该最终态语音请求的信息标识符与预设key值前缀abc匹配失败,此时则不修改初始中间态键值对的key值进行存储,即直接存储初始中间态键值对。
75.如此,在信息标识符与预设key值前缀匹配失败的情况下,能够在kv数据库中存储初始中间态键值对。
76.此外,考虑到提前处理中间态预测语音请求时会在kv型数据库中产生与最终态语音请求不匹配的脏数据,因此需要在接收到最终态语音请求后进行回溯并删除脏数据。
77.在本发明中,把命中的中间态预测语音请求对应请求的中间态预处理结果重命名为最终态预处理结果,并将未命中的中间态预测语音请求对应请求的中间态预处理结果的相关数据删除,从而根据请求头信息存储中间态预处理结果。
78.请参阅图7,在步骤074之后,车辆语音交互方法包括:076:根据信息标识符、中间态预测语音请求的次序和初始中间态键值对的key值生成修改记录键值对;077:将修改记录键值对存储到kv数据库。
79.处理器用于根据信息标识符、中间态预测语音请求的次序和初始中间态键值对的key值生成修改记录键值对;将修改记录键值对存储到kv数据库。
80.在修改中间态key后,需要将修改记录存储到kv数据库中,该记录则以修改记录键值对的方式存储到kv数据库中。该修改记录键值对的结构为hash结构,具体包括:一级key值为当前数据对应中间态预测语音请求的信息标识符,二级hashkey值为中间态预测语音
请求的次序,value值为修改前的初始中间态键值对中的key值。
81.如此,可以通过将修改记录存储道kv数据库中,有利于本发明的车辆语音交互方法应用数据回溯机制时可以触发回溯当前服务存储的中间态数据进行重命名或删除操作。
82.此外,在接收到最终态语音请求后,由于处理中间态预测语音请求的过程中会产生许多中间态数据,需要把命中最终态语音请求的中间态预测语音请求对应请求的中间态数据重命名为最终态数据,并将未命中的中间态预测语音请求对应请求的中间态数据删除以更新kv数据库,从而实现在接收到最终态语音请求后回溯并删除由处理中间态预测语音请求时在kv型数据库中产生的脏数据。
83.具体地,请参阅图8,步骤09包括:091:在全部的中间态预测语音请求均预处理完成,且最终态语音请求与中间态预测语音请求相匹配的情况下,根据匹配到的中间态预测语音请求发布卡夫卡消息以更新kv数据库;092:根据更新后kv数据库对应的中间态预处理结果完成语音交互。
84.处理器用于在全部的中间态预测语音请求均预处理完成,且最终态语音请求与中间态预测语音请求相匹配的情况下,根据匹配到的中间态预测语音请求发布卡夫卡消息以更新kv数据库;根据更新后kv数据库对应的中间态预处理结果完成语音交互。
85.服务器中的中控服务收到最终态语音请求时,可以判断多个中间态预测语音请求是否与最终态语音请求相匹配,已确定根据中间态预测语音请求的预处理结果是否可以完成语音交互。
86.若最终态语音请求与中间态预测语音请求相匹配,确定全部的中间态预测语音请求是否均预处理完成。若全部的中间态预测语音请求均预处理完成,则服务器会发布卡夫卡(kafka)消息,sdk收到卡夫卡后消息进行数据后置处理,从而更新kv数据库以对kv数据库内的数据进行重命名操作或删除操作,然后根据更新后kv数据库对应的中间态预处理结果完成语音交互。其中,在中控服务确定中间态预处理结果已经全部返回的情况下,确定全部的中间态预测语音请求是否均预处理完成;否则,中间态预测语音请求未全部预处理完成。
87.需要说明的是,若最终态语音请求与中间态预测语音请求相匹配,但中间态预测语音请求未全部预处理完成,则中控服务可以等待中间态预处理结果全部返回后再发布卡夫卡消息。
88.如此,本发明的车辆语音交互方法在全部的中间态预测语音请求均预处理完成,且最终态语音请求与中间态预测语音请求相匹配的情况下,可以根据匹配到的中间态预测语音请求发布卡夫卡消息,以更新kv数据库。
89.请参阅图9,步骤091包括:0911:根据卡夫卡消息确定对应的修改记录键值对,卡夫卡消息包括匹配状态信息、匹配到的预测语音请求的信息标识符和匹配到的预测语音请求的次序;0912:根据确定的修改记录键值对将对应的目标中间态键值对的key值修改为初始中间态键值对的key值;0913:根据匹配到的预测语音请求的信息标识符,将与匹配到的预测语音请求的次序不对应的目标中间态键值对删除。
90.处理器用于根据卡夫卡消息确定对应的修改记录键值对,卡夫卡消息包括匹配状态信息、匹配到的预测语音请求的信息标识符和匹配到的预测语音请求的次序;根据确定的修改记录键值对将对应的目标中间态键值对的key值修改为初始中间态键值对的key值;根据匹配到的预测语音请求的信息标识符,将与匹配到的预测语音请求的次序不对应的目标中间态键值对删除。
91.当服务中的中控判断数据回退触发后会发布卡夫卡消息,根据卡夫卡消息确定对应的修改记录键值对,卡夫卡消息包括匹配状态信息、匹配到的预测语音请求的信息标识符和匹配到的预测语音请求的次序,即,卡夫卡消息体包括ishit、msgid和hitnumber三个字段。
92.修改记录键值对中记录了对应的目标中间态键值对修改前的初始中间态键值对的key值,根据确定的修改记录键值对将对应的目标中间态键值对的key值修改为初始中间态键值对的key值,可以将目标中间键值对修改为对应的初始中间态键值对。然后,根据匹配到的预测语音请求的信息标识符(msgid),将与匹配到的预测语音请求的次序(hitnumber)不对应的目标中间态键值对删除。可以理解地,服务器中全链路服务均可回溯中间态数据的存储历史,并删除或重命名对应数据。
93.如此,本发明的车辆语音交互方法可以实现回溯中间态数据的存储历史,并删除或重命名对应数据。
94.请参阅图10,步骤09包括:093:在实时识别到的用户语音请求为最终态语音请求且与中间态预测语音请求相匹配的情况下,将对应的中间态预处理结果发送至车辆客户端以完成语音交互。
95.处理器用于在实时识别到的用户语音请求为最终态语音请求且与中间态预测语音请求相匹配的情况下,将对应的中间态预处理结果发送至车辆客户端以完成语音交互。
96.在实时识别到的用户语音请求为最终态语音请求时,且中间态预测语音请求命中最终态语音请求时,可以直接将对应的中间态预处理结果发送至车辆客户端以完成语音交互,从而达到语音交互的抢跑效果。
97.也即是,当中控收到最终态语音请求时,与该最终态语音请求相匹配的中间态预测语音请求预处理的中间态预处理结果也返回的情况下,可以产生时延收益。时延收益为如图11所示的中控调用下游服务的来回时间。
98.如此,在实时识别到的用户语音请求为最终态语音请求且与中间态预测语音请求相匹配的情况下,将对应的中间态预处理结果发送至车辆客户端以完成语音交互,可以产生中控调用下游服务的来回时间的时延收益,达到语音交互的抢跑效果。
99.另外,当中控收到最终态语音请求时,与该最终态语音请求向匹配的中间态预测语音请求尚未返回,此时的时延收益就是中控收到最终态语音请求的时间减去中控收到与该最终态语音请求向匹配的中间态预测语音请求的时间得到的结果,如图12所示。
100.提前处理中间态预测语音请求将会增加流量,本技术通过流量控制逻辑在服务器端基于规则控制流量。
101.具体的,步骤03中,服务接收到车载中控大屏端的用户语音数据后对语音数据进行自动语音识别得到用户语音请求,可以判断用户语音请求是否是最终态用户语音请求,若用户语音请求是最终态语音请求,则请求中控服务进行预处理,并下发结果。
102.若用户语音请求不是最终态用户语音请求,则判断补全预测开关是否开启,若补全预测开关未开启,表明用户未启用补全预测,则不需要对用户语音请求进行补全预测,可等待收到最终态语音请求后进行后续处理。
103.若补全预测开关已开启,则判断车辆是否满足车型要求,若车辆不满足车型要求,表示当前车辆不支持本技术基于自动语音识别技术的流式逐帧传输的特性提前预测最终语音请求结果的算法,可不进行处理。
104.若车辆满足车型要求,则判断语音状态是否为激活态或倾听态,判断语音状态不为激活态或倾听态,则可以不进行后续处理。
105.若断语音状态为激活态或倾听态,则判断用户语音请求是否在启动音区或上一轮有效语音请求的音区,若在用户语音请求不在启动音区或上一轮有效语音请求的音区,则可以不进行后续处理。
106.若用户语音请求在启动音区或上一轮有效语音请求的音区,则当前的中间态语音请求是否请求过话语补全,若当前的中间态语音请求已经请求过话语补全,则可以不需要对当前的中间态语音请求进行重复预测;若当前的中间态语音请求未请求过话语补全,则可以将中间态语音请求发送至补全预测服务进行话语补全。也就是说,请参阅图13,步骤03具体包括:031:在实时识别到的用户语音请求为中间态语音请求的情况下,若中间态语音请求未请求过话语补全,则对中间态语音请求进行补全预测并添加请求头信息得到中间态预测语音请求。
107.处理器用于在实时识别到的用户语音请求为中间态语音请求的情况下,若中间态语音请求未请求过话语补全,则对中间态语音请求进行补全预测并添加请求头信息得到中间态预测语音请求。
108.例如,当实时识别到的用户语音请求为“打开车”为中间态语音请求的情况下,若该中间态语音请求未请求过话语补全,则可以请求话语补全,对该中间态语音请求进行补全预测并添加请求头信息得到中间态预测语音请求,例如得到中间态预测语音请求为“打开车窗”。
109.如此,本发明的车辆语音交互方法可以在实时识别到的用户语音请求为中间态语音请求的情况下,若中间态语音请求未请求过话语补全,则对中间态语音请求进行补全预测并添加请求头信息得到中间态预测语音请求。
110.对于补全预测后得到的中间态预测语音请求,在步骤05中,判断服务器自动语音识别服务是否已经发送过与实时预测得到的中间态语音请求相同的中间态预测语音请求至中控服务进行预处理,即判断实时预测得到的中间态预测语音请求与已经过预处理的中间态预测语音请求是否相同,若实时预测得到的中间态预测语音请求与已经过预处理的中间态预测语音请求相同,则可以不需要将当前实时预测得到的中间态语音请求发送至中控服务请求预处理。
111.若实时预测得到的中间态预测语音请求与已经过预处理的中间态预测语音请求不同,则将实时预测得到的中间态预测语音请求发送至中控服务请求预处理。也就是说,请参阅图14,步骤05包括:051:在实时预测得到的中间态预测语音请求与已经过预处理的中间态预测语音
请求不同的情况下,对实时预测得到的中间态预测语音请求进行预处理得到对应的中间态预处理结果。
112.处理器用于在实时预测得到的中间态预测语音请求与已经过预处理的中间态语音请求不同的情况下,对实时预测得到的中间态请求进行预处理得到中间态预处理结果。
113.对于中间态语音请求“打开”和中间态语音请求“打开车”对应得到的中间态预测语音请求均为“打开车门”,则若将两次预测的中间态预测语音请求“打开车门”发送至中控进行预处理,则需要重复预处理两次,但所得到的中间态预处理结果是相同的,这样就会影响语音交互的效率。
114.因此,判断实时预测得到的中间态预测语音请求与已经过预处理的中间态预测语音请求不同的情况下,对实时预测得到的中间态预测语音请求进行预处理得到对应的中间态预处理结果,可以有效避免对相同的中间态预测语音请求进行重复预处理得到相同的中间态预处理结果,提升语音交互的效率。
115.此外,在将实时预测得到的中间态预测语音请求发送至中控服务请求预处理之前,还可以判断服务器的自动语音识别服务是否已识别到最终态语音请求,若已经识别到最终态语音请求,则最终态语音请求已发送至中控服务或可以将最终态语音请求发送给中控服务,从而根据最终态语音请求进行预处理即可,而不需要再将中间态预测语音请求再发送至中控服务。
116.若服务器的自动语音识别服务未识别到最终态语音请求,则将预测到的中间态预测请求发送至中控服务请求预处理,从而得到中间态预处理结果。也就是说,请参阅图15,步骤05包括:052:在未识别到最终态语音请求的情况下,对中间态预测语音请求进行预处理得到中间态预处理结果。
117.处理器用于在未识别到最终态语音请求的情况下,对中间态预测语音请求进行预处理得到中间态预处理结果。
118.如图11所示,在中控未识别到最终态语音请求的情况下,先对中间态请求预测语音请求进行预处理得到中间态预处理结果,可以为后续创造时延收益奠定基础。
119.当中控识别到最终态语音请求时,可以在之前已经提前预处理得到的多个中间态预处理结果中寻与该最终态语音请求相匹配的一个中间态预处理结果,从而可以产生时延收益。时延收益为如图11所示的中控调用下游服务的来回时间。
120.如此,在中控未识别到最终态语音请求的情况下,先对中间态请求预测语音请求进行预处理得到中间态预处理结果,可以为后续创造时延收益奠定基础。
121.本技术通过流量控制逻辑在服务器端基于规则控制流量,避免对不符合条件的语音请求进行处理造成资源占用,同时减少了各个处理环节中相同内容的重复处理,减少处理中间态预测语音请求的流量,提高处理效率。
122.本发明还提供一种包含有计算机程序的非易失性计算机可读存储介质。当计算机程序被一个或多个处理器执行时,实现上述任意实施例所述的交互方法。
123.例如,计算机程序被处理器执行时实现以下交互方法的步骤:01:接收车辆发送的用户语音数据以实时进行语音识别得到用户语音请求;03:在实时识别到的用户语音请求为中间态语音请求的情况下,对中间态语音请
求进行补全预测并添加请求头信息得到中间态预测语音请求;05:对中间态预测语音请求进行预处理得到中间态预处理结果;07:根据请求头信息对中间态预处理结果进行存储;09:在实时识别到的用户语音请求为最终态语音请求且与中间态预测语音请求相匹配的情况下,根据对应的中间态预处理结果完成语音交互。
124.可以理解,计算机程序包括计算机程序代码。计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、以及软件分发介质等。
125.本发明的计算机可读存储介质应用上述车辆语音交互方法通过添加请求头信息区分中间态预测语音请求和最终语音请求,并能详细区分中间态预测语音请求是第几次中间态预测语音请求,提升基于流式自动语音识别的算法预测的准确度。

技术特征:


1.一种车辆语音交互方法,其特征在于,包括:接收车辆发送的用户语音数据以实时进行语音识别得到用户语音请求;在实时识别到的所述用户语音请求为中间态语音请求的情况下,对所述中间态语音请求进行补全预测并添加请求头信息得到中间态预测语音请求;对所述中间态预测语音请求进行预处理得到中间态预处理结果;根据所述请求头信息对所述中间态预处理结果进行存储;在实时识别到的所述用户语音请求为最终态语音请求且与所述中间态预测语音请求相匹配的情况下,根据对应的所述中间态预处理结果完成语音交互。2.根据权利要求1所述的车辆语音交互方法,其特征在于,所述对所述中间态预测语音请求进行预处理得到中间态预处理结果的步骤之前,所述车辆语音交互方法包括:拦截所述中间态预测语音请求以获取所述请求头信息的状态信息和表示所述中间态预测语音请求次序的信息标识符;将所述状态信息和所述信息标识符添加到线程变量。3.根据权利要求2所述的车辆语音交互方法,其特征在于,所述根据所述请求头信息对所述中间态预处理结果进行存储,包括:根据所述信息标识符确定对应的所述中间态预测语音请求的次序;根据所述信息标识符和所述中间态预处理结果生成初始中间态键值对;在所述信息标识符与预设key值前缀匹配成功的情况下,根据所述中间态预测语音请求的次序修改所述初始中间态键值对的key值得到目标中间态键值对;将所述目标中间态键值对存储到kv数据库。4.根据权利要求3所述的车辆语音交互方法,其特征在于,所述在所述信息标识符与预设key值前缀匹配成功的情况下,根据所述中间态预测语音请求的次序修改所述中间态键值对的key值,包括:在所述信息标识符与所述预设key值前缀匹配成功的情况下,根据所述中间态预测语音请求的次序在所述初始中间态键值对应的key值添加后缀得到所述目标中间态键值对的key值。5.根据权利要求3所述的车辆语音交互方法,其特征在于,所述根据所述请求头信息对所述中间态预处理结果进行存储,包括:在所述信息标识符与所述预设key值前缀匹配失败的情况下,直接存储所述初始中间态键值对。6.根据权利要求3所述的车辆语音交互方法,其特征在于,所述将所述目标中间态键值对存储到kv数据库的步骤之后,所述车辆语音交互方法包括:根据所述信息标识符、所述中间态预测语音请求的次序和所述初始中间态键值对的key值生成修改记录键值对;将所述修改记录键值对存储到所述kv数据库。7.根据权利要求6所述的车辆语音交互方法,其特征在于,所述在实时识别到的所述用户语音请求为最终态语音请求且与所述中间态预测语音请求相匹配的情况下,根据对应的所述中间态预处理结果完成语音交互,包括:在全部的所述中间态预测语音请求均预处理完成,且所述最终态语音请求与所述中间
态预测语音请求相匹配的情况下,根据匹配到的所述中间态预测语音请求发布卡夫卡消息以更新所述kv数据库;根据更新后所述kv数据库对应的所述中间态预处理结果完成语音交互。8.根据权利要求7所述的车辆语音交互方法,其特征在于,所述在全部的所述中间态预测语音请求均预处理完成,且所述最终态语音请求与所述中间态预测语音请求相匹配的情况下,根据匹配到的所述中间态预测语音请求发布卡夫卡消息以更新所述kv数据库,包括:根据所述卡夫卡消息确定对应的修改记录键值对,所述卡夫卡消息包括匹配状态信息、匹配到的所述预测语音请求的信息标识符和匹配到的所述预测语音请求的次序;根据确定的所述修改记录键值对将对应的所述目标中间态键值对的key值修改为所述初始中间态键值对的key值;根据匹配到的所述预测语音请求的信息标识符,将与匹配到的所述预测语音请求的次序不对应的所述目标中间态键值对删除。9.根据权利要求1所述的车辆语音交互方法,其特征在于,所述在实时识别到的所述用户语音请求为最终态语音请求且与所述中间态预测语音请求相匹配的情况下,根据对应的所述中间态预处理结果完成语音交互,包括:在实时识别到的所述用户语音请求为最终态语音请求且与所述中间态预测语音请求相匹配的情况下,将对应的所述中间态预处理结果发送至车辆客户端以完成语音交互。10.根据权利要求1所述的车辆语音交互方法,其特征在于,所述在实时识别到的所述用户语音请求为中间态语音请求的情况下,对所述中间态语音请求进行补全预测并添加请求头信息得到中间态预测语音请求,包括:在实时识别到的所述用户语音请求为中间态语音请求的情况下,若所述中间态语音请求未请求过话语补全,则对所述中间态语音请求进行补全预测并添加请求头信息得到中间态预测语音请求。11.根据权利要求1所述的车辆语音交互方法,其特征在于,所述对所述中间态预测语音请求进行预处理得到中间态预处理结果,包括:在实时预测得到的所述中间态预测语音请求与已经过预处理的所述中间态预测语音请求不同的情况下,对实时预测得到的所述中间态预测语音请求进行预处理得到对应的所述中间态预处理结果。12.根据权利要求1所述的车辆语音交互方法,其特征在于,所述对所述中间态预测语音请求进行预处理得到中间态预处理结果,包括:在未识别到所述最终态语音请求的情况下,对所述中间态预测语音请求进行预处理得到所述中间态预处理结果。13.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器上存储有计算机程序,当所述计算机程序被所述处理器执行时,实现权利要求1-12任一项所述的车辆语音交互方法。14.一种包含有计算机程序的非易失性计算机可读存储介质,其特征在于,当所述计算机程序被一个或多个处理器执行时,实现权利要求1-12任一项所述的车辆语音交互方法。

技术总结


本发明公开了一种车辆语音交互方法、服务器和存储介质。该方法包括:接收车辆发送的用户语音数据以实时进行语音识别得到用户语音请求;在实时识别到的用户语音请求为中间态语音请求的情况下,对中间态语音请求进行补全预测并添加请求头信息得到中间态预测语音请求;对中间态预测语音请求进行预处理得到中间态预处理结果;根据请求头信息对中间态预处理结果进行存储;在实时识别到的用户语音请求为最终态语音请求且与中间态预测语音请求相匹配的情况下,根据对应的中间态预处理结果完成语音交互。本发明通过添加请求头信息区分中间态预测语音请求和最终语音请求,及区分第几次中间态预测语音请求,实现全链路服务识别中间态语音请求。语音请求。语音请求。


技术研发人员:

刘玉颉 张岩 郭华鹏 杨如栋

受保护的技术使用者:

广州小鹏汽车科技有限公司

技术研发日:

2022.06.29

技术公布日:

2022/7/29

本文发布于:2024-09-20 14:48:30,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/17551.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:语音   所述   键值   信息
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议