人机对话方法、装置、机器人、计算机设备和存储介质
技术领域
本申请涉及智能汽车技术领域,特别是涉及一种应用于车辆上的人机对话方法、装置、机器人、计算机设备和存储介质。
背景技术
随着智能汽车技术的发展,出现了具备语音交互功能的车载机器人,在行车驾驶过程中,当用户不方便点击车内的触控屏时,车载机器人可以根据用户的语音指令对车辆进行控制,代替用户对于触控屏的触控操作,提高车辆使用的便利性。
然而,目前的机器人在被用户唤醒后,通常会进入监听状态,监听状态下可以收录并识别车内的所有声音,其中包括噪音和其他用户的语音,这种情况下语音识别受到的干扰较大,容易导致机器人难以准确识别用户指令,造成人机对话可靠性下降。
因此,目前应用于车辆上的人机对话技术存在难以准确识别用户指令、人机对话可靠性下降的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种应用于车辆上的能够增强可靠性的人机对话方法、装置、机器人、计算机设备和存储介质。
一种应用于车辆上的人机对话方法,所述车辆上配置有麦克风阵列,所述方法包括:
当接收到用户的唤醒语音时,确定所述唤醒语音的语音方位;
通过控制所述麦克风阵列在所述语音方位上接收声音,得到所述车辆上的目标方位声音;
识别所述目标方位声音中的用户指令;
根据所述用户指令,与所述车辆上的目标方位用户进行人机对话。
在其中一个实施例中,所述当接收到用户的唤醒语音时,确定所述唤醒语音的语音方位,包括:
获取所述麦克风阵列接收到的所述车辆上的声音;
判断所述声音是否与预设的唤醒语音模板相匹配;
若是,则判定接收到所述唤醒语音;
通过对所述声音进行声源定位,得到所述唤醒语音的语音方位。
在其中一个实施例中,所述通过控制所述麦克风阵列在所述语音方位上接收声音,得到所述车辆上的目标方位声音,包括:
根据所述唤醒语音的语音方位,得到目标方位;
确定所述麦克风阵列中与所述目标方位相适配的目标麦克风;
通过控制所述目标麦克风接收所述目标方位上的声音,得到所述目标方位声音;
所述识别所述目标方位声音中的用户指令,包括:
对所述目标方位声音进行降噪,得到降噪后声音;
检测所述降噪后声音是否为人声;
若是,则识别所述降噪后声音中的所述用户指令。
在其中一个实施例中,所述车辆上还配置有显示屏;所述方法还包括:
根据所述唤醒语音的语音方位,确定所述显示屏上的显示区域;
在所述显示区域显示所述人机对话的人机对话界面。
在其中一个实施例中,所述语音方位包括主驾驶方位、副驾驶方位、后排左侧方位、后排中间方位和后排右侧方位中的至少一种,所述显示区域包括左侧区域、中间区域和右侧区域中的至少一种;所述根据所述唤醒语音的语音方位,确定所述显示屏上的显示区域,包括:
若所述语音方位为所述主驾驶方位,则确定所述显示区域为所述左侧区域;
若所述语音方位为所述副驾驶方位,则确定所述显示区域为所述右侧区域;
若所述语音方位为所述后排左侧方位、所述后排中间方位或所述后排右侧方位,则确定所述显示区域为所述中间区域。
在其中一个实施例中,所述在所述显示区域显示所述人机对话的人机对话界面,包括:
确定所述人机对话的对话状态;所述对话状态包括唤醒状态、聆听状态、播报状态、查询状态和结果展示状态中的至少一种;
确定所述对话状态对应的状态图像;
将所述状态图像显示在所述显示屏上的所述人机对话界面中。
一种应用于车辆上的人机对话装置,所述车辆上配置有麦克风阵列,所述装置包括:
方位确定模块,用于当接收到用户的唤醒语音时,确定所述唤醒语音的语音方位;
声音获取模块,用于通过控制所述麦克风阵列在所述语音方位上接收声音,得到所述车辆上的目标方位声音;
声音识别模块,用于识别所述目标方位声音中的用户指令;
人机对话模块,用于根据所述用户指令,与所述车辆上的目标方位用户进行人机对话。
一种应用于车辆上的人机对话机器人,所述机器人包括麦克风阵列、控制器、扬声器和显示屏;
所述麦克风阵列,用于接收所述车辆上的声音;
所述控制器,用于当所述声音为用户的唤醒语音时,确定所述唤醒语音的语音方位,通过控制所述麦克风阵列在所述语音方位上接收声音,得到所述车辆上的目标方位声音,识别所述目标方位声音中的用户指令,根据所述用户指令生成人机对话内容;所述人机对话内容包括人机对话语音和人机对话界面;
所述扬声器,用于播报所述人机对话语音;
所述显示屏,用于显示所述人机对话界面。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
当接收到用户的唤醒语音时,确定所述唤醒语音的语音方位;
通过控制所述麦克风阵列在所述语音方位上接收声音,得到所述车辆上的目标方位声音;
识别所述目标方位声音中的用户指令;
根据所述用户指令,与所述车辆上的目标方位用户进行人机对话。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
当接收到用户的唤醒语音时,确定所述唤醒语音的语音方位;
通过控制所述麦克风阵列在所述语音方位上接收声音,得到所述车辆上的目标方位声音;
识别所述目标方位声音中的用户指令;
根据所述用户指令,与所述车辆上的目标方位用户进行人机对话。
上述人机对话方法、装置、机器人、计算机设备和存储介质,通过当接收到用户的唤醒语音时,确定唤醒语音的语音方位,通过控制麦克风阵列在语音方位上接收声音,得到车辆上的目标方位声音,可以仅接收来自唤醒语音方位上的声音,避免其他方位声音的干扰,提高人机对话的抗干扰性能,识别目标方位声音中的用户指令,根据用户指令与车辆上的目标方位用户进行人机对话,可以准确识别指定方位的用户指令,增强人机对话可靠性。
附图说明
图1为一个实施例中应用于车辆上的人机对话方法的应用环境图;
图2为一个实施例中应用于车辆上的人机对话方法的流程示意图;
图3A为一个实施例中向主驾驶显示的人机对话界面的效果图;
图3B为一个实施例中向副驾驶显示的人机对话界面的效果图;
图3C为一个实施例中向后排乘客显示的人机对话界面的效果图;
图4为一个实施例中人机对话机器人设置界面的效果图;
图5为另一个实施例中应用于车辆上的人机对话方法的流程示意图;
图6为一个实施例中显示屏的示意图;
图7A为一个实施例中向主驾驶显示唤醒状态下人机对话界面的效果图;
图7B为一个实施例中向主驾驶显示聆听状态下人机对话界面的效果图;
图7C为一个实施例中向主驾驶显示播报状态下人机对话界面的效果图;
图7D为一个实施例中向主驾驶显示查询状态下人机对话界面的效果图;
图7E为一个实施例中向主驾驶显示结果展示状态下人机对话界面的效果图;
图7F为一个实施例中向副驾驶显示结果展示状态下人机对话界面的效果图;
图7G为一个实施例中向后排乘客显示结果展示状态下人机对话界面的效果图;
图8为另一个实施例中应用于车辆上的人机对话方法的流程示意图;
图9为一个实施例中应用于车辆上的人机对话装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的人机对话方法,可以应用于如图1所示的应用环境中。其中,麦克风阵列102、扬声器106和显示屏108通过有线或无线链路与控制器104进行通信,其中,麦克风阵列102可以是由多个麦克风组成的阵列,显示屏108可以安装在仪表盘右侧,便于主驾驶、副驾驶和后排乘客查看的位置。麦克风阵列102、控制器104、扬声器106和显示屏108可以组成人机对话机器人。
在一个实施例中,如图2所示,提供了一种应用于车辆上的人机对话方法,以该方法应用于图1中的控制器104为例进行说明,包括以下步骤:
步骤S210,当接收到用户的唤醒语音时,确定唤醒语音的语音方位。
其中,唤醒语音可以为唤醒机器人,使机器人进行人机对话的语音。
其中,语音方位可以为产生唤醒语音的方位。
具体实现中,麦克风阵列102可以通过多个麦克风在多个位置接收车辆上的声音,得到多个声音信号,并将多个声音信号发送给控制器104。控制器104接收到声音信号后,在声音信号进行降噪和识别,并判断识别到的声音信号是否与预设的唤醒语音模板相匹配,若不匹配,则可以判定未接收到唤醒语音,若匹配,则可以判定接收到唤醒语音,并将麦克风阵列102接收到的声音确定为唤醒语音,控制器104可以根据唤醒语音的多个声音信号进行声源定位,得到唤醒语音的声源位置,并根据声源位置得到唤醒语音的语音方位。
例如,当车辆上有用户说话时,麦克风阵列102可以通过多个麦克风采集到声音信号s1,s2,s3,并将声音信号发送至控制器104。控制器104中可以存储有唤醒语音模板“嗨,小CAN”,控制器104对接收到的声音信号s1进行降噪(例如,通过带通滤波器来降噪)和识别,若识别到s1为“嗨,小CAN”,则可以判定接收到唤醒语音,并将s1,s2,s3作为唤醒语音的声音信号,控制器104可以使用s1,s2,s3进行声源定位,确定唤醒语音的声源位置,并根据声源位置确定唤醒语音的语音方位,例如,若声源位置在主驾驶的座位区域内,则可以确定唤醒语音的语音方位为主驾驶方位。
需要说明的是,车内任意方位(主驾驶方位、副驾驶方位、后排左侧方位、后排中间方位和后排右侧方位)的语音均可以唤醒机器人,机器人可以优先响应唤醒语音,例如,若机器人在语音播报或定向监听的过程中接收到唤醒语音,则可以中断语音播报或定向监听,进入唤醒状态。
步骤S220,通过控制麦克风阵列在语音方位上接收声音,得到车辆上的目标方位声音。
其中,目标方位可以为唤醒语音的语音方位,目标方位声音可以为在目标方位上发出的声音。
具体实现中,可以将唤醒语音的语音方位确定为目标方位,控制器104可以在麦克风阵列102中选取与目标方位相适配的麦克风,作为目标麦克风,通过开启目标麦克风,并关闭麦克风阵列102中的其他麦克风,可以控制目标麦克风接收目标方位上的声音,得到目标方位声音。
例如,在确定唤醒语音的语音方位为主驾驶方位后,可以在麦克风阵列102中选取距离主驾驶位置最近的麦克风,作为目标麦克风,控制器104可以关闭麦克风阵列102中其他麦克风的收音功能,并锁定目标麦克风,仅通过目标麦克风进行收音,将收集到的目标方位的声音作为目标方位声音,此时车内其他方向的语音以及车外环境音会被自动过滤掉,控制器104只能接收到主驾驶的语音输入。
步骤S230,识别目标方位声音中的用户指令。
具体实现中,控制器104可以在接收到目标方位声音后,对目标方位声音进行降噪处理,得到降噪后声音,并检测降噪后声音是否为人声,若不为人声,则可以不进行响应,否则,若为人声,则可以进一步识别降噪后声音中的用户指令。
例如,控制器104可以通过带通滤波器对接收到的目标方位声音进行降噪,并检测降噪后声音的音频是否处于人声的音频范围内,若不处于人声的音频范围内,则可以不进行响应,若处于人声的音频范围内,则可以通过语音识别算法对降噪后声音进行识别,得到用户指令,其中,语音识别算法可以但不限于是卷积神经网络。
步骤S240,根据用户指令,与车辆上的目标方位用户进行人机对话。
其中,目标方位用户可以为发出唤醒语音和目标方位声音的用户。
具体实现中,控制器104在识别到用户指令后,可以响应用户指令,包括根据用户指令执行查询操作,得到查询结果,根据查询结果生成人机对话内容,人机对话内容可以包括语音、图片和文字,控制器104可以将语音发送至扬声器106,通过扬声器106对语音进行播报,控制器104还可以将图片和文字发送至显示屏108,通过显示屏108上的人机对话界面,对图片和文字进行展示。
实际应用中,为了方便车内不同位置的用户查看人机对话界面,可以将显示屏108安装在仪表台的中央位置,还可以对显示屏108进行区域划分,针对不同方位的用户,在显示屏108的不同区域显示人机对话界面。例如,可以将显示屏108划分为左、中、右三个区域,在左侧区域显示与主驾驶的人机对话界面、在中间区域显示与后排乘客的人机对话界面、在右侧区域显示与副驾驶的人机对话界面。
图3A提供了一个向主驾驶显示的人机对话界面的效果图。当接收到唤醒语音时,确定唤醒语音的音源位置为主驾驶的位置,将麦克风阵列锁定在对主驾驶的方位进行收音,若从接收到的声音中识别出用户指令为“今天天气预报”,则可以将天气预报的人机对话界面显示在显示屏108中距离主驾驶较近的左侧区域。
图3B提供了一个向副驾驶显示的人机对话界面的效果图。当接收到唤醒语音时,确定唤醒语音的音源位置为副驾驶的位置,将麦克风阵列锁定在对副驾驶的方位进行收音,若从接收到的声音中识别出用户指令为“今天天气预报”,则可以将天气预报的人机对话界面显示在显示屏108中距离副驾驶较近的右侧区域。
图3C提供了一个向后排乘客显示的人机对话界面的效果图。当接收到唤醒语音时,确定唤醒语音的音源位置为后排乘客的位置,将麦克风阵列锁定在对后排乘客的方位进行收音,若从接收到的声音中识别出用户指令为“今天天气预报”,则可以将天气预报的人机对话界面显示在显示屏108中便于后排乘客查看的中间区域。
需要说明的是,控制器还可以同时对车内的多处进行声源定位,得到多个唤醒语音的语音方位,将麦克风阵列锁定在多个语音方位上接收声音,并对接收到的声音进行识别,可以同时识别到多个用户的语音诉求,同时与多个用户进行人机对话。车内还可以安装有多个显示屏,其中,每个显示屏可以显示与一个用户的人机对话界面。
上述人机对话方法,通过当接收到用户的唤醒语音时,确定唤醒语音的语音方位,通过控制麦克风阵列在语音方位上接收声音,得到车辆上的目标方位声音,可以仅接收来自唤醒语音方位上的声音,避免其他方位声音的干扰,提高人机对话的抗干扰性能,识别目标方位声音中的用户指令,根据用户指令与车辆上的目标方位用户进行人机对话,可以准确识别指定方位的用户指令,增强人机对话可靠性。
在一个实施例中,上述步骤S210,可以具体包括:获取麦克风阵列接收到的车辆上的声音;判断声音是否与预设的唤醒语音模板相匹配;若是,则判定接收到唤醒语音;通过对声音进行声源定位,得到唤醒语音的语音方位。
其中,唤醒语音模板可以为人机对话机器人的唤醒词。
其中,声源定位可以为定位声音来源位置的技术,具体可以通过麦克风阵列来实现,包括基于最大输出功率的可控波束形成技术、基于高分辨率谱图估计技术和基于声音时间差的声源定位技术。
具体实现中,麦克风阵列可以通过多个麦克风在多个位置接收车辆上的声音,得到多个声音信号,并将多个声音信号发送给控制器。控制器接收到声音信号后,在声音信号进行降噪和识别,并判断识别到的声音信号是否与预设的唤醒语音模板相匹配,若不匹配,则可以判定未接收到唤醒语音,若匹配,则可以判定接收到唤醒语音,并将麦克风阵列接收到的声音确定为唤醒语音,控制器可以根据唤醒语音的多个声音信号进行声源定位,得到唤醒语音的声源位置,并根据声源位置得到唤醒语音的语音方位。
图4提供了一个人机对话机器人设置界面的效果图。其中,机器人名称可以为“小CAN”,唤醒语音模板可以为唤醒词“嗨,小CAN”,当机器人识别到接收到的声音为“嗨,小CAN”时,可以对该声音进行声源定位,得到语音方位,后续与该方位的语音进行人机对话。此外,通过点击“新增唤醒词”按钮,可以添加个性化的唤醒词。设置界面中还可以选择是否开启“语音识别智能跟随”和“语音界面智能跟随”功能,当通过滑动开关选择开启“语音识别智能跟随”时,用户可以在车内的不同方位唤醒机器人,机器人通过声源定位来识别唤醒语音的语音方位,跟随语音方位定向接收用户后续的语音输入,并识别语音中的指令,若关闭“语音识别智能跟随”功能,则不能实现定向收音和识别功能;当通过滑动开关选择开启“语音界面智能跟随”时,机器人可以跟随唤醒语音的语音方位来调整人机对话界面在显示屏上的显示区域,若关闭“语音界面智能跟随”功能,则不能在显示屏的不同显示区域显示人机对话界面,此时可以在默认的显示区域显示人机对话界面,例如,可以在偏向主驾驶的区域显示。实际应用中,可以默认开启“语音识别智能跟随”和“语音界面智能跟随”功能。
本实施例中,通过获取麦克风阵列接收到的车辆上的声音,判断声音是否与预设的唤醒语音模板相匹配,若是,则判定接收到唤醒语音,通过对声音进行声源定位,得到唤醒语音的语音方位,可以定向接收用户的语音输入,避免受到其他方位声音和车外环境音的干扰,进而准确识别指定方位用户的指令,增强人机对话可靠性。
在一个实施例中,上述步骤S220,可以具体包括:根据唤醒语音的语音方位,得到目标方位;确定麦克风阵列中与目标方位相适配的目标麦克风;通过控制目标麦克风接收目标方位上的声音,得到目标方位声音;上述步骤S230,可以具体包括:对目标方位声音进行降噪,得到降噪后声音;检测降噪后声音是否为人声;若是,则识别降噪后声音中的用户指令。
具体实现中,可以将唤醒语音的语音方位确定为目标方位,控制器可以在麦克风阵列中选取与目标方位相适配的麦克风,作为目标麦克风,通过开启目标麦克风,并关闭麦克风阵列中的其他麦克风,可以控制目标麦克风接收目标方位上的声音,得到目标方位声音。控制器可以在接收到目标方位声音后,对目标方位声音进行降噪处理,得到降噪后声音,并检测降噪后声音是否为人声,若不为人声,则可以不进行响应,否则,若为人声,则可以进一步识别降噪后声音中的用户指令。
本实施例中,通过根据唤醒语音的语音方位得到目标方位,确定麦克风阵列中与目标方位相适配的目标麦克风,通过控制目标麦克风接收目标方位上的声音,得到目标方位声音,可以定向接收指定方位的声音,避免受到其他方位声音和车外环境音的干扰;通过对目标方位声音进行降噪,得到降噪后声音,检测降噪后声音是否为人声,若是,则识别降噪后声音中的用户指令,可以定向识别指定方位用户的语音指令,避免语音识别效果受到其他方位用户的影响,确保能够准确识别指定方位用户的指令。
而且,在目标方位用户进行人机对话的过程中,车内的其他用户可以正常讲话,无需因担心对目标方位用户的人机对话造成影响而被迫中断。
在一个实施例中,上述车辆上还配置有显示屏,上述人机对话方法还包括:
步骤S510,根据唤醒语音的语音方位,确定显示屏上的显示区域;
步骤S520,在显示区域显示人机对话的人机对话界面。
具体实现中,可以预先设置语音方位与显示屏上显示区域之间的对应关系,生成对应关系表,将对应关系表存储在控制器中。在确定唤醒语音的语音方位后,控制器可以根据对应关系表查找语音方位对应的显示区域,将人机对话界面显示在显示区域。
在一种具体实施方式中,语音方位可以包括主驾驶方位、副驾驶方位、后排左侧方位、后排中间方位和后排右侧方位中的至少一种,显示区域可以包括左侧区域、中间区域和右侧区域中的至少一种。为便于查看人机对话界面,可以设置主驾驶方位对应显示屏上的左侧区域,副驾驶方位对应显示屏上的右侧区域,后排左侧方位、后排中间方位和后排右侧方位对应显示屏上的中间区域,根据上述对应关系生成对应关系表。若确定唤醒语音的语音方位为主驾驶方位,则可以根据对应关系表查找到显示区域为左侧区域,在显示屏上的左侧区域显示人机对话界面。
图6提供了一个显示屏的示意图,其中,显示屏可以为“7”字形的三体屏,三体屏中可以包括A1屏601,A2屏602和A3屏603,其中,A2屏602可以位于仪表台的中央位置,通过A2屏602显示的人机对话界面可以便于车内各方位用户查看,可以将A2屏602分为左、中、右三个区域,分别对应左侧区域、中间区域和右侧区域三个显示区域,若主驾驶唤醒机器人,则可以在左侧区域显示人机对话界面,若副驾驶唤醒机器人,则可以在右侧区域显示人机对话界面,若后排乘客唤醒机器人,则可以在中间区域显示人机对话界面。
在另一种具体实施方式中,可以根据人机对话状态显示人机对话界面,其中,人机对话状态可以包括唤醒状态、聆听状态、播报状态、查询状态和结果展示状态中的至少一种。控制器可以在人机对话过程中确定人机对话状态,不同的人机对话状态对应不同的状态图像,可以通过对应表存储人机对话状态与状态图像之间的对应关系,通过查找对应表,得到人机对话状态对应的状态图像,控制器可以将状态图像显示在人机对话界面中,人机对话界面还可以通过不同的子窗口来显示话术提示、人机对话的文字内容、查询提示和查询结果。
图7A为一个实施例中向主驾驶显示唤醒状态下人机对话界面的效果图。唤醒状态下可以显示如图7A所示的VUI(Voice User Interface,语音交互界面),VUI中可以显示唤醒状态图像和话术提示,其中,唤醒状态图像可以为静态图像,也可以为动态图像(例如,可以为gif格式的动画图片),话术提示可以为一段提示用户进行操作的文字,例如,可以是“请问有什么需要小CAN帮助”。初始时,唤醒状态图像和话术提示可以显示在显示屏中预设的区域,也可以显示在上次人机对话的显示区域,在通过声源定位确定唤醒语音的语音方位后,可以根据语音方位更新显示区域,例如,若上次是与后排乘客之间的对话,人机对话的显示区域为中间区域,本次人机对话是与主驾驶之间的对话,则可以初始时先在中间区域显示人机对话界面,待识别到本次唤醒语音的语音方位后,将人机对话界面更新到左侧区域。
图7B为一个实施例中向主驾驶显示聆听状态下人机对话界面的效果图。机器人被唤醒后可以进入聆听状态,接收目标方位上的用户语音,并从中识别出用户指令。VUI中可以显示聆听状态图像,还可以将用户语音转换为文字进行显示,其中,唤醒状态图像可以为静态图像,也可以为动态图像。
图7C为一个实施例中向主驾驶显示播报状态下人机对话界面的效果图。机器人在识别出用户指令后,若根据用户指令输出人机对话语音,则可以进入播报状态,VUI中可以显示播报状态图像,还可以将机器人播报的语音转换为文字进行显示,其中,播报状态图像可以为静态图像,也可以为动态图像。需要说明的是,根据场景需要,图7C可以进行展示,也可以不展示。
图7D为一个实施例中向主驾驶显示查询状态下人机对话界面的效果图。机器人在识别出用户指令后,若需要根据用户指令进行查询,则可以进入查询状态,查询过程中可以执行必要的文件下载,VUI中可以显示查询状态图像,还可以显示提示文字,例如,可以显示“查询loading”,其中,查询状态图像可以为静态图像,也可以为动态图像。
图7E为一个实施例中向主驾驶显示结果展示状态下人机对话界面的效果图。若机器人查询到查询结果,则可以进入结果展示状态,VUI中可以显示查询结果、结果展示状态图像和话术提示,机器人可以语音播报查询结果,还可以根据场景需要将机器人播报的语音转换为文字进行显示,其中,结果展示状态图像可以为静态图像,也可以为动态图像,机器人可以在语音播报结束后进入下一轮人机对话,此时结果展示状态图像可以切换为聆听状态图像。
图7F为一个实施例中向副驾驶显示结果展示状态下人机对话界面的效果图。若语音方位为副驾驶方位,机器人定向接收副驾驶的语音,此时车内其他方向的语音和车外环境音会被自动过滤掉,仅有副驾驶的语音输入,相应的,在唤醒状态、聆听状态、播报状态、查询状态和结果展示状态下,可以将VUI显示在显示屏上偏向副驾驶一侧的区域,以便于副驾驶查看。
图7G为一个实施例中向后排乘客显示结果展示状态下人机对话界面的效果图。若语音方位为后排左侧方位、后排中间方位或后排右侧方位,机器人定向接后排乘客的语音,此时车内其他方向的语音和车外环境音会被自动过滤掉,仅有后排乘客的语音输入,相应的,在唤醒状态、聆听状态、播报状态、查询状态和结果展示状态下,可以将VUI显示在显示屏上的中间区域,以便于后排乘客查看。
本实施例中,通过根据唤醒语音的语音方位确定显示屏上的显示区域,在显示区域显示人机对话的人机对话界面,可以使人机对话界面的显示区域跟随目标方位用户,在显示屏上便于目标方位用户查看的区域进行显示,方便不同位置的用户快速查看人机对话内容。
在一个实施例中,上述语音方位包括主驾驶方位、副驾驶方位、后排左侧方位、后排中间方位和后排右侧方位中的至少一种,上述显示区域包括左侧区域、中间区域和右侧区域中的至少一种;上述步骤S510,包括:若语音方位为主驾驶方位,则确定显示区域为左侧区域;若语音方位为副驾驶方位,则确定显示区域为右侧区域;若语音方位为后排左侧方位、后排中间方位或后排右侧方位,则确定显示区域为中间区域。
其中,主驾驶方位可以为主驾驶的方位。副驾驶方位可以为副驾驶的方位。后排左侧方位可以为后排左侧乘客的方位。后排中间方位可以为后排中间乘客的方位。后排右侧方位可以为后排右侧乘客的方位。
具体实现中,语音方位可以包括主驾驶方位、副驾驶方位、后排左侧方位、后排中间方位和后排右侧方位中的至少一种,显示区域可以包括左侧区域、中间区域和右侧区域中的至少一种。为便于查看人机对话界面,可以设置主驾驶方位对应显示屏上的左侧区域,副驾驶方位对应显示屏上的右侧区域,后排左侧方位、后排中间方位和后排右侧方位对应显示屏上的中间区域,根据上述对应关系生成对应关系表。若确定唤醒语音的语音方位为主驾驶方位,则可以根据对应关系表查找到显示区域为左侧区域,在显示屏上的左侧区域显示人机对话界面。
本实施例中,若语音方位为主驾驶方位,则确定显示区域为左侧区域,若语音方位为副驾驶方位,则确定显示区域为右侧区域,若语音方位为后排左侧方位、后排中间方位或后排右侧方位,则确定显示区域为中间区域,可以根据声源定位结果,定向向指定方位的用户呈现人机对话界面,使车内用户能够舒适、清晰地查看人机对话内容。
在一个实施例中,上述步骤S520,包括:确定人机对话的对话状态;对话状态包括唤醒状态、聆听状态、播报状态、查询状态和结果展示状态中的至少一种;确定对话状态对应的状态图像;将状态图像显示在显示屏上的人机对话界面中。
其中,唤醒状态可以为机器人被唤醒的状态。聆听状态可以为机器人接收用户语音的状态。播报状态可以为机器人输出人机对话语音的状态。查询状态可以为机器人根据用户指令进行查询的状态。结果展示状态可以为机器人展示人机对话界面的状态。
具体实现中,可以根据人机对话状态显示人机对话界面,其中,人机对话状态可以包括唤醒状态、聆听状态、播报状态、查询状态和结果展示状态中的至少一种。控制器可以在人机对话过程中确定人机对话状态,不同的人机对话状态与不同的状态图像相对应,可以通过对应表存储人机对话状态与状态图像之间的对应关系,通过查找对应表,得到人机对话状态对应的状态图像,将状态图像显示在人机对话界面中。
本实施例中,通过确定人机对话的对话状态,确定对话状态对应的状态图像,将状态图像显示在显示屏上的人机对话界面中,可以显示与对话状态相匹配的状态图像,便于用户了解当前的对话状态,根据状态图像输入语音或接收机器人的语音播报和查询结果展示等。
在一个实施例中,如图8所示,提供了一个应用于车辆上的人机对话方法,以应用于图1中的控制器为例进行说明,包括以下步骤:
步骤S800,当接收到用户的唤醒语音时,确定所述唤醒语音的语音方位;
步骤S810,通过控制所述麦克风阵列在所述语音方位上接收声音,得到所述车辆上的目标方位声音;
步骤S811,识别所述目标方位声音中的用户指令;
步骤S812,根据所述用户指令,与所述车辆上的目标方位用户进行人机对话;
步骤S820,根据所述唤醒语音的语音方位,确定所述显示屏上的显示区域;
步骤S821,在所述显示区域显示所述人机对话的人机对话界面。
应该理解的是,虽然图2、5和8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、5和8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种应用于车辆上的人机对话装置900,包括:方位确定模块902、声音获取模块904、声音识别模块906和人机对话模块908,其中:
方位确定模块902,用于当接收到用户的唤醒语音时,确定所述唤醒语音的语音方位;
声音获取模块904,用于通过控制所述麦克风阵列在所述语音方位上接收声音,得到所述车辆上的目标方位声音;
声音识别模块906,用于识别所述目标方位声音中的用户指令;
人机对话模块908,用于根据所述用户指令,与所述车辆上的目标方位用户进行人机对话。
在一个实施例中,上述方位确定模块902,还用于获取所述麦克风阵列接收到的所述车辆上的声音;判断所述声音是否与预设的唤醒语音模板相匹配;若是,则判定接收到所述唤醒语音;通过对所述声音进行声源定位,得到所述唤醒语音的语音方位。
在一个实施例中,上述声音获取模块904,还用于根据所述唤醒语音的语音方位,得到目标方位;确定所述麦克风阵列中与所述目标方位相适配的目标麦克风;通过控制所述目标麦克风接收所述目标方位上的声音,得到所述目标方位声音;上述声音识别模块906,还用于对所述目标方位声音进行降噪,得到降噪后声音;检测所述降噪后声音是否为人声;若是,则识别所述降噪后声音中的所述用户指令。
在一个实施例中,上述人机对话装置900,还包括:
区域确定模块,用于根据所述唤醒语音的语音方位,确定所述显示屏上的显示区域;
显示模块,用于在所述显示区域显示所述人机对话的人机对话界面。
在一个实施例中,上述区域确定模块,还用于若所述语音方位为所述主驾驶方位,则确定所述显示区域为所述左侧区域;若所述语音方位为所述副驾驶方位,则确定所述显示区域为所述右侧区域;若所述语音方位为所述后排左侧方位、所述后排中间方位或所述后排右侧方位,则确定所述显示区域为所述中间区域。
在一个实施例中,上述显示模块,还用于确定所述人机对话的对话状态;所述对话状态包括唤醒状态、聆听状态、播报状态、查询状态和结果展示状态中的至少一种;确定所述对话状态对应的状态图像;将所述状态图像显示在所述显示屏上的所述人机对话界面中。
关于人机对话装置的具体限定可以参见上文中对于人机对话方法的限定,在此不再赘述。上述人机对话装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图1所示,提供了一种应用于车辆上的人机对话机器人,包括:麦克风阵列、控制器、扬声器和显示屏,其中:
麦克风阵列,用于接收车辆上的声音;
控制器,用于当声音为用户的唤醒语音时,确定唤醒语音的语音方位,通过控制麦克风阵列在语音方位上接收声音,得到车辆上的目标方位声音,识别目标方位声音中的用户指令,根据用户指令生成人机对话内容;人机对话内容包括人机对话语音和人机对话界面;
扬声器,用于播报人机对话语音;
显示屏,用于显示人机对话界面。
在一个实施例中,控制器还用于获取麦克风阵列接收到的车辆上的声音;判断声音是否与预设的唤醒语音模板相匹配;若是,则判定接收到唤醒语音;通过对声音进行声源定位,得到唤醒语音的语音方位。
在一个实施例中,控制器还用于根据唤醒语音的语音方位,得到目标方位;确定麦克风阵列中与目标方位相适配的目标麦克风;通过控制目标麦克风接收目标方位上的声音,得到目标方位声音;对目标方位声音进行降噪,得到降噪后声音;检测降噪后声音是否为人声;若是,则识别降噪后声音中的用户指令。
在一个实施例中,控制器还用于根据唤醒语音的语音方位,确定显示屏上的显示区域;在显示区域显示人机对话的人机对话界面。
在一个实施例中,控制器还用于若语音方位为主驾驶方位,则确定显示区域为左侧区域;若语音方位为副驾驶方位,则确定显示区域为右侧区域;若语音方位为后排左侧方位、后排中间方位或后排右侧方位,则确定显示区域为中间区域。
在一个实施例中,控制器还用于确定人机对话的对话状态;对话状态包括唤醒状态、聆听状态、播报状态、查询状态和结果展示状态中的至少一种;确定对话状态对应的状态图像;将状态图像显示在显示屏上的人机对话界面中。
上述人机对话机器人的处理过程和具体限定在前述实施例中已有详细说明,在此不再赘述。
上述人机对话机器人,通过麦克风阵列接收车辆上的声音,控制器当声音为用户的唤醒语音时,确定唤醒语音的语音方位,通过控制麦克风阵列在语音方位上接收声音,得到车辆上的目标方位声音,可以仅接收来自唤醒语音方位上的声音,避免其他方位声音的干扰,提高人机对话的抗干扰性能,识别目标方位声音中的用户指令,根据用户指令生成人机对话内容,可以准确识别指定方位的用户指令,提高生成的人机对话内容的可靠性,扬声器播报人机对话语音,显示屏显示人机对话界面,可以增强车内人机对话的可靠性。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是控制器,其内部结构图可以如图10所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储人机对话数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种人机对话方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:当接收到用户的唤醒语音时,确定所述唤醒语音的语音方位;通过控制所述麦克风阵列在所述语音方位上接收声音,得到所述车辆上的目标方位声音;识别所述目标方位声音中的用户指令;根据所述用户指令,与所述车辆上的目标方位用户进行人机对话。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取所述麦克风阵列接收到的所述车辆上的声音;判断所述声音是否与预设的唤醒语音模板相匹配;若是,则判定接收到所述唤醒语音;通过对所述声音进行声源定位,得到所述唤醒语音的语音方位。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据所述唤醒语音的语音方位,得到目标方位;确定所述麦克风阵列中与所述目标方位相适配的目标麦克风;通过控制所述目标麦克风接收所述目标方位上的声音,得到所述目标方位声音;对所述目标方位声音进行降噪,得到降噪后声音;检测所述降噪后声音是否为人声;若是,则识别所述降噪后声音中的所述用户指令。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据所述唤醒语音的语音方位,确定所述显示屏上的显示区域;在所述显示区域显示所述人机对话的人机对话界面。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若所述语音方位为所述主驾驶方位,则确定所述显示区域为所述左侧区域;若所述语音方位为所述副驾驶方位,则确定所述显示区域为所述右侧区域;若所述语音方位为所述后排左侧方位、所述后排中间方位或所述后排右侧方位,则确定所述显示区域为所述中间区域。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:确定所述人机对话的对话状态;所述对话状态包括唤醒状态、聆听状态、播报状态、查询状态和结果展示状态中的至少一种;确定所述对话状态对应的状态图像;将所述状态图像显示在所述显示屏上的所述人机对话界面中。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:当接收到用户的唤醒语音时,确定所述唤醒语音的语音方位;通过控制所述麦克风阵列在所述语音方位上接收声音,得到所述车辆上的目标方位声音;识别所述目标方位声音中的用户指令;根据所述用户指令,与所述车辆上的目标方位用户进行人机对话。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取所述麦克风阵列接收到的所述车辆上的声音;判断所述声音是否与预设的唤醒语音模板相匹配;若是,则判定接收到所述唤醒语音;通过对所述声音进行声源定位,得到所述唤醒语音的语音方位。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据所述唤醒语音的语音方位,得到目标方位;确定所述麦克风阵列中与所述目标方位相适配的目标麦克风;通过控制所述目标麦克风接收所述目标方位上的声音,得到所述目标方位声音;对所述目标方位声音进行降噪,得到降噪后声音;检测所述降噪后声音是否为人声;若是,则识别所述降噪后声音中的所述用户指令。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据所述唤醒语音的语音方位,确定所述显示屏上的显示区域;在所述显示区域显示所述人机对话的人机对话界面。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若所述语音方位为所述主驾驶方位,则确定所述显示区域为所述左侧区域;若所述语音方位为所述副驾驶方位,则确定所述显示区域为所述右侧区域;若所述语音方位为所述后排左侧方位、所述后排中间方位或所述后排右侧方位,则确定所述显示区域为所述中间区域。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:确定所述人机对话的对话状态;所述对话状态包括唤醒状态、聆听状态、播报状态、查询状态和结果展示状态中的至少一种;确定所述对话状态对应的状态图像;将所述状态图像显示在所述显示屏上的所述人机对话界面中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。