用于对IoT设备执行动作的设备、方法及计算机程序

文档序号:154821 发布日期:2021-10-26 浏览:26次 >En<

阅读说明:本技术 用于对IoT设备执行动作的设备、方法及计算机程序 (Device, method, and computer program for performing actions on IoT devices ) 是由 西巴·普拉萨德·萨马勒 尼兰詹·B·帕蒂尔 拉维·南宗达帕 奥姆·普拉卡什 马赫沙·N 安 于 2021-04-06 设计创作,主要内容包括:公开了一种用于对IoT设备执行动作的方法及设备。根据一个实施例,通过电子设备执行的所述方法,包括:获得来自用户的至少一个输入;响应于与获得的输入相对应的预定义动作不能够识别的响应,向服务器发送所述获得的输入;接收与基于所述获得的输入和至少一个对象或上下文所识别的映射到至少一个IoT设备上的至少一个活动有关的信息,其中,所述对象或所述上下文中的至少一个在所述服务器处基于所述获得的输入和所述用户的特征信息进行识别;基于所述获得的输入和映射到所述至少一个IoT设备上的所述至少一个活动之间的相关性,识别要对至少一个IoT设备中的IoT设备对执行的动作;以及向所述IoT设备发送用于执行所识别的动作的指令。(A method and apparatus for performing actions on IoT devices are disclosed. According to one embodiment, the method performed by an electronic device, comprises: obtaining at least one input from a user; sending the obtained input to a server in response to a response that a predefined action corresponding to the obtained input is not recognizable; receiving information related to at least one activity mapped onto at least one IoT device identified based on the obtained input and at least one object or context, wherein at least one of the object or the context is identified at the server based on the obtained input and the characteristic information of the user; identifying an action to be performed on an IoT device pair of at least one IoT device based on a correlation between the obtained input and the at least one activity mapped onto the at least one IoT device; and send instructions to the IoT device to perform the identified action.)

用于对IoT设备执行动作的设备、方法及计算机程序

相关申请的交叉引用

本申请基于2020年4月6日在印度专利局提交的印度专利申请No.202041015159并且要求其优先权,其公开内容通过引用整体并入本文。

技术领域

本公开涉及电子设备的领域,具体涉及用于基于使用用户的输入来对IoT设备执行动作的设备、方法和计算机程序。

背景技术

随着技术的进步,诸如智能电话、电视之类的各种电子设备设置有可以通过语音命令访问的语音辅助功能。如今,用户更倾向于在办公室场所、智能家居环境和其他类似的位置中使用这样的语音辅助设备。这样的语音辅助设备通常可以基于来自一个或多个用户的语音命令来执行任务。然而,当前的语音辅助设备仅支持用于执行环境中的特定动作的预先定义的命令集合。例如,如果用户不能提供预先定义的命令集合中的命令,那么语音辅助设备就可能不能识别这些命令并且指示用户重说命令。这对于用户可能是很麻烦的任务,并且可以导致用户记住预先定义的命令集合中的每一个的认知负荷上的增加。

发明内容

一个方面是为了至少处理上述问题和/或缺点,以及至少提供以下描述的优点。

提供了本发明内容以便以简化的形式介绍一些概念,这些概念将在实施例的具体描述中进一步描述。本发明内容即不旨在标识实施例的关键或重要发明构思,也不旨在用于确定实施例的范围。

根据本公开的实施例,一种用于通过电子设备控制物联网(IoT)设备以执行动作的方法,包括:获得来自用户的至少一个输入;基于与获得的至少一个输入相对应的预定义动作不能够识别的响应,向服务器发送获得的至少一个输入;从服务器接收与基于发送的至少一个输入所识别的并、映射到至少一个IoT设备的至少一个活动有关的信息、和以及与至少一个对象和/或至少一个上下文有关的信息,其中,至少一个对象和/或至少一个上下文中的至少一个是在服务器处基于获得的至少一个输入和用户的特征信息而识别的;基于获得的至少一个输入与映射到至少一个IoT设备的至少一个活动之间的相关性,识别要对至少一个IoT设备中的IoT设备执行的动作;以及向至少一个IoT设备中的IoT设备发送用于执行所识别的动作的指令。

接收信息可以包括:从服务器接收与用于映射到至少一个IoT设备的至少一个活动的至少一个候选动作有关的概率信息,并且概率信息指示至少一个候选动作中的每一个与获得的至少一个输入相对应的可能性。

方法还可以包括:识别在获得至少一个输入之后执行的用户动作;以及获得指示识别的用户动作中的每一个与获得的至少一个输入之间的相似度的相似度信息,其中,识别动作包括,基于获得的相似度信息和接收到的概率信息来识别要对至少一个IoT设备中的IoT设备执行的动作。

获得相似度信息包括:基于获得至少一个的输入将识别的用户动作分类为预先确定的类别;以及基于用户动作的经所分类的类别,获得用户动作中的每一个的相似度分数,作为相似度信息。

可以在服务器处,基于多个预先训练的回归函数中的任一个或任何组合对至少一个活动和至少一个IoT设备进行映射,并且每一个多个预先训练的回归函数中的每一个是根据具体活动和具体IoT设备而识别的。

方法还可以包括:基于映射到获得的至少一个输入的所识别的动作,执行更新数据库的更新;以及基于在数据库的被更新之后接收到与获得的至少一个输入相对应的其他输入,向至少一个IoT设备中的IoT设备发送用于执行所识别的动作的指令。

根据本公开的实施例,一种用于通过服务器控制物联网(IoT)设备以执行动作的方法,包括:响应于与来自电子设备的用户的至少一个输入相对应的预定义动作在电子设备处不可识别,接收至少一个输入;基于用户的特征信息和至少一个输入,识别对象或上下文中的至少一个;基于至少一个输入和对象或上下文中的至少一个,识别映射到至少一个IoT设备的至少一个活动;以及发送与映射到至少一个IoT设备的至少一个活动有关的信息,其中,在电子设备处,基于至少一个输入和映射到至少一个IoT设备的至少一个活动之间的相关性,识别要对至少一个IoT设备中的IoT设备执行的动作。

根据本公开的实施例,一种用于控制物联网(IoT)设备以执行动作的电子设备,包括:存储器,存储一个或多个指令;通信接口;以及处理器,被配置为执行存储在存储器中的一个或多个指令以执行:获得来自用户的至少一个输入;基于与获得的至少一个输入相对应的预定义动作不能够识别,经由通信接口向服务器发送获得的至少一个输入,从服务器经由通信接口接收与基于发送的至少一个输入而所识别的并、映射到至少一个IoT设备的至少一个活动有关的信息、以及与至少一个对象和/或至少一个上下文有关的信息,其中,至少一个对象和/或至少一个上下文中的至少一个是在服务器处基于获得的至少一个输入和用户的特征信息而识别的;基于获得的至少一个输入与映射到至少一个IoT设备的至少一个活动之间的相关性,识别要对至少一个IoT设备中的IoT设备执行的动作;以及获得的输入经由通信接口向至少一个IoT设备中的IoT设备发送用于执行所识别的动作的指令。

根据本公开的实施例,一种用于控制物联网(IoT)设备以执行动作的服务器,包括:存储器,存储一个或多个指令;通信接口;以及处理器,被配置为执行存储在存储器中的一个或多个指令以执行:基于与来自电子设备的用户的至少一个输入相对应的预定义动作在电子设备处不能够识别,经由通信接口从电子设备接收用户的至少一个输入;基于用户的特征信息和/或接收到的至少一个输入,识别至少一个对象和/或至少一个上下文中的至少一个;基于接收到的至少一个输入、和识别的至少一个对象和/或识别的至少一个上下文中的至少一个,识别映射到至少一个IoT设备的至少一个活动,以及经由通信接口向电子设备发送与映射到至少一个IoT设备的识别的至少一个活动有关的信息、和以及与识别的至少一个对象和/或识别的至少一个上下文中的至少一个有关的信息,其中,在电子设备处,基于至少一个输入与映射到至少一个IoT设备的至少一个活动之间的相关性,识别要对至少一个IoT设备中的IoT设备执行的动作。

为了进一步阐明实施例的优点和特征,将通过参考在附图中示出的其特定的实施例来进行更具体的描述。可以认识到,这些附图仅描绘了典型实施例,因此不能被认为是限制其范围。将以附加的特征和细节以及附图来描述和解释实施例。

附图说明

当结合附图阅读以下具体描述时,实施例的这些和其他特征、方面和优点将变得更好理解,在全部附图中相似的附图标记表示相似的部分,其中:

图1是用于描述根据本公开的实施例的系统的环境的图,系统与与其交互的多个设备通信;

图2是根据本公开的实施例的用于对多个设备中的至少一个设备执行动作的系统的框图;

图3A是用于描述根据本公开的实施例的基于用户的输入识别要对至少一个设备执行的动作的方法的框图;

图3B是根据本公开的实施例的用于详细描述识别活动的方法的框图;

图3C是根据本公开的另一实施例的用于描述基于用户的输入识别要对至少一个设备执行的动作的方法的框图;

图3D是用于描述根据本公开的实施例的用于控制至少一个设备执行动作的服务器、电子设备和至少一个设备之间的数据流的框图;

图4是用于描述描绘根据本公开的实施例的用于对多个设备中的至少一个设备执行动作的系统的实现的示例性环境的图;

图5是用于描述描绘根据本公开的另一实施例的用于对多个设备中的至少一个设备执行动作的系统的实现的示例性环境的图;

图6是用于描述根据本公开的实施例的对IoT设备执行动作的方法的流程图;以及

图7是用于描述根据本公开的另一实施例的对IoT设备执行动作的方法的流程图;

图8是用于描述根据本公开的实施例的通过电子设备基于从用户接收的至少一个输入来控制至少一个IoT设备的方法的流程图;

图9是用于描述根据本公开的实施例的由电子设备和服务器基于从用户接收的至少一个输入来控制至少一个IoT设备的方法的流程图;

图10是示出根据本公开实施例的电子设备的图;以及

图11是示出根据本公开的实施例的服务器设备的图。

此外,本领域技术人员将认识到,为了简洁起见示出了附图中的要素,并且附图中的要素可不必按比例绘制。例如,流程图根据所涉及的有助于改进对本公开的各方面的理解的最显著的步骤示出了所述方法。此外,就设备的构造而言,设备的一个或多个组件可能已经通过常规符号在附图中表示,并且附图可以仅示出与理解本公开的实施例有关的那些具体细节,以便不会因为受益于本文的描述对本领域的普通技术人员来说显而易见的细节而模糊了附图。

具体实施方式

出于促进理解实施例的原理的目的,现在将参考附图中示出的实施例,并且将使用具体语言来描述所述实施例。然而,应当理解的是,实施例的范围并不限于此,所示系统中的这种改变和进一步修改以及其中所示的本发明的原理的进一步应用对于本发明所涉及的领域的普通技术人员而言将是显而易见的。除非另外定义,否则本文使用的所有技术和科学术语具有与本公开所属领域的普通技术人员通常所理解的含义相同的含义。本文提供的系统、方法和示例仅是说明性的而不是限制性的。

应注意,对于可能的范围,在附图中,已经将相似的附图标记用于表示相似的要素。此外,本领域技术人员将认识到,为了简洁起见示出了附图中的要素,并且附图中的要素可不必按比例绘制。例如,附图中的要素中的一些的尺寸可以相对于其他要素被放大,以帮助改善对实施例的各方面的理解。此外,一个或多个要素可能已经通过各个符号在附图中表示,并且附图可以仅示出与理解本公开的实施例有关的那些具体细节,以便不会因为受益于本文的描述对本领域的普通技术人员来说显而易见的细节而模糊了附图。

以下描述和权利要求中使用的术语和词语不限于字面含义,而是仅由发明人用来实现对本公开的清楚一致的理解。因此,对于本领域技术人员来说应当清楚明白的是,提供本公开的各种实施例的以下描述以仅用于说明的目的,而不是用于限制由所附权利要求及其等同物限定的本公开的目的。

应当理解的是,除非上下文中另有清楚指示,否则单数形式“一”、“一个”和“该”包括复数引用。因此,例如,对“组件表面”的引用包括对这样的一个或多个表面的引用。此外,当诸如“至少一个”之类的表述位于要素的列表之前时,修饰整个要素的列表而不修饰列表的各个要素。例如,表述“a、b和c中的至少一个”可以被理解为仅包括a、仅包括b、仅包括c、包括a和b两者、包括a和c两者、包括b和c两者或包括全部a、b和c。

术语“包括”和“包含”及其派生词意味着在没有限制的情况下的包括。术语“或”是包括性的,意味着和/或。短语“关联于”和“与之关联”以及其衍生词可以表示包括、被包括在其中、与之互连、包含、被包含在其中、被连接至或与之连接、被耦接至或与之耦接、可与之通信、与之配合、交错、并置、接近于、被绑定至或与之绑定、具有、具有一种性质等。

此外,下文所描述的各种功能可以由一个或多个计算机程序实现或支持,每个计算机程序可以由计算机可读程序代码形成并被实施在计算机可读介质中。术语“应用”和“程序”是指一个或多个计算机程序、软件组件、指令集、过程、函数、对象、类、实例、相关数据或其适于在适当的计算机可读程序代码中实现的部分。短语“计算机可读程序代码”包括任意类型的计算机代码,包括源代码、对象代码和可执行代码。短语“计算机可读介质”包括能够由计算机访问的任意类型的介质,例如只读存储器(ROM)、随机存取存储器(RAM)、硬盘驱动器、高密度盘(CD)、数字视频盘(DVD)或任意其他类型的存储器。“非暂时性”计算机可读介质排除了传输暂时性电信号或其他信号的有线、无线、光学或其他通信链路。非暂时性计算机可读介质包括可以永久存储数据的介质和可以存储数据且随后可以被重写的介质,例如可重写的光盘或可擦除的存储器设备。

术语“单元”、“管理器”、“引擎”或“设备”可以指处理至少一个功能或操作的单元,并且可以通过硬件、软件或硬件和软件的组合来实现。以下将参考附图详细地描述本公开的实施例。

图1是根据本公开的实施例的用于描述与与系统100交互的多个设备102通信的系统100的环境的图。

参考图1,系统100可以通过网络104与多个设备102通信。系统100可以被配置为基于从用户U接收的至少一个输入对多个设备102执行动作。所述至少一个输入可以包括话语或手势中的至少一个。在实施例中,多个设备102可以可互换地被称为启用物联网(IoT)的设备102-1、102-2、102-3、102-4、…、102-N。

在不背离本公开的范围的情况下,IoT设备102-1、102-2、102-3、102-4、…、102-N可以被统称为IoT设备102。此外,在不背离本公开的范围的情况下,IoT设备102可以被单独地称为IoT设备102-1、IoT设备102-2、IoT设备102-3、IoT设备102-4、…以及IoT设备102-N。在一个实施例中,在不背离本公开的范围的情况下,IoT设备102可以被单独地称为IoT设备102。

在一个实施例中,IoT设备102可以包括但不限于可以被连接到网络104的物理设备、车辆、家电和任何其他电子物品。例如,对于家电,IoT设备102可以包括但不限于空调(AC)、冰箱、音响系统、电视、蜂窝设备、微波炉、通信设备和洗衣机。

IoT设备102可以通过网络104与系统100进行交互。网络104可以是有线网络或无线网络。网络104可以包括但不限于移动网络、宽带网络、广域网(WAN)、局域网(LAN)和个域网。

在一个实施例中,系统100可以包括至少一个电子设备,例如,电子设备106或通过网络104与电子设备106通信的服务器108。在这样的实施例中,电子设备106可以被配置为从用户U接收至少一个输入,以对IoT设备102中的至少一个IoT设备执行至少一个动作。电子设备106可以被配置为确定是否可获得与所述至少一个输入相对应的至少一个预定义动作。如果可获得与所述至少一个输入相对应的所述至少一个预定义动作,则电子设备106可以执行所述至少一个预定义动作。相反,如果不可获得所述至少一个预定义动作,则系统100可以在接收所述至少一个输入之后,识别由用户U在与IoT设备102有关的环境中执行的动作的集合。

在另一实施例中,系统100可以仅包括:用于基于从用户U接收的至少一个输入对IoT设备102执行动作的电子设备106。在这样的实施例中,电子设备106可以被配置为执行在本公开的后续部分中详细说明的服务器108的功能。

本公开针对包括用于对IoT设备102执行动作的电子设备106和服务器108的系统100进行说明。然而,本领域技术人员可以认识到其不可被视为限制,并且本公开可同样适用于仅包括电子设备106的系统100,而不背离本公开的范围。在本公开的后续部分中详细说明了系统100的构造细节和操作细节。

图2是根据本公开的实施例的用于对多个设备102中的至少一个设备执行动作的系统100的框图。

如之前说明的,系统100包括电子设备106和通过网络104与电子设备106通信的服务器108。在实施例中,电子设备106和服务器108可以分别包括处理器202-1和处理器202-2。处理器202-1和处理器202-2可以被统称为处理器202。处理器202可以是单处理单元或许多单元,它们中的全部都可以包括多计算单元。处理器202可以实现为一个或多个微处理器、微计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。

可以通过使用专用硬件以及能够执行与适当的软件相关联的软件的硬件来提供附图中示出的包括被标记为“处理器”的任意功能块的各个要素的功能。当由处理器来提供时,这些功能可以由单个专用处理器、单个共享处理器、或多个单独的处理器来提供,所述多个单独的处理器中的一些可以是共享的。

此外,电子设备106和服务器108可以分别包括存储器204-1和存储器204-2。存储器204-1和存储器204-2可以统称为存储器204。存储器204-1和存储器204-2可以分别被耦接到处理器202-1和处理器202-2。存储器204可以包括本领域已知的任何非暂时性计算机可读介质,例如,易失性存储器如静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)和/或非易失性存储器如只读存储器(ROM)、可擦除可编程ROM、闪存、硬盘、光盘和磁带。

电子设备106和服务器108可以分别包括模块206-1和模块206-2。模块206-1和模块206-2可以被统称为模块206。此外,电子设备106和服务器108可以分别包括数据208-1和数据208-2,在下文中被统称为数据208。模块206-1和模块206-2可以分别被耦接到处理器202-1和处理器202-2。模块206等包括执行特定任务或实现数据类型的例程、程序、对象、组件、数据结构等。模块206也可以被实现为信号处理器、状态机、逻辑电路和/或基于操作指令操纵信号的任何其他设备或组件。

此外,模块206可以以硬件、由至少一个处理单元(例如,处理器202)执行的指令或通过其组合来实现。处理单元可以包括计算机、处理器、状态机、逻辑阵列和/或能够处理指令的任何其他合适的设备。处理单元可以是通用处理器,其执行指令以使通用处理器执行操作,或者处理单元可以专用于执行所需要的功能。在一些示例实施例中,模块206可以是机器可读指令(软件,例如web应用、移动应用、程序等),当其由处理器/处理单元执行时,执行所描述的功能中的任一个。

在一个实现中,电子设备106的模块206-1可以包括语音识别模块209、通信模块210、交互监测模块212、事件分类模块214、动作映射模块216、条件提取器模块217和学习模块218,但这仅是示例,并且电子设备106的要素不限于此。语音识别模块209、通信模块210、交互监测模块212、事件分类模块214、动作映射模块216、条件提取器模块217和学习模块218彼此通信。数据208-1用作用于存储由一个或多个模块206-1处理、接收和生成的数据的存储库等。

类似地,在一个实现中,服务器108的模块206-2可以包括语音识别模块220、上下文确定模块222、设备识别模块224、活动识别模块226、回归模块228、特征提取模块230和训练模块232,但这仅是示例,并且电子设备106的要素不限于此。语音识别模块220、上下文确定模块222、设备识别模块224、活动识别模块226、回归模块228、特征提取模块230和训练模块232彼此通信。数据208-2用作用于存储由一个或多个模块206-2处理、接收和生成的数据的存储库等。

在本公开的一个实施例中,模块206-1和模块206-2可以分别被实现为处理器202-1和处理器202-2的一部分。在本公开的另一实施例中,模块206-1和模块206-2可以分别在处理器202-1和处理器202-2的外部。在本公开的又一实施例中,模块206-1和模块206-2可以分别是存储器204-1和存储器204-2的一部分。在本公开的另一实施例中,模块206-1和模块206-2可以分别是与处理器202-1和处理器202-1分离的硬件的一部分。

在一个实施例中,电子设备106可以被配置为从用户获得至少一个输入。如之前提到的,至少一个输入可以体现为话语或手势中的一种。在本实施例中,至少一个输入可以可互换地被称为话语。此外,话语可以可互换地被称为语音输入,而不背离本公开的范围。此外,语音输入可以与指示要对IoT设备102中的至少一个IoT设备执行的想要的动作的在下文中被称为语音命令的命令相关联。语音识别模块209可以接收来自用户的语音输入。语音识别模块209可以体现为自动语音识别(ASR)、计算机语音识别(CSR)和语音到文本(STT)中的一种,但这仅是示例,并且语音识别模块209不限于此。语音识别模块209可以被配置为执行各种语音处理技术,包括但不限于与已接收的语音输入有关的自然语言处理(NLP)和自然语言理解(NLU),而不背离本公开的范围。

首先,在获得语音输入时,电子设备106可以确定是否可获得与用户的语音输入相对应的预定义动作。例如,电子设备106可以识别多个预定义动作中的一个是否与已接收的语音输入相对应。如果可获得预定义动作,那么电子设备106可以向用于执行预定义动作的至少一个IoT设备发送指令。然而,如果不可获得预定义动作,那么电子设备106可以向服务器108发送语音输入用于进一步处理。具体地,语音识别模块209可以向通信模块210发送语音输入。接着,通信模块210可以向服务器108发送语音输入用于进一步处理。

图3A是用于描述根据本公开的实施例的基于用户的输入识别要对至少一个设备执行动作的方法的框图。

参考图2和图3A,服务器108可以被配置为从电子设备106接收语音输入。语音识别模块220可以被配置为从电子设备106接收语音输入。在一个实施例中,语音识别模块220可以包括自动语音识别(ASR)、计算机语音识别(CSR)和语音到文本(STT)中的一种。语音识别模块220可以被配置为执行各种语音处理技术,包括但不限于与已接收的语音输入有关的自然语言处理(NLP)和自然语言理解(NLU),而不背离本公开的范围。在一个实施例中,服务器108可以被配置为接收:包括但不限于与IoT设备102相关联的状态的元数据。

服务器108可以被配置为识别与语音输入相关联的至少一个对象或上下文。在一个实施例中,上下文确定模块222可以从语音识别模块接收与用户的语音输入相关联的语音命令。上下文确定模块222可以被配置为识别与语音输入相关联的语音命令中的至少一个对象或上下文。例如,如果语音输入是“制备面条”,那么上下文确定模块222将对象确定为“面条”并且将上下文确定为“制备食品”。在另一实例中,如果语音输入是“我想看当前的新闻”,那么上下文确定模块222将对象确定为“当前的新闻”并且将上下文确定为“观看视频内容”。

参考图3A,上下文确定模块222可以包括命令增强模块302和命令分叉模块304。命令增强模块302可以被配置为通过使用包括但不限于知识图形和DB-Pedia在内的外部数据库来增强语音命令。具体地,命令增强模块302可以基于语音输入的已识别的对象和已识别的上下文,增强与语音命令相关联的词汇,以生成经增强的语音命令。例如,命令增强模块302可以通过基于语音输入的已识别的对象和已识别的上下文将有关的关键词包括在语音命令中,增强语音命令。

例如,命令增强模块302可以增强与语音输入(即“制备面条”)相关联的语音命令。在这样的示例中,命令增强模块302可以通过包括有关的关键词(例如,制作、阅读、消费和烹饪),增强语音命令。类似地,命令增强模块302可以通过包括有关的关键词(例如,与面条相关联的品牌名称)来增强语音命令。

上下文确定模块222可以被配置为确定与用户相关联的特征的集合。在一个实施例中,特征的集合包括与用户相关联的活动特征和上下文特征。例如,上下文特征可以包括但不限于用户的位置、用户日常事务、和用户附近的IoT设备的状态。活动特征可以包括但不限于由用户执行的活动的类型。

例如,用户在与一个IoT设备(例如,位于厨房中的“微波炉”)交互的同时提供语音输入(例如,“制备面条”)。在这样的实例中,上下文确定模块222可以将用户的位置确定为“厨房”。此外,基于位于厨房中的IoT设备的状态,上下文确定模块222可以将活动的类型确定为由用户正在执行的“烹饪制备”。

在另一实例中,用户在与一个IoT设备(例如,位于客厅的“电视”)交互的同时提供语音输入(例如,“制备面条”)。在这样的实例中,上下文确定模块222可以将用户的位置确定为“客厅”。此外,基于位于客厅中的IoT设备的状态,上下文确定模块222可以将活动的类型确定为由用户正在执行的“观看”。

此外,上下文确定模块的命令分叉模块304可以与命令增强模块302通信。命令分叉模块304可以从命令增强模块302接收经增强的语音命令。命令分叉模块304可以被配置为,基于特征的集合将已识别的对象和上下文中的每一个归类到多个类别。多个类别中的每一个可以指示对象的类型和动作的类型。

在实施例中,命令分叉模块304可以被配置为从命令增强模块302接收经增强的语音命令。在接收到经增强的语音命令时,命令分叉模块304可以将已识别的对象和上下文中的每一个归类到多个类别。在实现中,命令分叉模块304可以基于特征的集合将已识别的对象和上下文中的每一个归类到多个类别。

在本公开中,与语音输入相关联的经归类的对象和经归类的上下文可以被统称为经处理的语音命令,而不背离本公开的范围。

例如,从用户接收的语音输入是“制备面条”。在这样的实例中,命令分叉模块304可以将已识别的对象(即面条)归类到一个类别(例如,“食品”)中。类似地,命令分叉模块304可以将已识别的上下文(即制备)归类到一个类别(例如,“尝试烹饪”)中。

例如,命令增强模块302可以增强语音命令,例如,“制备美味面条”。此外,命令分叉模块304可以接收经增强的语音命令。在这样的实例中,命令分叉模块304可以将已识别的对象(即“面条”)归类到一个类别(例如,“食品”)中。此外,命令分叉模块304可以将对象(即“美味”)归类到一个类别(例如,“品牌名称”)中。此外,命令分叉模块304可以将上下文(即“制备食品”)归类到一个类别(例如,“尝试烹饪”和“尝试订购”)中。

参考图3A,设备识别模块224可以被配置为从上下文确定模块222接收经处理的语音命令。设备识别模块224可以被配置为:基于与语音输入相关联的经归类的对象和经归类的上下文,从IoT设备102中识别IoT设备的列表。此外,设备识别模块224可以被配置为:对已列出的IoT设备中的每一个分配概率分数。概率分数可以指示:对应的IoT设备可操作地用于执行与语音输入相关联的至少一个动作的可能性。

在一个实施例中,设备识别模块224可以包括分类数据模型306。分类数据模型306可以由使用训练数据、经学习的数据和实时数据的训练模块232进行训练。训练数据可以包括但不限于:与关于由用户说出的与这些IoT设备相对应的过去的语音输入的多个IoT设备之间的相关性相关联的数据。分类数据模型306可以处理数据(即经归类的对象和经归类的上下文),以从IoT设备102中识别IoT设备的列表。

此外,分类数据模型306可以对已列出的IoT设备中的每一个分配概

率分数。在本公开中,IoT设备的列表和对应的概率分数可以被统称为设备识别数据,而不背离本公开的范围。

表1示出了根据本公开的实施例的IoT设备的列表和对应的概率分数。本领域技术人员可以认识到:包括表1以提供对本公开的更好的理解,因此不可被解释为限制。

表1

设备 概率分数
设备102-1 0.335
设备102-2 0.297
设备102-3 0.134
设备102-N 0.211

例如,参考表1,设备102-1、设备102-2和设备102-3可以分别被实现为“微波炉”、“冰箱”和“电视”。在这样的示例中,第一设备102-1(即“微波炉”)的概率分数指示第一设备102-1针对从用户接收的语音输入进行操作的最高的可能性。类似地,第三设备102-3(即“电视”)的概率分数指示第三设备102-3针对所述语音输入进行操作的最低的可能性。

如之前提到的,活动识别模块226可以与上下文确定模块222和设备识别模块224通信。活动识别模块226可以被配置为从设备识别模块224接收设备识别数据。此外,活动识别模块226可以被配置为从上下文确定模块222接收经归类的对象和经归类的上下文。

活动识别模块226可以被配置为:基于设备识别数据224、与用户相关联的特征的集合、经学习的数据、经归类的对象和经归类的上下文,识别与用户的语音输入相关联的活动的列表。在一个实施例中,所述活动的列表中的每个活动可以与一个或多个动作相关联。此外,活动识别模块226可以被配置为:对已列出的活动中的每一个分配概率分数。概率分数可以指示要针对由用户说出的语音输入执行对应的活动的可能性。

图3B是用于详细描述根据本公开的实施例的识别活动的方法的框图。

参考图3B,在一个实施例中,活动识别模块226可以包括神经网络(NN)模型308和聚类模块310。在一个实施例中,NN模型310可以被体现为深度神经网络(DNN)模型,而不背离本公开的范围。NN模型308表示仿真人脑的神经网络的人工神经网络模型,并且不限于使用特定算法的人工神经网络模型。NN模型308可以由训练模块232进行训练,以识别各种活动和要针对由用户说出的语音输入执行这些活动的对应的概率。在一个实施例中,NN模型308可以由使用训练数据的训练模块232进行训练,所述训练数据包括但不限于:与用户过去的语音输入和对IoT设备102执行的对应的活动相关联的数据。例如,设备识别数据、与用户的过去的语音输入相关联的经归类的对象和经归类的上下文被用作NN模型308的训练数据。

NN模型308可以从设备识别模块224接收设备识别数据。NN模型308还可以从上下文确定模块222接收数据,即与经增强的语音命令相关联的经归类的对象和经归类的上下文。NN模型308可以通过使用学习算法,处理训练数据、历史数据、经学习的数据和实时数据中的至少一种。经学习的数据可以通过在NN模型308中处理经训练的数据和实时数据中的至少一种而获得。学习算法可以被体现为有监督学习算法、无监督学习算法和半监督学习算法中的一种。在本实施例中,学习算法可以被体现为无监督学习算法(ULA),而不背离本公开的范围。

在所示出的实施例中,首先,NN模型308可以包括第一输入层312、第二输入层314、多个隐藏层316和多个组合层318。多个隐层316可以被单独地称为第一隐藏层316-1、第二隐藏层316-2、…、以及第n隐藏层316-n。类似地,多个组合层318可以被单独地称为第一组合层318-1、第二组合层318-2、…、以及第n组合层318-n。在这样的实施例中,多个隐藏层316可以在8个隐藏层到12个隐藏层的范围中,而不背离本公开的范围。

NN模型308的第一输入层312和第二输入层314可以分别从上下文确定模块222和设备识别模块224接收数据。第一输入层312和第二输入层314可以分别接收数据,即经归类的对象和经归类的上下文、以及设备识别数据。NN模型308的多个隐藏层316可以处理从第一输入层312接收的输出。接着,第一组合318-1可以接收设备识别数据和来自第n隐藏层316-n的输出。多个组合层318可以处理设备识别数据和来自第n隐藏层316-n的输出以生成经组合的输出320。

此外,活动识别模块226的聚类模块310可以从NN模型308接收经组合的输出。聚类模块310可以被配置为形成数据聚类,例如,指示可以与用户的语音输入相关联的动作的活动的列表。在实施例中,聚类模块310可以用聚类算法实现,以处理从NN模型308接收的经组合的输出,以形成数据聚类。此外,聚类模块310可以处理数据聚类,以对已列出的活动中的每一个分配概率分数。在本公开中,活动的列表和对应的概率分数可以被统称为活动确定数据,而不背离本公开的范围。

表2示出了根据本公开的实施例的活动的列表和对应的概率分数。本领域技术人员可以认识到:包括表2以提供对本公开的更好的理解,因此不可被解释为限制。

表2

活动 概率分数
第一活动 0.568
第二活动 0.89
第三活动 0.124
第N活动 0.56

例如,参考表2,第一活动、第二活动和第三活动可以分别被体现为“订购”、“烹饪”和“观看”。第一活动,即“订购”还可以与可互换地被称为动作——例如,从线上零售商“订购食品”和从线下零售商“订购食品”——的子活动相关联。第二活动,即“烹饪”还可以与子活动(例如,“烘烤”、“预加热”和“烧烤”)相关联。此外,第三活动,即“观看”还可以与子活动(例如,“观看烹饪指导”)相关联。在本示例中,第二活动(即“烹饪”)的概率分数指示针对从用户接收的语音输入执行第二活动的最高的可能性。类似地,第三活动(即“观看”)的概率分数指示针对语音输入执行第三活动的最低的可能性。

图3C是用于描述根据本公开的另一实施例的基于用户的输入识别要对至少一个设备执行的动作的方法的框图。

参考图3C,回归模块228可以与活动识别模块226、设备识别模块224和特征提取模块230通信。回归模块228可以被配置为从设备识别模块224接收设备识别数据。此外,回归模块228可以被配置为从活动识别模块226接收活动确定数据。回归模块216可以被配置为:基于已分配的概率分数,将已列出的IoT设备中的每一个与已列出的活动中的每一个相关联。回归模块216可以被配置为:基于相关性,将已列出的IoT设备中的每一个映射到已列出的活动中的每一个。

此外,在实施例中,服务器108可以基于对应的已映射的活动、至少一个对象、和与至少一段话语相关联的上下文,确定与已映射的IoT设备中的每一个相对应的候选动作。例如,如果诸如微波炉之类的IoT设备基于概率分数被映射到活动(例如,烹饪),那么服务器108就可以确定候选动作,例如,以110度预加热食品或烘烤食品5分钟。在实施例中,已映射的IoT设备中的每一个可以与具体动作的集合相关联。在这样的实施例中,服务器108可以基于语音输入的对应的已映射的活动、至少一个对象和上下文,从具体动作的集合中确定候选动作。

在所示出的实施例中,回归模块228可以包括函数选择模块322和函数分数预测模块324。函数选择模块322可以分别从设备识别模块224和活动识别模块226接收设备识别数据和活动确定数据。函数选择模块322可以被配置为从多个预先训练的回归函数中选择回归函数。多个预先训练的回归函数可以可互换地被称为预先训练的回归函数。在一个实施例中,预先训练的回归函数中的每一个可以是线性函数和非线性函数中的一种,而不背离本公开的范围。

预先训练的回归函数中的每一个可以与IoT设备中的已映射的IoT设备和所述活动中的对应的已映射的活动的对相关联。例如,多个预先训练的回归函数可以包括第一回归函数F1、第二回归函数F2、…、以及第n回归函数Fn。在这样的示例中,第一回归函数F1可以与第一设备和第二活动的相关性相关联。在这个方面,第一设备可以是“微波炉”并且第二活动可以是“烹饪”。类似地,第二回归函数F2可以与第二设备和第二活动的相关性相关联。在这种情况下,第二设备可以是“冰箱”。此外,第三回归函数F3可以与第一设备(即“微波炉”)和第一活动(即“订购”)的相关性相关联。

函数选择模块322可以基于概率分数,将已列出的IoT设备中的每一个与已列出的活动中的每一个相关联。接着,基于相关性,函数选择模块322可以选择用于相关的IoT设备和活动对中的每一个的回归函数。函数分数预测模块324可以从函数选择模块322接收已选择的回归函数。

此外,回归模块228可以被配置为对已映射的IoT设备中的每一个、对应的已映射的活动和已确定的候选动作分配事件分数。事件分数可以指示所述语音输入想要对对应的已映射的IoT设备执行已映射的活动的概率。

特征提取模块230可以从上下文确定模块222接收与经归类的对象和经归类的上下文有关的信息。特征提取模块230可以从经归类的对象和经归类的上下文提取特征。在这个方面,所述特征包括:至少一个矢量分量:指示至少一个动作与经归类的对象之间的相关性、或至少一个动作与经归类的上下文之间的相关性。

在实施例中,函数分数预测模块324可以从特征提取模块230接收与经归类的对象和经归类的上下文相关联的已提取的特征。函数分数预测模块324可以通过在从函数选择模块230接收的回归函数中对已提取的特征进行实现,对已映射的IoT设备、对应的已映射的活动和与已映射的IoT设备相对应的已确定的候选动作中的每一个分配事件分数。在实施例中,已映射的IoT设备、已映射的活动、已确定的候选动作和对应的事件分数可以被统称为IoT交互数据,而不背离本公开的范围。

表3示出了根据本公开的实施例的与已映射的IoT设备、对应的已映射的活动和已确定的候选动作相对应的事件分数。本领域技术人员可以认识到:包括表3以提供对本公开的更好的理解,因此不可被解释为限制。

表3

设备 活动 动作 事件分数
设备102-1 第一活动 第一动作 87.01
设备102-2 第二活动 第二动作 83.67
设备102-3 第三活动 第三动作 36.02
设备102-N 第N活动 第N动作 67.02

例如,参考表3,第一设备102-1(例如,“微波炉”)可以被映射为,与第一活动(例如,“烹饪”)和第一动作(例如,“以110度预加热”)相对应。被分配给第一设备102-1、第一活动和第一动作的事件分数高于其他的事件分数。较高的事件分数指示,语音输入想要对第一设备102-1执行第一活动的第一动作的概率高于语音输入想要执行其他动作的概率。类似地,第三设备102-3(例如,“电视”)可以被映射为与第三活动(例如,“观看”)和第三动作(例如,“选择新闻频道”)相对应。被分配给第三设备102-3、第三活动和第三动作的事件分数低于其他的事件分数。较低的事件分数指示,语音输入想要对第三设备102-3执行第三活动的第三动作的概率低于语音输入想要执行其他动作的概率。

如之前说明的,服务器108可以通过网络104与电子设备106通信。服务器108可以被配置为向电子设备106发送IoT交互数据以用于进一步处理。IoT交互数据可以包括:与活动、候选动作进行映射的IoT设备的组;以及对这个组分配的事件分数。此外,服务器108可以向电子设备106发送数据,例如,与活动相关联的活动加权因子和元数据。在一个示例中,与活动(例如,“烹饪”)相关联的元数据可以指示其他有关的/相关联的活动(例如,“烘烤和预加热”)。

在一个实施例中,服务器108还可以向电子设备106提供活动二值模型。在这个方面,活动二值模型可以被用于预测与语音输入相关联的具体对象和/或具体上下文相对应的具体活动。例如,活动二值模型可以在电子设备106处被用于预测与与语音输入相关联的具体对象(例如,“面条”)相对应的具体活动(例如,烹饪和订购)。

图3D是用于描述用于根据本公开的实施例的用于控制至少一个设备执行动作的服务器、电子设备和所述至少一个设备之间的数据流的框图。

参考图3A和3D,电子设备106可以被配置为,在接收语音输入之后,识别用户对IoT设备102中的至少一个执行的动作的集合。

在一个实施例中,电子设备106可以包括:多个传感器,被配置为识别由用户对IoT设备102中的至少一个执行的动作的集合。所述多个传感器可以包括但不限于图像传感器、声音传感器、接近传感器和触摸传感器,而不背离本公开的范围。电子设备106可以经由至少一个图像传感器感测用户的手势。此外,电子设备106可以经由至少一个声音传感器感测用户的语音。

在一个实施例中,电子设备106的交互监测模块212可以被配置为确定与所述动作的集合中的至少一个动作相关联的信息。所述信息可以实时地指示与IoT设备102中的至少一个IoT设备的用户交互。例如,用户执行至少一个动作,例如,操作微波炉以制备食品。在这样的实例中,与所述至少一个动作相关联的信息指示用户交互(例如,烘烤食品和预加热食品)中的一个。在另一实例中,用户执行至少一个动作(例如,操作音响系统),以播放音乐。在这样的实例中,与所述至少一个动作相关联的信息指示用户交互(例如,在音响系统中插入光盘(CD)驱动器、和对音响系统选择FM无线电选项)中的一个。

交互监测模块212可以在接收语音输入之后识别由用户操作的IoT设备102。此外,交互监测模块212可以识别:由用户对已识别的IoT设备102执行的动作的集合。在一个实施例中,所识别的动作的集合可以被存储在电子设备106的缓冲存储器中。

例如,电子设备106可以从用户接收语音输入,例如,“制备面条”。电子设备106可以确定不可获得针对所述语音输入的预定义动作。电子设备106可以向用户提供:指示电子设备106不能识别语音输入的通知。接着,用户可以与IoT设备102(例如,电视和微波炉)交互。用户可以操作电视以观看烹饪课程并且操作微波炉以预加热食品。电子设备106可以识别用户交互,即分别与电视和微波炉相对应的观看烹饪课程和选择预加热设置。

此外,电子设备106可以被配置为:基于已确定的信息对与至少一个动作相关联的用户交互分配相似度分数。在一个实施例中,电子设备106的事件分类模块214可以被配置为将用户交互中的每一个归类到事件类别。例如,事件类别可以包括但不限于偶然事件、用户发起的事件、相关联的事件和响应事件。

在一个实施例中,如果事件分类模块214识别用户交互的状态在一时间段上频繁地改变,那么事件分类模块214就可以将用户交互归类到作为偶然事件的事件类别。例如,用户正在与电视交互并且频繁地改变电视频道。在这样的示例中,事件分类模块214可以将这一用户交互分类到作为偶然事件的事件类别。

此外,如果事件分类模块214确定为了执行用户交互而需要用户的明确交互,则事件分类模块214可以将用户交互分类到作为用户发起的事件的事件类别。例如,与操作微波炉以烹饪食品相关联的用户交互可以被分类到诸如用户发起的事件之类的事件类别。

如果事件分类模块214确定用户交互执行另一用户交互之前或之后执行,则事件分类模块214可以将用户交互分类到作为相关联的事件的事件类别。例如,如果第一用户交互(例如,打开冰箱的门)在第二用户交互(例如,开启微波炉)之前执行,那么这样的用户交互就被分类为相关联的事件。在本示例中,第一用户交互(例如,打开冰箱的门)与第二用户交互(例如,开启微波炉)相关联。具体地,第一用户交互可以由用户从冰箱去除食品来执行。接着,第二用户交互可以通过用户在微波炉中烹饪从冰箱取出的食品来执行。

此外,如果事件分类模块214确定用户交互可以响应于另一个用户交互或响应于环境中的环绕事件而执行,则事件分类模块214可以将用户交互归类到作为响应事件的事件类别。例如,如果用户操作诸如便携式电话之类的IoT设备以便在这一设备上发起呼叫,那么事件分类模块214就可以将用户交互分类到作为响应事件的事件类别。此外,在一个实施例中,事件分类模块214可以基于存储在存储器中的预先归类的事件对用户交互进行分类。

在对用户交互进行分类时,动作映射模块216可以对经分类的用户交互中的每一个分配相似度分数。动作映射模块216可以基于对应的事件类别对用户交互中的每一个分配相似度分数。例如,被分类为相关联的事件的用户交互可以比被分类为用户发起的事件和偶然事件中的一个的另一用户交互具有较高的相似度分数的值。在一个实施例中,IoT设备、对IoT设备执行的用户交互和对应的相似度分数可以被统称为用户交互数据,而不背离本公开的范围。

表4示出了根据本公开的实施例的与IoT设备和对应的用户交互相对应的相似度分数。本领域技术人员可以认识到:包括表4以提供对本公开的更好的理解,因此不可被解释为限制。

表4

设备 用户交互 相似度分数
设备102-1 第一交互 90.34
设备102-2 第二交互 81.89
设备102-3 第三交互 10.94
设备102-N 第N交互 11.34

例如,参考表4,第一交互(例如,以110度预加热)与第一设备102-1(例如,微波炉)相对应。被分配给第一交互的相似度分数高于其他交互的相似度分数。较高的相似度分数指示,语音输入想要对第一设备102-1执行第一交互的概率高于语音输入想要执行其他交互的概率。类似地,第三交互(例如,“选择新闻频道”)与第三设备102-3相对应。被分配给第三交互的相似度分数低于其他交互的相似度分数。较低的相似度分数指示,语音输入想要对第三设备102-3执行第三交互的概率低于语音输入想要执行其他交互的概率。

参考图3C,电子设备106可以被配置为通过网络104从服务器108接收IoT交互数据。如之前说明的,IoT交互数据可以包括已映射的IoT设备、已映射的候选动作和对应的事件分数。在接收IoT交互数据时,电子设备106可以将已分配的事件分数和已分配的相似度分数进行比较。此外,电子设备106可以被配置为:基于所述比较,确定由用户执行的动作和语音输入之间的相关性。

在一个实施例中,电子设备106的动作映射模块216可以接收IoT交互数据和用户交互数据。动作映射模块216可以将IoT设备中的每一个的事件分数与相似度分数进行比较。例如,动作映射模块216可以将设备102-1的事件分数与设备102-1的相似度分数进行比较。类似地,动作映射模块216可以将设备102-1的事件分数与设备102-1的相似度分数进行比较。在一个示例中,事件分数(即87.01)和相似度分数(即90.34)可以被分配给设备102-1(例如,微波炉)。在这样的示例中,动作映射模块216可以将被分配给微波炉的事件分数(即87.01)与相似度分数(即90.34)进行比较。

此外,动作映射模块216可以基于事件分数和相似度分数之间的比较,将动作与从用户接收的语音输入相关。具体地,动作映射模块216可以基于事件分数和相似度分数之间的比较,选择候选动作中的至少一个和要被映射为与用户的语音输入相对应的对应的IoT设备。在一个实施例中,与用户的语音输入相对应的已映射的动作可以被存储在服务器108中。在这样的实施例中,在从用户接收语音输入时,电子设备106可以与服务器108通信以访问已映射的动作。在另一实施例中,与用户的语音输入相对应的已映射的动作可以被存储在电子设备106中。

在一个实施例中,如果与IoT设备相对应的相似度分数在与这样的IoT设备相对应的事件分数的偏差限制门限内,则动作映射模块216可以选择候选动作中的至少一个和对应的IoT设备。在一个实施例中,用于IoT设备中的每一个的偏差限制门限的值可以根据对这个IoT设备执行的用户交互的事件类别。例如,电子设备106可以从用户接收语音输入(即“制备面条”)。在这样的示例中,与设备102-1(例如,微波炉)和第一活动(即烹饪)相对应的事件分数可以等于87.01。此外,与微波炉和第一交互(即以110度预加热食品)相对应的相似度分数等于90.34。动作映射模块216可以将相似度分数(即90.34)与事件分数(即87.01)进行比较。在进行比较时,动作映射模块216确定相似度分数(即90.34)在事件分数(即87.01)的偏差限制门限(即Δ=6)内。在这样的示例中,动作映射模块216可以将第一设备102-1(即微波炉)和第一交互(即以110度预加热食品)映射为与语音输入(即“制备面条”)相对应。

此外,在一个实施例中,条件提取器模块217可以被配置为从动作映射模块216接收已映射的动作。条件提取器模块217可以被配置为,基于已接收的已映射的动作提取与已映射的动作相关联的条件信息。条件信息可以指示:需要发起的用于执行已映射的动作中的一个的至少一个条件。在一个示例中,第一已映射的动作是与IoT设备(例如,冰箱)相对应的“取出食品”,并且第二已映射的动作是与IoT设备(例如,微波炉)相对应的“以110度预加热食品”。在这样的示例中,条件提取器模块217可以提取条件信息,即从冰箱取出食品。

在一个实施例中,交互监测模块212可以被配置为:通过动作映射模块216实时地接收被分配给用户交互中的每一个的相似度分数。如之前说明的,用户交互监测模块212可以监测由用户在IoT环境中执行的用户交互。然而,交互监测模块212可以监测用户交互,直到用户交互具有小于已识别的门限值的相似度分数为止。具体地,在从用户接收语音输入之后,交互监测模块212可以实时地监测IoT环境中的用户交互。然而,如果交互监测模块212识别用户交互具有小于门限值的相似度分数,则交互监测模块212可以终止监测IoT环境中的用户交互的操作。

在一个实施例中,学习模块218可以被配置为:在新识别到与从用户接收的输入相对应的至少一个动作时更新数据208-1。在这个方面,数据208-1可以包括与预先存储的动作、和与预先存储的动作相对应的用户输入有关的信息。

在一个实施例中,系统100可能够在反馈模式中操作以实时地向用户提供通知。在这样的实施例中,系统100可以从用户接收语音输入,例如,另一语音输入。接着,系统100可以被配置为:基于语音输入,从多个已映射的动作中识别至少一个已映射的动作。如之前在本公开中说明的,多个已映射的动作中的每一个可以与来自用户的过去的语音输入相对应地被映射。系统100可以被配置为:基于从用户接收的语音输入对来自多个IoT设备102中的至少一个IoT设备执行至少一个动作。此外,系统100可以被配置为:将与至少一个已识别的已映射的动作相关联的信息通知给用户。

例如,系统100可以从用户接收语音输入,例如,“让我们订购一些食品”。系统100可以执行与语音输入相对应的至少一个动作,例如,“从商家订购食品”。此外,系统100还可以基于已接收的语音输入,从多个已映射的动作中识别已映射的动作,例如,“制备面条”。已映射的动作(即“制备面条”)可以基于由用户在IoT环境中执行的过去动作,被映射为与过去的语音输入(例如,“烹饪食品”)相对应。接着,系统100可以将与已识别的已映射的动作(即“制备面条”)相关联的信息通知给用户。所述信息可以被实现为语音通知,例如,“我已经通过观看您制备面条学会了制备面条,如果您想要我为您制备面条就告诉我”。在一个示例中,所述信息可以被实现为可视通知,而不背离本公开的范围。

在一个实施例中,系统100可能够以跟踪模式操作,以实时地向用户提供针对在完成由用户正在执行的当前动作之后在IoT环境中执行动作的建议。在一个实施例中,系统100识别由用户对来自IoT设备中的至少一个IoT设备执行的动作的集合。此外,系统100确定来自动作的集合的至少一个动作和预先关联的动作的集合之间的相关性。预先关联的动作可以包括但不限于:与语音输入和用户交互相对应的已映射的过去的动作、以及与已映射的动作中的每一个相关联的条件信息。

在一个实施例中,电子设备106可以向服务器108发送与所述至少一个动作相关联的信息。此外,服务器108可以将至少一个动作与预先关联的动作的集合中的可互换地被称为预定义动作的至少一个预先关联的动作进行比较。接着,服务器108可以基于所述比较对所述至少一个预先关联的动作分配相似度分数。相似度分数可以指示由用户执行的至少一个动作与至少一个预先关联的动作之间的相似度。此外,系统100可以基于相关性,控制所述至少一个IoT设备以执行预先关联的动作的集合中的至少一个相关的动作。

此外,在本实施例中,系统100可以被配置为:基于相关性,将至少一个动作和至少一个预先关联的动作映射到至少一个输入,例如,过去的/预先存储的输入。系统100可以被配置为:在从用户接收至少一个已映射的输入时,控制至少一个IoT设备102,以对IoT设备执行至少一个动作和至少一个预先关联的动作。

例如,系统100可以识别由用户执行的动作,例如,开启微波炉和观看电视上的面条制备指导。接着,系统100可以将动作与预先关联的动作的集合(例如,以120度预加热面条)相关。此外,系统100可以对微波炉执行相关的动作,即以120度预加热面条,以制备面条。

在另一实施例中,系统100可以被配置为:基于由用户执行的至少一个动作和语音输入之间的相关性,执行组合动作。在另一实施例中,系统100可以被配置为:基于动作和预先关联的动作的集合之间的相关性,执行组合动作。组合动作可以指示:提供给用户的至少一个建议、和由用户对IoT设备102执行的动作。

在这样的实施例中,电子设备106可以从用户接收语音输入。接着,电子设备106可以确定所述预定义动作是否可被识别为与用户的语音输入相对应。如果预定义动作不可识别,那么电子设备106可以在说出语音输入之后发起对由用户执行的动作的集合的跟踪。具体地,类似于之前说明的本公开的实施例,电子设备106可以识别由用户在说出语音输入之后执行的动作的集合。此外,响应于与语音输入相对应的预定义动作不可识别,电子设备106可以向服务器108发送语音输入。在这种情况下,如之前说明的,服务器108可以基于语音输入,获得与关于映射到至少一个IoT设备上的至少一个活动的至少一个动作有关的信息。

系统100可以确定所述动作的集合中的至少一个动作和预先关联的动作的集合中的至少一个预先关联的动作之间的相关性。例如,系统100可以被配置为将由用户执行的动作中的每一个与预先存储的动作和历史数据进行比较。在一个实施例中,电子设备106可以向服务器108发送与所述动作中的每一个相关联的信息。在这样的实施例中,服务器108可以实时地将由用户执行的动作中的每一个与预先存储的动作和历史数据进行比较。在另一实施例中,电子设备106可以将由用户执行的动作中的每一个与预先存储的动作和历史数据进行比较。预先存储的动作可以包括但不限于:与具体语音输入相对应的预先关联的动作;以及基于分数(例如,事件分数和相似度分数)映射的与过去的语音输入相对应的动作。

基于所述相关性,系统100可以对预先关联的动作的集合中的至少一个预先关联的动作分配相似度分数。相似度分数可以指示,要在完成由用户当前正在执行的动作之后执行的至少一个预先关联的动作的概率。接着,基于所述相似度分数,系统100可以建议要执行的至少一个预先关联的动作。具体地,电子设备106可以显示用于建议以下内容的信息:在完成由用户正在执行的当前的动作时,控制至少一个IoT设备以执行至少一个预先关联的动作。

电子设备106可以被配置为接收指示用于执行至少一个预先关联的动作的授权的指令。因此,电子设备106可以控制至少一个IoT设备以执行至少一个预先关联的动作。在一个实施例中,系统100可以被配置为:基于所述相关性,将由用户执行的动作和至少一个预先关联的动作映射到至少一段话语。此外,系统100可以被配置为:在用户重新说出所述至少一段话语时,控制至少一个IoT设备执行至少一个动作和至少一个预先关联的动作/IoT设备。

图4是用于描述描绘根据本公开的实施例的用于对多个设备中的至少一个设备执行动作的系统的实现的示例性环境的图。

参考图4,电子设备106可以是语音辅助设备106,而没有背离本公开的范围。电子设备106可以从用户接收语音输入,例如,“制备面条”。接着,电子设备106可以确定:与已接收的语音输入相对应的预定义动作的集合是否是可识别的。如果电子设备106不能确定预定义动作的集合,那么电子设备106可以向服务器108发送语音输入以用于进一步处理,并且发起对在环境中利用IoT设备102的用户交互/动作的跟踪。

如图4所示,用户可以操作微波炉102-1。具体地,用户可以将食品放置在微波炉中并且选择微波炉的预加热模式。接着,用户可以操作电视102-2并且开始观看烹饪电视频道。此外,用户可以操作智能电话102-3以播放音乐。电子设备106可以跟踪上述用户交互中的每一个。基于从服务器接收的输入和用户交互,电子设备106可以将用户交互中的至少一个映射为与语音输入相对应。在本实施例中,电子设备106可以对——诸如操作用于预加热食品的微波炉102-1和观看电视102-2上的烹饪课程之类的——用户交互进行映射。然而,由于低的相似度分数,所以电子设备106可以不对诸如在智能电话102-3上播放音乐之类的用户交互进行映射。此外,如果用户重新说出“制备面条”的语音输入,那么电子设备102可以操作微波炉102-1和电视102-2以执行与设备102-1、102-2和102-3中的每一个相对应的已映射的动作。

图5是用于描述描绘根据本公开的另一实施例的用于多个设备中的至少一个设备执行动作的系统的实现的示例性环境的图。

参考图5,电子设备106可以是语音辅助设备106,而没有背离本公开的范围。电子设备106可以从用户接收语音输入,例如,“准备用于淋浴的东西”。接着,电子设备106可以确定是否可获得与已接收的语音输入相对应的预定义动作的集合。如果电子设备106不能确定预定义动作的集合,那么电子设备106可以向服务器108发送语音输入以用于进一步处理,并且发起对在环境中利用IoT设备102的用户交互/动作的跟踪。

如图5所示,用户可以操作热水器102-1并且将水的温度设置在65摄氏度。接着,用户可以操作智能电话以播放音乐,例如经典音乐。基于上述用户交互,电子设备106可以识别用户准备进行淋浴。因此,电子设备106可以向用户提供用于提供建议的信息,例如,“我应该关闭电视吗”的消息。在一个示例中,电子设备106可以向用户提供用于提供建议的信息,例如,“我应该为您准备淋浴吗”的消息。

电子设备106可以从用户接收指示对执行所建议的动作的授权的指令。接着,电子设备106可以通过IoT设备(例如,智能手表),跟踪用户在环境中朝着浴室的移动。基于用户的移动,当用户到达浴室中时,电子设备106可以关闭电视102-3并且操作IoT设备(例如,淋浴头102-4)。此外,当用户从浴室出来时,电子设备106可以打开空调102-5。

图6是用于描述根据本公开的实施例的对IoT设备执行动作的方法的流程图。

可以在系统100中使用其组件实现方法600,如上所述。为了简洁,在图1、图2、图3A、图3B、图3C、图3D、图4和图5的描述中详细说明的本公开的细节未在图6的描述中详细说明。根据另一实施例,方法600可以在电子设备106中实现。

在图6的实施例中,为了便于描述,方法600被描述为由电子设备106执行,但这仅是示例,并且方法600不限于由电子设备106执行。

在操作602中,电子设备106可以从用户接收可互换地被称为语音输入的话语。

在操作604中,电子设备106可以识别,在接收至少一段话语之后由用户对IoT设备102中的至少一个IoT设备执行的动作的集合。在一个实施例中,电子设备可以确定预定义动作是否可被识别为与用户的至少一段话语相对应。如果预定义动作不可识别,那么电子设备106可以根据服务器108的上述操作进一步处理语音输入。此外,电子设备106可以识别:在接收所述至少一段话语之后由用户执行的动作的集合。

在操作606中,电子设备106可以确定来自所述动作的集合中的至少一个动作和所述至少一段话语之间的相关性。

在操作608中,电子设备106可以基于相关性,将所述至少一个动作映射到所述至少一段话语。

在操作610中,电子设备106可以在从用户接收到与所述至少一段话语相对应的话语时,执行关于至少一个设备的至少一个动作。

图7是用于描述根据本公开的另一实施例的对IoT设备执行动作的方法的流程图。

可以在系统100中使用其组件实现方法700,如上所述。为了简洁,在图1、图2、图3A、图3B、图3C、图3D、图4、图5和图6的描述中详细说明的本公开的细节未在图7的描述中详细说明。根据另一实施例,方法700可以在电子设备106中实现。

在图7的实施例中,为了便于描述,方法700被描述为由电子设备106执行,但这仅是示例,并且方法700不限于由电子设备106执行。

在操作702中,电子设备106可以识别,由用户对IoT设备102中的至少一个IoT设备执行的动作的集合。

在操作704中,电子设备106可以确定所述动作的集合中的至少一个动作和预先关联的动作的集合之间的相关性。电子设备106可以将至少一个动作与预先关联的动作的集合中的至少一个预先关联的动作进行比较。接着,电子设备106可以基于所述比较对所述至少一个预先关联的动作分配相似度分数。

在操作706中,电子设备106可以基于相关性,对至少一个IoT设备执行来自所述预先关联的动作的集合中的至少一个相关的动作。

要理解的是,本公开提供了用于对IoT设备执行动作全面的方法。如果系统100不能识别从用户接收的语音输入,则本公开的系统100可以在接收语音输入之后跟踪环境中的用户交互。接着,系统100可以智能地将用户交互中的每一个与语音输入相关。基于相关性,系统100可以将所述用户交互映射到未识别的语音输入。因此,如果用户重新说出这样的语音输入,那么系统100可以执行已映射的环境中的用户交互。因为系统100可以智能地执行与过去的语音输入相对应的已关联的用户交互,所以这基本上减少了用户记住预先定义的语音输入的认知负荷。此外,系统100可以实时地基于用户交互,向用户提供用于提供建议的信息,以控制至少一个IoT设备,以在完成由用户正在执行的当前的动作时执行至少一个预先关联的动作。这基本上增强了与IoT设备102时的整体用户体验。因此,本公开提供了全面、准确、智能、省时、方便和一致的系统100以及方法600、方法700。

图8是用于描述根据本公开的实施例的通过电子设备基于从用户接收的至少一个输入来控制至少一个IoT设备的方法的流程图。

在操作810中,电子设备可以从用户获得至少一个输入。例如,电子设备可以经由声音传感器感测来自用户的语音输入。然而,这仅是示例,电子设备可以经由图像传感器感测来自用户的手势输入。在这个实施例中,为了便于描述,将所述至少一个输入描述为语音输入。

在操作820中,作为对与获得的输入相对应的预定义动作不可识别的响应,电子设备可以向服务器发送获得的输入。

根据获得的输入,电子设备可以识别获得的输入是否与多个预定义动作中的一个相对应。在一个实施例中,如果与获得的输入相对应的预定义动作不可识别,则电子设备将获得的输入发送到用于识别与获得的输入相对应的动作的服务器。

在操作830中,电子设备可以接收与以下内容有关的信息:基于获得的输入和至少一个对象或上下文所识别的映射到至少一个IoT设备上的至少一个活动。例如,电子设备可以接收与用于映射到所述至少一个IoT设备上的所述至少一个活动的至少一个候选动作有关的概率信息。在这个方面,可以在服务器处,基于获得的输入和所述对象或所述上下文中的至少一个获得概率信息。所述对象或所述上下文中的至少一个在所述服务器处基于所述获得的输入和所述用户的特征信息进行识别。

在操作840中,电子设备可以基于所述获得的输入和映射到所述至少一个IoT设备上的所述至少一个活动之间的相关性,识别要对至少一个IoT设备中的IoT设备执行的动作。

在一个实施例中,电子设备可以识别在所述至少一个输入之后执行的用户动作。电子设备可以获得:指示在所述至少一个输入之后执行的用户动作中的每一个和获得的输入之间的相似度的相似度信息。例如,电子设备可以获得,用于在所述至少一个输入之后执行的用户动作的相似度分数。电子设备可以基于概率信息和相似度信息识别要对IoT设备执行的动作。

在操作850中,电子设备可以向IoT设备发送用于执行所识别的动作的指令。

电子设备可以基于被映射到所述获得的输入的所述所识别的动作,执行数据库的更新。在这个方面,数据库可以与上述数据208-1相对应。作为对在所述数据库的所述更新之后接收到与所述获得的输入相对应的其他输入的响应,电子设备可以向IoT设备发送用于执行所述所识别的动作的指令。

图9是用于描述根据本公开的实施例的由电子设备和服务器基于从用户接收的至少一个输入来控制至少一个IoT设备的方法的流程图;

在操作910中,电子设备904可以从用户获得至少一个输入。

在操作920中,电子设备904可以识别获得的输入是否与预定义动作中的一个相对应。

在操作930中,作为对与获得的输入相对应的预定义动作不可识别的响应,电子设备904可以向服务器发送获得的输入。

在操作940中,服务器906可以基于用户的特征信息和至少一个输入,识别对象或上下文中的至少一个。

服务器906可以从电子设备接收获得的输入。在这种情况下,服务器可以基于电子设备的标识符识别用户身份。服务器906可以基于电子设备的标识符,选择包括与先前的用户动作和来自用户的先前的输入的历史数据有关的特征信息。

此外,服务器906可以基于已识别的对象或已识别的上下文来增强与语音命令相关联的词汇。反馈经增强的词汇,用于识别与已接收的用户的输入相关联的对象或上下文。服务器906可以对已识别的对象和已识别的上下文进行归类。

在操作950中,服务器906可以基于所述至少一个输入和所述对象或所述上下文中的至少一个,识别映射到至少一个IoT设备上的至少一个活动。

服务器906可以基于经归类的对象和经归类的上下文,从多个IoT设备中识别至少一个IoT设备。服务器906可以获得用于至少一个IoT设备的概率信息。例如,服务器906可以对所述至少一个IoT设备中的每一个分配上述概率分数。

服务器906可以基于已识别的IoT设备、经归类的对象、经归类的上下文和获得的输入,识别至少一个活动。服务器906可以获得用于至少一个活动的概率信息。例如,服务器906可以对所述至少一个活动中的每一个分配上述概率分数。

服务器906可以基于已分配的概率分数,将至少一个IoT设备中的每一个和至少一个活动相关。此外,服务器906可以确定与映射到所述至少一个IoT设备上的至少一个活动中的每一个相对应的候选动作。在一个实施例中,服务器906可以确定用于所述候选动作中的每一个的概率信息。例如,服务器906可以确定用于所述候选动作中的每一个的概率分数。

在操作960中,服务器906可以发送,与基于获得的输入和所述对象或所述上下文中的至少一个所识别的映射到所述至少一个IoT设备上的所述至少一个活动有关的信息。

在操作970中,电子设备904可以基于获得的输入和映射到至少一个IoT设备上的至少一个活动之间的相关性,识别要对至少一个IoT设备中的IoT设备执行的动作。

在操作980中,电子设备904可以向IoT设备902发送用于执行所识别的动作的指令。

在操作990中,来自至少一个IoT设备中的IoT设备902,可以根据指令执行所识别的动作。

图10是示出根据本公开实施例的电子设备的图;以及

参考图10,电子设备1000可以包括通信接口1010、处理器1020和存储器1030。然而,所有所示出的组件都不重要。可以通过比图10所示的组件更多或更少的组件来实现电子设备1000。此外,根据另一实施例,通信接口1010、处理器1020和存储器1030可以被实现为单个芯片。

现在将详细描述上述组件。

通信接口1010可以包括用于与外部装置通信的一个或多个元件。例如,通信接口1010可以包括与外部装置通信的短距离无线通信器和移动通信器。

根据一个实施例,通信接口1010可以向服务器发送用户的至少一个输入。此外,通信接口1010可以从服务器接收与映射到至少一个IoT设备上的至少一个活动有关的概率信息。

处理器1020通常控制电子设备1000的所有操作和电子设备1000的内部元件之间的信号流,并且执行控制至少一个IoT设备以执行至少一个动作的功能。处理器1020可以包括控制所提出的功能、处理和/或方法的一个或多个处理器或其他处理设备。电子设备1000的操作可以通过处理器1020实现。

根据一个实施例,处理器1020可以从用户获得至少一个输入。作为对与获得的输入相对应的预定义动作不可识别的响应,处理器1020可以经由所述通信接口1010向服务器发送获得的输入。处理器1020可以经由通信接口1010接收,与基于所述获得的输入和至少一个对象或上下文所识别的映射到至少一个IoT设备上的至少一个活动有关的信息。在这个方面,所述对象或所述上下文中的至少一个在所述服务器处基于所述获得的输入和所述用户的特征信息进行识别。处理器1020可以基于所述获得的输入和映射到所述至少一个IoT设备上的所述至少一个活动之间的相关性,识别要对至少一个IoT设备中的IoT设备执行的动作。处理器1020可以经由通信接口1010向IoT设备发送用于执行所识别的动作的指令。

通过处理器1020实现的操作与参考图1至图9描述的电子设备的操作相对应,因此将在下面省略其详细描述。

存储器1030可以存储所述至少一个输入和与所识别的动作相关的信息。存储器1030可以被连接到处理器1020并且存储用于所提出的功能、处理和/或方法的至少一个指令或协议或参数。存储器1030可以包括只读存储器(ROM)和/或随机存取存储器(RAM)和/或硬盘和/或CD-ROM和/或DVD和/或其他存储设备。

图11是示出根据本公开的实施例的服务器设备的图。

参考图11,服务器1100可以包括通信接口1110、处理器1120和存储器1130。然而,所有所示出的组件都不重要。可以通过比图11所示的组件更多或更少的组件来实现服务器1100。此外,根据另一实施例,通信接口1110、处理器1120和存储器1130可以被实现为单个芯片。

现在将详细描述上述组件。

通信接口1110可以包括用于与外部装置通信的一个或多个元件。例如,通信接口1110可以包括与外部装置通信的短距离无线通信器和移动通信器。

根据一个实施例,通信接口1110可以接收来自电子设备的用户的至少一个输入。此外,通信接口1110可以向电子设备发送与映射到至少一个IoT设备上的至少一个活动有关的概率信息。

处理器1120通常控制服务器1100的所有操作和服务器1100的内部元件之间的信号流,并且执行控制至少一个IoT设备以执行至少一个动作的功能。处理器1120可以包括控制所提出的功能、处理和/或方法的一个或多个处理器或其他处理设备。服务器1100的操作可以由处理器1120来实现。

根据一个实施例,作为对与获得的输入相对应的预定义动作在电子设备处不可识别的响应,处理器1120可以经由通信接口1110从电子设备接收用户的至少一个输入。处理器1120可以基于用户的特征信息和所述至少一个输入,识别对象或上下文中的至少一个。处理器1120可以基于所述至少一个输入和所述对象或所述上下文中的至少一个,识别映射到至少一个IoT设备上的至少一个活动。处理器1120可以经由通信接口1110发送,与映射到至少一个设备上的至少一个活动有关的信息。

通过处理器1120实现的操作与参考图1至图9描述的电子设备的操作相对应,因此将在下面省略其详细描述。

存储器1130可以存储所述至少一个输入和与所识别的动作相关的信息。存储器1130可以被连接到处理器1120并且存储用于所提出的功能、处理和/或方法的至少一个指令或协议或参数。存储器1130可以包括只读存储器(ROM)和/或随机存取存储器(RAM)和/或硬盘和/或CD-ROM和/或DVD和/或其他存储设备。

虽然已经使用具体的措辞描述了本公开,但是不旨在其上产生任何限制。本领域技术人员将清楚的是,可以对所述方法进行各种起作用的修改以实现如本文教导的发明构思。附图和前面的描述给出了实施例的示例。本领域技术人员将认识到,所描述的要素中的一个或多个可以很好地组合成单个功能要素。备选地,某些要素可以被分成多个功能要素。来自一个实施例的要素可以被添加到另一实施例。

可以将本公开的实施例写为可在计算机上执行的程序,并可以在使用计算机可读记录介质执行所述程序的通用数字计算机中实现。计算机可读记录介质的示例包括:存储介质如磁存储介质(例如,ROM、软盘、硬盘等)、光记录介质(例如,CD-ROM或DVD)等、以及(例如,通过互连网传输的)载波。虽然已经参考附图描述了本公开的实施例,但是本领域技术人员将认识到,本公开可以以其他具体形式实现,而不背离本公开的技术思想或重要特征。因此要理解,本公开的上述实施例在所有方面可能都是说明性的而不是限制性的。

39页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于语音的同人识别方法、装置、设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!