背景技术:
1、人类可以参与与在本文中称为“自动化助理”(也称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“个人话音助理”、“谈话代理”、“虚拟助理”等)的交互式软件应用的人机对话。例如,人类(其在他们与自动化助理交互时可以被称为“用户”)可以使用自由形式自然语言输入来提供命令、查询和/或请求(在本文中统称为“查询”),该自由形式自然语言输入可以包括被转换成文本并且然后被处理和/或键入为自由形式自然语言输入的有声话语。自动助理可以对自然语言输入执行各种类型的处理,诸如自然语言处理、句法处理、语义处理等,以便识别并响应用户的意图。 主要或专门配置用于与自动助理互动的计算设备(诸如当今可用的许多独立交互式扬声器)在本文中可以称为“助理设备”。
2、自动助理的一种常见用法是控制智能电器。如本文所使用的“智能电器”是指被配置用于网络通信(例如,经由wi-fi、zigbee、z-wave、蓝牙等)的设备和/或电器,并且因此可以使用诸如助理设备、智能手机等的计算设备来进行远程控制。智能电器可以包括但不限于智能锁、智能灯、智能恒温器、警报系统、智能相机、智能车库门开启器、智能电源插座、智能水龙头、智能洒水系统、智能厨房电器(例如,烤箱、咖啡机、冰箱)、智能百叶窗、智能窗户以及可使用计算设备进行远程控制的任何其他联网电器。
3、随着在家庭和工作场所中安装越来越多的智能电器,管理这些电器变得更加复杂。作为示例,假设用户期望知道他/她家中所有(或部分)智能电器的状态。用户可以向自动助理提交自然语言输入请求,以提供关于可经由自动助理控制的智能电器的当前状态的信息。自动助理可以提供当前与自动助理通信的所有电器的可听或可视叙述。例如,可以提供电器的状态以及每个电器的名称和/或别名(例如,“lamp one is on, lamp two is atfifty percent, door one is currently locked(灯一亮,灯二亮百分之五十,门一当前锁定)”等等)。但是,随着更多智能电器被启用以及与自动助理通信,所有已连接电器的状态的可听或可视列表可能会变得冗长。此外,用户可能对一些智能电器状态不感兴趣。例如,在家中的用户可能对听到与用户在同一房间中的智能灯的状态不感兴趣(这通过简单地看一下灯本身而显而易见),或者当前智能警报系统已断开。因此,对所有智能电器状态的全面叙述可能对用户没有用。
4、另外,验证和传达众多电器的状态需要花费计算资源,这可能不会导致在给定实例中向用户提供有用信息。此外,仅叙述多种电器状态可能不允许用户以有意义的方式重新参与与自动助理的对话,因为随着所叙述的信息的增加,用户可能不太可能或无法通过附加查询和/或命令响应状态消息。
技术实现思路
1、本文描述了用于生成和提供关于智能电器的状态的概要信息的实施方式,该概要信息包括和/或促进与多个连接的智能电器的用户最相关的状态信息,同时省略或降级不太相关的智能电器状态信息。在一些实施方式中,可以确定并过滤多个已启用的智能电器的当前状态的列表,以移除用户可能不感兴趣的状态。列表的过滤可以例如基于请求用户的当前场境和/或用户的一个或多个先前场境。然后,所得的已过滤的状态可以被用于生成概要信息,诸如文本摘要、图形信息等。然后可以经由一个或多个输出设备将这些数据提供给用户。本文还描述了紧密相关的技术,用于基于智能电器的类型以及在特定场境中发布给智能电器的过去用户命令或请求来概括智能电器状态。
2、作为示例,用户可以向自动助理提供“what is the current status of thehouse(房屋的当前状态是什么)?”的请求。确定与系统相关联的智能电器的当前状态列表,诸如灯、电器、警报系统、门锁和/或其他可以由系统控制和/或监视的设备。这些智能电器可以被视为由用户使用/通过系统控制(或可控制)。基于当前用户场境,可以过滤出一个或多个状态,诸如始终具有相同状态(例如,始终为“开”)的设备、在用户的当前场境(例如,一天中的时间)中用户可能不感兴趣的设备等等。
3、在一些实施方式中,一旦状态已经被过滤,就可以为其余的电器状态生成文本片段。例如,对于智能照明器材,照明器材的第三方控制器可以提供状态“名称=”厨房灯”状态=“关闭”。可以针对(或基于)状态生成文本片段“厨房灯关闭”,然后可以将其作为家庭状态更新的一部分提供给用户。作为另一个示例,用于智能锁的界面可以提供 “后门已解锁”的状态,并且可以为该设备生成“后门已解锁”的文本片段。
4、在一些实施方式中,然后可以组织和概括文本片段以生成文本摘要,以向用户提供简短的状态报告。概括可以包括例如将相同类型和状态的设备的文本片段合并为一般状态、将特定位置的设备合并为设备的分组、和/或允许将多个设备的状态提供给用户而不必列出所有设备的其他概括。作为示例,基于将“开启”的灯分组为一个概括并且将其余的灯分组成第二“关闭”分组,所有灯的文本片段都可以概括为“lights 1, 2, and 3 are on…the rest of the lights are off(灯1、2和3开启……其余灯关闭)”的状态,以此方式,可以发生基于群组的智能电器的当前状态(在该示例中,“开”或“关”)之间的相似性将已过滤列表的一个或多个状态组织为分组。此外,在另一个示例中,可以根据具有状态为“关闭”的房间(即“厨房”房间)中所有设备的文本片段生成文本摘要“everything is off in thekitchen(厨房一切都关闭了)”。因此,没有为用户提供每个设备的单独状态,而是为用户提供状态摘要,在一些情况下,其可以仅包括对于特定情形不同和/或不寻常的状态。可以概括状态分组的多个文本片段,并将其作为完整句子的相应子句(每个状态分组的“文本子句”)呈现在所得的文本摘要中。
5、在一些实施方式中,文本片段的概括(文本摘要)经由一个或多个输出设备被提供给用户。在一些实施方式中,输出设备可以基于所生成的文本摘要来提供音频状态报告,其概括与助理相关联(例如,已登记)的一个或多个智能电器的状态。在一些实施方式中,诸如经由图形用户界面,基于所生成的文本摘要来提供可视摘要,作为一个或多个智能电器的状态的概括。在一些实施方式中,可以经由一个或多个输出设备将文本概要的音频和可视输出两者提供给用户。
6、在一些实施方式中,附加的界面信息可以通过文本片段的概括提供给用户。例如,还可以向用户图形化地提供电器的摘要,并且还可以向用户提供用于改变一个或多个电器状态的界面。这可能包括提供选项来更改不同于其他电器的智能电器的状态(例如,状态为“all of the downstairs lights are off except the kitchen light. would youlike to turn it off?(除了厨房灯,所有楼下灯都关了。您要关闭它吗?)”)和/或提供使用户可以在视觉上识别具有不同状态的电器并改变一个或多个状态的界面。在一些实施方式中,在视觉上提供的文本摘要中,描述特定智能电器的各种标记可以被呈现为可选链接。用户可以选择这些链接以向其提供用于控制该智能电器的界面,或者这些链接本身可以操作以切换电器的开/关,调整范围设置(例如,智能灯的亮度)等。在一些实施方式中,可以向用户提供音频摘要,该音频摘要指示未处于预期状态的一个或多个智能电器,并且另外向用户提供改变一个或多个电器的状态的提示。例如,如果用户在通常邻近用户的就寝时间(可以认为是当前用户场境的一部分)时请求电器的状态,则自动助理可以提供自然语言输出,诸如“the back door is not currently locked. would you like to lock it(后门当前未锁定。您想要锁定它?)。
7、以上提供的是本文公开的一些实施方式的概述。这些和其他实施方式的进一步描述在下面提供。
8、在一些实施方式中,提供了一种由一个或多个处理器执行的方法,该方法包括:确定由用户控制的多个智能电器的当前状态的列表;基于由用户控制的一个或多个计算设备生成的一个或多个场境信号来确定当前用户场境;从多个过去用户场境中识别与当前用户场境可比较的一个或多个可比较过去用户场境;对于一个或多个可比较过去用户场境中的每一个,获得多个智能电器的过去状态的对应列表;过滤当前状态列表以移除当前状态中的一个或多个并生成过滤后的当前状态列表,其中所述过滤基于当前状态列表与一个或多个过去状态列表的比较;根据过滤后的当前状态列表生成一个或多个文本片段;生成一个或多个文本片段的文本摘要;以及将文本摘要提供给由用户控制的一个或多个计算设备中的一个输出设备。通过以这种方式向用户提供摘要,可以以计算效率更高的方式向用户提供关于智能电器状态的有关信息,因为不会浪费资源来单独提供有关每个电器的信息。这可以促进对智能电器的更有效控制。此外,通过允许用户更容易地查明,并因此控制智能电器的状态,可以减少所述设备的总体功耗。
9、在各种实施方式中,过滤可以包括从当前状态列表中移除与过去状态列表中的对应过去状态匹配的当前状态中的一个或多个。在各种实施方式中,过滤后的当前状态列表可以包括来自于偏离过去状态列表的当前状态列表的当前状态。通过根据这些实施方式中的一个或多个来过滤列表,可以仅向用户提供关于异常智能电器的信息,这可以有助于以更有效的方式控制所述设备。
10、在各种实施方式中,该方法可以进一步包括基于群组的智能电器的当前状态之间的相似性,将过滤后的列表的状态中的一个或多个组织到分组中。在各种实施方式中,生成文本摘要可以包括生成用于分组的文本子句。
11、在各种实施方式中,输出设备可以经由音频向用户提供文本摘要。在各种实施方式中,该方法可以进一步包括提供指示智能电器中的一个或多个的音频提示以及改变所指示的智能电器的状态的提议。在各种实施方式中,输出设备可以包括可视显示器。
12、在各种实施方式中,该方法可以进一步包括向用户提供控制界面,以允许用户调整智能电器中的至少一个的状态。在各种实施方式中,该方法可以进一步包括响应于提供控制界面,从用户接收用于调整智能电器中的至少一个的状态的指示;以及将指示提供给至少一个智能电器。
13、在各种实施方式中,该方法可以进一步包括经由计算设备中的一个或者多个的输入设备从用户接收请求,其中该输入设备与位置相关联。在各种实施方式中,可以至少部分地基于位置来确定当前用户场境。在各种实施方式中,过滤当前状态列表可以包括过滤出与该位置相关联的一个或多个状态。在各种实施方式中,可以至少部分地基于一天中的当前时间来确定当前用户场境。
14、在各种实施方式中,该方法可以进一步包括在计算设备中的一个或多个的一个或多个麦克风处接收来自用户的音频输入;识别多个用户的音频简档;以及基于音频输入和音频简档确定用户的身份。在各种实施方式中,一个或多个过去用户场境可以与所确定的身份相关联。在各种实施方式中,该方法可以进一步包括将当前用户场境与多个过去用户场境一起存储。
15、在另一方面中,一种计算机实现的方法可以包括确定由用户控制的多个智能电器的当前状态的列表;根据智能电器的设备类型,将多个智能电器的当前状态列表组织为智能电器的群组;为智能电器群组中的一个或者多个生成设备类型文本片段;生成用于一个或多个设备类型文本片段的文本摘要;以及将文本摘要提供给由用户控制的一个或多个计算设备的输出设备。通过以这种方式向用户提供摘要,可以以计算效率更高的方式向用户提供关于各种设备类型的状态的有关信息,因为不会浪费资源来单独提供关于每种设备类型的信息。这可以促进对具有所述设备类型的智能电器的更有效的控制。此外,通过允许用户更容易地查明并因此控制智能电器的状态,可以减少所述设备的总体功耗。
16、在又一方面中,一种计算机实现的方法可以包括:确定由用户控制的多个智能电器的当前状态的列表;基于由用户控制的一个或多个计算设备生成的一个或多个场境信号来确定当前用户场境;识别与当前用户场境可比较的一个或多个过去用户场境;与控制多个智能电器中的一个或多个相关联地识别由用户发出的一个或多个请求或命令,其中,一个或多个请求或命令是在用户处于一个或多个过去用户场境中时由用户发出的;过滤当前状态列表以移除一个或多个当前状态并生成过滤后的当前状态列表,其中过滤至少部分地基于所识别的一个或多个请求或命令;基于过滤后的当前状态列表生成一个或多个文本片段;生成一个或多个文本片段的文本摘要;以及将文本摘要提供给由用户控制的计算设备中的一个或多个的输出设备。通过以这种方式向用户提供摘要,可以向用户提供关于最有可能在给定时间以计算效率更高的方式控制的这些智能电器的状态的信息,因为不会浪费资源来提供有关每个电器的信息。这可以促进对智能电器的更有效控制。此外,通过允许用户更容易地查明并从而控制相关的智能电器,可以减少所述电器的总功耗。
17、另外,一些实施方式包括一个或多个计算设备的一个或多个处理器(例如,中央处理单元(cpu)、图形处理单元(gpu)和/或张量处理单元(tpu)),其中一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且该指令被配置成使执行任意前述方法。一些实施方式也包括一个或更多个非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以执行任意前述方法的计算机指令。一些实施方式还包括计算机程序或计算机程序产品,其包括可由一个或多个处理器执行以执行任意前述方法的指令。
18、要理解的是,本文中更详细描述的前述概念和附加概念的所有组合被认为是本文公开的主题的一部分。例如,出现在本公开的结尾处的要求保护的主题的所有组合被认为是本文公开的主题的一部分。