1.本公开涉及人工智能技术领域,具体涉及智能座舱、语音对话系统、自动驾驶等技术领域,尤其涉及一种语音控制方法、装置、设备和存储介质。
背景技术:
2.在车载系统中,语音控制成为了越来越受欢迎的方式。由于驾驶员在驾驶时需要集中注意力,因此,通过语音指令与车载系统进行交互已成为驾驶员和乘客的首选方式。
3.现有的车载语音控制系统通常只支持单用户输入,难以支持多人同时交互。特别是在多人乘坐的情况下,驾驶员和乘客之间的语音输入可能会相互干扰,导致交互效率降低,用户体验不佳。
技术实现要素:
4.本公开提供了一种语音控制方法、装置、设备和存储介质。
5.根据本公开的一方面,提供了一种语音控制方法,包括:针对多轮语音数据中的当前语音数据,确定所述当前语音数据的当前意图;若所述当前意图是跟随意图,确定所述当前意图所跟随的目标意图,所述目标意图用于控制目标对象执行目标操作;基于所述目标对象确定当前对象,以及,基于所述目标操作或所述当前语音数据确定当前操作;控制所述当前对象执行所述当前操作。
6.根据本公开的另一方面,提供了一种语音控制装置,包括:第一确定模块,用于针对多轮语音数据中的当前语音数据,确定所述当前语音数据的当前意图;第二确定模块,用于若所述当前意图是跟随意图,确定所述当前意图所跟随的目标意图,所述目标意图用于控制目标对象执行目标操作;第三确定模块,用于基于所述目标对象确定当前对象,以及,基于所述目标操作或所述当前语音数据确定当前操作;控制模块,用于控制所述当前对象执行所述当前操作。
7.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一方面的任一项所述的方法。
8.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述任一方面的任一项所述的方法。
9.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一方面的任一项所述的方法。
10.根据本公开的技术方案,可以提升语音控制效率。
11.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
12.附图用于更好地理解本方案,不构成对本公开的限定。其中:
13.图1是根据本公开第一实施例的示意图;
14.图2是根据本公开实施例提供的应用场景的示意图;
15.图3是根据本公开实施例提供的语音控制过程的整体框架的示意图;
16.图4是根据本公开实施例提供的仲裁过程的的示意图;
17.图5是根据本公开第二实施例的示意图;
18.图6是根据本公开实施例提供的同一音区的回溯过程的示意图;
19.图7是根据本公开实施例提供的多个音区的回溯过程的示意图;
20.图8是根据本公开第三实施例的示意图;
21.图9是用来实现本公开实施例的语音控制方法的电子设备的示意图。
具体实施方式
22.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
23.相关技术中,针对语音控制,若某一轮语音数据的意图是跟随意图,通常是将该轮语音数据的上一轮语音数据的意图作为该轮语音数据的意图,来实现语音控制。例如,针对主驾说:“打开车窗”,然后副驾说:“我也要”的用户行为,副驾的意图是通过拷贝主驾的意图“打开车窗”实现的。
24.但是,拷贝上一轮语音数据的意图的方式,在复杂交互场景下可能会导致执行错误或无法执行,进而影响语音控制效率。例如,主驾说:“打开车窗”,然后副驾说:“今天天气”,然后,右后的乘客说:“我也要”,此时乘客期望的是执行“打开车窗”的意图,但是由于相关技术方案的局限性,导致执行了“今天天气”的指令行为,即出现了执行错误。又例如,主驾说:“座椅温度调高一点”、“再高一点”,然后副驾说:“我也要”,此时副驾的真实意图是调高自己的座椅温度,但是实际拷贝的意图是“再高一点”,由于没有真正继承意图,无法确定调高的是车窗、座椅或者空调温度等,无法做出正确的指令执行行为。
25.为了提升语音控制效率,本公开提供如下实施例。
26.图1是根据本公开第一实施例的示意图,本实施例提供一种语音控制方法,该方法包括:
27.101、针对多轮语音数据中的当前语音数据,确定所述当前语音数据的当前意图。
28.102、若所述当前意图是跟随意图,确定所述当前意图所跟随的目标意图,所述目标意图用于控制目标对象执行目标操作。
29.103、基于所述目标对象确定当前对象,以及,基于所述目标操作或所述当前语音数据确定当前操作。
30.104、控制所述当前对象执行所述当前操作。
31.其中,以智能座舱场景为例,智能座舱内可以设置音频采集装置,如麦克风,通过音频采集装置可以获取到多轮语音数据。
32.智能座舱内的空间可以分为多个音区,例如,可以分为四个音区,主驾、副驾、左后、右后分别是一个音区。在每个音区可以设置麦克风或麦克风阵列,以采集对应音区的语音数据。
33.多轮语音数据可以来自于同一个音区,例如,主驾说的多轮语音数据。或者,多轮语音数据也可以来自于多个音区,例如,来自于主驾说的至少一轮语音数据以及来自于副驾说的至少一轮语音数据。
34.当前语音数据,是指多轮语音数据中当前处理的一轮语音数据,例如,可以分别将每轮语音数据作为当前语音数据进行处理。
35.当前意图,是指对当前语音数据进行语义分析后得到的意图。
36.当前意图可以包括:跟随意图,或者,非跟随意图。
37.跟随意图,是指基于当前语音数据本身无法确定明确意图,具体可以包括:拷贝意图(action_copy),或者,继承意图。
38.拷贝意图是指需要拷贝历史语音数据的历史意图,例如,当前语音数据是“我也要”,“我也是”,相应的当前意图是拷贝意图。
39.继承意图是指需要继承历史语音数据的历史意图,例如,当前语音数据是“调高一点”、“再调高一点”,相应的当前意图是继承意图。
40.非跟随意图,是指基于当前语音数据本身可以确定明确意图,例如,当前语音数据是“打开车窗”,相应的当前意图是“打开车窗”,该当前意图属于非跟随意图。
41.具体地,可以基于规则确定目标意图是否属于拷贝意图,例如,可以预先配置哪些文本对应的意图属于跟随意图,若当前语音数据对应的文本属于预先配置的上述文本,则相应的当前意图是跟随意图。或者,也可以采用预先训练的深度学习模型,将当前语音数据输入到深度学习模型中,输出是当前意图。
42.若当前意图是非跟随意图,则可以基于当前语音数据执行相应操作,如当前语音数据是“打开车窗”,则执行打开车窗的操作。
43.若当前意图是跟随意图,则需要确定跟随意图所跟随(拷贝或继承)的目标意图。
44.目标意图是明确的,用于控制目标对象执行目标操作,如目标意图是:打开车窗,则目标对象是车窗,目标操作是打开操作。
45.确定目标意图后,可以基于目标对象确定当前对象,以及,基于目标操作或当前语音数据确定当前操作,进而控制当前对象执行当前操作。例如,当前语音数据实施“我也要”,相应的当前意图是跟随意图,假设确定其跟随的目标意图是“打开车窗”,则针对“我也要”可以执行打开车窗的操作。
46.本实施例中,针对跟随意图的当前语音数据,可以确定当前意图所跟随的目标意图,基于目标意图对应的目标对象确定当前对象,以及基于目标意图对应的目标操作或当前语音数据确定当前操作,进而控制当前对象执行当前操作,而不是固定拷贝上一轮语音数据的意图,可以适用于复杂交互场景,提升语音控制效率,提升用户体验。
47.为了更好地理解本公开,对本公开实施例的应用场景进行说明。
48.图2是根据本公开实施例提供的应用场景的示意图。本实施例可以应用在智能座舱场景下。智能座舱是指配备了智能化和网联化的车载产品,从而可以与人、路、车本身进行智能交互的座舱,是人车关系从工具向伙伴演进的重要纽带和关键节点。如图2所示,智
能座舱内可以安装车载系统201,车载系统201可以与云端202进行交互。车载系统201和云端202基于通信网络进行交互,通信网络可以包括有线和/或无线通信网络。
49.为了提升驾驶安全性和提升用户体验,用户(驾驶员或乘客)可以采用语音数据与车载系统进行交互。
50.用户与车载系统可以进行多轮交互,相应的,用户产生的语音数据为多轮语音数据,多轮语音数据可以来自于同一音区,或者,可以来自于多个音区。
51.以智能座舱分为四个音区(音区0~音区3)为例,语音控制处理的整体架构可以如图3所示。
52.针对各个音区,可以对该音区内的每轮语音数据进行自动语音识别(automatic speech recognition,asr)301,得到语音识别结果(文本);对语音识别结果进行自然语言理解(natural language understanding,nlu)302,得到候选意图;对候选意图进行仲裁303,得到该轮语音数据的当前意图。
53.另外,还可以记录每轮语音数据及其时间信息、意图和属性信息,属性信息可以包括:标识信息和/或期望操作内容,标识信息用于标识该意图是否支持拷贝,期望操作内容是指该意图所期望的后续操作的内容,从而生成各个音区共用的对话记录304。
54.针对各个音区,可以基于共用的对话记录进行对话管理(dialogue manager)305、自然语言生成(natural language generation,nlg)306及后处理307。
55.asr可以包括:在线asr和离线asr;nlu可以包括:在线nlu和离线nlu。
56.在线是基于云端实现的,离线是车载系统本地实现的。
57.具体地,在线asr,是指车载系统将语音数据发送给云端,云端对语音数据进行asr,得到语音识别结果,并将语音识别结果发送给车载系统。
58.离线asr,是指车载系统本地对语音数据进行asr。
59.在线nlu,是指云端对语音识别结果进行nlu,得到候选意图。
60.离线nlu,是指车载系统本地对语音识别结果进行nlu,得到候选意图。
61.由于离线asr后通常不会再进行在线nlu,因此,对上述四种在离线方式进行组合,可以得到如下三种组合方式:离线asr 离线nlu,在线asr 在线nlu,在线asr 离线nlu,对应的候选意图可以称为第一候选意图、第二候选意图、第三候选意图。
62.通过对上述三种候选意图进行仲裁可以得到当前意图。
63.如图4所示,针对每轮语音数据,可以采用离线asr 401和离线nlu获得第一候选意图r1,采用在线asr 403和在线nlu 404获得第二候选意图r2,采用在线asr 403和离线nlu 405获得第三候选意图r3。
64.通过对上述三种候选意图进行仲裁,得到该轮语音数据的当前意图。
65.具体仲裁过程可以包括:
66.(1)判断t1时刻是否有r3,若是,则进入端侧优先判断,或者,t1时刻有r1,则进入端侧优先判断。
67.(2)判断是否端侧优先。
68.其中,可以预先配置端侧优先的白名单,若r3或r1属于白名单,则表明是端侧优先。
69.(3)若t1时刻没有r3和r1,或不是端侧优先,则判断预设时长(如3秒)内是否有r2,
若是,则将r2作为当前意图。
70.(4)若上述(2)的判断结果是端侧优先或者上述(3)的判断结果是没有r2,则获得t2时刻的候选意图,若存在r3,则将r3作为当前意图,否则,将r1作为当前意图。
71.其中,t1时刻是获得候选意图后进行仲裁的一个时刻,t2时刻是t1时刻之后的一个时刻。即,在某个时刻(t1时刻)获得r3或r1后,在预设间隔后的时刻(t2时刻)可以再次检测是否有r3或r1,如在预设时长(如3秒)内每间隔50ms再次检测一次,并基于再次获得的候选意图确定当前意图。
72.经过仲裁,可以获得各个音区的各轮语音数据的当前意图,之后,可以将各路语音数据及其时间信息、当前意图、是否支持拷贝、期望操作内容等信息记录在对话记录中。
73.dm模块可以包括对话状态跟踪(dialogue state tracking,dst)模块和对话策略(dialogue policy,dp)模块,dst模块可以基于对话记录确定各轮语音数据的状态,如《领域,意图,槽位》。dp模块可以根据语音数据的状态确定行为(action)。
74.nlg可以根据dp模块确定的行为生成合适的自然语言。具体可以根据当前语音数据所属的垂类调用对应的bot,基于行为信息生成合适的回复语音,回复语音可以是询问用户或者对用户指令做出的应答等。
75.后处理可以包括指令分发和分组调整等,指令分发可以将行为信息发送给对应的用户终端上并通过用户界面进行反馈。分组调整可以当前唤醒情况基于唤醒音区对用户分组进行调整。用户分组可以基于其所在音区进行分组,如每个音区的用户处于一个分组。若某个音区的用户说出唤醒词后,可以将该用户调整到该音区对应的用户分组内。
76.结合上述的应用场景,本公开还提供一种语音控制方法。
77.图5是根据本公开第二实施例的示意图,本实施例提供一种语音控制方法,该方法包括:
78.501、针对多轮语音数据中的当前语音数据,确定所述当前语音数据的当前意图。
79.确定当前意图可以包括:
80.确定所述当前语音数据的离线意图;
81.确定所述当前语音数据的在线意图;
82.对所述离线意图和所述在线意图进行仲裁,以确定所述当前意图。
83.本实施例中,通过对离线意图和在线意图进行仲裁,得到当前意图,可以提高当前意图的准确度。
84.一些实施例中,所述确定所述当前语音数据的离线意图,包括:
85.对所述当前语音数据进行离线asr,以获得离线语音识别结果;以及,对所述离线语音识别结果进行离线nlu,以确定所述离线意图;和/或,
86.对所述当前语音数据进行在线asr,以获得在线语音识别结果;以及,对所述在线语音识别结果进行离线nlu,以确定所述离线意图。
87.本实施例中,离线意图是通过离线nlu对语音识别结果进行处理后得到的,语音识别结果可以是通过离线asr或者在线asr获得的,通过多种途径获得语音识别结果,可以提高语音识别结果的准确度,进而提高离线意图的准确度。
88.一些实施例中,所述确定所述当前语音数据的在线意图,包括:
89.对所述当前语音数据进行在线asr,以获得在线语音识别结果;
90.对所述在线语音识别结果进行在线nlu,以确定所述在线意图。
91.本实施例中,通过对当前语音数据进行在线asr和在线nlu处理,可以获得准确的在线意图。
92.一些实施例中,所述对所述离线意图和所述在线意图进行仲裁,以确定所述当前意图,包括:
93.若获取到当前时刻的离线意图,且所述离线意图属于预设的白名单,且,预设时长内再次获取所述离线意图,将所述预设时长内再次获取的所述离线意图作为所述当前意图;或者,
94.若未获取到当前时刻的离线意图,且预设时长内获取到所述在线意图,将所述在线意图作为所述当前意图;或者,
95.若未获取到当前时刻的离线意图,且预设时长内未获取到所述在线意图,但所述预设时长内获取到所述离线意图,将所述预设时长内获取到的所述离线意图作为所述当前意图;或者,
96.若获取到当前时刻的离线意图,但所述离线意图不属于预设的白名单,且预设时长内获取到所述在线意图,将所述在线意图作为所述当前意图;
97.若获取到当前时刻的离线意图,但所述离线意图不属于预设的白名单,且预设时长内未获取到所述在线意图,但所述预设时长内获取到所述离线意图,将所述预设时长内获取到的所述离线意图作为所述当前意图。
98.其中,参考图4,以候选意图为r1、r2、r3为例,当前时刻用t1时刻表示,t2是预设时长内的时刻,具体的仲裁过程可以参考图4及其上述相关说明。
99.本实施例中,通过上述仲裁过程,可以优先使用车载系统本地的语义理解结果,提高交互效率。
100.502、判断所述当前语音数据的当前意图是否为跟随意图,若是,执行503-506,否则执行507。
101.503、在历史语音数据中,基于所述当前语音数据的当前时间和所述历史语音数据的历史时间,确定候选语音数据。
102.504、若所述候选语音数据的候选意图用于控制目标对象执行目标操作,且所述候选语音数据的属性信息满足预设条件,将所述候选意图作为目标意图。
103.505、基于所述目标对象确定当前对象,以及,基于所述目标操作或所述当前语音数据确定当前操作。
104.506、控制所述当前对象执行所述当前操作。
105.其中,可以根据距离当前时间从近到远的顺序,依次选择每个历史语音数据作为候选语音数据。
106.本实施例中,基于时间信息确定候选语音数据,并基于候选语音数据的候选意图确定目标意图,可以将时间较近的候选意图作为目标意图,提升准确度。
107.其中,跟随意图可以是拷贝意图或者继承意图,针对拷贝意图或继承意图,可以设置不同的属性信息和预设条件。
108.一些实施例中,所述跟随意图包括:拷贝意图;
109.所述属性信息包括:标识信息,所述标识信息用于标识所述候选意图是否支持拷
贝;
110.所述若所述候选语音数据的候选意图用于控制目标对象执行目标操作,且所述候选语音数据的属性信息满足预设条件,将所述候选意图作为所述目标意图,包括:
111.若所述候选语音数据的候选意图用于控制目标对象执行目标操作,且所述标识信息标识所述候选意图支持拷贝,将所述候选意图作为所述目标意图。
112.在对话过程中,可以记录每轮语音数据的相关信息。例如,针对如下对话:主驾说:“打开车窗”,然后副驾说:“今天天气”,然后,右后的乘客说:“我也要”。
113.基于上述对话,各轮语音数据的时间信息分别用t1~t3表示,假设预先配置“打开车窗”这个意图支持拷贝(用1表示),“查询天气”这个意图不支持拷贝(用0表示),则可以生成表1所示的对话记录:
114.表1
115.语音数据时间信息意图意图是否支持拷贝打开车窗t1打开车窗1今天天气t2查询天气0我也要t3拷贝意图0
116.基于表1,假设当前语音数据是“我也要”,历史语音数据包括“打开车窗”和“今天天气”,可以根据时间信息依次选择时间距离较近的历史语音数据作为候选语音数据,则首先选择“今天天气”作为候选语音数据,该候选语音数据的候选意图是“查询天气”,虽然该候选意图是用于控制目标对象执行目标操作,但是,基于表1,该候选意图不支持拷贝,则不能将该候选意图作为目标意图。之后,将“打开车窗”作为候选语音数据,且候选意图“打开车窗”用于控制目标对象执行目标操作,且支持拷贝,则将“打开车窗”作为目标意图。
117.本实施例中,针对拷贝意图,基于候选意图的标识信息确定目标意图,可以简便高效地确定目标意图。
118.相应地,所述目标对象是第一位置处的第一对象,所述第一位置是发出所述候选语音数据的用户所在位置;
119.所述基于所述目标对象确定当前对象,包括:
120.将第二位置处的第二对象,作为所述当前对象;其中,所述第二位置是发出所述当前语音数据的用户所在位置,且所述第二对象与所述第一对象是同类型的对象。
121.例如,主驾说:打开车窗,副驾说:我也是。第一位置是主驾位置,第一对象是主驾位置的车窗。第二位置是副驾位置,第二设备是副驾位置的车窗。
122.本实施例中,针对拷贝意图,可以基于目标意图对应的目标对象的类型确定当前对象,从而准确地确定当前对象,提升控制精确度。
123.相应地,所述确定当前操作,包括:将所述目标操作,作为所述当前操作。
124.例如,目标意图的目标操作是“打开”,则当前操作为“打开”。
125.本实施例中,针对拷贝意图,可以将目标意图对应的目标操作作为当前操作,从而准确地确定当前操作,提升控制精确度。
126.一些实施例中,所述跟随意图包括:继承意图;
127.所述属性信息包括:所述候选意图的期望操作内容;
128.所述若所述候选语音数据的候选意图用于控制目标对象执行目标操作,且所述候
选语音数据的属性信息满足预设条件,将所述候选意图作为所述目标意图,包括:
129.若所述候选语音数据的候选意图用于控制目标对象执行目标操作,且所述期望操作内容包括:所述当前语音数据对应的操作内容,将所述候选意图作为所述目标意图。
130.在对话过程中,可以记录每轮语音数据的相关信息。
131.相关信息可以包括时间信息,意图,以及意图对应的期望操作内容,如表2所示。
132.表1
133.语音数据时间信息意图意图的期望操作内容打开空调t1打开空调调高一些,再调高一些...导航去xxt2导航第一个,下一页...
134.基于表2,假设当前语音数据是“调高一些”,由于“打开空调”对应的意图的期望操作内容中包括该当前语音数据的操作内容,则将“打开空调”的意图作为目标意图,即目标意图是“打开空调”。
135.本实施例中,针对继承意图,基于候选意图的期望操作内容确定目标意图,可以简便高效地确定目标意图。
136.相应地,所述基于所述目标对象确定当前对象,包括:将所述目标对象作为所述当前对象。
137.例如,针对目标意图是“打开空调”,目标对象是“空调”,则将当前对象也是“空调”。
138.本实施例中,针对继承意图,可以将目标意图对应的目标对象作为当前对象,从而准确地确定当前对象,提升控制精确度。
139.相应地,所述确定当前操作,包括:将所述当前语音数据对应的操作,作为所述当前操作。
140.例如,上述的当前语音数据是“调高一些”,则当前操作是调高操作。
141.本实施例中,针对继承意图,可以将当前语音数据对应的操作作为当前操作,从而准确地确定当前操作,提升控制精确度。
142.一些实施例中,所述若所述当前意图是跟随意图,在历史语音数据中,基于所述当前语音数据的当前时间和所述历史语音数据的历史时间,确定候选语音数据,包括:
143.若所述当前意图是跟随意图,在目标音区的同一垂类的历史语音数据中,基于所述当前语音数据的当前时间和所述历史语音数据的历史时间,确定候选语音数据。
144.本实施例中,在同一垂类的历史语音数据中确定候选语音数据,可以考虑垂类信息,提升候选语音数据的准确度,进而提升控制准确度。
145.一些实施例中,若所述多轮语音数据属于同一音区,将所述多轮语音数据所属音区作为所述目标音区;或者,若所述多轮语音数据属于不同音区,将与所述当前语音数据不同的音区作为所述目标音区。
146.本实施例中,可以基于多轮语音数据是否属于同一音区选择合适的目标音区,提升目标音区的准确度,进而提高控制准确度。
147.另外,若不存在满足预设条件的候选语音数据,则可以播放预设的反馈语音。
148.针对同一音区的多轮语音数据:例如,参见图6,多轮语音数据都是主驾说的,分别用第一轮~第五轮表示,具体包括:
149.主驾:车窗调大一点(第一轮)
150.主驾:导航去xx(第二轮)
151.主驾:下一页(第三轮)
152.主驾:第一个(第四轮)
153.主驾:再调大一点(第五轮)
154.以当前语音数据是第五轮的“再调大一点”为例,该当前语音数据的当前意图是继承意图,其需要基于历史语音数据明确意图,在回溯过程中,是回溯到时间距离最近的同一垂类(可以基于意图确定)的语音数据,由于第二轮~第四轮到属于“导航”意图,则属于同一垂类,且距离当前语音数据的时间最近,则可以按照第四轮、第三轮、第二轮这个顺序,将对应语音数据作为候选语音数据。
155.假设该示例的候选语音数据的候选意图对应的期望操作内容都不包括“再调大一点”,因此无法确定目标意图。此时,可以播放预设的反馈语音,如“我还不知道你要控制什么”。
156.基于该示例,由于前一轮是关于导航,第五轮的再调大一点的真实意图是主驾希望调大地图的显示内容。若回溯到车窗控制则执行错误。
157.又例如,假设是先说的关于导航的内容,例如,导航去xx,下一页,第一页;再说了“车窗调大一点”,“再调大一点”。假设车窗控制意图的期望操作内容包括“再调大一点”,则针对“再调大一点”,将调大车窗。
158.另外,还可以将通用控制意图改写为对应垂类的控制意图。例如,上述的下一页和第一个是通用控制意图,可以分别改写为导航意图的翻页意图和导航意图的选择意图。
159.针对不同音区的多轮语音数据:例如,参见图7,多轮语音数据来自第一音区~第四音区,分别用第一轮~第五轮表示,具体包括:
160.主驾(第一音区):打开车窗(第一轮)
161.副驾(第二音区):导航去xx(第二轮)
162.副驾(第二音区):第一个(第三轮)
163.左后(第三音区):关闭车窗(第四轮)
164.右后(第四音区):我也要(第五轮)
165.以当前语音数据是第五轮的“我也要”为例,该当前语音数据的当前意图是拷贝意图,其需要基于历史语音数据明确意图,在回溯过程中,是回溯到时间距离最近的目标音区(每个音区的对话记录单独记录)的语音数据,由于第三音区是时间最近的音区,则第三音区是目标音区,目标音区的语音数据是候选语音数据。
166.假设该示例的候选语音数据的候选意图(关闭车窗)支持拷贝,则将该候选意图作为目标意图,基于目标意图执行对应操作,即针对当前语音数据“我也要”,执行“关闭车窗”。
167.507、基于所述当前语音数据的当前意图,执行对应操作。
168.其中,若当前语音数据的当前意图不是跟随意图,则该当前意图是导航、车窗控制等明确意图,从而可以基于当前语音数据自身的当前意图执行相应操作,如当前意图是导航,则执行导航操作。
169.图8是根据本公开第三实施例的示意图,本实施例提供一种语音控制装置,该装置
800包括:第一确定模块801、第二确定模块802、第三确定模块803和控制模块804。
170.第一确定模块801用于针对多轮语音数据中的当前语音数据,确定所述当前语音数据的当前意图;第二确定模块802用于若所述当前意图是跟随意图,确定所述当前意图所跟随的目标意图,所述目标意图用于控制目标对象执行目标操作;第三确定模块803用于基于所述目标对象确定当前对象,以及,基于所述目标操作或所述当前语音数据确定当前操作;控制模块804用于控制所述当前对象执行所述当前操作。
171.本实施例中,针对跟随意图的当前语音数据,可以确定当前意图所跟随的目标意图,基于目标意图对应的目标对象确定当前对象,以及基于目标意图对应的目标操作或当前语音数据确定当前操作,进而控制当前对象执行当前操作,而不是固定拷贝上一轮语音数据的意图,可以适用于复杂交互场景,提升语音控制效率,提升用户体验。
172.一些实施例中,所述第二确定模块802进一步用于:若所述当前意图是跟随意图,在历史语音数据中,基于所述当前语音数据的当前时间和所述历史语音数据的历史时间,确定候选语音数据;若所述候选语音数据的候选意图用于控制目标对象执行目标操作,且所述候选语音数据的属性信息满足预设条件,将所述候选意图作为所述目标意图。
173.本实施例中,基于时间信息确定候选语音数据,并基于候选语音数据的候选意图确定目标意图,可以将时间较近的候选意图作为目标意图,提升准确度。
174.一些实施例中,所述跟随意图包括:拷贝意图;所述属性信息包括:标识信息,所述标识信息用于标识所述候选意图是否支持拷贝;所述第二确定模块802进一步用于:若所述候选语音数据的候选意图用于控制目标对象执行目标操作,且所述标识信息标识所述候选意图支持拷贝,将所述候选意图作为所述目标意图。
175.本实施例中,针对拷贝意图,基于候选意图的标识信息确定目标意图,可以简便高效地确定目标意图。
176.一些实施例中,所述目标对象是第一位置处的第一对象,所述第一位置是发出所述候选语音数据的用户所在位置;所述第三确定模块803进一步用于:将第二位置处的第二对象,作为所述当前对象;其中,所述第二位置是发出所述当前语音数据的用户所在位置,且所述第二对象与所述第一对象是同类型的对象。
177.本实施例中,针对拷贝意图,可以基于目标意图对应的目标对象的类型确定当前对象,从而准确地确定当前对象,提升控制精确度。
178.一些实施例中,所述第三确定模块803进一步用于:将所述目标操作,作为所述当前操作。
179.本实施例中,针对拷贝意图,可以将目标意图对应的目标操作作为当前操作,从而准确地确定当前操作,提升控制精确度。
180.一些实施例中,所述跟随意图包括:继承意图;所述属性信息包括:所述候选意图的期望操作内容;所述第二确定模块802进一步用于:若所述候选语音数据的候选意图用于控制目标对象执行目标操作,且所述期望操作内容包括:所述当前语音数据对应的操作内容,将所述候选意图作为所述目标意图。
181.本实施例中,针对继承意图,基于候选意图的期望操作内容确定目标意图,可以简便高效地确定目标意图。
182.一些实施例中,所述第三确定模块803进一步用于:将所述目标对象作为所述当前
对象。
183.本实施例中,针对继承意图,可以将目标意图对应的目标对象作为当前对象,从而准确地确定当前对象,提升控制精确度。
184.一些实施例中,所述第三确定模块803进一步用于:将所述当前语音数据对应的操作,作为所述当前操作。
185.本实施例中,针对继承意图,可以将当前语音数据对应的操作作为当前操作,从而准确地确定当前操作,提升控制精确度。
186.一些实施例中,所述第二确定模块802进一步用于:若所述当前意图是跟随意图,在目标音区的同一垂类的历史语音数据中,基于所述当前语音数据的当前时间和所述历史语音数据的历史时间,确定候选语音数据。
187.本实施例中,在同一垂类的历史语音数据中确定候选语音数据,可以考虑垂类信息,提升候选语音数据的准确度,进而提升控制准确度。
188.一些实施例中,若所述多轮语音数据属于同一音区,将所述多轮语音数据所属音区作为所述目标音区;或者,若所述多轮语音数据属于不同音区,将与所述当前语音数据不同的音区作为所述目标音区。
189.本实施例中,可以基于多轮语音数据是否属于同一音区选择合适的目标音区,提升目标音区的准确度,进而提高控制准确度。
190.一些实施例中,所述第一确定模块801进一步用于:确定所述当前语音数据的离线意图;确定所述当前语音数据的在线意图;对所述离线意图和所述在线意图进行仲裁,以确定所述当前意图。
191.本实施例中,通过对离线意图和在线意图进行仲裁,得到当前意图,可以提高当前意图的准确度。
192.一些实施例中,所述第一确定模块801进一步用于:对所述当前语音数据进行离线自动语音识别asr,以获得离线语音识别结果;以及,对所述离线语音识别结果进行离线自然语言理解nlu,以确定所述离线意图;和/或,对所述当前语音数据进行在线asr,以获得在线语音识别结果;以及,对所述在线语音识别结果进行离线nlu,以确定所述离线意图。
193.本实施例中,离线意图是通过离线nlu对语音识别结果进行处理后得到的,语音识别结果可以是通过离线asr或者在线asr获得的,通过多种途径获得语音识别结果,可以提高语音识别结果的准确度,进而提高离线意图的准确度。
194.一些实施例中,所述第一确定模块801进一步用于:对所述当前语音数据进行在线asr,以获得在线语音识别结果;对所述在线语音识别结果进行在线nlu,以确定所述在线意图。
195.本实施例中,通过对当前语音数据进行在线asr和在线nlu处理,可以获得准确的在线意图。
196.一些实施例中,所述第一确定模块801进一步用于:若获取到当前时刻的离线意图,且所述离线意图属于预设的白名单,且,预设时长内再次获取所述离线意图,将所述预设时长内再次获取的所述离线意图作为所述当前意图;或者,若未获取到当前时刻的离线意图,且预设时长内获取到所述在线意图,将所述在线意图作为所述当前意图;或者,若未获取到当前时刻的离线意图,且预设时长内未获取到所述在线意图,但所述预设时长内获
取到所述离线意图,将所述预设时长内获取到的所述离线意图作为所述当前意图;或者,若获取到当前时刻的离线意图,但所述离线意图不属于预设的白名单,且预设时长内获取到所述在线意图,将所述在线意图作为所述当前意图;或者,若获取到当前时刻的离线意图,但所述离线意图不属于预设的白名单,且预设时长内未获取到所述在线意图,但所述预设时长内获取到所述离线意图,将所述预设时长内获取到的所述离线意图作为所述当前意图。
197.本实施例中,通过上述仲裁过程,可以优先使用车载系统本地的语义理解结果,提高交互效率。
198.可以理解的是,本公开实施例中,不同实施例中的相同或相似内容可以相互参考。
199.可以理解的是,本公开实施例中的“第一”、“第二”等只是用于区分,不表示重要程度高低、时序先后等。
200.本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
201.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
202.图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备900还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
203.如图9所示,电子设备900包括计算单元901,其可以根据存储在只读存储器(rom)902中的计算机程序或者从存储单元908加载到随机访问存储器(ram)903中的计算机程序,来执行各种适当的动作和处理。在ram 903中,还可存储电子设备900操作所需的各种程序和数据。计算单元901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
204.电子设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
205.计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如语音控制方法。例如,在一些实施例中,控制方法或控制模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由rom 902和/或通信单元909而被载入和/或安装到电子设备900上。当计算机程序加载到ram 903并由计算单元901执行时,可以执行上文描述的语音控制方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适
当的方式(例如,借助于固件)而被配置为执行语音控制方法。
206.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
207.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程负载均衡装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
208.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
209.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
210.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
211.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("
virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
212.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
213.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。