设备控制方法、装置、电子设备及计算机可读存储介质与流程

文档序号:21317009发布日期:2020-06-30 20:46阅读:149来源:国知局
设备控制方法、装置、电子设备及计算机可读存储介质与流程

本申请涉及人工智能技术领域,具体而言,本申请涉及一种设备控制方法、装置、电子设备及计算机可读存储介质。



背景技术:

随着信息技术的发展,各种设备进入人们的日常生活,例如,空调、洗衣机、冰箱等,用户可以通过手动调节设备上的按键或者遥控设备上的按钮控制这些设备执行相应的操作。

随着人工智能技术的进一步发展,智能设备逐步进入人们的日常生活,例如,智能音箱、智能空调、智能电视以及智能烤箱等智能家居设备,用户可以不通过手动调节家居设备上的按键或者遥控即可以控制智能家居设备执行相应的操作,例如用户可以通过手机等终端设备上安装的应用程序控制这些智能家居设备执行相应的操作,例如,用户可以通过手机等智能终端设备控制空调开启。

但是现在的设备控制方式中,一般都只根据用户输入的控制指令来进行控制,并未考虑其他可能影响设备运行的因素,从而可能导致设备控制过程的安全性及灵活性较低。因此,如何更安全、更灵活的控制智能设备执行相应的操作成为一个关键问题。



技术实现要素:

本申请提供了一种设备控制方法、装置、电子设备及计算机可读存储介质,可以解决如何更安全、更灵活地控制智能设备执行相应操作的问题。技术方案如下:

第一方面,提供了一种设备控制方法,该方法包括:

获取用户输入的设备控制指令;

获取以下至少一项信息:用户信息;环境信息;设备信息;

基于获取的信息和所述设备控制指令,控制至少一个目标设备执行相应操作。

第二方面,提供了一种设备控制装置,该装置包括:

第一获取模块,用于获取用户输入的设备控制指令以及以下至少一项信息:用户信息;环境信息;设备信息;

控制模块,用于基于第一获取模块获取的信息和设备控制指令,控制至少一个目标设备执行相应操作。

第三方面,提供了一种电子设备,该电子设备包括:

一个或多个处理器;

存储器;

一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行根据第一方面所示的设备控制方法。

第四方面,提供了一种计算机可读存储介质,存储介质存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如第一方面所示的设备控制方法。

本申请提供的技术方案带来的有益效果是:

本申请提供了一种设备控制方法、装置、电子设备及计算机可读存储介质,通过获取用户信息、环境信息与设备信息中的至少一项信息以及用户输入的设备控制指令,能够基于获取的信息和设备控制指令,控制至少一个目标设备执行相应操作,由上可见,相比于现有技术只根据用户输入的控制指令来进行设备控制的方法,本申请在进行设备控制时,除了考虑用户输入的控制指令,还考虑到用户信息、设备信息、环境信息等至少一项可能影响设备运行的因素,从而可以更安全、更灵活的控制设备运行。例如,获取用户输入的语音、文本、按键、手势等方式的设备控制指令,并考虑到用户信息、设备信息以及环境信息中的至少一项,直接控制空调设备开启、关闭或者调节温度等操作,从而可以实现安全、便捷地控制智能设备执行相应的操作。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例提供的一种设备控制方法的流程示意图;

图2a为本申请实施例提供的多模态信息构成示意图;

图2b为本申请实施例中通过领域分类器,得到领域分类结果的示意图;

图3a为本申请实施例一通过获取的信息(多模态信息)得到获取的信息对应的信息表示向量(多模态信息表示向量)的示意图;

图3b为本申请实施例中通过意图分类器得到意图分类结果的示意图;

图3c为本申请实施例通过领域分类器、意图分类器和序列标注器执行相应操作的示意图;

图4为本申请实施例提供的确定设备控制指令中的意图为可允许意图的示意图;

图5为本申请实施例一中通过序列标注器进行序列标注处理的示意图;

图6a为本申请实施例一对应的设备控制系统示意图;

图6b为本申请实施例一多模态信息处理模块示意图;

图7为现有技术中设备控制系统示意图;

图8为本申请实施例二中通过领域分类器,得到领域分类结果的示意图;

图9为本申请实施例二中通过意图分类器得到意图分类结果的示意图;

图10中本申请实施例中获取多模态信息中的环境信息以及设备信息的示意图;

图11为本申请实施例二、三中序列标注器进行序列标注处理的示意图;

图12为本申请实施例二中设备控制系统的架构示意图;

图13为本申请实施例三中获取多模态信息的示意图;

图14为本申请实施例三中基于用户画像数据库、环境数据库以及用户权限数据库确定多模态信息的示意图;

图15为本申请实施例三通过获取的信息(多模态信息)得到获取的信息对应的信息表示向量(多模态信息表示向量)的示意图;

图16为本申请实施例三中设备控制系统的架构示意图;

图17为本申请实施例中设备控制装置的架构示意图;

图18为本申请实施例中电子设备的架构示意图;

图19为本申请实施例中计算机系统的架构示意图;

图20a为本申请实施例中获取多模态信息的示意图;

图20b为本申请实施例中emotionaltts的神经网络的训练流程示意图;

图20c为本申请实施例中emotionaltts的神经网络的线上处理过程示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

随着科技的发展,智能家居逐步走进了人们的生活。使用语音控制的智能音箱,智能电视等设备为智能家居提供了硬件基础。未来生活中电视、冰箱、烤箱、洗衣机等设备智能化后,智能家居将实现全语音控制家庭中各种家用电器执行相应的操作。

然而,用户在通过指令(如语音、文本、按键、手势等方式的指令)控制智能设备(包括:智能家居设备、手机,平板电脑pad等终端设备)执行相应的操作时,会出现多种问题:

问题一:

家庭中往往有儿童和老人,例如烤箱等设备需要禁止儿童使用;电脑、电视的有些功能也要禁止儿童使用;此外,现有的智能家居设备对老年人使用并不友好,一些操作较为复杂,老年人误操作甚至可能导致危险。再者语音控制系统中对智能家电的运行参数也没有合适的反馈,如当未反馈烤箱温度过高等情况仍然执行烹饪任务会造成危险。

现有的智能设备控制系统并不对用户进行区分控制,对所有的用户请求都进行相同的操作。例如对上述老人、儿童等用户群体并不能给予相应的保护或建议,可能带来危险;再如并不会根据设备或环境情况给出相应的保护措施,可能带来危险。

例如,现有技术中的智能设备针对儿童的设备控制指令(如语音指令)均执行相应的操作,并不会考虑儿童是否适合操作某个设备或执行某个功能,即使烤箱这种对儿童来说较危险的设备,也会允许儿童进行操作,从而对儿童这种群体存在较大的危险隐患;再如,针对老人的指令,并未给出保护措施,使得老人操作设备非常繁琐,并且也可能由于操作失误带来潜在的危险。也就是说,现有技术的智能设备控制系统在用户控制设备时并未考虑用户的相关信息,从而导致设备控制过程的安全性较低。

再如,当用户操作烤箱等智能设备时,若烤箱当前温度较高且已工作较长时间,并不适合继续长时间高温烤制食物,容易损坏设备或者给用户带来危险,但是现有技术并未根据设备的相关信息给出相应的保护措施,从而导致设备控制过程的安全性较低。

再如,当用户操作空调等智能设备时,若当前环境温度很低,并不适合继续降温,容易给用户带来健康隐患,但是现有技术并未根据环境的相关信息给出相应的保护措施,从而导致设备控制过程的安全性较低。

问题二:

用户在通过指令(如语音、文本、按键、手势等方式的指令)控制智能设备时,控制指令对应的操作参数可能会存在下述问题:

1)可能会对设备或用户带来危险,例如,用户输入的控制指令为:把烤箱调高到240度,但是当烤箱的工作时间较长,过高的温度可能会对用户或设备造成危险;现有技术针对上述指令并未考虑到上述指出的危险情况,依然按照用户指令执行相应操作;

2)控制指令对应的参数已经超出了设备可执行范围,例如,用户输入的控制指令为:将空调温度调到100度,但是空调的温度上限为32度,用户的指令中对应的100度已经超出了空调可执行范围;再如,用户针对手机输入的控制指令为:设置2月30日的闹钟为早上8点,但是2月30日是不存在的日期,超出了闹钟设置范围;现有技术中接收到上述指令后是并不会执行相应任何操作的,使得用户体验较差。

3)指令对应的操作可能不适用于发出指令的用户,例如,儿童输入的控制指令为:打开电视的频道10,但是电视的频道10是不适合儿童观看的频道,现有技术中当接收到上述儿童输入的控制指令时,仍然会基于儿童输入的控制指令,执行相应的指令,并未考虑到上述不适合的情况,依然按照用户指令执行相应操作;

4)当用户输入的控制指令是不清晰时,例如,用户输入的指令为:将空调温度调到合适的温度,该指令对于空调来说是不清晰的,空调无法确定最终调节的温度,因此现有技术接收到上述指令后并不会执行任何操作,使得用户体验较差。

由上可见,现有技术中,设备接收到用户通过语音等方式发送的控制指令后,并不会对指令进行调整,即使存在危险或不适用的情况,依然执行相应操作,或者指令中存在不清晰或超出执行范围的情况下,设备可能不执行任何操作,从而导致用户通过控制指令控制这些设备时的安全性较低,或者存在不方便的问题,进而导致用户体验较差。

当然,针对问题一,现有技术中也存在一些解决方案,避免儿童对于某些设备进行操作,例如基于按键式,密码式,指纹式对设备进行上锁,避免儿童使用这些设备。按键式往往基于特定按键或按键组合解锁,如电磁炉或者洗衣机等,密码式基于特定的密码解锁,如电视机电脑,指纹式基于指纹解锁,如手机;然而,在智能家居场景中,通过语音控制各种家用电器,以上各种保护技术都需要解锁人走到被解锁电器附近才可以执行解锁,会增加很多不便,可能导致设备使用者操作不便。同时,基于按键式的解锁方法较为简单,儿童如果学会固定按键或按键组合,则可以使用该电器,容易造成危险;故而传统的保护技术并不合适于智能家居中全语音控制的场景。

因此,针对上述问题,本申请实施例提出一种对智能设备进行控制的方式,其可以适用于智能家居的控制系统,首先获取用户输入的指令(包括语音指令),同时也可以获取用户的图像信息,根据用户的图像信息和/或语音信息,通过数据库对比获取该用户的用户信息,包括用户画像(例如年龄,性别等),用户权限(如用户的设备控制权限)等,此外,还可以获取设备信息(如设备的工作状态信息)或环境信息(设备的工作环境信息)等,然后根据用户信息、和/或设备信息、和/或环境信息进行相应的语义理解操作,根据语义理解结果执行相应操作,从而能够实现根据用户、设备、环境的相关信息执行相应操作。具体的:

对不同的用户执行不同的操作,以实现对儿童、老人等群体的特殊保护。当用户不具备针对设备的控制权限时可以输出拒绝执行设备控制指令的操作结果,或者当用户不具备针对设备控制指令对应的目标功能的控制权限时可以输出拒绝执行设备控制指令的操作结果。举例来说,当用户为儿童时,可以根据儿童群体对应的权限来对设备进行相应控制,如不允许儿童操作某个设备(如烤箱),或者对儿童操作设备的某项功能进行限制,如不允许删除保存的电视频道。

根据设备的工作状态执行相应操作,以实现设备的安全运行,保护设备及用户安全。当设备不满足设备控制指令对应的执行条件时,可以输出拒绝执行设备控制指令的操作结果。举例来说,当设备为烤箱时,若烤箱已工作较长时间,过高的温度可能会对用户或设备造成危险,此时可以对用户针对烤箱的升温操作指令输出拒绝执行的操作结果,以保护设备和用户的安全。

根据设备的工作环境执行相应操作,以实现设备的安全运行,保护设备及用户安全。当设备的工作环境不满足设备控制指令对应的执行条件时,可以输出拒绝执行设备控制指令的操作结果。举例来说,当设备为空调时,若当前环境温度很低,并不适合继续降温,容易给用户带来健康隐患,此时可以对用户针对空调的降温操作指令做出拒绝执行的操作结果,以保护用户的安全。

进一步地,本申请实施例还提出一种参数改写方法,解决技术问题二,当用户的控制指令(包括语音指令)存在危险或不适用的情况,或者存在不清晰或超出执行范围的情况下,能够自动对控制指令对应的操作参数进行修改,以提高用户使用设备的便捷性和安全性。

具体地,为了解决上述问题,本申请实施例提供了一种设备控制方法,如图1所示,该方法包括:

步骤s101、获取用户输入的设备控制指令。

对于本申请实施例,用户可以通过文本方式输入设备控制指令,还可以通过语音方式输入设备控制指令,还可以通过按键或手势等其他方式输入设备控制指令。在本申请实施例中不做限定。

步骤s102(图中未示出)、基于获取的设备控制指令,控制至少一个目标设备执行相应操作。

具体地,步骤s102中控制至少一个目标设备执行相应操作,包括:步骤s1021以及步骤s1022,其中,

步骤s1021、获取以下至少一项信息:用户信息;环境信息;设备信息。

步骤s1022、基于获取的信息和设备控制指令,控制至少一个目标设备执行相应操作。

本申请实施例的一种可能的实现方式,用户信息可以包括输入上述设备控制指令的用户的用户信息;设备信息可以包括用户的设备控制指令对应的目标设备的设备信息;环境信息可以包括目标设备对应的环境信息。

本申请实施例的一种可能的实现方式,用户信息包括:用户画像信息和/或用户的设备控制权限信息;和/或设备信息包括:设备的工作状态信息;和/或环境信息包括:设备的工作环境信息。

对于本申请实施例,用户画像信息包括用户身份信息、年龄、性别、用户喜好等用户信息,也可以包括用户控制设备的历史信息(如用户之前在控制空调时一般会设置空调温度为28度,或者用户在控制电视时一般会设电视频道为频道1和频道5等等);用户的设备控制权限信息包括:用户针对设备的控制权限和/或用户针对目标功能的控制权限。其中,本申请实施例中,目标设备指用户想要控制的设备,目标功能指用户针对目标设备想要控制的功能,如用户想要调高空调温度,那么空调即为目标设备,调高空调温度即为目标功能。

对于本申请实施例,设备的工作状态信息包括下述至少之一:设备的当前工作状态信息(如温度,湿度,频道,电量,存储情况,已连续运行的时长等等)、目标工作状态(如设备的最佳工作状态等)、设备可执行的功能、可执行的参数(如空调的可调温度范围为16~32度)等等。

对于本申请实施例,设备的工作环境信息包括:设备当前的工作环境信息和/或设置的目标工作环境信息(如最佳工作环境信息等);其中,工作环境信息包含温度,湿度,压力等等。

本申请实施例的另一种可能的实现方式,步骤s1022具体可以包括步骤s10221(图中未示出),其中,

步骤s10221、基于获取的信息和设备控制指令,输出拒绝执行设备控制指令的操作结果。

具体地,步骤s10221中输出拒绝执行设备控制指令的操作结果,包括:当根据获取的信息确定出满足下述至少之一时,输出拒绝执行设备控制指令的操作结果:

用户不具备针对至少一个目标设备的控制权限;用户不具备针对设备控制指令对应的目标功能的控制权限;至少一个目标设备不满足设备控制指令对应的执行条件;至少一个目标设备的工作环境不满足设备控制指令对应的执行条件。

本申请实施例的另一种可能的实现方式,控制至少一个目标设备执行相应操作,包括:基于获取的信息和设备控制指令,确定设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能;基于至少一个目标设备和/或目标功能,控制至少一个目标设备执行相应操作。

本申请实施例的另一种可能的实现方式,确定设备控制指令对应的至少一个目标设备,包括:基于获取的信息以及设备控制指令,进行领域分类处理,得到各设备的执行概率;若各设备的执行概率均小于第一预设阈值,则输出拒绝执行设备控制指令的操作结果,否则基于各设备的执行概率确定设备控制指令对应的至少一个目标设备。

对于本申请实施例,基于获取的信息以及设备控制指令,进行领域分类处理,得到各设备的执行概率;若各设备的执行概率均小于第一预设阈值,即表征用户不具备针对至少一个目标设备的控制权限,则输出拒绝执行设备控制指令的操作结果,否则基于各设备的执行概率确定设备控制指令对应的至少一个目标设备。

本申请实施例的另一种可能的实现方式,确定设备控制指令对应的目标功能,包括:基于获取的信息以及设备控制指令,进行意图分类处理,确定各控制功能的执行概率;若各控制功能的执行概率均小于第二预设阈值,则输出拒绝执行设备控制指令的操作结果,否则基于各控制功能的执行概率确定设备控制指令对应的目标功能。

对于本申请实施例,若各控制功能的执行概率均小于第二预设阈值,表征用户不具备针对设备控制指令对应的目标功能的控制权限,则输出拒绝执行设备控制指令的操作结果。

对于本申请实施例,当获取到用户输入的设备控制指令后,在执行相应操作时,通过结合用户信息、环境信息与设备信息中的至少一项可能影响设备运行和/或用户安全的因素,从而可以避免潜在的危险,进而可以更加智能地控制执行设备控制指令,提升用户体验,例如,当用户输入的设备控制指令是由儿童输入的,并且待控制的目标设备为烤箱,则结合用户信息等可能输入拒绝执行设备控制指令的操作结果,以避免儿童操作烤箱带来危险。

本申请实施例的另一种可能的实现方式,步骤s1022具体可以包括:步骤s10222(图中未示出),其中,

步骤s10222、基于获取的信息,控制至少一个目标设备按照目标参数信息执行相应操作。

其中,目标参数为对设备控制指令中的参数信息进行更改后的参数信息。

具体地,步骤s10222中控制至少一个目标按照目标参数信息执行相应操作,包括:当满足下述至少之一时,控制至少一个目标设备按照目标参数信息执行相应操作:

设备控制指令中不包含参数值;

设备控制指令中包含的参数值不属于由获取的信息确定出的参数值范围中的参数值。

例如,用户输入的设备控制指令为“调整空调为适宜温度。”即表示设备控制指令中不包含参数值,则可以根据用户信息、设备信息、环境信息中的至少一项对设备控制指令中的参数信息进行更改,得到目标参数信息,并控制空调按照目标参数信息执行相应的操作,如当前环境的温度为32度,且季节为夏季,该用户在夏季时控制空调温度时一般设置为25度,因此可以设置目标参数信息的参数值为25度,空调会按照25度进行运行。

又如,用户输入的设备控制指令为“调整空调的温度为100度”,设备控制指令中包含的参数值(100度)不属于由获取的信息确定出的参数值范围中的参数值(18度-32度),则对设备控制指令中的参数信息进行更改,得到目标参数信息,并控制空调按照目标参数信息执行相应的操作,如根据用户信息和环境信息设置目标参数信息的参数值为25度,空调会按照25度进行运行。

本申请实施例的另一种可能的实现方式,控制至少一个目标按照目标参数信息执行相应操作,包括:对设备控制指令进行序列标注处理,得到设备控制指令中的参数信息;基于设备控制指令中的参数信息以及获取的信息,确定是否更改设备控制指令中的参数信息;若更改,则基于设备控制指令中的参数信息以及获取的信息,确定出更改后的目标参数信息。

本申请实施例的另一种可能的实现方式,基于设备控制指令中的参数信息以及获取的信息,确定是否更改设备控制指令中的参数信息,包括:基于设备控制指令中的参数信息以及获取的信息,通过逻辑回归处理处理,得到逻辑回归结果;基于逻辑回归结果确定是否更改设备控制指令中的参数信息;和/或,基于设备控制指令中的参数信息以及获取的信息,确定出更改后的目标参数信息,包括:基于设备控制指令中的参数信息以及获取的信息,通过线性回归处理,得到线性回归结果;基于线性回归结果确定更改后的参数信息。

本申请实施例的另一种可能的实现方式,该方法还可以包括:步骤sa(图中未示出)以及步骤sb(图中未示出),其中,

步骤sa、获取多个训练数据。

步骤sb、基于获取的训练数据,并通过目标损失函数,训练对设备控制指令中的参数信息进行更改的处理模型。

其中,任一训练数据包括以下信息:

设备控制指令;设备控制指令中的参数信息;设备控制指令中参数是否更改的指示信息;更改后的参数信息;用户信息;环境信息;设备信息。

本申请实施例的另一种可能的实现方式,步骤sb之前还可以包括:步骤sc(图中未示出),其中,

步骤sc、确定目标损失函数。

具体地,步骤sc具体可以包括:步骤sc1(图中未示出)、步骤sc2(图中未示出)、步骤sc3(图中未示出)以及步骤sc4(图中未示出),其中,

步骤sc1、基于各个训练数据中的设备控制指令中的参数信息、以及模型的预测的设备控制指令中的参数信息,确定第一损失函数。

步骤sc2、基于各个训练数据中的设备指令中参数是否更改的指示信息,以及模型预测的是否更改的指示信息,确定第二损失函数。

步骤sc3、基于各个训练数据中的更改后的参数信息以及模型预测出的更改后的参数信息,确定第三损失函数。

步骤sc4、基于第一损失函数、第二损失函数以及第三损失函数,确定目标损失函数。

对于本申请实施例,在基于用户输入的设备控制信息,以控制目标设备执行相应的操作时,在确定控制目标设备执行相应的操作所对应的目标参数信息时,通过结合用户信息、设备信息以及环境信息中的至少一项,可以确定是否对设备控制指令中的参数信息进行更改并且确定出更改后的参数信息,以控制目标设备基于修改后的参数信息,执行相应的操作,从而可以提升基于控制指令执行相应操作的智能度,提升用户体验。

例如,当设备控制指令为“将烤箱温度调高为240度”,基于设备信息可知当前烤箱温度较高,且运行时间较长,则可以将烤箱温度调整为较低温度,从而可以避免设备损坏,以及用户在操作过程中的人身安全;又例如,当用户设备指令为“将空调温度调整为100度”,基于设备信息可知空调温度不能调整为100度,则可以将目标参数信息基于用户信息、设备信息以及环境信息中的至少一项,调整为32度等,以避免设备由于设备控制指令中的参数问题,不执行的情况,提升用户体验;又例如,儿童输入的用户设备指令为“打开电视频道10”,结合用户信息可知,不允许儿童收看电视频道10,则可以结合用户信息,调整电视频道10为儿童适应观看的频道,从而可以提高控制设备执行相应操作的智能度,进而可以提升用户体验;又例如,由用户输入的设备控制指令为“将空调调整为适宜温度”,可知设备控制指令中并不包含参数值,则可以结合用户信息、环境信息以及设备信息中的至少一项,将适宜温度调整为25度,以避免当设备接收到模糊的指令时不执行的情况,以提高用户体验。

本申请实施例的另一种可能的实现方式,步骤s1021之后还可以包括:步骤sd(图中未示出)以及步骤se(图中未示出),其中,

步骤sd、将获取的信息中的离散信息,转换为连续稠密向量。

步骤se、根据转换后的连续稠密向量以及获取的信息中的连续信息,确定出获取的信息对应的信息表示向量。

具体地,步骤s1022具体可以包括:基于获取的信息对应的信息表示向量和设备控制指令,控制至少一个目标设备执行操作。

本申请实施例提供了一种设备控制方法,通过获取用户信息;环境信息;设备信息中的至少一项信息以及用户输入的设备控制指令,能够基于获取的信息和设备控制指令,控制至少一个目标设备执行相应操作,由上可见,相比于现有技术只根据用户输入的控制指令来进行设备控制的方法,本申请在进行设备控制时,除了考虑用户输入的控制指令,还考虑到用户信息、设备信息、环境信息等至少一项可能影响设备运行的因素,从而可以更安全、更灵活的控制设备运行。例如,获取用户输入的语音、文本、按键、手势等方式的设备控制指令,并考虑到用户信息、设备信息、环境信息中的至少一项,直接控制空调设备开启、关闭或者调节温度等操作,从而可以实现安全、便捷地控制智能设备执行相应的操作。

下面结合具体的实施例介绍设备控制方法,可以包括三个实施例,分别为实施例一、实施例二以及实施例三,其中,实施例一主要用于解决现有技术问题一中在基于用户输入的设备控制指令执行相应的操作时,并未识别设备控制指令的输入者,从而导致一些群体(例如儿童或者老人)操作某些设备(例如烤箱)时带来危险,或者无法限制某些群体操作某种设备或者某种设备的某项功能,例如,无法限制儿童开启智能电视或者无法限制儿童调整频道;实施例二主要用于解决现有技术问题二中存在的技术问题,包括:用户输入的设备控制指令中参数值,会给用户或者设备带来损害的问题;用户输入的设备控制指令中的参数值超出了该设备可执行的范围;用户输入的设备控制指令中的参数值为该用户被限定操作的参数值;用户输入的设备控制指令中的参数值不清楚,或者根本不含有参数值的情况;实施例三为实施例一与实施例二的结合,可以用于解决现有技术问题一以及现有技术问题二中存在的技术问题,具体如下所示:

实施例一

通过获取到的用户信息和/或环境信息和/或设备信息以及用户输入的设备控制指令,可以确定所述设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能,并基于确定出的至少一个目标设备和/或目标功能,执行相应的操作。

本实施例主要考虑设备控制指令输入用户的用户信息,以确定用户是否有操作设备控制指令中涉及的目标设备和/或目标功能的权限。除了实施例一中考虑的用户信息,还可以根据设备信息和/或环境信息以确定用户是否有操作目标设备和/或目标功能的权限。在本申请实施例中,用户输入的设备控制指令可以通过语音、文本、按键、手势等方式输入,本实施例以用户输入的设备控制指令为语音形式为例进行介绍,具体如下所示:

步骤s201(图中未示出)、获取用户输入的设备控制指令。

对于本申请实施例,用户输入的设备控制指令可以由用户通过语音、文本、按键、手势等方式输入。在本申请实施例中不做限定。本申请实施例以用户通过语音形式输入设备控制指令为例介绍。

步骤s202(图中未示出)、获取以下至少一项信息:用户信息;环境信息;设备信息。

对于本申请实施例,用户信息包括:用户画像信息和/或用户的设备控制权限信息。

对于本申请实施例,设备信息包括:设备的工作状态信息。

对于本申请实施例,环境信息包括:设备的工作环境信息。

对于本申请实施例,用户画像信息可以包括:用户身份信息和/或性别和/或年龄和/或用户喜好信息等等。

对于本申请实施例,用户的设备控制权限信息包括:用户针对设备的控制权限和/或用户针对目标功能的控制权限。

对于本申请实施例,设备的工作状态信息包括下述至少一项:设备的当前工作状态信息(如温度,湿度,频道,电量,存储情况,已连续运行的时长等等)、设备可执行的功能、可执行的参数等等

对于本申请实施例,设备的工作环境信息包括:设备当前的工作环境和/或设置的目标工作环境(如最佳工作环境等)。

其中,工作环境包含温度,湿度,压力等等。

对于本申请实施例,步骤s201可以在步骤s202之前执行,也可以在步骤s202之后执行,还可以与步骤s202同时执行。在本申请实施例中不做限定。

对于本申请实施例,可以预先设置用户画像数据库以及用户权限数据库,如图2a所示,其中用户画像数据库中存储着用户画像信息,包括:性别、年龄、用户等级(也可以称为用户组)、昵称、声音识别模板以及人脸识别模板等数据,该用户组可以分为四个用户组,分别为主人用户组、儿童用户组、老人用户组以及客人用户组。其中,主人用户组、儿童用户组、老人用户组的用户画像数据可以在注册时写入,客人用户组的用户画像数据可以在注册时写入,也可以在使用时写入;用户权限数据库中记录了各用户使用各设备的设备控制权限,如果按照用户组来分别设置权限,那么用户权限数据库中可以记录主人用户组、儿童用户组、老人用户组以及客人用户组可以使用设备的类别(即用户针对设备的控制权限)和每个设备可以使用的功能(即用户针对目标功能的控制权限)的列表,其中,该列表也可以称为意图列表,包含了每个用户或用户组的可执行或不可执行的意图,意图包含用户想要控制的目标设备和/或目标功能。如,控制空调属于一个意图,调高空调温度也属于一个意图。

如图2a所示,在权限数据库中,每个用户或每个用户组可以分别设置意图列表,如对于儿童用户组,可能意图abcde都是不容许的,意图f是可以允许执行的;对于老人用户组,可能意图a、b是不容许执行的,意图c、d、e、f是容许执行的;对于客人用户组,意图b、d、e是不容许执行的,意图a、c、f是容许执行的;对于主人用户组,意图a、b、c、d、e、f均是容许执行,该功能列表有默认设置值,也可手动设置,如由主人用户组用户进行手动设置。

对于本申请实施例,通过声纹识别和/或图像识别,获取用户信息。在本申请实施例中,当获取到用户通过语音方式输入的设备控制指令后,基于声纹识别的方式,确定设备控制指令输入用户的用户画像信息,如身份信息、性别信息以及年龄信息以及用户组信息中的至少一项;若某些设备上设置有图像采集装置,可以基于图像采集装置采集到的设备控制指令输入用户的人脸图像信息,基于人脸图像检测技术,确定设备控制指令输入用户的用户画像信息,如身份信息、性别信息、年龄信息以及用户组信息中的至少一项。具体地,当采集到了相应的声音信号以及人脸图像信号时,身份认证可以采用人脸认证信息与用户画像数据库中的每个用户的用户人脸识别模板进行对比认证,确定用户身份。当只有采集的声音信号,而未采集到人脸图像信号时,身份认证采用声纹认证信息与用户画像数据库中的每个用户的用户声纹识别模板进行对比认证,确定用户身份(考虑到智能家居场景中摄像头往往安装在电脑,电视上,说话人处于厨房和卧室等位置时候,图像信号可能是不存在的)。

当认证通过时(即说话人特征与已有用户画像数据库中某个用户的声纹识别模板(或人脸识别模板)有较高相似度时),输出用户数据库中该用户的用户画像,包含性别、年龄、用户组等;如果身份认证未通过,则表明为新用户,建立并写入新的用户画像数据,写入获取到的性别数据、年龄数据等,用户组可以设置为客人,并输出新建的用户画像数据,包括性别、年龄、用户组等,然后根据输出的用户画像数据中的用户组在权限数据库中查询相应用户组的用户权限(也可以称为用户的设备控制权限)并输出。将用户权限以及用户画像信息整合为多模态信息,然后基于整合后的多模态信息以及用户输入的设备控制指令,确定设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能,如步骤s203。

对于本申请实施例,可以采用马尔科夫随机场,卷积神经网络等方法对通过语音方式输入的设备控制指令进行声纹识别,以确定设备控制指令输入用户的身份信息、性别信息以及年龄信息中的至少一项。以神经网络方法为例,使用大量数据训练好声纹分类网络后,用该网络对用户声纹提取特征向量保存为模板;认证时对比待认证声纹的特征和数据库中各个特征模板的余弦距离,超过阈值认为认证成功,否则失败;针对声音识别年龄信息和/或性别信息也可以采用卷积神经网络,在本申请实施例中不再赘述。

对于本申请实施例,在获取到用户通过语音方式输入的设备控制指令之后,也可以先对用户输入的设备控制指令进行声音降噪处理。在本申请实施例中,声音降噪的技术可以包括:多麦克协同降噪技术、卷积神经网络降噪技术。在本申请实施例中不再赘述。

步骤s203(图中未示出)、基于获取的信息和设备控制指令,确定设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能。

具体地,基于获取的信息和设备控制指令,控制至少一个目标设备执行相应操作,包括:基于获取的信息对应的信息表示向量和设备控制指令,控制至少一个目标设备执行操作。

进一步地,介绍由多模态信息(获取的信息)转换为多模态信息对应的信息表示向量的方式,具体地,获取用户信息、环境信息以及设备信息中的至少一项信息,之后还包括:将获取的信息中的离散信息,转换为连续稠密向量;根据转换后的连续稠密向量以及获取的信息中的连续信息,确定获取的信息对应的信息表示向量(多模态信息表示向量)。

对于本申请实施例,可以通过变换矩阵,将获取的信息中的离散信息,转换为连续稠密向量。在本申请实施例中,通过变换矩阵,转换为连续稠密向量;将转换后的连续稠密向量以及获取的信息中不属于离散值的信息进行连接,得到联合向量,然后对联合向量进行预设处理,得到获取的信息对应的信息表示向量。

具体地,如图3a所示,在将获取的信息(多模态信息)进行编码(多模态信息编码)时,例如,性别,权限、喜爱频道由于是离散值,需要经过编码矩阵转换成连续稠密向量,年龄、喜爱温度等可以直接输入,将编码好的多模态信息连接得到联合向量,经过全连接层和西格玛(英文全称:sigmoid)激活函数后得到获取的信息对应的信息表示向量(多模态信息表示向量)。例如,将性别对应的信息通过性别编码矩阵进行处理,得到性别信息对应的连续稠密向量;将用户的设备控制权限信息通过权限编码矩阵进行处理,得到权限信息对应的连续稠密向量;将喜爱频道通过情绪编码矩阵进行处理,得到喜爱频道对应的连续稠密向量。

下述详细介绍基于获取的信息和设备控制指令,确定设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能具体实现地方式:

对于本申请实施例,可以基于设备控制指令输入用户所属用户组信息,确定设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能;也可以根据设备控制指令输入用户的年龄信息和/或性别信息,确定设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能;还可以基于设备控制指令输入用户所属用户组信息以及设备控制指令输入用户的年龄信息和/或性别信息,确定设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能。

当然,可以基于获取的信息和设备控制指令,并通过训练后的模型,确定设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能。例如,可以基于获取的信息(多模态信息)和设备控制指令,并通过训练后领域分类器(domainclassifier,dc),确定设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能;和/或基于获取的信息(多模态信息)和设备控制指令,通过训练后的意图分类器(intentclassifier,ic),确定设备控制指令对应的目标功能。

具体地,步骤s203中确定设备控制指令对应的至少一个目标设备,包括:基于获取的信息以及设备控制指令,进行领域分类处理,得到各设备的执行概率;若各设备的执行概率均小于第一预设阈值,则输出拒绝执行设备控制指令的操作结果,否则基于各设备的执行概率确定设备控制指令对应的至少一个目标设备。

具体地,基于各设备的执行概率确定设备控制指令对应的至少一个目标设备,包括:将各设备执行概率中最大概率对应的设备确定为设备控制指令对应的设备。

例如,领域分类结果(各设备的执行概率)为0.91、0.01、0.08分别对应设备1、设备2、设备3,其中,第一预设阈值为0.5,则确定设备控制指令对应的设备为设备1。

又例如,领域分类结果(各设备的执行概率)为0.49、0.48、0.03,则各个设备执行概率中均不大于0.5,则输出拒绝执行设备控制指令的操作结果。

对于本申请实施例,由于确定设备控制指令对应的至少一个目标设备可以通过模型(例如领域分类器)来确定,因此在确定设备控制指令对应的至少一个目标设备,之前还可以包括:训练模型(领域分类器),下述以领域分类器为例介绍。

具体地,训练数据为(si,mi,di),si表示输入数据(设备控制指令)语句文本,mi表示多模态信息,包含设备控制指令输入用户的性别、权限、年龄等,di表示该条语句的标签,即所属的领域(即属于哪个设备),i表示训练数据集中一条训练数据的索引,j表示设备索引,dij表示语句i的领域为设备j概率(可以称为设备的执行概率),di是独热编码形式,即当该语句属于第j个设备时,dij为1,dik(k≠j)为0;如果该语句为越权语句,即用户不具备目标设备的控制权限(例如,年龄4岁的用户的命令语句为“给我烤一个红薯”,而烤箱是不容许儿童使用的),则di的全部元素为0,训练所依据的损失函数如下:

其中,m为设备的总数量,n为输入数据语句的总数量,为模型的预测输出,即模型预测出的语句i的领域为设备j的概率,当预测输出和dij完全一致时,loss为0。

当基于上述训练方式,训练好领域分类器之后,基于获取的信息以及设备控制指令,并通过训练好领域分类器,得到领域分类结果。具体地,输入数据为(s,m),其中s为设备控制指令对应的文本信息,m为多模态信息,使用上述训练好的dc模型,可以得到预测输出(领域分类结果),中最大元素为如果(c为第一预设阈值,可以选择0.5),则该条语句分类结果为第k个设备,如果则表示所有设备的执行概率均小于第一预设阈值,表明该语句属于被保护的情况,用户不具备针对目标设备的控制权限,因此可以拒绝执行该设备控制指令(例如,年龄4岁的用户的命令语句为“给我烤一个红薯”,而烤箱是不容许儿童使用的,训练的时候,该语句标签的全部元素为0,故而训练好的模型在预测的时候,该语句的预测输出都接近于0,也会小于阈值c,从而dc不会给出一个分类,会拒绝执行。

具体地,如图2b所示,其输入文本可以为用户输入的文本格式的设备控制指令,还可以为将用户输入的语音格式的设备控制指令通过语音-文本转换后的设备控制指令,文本经过词编码(词向量转换和位置编码)后得到编码向量,再经过卷积神经网络和自注意力(self-attention)模型后可以得到文本表达向量。其中,文本经过词向量转换后为(w1,w2,w3...)w1、w2、w3表示句子(设备控制指令)中各个词分别对应的词向量;位置编码是一个函数(f(1),f(2),f(3))是词向量的位置索引的函数(具体地,在每一个词向量后面拼接一个向量(f(1),f(2),f(3)),这些向量是使用关于位置的函数计算得到的,这一函数可以利用多种方法实现,其中比较常用的方法包括使用sin或者cos函数计算。),然后把这两部分相加得到编码向量(w1+f(1),w2+f(2),w3+f(3)..),然后将得到的编码向量通过卷积神经网络、自注意力模型得到文本表达向量,经多模态信息处理模块对多模态信息进行处理后得到多模态信息表示向量,即该获取的信息对应的信息表示向量,多模态信息表示向量与文本表达向量连接后得到联合向量(比如向量(a1,a2,a3...)向量(b1,b2,b3...),连接后就是(a1,a2,a3...,b1,b2,b3,...)),然后将联合向量输入全连接层后输出领域分类结果:领域a(设备a)的执行概率、领域b(设备b)的执行概率、领域c(设备c)的执行概率。

因此,本申请中dc模型和现有dc模型的区别点在于,加入了多模态信息作为输入,使得模型能够参考当前用户画像信息和/或和环境信息和/或设备信息进行领域分类(确定至少一个目标设备)。如:在烤箱温度过高的时候,用户输入说“烤蛋糕一个小时”,领域分类器不会把该语句分类到烤箱领域,而会拒绝执行,以保证烤箱和用户的安全。

在本申请实施例中,可以每个设备分别部署独立的dc模型,即每个设备分别进行领域分类处理。也可以由多个设备共享一个dc模型,该模型可以在云端部署,如某个设备接收到用户输入的设备控制指令后,上传到云端,由云端根据设备信息、用户信息、环境信息中的至少一项和接收到的设备控制指令进行领域分类,如果领域分类结果中的每个设备的执行概率均小于第一预设阈值,则可以指示接收用户输入的设备输出拒绝执行设备控制指令的操作结果,如果领域分类结果中的最大的执行概率不小于第一预设阈值,则可以将最大的执行概率的设备确认为目标设备,并将指令传输为该目标设备进行后续操作(如意图分类处理或序列标注处理等),或者云端继续执行意图分类处理等操作,并将确定出最终的操作指令发送给目标设备进行执行。共享的dc模型也可以在终端部署,如设备a中部署有dc模型,设备a接收到用户输入的设备控制指令后,根据设备信息、用户信息、环境信息中的至少一项和接收到的设备控制指令进行领域分类,如果每个设备的执行概率均小于第一预设阈值,则可以输出拒绝执行设备控制指令的操作结果,如果最大的执行概率不小于第一预设阈值,则可以将最大的执行概率的设备确认为目标设备,并将指令传输给该目标设备进行后续操作(如意图分类处理或序列标注处理等),或者设备a继续执行意图分类处理等操作,并将确定出最终的操作指令发送给目标设备进行执行。

对于本申请实施例,当基于获取的信息以及设备控制指令确定出至少一个目标设备时,可以基于获取的信息以及设备控制指令,确定设备控制指令对应的目标功能。本申请实施例中,可以先确定目标设备,再确定目标功能,如每个智能设备可以分别部署ic模型,并共享dc模型,此时可以先由dc模型确定出目标设备,然后再由目标设备的ic模型确定出目标功能;也可以同时确定目标设备和确定目标功能,关于执行的先后顺序这里不做具体限定。确定设备控制指令对应的目标功能的方式具体如下所述:

步骤s203中确定设备控制指令对应的目标功能,包括:基于获取的信息以及设备控制指令,进行意图分类处理,确定各控制功能的执行概率;若各控制功能的执行概率均小于第二预设阈值,则输出拒绝执行设备控制指令的操作结果,否则基于各控制功能的执行概率确定设备控制指令对应的目标功能。

具体地,基于获取的信息以及设备控制指令,通过模型(意图分类器)进行意图分类处理。在本申请实施例,当确定出多个目标设备,可以仅通过一个模型(共享的ic模型)进行意图分类,还可以通过各个目标设备中的模型进行意图分类。

在本申请实施例,可以每个设备分别部署独立的ic模型,即每个设备分别进行领域分类处理。也可以由多个设备共享一个ic模型,该模型可以在云端部署,如某个设备接收到用户输入的设备控制指令后,上传到云端,由云端根据设备信息、用户信息、环境信息中的至少一项和接收到的设备控制指令进行意图分类,如果意图分类结果中的每个控制功能的执行概率均小于第二预设阈值,则可以指示接收用户输入的设备输出拒绝执行设备控制指令的操作结果,如果意图分类结果中的最大的执行概率不小于第二预设阈值,则可以将最大的执行概率的控制功能确认为目标功能,并将指令传输为目标设备进行后续操作(如序列标注处理等),或者云端继续执行序列标注处理等操作,并将确定出最终的操作指令发送给目标设备进行执行。共享的ic模型也可以在终端部署,如设备a中部署有ic模型,设备a接收到用户输入的设备控制指令后,根据设备信息、用户信息、环境信息中的至少一项和接收到的设备控制指令进行意图分类,如果每个控制功能的执行概率均小于第二预设阈值,则可以输出拒绝执行设备控制指令的操作结果,如果最大的执行概率不小于第二预设阈值,则可以将最大的执行概率的控制功能确认为目标功能,并将指令传输给目标设备进行后续操作(如序列标注处理等),或者设备a继续执行序列标注处理等操作,并将确定出最终的操作指令发送给目标设备进行执行。

进一步地,由于可以通过模型(意图分类器)进行意图分类处理,则基于获取的信息以及设备控制指令,通过模型(意图分类器)进行意图分类处理,之前还包括:训练模型(意图分类器),具体的方式如下所示:

通过下述损失函数,训练该意图分类器:

其中,m为控制功能的总数量,n为输入数据语句的总数量,j表示功能索引,iij表示语句i的意图为功能j概率(可以称为控制功能的执行概率),为模型的预测输出,即模型预测出的语句i的意图为功能j的概率,ii为第i条训练数据的标签,ii是独热编码形式,即当该语句属于第j个功能时,iij为1,iik(k≠j)为0。如果该训练语句为越权语句,即用户不具备目标功能的控制权限(例如,年龄4岁的用户的命令语句为“卸载电视机的xxapp”,虽然电视机是对儿童开放的,然而,电视机的卸载app的功能不容许儿童使用),则ii的全部元素为0。当预测输出和iij完全一致时,loss为0。

其中,在对意图分类器进行训练时,训练样本中仍包含获取的信息(多模态信息),该多模态信息可以已训练好的领域分类器中的多模态信息进行初始化,例如,多模态意图分类器的权重可以通过一些方法进行初始化(如:将一些多模态信息对应的向量作为分类器的权重)以加快训练速度。

对于本申请实施例,当通过上述方式训练好意图分类器之后,可以基于用户输入的设备控制指令以及获取的信息,并通过训练后的意图分类器,确定设备控制指令对应的目标功能。具体确定设备控制指令对应的目标功能的方式如下所示:

意图分类器的输入为(s,m),s为设备控制指令对应的文本信息,m为多模态信息,首先通过dc模型得到所属的领域(目标设备),然后使用该领域训练好的ic模型,可以得到预测输出中最大元素为如果(c为设定好的阈值,可以选择0.5),则该条设备控制指令分类结果为第k个功能(目标功能),如果则表示该设备控制指令属于被保护的情况,拒绝执行。如果主人设置了用户权限数据库中儿童、老人、客人等的权限,第k个功能刚好处于屏蔽列表中,那么拒绝执行。如图4所示,用户输入的设备控制指令中包括:意图a、意图d或意图f,若主人未设置用户权限,则意图分类器直接输出意图a、意图d或意图f;若主人设置用户权限(意图a、意图c、意图f允许操作,意图b、意图d、意图e不允许操作),则意图分类器直接输出意图a、意图f,拒绝执行意图d。

例如,儿童说“删除电视的频道列表”,该设备控制指令会被领域分类器分配到电视领域,但是电视删除频道列表的功能不对儿童开放,由于训练的时候,若输入该语句的用户为儿童,则这句话标签的全部元素为0,故而训练好的意图分类器在根据用户信息进行预测时,该设备控制指令的预测输出都接近于0,也会小于阈值c,从而意图分类器不会给出一个意图分类,会拒绝执行该目标功能。

具体地,如图3b所示,其输入文本可以为用户输入的文本格式的设备控制指令,还可以为将用户输入的语音格式的设备控制指令通过语音-文本转换后的设备控制指令,文本经过词编码(词向量转换和位置编码)后得到编码向量,再经过卷积神经网络和自注意力(self-attention)模型后可以得到文本表达向量。其中,文本经过词向量转换后为(w1,w2,w3...)w1、w2、w3表示句子(设备控制指令)中各个词分别对应的词向量;位置编码是一个函数(f(1),f(2),f(3))是词向量的位置索引的函数,然后把这两部分相加得到编码向量(w1+f(1),w2+f(2),w3+f(3)..),然后将得到的编码向量通过卷积神经网络、自注意力模型得到文本表达向量,经多模态信息处理模块对多模态信息进行处理后得到多模态信息表示向量,即该获取的信息对应的信息表示向量,多模态信息表示向量与文本表达向量连接后得到联合向量(比如向量(a1,a2,a3...)向量(b1,b2,b3...),连接后就是(a1,a2,a3...,b1,b2,b3,...)),然后将联合向量输入全连接层后输出意图分类结果:功能a(意图a)的执行概率、功能b(意图b)的执行概率、功能c(意图c)的执行概率。

进一步地,基于获取的信息以及设备控制指令,并通过意图分类器,确定目标功能时输入意图分类器的获取的信息(多模态信息)其实为其对应的表示向量。在本申请实施例中,由获取的信息得到获取的信息对应的信息表示向量的方式,详见上述实施例,在此不再赘述。

值得说明的是:若基于获取的信息以及设备控制指令,并未确定出设备控制指令对应的目标设备(直接输出拒绝执行相应操作的指令),则可以不确定设备控制指令对应的目标功能,以及不对设备控制指令进行标注处理。

针对步骤s203,本申请实施例提供了一个具体实例:儿童通过语音输入的设备控制指令“把烤箱打开”,其中烤箱为儿童禁止操作的设备,通过领域分类器,拒绝执行该操作;又例如,儿童通过语音输入的设备控制指令为“删除手机中xxxapp”,其中,手机为允许儿童操作的设备,但是删除app这一意图是不允许儿童操作的,因此该设备控制指令通过领域分类器确定目标设备为手机,通过意图分类器拒绝执行该操作;而针对现有技术,不会考虑多模态信息,儿童通过语音输入的设备控制指令“把空调调整为30度”,则将该控制指令“把空调调整为30度”通过领域分类器,得到领域分类结果(烤箱:0.01;洗衣机:0.02;空调:0.37),即目标设备为空调,通过意图分类器得到意图分类结果(意图a,打开空调:0.01;意图b,关闭空调:0.02;意图c,设置温度:0.97),即目标功能为设置温度,然后通过序列标注器,得到设备控制指令中的参数信息(温度:“30”),如图3c所示。因此现有技术直接执行用户输入的设备控制指令可能会对设备或用户造成安全风险,对设备的控制也不灵活。而本申请根据设备信息、用户信息、环境信息中的至少一项来确定目标设备和/或目标功能和/或目标参数信息,充分考虑了可能会影响设备安全运行的各种因素,也能够使得用户能够方便的对设备进行权限控制,能够大大提高用户控制设备时的安全性和灵活性。

步骤s204(图中未示出)、对设备控制指令进行标注处理,得到目标参数信息。

对于本申请实施例,将设备控制指令输入至序列标注器(slottagger,st)模型对设备控制指令进行标注处理,得到目标参数信息。在本申请实施例中,本实施例中的步骤s204可以不基于获取的信息对设备控制指令进行标注处理,以确定目标参数信息。

其中,步骤203中基于获取的信息以及设备控制指令,确定设备控制指令对应的目标功能,与步骤s204可以并行执行,也可以串行执行。在本申请实施例中不做限定。当然,当步骤s203中基于获取的信息以及设备控制指令,输出拒绝执行相应操作的指令,则可以不执行步骤s204。

由于序列标注处理时通过序列标注器来处理的,因此首先介绍序列标注器的模型结构:

如图5所示,st模型包括:编码层以及解码层,其中编码层包括:词编码、长短时记忆(longshort-termmemory,lstm)层以及注意力层;解码层包括:lstm层以及多层感知机(multilayerperceptron,mlp)层,其中x1,x2....xm为用户的设备控制指令,编码层同样采用词向量转换和位置编码结合的编码形式,编码后每个词被表示为一个固定维度的向量;使用lstm层进行编码,提取每个词的特征h1,h2.....hm;y1,y2....yk为x1,x2....xm对应的标记(可以采用bmo标记法,b为表示该词汇是参数的起始位置,m表示该词汇是参数的中间位置或结束位置,o表示该词汇不是参数),将y1,y2...yk经过lstm层表示为隐状态c,使用c和h1,h2.....hm经过注意力层计算出向量d,d经过多层mlp后得到向量f,f经过多层感知机后输出下一个时刻的标签yk+1(即为目标参数信息)。其中,图5中的eos(英文全称:endofsentence)表示句子的结束。

因此,对设备控制指令通过st模型(维特比解码方式)进行标注处理,得到目标参数信息。

进一步地,由于在通过st模型对设备控制指令进行标注处理中st模型为训练后的st模型,因此在通过st模型对设备控制指令进行标注处理,之前还包括:通过训练样本以及损失函数训练st模型,其中具体的方式如下所示:

训练样本集合为(si,yi,ci,vi,mi),si表示输入设备控制指令对应的文本信息,yi表示该条指令的bmo标签(例如si为“把空调设置为30度”,yi为“oooobm”),i是训练样本集中每条数据的索引。其训练的损失函数为:

其中,yij表示第i个训练样本的第j个词的bmo标注,为模型的预测的第i个训练样本的第j个词的bmo结果。

步骤s205(图中未示出)、基于至少一个目标设备和/或目标功能和/或目标参数信息,控制至少一个目标设备执行相应的操作。

对于本申请实施例,在通过步骤s203、步骤s204以及步骤s205确定出至少一个目标设备和/或目标功能和/或目标参数信息之后,控制至少一个目标设备执行相应的操作。

例如,用户输入的设备控制信息为“把空调温度调整为30度”,则目标设备为空调,目标功能为调整温度,目标参数信息为30度,则根据确定出的信息,控制空调把温度调整为30度。

进一步地,由于存在领域分类器以及意图分类器直接输出拒绝执行设备控制指令的操作结果,则本实施例还可以包括步骤s206,其中,

步骤s206(图中未示出)、基于获取的信息和设备控制指令,输出拒绝执行设备控制指令的操作结果。

具体地,输出拒绝执行设备控制指令的操作结果,包括:当根据获取的信息确定出满足下述至少之一时,输出拒绝执行设备控制指令的操作结果:

用户不具备针对至少一个目标设备的控制权限;用户不具备针对设备控制指令对应的目标功能的控制权限;至少一个目标设备不满足设备控制指令对应的执行条件;至少一个目标设备的工作环境不满足设备控制指令对应的执行条件。其中,上述执行条件可以预先设置,如将空调温度调整到30度的执行条件可以为:环境温度低于30度,或者将烤箱温度调整为260度的执行条件可以为:烤箱的连续运行时间少于3小时。

例如,儿童输入的设备控制指令为“将烤箱温度提高为240度”,基于获取的用户信息可知设备控制指令的输入用户为儿童,并且通过权限数据库可知儿童不能操作烤箱,即儿童不具备针对目标设备的控制权限,则直接拒绝执行该设备控制指令对应的操作;

又如,儿童输入的设备控制指令为“删除电视中xx应用”,基于获取的用户信息可知设备控制控制指令的用户为儿童,并且通过权限数据库可知儿童可以操作电视,但是不能“删除应用”(目标功能),即儿童不具备针对目标功能的控制权限,则直接拒绝执行该设备控制指令对应的操作;

又例如,某一空调不具备“除湿”功能,用户输入的设备控制指令为“开启空调除湿功能”即空调不满足设备控制指令对应的执行条件“除湿”,则直接拒绝执行该设备控制指令对应的操作;

又例如,当前室内温度为30度或者当前处于夏季,用户输入的设备控制指令为“将空调温度调整为32度”,即表征空调的工作环境不满足设备控制指令对应的执行条件,则直接拒绝执行该设备控制指令对应的操作。

对于本申请实施例,当基于获取的信息和/或设备控制指令,确定出不执行设备控制指令的操作结果时,可以不执行操作,并输出通知消息,以告知当前拒绝执行该控制指令,也可以仅不执行相应的操作。

进一步地,针对实施例一还介绍了一种设备控制系统(以用户通过语音方式输入设备控制指令为例进行介绍),如图6a所示,系统分为声音处理模块,图像处理模块,多模态信息处理模块,语音转换模块,语义理解模块,对话管理(dm,dialoguemanagement)模块,语音合成模块,执行模块。语音转换模块也可以称为自动语音识别(asr,autospeechrecognition)模块,语义理解模块也可以成为自然语言理解(nlu,naturallanguageunderstanding)模块,语音合成模块也可以称为文本到语音(tts,texttospeech)模块,进一步的,在dm模块中还可以进一步包含自然语言生成(nlg,naturallanguagegeneration)模块。其中,音频采集装置(麦克风)采集声音信号后,由声音处理模块进行降噪、身份识别,输出降噪处理后的声音信号和身份认证信息。摄像头采集图像信息后,由图像处理模块进行人脸提取、人脸识别,输出身份认证信息。由以上图像处理模块,声音处理模块输出的身份认证信息会经过多模态信息处理模块整合为多模态信息;声音处理模块输出的声音信号会经过语音转换模块转换为文本信息;该文本信息和多模态信息共同输入给语义理解模块,语义理解模块输出该语句的领域(目标设备)、意图(目标功能)和标签(目标参数信息)给对话管理模块和执行模块;对话管理模块会生成回复文字,由语音合成模块合成后回复;由执行模块执行相应操作。现有技术并未考虑到图像信号和身份认证,现有技术在进行语义理解时,也并未考虑多模态信息(图6a中仅示出了多模态信息包含用户信息的示例,本申请中的多模态信息还可以包含设备信息和/或环境信息,并未在图6a中示出),具体地,详见对多模态信息处理模块进行介绍:

该模块作用是处理声音处理模块、图像处理模块得到的信息,汇总处理得到多模态信息。该模块构成如图6b所述,多模态信息包括用户画像数据库获取的用户图像信息(包括:年龄、性别等)以及从权限数据库获取的用户权限数据(用户的设备控制权限)。具体地,当声音处理模块和图像处理模块都采集到了相应的信号时候,身份认证采用图像处理模块输出的人脸认证信息与用户画像数据库中的每个用户的用户人脸识别模板进行对比认证,确定用户身份;若认证通过,即根据身份认证结果判断为已存在用户,则获取并输出用户画像数据库中该用户的用户画像,包含性别、年龄、用户组等;如果身份认证未通过,即根据身份认证结果判断为新用户,则在用户画像数据库中建立并写入新的用户画像数据,写入由声音处理模块和图像处理模块得到的性别和年龄数据,并输出新建的用户画像数据,包括性别、年龄、用户组等。根据输出的用户画像数据中的用户组在权限数据库中查询相应用户组的用户权限并输出。将用户权限输出、以及用户画像数据整合为多模态信息。将该多模态信息输出给语义理解模块,即自然语言理解naturelanguageunderstanding,nlu)模块,也可以称为多模态nlu模块。

其中,现有技术的系统架构图如图7所示,声音信号经过声音处理模块降噪处理后由语音转换模块转换为文字,该文字由语义理解模块处理后,得到该语句的领域、意图和标签后输出给对话管理模块和执行模块,对话管理模块会生成回复文字,由语音合成模块合成后回复;由执行模块执行。因此现有技术直接执行用户输入的设备控制指令可能会对设备或用户造成安全风险,对设备的控制也不灵活。而本申请根据设备信息、用户信息、环境信息中的至少一项来确定目标设备和/或目标功能和/或目标参数信息,充分考虑了可能会影响设备安全运行的各种因素,也能够使得用户能够方便的对设备进行权限控制,能够大大提高用户控制设备时的安全性和灵活性。

实施例二

本实施例主要介绍获取到的用户信息和/或环境信息和/或设备信息,确定用户输入的设备控制指令中的参数信息是否需要更改,若需要更改,则输出更改后的参数信息,以解决上述技术问题二中的技术问题(其中,本实施例中在确定设备控制指令对应的至少一个目标设备和/或目标功能时可以不考虑获取的信息(包括:用户信息、环境信息以及设备信息)),具体如下所示:

步骤s301(图中未示出)、获取用户输入的设备控制指令。

对于本申请实施例,步骤s301中获取用户输入的设备控制指令的方式详见上述步骤s201。在本实施例中不做赘述。

步骤s302(图中未示出)、基于获取的所述设备控制指令,确定所述设备控制指令对应的至少一个目标设备和/或所述设备控制指令对应的目标功能。

对于本申请实施例,基于获取的所述设备控制指令,确定所述设备控制指令对应的至少一个目标设备和/或所述设备控制指令对应的目标功能,包括:基于获取的设备控制指令,并基于领域分类器确定设备控制指令对应的至少一个目标设备;基于获取的设备控制指令,并基于意图分类器确定设备控制指令对应的目标功能。

对于本申请实施例,领域分类器的模型结构,如图8所示,其输入文本为用户以文本形式输入的设备控制指令,或者将用户以语音格式输入的设备控制指令通过语音-文本转换后的文本格式的设备控制指令,文本格式的设备控制指令经过词编码(词向量转换和位置编码)后得到编码向量,再经过卷积神经网络和自注意力(self-attention)模型后可以得到文本表达向量。其中,词向量转换后为(w1,w2,w3...),w1,w2,w3...表示设备控制指令中各词分别对应的词向量;位置编码是一个函数(f(1),f(2),f(3)),是词向量的位置索引的函数;把这两部分相加得到编码向量(w1+f(1),w2+f(2),w3+f(3)..),然后输入全连接层后输出分类结果:领域a(设备a)的执行概率、领域b(设备b)的执行概率、领域c(设备c)的执行概率。选择执行概率最大的设备为目标设备。

其中,领域分类器的模型结构也可以采用图2b所示的结构,即经多模态信息处理模块对多模态信息进行处理后得到多模态信息表示向量,与文本表达向量连接后得到联合向量,将联合向量输入全连接层后输出领域分类结果。

对于本申请实施例,意图分类器ic的结构如图9所示,其主要用于基于设备控制指令确定该设备控制指令对应的目标功能。ic的结构和dc一致,其输入文本为用户以文本形式输入的设备控制指令,或者将用户以语音格式输入的设备控制指令通过语音-文本转换后的文本格式的设备控制指令,文本格式的设备控制指令经过词编码(词向量转换和位置编码)后得到编码向量,再经过卷积神经网络和自注意力(self-attention)模型后可以得到文本表达向量。其中,词向量转换后为(w1,w2,w3...),w1,w2,w3...表示设备控制指令中各词分别对应的词向量;位置编码是一个函数(f(1),f(2),f(3)),是词向量的位置索引的函数;把这两部分相加得到编码向量(w1+f(1),w2+f(2),w3+f(3)..),然后输入全连接层后输出意图分类结果:功能a(意图a)的执行概率、功能b(意图b)的执行概率、功能c(意图c)的执行概率。

其中,意图分类器的模型结构也可以采用图3b所示的结构,即经多模态信息处理模块对多模态信息进行处理后得到多模态信息表示向量,与文本表达向量连接后得到联合向量,将联合向量输入全连接层后输出意图分类结果。

进一步地,领域分类器可以为一个,即共享的领域分类器,意图分类器为多个(即每个设备对应一个意图分类器),还可以领域分类器与意图分类器均为一个,如在云端进行领域分类及意图分类。在本申请实施例中并不做限定。

本申请实施例中在基于领域分类器确定设备控制指令对应的至少一个目标设备时,所使用的领域分类器为预先训练好的领域分类器;在基于意图分类器确定设备控制指令对应的目标功能所使用的意图分类器为也是预先训练好的。具体的训练方式为:基于多条第一训练数据,训练领域分类器;基于多条第二训练数据,训练意图分类器,任一第一训练数据包括:设备控制指令以及设备控制指令对应的领域(目标设备)的标签;任一第二训练数据包括:设备控制指令以及设备控制指令对应的目标功能的标签;更为具体的训练方式在本申请实施例中不再赘述。

步骤s303(图中未示出)、获取以下至少一项信息:用户信息;环境信息;设备信息。

本申请实施例对步骤s301、步骤s302以及步骤s303之间的执行顺序不做任何限定。

本申请实施例中获取用户信息、环境信息以及设备信息中的至少一项的方式详见实施例一。其中实施例一中主要介绍了用户信息的获取方式。在本申请实施例中,主要介绍环境信息的获取方式。具体地,如图10所示,通过传感器采集到环境信息(包括:当前环境的温度、当前环境的气压等),环境数据库中存储有适宜环境参数(也可以称为最佳工作环境信息),此外,可以采用同样的方式得到设备信息,如采集得到设备信息(包括:设备当前的工作温度、工作湿度等)和设备数据库中存储的适宜的工作参数(也可以称为最佳工作状态信息),通过获取到的设备信息和/或环境信息可以得到多模态信息。

步骤s304(图中未示出)、基于获取的信息,对设备控制指令进行标注处理,得到目标参数信息。

对于本申请实施例,步骤s304具体可以包括步骤s3041(图中未示出),其中,

步骤s3041、基于获取的信息以及设备控制指令,并通过序列标注器,得到目标参数信息。

其中,目标参数信息包括以下任一项:由序列标注器对设备控制指令中参数信息进行更改后的参数信息;设备控制指令中的参数信息。

对于本申请实施例,若设备控制指令满足预设条件,则目标参数信息为由序列标注器对设备控制指令中参数信息进行更改后的参数信息;若设备控制指令不满足预设条件,则目标参数信息为设备控制指令中的参数信息。

其中,预设条件包括以下至少一项:

设备控制指令中不包含参数值;

设备控制指令中包含的参数值不属于由获取的信息确定出的参数值范围中的参数值。

进一步地,步骤s3041具体可以包括:步骤s30411(图中未示出)、步骤s30412(图中未示出)以及步骤s30413(图中未示出),其中,

步骤s30411、对设备控制指令进行序列标注处理,得到设备指令中的参数信息。

步骤s30412、基于设备控制指令以及获取的信息,确定是否更改设备控制指令中的参数信息。

具体地,步骤s30412可以包括:基于设备控制指令中的参数信息以及获取的信息,通过逻辑回归处理处理,得到逻辑回归结果;基于逻辑回归结果确定是否更改设备控制指令中的参数信息。

步骤s30413、若更改,则基于设备控制指令中的参数信息以及获取的信息,确定更改后的目标参数信息。

具体地,步骤s30413中基于设备控制指令中的参数信息以及获取的信息,确定更改后的目标参数信息可以包括:基于设备控制指令中的参数信息以及获取的信息,通过线性回归处理,得到线性回归结果;基于线性回归结果确定更改后的参数信息。在本申请实施例中,基于设备控制指令中的参数信息以及获取的信息,通过拟合预测函数得到预测结果,该预设结果可以包括:是否更改设备控制指令中的参数信息以及更改后的参数信息中的至少一项。预测函数可以取多种形式,具体地,拟合预测函数可以为线性函数,当拟合预测函数为线性函数时,进行线性回归处理,得到线性回归结果;拟合预测函数还可以为指数函数,当拟合预测函数为指数函数时,进行逻辑回归,得到逻辑回归结果;进一步地,拟合预测函数还可以为多项式函数,当拟合预测函数为多项式函数时,进行类似线性回归处理,得到类似线性回归结果。在本申请实施例中,预测函数还可以包括其它函数,在此并不做限定。

对于本申请实施例,若需要更改设备控制指令中的参数信息,则序列标注器输出结果中包括更改后的参数信息,还可以包括:修改参数信息对应的指示信息、设备控制指令中的参数信息;

对于本申请实施例,若不更改,则确定目标参数信息为设备控制指令中的参数信息;进一步地,若不需要更改设备控制指令中的参数信息,则序列标注器输出结果中包括:未修改参数信息对应的指示信息、设备控制指令中的参数信息。

针对步骤s30411-步骤s30413中通过逻辑回归以及线性回归确定设备控制指令中的参数信息是否更改,以及更改后的参数信息的方式,介绍序列标注器进行序列标注处理的具体过程,如图11所示,为编码器、解码器结构(encoder和decoder),x1,x2....xm为用户的设备控制指令,编码层同样采用词向量转换和位置编码结合的编码形式,编码后每个词被表示为一个固定维度的向量,然后使用lstm层进行编码,提取每个词的特征h1,h2.....hm;y1,y2....yk为x1,x2....xm对应的标记(采用bmo标记法,b为表示该词汇是参数的起始位置,m表示该词汇是参数的中间位置或结束位置,o表示该词汇不是参数),将y1,y2...yk经过lstm层表示为隐状态c,使用c和h1,h2.....hm经过注意力层计算出向量d,d经过多层感知机(multilayerperceptron,mlp)后得到向量f,f经过多层感知机后输出下一个时刻的标签yk+1(设备控制指令中的参数信息),同时,向量f以及获取的信息对应的信息表示向量(多模态信息表示向量)经过逻辑回归和线性回归,分别得到逻辑回归结果和线性回归结果。其中,图11中的eos(英文全称:endofsentence)表示句子的结束。

其中,逻辑回归的结果决定在k+1时刻是否更改参数(即输出结果为更改或不更改),线性回归的结果决定更改后的值(即填充值)。

对于本申请实施例,逻辑回归的结果决定是否更改参数,线性回归的结果决定更改后的值,从而使得该网络有改写参数的能力。

例如,用户输入的设备控制指令为“把空调设置为100度”,该指令被领域分类器分类到空调领域,意图分类器分配到“设置空调温度”意图,由于100度是空调不能设置该温度,空调无法执行,因此本申请实施例通过序列标注器模型标注出参数后,经过逻辑回归和线性回归会把100度改写为环境数据库中空调的上限温度30度(或者修改为用户画像数据库中该用户喜欢的温度26度),把该参数传递给空调执行,从而提高了室内温度,更符合“把空调设置为100度”的语义。再如,用户语句“把烤箱调高240度”,设备监测模块监测到当前烤箱工作温度较高,且工作时间较长,并把该信息传递到多模态信息表示向量中,st标注模型标注出参数为240度后,会结合多模态信息表示向量对该参数进行改写,输出200度给烤箱执行。

而现有序列标注模型中的mlp得到下一个时刻的标签yk+1时候,直接作为输出结果,不会经过逻辑回归和线性回归,从而可能导致设备无法准确执行用户输入的设备控制指令或者执行结果对设备或用户带来危险,通过本申请基于线性回归以及逻辑回归,可以对设备指令信息中不合理的参数信息或者不清楚的参数信息修改为合理清楚的参数信息,提高了设备运行的安全性,降低了设备故障的风险,提高了控制设备的灵活性,进而可以提升用户体验。

进一步地,由于基于获取的信息以及设备控制指令,并通过序列标注器,得到目标参数信息,之前还包括:获取多个训练数据;基于获取的训练数据,并通过目标损失函数,训练序列标注器。

其中,任一训练数据包括以下信息:

设备控制指令;设备控制指令对应的序列标注结果;设备控制指令中参数是否更改的指示信息;更改后的参数信息;获取的信息。

进一步地,基于获取的训练数据,并通过目标损失函数,训练序列标注器,之前还包括:确定目标损失函数。

其中,确定目标损失函数包括:基于各个训练数据中的设备控制指令对应的序列标注结果、以及序列标注器的预测标注结果,确定第一损失函数;基于各个训练数据中的设备指令中参数是否更改的指示信息,以及序列标注器预测的是否更改的指示信息,确定第二损失函数;基于各个训练数据中更改后的参数信息以及序列标注器输出的更改后的参数信息,确定第三损失函数;基于第一损失函数、第二损失函数以及第三损失函数,确定目标损失函数。

具体地,在对序列标注器进行训练所使用的训练数据集合可以为(si,yi,ci,vi,mi),si表示输入的设备控制指令对应文本信息,yi表示该条设备控制指令对应的bmo标签(例如si为“把空调设置为30度”,yi为“oooobm”),ci为0或者1(0表示不需要更改参数,1表示需要修改参数),vi表示更改后的填充值(更改后的目标参数信息),mi表示多模态信息(获取的信息)(包含当前传感器测量值,适宜值和设备可执行范围等),i是训练数据集每条数据的索引。

进一步,其训练的损失函数为:

其中,m为训练数据中词的总数量,n为输入数据语句的总数量,loss中的第一项表示标注误差,yij表示第i个训练数据的第j个词的bmo标注,为模型的预测的第i个训练数据的第j个词的bmo结果;loss中的第二项为参数修正误差,ci表示参数是否需要修改,ci=0表示参数不需要修改,ci=1表示参数需要修改;loss中第三项为模型输出的修改值和标签修改值vi的差的平方,α和β为系数。

步骤s305(图中未示出)、基于至少一个目标设备和/或目标功能和/或目标参数信息,控制至少一个目标设备执行相应的操作。

对于本申请实施例,基于步骤s302确定出的至少目标设备和/或目标功能,以及由步骤s304(步骤s30411-步骤s30413)得到的目标参数信息,控制至少一个目标设备执行相应的操作。

下述针对实施例二介绍一个具体实例:

用户输入的设备控制指令对应文本信息为“把空调设置为100度”,该被领域分类器直接分类到空调领域,意图分类器直接将该控制指令分配到“设置空调温度”意图,序列标注器标注出“100”作为参数,同时,多模态信息中包含的设备信息中含有空调的最高温度32度和适宜温度29度,参数改写网络逻辑回归的输出ci大于0.5,同时线性回归输出vi为32度,则进行参数改写,把线性回归的输出结果32度传递给空调执行。

进一步地,针对实施例二还介绍了一种设备控制系统(以用户通过语音方式输入设备控制指令为例进行介绍),通过采集用户的声音信号和环境信号(如室内温度、室内空气质量等)来最终构成对用户的语义理解并给出语音反馈,并执行相应命令。图12中,系统分为声音处理模块,环境监测模块,多模态信息处理模块,语音转换模块,语义理解模块,对话管理模块,语音合成模块,执行模块。音频采集装置(麦克风)采集声音信号后,由声音处理模块进行降噪,输出降噪处理后的声音信号;传感器采集包括温度、湿度等环境信息;由以上声音处理模块,环境监测模块输出的信息,经过多模态信息处理模块整合为多模态信息,图12中仅示出了多模态信息包含环境信息的示例,本申请中的多模态信息还可以包含设备信息和/或用户信息,并未在图12中示出;声音处理模块输出的声音信号会经过语音转换模块转换为文本信息,该文本信息和多模态信息共同输入给语义理解模块,语义理解模块输出该语句的领域、意图和标签给对话管理模块和执行模块,对话管理模块会生成回复文字,由语音合成模块合成后回复,由执行模块执行相应操作。

具体地,对话管理模块:对话管理模块负责根据语义理解模块的结果(包括,设备控制指令所属的领域(目标设备)、目标功能和标注结果(目标参数信息))生成回复。此部分可以采用人工设计回复,也可以通过训练的模型进行回复,不再赘述。

语音合成模块:语言合成模块把对话管理模块的结果转换为音频输出,不再赘述。

执行模块:执行模块负责执行用户的设备控制指令的硬件设备,执行模块部署在智能终端(包括智能家居设备、手机等)中。

其中,现有技术的系统架构图如图7所示,声音信号经过声音处理模块降噪处理后由语音转换模块转换为文字,该文字有语义理解模块处理后,得到该语句的领域、意图和标签给对话管理模块和执行模块,对话管理模块会生成回复文字,由语音合成模块合成后回复;由执行模块执行相应操作。因此现有技术直接按照用户输入的设备控制指令中的参数信息进行执行,可能会对设备或用户造成安全风险,或者参数不清晰时,可能会使得设备无法准确的执行相应操作。而本申请根据设备信息、用户信息、环境信息中的至少一项来调整目标参数信息,充分考虑了可能会影响设备安全运行的各种因素,当指令中的参数不清晰或不安全时,可以按照更改后的参数来执行相应操作,大大提高了用户控制设备时的安全性和灵活性。

实施例三

本实施例主要介绍了结合获取的信息(多模态信息),确定设备控制指令对应的至少一个目标设备和/或目标功能,以及结合获取的信息(多模态信息)确定设备控制指令中的参数信息是否修改,输出修改后的目标参数信息(不需要修改,则输出设备控制指令中的参数信息),并基于至少一个目标设备和/或目标功能和/或目标参数信息(修改、未修改),执行用户输入的设备控制指令,具体如下所示:

步骤s401(图中未示出)、获取用户输入的设备控制指令。

对于本申请实施例,用户输入的设备控制指令可以由用户通过文本方式输入,也可以由用户通过语音、按键、手势等方式输入。在本申请实施例中不做限定。本申请实施例以用户通过语音方式输入设备控制指令为例介绍。

步骤s402(图中未示出)、获取以下至少一项信息:用户信息;环境信息;设备信息。

对于本申请实施例,可以预先设置用户画像数据库以及用户权限数据库,如图2a所示,其中用户画像数据库中存储着用户画像数据,包括:性别、年龄、用户组、昵称、声音识别模板以及人脸识别模板等数据,该用户组可以分为四个用户组,分别为主人用户组、儿童用户组、老人用户组以及客人用户组。其中,主人用户组、儿童用户组、老人用户组的用户画像数据中的用户可以在注册时写入,客人用户组的用户画像数据中的用户可以在注册时写入,也可以在使用时写入;用户权限数据库中记录了主人用户组、儿童用户组、老人用户组以及客人用户组可以使用设备的类别和每个设备可以使用的功能列表,对于儿童用户组,可能意图abcde都是不容许的,意图f是可以允许执行的;对于老人用户组,可能意图a、b是不容许执行的,意图c、d、e、f是容许执行的;对于客人用户组,意图b、d、e是不容许执行的,意图a、c、f是容许执行的;对于主人用户组,意图a、b、c、d、e、f均是容许执行,该功能列表有默认设置值,也可由主人用户组用户进行手动设置。

对于本申请实施例,通过声纹识别和/或图像识别,获取用户信息。在本申请实施例中,当获取到用户通过语音方式输入的设备控制指令,声音处理模块基于声纹识别的方式,确定设备控制指令输入用户的身份信息、性别信息以及年龄信息中的至少一项;若某些设备上设置有图像采集装置,可以基于图像采集装置采集到的设备控制指令输入用户的人脸图像信息,图像处理模块基于人脸图像检测技术,确定设备控制指令输入用户的身份信息、性别信息、年龄信息以及用户组信息中的至少一项。具体地,当采集到了相应的声音信号以及人脸图像信号时候,身份认证采用人脸认证信息与用户画像数据库中的每个用户的用户人脸识别模板进行对比认证,确定用户身份。当只有采集的声音信号,而未采集到人脸图像信号时,身份认证采用声纹认证信息与用户画像数据库中的每个用户的用户声纹识别模板进行对比认证,确定用户身份(考虑到智能家居场景中摄像头往往安装在电脑,电视上,说话人处于厨房和卧室等位置时候,图像信号可能是不存在的)。

当认证通过时(即说话人特征与已有用户画像数据库中某个用户的声纹识别模板(或人脸识别模板)有较高相似度时),输出用户数据库中该用户的用户画像,包含性别、年龄、用户组等;如果身份认证未通过,则并表明为新用户,建立并写入新的用户画像数据,写入获取到的性别数据和年龄数据,用户组为客人。并输出新建的用户画像数据,包括性别、年龄、用户组等,然后根据输出的用户画像数据中的用户组在用户权限数据库中查询相应用户组的用户权限并输出。将用户权限输出、以及用户画像数据整合为多模态信息,然后基于整合后的多模态信息以及用户输入的设备控制指令,确定设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能,如步骤s403。

对于本申请实施例,通过采用马尔科夫随机场,卷积神经网络的等方法对通过语音方式输入的设备控制指令进行声纹识别,以确定设备控制指令输入用户的身份信息、性别信息以及年龄信息中的至少一项。以神经网络方法为例,使用大量数据训练好声纹分类网络后,用该网络对用户声纹提取特征向量保存为模板;认证时对比待认证声纹的特征和数据库中各个特征模板的余弦距离,超过阈值认为认证成功,否则失败;针对声音识别年龄信息和/或性别信息也可以采用卷积神经网络,在本申请实施例中不再赘述。

对于本申请实施例,在获取到用户通过语音方式输入的设备控制指令之后,声音处理模块也可以先对用户输入的设备控制指令进行声音降噪处理。在本申请实施例中,声音降噪的技术可以包括:多麦克协同降噪技术、卷积神经网络降噪技术。在本申请实施例中不再赘述。

进一步地,在步骤s402之后,即在获取了用户通过语音方式输入的设备控制指令以及人脸图像信息,之后进行身份认证,若认证通过,即根据身份认证结果判断为已存在用户,则从已创建的用户画像数据库中获取用户画像信息(包括:年龄、性别、用户组等),并基于用户组信息,从预先创建的用户权限数据库中获取用户权限;若验证未通过,即根据身份认证结果判断为新用户,则基于用户通过语音方式输入的设备控制指令以及人脸图像信息得到用户画像,并存储至用户画像数据库,即写入新的用户画像数据;并通过环境监测模块获取环境信息(当前温度、当前气压等),以及从预设设置的环境数据中得到适宜的环境信息(适宜温度、适宜气压等),此外,还可以获取设备信息,并根据上述信息,组成多模态信息,如图13所示。

在本申请实施例中,如图14所示,多模态信息包括:环境信息(包括:当前温度、当前气压等)、从用户画像数据库中得到的信息(包括:性别、用户等级(用户组)、年龄等)、从环境数据库中得到的信息(包括:适宜温度、适宜湿度、适宜气压等)以及从用户权限数据库中获取的信息。例如,用户权限数据库中记录了主人用户组、儿童用户组、老人用户组以及客人用户组可以使用设备的类别和每个设备可以使用的功能列表,对于儿童用户组,可能意图abcde都是不容许的,意图f是可以允许执行的;对于老人用户组,可能意图a、b是不容许执行的,意图c、d、e、f是容许执行的;对于客人用户组,意图b、d、e是不容许执行的,意图a、c、f是容许执行的;对于主人用户组,意图a、b、c、d、e、f均是容许执行。

对于本申请实施例,步骤s401可以在步骤s402之前执行,也可以在步骤s402之后执行,还可以与步骤s402同时执行。在本申请实施例中不做限定。

步骤s403(图中未示出)、基于获取的信息和设备控制指令,确定设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能。

对于本申请实施例,可以基于设备控制指令输入用户所属用户组信息,确定设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能;也可以根据设备控制指令输入用户的年龄信息和/或性别信息,确定设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能;还可以基于设备控制指令输入用户所属用户组信息以及设备控制指令输入用户的年龄信息和/或性别信息,确定设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能。

当然,可以基于获取的信息和设备控制指令,并通过训练后的模型,确定设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能。例如,可以基于获取的信息(多模态信息)和设备控制指令,并通过训练后领域分类器(dc),确定设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能;基于获取的信息(多模态信息)和设备控制指令,并通过训练后的意图分类器(ic),确定设备控制指令对应的目标功能。

具体地,步骤s403中确定设备控制指令对应的至少一个目标设备,包括:基于获取的信息以及设备控制指令,并通过领域分类器,得到领域分类结果;若领域分类结果中最大元素值不小于第一预设阈值,则基于领域分类结果确定设备控制指令对应的至少一个目标设备。

对于本申请实施例,在基于获取的信息以及设备控制指令,并通过领域分类器,得到领域分类结果,之前还可以包括:训练领域分类器。

具体地,训练样本为(si,mi,di),si表示输入数据语句文本,mi表示多模态信息,包含设备控制指令输入用户的性别、权限、年龄等,di表示该条语句的标签,即所属的领域(即属于哪个设备),i表示训练数据集中一条训练数据的索引,di是独热编码形式,即当该语句属于第j个设备时,dij为1,dik(k≠j)为0;如果该语句为越权语句(例如,年龄4岁的用户的命令语句为“给我烤一个红薯”,而烤箱是不容许儿童使用的),则di的全部元素为0,训练所依据的损失函数如下:

其中,为模型的预测输出,当预测输出和dij完全一致时,loss为0。

当基于上述训练方式,训练好领域分类器之后,基于获取的信息以及设备控制指令,并通过训练好领域分类器,得到领域分类结果。具体地,输入数据为(s,m),其中s为设备控制指令对应的文本信息,m为多模态信息,使用上述训练好的dc模型,可以得到预测输出(领域分类结果),中最大元素为如果(c为第一预设阈值,可以选择0.5),则该条语句分类结果为第k个设备,如果则表示该语句属于被保护的情况,拒绝执行该设备控制指令(例如,年龄4岁的用户的命令语句为“给我烤一个红薯”,而烤箱是不容许儿童使用的,训练的时候,该语句标签的全部元素为0,故而训练好的模型在预测的时候,该语句的预测输出都接近于0,也会小于阈值c,从而dc不会给出一个分类,会拒绝执行。

具体地,如图2b所示,其输入文本可以为用户输入的文本格式的设备控制指令,还可以为将用户输入的语音格式的设备控制指令通过语音-文本转换后的设备控制指令,文本经过词编码(词向量转换和位置编码)后得到编码向量,再经过卷积神经网络和自注意力(self-attention)模型后可以得到文本表达向量。其中,文本经过词向量转换后为(w1,w2,w3...)w1、w2、w3表示句子(设备控制指令)中各个词分别对应的词向量;位置编码是一个函数(f(1),f(2),f(3)),是词向量的位置索引的函数,然后把这两部分相加得到编码向量(w1+f(1),w2+f(2),w3+f(3)..),然后将得到的编码向量通过卷积神经网络、自注意力模型得到文本表达向量,然后多模态信息表示向量与文本表达向量连接后得到联合向量(比如向量(a1,a2,a3...)向量(b1,b2,b3...),连接后就是(a1,a2,a3...,b1,b2,b3,...)),然后将联合向量输入全连接层后输出分类结果(设备a的执行概率、设备b的执行概率、设备c的执行概率)。

进一步地,介绍由多模态信息(获取的信息)转换为多模态信息对应的信息表示向量的方式,具体地,获取用户信息、环境信息以及设备信息中的至少一项信息,之后还包括:将获取的信息中的离散信息,转换为连续稠密向量;根据转换后的连续稠密向量以及获取的信息中的连续信息,确定获取的信息对应的信息表示向量(多模态信息表示向量)。

对于本申请实施例,可以通过变换矩阵,将获取的信息中的离散信息,转换为连续稠密向量。在本申请实施例中,通过变换矩阵,转换为连续稠密向量;将转换后的连续稠密向量以及获取的信息中不属于离散值的信息进行链接,得到联合向量;然后对联合向量进行预设处理,得到获取的信息对应的信息表示向量。

具体地,如图15所示,将获取的信息(多模态信息)进行多模态信息编码时,性别,权限、喜爱频道由于是离散值,需要经过编码矩阵转换成连续稠密向量,年龄、喜爱温度、设备信息以及当前温度等可以直接输入,将编码好的多模态信息连接得到联合向量,经过全连接层和sigmoid激活函数后得到获取的信息对应的信息表示向量(多模态信息表示向量)。例如,将性别对应的信息通过性别编码矩阵进行处理,得到性别信息对应的连续稠密向量;将用户的设备控制权限信息通过权限编码矩阵进行处理,得到权限信息对应的连续稠密向量;将喜爱频道通过情绪编码矩阵进行处理,得到喜爱频道对应的连续稠密向量。

基于获取的信息和所述设备控制指令,控制至少一个目标设备执行相应操作,包括:

基于所述获取的信息对应的信息表示向量和所述设备控制指令,控制至少一个目标设备执行操作。

因此,dc模型和现有dc模型的区别点在于,加入了多模态信息作为输入,使得模型能够参考用户信息和/或设备信息和/或环境信息进行领域分类(确定至少一个目标设备)。如:在烤箱温度过高的时候,说“烤蛋糕一个小时”,领域分类器不会把该语句分类到烤箱领域,而会拒绝执行。

对于本申请实施例,当基于获取的信息以及设备控制指令确定出至少一个目标设备时,可以基于获取的信息以及设备控制指令,并通过意图分类器,确定设备控制指令对应的目标功能;还可以当基于获取的信息以及设备控制指令确定出至少一个目标设备时,基于获取的信息以及设备控制指令,并通过该至少一个目标设备中各个目标设备分别对应的意图分类器,分别确定设备控制指令分别对应的目标功能。具体如下所示:

步骤s403中确定设备控制指令对应的目标功能,包括:基于获取的信息以及设备控制指令,进行意图分类处理,确定各控制功能的执行概率;若各控制功能的执行概率均小于第二预设阈值,则输出拒绝执行设备控制指令的操作结果,否则基于各控制功能的执行概率确定设备控制指令对应的目标功能。

具体地,基于获取的信息以及设备控制指令,通过模型(意图分类器)进行意图分类处理。在本申请实施例,当确定出多个目标设备,可以仅通过一个模型进行意图分类,还可以通过各个目标设备中的模型进行意图分类。

进一步地,进一步地,由于可以通过模型(意图分类器)进行意图分类处理,则基于获取的信息以及设备控制指令,通过模型(意图分类器)进行意图分类处理,之前还包括:训练模型(意图分类器),具体的方式如下所示:通过下述损失函数,训练该模型(意图分类器):

其中为模型的预测输出,ii为第i条训练数据的标签,ii是独热编码形式,即当该语句属于第j个功能(目标功能)时,iij为1,iik(k≠j)为0。如果该训练语句为越权语句(例如,年龄4岁的用户的命令语句为“卸载电视机的xxapp”,虽然电视机是对儿童开放的,然而,电视机的卸载app的功能不容许儿童使用),则ii的全部元素为0。

其中,在对意图分类器进行训练时,训练样本中仍包含获取的信息(多模态信息),该多模态信息可以已训练好的领域分类器中的多模态信息进行初始化,以加快训练速度。

对于本申请实施例,当通过上述方式训练好意图分类器之后,可以基于用户输入的设备控制指令以及获取的信息,并通过训练后的意图分类器,确定设备控制指令对应的目标功能。具体确定设备控制指令对应的目标功能的方式如下所示:

意图分类器的输入为(s,m),s为设备控制指令对应的文本信息,m为多模态信息,首先通过dc模型得到所属的领域(设备),然后使用该领域训练好的ic模型,可以得到预测输出中最大元素为如果(c为设定好的阈值,可以选择0.5),则该条设备控制指令分类结果为第k个功能(目标功能),如果则表示该设备控制指令属于被保护的情况,拒绝执行。同时,如果主人设置了用户权限数据库中儿童、老人、客人等的权限,第k个功能刚好处于屏蔽列表中,那么拒绝执行。如图4所示,用户输入的设备控制指令中包括:意图a、意图d或意图f,若主人未设置用户权限,则意图分类器直接输出意图a、意图d或意图f;若主人设置用户权限(意图a、意图c、意图f允许操作,意图b、意图d、意图e不允许操作),则输出意图分类器直接输出意图a或意图f,拒绝执行意图d。

例如,儿童说“删除电视的频道列表”,该设备控制指令会被领域分类器分配到电视领域,但是电视删除频道列表的功能不对儿童开放,由于训练的时候,这句话标签的全部元素为0,故而训练好的意图分类器在预测时,该设备控制指令的预测输出都接近于0,也会小于阈值c,从而意图分类器不会给出一个意图分类,会拒绝执行该目标功能。

进一步地,基于获取的信息以及设备控制指令,并通过意图分类器,确定目标功能时输入到意图分类器的多模态信息为其对应的表示向量。在本申请实施例中,由获取的信息得到获取的信息对应的信息表示向量的方式,详见上述实施例,在此不再赘述。

值得说明的是:若基于获取的信息以及设备控制指令,并未确定出设备控制指令对应的目标设备(直接输出拒绝执行相应操作的指令),则可以不确定设备控制指令对应的目标功能,以及不对设备控制指令进行标注处理。

步骤s404(图中未示出)、基于获取的信息,对设备控制指令进行标注处理,得到目标参数信息。

对于本申请实施例,步骤s404具体可以包括步骤s4041(图中未示出),其中,

步骤s4041、基于获取的信息以及设备控制指令,并通过序列标注器,得到目标参数信息。

其中,目标参数信息包括以下任一项:由序列标注器对设备控制指令中参数信息进行更改后的参数信息;设备控制指令中的参数信息。

对于本申请实施例,若设备控制指令满足预设条件,则目标参数信息为由序列标注器对设备控制指令中参数信息进行更改后的参数信息;若设备控制指令不满足预设条件,则目标参数信息为设备控制指令中的参数信息。

其中,预设条件包括以下至少一项:

设备控制指令中不包含参数值;

设备控制指令中包含的参数值不属于由获取的信息确定出的参数值范围中的参数值。

进一步地,步骤s4041具体可以包括:步骤s40411(图中未示出)、步骤430412(图中未示出)、步骤430413(图中未示出)、步骤s40414(图中未示出)以及步骤s40415(图中未示出),其中,

步骤s40411、对设备控制指令进行序列标注处理,得到设备指令中的参数信息。

步骤s40412、基于设备控制指令以及获取的信息,确定是否更改设备控制指令中的参数信息。

具体地,步骤s40412可以包括:基于设备控制指令中的参数信息以及获取的信息,通过逻辑回归处理处理,得到逻辑回归结果;基于逻辑回归结果确定是否更改设备控制指令中的参数信息。

步骤s40413、若更改,则基于设备控制指令中的参数信息以及获取的信息,确定更改后的目标参数信息。

具体地,步骤s40413中基于设备控制指令中的参数信息以及获取的信息,确定更改后的目标参数信息可以包括:基于设备控制指令中的参数信息以及获取的信息,通过线性回归处理,得到线性回归结果;基于线性回归结果确定更改后的参数信息。

对于本申请实施例,若需要更改设备控制指令中的参数信息,则序列标注器输出结果中包括更改后的参数信息,还可以包括:修改参数信息对应的指示信息、设备控制指令中的参数信息。

对于本申请实施例,若不需要更改设备控制指令中的参数信息,则序列标注器输出结果中包括:未修改参数信息对应的指示信息、设备控制指令中的参数信息。

针对步骤s40411-步骤s40413,介绍序列标注器进行序列标注处理的具体过程,如图11所示,为编码器、解码器结构(encoder和decoder),x1,x2....xm为用户的设备控制指令,编码层同样采用词向量转换和位置编码结合的编码形式,编码后每个词被表示为一个固定维度的向量,然后使用lstm进行编码,提取每个词的特征h1,h2.....hm;y1,y2....yk为x1,x2....xm对应的标记(采用bmo标记法,b为表示该词汇是参数的起始位置,m表示该词汇是参数的中间位置或结束位置,o表示该词汇不是参数),将y1,y2...yk经过lstm层表示为隐状态c,使用c和h1,h2.....hm经过注意力层计算出向量d,d经过多层感知机(multilayerperceptron,mlp)后得到向量f,f经过多层感知机后输出下一个时刻的标签yk+1(设备控制指令中的参数信息),同时,向量f以及多模态信息表示向量分别经过逻辑回归和线性回归,得到逻辑回归结果和线性回归结果。

其中,逻辑回归的结果决定在k+1时刻是否更改参数,线性回归的结果决定更改后的值。

对于本申请实施例,逻辑回归的结果决定是否更改参数,线性回归的结果决定更改后的值,从而使得该网络有改写参数的能力。

例如,用户输入的设备控制指令为“把空调设置为100度”,该指令被领域分类器分类到空调领域,意图分类器分配到“设置空调温度”意图,st模型标注出“100度”作为传递给空调的参数,空调显然不能设置该温度,故而不能执行。然而,本申请实施例通过序列标注器模型标注出参数后,经过逻辑回归和线性回归会把100度改写为环境数据库中空调的上限温度(或者修改为用户画像数据库中该用户喜欢的温度),把该参数传递给空调执行,从而提高了室内温度,更符合“把空调设置为100度”的语义。再如,用户语句“把烤箱调高240度”,监测到当前烤箱工作温度较高,且工作时间较长,并把该信息传递到多模态信息表示向量中,st标注模型参数为240度后,会结合多模态信息表示向量对该参数进行改写,输出200度给烤箱执行。

进一步地,由于基于获取的信息以及设备控制指令,并通过序列标注器,得到目标参数信息,之前还包括:获取多个训练数据;基于获取的训练数据,并通过目标损失函数,训练序列标注器。

其中,任一训练数据包括以下信息:

设备控制指令;设备控制指令对应的序列标注结果;设备控制指令中参数是否更改的指示信息;更改后的参数信息;获取的信息。

进一步地,基于获取的训练数据,并通过目标损失函数,训练序列标注器,之前还包括:确定目标损失函数。

其中,确定目标损失函数包括:基于各个训练数据中的设备控制指令对应的序列标注结果、以及序列标注器的预测标注结果,确定第一损失函数;基于各个训练数据中的设备指令中参数是否更改的指示信息,以及序列标注器预测的是否更改的指示信息,确定第二损失函数;基于各个训练数据中更改后的参数信息以及序列标注器输出的更改后的参数信息,确定第三损失函数;基于第一损失函数、第二损失函数以及第三损失函数,确定目标损失函数。

具体地,在对序列标注器进行训练所使用的训练数据集合可以为(si,yi,ci,vi,mi),si表示输入的设备控制指令对应文本信息,yi表示该条设备控制指令对应的bmo标签(例如si为“把空调设置为30度”,yi为“oooobm”),ci为0或者1(0表示不需要更改参数,1标识需要修改参数),vi表示更改后的填充值(更改后的参数信息),mi表示多模态信息(获取的信息)(包含当前传感器测量值,适宜值和设备可执行范围等),i是训练数据集每条数据的索引。

进一步,其训练的损失函数为:

其中,loss中的第一项表示标注误差,yij表示第i个训练数据的第j个词的bmo标注,为模型的预测的第i个训练数据的第j个词的bmo结果;loss中的第二项为参数修正误差,ci表示参数是否需要修改,ci=0表示参数不需要修改,ci=1表示参数需要修改;loss中第三项为模型输出的修改值和标签修改值vi的差的平方。

步骤s405a(图中未示出)、基于至少一个目标设备和/或目标功能和/或目标参数信息,控制至少一个目标设备执行相应的操作。

对于本申请实施例,若步骤s403确定出至少一个目标设备和/或设备控制指令对应的目标功能,并且步骤s404输出的目标参数信息,控制至少一个设备执行相应的操作。

步骤s405b(图中未示出)、基于获取的信息和设备控制指令,输出拒绝执行设备控制指令的操作结果。

对于本申请实施例,当通过步骤s403确定无法执行用户输入的设备控制指令时,不执行用户输入的设备控制指令,并可以输出拒绝执行相应操作的指令。

具体地,输出拒绝执行设备控制指令的操作结果,包括:当根据获取的信息确定出满足下述至少之一时,输出拒绝执行设备控制指令的操作结果:

用户不具备针对至少一个目标设备的控制权限;用户不具备针对设备控制指令对应的目标功能的控制权限;至少一个目标设备不具备设备控制指令对应的执行条件;至少一个目标设备的工作环境不具备设备控制指令对应的执行条件。

针对上述条件,输出拒绝执行设备控制指令的操作结果的实例详见实施例一,在此不再赘述。

进一步地,针对实施例三还介绍了一种设备控制系统(以用户通过语音方式输入设备控制指令为例进行介绍),通过采集用户的声音信号,图像信号和环境信号(如室内空气质量等)来最终构成对用户的语义理解并给出语音反馈,并执行相应命令。图16中,系统分为声音处理模块,图像处理模块,环境监测模块,多模态信息处理模块,语音转换模块,语义理解模块,对话管理模块,语音合成模块,执行模块。本申请实施例的主要改进在于多模态信息处理模块和语义理解模块。其中,音频采集装置(麦克风)采集声音信号后,由声音处理模块进行降噪、身份识别,输出降噪处理后的声音信号和身份认证信息;图像采集设备(摄像头)采集人脸图像信息后,由图像处理模块进行人脸提取、人脸识别,输出身份认证信息;传感器采集包括温度湿度等环境信息;由以上图像处理模块、声音处理模块、环境监测模块输出的身份认证信息、环境信息等会经过多模态信息处理模块整合为多模态信息;声音处理模块输出的声音信号会经过语音转换模块转换为文字;该文字和多模态信息共同输入给语义理解模块,语义理解模块输出该语句的领域、意图和标签给对话管理模块和执行模块;对话管理模块会生成回复文字,由语音合成模块合成后回复;由执行模块执行。

基于上述设备控制方法,本申请实施例硬件设备可以有以下多种实现方式:

a,单体式:即以智能音箱、智能电视等智能设备为硬件依托。图像处理模块、声音处理模块、语音转换模块、语义理解模块、对话理解模块、语音合成模块等都在该智能硬件上实现,用户需要对该智能硬件发布指令。

b,分布式:即所有智能设备分别保存自己的ic模型,和公用的dc模型,根据智能设备是否装备麦克和摄像头分别保存图像处理模块、声音处理模块、语音转换模块,设备之间能够互相通信,用户可以对任何设备发布指令。

c通信式:图像处理模块、声音处理模块、语音转换模块、语义理解模块、对话理解模块、语音合成模块等都保存在远端服务器(即云端),用户的智能家居设备通过音频采集设备(麦克风)以及图像采集设备(摄像头)获取声音及图像后,由服务器端进行理解并返回结果。

下面详细介绍tts模块的流程。

本申请实施例中的tts模块可以针对回复文字生成带情感的语音,例如可以得到不同语调、不同语速和/或不同音量的语音,该处理过程可以称为情感tts(emotionaltts)。

本申请实施例可以利用获取到的多模态信息来进行emotionaltts,进一步的,可以利用多模态信息中的用户信息(如用户年龄、性别、身份信息等)来进行emotionaltts。此外,本申请实施例还提出,用户信息除了包含用户画像(例如年龄,性别等)、用户权限(如用户的设备控制权限)等,还可以包含用户的情感信息,下面具体解释如何获取用户的情感信息:

对声音处理模块的处理结果和图像处理模块的处理结果,进行情感识别处理,得到输入用户对应的用户情感信息。得到的用户情感信息可以作为多模态中的用户信息。进行多模态融合处理时也可以将用户情感信息进行融合处理,如图20a所示,具体的,对声音处理模块的处理结果和图像处理模块的处理结果进行情感识别处理后得到用户情感信息;身份认证采用图像处理模块输出的人脸认证信息与用户画像数据库中的每个用户的用户人脸识别模板进行对比认证,确定用户身份;若认证通过,即根据身份认证结果判断为已存在用户,则获取并输出用户画像数据库中该用户的用户画像,包含性别、年龄、用户组等;如果身份认证未通过,即根据身份认证结果判断为新用户,则在用户画像数据库中建立并写入新的用户画像数据,写入由声音处理模块和图像处理模块得到的性别和年龄数据,并输出新建的用户画像数据,包括性别、年龄、用户组等;根据输出的用户画像数据中的用户组在权限数据库中查询相应用户组的用户权限并输出;通过环境监测模块获取环境信息(当前温度、当前气压等),以及从预设的环境数据中得到适宜的环境信息(适宜温度、适宜气压等);将获取的环境信息、用户情感信息、用户权限信息、用户画像数据整合为多模态信息,将该多模态信息输出给多模态nlu模块。

本申请实施例中,可以利用多模态信息中的用户信息(如用户情感信息、用户身份信息、用户年龄信息、用户性别信息等),进行emotionaltts,从而针对不同的用户输出不同情感的语音,或者针对同一用户的不同状态输出不同情感的语音。

本申请实施例提出,可以预先训练emotionaltts的神经网络,然后利用该神经网络进行在线的emotionaltts处理,得到针对不同的用户输出不同情感的语音,或者针对同一用户的不同状态输出不同情感的语音。

如图20b所示,为emotionaltts的神经网络的训练流程示意图,首先将所有文本样本的组合作为网络训练的输入,将文本样本对应的各情感语音样本组合作为网络训练的输出,训练得到emotionaltts的初始的神经网络,该初始的神经网络能够得到比较中性的情感表示,情感信息还不够丰富。然后将文本样本和情感编码作为网络训练的输入,将文本样本对应的各情感语音样本作为网络训练的输出,再次对上述神经网络进行训练,从而能够得到性能较好的神经网络。

更具体的:数据库中存储有文本样本以及对应的情感语音样本,还存储有情感类别的独热编码。在训练神经网络时,先对文本样本进行预处理,提取文本样本的特征,如全标签(fulllabel)特征等,以及对情感语音样本提取对应的音频特征(也可以称为声学特征)。将数据库中的情感类别的独热编码经过编码矩阵处理,可以得到嵌入的情感编码,即图中的“情感编码”。利用情感编码和文本样本的特征,可以得到输入特征,例如可以直接连接得到输入特征。根据得到的输入特征和预处理得到的声学特征,训练双向长短时记忆(bi-directionallongshort-termmemory,bi-lstm)网络,使得其输出的声学特征接近情感语音样本对应的声学特征。

如图20c所示,为emotionaltts的神经网络的线上处理过程示意图,从获得的多模态信息中可以确定出用户期望的回复的情感类别(可以称为期望情感类别,即用户期望收到的设备的回复语音所对应的情感类别),其中,该期望情感类别可以与用户信息相关,例如与用户年龄,性别,用户情感信息等相关,由包含用户信息的多模态信息就可以获取到用户的期望情感类别。由设备的dm模块生成回复文字(即回复文本,也可以简称为文本)后,提取文本的特征,根据文本的特征和用户的期望情感类别对应的情感编码可以获得输入特征(如可以直接将文本的特征和用户的期望情感类别对应的情感编码进行连接从而得到输入特征),将输入特征输入到训练后的bi-lstm网络,bi-lstm网络输出回复文本对应的声学特征,然后由声码器根据声学特征生成回复文本对应的语音(对应图20c中的生成语音)。

本申请实施例的上述tts模块可以针对回复文字生成带情感的语音,例如可以得到不同语调、不同语速和/或不同音量的语音,从而可以提升用户的体验。

以上为本申请实施例提供的设备控制方法的一些具体实现方式,基于此,本申请实施例还提供了一种设备控制装置。接下来,将结合附图,从功能模块化的角度对本申请实施例提供的设备控制装置进行介绍。

本申请实施例提供了一种设备控制装置,如图17所示,该装置1700可以包括:第一获取模块1701、控制模块1702,其中,

第一获取模块1701,用于获取用户输入的设备控制指令以及以下至少一项信息:用户信息;环境信息;设备信息。

控制模块1702,用于基于第一获取模块1701获取的信息和设备控制指令,控制至少一个目标设备执行相应操作。

本申请实施例的另一种可能的实现方式,用户信息包括:用户画像信息和/或用户的设备控制权限信息;和/或,设备信息包括:设备的工作状态信息;和/或,环境信息包括:设备的工作环境信息。

本申请实施例的另一种可能的实现方式,控制模块1702,具体用于基于获取的信息和设备控制指令,输出拒绝执行设备控制指令的操作结果。

本申请实施例的另一种可能的实现方式,控制模块1702,具体用于当根据获取的信息确定出满足下述至少之一时,输出拒绝执行设备控制指令的操作结果:

用户不具备针对至少一个目标设备的控制权限;用户不具备针对设备控制指令对应的目标功能的控制权限;至少一个目标设备不满足设备控制指令对应的执行条件;至少一个目标设备的工作环境不满足设备控制指令对应的执行条件。

本申请实施例的另一种可能的实现方式,控制模块包括:第一确定单元以及控制单元,其中,

第一确定单元,用于基于获取的信息和设备控制指令,确定设备控制指令对应的至少一个目标设备和/或设备控制指令对应的目标功能;

控制单元,具体用于基于第一确定单元确定的至少一个目标设备和/或目标功能,控制至少一个目标设备执行相应操作。

本申请实施例的另一种可能的实现方式,第一确定单元,具体用于基于获取的信息以及设备控制指令,进行领域分类处理,得到各设备的执行概率,当各设备的执行概率均小于第一预设阈值时,输出拒绝执行设备控制指令的操作结果,否则基于各设备的执行概率确定设备控制指令对应的至少一个目标设备。

本申请实施例的另一种可能的实现方式,第一确定单元,具体用于基于获取的信息以及设备控制指令,进行意图分类处理,确定各控制功能的执行概率,当各控制功能的执行概率均小于第二预设阈值时,输出拒绝执行设备控制指令的操作结果,否则基于各控制功能的执行概率确定设备控制指令对应的目标功能。

本申请实施例的另一种可能的实现方式,控制模块1702,具体用于基于获取的信息,控制至少一个目标设备按照目标参数信息执行相应操作。

其中,目标参数为对设备控制指令中的参数信息进行更改后的参数信息。

本申请实施例的另一种可能的实现方式,控制模块1702,具体还用于当满足下述至少之一时,控制至少一个目标设备按照目标参数信息执行相应操作:

设备控制指令中不包含参数值;

设备控制指令中包含的参数值不属于由获取的信息确定出的参数值范围中的参数值。

本申请实施例的另一种可能的实现方式,控制模块1702包括:序列标注处理单元、第二确定单元以及第三确定单元,其中,

序列标注处理单元,用于对设备控制指令进行序列标注处理,得到设备控制指令中的参数信息;

第二确定单元,用于基于设备控制指令中的参数信息以及获取的信息,确定是否更改设备控制指令中的参数信息;

第三确定单元,用于当第二确定单元确定更改设备控制指令中的参数信息时,基于设备控制指令中的参数信息以及获取的信息,确定出更改后的目标参数信息。

对于本申请实施例,第一确定单元、第二确定单元以及第三确定单元可以均为同一个单元、也可以均为不同的单元,还可以任意两个为相同的单元。在本申请实施例中不做限定。

本申请实施例的另一种可能的实现方式,第二确定单元,具体用于基于设备控制指令中的参数信息以及获取的信息,通过逻辑回归处理处理,得到逻辑回归结果,并基于逻辑回归结果确定是否更改设备控制指令中的参数信息;和/或,

第三确定单元,具体用于基于设备控制指令中的参数信息以及获取的信息,通过线性回归处理,得到线性回归结果,并基于线性回归结果确定更改后的参数信息。

本申请实施例的另一种可能的实现方式,该装置1700还包括:第二获取模块以及训练模块,其中,

第二获取模块,用于获取多个训练数据;

对于本申请实施例,第一获取模块以及第二获取模块可以为同一个获取模块,还可以为不同的获取模块。在本申请实施例中不做限定。

训练模块,用于基于第二获取模块获取的训练数据,并通过目标损失函数,训练对设备控制指令中的参数信息进行更改的处理模型。

其中,任一训练数据包括以下信息:

设备控制指令;设备控制指令中的参数信息;设备控制指令中参数是否更改的指示信息;更改后的参数信息;用户信息;环境信息;设备信息。

本申请实施例的另一种可能的实现方式,该装置1700还包括:第一确定模块;

第一确定模块,用于确定目标损失函数;

其中,第一确定模块包括:第四确定单元、第五确定单元、第六确定单元以及第七确定单元,其中,

第四确定单元,用于基于各个训练数据中的设备控制指令中的参数信息、以及模型的预测的设备控制指令中的参数信息,确定第一损失函数;

第五确定单元,用于基于各个训练数据中的设备指令中参数是否更改的指示信息,以及模型预测的是否更改的指示信息,确定第二损失函数;

第六确定单元,用于基于各个训练数据中的更改后的参数信息以及模型预测出的更改后的参数信息,确定第三损失函数;

第七确定单元,用于基于第四确定单元确定的第一损失函数、第五确定单元确定的第二损失函数以及第六确定单元确定的第三损失函数,确定目标损失函数。

对于本申请实施例,第四确定单元、第五确定单元、第六确定单元以及第七确定单元可以均为同一确定单元、可以均为不同的确定单元,还可以任意两个为相同的确定单元,也可以任意三个为相同的确定单元等各种情况。在本申请实施例中不做限定。

本申请实施例的另一种可能的实现方式,该装置1700还包括:转换模块、第二确定模块,其中,

转换模块,用于将获取的信息中的离散信息,转换为连续稠密向量;

第二确定模块,用于根据转换模块转换后的连续稠密向量以及获取的信息中的连续信息,确定获取的信息对应的信息表示向量;

对于本申请实施例,第一确定模块与第二确定模块可以为同一个确定模块,还可以为不同的确定模块。在本申请实施例中不做限定。

控制模块1702,具体用于基于第二确定模块确定出的获取的信息对应的信息表示向量和设备控制指令,控制至少一个目标设备执行操作。

本申请实施例提供了一种设备控制装置,通过获取用户信息、环境信息与设备信息中的至少一项信息以及用户输入的设备控制指令,能够基于获取的信息和设备控制指令,控制至少一个目标设备执行相应操作,由上可见,相比于现有技术只根据用户输入的控制指令来进行设备控制的方法,本申请实施例在进行设备控制时,除了考虑用户输入的控制指令,还考虑到用户信息、设备信息、环境信息等至少一项可能影响设备运行的因素,从而可以更安全、更灵活的控制设备运行。例如,获取用户输入的语音、文本、按键、手势等方式的设备控制指令,并考虑到用户信息、设备信息以及环境信息中的至少一项,直接控制空调设备开启、关闭或者调节温度等操作,从而可以实现安全、便捷地控制智能设备执行相应的操作。

本申请实施例提供的设备控制的装置适用于上述方法实施例,在此不再赘述。

上面从功能模块化的角度对本申请实施例提供的设备控制装置进行介绍,接下来,将从硬件实体化的角度对本申请实施例提供的电子设备进行介绍,并同时对电子设备的计算系统进行介绍。

本申请实施例提供了一种电子设备,适用于上述方法实施例,如图18所示,包括:处理器1801;以及存储器1802,配置用于存储机器可读指令,上述指令在由上述处理器1801执行时,使得上述处理器1801执行上述设备控制方法。

图19示意性示出了根据本申请实施例的可用于实现本申请的电子设备的计算系统的框图。如图19所示,计算系统1900包括处理器1910、计算机可读存储介质1920、输出接口1930、以及输入接口1940。该计算系统1900可以执行上面参考图1描述的方法,以实现基于用户输入的设备控制指令,控制至少一个目标设备执行相应的操作。具体地,处理器1910例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器1910还可以包括用于缓存用途的板载存储器。处理器1910可以是用于执行参考图1描述的方法流程的不同动作的单一处理单元或者是多个处理单元。

计算机可读存储介质1920,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;和/或有线/无线通信链路。

计算机可读存储介质1920可以包括计算机程序1921,该计算机程序1921可以包括代码/计算机可执行指令,其在由处理器1910执行时使得处理器1910执行例如上面结合图1所描述的方法流程及其任何变形。计算机程序1921可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序1921中的代码可以包括一个或多个程序模块,例如包括1921a、模块1921b、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器1910执行时,使得处理器1910可以执行例如上面结合图1所描述的方法流程及其任何变形。

根据本公开的实施例,处理器1910可以使用输出接口1930和输入接口1940来执行上面结合图1所描述的方法流程及其任何变形。

本申请实施例提供了一种电子设备,通过获取用户信息、环境信息与设备信息中的至少一项信息以及用户输入的设备控制指令,能够基于获取的信息和设备控制指令,控制至少一个目标设备执行相应操作,由上可见,相比于现有技术只根据用户输入的控制指令来进行设备控制的方法,本申请实施例在进行设备控制时,除了考虑用户输入的控制指令,还考虑到用户信息、设备信息、环境信息等至少一项可能影响设备运行的因素,从而可以更安全、更灵活的控制设备运行。例如,获取用户输入的语音、文本、按键、手势等方式的设备控制指令,并考虑到用户信息、设备信息以及环境信息中的至少一项,直接控制空调设备开启、关闭或者调节温度等操作,从而可以实现安全、便捷地控制智能设备执行相应的操作。

本申请实施例提供的电子设备以及电子设备的计算系统适用于上述方法实施例,在此不再赘述。

对于本申请实施例,各个实施例中关于相同或者相似的术语的解释可以相互借鉴,例如,实施例三中确定用户设备指令中的参数信息是否修改和/或修改后的参数信息的方式,可以参考实施例二中“基于设备控制指令中的参数信息以及获取的信息,通过拟合预测函数得到预测结果,该预设结果可以包括:是否更改设备控制指令中的参数信息以及更改后的参数信息中的至少一项。预测函数可以取多种形式,具体地,拟合预测函数可以为线性函数,当拟合预测函数为线性函数时,进行线性回归处理,得到线性回归结果;拟合预测函数还可以为指数函数,当拟合预测函数为指数函数时,进行逻辑回归,得到逻辑回归结果;进一步地,拟合预测函数还可以为多项式函数,当拟合预测函数为多项式函数时,进行类似线性回归处理,得到类似线性回归结果。在本申请实施例中,预测函数还可以包括其它函数,在此并不做限定。”。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

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

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