一种语音交互的方法和装置
文献发布时间:2023-06-19 10:21:15
技术领域
本发明涉及车辆技术领域,特别是涉及一种语音交互的方法和装置。
背景技术
目前,在NLU(Natural Language Understanding,自然语言理解)应用场景中,可以通过模板解析器对常用句式的解析,弥补模型的精准性不足。但随着车型车系的增加,车型对应的语音助手也在不断升级迭代中,针对不同阶段的版本,部分指令在后期版本中实现的,前期版本中并不支持,导致了单一的模板无法应对多种NLU结果。
发明内容
鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种语音交互的方法和装置,包括:
一种语音交互的方法,所述方法包括:
接收车机端在检测到语音交互事件时发送的交互请求消息;
根据所述交互请求消息,确定所述车机端中用于响应所述语音交互事件的目标客户端的第一版本信息;
根据所述第一版本信息,生成所述交互请求消息对应的控制消息,以对所述车机端进行控制。
可选地,所述根据所述第一版本信息,生成所述交互请求消息对应的控制消息,以对所述车机端进行控制,包括:
根据所述第一版本信息,确定目标模版文件;
按照所述目标模版文件,生成所述交互请求消息对应的控制消息,以对所述车机端进行控制。
可选地,所述根据所述第一版本信息,确定目标模版文件,包括:
根据所述第一版本信息,确定所述目标客户端对应的目标服务端的第二版本信息;
根据所述第二版本信息,确定目标模版文件。
可选地,所述根据所述交互请求消息,确定所述车机端中用于响应所述语音交互事件的目标客户端的第一版本信息,包括:
从所述交互请求消息中,获取目标版本标识;
根据所述目标版本标识,确定所述车机端中用于响应所述语音交互事件的目标客户端的第一版本信息。
可选地,在所述接收车机端在检测到语音交互事件时发送的交互请求消息之前,还包括:
在模板引擎中加载多个模版文件;其中,每一模版文件对应有一模版文件的版本标识;
建立所述模版文件的版本标识与服务端的版本标识的对应关系。
可选地,所述语音请求事件包括基于全场景语音业务触发的语音请求事件。
可选地,所述控制信息为根据所述交互请求消息的自然语言理解结果得到的控制指令。
一种语音交互的装置,所述装置包括:
交互请求消息接收模块,用于接收车机端在检测到语音交互事件时发送的交互请求消息;
第一版本信息确定模块,用于根据所述交互请求消息,确定所述车机端中用于响应所述语音交互事件的目标客户端的第一版本信息;
控制消息生成模块,用于根据所述第一版本信息,生成所述交互请求消息对应的控制消息,以对所述车机端进行控制。
一种服务器,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的语音交互的方法。
一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的语音交互的方法。
本发明实施例具有以下优点:
在本发明实施例中,通过接收车机端在检测到语音交互事件时发送的交互请求消息,然后根据交互请求消息,确定车机端中用于响应语音交互事件的目标客户端的第一版本信息,进而根据第一版本信息,生成交互请求消息对应的控制消息,以对车机端进行控制,实现了处理交互请求消息时的版本控制,通过接收用户的交互请求消息,根据目标客户端的版本信息生成对应的控制消息,能够针对不同车载客户端版本的用户语音请求进行有效区分,以执行对应的指令,达到了根据客户端版本信息返回相应自然语言理解结果的目的。
附图说明
为了更清楚地说明本发明的技术方案,下面将对本发明的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种语音交互的方法的步骤流程图;
图2是本发明一实施例提供的另一种语音交互的方法的步骤流程图;
图3是本发明一实施例提供的另一种语音交互的方法的步骤流程图;
图4是本发明一实施例提供的另一种语音交互的方法的步骤流程图;
图5是本发明一实施例提供的一种语音交互的装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明一实施例提供的一种语音交互的方法的步骤流程图,具体可以包括如下步骤:
步骤101,接收车机端在检测到语音交互事件时发送的交互请求消息;
作为一示例,语音请求事件可以包括基于全场景语音业务触发的语音请求事件。
在语音交互的过程中,可以通过接收基于用户语音交互操作得到的交互请求消息,该交互请求消息可以为车机端在检测到语音交互事件时进行发送的,进而可以针对接收到的交互请求消息进行处理。
在一示例中,针对全场景语音业务,可以在响应于用户语音交互操作时,触发语音交互事件,进而车机端可以在检测到语音交互事件时发送交互请求消息,该交互请求消息可以采用json格式进行传输,以通过服务端(如语音助手服务端)对交互请求消息进行解析处理。
例如,可以通过用户的语音交互操作,打开语音助手服务页面,以启动自然语言理解服务,进而车机端可以在检测到语音交互事件时,通过json文件向服务端发送交互请求消息。
步骤102,根据所述交互请求消息,确定所述车机端中用于响应所述语音交互事件的目标客户端的第一版本信息;
在接收到交互请求消息后,可以根据该交互请求消息,确定车机端中用于响应语音交互事件的目标客户端的第一版本信息,如可以根据交互请求消息,确定车辆中安装的用于响应语音交互事件的客户端(如语音助手客户端)的当前版本信息。
在一示例中,可以通过接收车机端传输的交互请求消息(json文件),由于该交互请求消息中可以携带有请求对应的车载客户端的版本信息,即车机端中用于响应语音交互事件的目标客户端的第一版本信息,进而可以从json文件中获取第一版本信息。
步骤103,根据所述第一版本信息,生成所述交互请求消息对应的控制消息,以对所述车机端进行控制。
作为一示例,控制信息可以为根据交互请求消息的自然语言理解结果得到的控制指令。
在确定第一版本信息后,可以根据第一版本信息,生成交互请求消息对应的控制消息,以对车机端进行控制。
例如,可以根据车辆中安装的语音助手客户端的当前版本信息,针对交互请求消息进行解析处理,可以得到对应的自然语言理解结果,进而可以根据该自然语言理解结果,得到控制指令,以使车辆执行对应的指令。
在一示例中,针对交互请求消息进行解析处理时,通过获取该交互请求消息对应的车机端中用于响应语音交互事件的目标客户端的第一版本信息,从而能够根据第一版本信息返回相应的NLU结果。
通过针对不同车载客户端版本的用户语音请求,在服务端进行有效区分,可以解析用户语音请求得到对应的自然语言理解结果,以执行对应的控制指令,实现了在多种车载客户端版本的情况下,对交互请求消息进行自然语言理解的应用版本控制。
在本发明实施例中,通过接收车机端在检测到语音交互事件时发送的交互请求消息,然后根据交互请求消息,确定车机端中用于响应语音交互事件的目标客户端的第一版本信息,进而根据第一版本信息,生成交互请求消息对应的控制消息,以对车机端进行控制,实现了处理交互请求消息时的版本控制,通过接收用户的交互请求消息,根据目标客户端的版本信息生成对应的控制消息,能够针对不同车载客户端版本的用户语音请求进行有效区分,以执行对应的指令,达到了根据客户端版本信息返回相应自然语言理解结果的目的。
参照图2,示出了本发明一实施例提供的另一种语音交互的方法的步骤流程图,具体可以包括如下步骤:
步骤201,接收车机端在检测到语音交互事件时发送的交互请求消息;
在语音交互的过程中,可以通过接收基于用户语音交互操作得到的交互请求消息,该交互请求消息可以为车机端在检测到语音交互事件时进行发送的,进而可以针对接收到的交互请求消息进行处理。
步骤202,从所述交互请求消息中,获取目标版本标识;
在接收到交互请求消息后,可以从该交互请求消息中,获取目标版本标识,目标版本标识可以为车机端中用于响应语音交互事件的目标客户端的版本标识。
例如,由于交互请求消息可以包括车机端中用于响应语音交互事件的目标客户端的版本标识,进而可以根据接收的交互请求消息,获取请求对应的车载客户端的版本标识。
步骤203,根据所述目标版本标识,确定所述车机端中用于响应所述语音交互事件的目标客户端的第一版本信息;
在获取目标版本标识后,可以根据该目标版本标识,确定车机端中用于响应语音交互事件的目标客户端的第一版本信息。
具体的,在接收到交互请求消息后,可以从该交互请求消息中,获取目标版本标识,该目标版本标识可以为目标客户端的版本标识,进而可以根据目标版本标识,确定目标客户端的第一版本信息,例如,通过获取交互请求消息中目标客户端的版本号,可以确定目标客户端对应的版本信息。
步骤204,根据所述第一版本信息,确定目标模版文件;
作为一示例,目标模版文件可以用于对交互请求消息进行解析处理,以得到自然语言理解结果,例如,可以为NLU模板。
在得到第一版本信息后,可以根据第一版本信息,确定目标模版文件,以根据该目标模版文件对交互请求消息进行解析处理。
步骤205,按照所述目标模版文件,生成所述交互请求消息对应的控制消息,以对所述车机端进行控制。
在得到目标模版文件后,可以按照该目标模版文件,生成交互请求消息对应的控制消息,以对车机端进行控制,例如,可以按照目标模版文件,对交互请求消息进行解析处理,可以得到对应的自然语言理解结果,进而可以根据该自然语言理解结果,得到控制指令,以使车辆执行对应的指令。
参照图3,示出了本发明一实施例提供的另一种语音交互的方法的步骤流程图,具体可以包括如下步骤:
步骤301,接收车机端在检测到语音交互事件时发送的交互请求消息;
在语音交互的过程中,可以通过接收基于用户语音交互操作得到的交互请求消息,该交互请求消息可以为车机端在检测到语音交互事件时进行发送的,进而可以针对接收到的交互请求消息进行处理。
步骤302,根据所述交互请求消息,确定所述车机端中用于响应所述语音交互事件的目标客户端的第一版本信息;
在接收到交互请求消息后,可以根据该交互请求消息,确定车机端中用于响应语音交互事件的目标客户端的第一版本信息,如可以根据交互请求消息,确定车辆中安装的用于响应语音交互事件的客户端(如语音助手客户端)的当前版本信息。
步骤303,根据所述第一版本信息,确定所述目标客户端对应的目标服务端的第二版本信息;
在得到第一版本信息后,可以根据第一版本信息,确定目标客户端对应的目标服务端的第二版本信息。
具体的,可以根据车机端中用于响应语音交互事件的目标客户端的第一版本信息,确定目标客户端对应的目标服务端的第二版本信息,如语音助手服务端的当前版本信息。
在一示例中,车机端中用于响应语音交互事件的目标客户端的第一版本信息,与目标客户端对应的目标服务端的第二版本信息可以为相同的版本信息。
步骤304,根据所述第二版本信息,确定目标模版文件;
在得到第二版本信息后,可以确定第二版本信息对应的模版文件的版本信息,进而可以根据第二版本信息对应的模版文件的版本信息,确定目标模版文件,以根据该目标模版文件对交互请求消息进行解析处理。
在一示例中,由于可以通过在模板引擎中预先加载多个模版文件,模版文件可以采用如下方式表示:
template_250.yml;
template_260.yml
其中,template_250.yml的模板文件可以表征对应的语音服务端版本号为2.5.0;template_260.yml的模板文件可以表征对应的语音服务端版本号为2.6.0。
通过得到的目标服务端的版本信息,该版本信息可以为版本号,进而可以根据目标服务端的版本号,确定目标服务端的版本号对应的模版文件的版本号,并确定目标模版文件。
在一示例中,可以针对交互请求消息进行模板文件匹配,通过针对交互请求消息的目标服务端的版本号,可以命中对应的模板文件,并可以比对命中模板的版本号,进而可以在版本号匹配时,输出模板结果,该模板结果可以为针对交互请求消息的自然语言理解结果。
步骤305,按照所述目标模版文件,生成所述交互请求消息对应的控制消息,以对所述车机端进行控制。
在得到目标模版文件后,可以按照该目标模版文件,生成交互请求消息对应的控制消息,以对车机端进行控制,例如,可以按照目标模版文件,对交互请求消息进行解析处理,可以得到对应的自然语言理解结果,进而可以根据该自然语言理解结果,得到控制指令,以使车辆执行对应的指令。
参照图4,示出了本发明一实施例提供的一种语音交互的方法的步骤流程图,具体可以包括如下步骤:
步骤401,在模板引擎中加载多个模版文件;其中,每一模版文件对应有一模版文件的版本标识;
在具体实现中,可以预先在模板引擎中加载多个模版文件,每一模版文件可以对应有一模版文件的版本标识。
例如,通过预先加载模板引擎,可以将不同模版文件分别加载至同一套模板解析器中,同时可以加载模版文件对应的版本号。
步骤402,建立所述模版文件的版本标识与服务端的版本标识的对应关系;
在模板引擎中加载多个模版文件后,可以建立模版文件的版本标识与服务端的版本标识的对应关系,以针对接收到的交互请求消息,根据模版文件的版本标识与服务端的版本标识的对应关系,确定目标模版文件。
在一示例中,加载的模版文件可以采用如下方式表示:
template_250.yml
其中,template_250.yml的模板文件可以表征对应的语音服务端版本号为2.5.0。
步骤403,接收车机端在检测到语音交互事件时发送的交互请求消息;
在语音交互的过程中,可以通过接收基于用户语音交互操作得到的交互请求消息,该交互请求消息可以为车机端在检测到语音交互事件时进行发送的,进而可以针对接收到的交互请求消息进行处理。
步骤404,从所述交互请求消息中,获取目标版本标识;
在接收到交互请求消息后,可以从该交互请求消息中,获取目标版本标识,目标版本标识可以为车机端中用于响应语音交互事件的目标客户端的版本标识。
步骤405,根据所述目标版本标识,确定所述车机端中用于响应所述语音交互事件的目标客户端的第一版本信息;
在获取目标版本标识后,可以根据该目标版本标识,确定车机端中用于响应语音交互事件的目标客户端的第一版本信息。
步骤406,根据所述第一版本信息,确定所述目标客户端对应的目标服务端的第二版本信息;
在得到第一版本信息后,可以根据第一版本信息,确定目标客户端对应的目标服务端的第二版本信息。
步骤407,根据所述第二版本信息,确定目标模版文件;
在得到第二版本信息后,可以确定第二版本信息对应的模版文件的版本信息,进而可以根据第二版本信息对应的模版文件的版本信息,确定目标模版文件,以根据该目标模版文件对交互请求消息进行解析处理。
步骤408,按照所述目标模版文件,生成所述交互请求消息对应的控制消息,以对所述车机端进行控制。
在得到目标模版文件后,可以按照该目标模版文件,生成交互请求消息对应的控制消息,以对车机端进行控制,例如,可以按照目标模版文件,对交互请求消息进行解析处理,可以得到对应的自然语言理解结果,进而可以根据该自然语言理解结果,得到控制指令,以使车辆执行对应的指令。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明一实施例提供的一种语音交互的装置的结构示意图,具体可以包括如下模块:
交互请求消息接收模块501,用于接收车机端在检测到语音交互事件时发送的交互请求消息;
第一版本信息确定模块502,用于根据所述交互请求消息,确定所述车机端中用于响应所述语音交互事件的目标客户端的第一版本信息;
控制消息生成模块503,用于根据所述第一版本信息,生成所述交互请求消息对应的控制消息,以对所述车机端进行控制。
在本发明一实施例中,所述控制消息生成模块503包括:
目标模版文件确定子模块,用于根据所述第一版本信息,确定目标模版文件;
控制消息生成子模块,用于按照所述目标模版文件,生成所述交互请求消息对应的控制消息,以对所述车机端进行控制。
在本发明一实施例中,所述目标模版文件确定子模块包括:
第二版本信息确定单元,用于根据所述第一版本信息,确定所述目标客户端对应的目标服务端的第二版本信息;
目标模版文件确定单元,用于根据所述第二版本信息,确定目标模版文件。
在本发明一实施例中,所述第一版本信息确定模块502包括:
目标版本标识获取子模块,用于从所述交互请求消息中,获取目标版本标识;
第一版本信息确定子模块,用于根据所述目标版本标识,确定所述车机端中用于响应所述语音交互事件的目标客户端的第一版本信息。
在本发明一实施例中,还包括:
多个模版文件加载模块,用于在模板引擎中加载多个模版文件;其中,每一模版文件对应有一模版文件的版本标识;
对应关系建立模块,用于建立所述模版文件的版本标识与服务端的版本标识的对应关系。
在本发明一实施例中,所述语音请求事件包括基于全场景语音业务触发的语音请求事件。
在本发明一实施例中,所述控制信息为根据所述交互请求消息的自然语言理解结果得到的控制指令。
在本发明实施例中,通过接收车机端在检测到语音交互事件时发送的交互请求消息,然后根据交互请求消息,确定车机端中用于响应语音交互事件的目标客户端的第一版本信息,进而根据第一版本信息,生成交互请求消息对应的控制消息,以对车机端进行控制,实现了处理交互请求消息时的版本控制,通过接收用户的交互请求消息,根据目标客户端的版本信息生成对应的控制消息,能够针对不同车载客户端版本的用户语音请求进行有效区分,以执行对应的指令,达到了根据客户端版本信息返回相应自然语言理解结果的目的。
本发明一实施例还提供了一种服务器,可以包括处理器、存储器及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上语音交互的方法。
本发明一实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上语音交互的方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对所提供的一种语音交互的方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
- 语音交互装置、用于语音交互装置的控制方法和存储程序的非暂时性存储介质
- 语音交互模型的训练方法、语音交互方法及装置