CN111869185A - 生成基于IoT的通知并提供命令以致使客户端设备的自动助手客户端自动呈现基于IoT的通知 - Google Patents
生成基于IoT的通知并提供命令以致使客户端设备的自动助手客户端自动呈现基于IoT的通知 Download PDFInfo
- Publication number
- CN111869185A CN111869185A CN201980017955.9A CN201980017955A CN111869185A CN 111869185 A CN111869185 A CN 111869185A CN 201980017955 A CN201980017955 A CN 201980017955A CN 111869185 A CN111869185 A CN 111869185A
- Authority
- CN
- China
- Prior art keywords
- iot
- client device
- notification
- client
- helper
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000008859 change Effects 0.000 claims abstract description 171
- 238000000034 method Methods 0.000 claims description 83
- 230000004044 response Effects 0.000 claims description 61
- 238000012544 monitoring process Methods 0.000 claims description 24
- 230000003993 interaction Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 2
- 230000002452 interceptive effect Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000015654 memory Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000005406 washing Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000002262 irrigation Effects 0.000 description 1
- 238000003973 irrigation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/22—Interactive procedures; Man-machine interfaces
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/22—Interactive procedures; Man-machine interfaces
- G10L17/24—Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/10—Detection; Monitoring
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/30—Control
- G16Y40/35—Management of things, i.e. controlling in accordance with a policy or in order to achieve specified objectives
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2816—Controlling appliance services of a home automation network by calling their functionalities
- H04L12/282—Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L2015/088—Word spotting
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Automation & Control Theory (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Medical Informatics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Selective Calling Equipment (AREA)
- Computer And Data Communications (AREA)
- User Interface Of Digital Computer (AREA)
- Alarm Systems (AREA)
- Measuring And Recording Apparatus For Diagnosis (AREA)
Abstract
远程自动助手组件基于接收到的IoT状态改变通知生成客户端设备通知,该客户端设备通知指示与至少一个IoT设备相关联的至少一个状态的改变。所生成的客户端设备通知可以分别指示与至少一个IoT设备关联的状态改变,并且可以可选地指示至少一个IoT设备。此外,远程自动助手组件可以识别与至少一个IoT设备相关联的候选助手客户端设备,并确定一个或多个候选助手客户端设备中的每个是否应呈现对应客户端设备通知。然后,远程自动助手组件可以将对应命令发送到确定应该呈现对应客户端设备通知的每个助手客户端设备,其中,发送的每个命令致使对应助手客户端设备呈现对应客户端设备通知。
Description
技术领域
本发明涉及生成基于IoT的通知并提供命令以致使客户端设备的自动助手客户端自动呈现基于IoT的通知。
背景技术
人们可以使用在本文中被称为“自动助手(automated assistant)”(也称为“聊天机器人”、“交互式个人助手”、“智能个人助手”、“个人语音助手”、“会话代理”等)的交互式软件应用参与人机对话。例如,人(其当与自动助手交互时可以被称为“用户”)可以向自动助手提供输入(例如命令、查询和/或请求),这可以使自动助手执行以下操作:生成并提供响应输出、控制一个或多个物联网(IoT)设备、和/或执行一个或多个其他功能。用户提供的输入可以是例如:口头自然语言输入(即话语),在一些情况下可以将其转换为文本(或其他语义表示),然后进一步处理;和/或键入的自然语言输入。
在一些情况下,自动助手可以包括:由客户端设备在本地执行并由用户直接参与的自动助手客户端;以及,可以利用云的几乎无限资源来帮助自动助手客户端响应用户的输入的基于云的对等方。例如,自动助手客户端可以向基于云的对等方提供:用户的话语的音频记录(或其文本转换);以及可选地,指示用户身份的数据(例如,凭证)。基于云的对等方可以对查询执行各种处理,以将结果返回到自动助手客户端,其然后可以向用户提供相应的输出。
许多用户可以使用多个客户端设备来使用自动助手。例如,一些用户可能拥有客户设备的协调“生态系统”,例如一个或多个智能电话、一个或多个平板计算机、一个或多个车辆计算系统、一个或可穿戴计算设备、一个或多个智能电视和/或一个或多个独立的交互式扬声器以及其他客户端设备。用户可以使用这些客户端设备中的任何一个与自动助手进行人机对话(假设已安装自动助手客户端)。在一些情况下,这些客户端设备可能分散在用户的主要住宅、次要住宅、工作场所和/或其他结构周围。例如,诸如智能电话、平板电脑、智能手表等的移动客户端设备可以在用户的个人上和/或用户最后将它们放置在的任何地方。其他客户端设备,诸如传统的台式计算机、智能电视和独立的交互式扬声器可能会更固定,但仍可以位于用户的住所中或工作场所中的各个位置(例如,房间)。
存在使用户(例如,单个用户、一个家庭中的多个用户、同事、同居者等)能够利用客户端设备的坐标生态系统中的任何一个的自动助手客户端来控制与自动助手客户端关联的多个IoT设备的任何一个的技术。例如,用户可以向客户端设备的自动助手客户端发出“关闭客厅灯(turn off the living room lights)”的口头命令,以使对应的IoT设备(即链接到自动助手客户端并标记为“客厅”的灯)关闭。此外,自动助手客户端可以响应于口头命令而提供响应输出,诸如指示关闭灯的命令已被执行(并且可选地指示其是否成功)的响应输出。
还存在使用户能够利用客户端设备的自动助手客户端来明确地请求IoT设备的状态并作为响应接收该状态的指示的技术。例如,响应于“恒温器设置是什么(what is thethermostat setting)”的话语,一些自动助手可以确定恒温器IoT设备的当前温度设置,并提供指示当前温度设置的响应输出。然而,这样的技术要求用户通过经由客户端设备的自动助手客户端提供的用户输入来明确地请求IoT设备的状态。此外,这样的技术会负担计算和/或网络资源。例如,这样的技术要求:客户端设备处理用户的请求,客户端设备将与该请求相对应的数据发送到远程自动助手组件,远程自动助手组件与单独的IoT系统交互以确定状态,并且远程自动助手组件将指示状态的响应发送到客户端设备。
发明内容
本文描述的实施方式涉及生成基于IoT的通知以及提供命令以致使客户端设备的自动助手客户端自动呈现基于IoT的通知。例如,远程自动助手组件(在本文中也称为“基于云的自动助手组件”)可以基于接收到的IoT状态改变通知来生成客户端设备通知,接收到的IoT状态改变通知指示与至少一个IoT设备相关联的至少一个状态的改变。所生成的客户端设备通知可以分别指示与至少一个IoT设备相关联的状态改变,并且可以可选地指示至少一个IoT设备。而且,远程自动助手组件可以识别与至少一个IoT设备相关联的候选助手客户端设备(即,各自包括自动助手客户端的客户端设备),并确定一个或多个候选助手客户端设备中的每个是否应该呈现对应的客户端设备通知。然后,远程自动助手组件可以将对应命令发送到确定应该呈现对应的客户端设备通知的每个助手客户端设备,其中,每个发送的命令都致使对应助手客户端设备呈现对应客户端设备通知。例如,可以将命令发送到第一助手客户端设备以致使第一助手客户端设备自动地在听觉上呈现客户端设备通知,可以将命令发送到第二助手客户端设备以致使第二助手客户端设备自动地在听觉上呈现相同的客户端设备通知,等等。例如,命令可以致使客户端设备自动呈现,而与明确地请求呈现通知的任何用户界面输入无关,甚至根本与任何用户界面输入(例如,响应于接收而呈现)无关。作为一个特定实例,命令可以包括客户端设备通知的文本,并且这些命令可以致使助手客户端设备执行文本到文本的语音转换,并经由其扬声器来呈现对应的音频数据。
在本文描述的一些实施方式中,发送到助手客户端设备以致使该助手客户端设备呈现客户端设备通知的命令还可以致使该客户端设备在该客户端设备通知已经至少部分地被呈现之后的一段时间内自动监视语音输入,并且发送与在自动监视期间检测到的话语相对应的数据。以这种方式,由于用户不必首先明确地调用助手客户端设备的助手客户端(例如,通过首先说出调用词组,诸如“嘿,助手(Hey,Assistant)”,或按一个调用按钮),因此用户可以以减少的输入量来提供与客户端设备通知有关的话语。这可以节省助手客户端设备的资源,因为调用助手客户端设备的输入不必由助手客户端设备进行处理。
此外,在这些实施方式中的一些实施方式中,自动助手(自动助手客户端设备和/或远程自动助手组件)处理话语,并基于话语的处理和基于在自动监视语音输入期间检测到话语执行进一步的助手动作。例如,自动助手可以基于通过执行话语的语音到文本的转换而生成的文本,以及基于值——该值是基于在监视语音输入期间检测到的话语而推断出的,来生成其他助手动作。推断值可以基于客户端设备通知所基于的客户端设备通知和/或IoT状态改变通知。作为一个特定示例,如果客户端设备通知为“您的前门锁未锁(yourfront door lock is unlocked)”,并且在监视期间提供的话语为“将它锁住(lock it)”,则自动助手可以针对“它(it)”推断“前门锁”的值,并生成并发送一个IoT命令,该命令会导致“前门锁”的“未锁”状态改变为“已锁”状态。以这些和其他方式,用户可以响应于客户端设备通知而提供较短的话语,因为如上所述可以代之以推断话语中通常需要的值。这可以节省助手客户端设备和/或远程自动助手组件的资源,因为由于较短的话语而需要发送和/或处理较少的音频数据(例如,语音到文本)。
在本文所述的一些附加或替代实施方式中,响应于接收到的IoT状态改变通知,远程自动助手组件确定应致使哪个(哪些)客户端设备(如果有的话)呈现客户端设备通知。远程自动助手组件可以基于接收到的IoT状态改变通知的属性、与该客户端设备相关联的当前属性、一天中的时间、一周中的星期几和/或一个或多个其他条件,确定应使哪个(些)客户端设备(如果有)呈现客户端设备通知。基于这样的考虑,响应于所接收到的IoT状态改变通知,远程自动助手组件可以因此选择性地将命令发送到少于所有(在一些情况下,0个)助手客户端设备。以这些和其他方式,与客户端设备的生态系统相关联的每个IoT设备的每个IoT状态改变通知不会导致生态系统的每个客户端设备呈现对应的客户端设备通知。而是,少于全部(在一些情况下,0个)的客户端设备为一个或多个状态改变通知呈现对应的客户端设备通知。由于在各种情况下命令没有被发送到客户端设备或未被客户端设备处理,这可以节省客户端设备处的计算资源。此外,这还可以通过减少在各种情况下需要发送的命令数量来节省网络资源。
提供以上描述仅作为本公开的一些实施方式的概述。在本文中更详细地描述了那些实施方式以及其他实施方式的进一步描述。作为一个非限制性示例,在本文括的权利要求中更详细地描述了各种实施方式。
另外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中,一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且其中,所述指令被配置为引起本文所述的任何方法的执行。一些实施方式还包括一个或多个非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以执行本文所述的任何方法的计算机指令。
应当理解,本文中更详细描述的前述概念和附加概念的所有组合被认为是本文公开的主题的一部分。例如,出现在本公开的结尾处的要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
图1A是其中可以实现本文公开的实施方式的示例环境的框图。
图2A1、2A2、2A3、2A4、2B,2C和2D描绘了根据各种实施方式与自动呈现基于IoT的客户端设备通知的客户端设备相关联的一些示例。
图3示出了根据各种实施方式的示例状态图。
图4示出了根据各种实施方式的另一示例状态图。
图5示出了根据各种实施方式的又一示例状态图。
图6示出了计算设备的示例架构。
具体实施方式
存在大量的智能、多感测网络连接设备(在本文中也称为IoT设备),诸如扬声器、住所警报器、门锁、摄像机、照明系统、跑步机、恒温器、体重秤、智能床、灌溉系统、车库门开启器、电器、婴儿监视器、火灾警报器、湿度检测器等。通常,多个IoT设备位于诸如住所的结构的范围内——或位于多个相关结构内,诸如用户的主要住所以及用户的次要住所和/或工作地点。
此外,存在大量的助手客户端设备,每个助手客户端设备包括可以与一个或多个远程自动助手组件交互以形成助手的逻辑实例的助手客户端。助手客户端设备可以专门用于助手功能(例如,仅包括助手客户端和相关接口的独立扬声器和/或独立音频/视频设备,并且专门用于助手功能),或者除其他功能外还可以执行助手功能(例如,包括助手客户端作为多个应用之一的手机或平板电脑)。而且,一些IoT设备也可以是助手客户端设备。例如,一些IoT设备可以包括助手客户端以及至少(至少部分)用作用于助手客户端的助手界面的用户界面输出和/或输入设备的扬声器和/或麦克风。
已经提出了各种技术来将IoT设备与自动助手的对应逻辑实例(以及可选地与各个助手客户端设备)相关联。例如,用户、用户的组、一个助手客户端设备和/或一组助手客户端设备(例如,全部在一个结构内)可以与多个不同的IoT设备链接(例如,在一个或多个数据库中)链接,以使得能够通过自动助手与IoT设备进行交互(例如控制)。例如,家庭中的多个助手客户端设备中的每一个都可以链接到家庭中的多个不同的IoT设备中的每一个,以使任何用户(或受限的用户的组)能够与任何一个助手客户端设备进行交互,以与多个不同的IoT设备中的任何一个交互。
这样的链接的一个示例是设备拓扑表示,该设备拓扑表示可以由用户创建和/或自动创建,并且其可以定义各种助手客户端设备、各种IoT设备、其每个的标识符和/或其每个的属性。例如,设备的标识符可以指定设备所位于的结构的房间(和/或其他区域)(例如客厅、厨房)和/或可以指定设备的昵称和/或别名(例如沙发灯、前门锁、卧室扬声器、厨房助手等)。以这种方式,设备的标识符可以是用户可能与各个设备相关联的各个设备的名称、别名和/或位置。
设备拓扑表示可以进一步指定与各个设备相关联的一个或多个设备属性。助手客户端设备的设备属性可以例如与该助手客户端设备支持的一个或多个输入和/或输出模态相关联。例如,独立的仅说话者助手客户端设备的设备属性可以指示它能够提供可听的输出,但不能提供视觉输出。IoT设备的设备属性可以例如与和该IoT设备相关联的一个或多个状态——诸如可以由IoT设备本身确定的状态和/或来自于该IoT设备的数据可以用于确定的一个或多个状态——相关联。例如,与照明设备相关联的设备属性可以包括开启状态、关闭状态、调光状态等。作为另一示例,自动门锁定设备可以包括锁定状态和解锁状态。作为又一个示例,具有摄像头的智能门铃可以包括振铃状态(例如,当智能门铃的按钮被致动时被激活)、物体检测状态(例如,基于来自摄像头的数据)等。
本文描述的实施方式涉及通过远程自动助手组件接收响应于各种IoT设备的状态改变而生成的IoT状态改变通知。这些实施方式还涉及通过远程自动助手组件基于各种标准来确定何时和/或如何经由与那些IoT设备相关联的客户端设备的助手接口来致使对应客户端设备通知的呈现。更进一步,那些实施方式涉及当确定应该呈现基于IoT的客户端设备通知时,向客户端设备发送命令,以致使那些客户端设备的助手接口自动呈现客户端设备通知,并可选地以确定的方式呈现它们。
现在转向图1,示出了其中可以实现本文公开的技术的示例环境。示例环境包括多个客户端计算设备1061-N(在本文中也简称为“客户端设备”)、一个或多个基于云的自动助手组件119、一个或多个IoT系统140、IoT设备1451-N和用户信息数据库135。图1的客户端设备106和IoT设备145表示至少有选择地彼此关联(例如,经由设备拓扑)的客户端设备和IoT设备。例如,IoT设备145可以全部在住所处(例如,在住所的内部和/或外部),客户端设备106可以至少偶尔在同一住所中,并且IoT设备145和客户端设备106可以利用一种或多种技术(例如,本文描述的那些)彼此链接。通过这种关联,根据本文描述的实施方式,一个或多个用户可以利用自动助手客户端106与IoT设备145进行交互和/或可以使与一个或多个IoT设备145有关的通知在一个或多个客户端设备106上自动呈现。
每个客户端设备106可以执行自动助手客户端118的相应实例。自动助手客户端118的实例可以是与客户端设备116的操作系统分离的应用(例如,安装在操作系统的“顶部”)——或者可以直接由客户端设备116的操作系统实现。
可以在经由一个或多个局域网(“LAN”,包括Wi-Fi LAN、网状网络等)和/或广域网(例如互联网)通信地耦合到客户端设备1061-N的一个或多个计算系统(统称为“云”或“远程”计算系统)上实现一个或多个基于云的自动助手组件119。基于云的自动助手组件119与客户端设备1061-N的通信耦合由图1的1101一般地指示。
基于云的自动助手组件119也可以经由一个或多个网络与一个或多个IoT系统140通信地耦合。基于云的自动助手组件119与IoT系统140的通信耦合由图1的1103一般地指示。此外,IoT系统140每个可以经由一个或多个网络通信地耦合到一个或多个IoT设备1451-N的对应组。例如,第一IoT系统140可以与第一组一个或多个IoT设备1451通信地耦合,并从其接收数据,第二IoT系统140可以与第二组的一个或多个IoT设备145N通信地耦合,并从第二组接收数据,等等。IoT系统140与IoT设备145的通信耦合由图1的1104一般地指示。而且,在一些实施例中,多个客户端设备1061-N可以经由一个或多个网络彼此通信地耦合,其由图1的1101一般地指示。
在一些实施方式中,多个客户端计算设备1061-N和IoT设备1451-N可以以各种方式彼此关联,以便于执行本文描述的技术。例如,在一些实施方式中,多个客户端计算设备1061-N和IoT设备1451-N可以借助于经由一个或多个LAN通信地耦合而彼此关联。例如,在多个客户端计算设备1061-N跨诸如住所和建筑物等的特定区域或环境部署的情况下可能就是这种情况。附加地或替代地,在一些实施方式中,多个客户端计算设备1061-N和IoT设备1451-N可以彼此相关联,因为它们是一个或多个用户(例如,个人、家庭、组织的雇员、其他预定义的组等)至少有选择地访问的客户端设备106和IoT设备1451-N的协调生态系统的成员。在那些实施方式中的一些中,客户端设备106和IoT设备1451-N的生态系统可以在设备拓扑中彼此手动和/或自动地关联。
自动助手客户端118的实例通过其与一个或多个基于云的自动助手组件119的交互,可以形成从用户的角度来看似乎是用户可能会使用其来参与人机对话的自动助手120的逻辑实例。在图1中描绘了这种自动助手120的两个实例。虚线包围的第一自动助手120A包括客户端设备1061的自动助手客户端1181和一个或多个基于云的自动助手组件119。双点划线所包围的第二自动助手120B包括客户端设备106N的自动助手客户端118N和一个或多个基于云的自动助手组件119。因此,应该理解,与在客户端设备106上执行的自动助手客户端118进行交互的每个用户实际上可以与自动助手120的他或她自己的逻辑实例(或在家庭或其他用户组之间共享的自动助手120的逻辑实例)交互。为了简洁和简单起见,本文所使用的术语“自动助手”将指代在客户端设备106上执行的自动助手客户端118和一个或多个基于云的自动助手组件119(可以在多个自动助手客户端118之间共享)的组合。尽管在图1中仅示出了多个关联的客户端设备106,但是,应当理解,基于云的自动助手组件119可以另外服务于关联的客户端设备的许多其他组。
客户端设备1061-N可以包括例如以下一项或多项:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户车辆的计算设备(例如、车载通信系统、车载娱乐系统、车载导航系统)、独立交互式扬声器、诸如智能电视的智能电器和/或用户的包括计算设备的可穿戴装置(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)。可以提供附加的和/或替代的客户端计算设备。
IoT系统140可以包括一个或多个第三方(3P)系统和/或一个或多个第一方(1P)系统。如本文所使用的,第三方系统引用由与控制所引用的自动助手的一方不同的一方控制的系统。第一方系统引用由与控制所引用的自动助手的一方相同的一方控制的系统。
IoT系统140从通信地耦合到其的IoT设备145接收数据,并且有选择地将基于接收到的数据的IoT状态改变通知发送到基于云的自动助手组件119。例如,假定IoT设备1451包括智能门铃IoT设备。响应于个人按下门铃IoT设备上的按钮,门铃IoT设备可以将对应的数据发送到IoT系统140之一(例如,由门铃的制造商管理的IoT系统之一)。IoT系统140中之一可以基于这样的数据来确定门铃IoT设备的状态的变化。例如,IoT系统140之一可以确定门铃从非活动状态(例如,没有最近按下按钮)到活动状态(最近按下按钮)的变化。此外,IoT系统140之一可以将对应的IoT状态改变通知发送到基于云的自动助手组件119。所发送的IoT状态改变通知可以是结构化的数据,其包括例如:指示与至少一个IoT设备相关联的状态改变(例如,指示“门铃响”或“门口有人”)的状态指示;唯一标识符,其使基于云的自动助手组件119能够识别与至少一个IoT设备相关联的客户端设备;以及,可选的至少一个IoT设备的指示(例如,“门铃”的一般指示、“前门门铃”的更具体指示或甚至该门铃特有的唯一标识符)。应当注意,在一些实施方式中,特定于该门铃的唯一标识符也可以用作使得自动助手能够识别与至少一个IoT设备相关联的客户端设备的唯一标识符。例如,特定于该门铃的唯一标识符可以用于识别设备拓扑中的门铃以及与所识别的该设备拓扑中的该门铃相关联的客户端设备。
基于云的自动助手组件119可以利用接收到的IoT状态改变通知的唯一标识符来识别一个或多个候选客户端设备。例如,IoT通知引擎130可以基于所包括的唯一标识符被(直接或间接地)映射到用户信息数据库135中的客户端设备106,针对所接收的IoT状态改变通知识别图1的客户端设备106。例如,IoT通知引擎130可以利用该唯一标识符来识别用户信息数据库135中的助手账户,并且可以识别客户端设备106,该客户端设备106在用户信息数据库135中链接到该助手账户,并且可选地与在IoT状态改变通知中指示的至少一个IoT设备链接(例如,当助手账户的不同客户端设备链接到不同的IoT设备时)。作为另一示例,唯一标识符可以是特定于至少一个IoT设备的唯一标识符,并且IoT通知引擎130可以利用唯一标识符来识别用户信息数据库135中的至少一个IoT设备并且识别在数据库135中链接到该IoT设备的客户端设备106。IoT通知引擎130可以利用用户信息数据库135中的一个或多个设备拓扑表示和/或其他数据结构来识别候选客户端设备。
IoT通知引擎130还可以为一个或多个所识别的客户端设备106生成一个或多个客户端设备通知。IoT通知引擎130的组件可以基于状态改变通知并且可选地基于要在其处呈现客户端设备通知的客户端设备106的一个或多个属性来生成客户端设备通知。例如,IoT通知引擎130可以生成客户端设备通知,该客户端设备通知包括基于IoT状态改变通知的状态指示以及基于状态改变通知的至少一个IoT设备的指示而选择的文本内容。例如,文本内容可以是“有人在前门”,可以基于指示“门铃响”的状态的指示来选择“有人在”,并且可以基于包括“前门”的描述符至少一个IoT设备或被映射到具有“前门”的描述符的设备(例如,在设备拓扑表示中)的指示来选择“前门”。
作为另一示例,可以基于状态改变通知的一个或多个属性来选择存储的模板,并且IoT通知引擎130可以基于状态改变通知来填充模板。例如,模板[[<"somebody"ifperson=unknown>、<"friend"if person=known,but no description>或<"description"if person=known,with description>]"is at<IoT descriptor>"]可以分配给指示“门铃响”的状态改变通知,并且可以由IoT通知引擎130用来生成文本内容。例如,接收到的IoT状态改变通知可以包括指示“门铃响”的状态指示、作为“前门”的文字描述的至少一个IoT设备的指示以及指示该门铃响是由具有“鲍勃”的描述的已知人员做出的附加数据。在这种情况下,模板可用于生成“鲍勃在前门”的文本内容,其中,基于所包括的人的描述并基于IoT状态改变停止满足模板的条件“if person=known,with description”而包括“鲍勃”。另一方面,如果IoT状态改变通知代替地指示门铃响是由未知的人执行的,该模板可用于生成“某人在前门”的文本内容,其中,基于模板的条件“if person=unknown”被IoT状态改变通知满足而包括“某人”。
IoT通知引擎130可以确定一个或多个助手客户端设备106中的每一个是否应该呈现对应的客户端设备通知。然后,IoT通知引擎130可以向其确定应呈现对应的客户端设备通知(如果有的话)的每个客户端设备106发送对应的命令,其中,每个发送的命令使对应的客户端设备106呈现对应的客户端设备通知。例如,IoT通知引擎130可以将命令发送到客户端设备1061以致使客户端设备1061自动在听觉上呈现客户端设备通知,并且IoT通知引擎130可以将命令发送至客户端设备106N以致使客户端设备106N自动地在听觉上呈现相同的客户端设备通知,等等。例如,命令可以致使客户端设备自动呈现,而与明确地请求呈现通知的任何用户界面输入无关,甚至根本与任何用户界面输入(例如,响应于接收的呈现)无关。在这种情况下,命令可以进一步致使立即自动呈现。即,认识到在处理命令和/或呈现所需的处理中可能存在轻微的延迟,在接收到命令之后尽快由客户端设备进行呈现。
在一些实施方式中,IoT通知引擎130可以基于接收到的IoT状态改变通知的属性、与客户端设备相关联的当前属性、一天中的时间、星期几和/或一个或多个其他条件来确定应当使哪个(哪些)客户端设备(如果有的话)呈现客户端设备通知。基于这样的考虑,因此,IoT通知引擎130可以响应于接收到的IoT状态改变通知而选择性地向少于所有(在一些情况下为0个)助手客户端设备发送命令。
在一些实施方式中,由IoT通知引擎130发送到客户端设备106以致使客户端设备呈现客户端设备通知的命令还可以致使客户端设备在客户端设备通知已经被至少部分地呈现之后的一段时间内自动监视语音输入,并且发送与在自动监视期间检测到的话语相对应的数据(例如,音频数据或其转换)。基于云的自动助手组件119可以接收和处理所发送的数据,并且基于对话语的处理并且基于在语音输入的自动监视期间检测到的话语来执行进一步的助手动作。例如,自动助手可以基于通过执行话语的语音到文本的转换而生成的文本,以及基于值——该值是基于在监视语音输入期间检测到的话语而推断出的,来生成其他助手动作。推断值可以基于客户端设备通知和/或客户端设备通知所基于的IoT状态改变通知。作为一个特定示例,如果客户端设备通知为“您的智能吸尘器在报告刷坏了(yoursmart vacuum is reporting a broken brush)”,并且监视期间提供的话语为“我可以在哪里得到一个新的(where can I get a new one)”,则自动助手可以推断出针对“一个”的“智能真空刷”的值,基于“我在哪里可以得到新的智能真空刷”生成响应内容,并提供响应内容以通过客户端设备进行呈现。本文提供了IoT通知引擎130的实施方式的附加描述(例如,在与图2A1-5有关的描述中)。
在各种实施方式中,一个或多个客户端计算设备1061-N可以包括一个或多个存在传感器1051-N,其被配置为在对应用户的同意下提供指示检测到的存在,特别是人类存在的信号。在那些实施方式中的一些中,IoT通知引擎130可以确定应该仅在用户(并且可选地,特定用户)当前靠近和/或最近靠近的客户端设备106处呈现客户端设备通知。如本文所述,IoT通知引擎130可以利用基于存在传感器1051-N确定的数据来确定用户靠近或最近靠近的那些客户端设备106,并且仅向那些客户端设备106提供对应的命令。在一些其他或替代实施方式中,IoT通知引擎130可以利用基于存在传感器1051-N确定的数据来确定当前是否有任何用户(任何用户或特定用户)接近任何客户端设备106,并且基于当确定没有用户(任何用户或特定用户)靠近任何一个或多个客户端设备106时抑制命令的提供。因此,以这些和其他方式,可以抑制否则将已经提供的命令(在不确定没有用户接近任何一个或多个客户端设备106的情况下),从而减轻那些客户端设备106的资源过度消耗。
存在传感器1051-N可以具有各种形式。一些客户端设备106可以配备有一个或多个数字相机,其被配置为捕获并提供指示在其视场中检测到的运动的信号。附加地或可替代地,一些客户端设备106可以配备有其他类型的基于光的存在传感器105,诸如测量从其视场内的物体辐射的红外(“IR”)光的无源红外(“PIR”)传感器。附加地或替代地,一些客户端设备106可以配备有检测声(或压力)波的存在传感器105,诸如一个或多个麦克风。此外,除了客户端设备106之外,一些IoT设备145可以附加地或可替代地包括存在传感器105,并且根据在这里所描述的实施方式,自动助手还可以利用来自这种传感器的提供的信号来确定是否和/或如何呈现通知。
附加地或替代地,在一些实施方式中,存在传感器105可以被配置为检测与人类存在相关的其他现象。例如,在一些实施例中,客户端设备106可以配备有存在传感器105,该存在传感器105检测例如由特定用户携带/操作的移动客户端设备106发出的各种类型的波(例如,无线电波、超声波、电磁波等)。例如,一些客户端设备106可以被配置为发射人类不可察觉的波,例如超声波或红外线,其可以被其他客户端设备106检测到(例如,经由诸如具有超声波能力的麦克风的超声波/红外接收器)。
附加地或可替代地,各种客户端设备106可以发射其他类型的人类无法感知的波,例如可以被一个或多个其他客户端设备106检测到并用于确定操作用户的特定位置的无线电波(例如,Wi-Fi、蓝牙、蜂窝等)。在一些实施方式中,Wi-Fi三角测量可用于例如基于去往/来自客户端设备106的Wi-Fi信号来检测人的位置。在其他实施方式中,其他无线信号特性,例如飞行时间、信号强度等,可以被各种客户端设备106单独或共同使用,以基于由特定用户携带的客户端设备106发出的信号来确定他们的位置。
附加地或可替代地,在一些实施方式中,一个或多个客户端设备106可以执行语音识别以从个人的语音中识别个人。例如,例如出于提供/限制对各种资源的访问的目的,一些自动助手120可以被配置为使语音与用户的简档匹配。在一些实施方式中,然后例如可以通过可以结合在例如IoT设备中的一个或多个其他存在传感器来确定扬声器的运动。在一些实施方式中,基于这种检测到的移动,可以预测个人的位置,并且当基于一个或多个客户端设备到个人的位置的接近度使得在一个或多个客户端设备处使客户端设备通知被呈现时,可以将该位置假定为该个人的位置。在一些实施方式中,可以简单地假设一个人处于他或她与自动助手120交互的最后位置,尤其是如果自从上一次交互以来没有经过太多时间。
每个客户端计算设备1061-N还包括用户界面组件1071-N,每个用户界面组件可以包括一个或多个用户界面输入设备(例如,麦克风、触摸屏、键盘)和/或一个或多个用户界面输出设备(例如,显示器、扬声器、投影仪)。作为一个示例,用户界面组件1071可以仅包括扬声器和麦克风,而用户界面组件107N可以包括扬声器、触摸屏和麦克风。
每个客户端计算设备1061-N和运行基于云的自动助手组件119的一个或多个计算设备可以包括一个或多个用于存储数据和软件应用的存储器、一个或多个用于访问数据并执行应用的处理器以及其他有助于通过网络进行通信的组件。由一个或多个客户端计算设备1061-N和/或由自动助手120执行的操作可以分布在多个计算机系统上。自动助手120可以被实现为例如在通过网络彼此耦合的一个或多个位置中的一台或多台计算机上运行的计算机程序。
如上所述,在各种实施方式中,每个客户端计算设备1061-N可以操作自动助手客户端118。在各个实施例中,每个自动助手客户端118可以包括对应的语音捕获/文本到语音转换(TTS)/语音到文本(STT)模块114。在其他实施方式中,语音捕获/TTS/STT模块114的一个或多个方面可以与自动助手客户端118分开实现。
每个语音捕获/TTS/STT模块114可以被配置为执行一个或多个功能:捕获用户的语音(例如,经由麦克风(其在一些情况下可以包括存在传感器105)进行语音捕获);将捕获的音频转换为文本和/或其他表示或嵌入(STT);以及/或者,将文本转换为话语(TTS)。在一些实施方式中,因为客户端设备106可能在计算资源(例如,处理器周期、存储器、电池等)方面受到相对限制,所以每个客户端设备106本地的语音捕获/TTS/STT模块114可以被配置为将有限数量的不同口语短语转换为文本(或转换为其他形式,例如较低维度的嵌入)。其他语音输入可以被发送到基于云的自动助手组件119,其可以包括基于云的TTS模块116和/或基于云的STT模块117。
基于云的STT模块117可以被配置为利用云的几乎无限的资源来将由语音捕获/TTS/STT模块114捕获的音频数据转换成文本(然后可以将其提供给自然语言处理器122)。基于云的TTS模块116可以被配置为利用云的几乎无限的资源来将文本数据(例如,由自动助手120制定的文本)转换为计算机生成的语音输出。在一些实施方式中,TTS模块116可以将计算机生成的语音输出提供给客户端设备106以例如使用一个或多个扬声器来直接输出。在其他实施方式中,可以将由自动助手120生成的文本数据(例如,命令中包括的客户端设备通知)提供给语音捕获/TTS/STT模块114,语音捕获/TTS/STT模块114然后可以将文本数据本地转换为通过本地扬声器呈现的计算机生成的话语。
自动助手120(特别是基于云的自动助手组件119)可以包括自然语言处理器122、上述TTS模块116、上述STT模块117和其他组件,下面将更详细地描述其中的一些。在一些实施方式中,可以在与自动助手120分离的组件中省略、组合和/或实现自动助手120的一个或多个引擎和/或模块。
在一些实施方式中,自动助手120响应于在与自动助手120的人机对话会话期间由客户端设备1061-N之一的用户生成的各种输入来生成响应内容。自动助手120可以提供响应内容(例如,当与用户的客户端设备分开时,通过一个或多个网络)作为对话会话的一部分呈现给用户。例如,自动助手120可以响应于经由客户端设备1061-N之一提供的自由形式的自然语言输入而生成响应内容。如本文所使用的,自由形式的输入是由用户制定的并且不限于呈现给用户选择的一组选项的输入。
自动助手120的自然语言处理器122处理用户通过客户端设备1061-N生成的自然语言输入,并可以生成注释输出,以供自动助手120的一个或多个其他组件使用。例如,自然语言处理器122可以处理用户通过客户端设备1061的一个或多个用户界面输入设备生成的自然语言自由格式输入。所生成的注释输出包括自然语言输入的一个或多个注释,并且可选地包括自然语言输入的一个或多个(例如,全部)术语。
在一些实施方式中,自然语言处理器122被配置为识别和注释自然语言输入中的各种类型的语法信息。例如,自然语言处理器122可以包括词性标记器,该词性标记器被配置为用术语的语法角色来注释术语。在一些实施方式中,自然语言处理器122可以附加地和/或可选地包括实体标记器(未示出),该实体标记器被配置为在一个或多个片段中注释实体引用,诸如对人(包括例如文学人物、名人、公众人物等)、组织和位置(真实的和虚构的)等等的引用。在一些实施方式中,关于实体的数据可以存储在一个或多个数据库中,例如知识图(未示出)中。在一些实施方式中,知识图可以包括代表已知实体的节点(在一些情况下,实体属性)以及连接节点并代表实体之间关系的边缘。
自然语言处理器122的实体标记器可以以较高的粒度级别(例如,以使得能够识别对诸如人的实体类的所有引用)和/或较低的粒度级别(例如,以使得能够识别对诸如特定人员的特定实体的所有引用)来注释对于实体的引用。实体标记器可以依赖于自然语言输入的内容来解析特定实体和/或可以可选地与知识图或其他实体数据库进行通信以解析特定实体。
在一些实施方式中,自然语言处理器122可以附加地和/或可替代地包括被配置为基于一个或多个上下文线索来对同一实体的引用进行分组或“聚类”的共参考解析器(未示出)。例如,基于紧接在接收自然语言输入“将它锁住”之前呈现的客户端设备通知中提到的“前门锁”,可以使用共参考解析器将自然引用输入“将它锁住”中的术语“它”解析为“前门锁”。
在一些实施方式中,自然语言处理器122的一个或多个组件可以依赖于来自自然语言处理器122的一个或多个其他组件的注释。例如,在一些实施方式中,命名实体标记器可以依赖于来自共引用解析器和/或依赖解析器的注释,以对特定实体的所有注释进行注释。同样,例如,在一些实施方式中,在将对同一实体的引用聚类时,共引用解析器可能依赖于来自依赖解析器的注释。在一些实施方式中,在处理特定自然语言输入时,自然语言处理器122的一个或多个组件可以使用特定自然语言输入之外的相关数据来确定一个或多个注释——诸如紧接在接收自然语言输入之前呈现的客户端设备通知和/或客户端设备通知所基于的IoT状态改变通知。
现在参考图2A1、2A2、2AS,2A4、2B,2C和2D提供图1的各种组件的附加描述。这些图的每一个中都描绘了住所平面图。所描绘的平面图包括多个房间250-262。在至少一些房间中部署了多个客户端设备1061-4。每个客户端设备106可以实现配置有本公开的所选方面的自动助手客户端118的实例,并且可以包括诸如麦克风的一个或多个输入设备,其能够捕获附近的人说出的话语。例如,采取独立交互式扬声器和显示设备(例如,显示屏、投影仪等)形式的第一客户端设备1061被部署在房间250中,房间250在该示例中是厨房。采取所谓的“智能”电视形式的第二客户端设备1062(例如,具有实现自动助手客户端118的实例的一个或多个处理器的联网电视)被部署在房间252中,该房间252在本示例中是书房。采用交互式独立扬声器形式的第三客户端设备1063被部署在房间254中,该房间254在本示例中是卧室。采用另一交互式独立扬声器形式的第四客户端设备1064被部署在房间256中,该房间256在本示例中是起居室。
虽然在图2中未示出,多个客户端设备1061-4可以经由一个或多个有线或无线LAN(例如,图1A中的1102)彼此通信耦合和/或与其他资源(例如,因特网)通信耦合。另外,也可能存在其他客户端设备,特别是诸如智能手机、平板电脑、笔记本电脑、可穿戴设备等的移动设备,例如由一个或多个人在家中携带其他客户端设备,并且其他客户端设备可能会也可能不会连接到同一局域网。应当理解,图2中所描绘的客户端设备的配置只是一个示例;可以跨除住所外的任意数量的其他房间和/或区域部署更多或更少和/或不同的客户端设备106。
在图2A1-2D的每个中进一步描绘了多个IoT设备1451-5。例如,呈智能门铃形式的第一IoT设备1451部署在住所的外部,靠近住所的前门。呈智能锁形式的第二IoT设备1452被部署在住所的外部的住所的前门上。呈智能洗衣机的形式的第三IoT设备1453被部署在房间262中,该房间262在该示例中是洗衣室。呈门打开/关闭传感器形式的第四IoT设备1454部署在房间162中的后门附近,并检测后门是打开还是关闭。呈智能恒温器形式的第五IoT设备1455被部署在房间252中,该房间252在该示例中是书房。
每个IoT设备145可以与相应的IoT系统140(图1)通信(例如,经由因特网),以向IoT系统提供数据,并且可选地基于由IoT系统提供的命令进行控制。应当理解的是,图2A1-2D中所示的IoT设备145的配置只是一个示例;可以在除住所之外的任何数量的其他房间和/或区域中部署更多或更少和/或不同的IoT设备145。
图2A1示出了客户机设备1061、1062和1064,它们均经由相应扬声器来呈现“有人在门口”的相同的可听见的客户机设备通知。客户端设备1061、1062和1064每个都可以响应于由基于云的自动助手组件119发送的接收到的命令来提供听觉通知。例如,每个命令可以包括客户端设备通知文本“有人在门口”以及客户端设备应对文本执行文本到语音处理并致使立即自动在听觉上呈现结果产生的语音音频数据的指示。作为另一个示例,每个命令可以包括音频数据(例如,基于文本到语音处理TTS组件116生成),该音频数据包括:用于客户端设备通知文本“有人在门口”的语音;以及,客户端设备应致使立即自动可听地呈现音频数据的指示。
IoT通知引擎130可以生成客户端设备通知并且响应于从IoT系统140之一接收到对应的IoT状态通知来使得发送对应的命令。例如,IoT系统140之一可以提供IoT状态通知,其指示智能门铃IoT设备1451的门铃响。可以响应于从智能门铃IoT设备1451接收到对应的数据,由IoT系统之一生成并提供IoT状态通知。
值得注意的是,在图2A1中,客户端设备1063不提供与客户端设备通知相对应的任何输出。这可以是由于客户端设备1063没有从基于云的自动助手组件119接收命令而导致的。IoT通知引擎130可以基于各种标准确定在客户端设备1063处不致使客户端设备通知的呈现(并且因此不会向其提供命令)。通过不致使在客户端设备1063上的客户端设备通知的呈现,可以节省客户端设备1063的资源。此外,通过不向客户端设备1063提供命令,也可以节省基于云的自动助手组件119的资源。还可以节省否则将用于从基于云的自动助手组件119向客户端设备1063提供命令的网络资源。作为一个示例,存储在用户信息数据库135中的手动创建和/或自动确定的规则可以控制客户端设备1063永不呈现任何通知,并且通知引擎130可以基于这样的规则来排除客户端设备1063。作为另一示例,存储在用户信息数据库135中的规则可以控制客户端设备1063永不呈现特定类型的通知,例如“门铃响”通知或来自门铃IoT设备1451的通知,并且通知引擎130可以根据此类规则排除客户端设备1063。作为又一示例,存储在用户信息数据库135中的规则可以控制当满足一个或多个其他条件(诸如处于一天中的特定时间、处于一周的特定日期、缺少在客户端设备1063附近检测到的用户(任何用户或特定用户)的存在和/或客户端设备1063处于一个或多个预定义状态(例如,“睡眠”状态、主动提供任何其他类型的输出的状态、主动提供特定类型的输出(例如音乐)的状态等))时,客户端设备1063永不呈现特定类型的通知,并且通知引擎130可以基于这样的规则排除客户端设备1063。用户信息数据库135中的任何手动策划的规则都可以包括适用于多个用户或多个生态系统的全局规则中的一个或两者,以及可以仅适用于单个用户或单个生态系统(并且可以是由单个用户或单个生态系统的一个或多个用户策划)。此外,在各种实施方式中,可以通过一个或多个训练有素的机器学习模型来补充或替换一个或多个规则。
现在转到图2A2,在家中的用户在呈现图2A1的客户端设备通知之后立即提供“让我看看(Let me see)”的话语。客户端设备1061可以检测话语并向远程自动助手组件119发送对应数据。发送的对应数据可以是音频数据或音频数据的语义表示,例如基于客户端设备1061执行的本地语音到文本转换处理的文本表示。在一些实施方式中,客户端设备1061可以响应于呈现客户端设备通知的至少一部分来自动监视(例如,自动执行语音捕获)话语,从而消除了用户通过“热门词”或其他方式明确地调用客户端设备1061的需要。
远程自动助手组件119可以处理由客户端设备1061发送的数据,并基于对数据的处理来执行一个或多个助手动作。例如,在数据是音频数据的情况下,STT组件117可以用于生成文本,并且自然语言处理器122可以在确定要执行的助手动作时处理所生成的文本。此外,基于在语音输入的自动监视期间检测到的话语,自然语言处理器122和/或其他组件可以利用客户端设备通知(和/或基于其的IoT状态改变通知)来确定要执行的助手操作)。例如,自然语言处理器122可以确定话语“让我看看”引用门铃IoT设备1451,并且结果确定话语是对于观看来自门铃IoT设备1451的摄像机的实时视频馈送的请求。远程自动助手组件119然后可以生成IoT设备命令,如果该设备命令被发送,则将使得能够提供来自摄像机的实时视频馈送。
图2A3示出了作为远程自动助手组件119发送这样的IoT设备命令的结果,客户端设备1061提供了来自门铃IoT设备1451的摄像机的实时视频馈送。实时视频馈送可以经由远程自动助手组件119或直接发送到客户端设备1061。
图2A4示出了图2A3的替代方案,并且是客户端设备1061不具有显示能力的示例。由于客户端设备1061不具有显示能力,因此,实时视频馈送通过客户端设备1062提供,并且客户端设备1061提供了可听响应,其指示正在通过客户端设备1062呈现实时视频馈送。例如,一个或多个远程自动助手组件119可以确定实时视频馈送需要显示能力,并且还可以基于例如设备拓扑表示中客户端设备1061的设备属性来确定客户端设备1061缺乏显示能力。此外,一个或多个远程自动助手组件119可以利用设备拓扑表示来确定客户端设备1062具有显示能力,并且因此使得经由客户端设备1062提供实时视频馈送。
在图2A1中,客户端设备1061、1062和1064全部被图示为经由相应的扬声器呈现相同的可听客户端设备通知“有人在门口”。然而,在一些实施方式和/或情况下,可以在不同的客户端设备处提供针对相同的IoT状态改变通知的不同的客户端设备通知。图2B示出了一种这样的情况。特别地,图2B示出了可以针对图2A1的相同的IoT状态改变通知提供的替代通知。
在图2B中,客户端设备1064提供与图2A1中相同的可听客户端设备通知。然而,客户端设备1061和1062相对于图2A1提供不同的客户端设备通知,并且在图2B中提供相对于彼此不同的客户端设备通知。特别地,客户端设备1062仅呈现“叮”声作为客户端设备通知。在一些实施方式中,基于客户端设备1062的当前状态,仅提供“叮”声,而没有提供更长的持续时间的“有人在门口”和/或没有提供任何视觉通知”。例如,由于客户端设备1062已经处于已呈现视听内容的状态(例如,正在被用来观看电影),因此可以提供不太引人注目的“叮”声。在一些实施方式中,可以基于loT通知引擎130确定客户端设备1062的当前状态并且基于当前状态定制提供给客户端设备1062的命令来提供不太引人注目的声音。在其他实施方式中,提供给客户端设备1062的命令可以向客户端设备1062提供关于如何呈现客户端设备通知和/或要提供多个客户端设备通知中的哪一个的灵活性,并且客户端设备1062本身可以确定提供不太引人注目的声音。
在图2B中,客户端设备1061呈现“叮”声和交互式图形界面作为客户端设备通知。交互式图形界面包括由门铃IoT设备1451的摄像机捕获的前门处的个人的图像。交互式图形界面还包括可由用户选择的交互式“通话”按钮。对“通话”按钮的选择可以引起生成IoT命令,该IoT命令经由客户端设备1061的麦克风和扬声器以及门铃IoT设备1451的麦克风和扬声器建立“对讲”型通信——使用户能够与门处的个人进行通信。在一些实施方式中,基于客户端设备1061的当前状态,基于检测到的用户到客户端设备1061的接近度,基于客户端设备1061的输出能力和/或基于其他因素,在客户端设备1061处提供更健壮的客户端设备通知。例如,可以基于检测到用户接近客户端设备1061并且基于客户端设备1061的输出能力来提供更鲁棒的通知。在一些实施方式中,可以基于IoT通知引擎130考虑到这样的因素并且基于这样的因素来定制提供给客户端设备1061的命令来提供更鲁棒的通知。在其他实施方式中,提供给客户端设备1061的命令可以为客户端设备1061提供关于如何呈现客户端设备通知和/或要提供多个客户端设备通知中的哪一个的灵活性,并且客户端设备1061本身可以确定提供更鲁棒的通知。
图2C仅示出了客户端设备1061经由其扬声器呈现“您的洗衣机循环已完成(Yourwasher cycle is complete)”的可听客户端设备通知。客户端设备1061每个可以响应于由基于云的自动助手组件119发送的接收到的命令来提供可听通知。IoT通知引擎130可以生成客户端设备通知并且使得响应于从IoT系统140之一接收对应的IoT状态通知发送该命令。例如,IoT系统140之一可以提供IoT状态通知,该通知指示洗衣机IoT设备1453已完成一个循环。响应于从洗衣机IoT设备1453接收到对应的数据,可以由IoT系统之一生成并提供IoT状态通知。
在图2C中,IoT通知引擎130可以确定仅致使在客户端设备1061处呈现客户端设备通知。作为一个示例,存储在用户信息数据库135中的手动创建和/或自动确定的规则可以控制“循环完成”通知,或更一般地,来自洗衣机IoT设备1453的任何通知应仅在当前最接近用户(任何用户或特定用户)的客户端设备处提供,和/或此类通知应仅通过单个客户端设备提供,并且仅当确定有用户在家中时才提供。通过限制在其上提供通知的客户端设备和/或提供其的时间,可以节省客户端设备1061的资源。此外,由于IoT通知引擎130不致使客户端设备通知的呈现,所以还可以节省基于云的自动助手组件119的资源。还可以节省否则将用于从基于云的自动助手组件119通信到客户端设备1061以致使呈现的网络资源。可以利用各种技术来确定接近用户的客户端设备,例如本文结合存在传感器105描述的那些。
图2D举例说明了一个示例,其中,客户端设备1061经由其扬声器呈现“顺便说一句,后门已经开了几个小时(By the way,back door has been ajar for a few hours)”的可听客户端设备通知,但仅在首先从用户接收到不相关的话语(“今天的天气(today’sweather)”),并根据不相关的话语呈现响应内容(“75并且晴朗(75and Sunny)”)之后。在图2D中呈现可听客户端设备通知仍然是“自动的”,因为它与明确地请求呈现任何通知的任何用户界面输入进行呈现无关(例如,与诸如“我的通知是什么(what are mynotifications)”的话语无关)。然而,图2D中的可听客户端设备通知的呈现不是立即的,并且取决于响应于用户的单独的不相关输入而向用户提供单独的不相关输出。由于可听客户端设备通知的呈现取决于提供单独的不相关输出,因此可防止可听客户端设备在对用户分散注意力或不期望的时间呈现可听客户端设备通知。
在一些实施方式中,IoT通知引擎130可以向客户端设备1061提供命令,该命令使得客户端设备1061在“75并且晴朗”之后呈现“顺便说一下,后门已经开了几个小时”。该命令可以与为提供“75并且晴朗”而提供的数据结合提供,或者可以抢先提供给客户端设备1061。当被抢先提供时,客户端设备1061可以在本地存储客户端设备通知,并将其自动附加到由客户端设备提供的任何“下一个”输出。
IoT通知引擎130可以响应于从IoT系统140之一接收到对应的IoT状态通知生成图2D的客户端设备通知。例如,IoT系统140中的一个可以提供指示门打开/关闭传感器IoT设备1454指示后门打开的IoT状态通知。可以响应于从打开/关闭传感器IoT设备1454接收到对应的数据,由IoT系统之一生成并提供IoT状态通知。在一些实施方式中,IoT通知引擎130响应于确定指示后门打开的IoT状态通知并且满足一个或多个附加条件仅使客户端设备通知被呈现。附加条件可以包括例如至少已经达到阈值时间量(例如,至少一个小时),并且没有接收到指示后门现在关闭的后续的IoT状态通知。因此,在这样的示例中,如果还没有达到至少阈值时间量,则IoT通知引擎130将不使任何对应的客户端设备通知被呈现。此外,在一些实施方式中,如果满足一个或多个附加条件(例如,门远远超过阈值时间量继续打开),则IoT通知引擎130可以致使当前客户端设备通知被呈现。更一般地,IoT通知引擎130可以基于变化的条件动态地针对IoT状态通知调整重要性度量,并且基于自适应重要性度量来动态调整如何和/或何时自动提供客户端设备通知。
图3示出了根据各种实施方式的示例状态图300。在图3中,从IoT设备1451发送的IoT数据370被IoT系统1401接收。在372,IoT系统1401基于IoT数据370确定状态的变化。作为一个示例,在IoT设备1451包括摄像机并且IoT数据370包括来自摄像机的图像和/或视频馈送的情况下,基于IoT系统1401对IoT数据370的分析,可以检测到所确定的状态改变是人(或特定人)的存在。作为另一个示例,在IoT设备1451包括电器并且IoT数据370指示电器的错误状况的情况下,所确定的状态改变可以是错误状况。
在374处,IoT系统1401将IoT状态改变通知发送到IoT通知引擎130。IoT状态改变通知可以是结构化数据,其包括例如:状态指示,该状态指示指示与至少一个IoT设备相关联的状态的改变;唯一标识符,用于识别与至少一个IoT设备相关联的客户端设备的标识符;以及,可选的至少一个IoT设备的指示。在一些实施方式中,在374,IoT系统1401使用与IoT通知引擎130相关联的自动助手的应用编程接口(API)将IoT状态改变通知发送到IoT通知引擎130。
在376处,IoT通知引擎130确定与IoT状态改变通知相关联并且应该致使其呈现与IoT状态改变通知相对应的通知的一个或多个客户端设备。如本文所述,可以基于包括在IoT状态改变通知中的唯一标识符来识别与IoT状态改变通知相关联的客户端设备。在一些实施方式中,IoT通知引擎130确定应当致使与IoT状态改变通知相关联的所有客户端设备呈现与IoT状态改变通知相对应的通知。然而,在其他实施方式中,IoT通知引擎130确定应当致使客户端设备的子集呈现与IoT状态改变通知相对应的通知。例如,在图3中,IoT通知引擎130确定仅应致使客户端设备1061和106N呈现与IoT状态改变通知相对应的通知。在那些实施方式中的一些中,IoT通知引擎130基于接收到的IoT状态改变通知的属性、与客户端设备相关联的当前属性、一天中的时间、星期几和/或一个或多个其他标准来确定子集。
在378,IoT通知引擎130为所确定的客户端设备生成一个或多个通知378。在一些实施方式中,可以为所有客户端设备生成单个通知。在一些其他实施方式中,生成多个通知。在一些其他实施方式中,可以基于给定设备的当前状态、基于检测到的用户对给定设备的接近度、基于给定设备的输出能力和/或基于其他因素生成给定设备的通知。
在3801,IoT通知引擎130将命令发送到客户端设备1061。该命令致使客户端设备1061自动并立即呈现一个或多个通知之一。在3821处指示这样的呈现。在3802,IoT通知引擎130将命令发送到客户端设备106N。该命令致使客户端设备106N自动并立即呈现一个或多个通知之一。在3822处指示这样的呈现。注意,在一些实施方式中,3801和3802可以同时或基本同时地发生(例如,在彼此的一秒钟之内、在彼此的半秒之内或在彼此的十分之一秒之内)。还应注意,在一些实施方式中,3821和3822可以同时或基本同时发生(例如,在彼此的一秒钟之内、在彼此的半秒之内或在彼此的十分之一秒之内)。
在384处,客户端设备1061基于响应于客户端设备1061在3821处呈现的通知的用户界面输入来发送数据。在一些实施方式中,用户界面输入可以是经由客户端设备1061的麦克风检测到的话语,并且数据可以包括捕获话语和/或音频数据的文本转换的音频数据。在那些实施方式中的一些中,基于在至少部分地呈现客户端设备通知之后的一段时间内自动监视话语来检测话语。
在386,IoT通知组件130(和/或其他远程自动助手组件)基于在384发送的数据生成IoT命令。例如,可以基于以下部分来生成IoT命令:基于通过执行话语的语音到文本的转换,以及基于值——该值基于响应于由客户端设备1061在3821呈现的通知的话语而推断。推断值可以基于客户端设备通知和/或客户端设备通知所基于的IoT状态改变通知。
在388,IoT通知组件130(和/或其他远程自动助手组件)将IoT命令发送到IoT系统1401。
在390处,IoT系统1401生成对IoT命令的响应,该响应可以包括与虚线水平线所示的与IoT设备1451对接。可以生成各种响应。例如,如果IoT设备1451是智能锁,并且IoT命令是解锁智能锁的命令,则响应可以是对智能锁被解锁的确认。作为另一示例,如果IoT设备1451包括摄像机,并且IoT命令是提供来自摄像机的馈送的命令,则响应可以是馈送或建立馈送的指令。
在392,IoT系统1401将响应发送到IoT通知组件130(和/或其他远程自动助手组件)。
在394,IoT通知组件130(和/或其他远程自动助手组件)发送基于响应的响应内容394,并且在396,客户端设备1061呈现响应内容。
图4示出了根据各种实施方式的另一示例状态图400。在图4中,在470处,IoT系统1401基于由一个或多个IoT设备1451(图4中未示出)提供的数据来确定状态的改变。作为一个工作示例,一个或多个IoT设备1451可以包括智能门锁,并且状态的改变可以是门锁向解锁的改变。
在472处,IoT系统1401将IoT状态改变通知发送到IoT通知引擎130。472的IoT状态改变通知对应于在470处所确定的状态改变。继续工作示例,IoT状态改变通知为结构化数据,其包括例如智能门锁的指示、指示向解锁的改变的状态指示以及使得能够识别与智能门锁相关联的客户端设备的唯一标识符。
在474,IoT通知引擎130基于472的IoT状态改变通知确定不发送将致使客户端设备基于IoT状态改变通知来呈现通知的任何命令。例如,IoT通知引擎130可以确定,单独地,472的IoT状态改变通知具有低优先级,并且不保证提供任何对应的客户端设备通知。
在稍后的时间,在475处,单独的IoT系统1402(例如,由与控制IoT系统1401的第三方不同的第三方控制)基于一个或多个IoT设备1452(图4中未显示)提供的数据来确定状态的改变。继续工作示例,一个或多个IoT设备1452可以包括在智能门锁附近的存在传感器,并且状态的改变可以是从检测存在到不再检测存在的改变。
在476处,IoT系统1402将IoT状态改变通知发送到IoT通知引擎130。476中的IoT状态改变通知对应于在475处所确定的状态改变。继续工作示例,IoT状态改变通知可以是结构化数据,其包括例如存在传感器的指示、指示到不再检测存在的变化的状态指示以及使得能够识别与存在传感器相关联的客户端设备的唯一标识符。
在478处,IoT通知引擎130基于472的IoT状态改变通知和476的IoT状态改变通知来确定发送将致使客户端设备基于472的IoT状态改变通知和476的IoT状态改变通知来呈现组合通知的命令。例如,继续进行工作示例,IoT通知引擎130可以使用设备拓扑表示确定存在传感器和智能门锁在同一房间。此外,IoT通知引擎130可以确定智能门锁被解锁以及指示缺少存在的存在传感器的组合保证提供对应的通知。
在480,IoT通知引擎130确定与472和476的IoT状态改变通知相关联并且应当致使其呈现与IoT状态改变通知相对应的通知的一个或多个客户端设备。
在482,IoT通知引擎130为确定的客户端设备生成一个或多个通知。
在4841,IoT通知引擎130将命令发送到客户端设备1061。该命令使客户端设备1061自动并立即呈现一个或多个通知之一。在4861处指示这样的呈现。在4842,IoT通知引擎130将命令发送到客户端设备106N。该命令使客户端设备106N自动并立即呈现一个或多个通知之一。在3862处指示这种呈现。应注意,在一些实施方式中,4841和4842可以同时或基本同时发生和/或4861和4862可以同时或基本同时发生。
图5示出了根据各种实施方式的又一示例状态图500。
在图5中,IoT系统1401在570确定状态改变,并在572发送对应的IoT状态改变通知。
在574,IoT通知引擎130确定应当致使多个候选客户端设备1061-N中的两个客户端设备1061和106N呈现与572的IoT状态改变通知相对应的通知。
在576,IoT通知引擎130为确定的客户端设备1061和106N生成通知。
在5781,IoT通知引擎130将命令发送到客户端设备1061。该命令致使客户端设备1061自动并立即呈现通知。在5801处指示这样的呈现。在5782,IoT通知引擎130将命令发送到客户端设备106N。该命令使客户端设备106N自动并立即呈现通知。在5802处指示这样的呈现。
在582,IoT系统1401确定状态改变,并在584发送对应的IoT状态改变通知。
在586,IoT通知引擎130确定应当致使多个候选客户端设备1061-N中的仅一个客户端设备1061呈现与572的IoT状态改变通知相对应的通知。注意,在586中确定了仅一个客户端设备,而在574中确定了两个。此差异可以基于各种因素,例如两个接收到的IoT状态改变通知的不同属性、在进行确定时与客户端设备相关联的不同属性、在进行确定时的一天中的时间、在进行确定时的星期几等。
在588,IoT通知引擎130为确定的客户端设备1061生成通知。
在590,IoT通知引擎130将命令发送到客户端设备1061。该命令致使客户端设备1061自动并立即呈现通知。在592处指示这样的呈现。
图6是示例计算设备610的框图,该示例计算设备610可以可选地用于执行本文描述的技术的一个或多个方面。在一些实施方式中,客户端计算设备、IoT通知引擎130和/或其他组件中的一个或多个可以包括示例计算设备610的一个或多个组件。
计算设备610通常包括至少一个处理器614,该处理器614经由总线子系统612与多个外围设备进行通信。这些外围设备可以包括:存储子系统624,例如存储器子系统625和文件存储子系统626;用户界面输出设备620;用户接口输入设备622;以及,网络接口子系统616。输入和输出设备允许用户与计算设备610交互。网络接口子系统616提供到外部网络的接口,并耦合到其他计算设备中的对应接口设备。
用户界面输入设备622可以包括键盘、诸如鼠标、轨迹球、触摸板或图形输入板之类的指向设备、扫描仪、结合到显示器中的触摸屏、诸如话语识别系统、麦克风和/或其他的音频输入设备。输入设备的类型。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备610或通信网络中的所有可能类型的设备和方式。
用户界面输出设备620可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或某种其他用于创建可见图像的机制。显示子系统还可以例如经由音频输出设备来提供非视觉显示。通常,术语“输出设备”的使用旨在包括所有可能类型的设备以及从计算设备610向用户或另一台机器或计算设备输出信息的方式。
存储子系统624存储提供本文描述的一些或所有模块的功能的编程和数据构造。例如,存储子系统624可以包括执行本文描述的方法的所选方面以及实现图1中描绘的各种组件的逻辑。
通常由处理器614单独或与其他处理器结合执行这些软件模块。存储子系统624中使用的存储器625可以包括多个存储器,包括:用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)630;以及,其中存储了固定指令的只读存储器(ROM)632。文件存储子系统626可以为程序和数据文件提供永久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质盒。实施某些实施方式的功能的模块可以由文件存储子系统626存储在存储子系统624中,或者存储在处理器614可访问的其他机器中。
总线子系统612提供了一种用于使计算设备610的各个组件和子系统按预期彼此通信的机制。尽管总线子系统612被示意性地示出为单条总线,但是总线子系统的替代实施方式可以使用多条总线。
计算设备610可以是各种类型的,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,因此为了说明一些实施方式,对图6中所描绘的计算设备610的描述仅旨在作为特定示例。与图6所示的计算设备相比,计算设备610的许多其他配置可能具有更多或更少的组件。
在此处讨论的一些实施方式可能会收集或使用有关用户的个人信息(例如,从其他电子通信中提取的用户数据、有关用户的社交网络的信息、用户的位置、用户的时间、用户的生物特征信息以及用户的活动和人口统计信息、用户之间的关系等)的情况下,向用户提供一个或多个机会来控制是否收集信息,是否存储个人信息,是否使用个人信息以及如何收集、存储和使用有关用户的信息。也就是说,仅在从相关用户接收到如此做的明确的授权后,本文讨论的系统和方法才收集、存储和/或使用用户的个人信息。
例如,向用户提供对程序或特征是否收集有关该特定用户或与程序或特征相关的其他用户的用户信息的控制。向要对于其收集个人信息的每个用户提供一个或多个选项,以允许控制与该用户有关的信息收集,提供关于是否收集信息以及关于信息的哪些部分被收集的许可或授权。例如,可以通过通信网络向用户提供一个或多个这样的控制选项。另外,在存储或使用一些数据之前,可以以一种或多种方式处理一些数据,以便删除个人身份信息。作为一个示例,可以处理用户的身份,使得不能确定个人身份信息。作为另一示例,用户的地理位置可以被概括为更大的区域,使得不能确定用户的具体位置。
在一些实施方式中,提供了一种方法,该方法包括经由自动助手计算系统的一个或多个网络接口接收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设备的第二组相关联的第二状态。第二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状态改变通知。所述第二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设备的第二组相关联的所述第二状态的所述第二状态指示。
Claims (29)
1.一种方法,包括:
经由自动助手计算系统的一个或多个网络接口接收物联网IoT状态改变通知,所述IoT状态改变通知响应于确定与至少一个IoT设备相关联的状态的改变而被发送到所述自动助手计算系统,并且所述IoT状态改变通知包括:
唯一标识符,
所述至少一个IoT设备的指示,以及
指示与所述至少一个IoT设备相关联的状态的改变的状态指示;
由所述自动助手计算系统基于所述唯一标识符来识别多个候选助手客户端设备,每个候选助手客户端设备与所述唯一标识符相关联,并且每个候选助手客户端设备具有对应的自动助手客户端;
由所述自动助手计算系统基于所述至少一个IoT设备的指示以及基于所述状态指示来生成针对所述多个候选助手客户端设备中的至少一个客户端设备的客户端设备通知;
向所述一个客户端设备发送命令,所述命令致使所述一个客户端设备的自动助手客户端:
经由所述一个客户端设备的至少一个用户界面输出设备自动呈现所生成的客户端设备通知,其中,所述命令致使所述客户端设备与明确地请求呈现任何通知的任何用户界面输入无关地自动呈现所生成的客户端设备通知;
在已经至少部分地呈现了所述客户端设备通知之后,自动监视语音输入达一段时间;以及
基于在针对所述语音输入的自动监视期间检测到的话语,发送与所述话语相对应的数据。
2.根据权利要求1所述的方法,还包括:
从所述一个客户端设备接收与所述话语相对应的数据;
基于与所述话语相对应的所述数据并基于在针对所述语音输入的自动监视期间检测到的所述话语,生成IoT设备命令;以及
发送所述IoT设备命令,其中,发送所述IoT设备命令致使所述至少一个IoT设备的状态或附加状态的改变。
3.根据权利要求2所述的方法,其中,基于与所述话语相对应的所述数据以及基于在针对所述语音输入的自动监视期间检测到的所述话语来生成所述IoT设备命令包括:
基于与所述话语相对应的所述数据为所述IoT设备命令生成至少一个值;以及
基于在针对所述语音输入的自动监视期间检测到的所述话语来推断所述IoT设备命令的至少一个附加值,其中,推断所述至少一个附加值基于所述客户端设备通知或生成所述客户端设备通知所基于的所述IoT状态改变通知。
4.根据权利要求3所述的方法,其中,基于所述IoT状态改变通知来推断所述至少一个附加值包括:基于所述IoT状态改变通知或所述客户端设备通知来推断所述至少一个IoT设备的标识符。
5.根据权利要求1所述的方法,还包括:
从所述一个客户端设备接收与所述话语相对应的数据;
基于与所述话语相对应的所述数据,以及基于在针对所述语音输入的自动监视期间检测到的所述话语,生成针对所述话语的响应内容;以及
向所述一个客户端设备发送所述响应内容,以致使所述一个客户端设备呈现基于所述响应内容的响应输出。
6.根据权利要求5所述的方法,其中,基于与所述话语相对应的数据以及基于在针对所述语音输入的自动监视期间检测到的所述话语来生成所述响应内容包括:
基于与所述话语相对应的所述数据生成至少一个值;以及
基于在针对所述语音输入的自动监视期间检测到的所述话语来推断至少一个附加值,其中,推断所述至少一个附加值基于所述客户端设备通知或生成所述客户端设备通知所基于的所述IoT状态改变通知;以及
基于所述至少一个值和所述至少一个附加值来生成所述响应内容。
7.根据前述权利要求中的任一项所述的方法,其中,所述客户端设备通知包括文本,其中,所述命令包括所述客户端设备通知的所述文本,并且其中,通过致使所选择的一个客户端设备将所述文本转换为音频数据并经由所述一个客户端设备的至少一个扬声器呈现所述音频数据,所述命令致使所述一个客户端设备的自动助手客户端经由所述一个客户端设备的所述至少一个用户界面输出设备来自动呈现所生成的客户端设备通知。
8.根据前述权利要求中的任一项所述的方法,还包括:
基于以下一项或两者来确定将所述命令发送到所述一个客户端设备:
所述IoT状态改变通知中的所述至少一个IoT设备的所述指示;以及
所述状态改变通知中的所述状态指示。
9.根据前述权利要求中的任一项所述的方法,还包括:
基于以下一项或两者来确定将所述命令发送到所述一个客户端设备:
一天中的当前时间;以及
当前为星期几。
10.根据前述权利要求中的任一项所述的方法,还包括:
基于以下一项或两者来确定将所述命令发送到所述一个客户端设备:
确定至少一个用户接近所述一个客户端设备;以及
确定所述一个客户端设备未处于一个或多个预定义状态。
11.根据权利要求10所述的方法,其中,基于以下一项或多项来确定所述用户接近所述一个客户端设备:
与所述一个客户端设备的用户交互的新近度;
来自所述一个客户端设备的至少一个传感器的客户端设备传感器数据;以及
来自至少一个传感器的附加传感器数据,所述至少一个传感器不是所述一个客户端设备的传感器但是接近所述一个客户端设备。
12.根据前述权利要求中的任一项所述的方法,还包括:
选择多个所述候选客户端设备的组,所述组包括所述一个客户端设备;
基于所选择的组中包括的所述一个客户端设备,将所述命令发送给所述一个客户端设备;
基于被包括在所选择的组中的其他候选客户端设备,将相应命令发送到所选择的组中的每个其他候选客户端设备,其中,所述相应命令各自致使所述其他候选客户端设备中的相应一个呈现基于所述至少一个IoT设备的所述指示以及基于所述状态指示生成的相应客户端设备通知。
13.根据权利要求12所述的方法,其中,所述相应命令各自与所述命令相同,并且所述相应客户端设备通知各自与所述客户端设备通知相同。
14.根据权利要求12所述的方法,其中,所述相应命令中的至少一个与所述命令不同,并且其中,所述相应客户机设备通知中的至少一个与所述客户机设备通知不同。
15.根据权利要求12所述的方法,其中,选择多个所述候选客户端设备的组包括:
基于以下一项或多项从所述组中排除所述候选客户端设备中的给定客户端设备:
确定所述给定客户端设备处于一个或多个预定义状态;
所述IoT状态改变通知中的所述至少一个IoT设备的所述指示;以及
所述IoT状态改变通知中的所述状态指示。
16.一种方法,包括:
经由自动助手计算系统的一个或多个网络接口接收:
来自第一第三方系统的第一IoT状态通知,所述第一IoT状态通知:被发送到所述自动助手计算系统,指示与一个或多个IoT设备的第一组相关联的第一状态,并且包括:唯一标识符和指示与所述一个或多个IoT设备的第一组相关联的所述第一状态的第一状态指示;
来自第二第三方系统的第二IoT状态通知,所述第二IoT状态通知被发送到所述自动助手计算系统,并指示与一个或多个IoT设备的第二组相关联的第二状态,并且包括:唯一标识符或附加唯一标识符,以及指示与所述一个或多个IoT设备的第二组相关联的所述第二状态的第二状态指示;
确定发送基于所述第一IoT状态通知和所述第二IoT状态通知两者的组合通知,其中,确定发送所述组合通知基于:基于所述第一IoT状态通知和所述第二IoT状态通知确定所述第一状态和所述第二状态同时出现;
由所述自动助手计算系统至少部分地基于所述唯一标识符来识别多个候选助手客户端设备,每个候选助手客户端设备具有对应的自动助手客户端,并且每个候选助手客户端设备与所述一个或多个IoT设备的第一组和所述一个或多个IoT设备的第二组两者相关联;
选择所述候选助手客户端设备中的至少一个;以及
向所述候选助手客户端设备中的所述至少一个发送命令,所述命令包括所述组合通知,并且致使所述候选助手客户端设备中的所述至少一个的所述自动助手客户端:
经由所述候选助手客户端设备中的所述至少一个的至少一个用户界面输出设备自动呈现所述组合通知。
17.根据权利要求16所述的方法,其中,所述组合通知包括提示,并且其中,所述命令还致使所述自动助手客户端监视对所述提示的响应,并发送对所述提示的所述响应。
18.根据权利要求17所述的方法,其中,所述提示推荐对于与所述一个或多个IoT设备的第一组相关联的所述第一状态的改变,并且还包括:
响应于接收到对提示的肯定响应:
发送致使对于与所述一个或多个IoT设备的第一组相关联的所述第一状态的所述改变的IoT命令。
19.根据权利要求17所述的方法,其中,所述组合通知包括图形界面,并且所述提示是所述图形界面的可选元素。
20.根据权利要求19所述的方法,其中,对所述提示的所述肯定响应是对所述图形界面的所述可选元素的选择。
21.根据权利要求16至20中的任一项所述的方法,其中,在第一时间接收所述第一IoT状态通知,并且其中,在所述第一时间之后的第二时间接收所述第二IoT状态通知,并且所述方法还包括:
在所述第一时间之后并且在所述第二时间之前确定不发送致使呈现基于所述第一IoT状态通知的任何通知的任何命令。
22.一种方法,包括:
经由自动助手计算系统的一个或多个网络接口接收IoT状态改变通知,所述IoT状态改变通知响应于确定与至少一个IoT设备相关联的状态的改变而被发送到所述自动助手计算系统,并且所述IoT状态改变通知包括:
唯一标识符,
所述至少一个IoT设备的指示,以及
指示与所述至少一个IoT设备相关联的状态的改变的状态指示;
由所述自动助手计算系统基于所述唯一标识符来识别多个助手客户端设备,每个助手客户端设备与所述唯一标识符相关联,并且每个助手客户端设备具有对应的自动助手客户端;
选择所述助手客户端设备的子集,其中,选择所述子集至少部分地基于以下一项或两者:所述至少一个IoT设备的所述指示;以及指示与所述至少一个IoT设备相关联的状态的改变的所述状态指示;
仅向所选择的子集的每个助手客户端设备发送对应的命令,所述命令致使所述助手客户端设备的所述自动助手客户端:
自动呈现适合于所述IoT状态改变通知的对应通知。
23.一种方法,包括:
在第一时间经由自动助手计算系统的一个或多个网络接口接收:
来自第一第三方系统的第一IoT状态改变通知,被发送到所述自动助手计算系统的所述第一IoT状态改变通知指示对于与一个或多个IoT设备的第一组相关联的第一状态的改变,并且包括:唯一标识符、所述一个或多个IoT设备的第一组的指示、以及指示与所述一个或多个IoT设备的第一组相关联的所述第一状态的第一状态指示;
由所述自动助手计算系统基于所述唯一标识符来识别多个候选助手客户端设备,每个候选助手客户端设备与所述唯一标识符相关联,并且每个候选助手客户端设备具有对应的自动助手客户端;
选择所述候选助手客户端设备的第一子集,其中,选择所述第一子集至少部分基于以下一项或两者:所述一个或多个IoT设备的第一组的所述指示;以及指示与所述一个或多个IoT设备的第一组相关联的所述第一状态的所述第一状态指示;
仅向所述第一子集的每个候选助手客户端设备发送对应的命令,所述命令致使所述候选助手客户端设备的所述自动助手客户端:
自动呈现适合于所述第一IoT状态改变通知的对应通知;
在第二时间经由自动助手计算系统的一个或多个网络接口接收:
来自第二第三方系统的第二IoT状态改变通知,被发送到所述自动助手计算系统的所述第二IoT状态改变通知指示对与一个或多个IoT设备的第二组相关联的第二状态的改变,并且包括:所述唯一标识符或附加唯一标识符、所述一个或多个IoT设备的第二组的指示、以及指示与所述一个或多个IoT设备的第二组相关联的所述第二状态的第二状态指示;
由所述自动助手计算系统基于所述唯一标识符或所述附加唯一标识符来识别所述多个候选助手客户端设备;
选择所述候选助手客户端设备的第二子集,其中,所述第二子集不同于所述第一子集,并且其中,选择所述第二子集至少部分地基于以下一项或两者:所述一个或多个IoT设备的第二组的所述指示;以及指示与所述一个或多个IoT设备的第二组相关联的所述第二状态的所述第二状态指示;
仅向所述第二子集的每个候选助手客户端设备发送对应的第二命令,所述第二命令致使所述候选助手客户端设备的所述自动助手客户端:
自动呈现适合于所述第二IoT状态改变通知的对应第二通知。
24.一种方法,包括:
在第一时间经由自动助手计算系统的一个或多个网络接口接收:
来自第一第三方系统的第一IoT状态改变通知,被发送到所述自动助手计算系统的所述第一IoT状态改变通知指示对与一个或多个IoT设备的第一组相关联的第一状态的改变,并且包括:唯一标识符、所述一个或多个IoT设备的第一组的指示、以及指示与所述一个或多个IoT设备的第一组相关联的所述第一状态的第一状态指示;
由所述自动助手计算系统基于所述唯一标识符来识别与所述唯一标识符相关联并且包括自动助手客户端的客户端设备;
确定发送第一命令,所述第一命令致使所述候选助手客户端设备的所述自动助手客户端自动并立即在听觉上呈现适合于所述第一IoT状态改变通知的第一输出,其中,确定发送致使所述候选助手客户端设备的所述自动助手客户端自动并立即在听觉上呈现适合于所述第一IoT状态改变通知的所述第一输出的所述第一命令至少部分基于以下一项或两者:所述一个或多个IoT设备的第一组的所述指示;以及指示与所述一个或多个IoT设备的第一组相关联的所述第一状态的所述第一状态指示;
在第二时间经由自动助手计算系统的一个或多个网络接口接收:
来自第二第三方系统的第二IoT状态改变通知,被发送到所述自动助手计算系统的所述第二IoT状态改变通知指示对与一个或多个IoT设备的第二组相关联的第二状态的改变,并且包括:所述唯一标识符或附加唯一标识符、所述一个或多个IoT设备的第二组的指示、以及指示与所述一个或多个IoT设备的第二组相关联的所述第二状态的第二状态指示;
由所述自动助手计算系统基于所述唯一标识符或所述附加唯一标识符来识别包括所述自动助手客户端的客户端设备;
确定发送第二命令,所述第二命令致使所述助手客户端设备的所述自动助手客户端呈现适合于所述第二IoT状态改变通知的第二输出,但是非听觉上地和/或非立即地呈现所述第二输出,其中,确定发送致使所述候选助手客户端设备的所述自动助手客户端以非听觉上地和/或非立即地呈现所述第二输出的所述第二命令至少部分基于以下一项或两者:所述一个或多个IoT设备的第二组的所述指示;以及指示与所述一个或多个IoT设备的第二组相关联的所述第二状态的所述第二状态指示。
25.一种包括指令的计算机程序,所述指令在由自动助手计算系统的一个或多个处理器执行时致使所述计算系统执行根据前述权利要求中的任一项所述的方法。
26.一种计算系统,所述计算系统被配置为执行权利要求1至24中的任一项所述的方法。
27.一种系统,包括:
根据权利要求26所述的计算系统;以及
至少一个客户端设备。
28.根据权利要求27所述的系统,还包括至少一个物联网设备。
29.一种计算机可读存储介质,所述计算机可读存储介质存储能够由自动助手计算系统的一个或多个处理器执行以执行根据权利要求1至24中的任一项所述的方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410198179.XA CN118200349A (zh) | 2018-03-14 | 2019-03-13 | 生成基于IoT的通知并提供命令的方法和系统 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862643065P | 2018-03-14 | 2018-03-14 | |
US62/643,065 | 2018-03-14 | ||
PCT/US2019/022055 WO2019178229A1 (en) | 2018-03-14 | 2019-03-13 | Generating iot-based notification(s) and provisioning of command(s) to cause automatic rendering of the iot-based notification(s) by automated assistant client(s) of client device(s) |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410198179.XA Division CN118200349A (zh) | 2018-03-14 | 2019-03-13 | 生成基于IoT的通知并提供命令的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111869185A true CN111869185A (zh) | 2020-10-30 |
CN111869185B CN111869185B (zh) | 2024-03-12 |
Family
ID=65911298
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980017955.9A Active CN111869185B (zh) | 2018-03-14 | 2019-03-13 | 生成基于IoT的通知并提供命令以致使客户端设备的自动助手客户端自动呈现基于IoT的通知 |
CN202410198179.XA Pending CN118200349A (zh) | 2018-03-14 | 2019-03-13 | 生成基于IoT的通知并提供命令的方法和系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410198179.XA Pending CN118200349A (zh) | 2018-03-14 | 2019-03-13 | 生成基于IoT的通知并提供命令的方法和系统 |
Country Status (7)
Country | Link |
---|---|
US (3) | US10885917B2 (zh) |
EP (3) | EP4235644A3 (zh) |
JP (3) | JP6974626B2 (zh) |
KR (3) | KR102551715B1 (zh) |
CN (2) | CN111869185B (zh) |
AU (3) | AU2019234822B2 (zh) |
WO (1) | WO2019178229A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102551715B1 (ko) * | 2018-03-14 | 2023-07-04 | 구글 엘엘씨 | Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의 자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공 |
US10795743B2 (en) | 2018-05-21 | 2020-10-06 | Salesforce.Com, Inc. | Computing device notification management software |
DK201970509A1 (en) * | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
EP3834199B1 (en) | 2019-10-15 | 2023-04-05 | Google LLC | Efficient and low latency automated assistant control of smart devices |
CN111243587A (zh) * | 2020-01-08 | 2020-06-05 | 北京松果电子有限公司 | 语音交互方法、装置、设备及存储介质 |
US11403925B2 (en) * | 2020-04-28 | 2022-08-02 | Ademco Inc. | Systems and methods for broadcasting an audio or visual alert that includes a description of features of an ambient object extracted from an image captured by a camera of a doorbell device |
US20220358917A1 (en) * | 2021-04-21 | 2022-11-10 | Meta Platforms, Inc. | Multi-device Mediation for Assistant Systems |
US11861315B2 (en) | 2021-04-21 | 2024-01-02 | Meta Platforms, Inc. | Continuous learning for natural-language understanding models for assistant systems |
US11523190B1 (en) | 2021-12-17 | 2022-12-06 | Google Llc | Generating notifications that provide context for predicted content interruptions |
KR20230128914A (ko) * | 2022-02-28 | 2023-09-05 | 주식회사 플루이즈 | 로컬서버가 IoT 기기의 상태정보를 전송하는 방법 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020077830A1 (en) * | 2000-12-19 | 2002-06-20 | Nokia Corporation | Method for activating context sensitive speech recognition in a terminal |
US20130260320A1 (en) * | 2012-03-28 | 2013-10-03 | Randolph G. Townsend | Range and Notification System, and Associated Method |
US20140180697A1 (en) * | 2012-12-20 | 2014-06-26 | Amazon Technologies, Inc. | Identification of utterance subjects |
US20140282003A1 (en) * | 2013-03-15 | 2014-09-18 | Apple Inc. | Context-sensitive handling of interruptions |
WO2015073722A1 (en) * | 2013-11-14 | 2015-05-21 | Qualcomm Incorporated | Mechanisms to route iot notifications according to user activity and/or proximity detection |
CN104903848A (zh) * | 2013-01-08 | 2015-09-09 | 电子湾有限公司 | 向用户设备路由通知 |
US9152737B1 (en) * | 2014-11-26 | 2015-10-06 | Sense Labs, Inc. | Providing notifications to a user |
US20160323226A1 (en) * | 2015-05-01 | 2016-11-03 | Airwatch Llc | Email Notifications |
CN106464573A (zh) * | 2014-06-24 | 2017-02-22 | 谷歌公司 | 跨装置通知 |
DE202017103671U1 (de) * | 2016-05-17 | 2017-07-31 | Google Inc. | Automatische Erzeugung einer grafischen Benutzeroberfläche aus Benachrichtigungsdaten |
CN107643922A (zh) * | 2016-07-22 | 2018-01-30 | 联想(新加坡)私人有限公司 | 用于语音辅助的设备、方法及计算机可读存储介质 |
US20180039478A1 (en) * | 2016-08-02 | 2018-02-08 | Google Inc. | Voice interaction services |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8738377B2 (en) | 2010-06-07 | 2014-05-27 | Google Inc. | Predicting and learning carrier phrases for speech input |
US20130143519A1 (en) * | 2010-07-29 | 2013-06-06 | J&M I.P. Holding Company, Llc | Fall-Responsive Emergency Device, System, and Method |
JP6231327B2 (ja) * | 2012-09-28 | 2017-11-15 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 端末制御方法、端末制御システム、及び、サーバ装置 |
WO2014076919A1 (ja) * | 2012-11-15 | 2014-05-22 | パナソニック株式会社 | 情報提供方法及び情報提供装置 |
US9853826B2 (en) | 2013-02-25 | 2017-12-26 | Qualcomm Incorporated | Establishing groups of internet of things (IOT) devices and enabling communication among the groups of IOT devices |
JP2017163172A (ja) * | 2013-06-21 | 2017-09-14 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 携帯端末の制御方法及びプログラム |
WO2014208057A1 (ja) * | 2013-06-24 | 2014-12-31 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 情報通知方法、情報端末、およびプログラム |
US20150006296A1 (en) | 2013-06-26 | 2015-01-01 | Qualcomm Innovation Center, Inc. | NOTIFICATION DISMISSAL IN AN INTERNET OF THINGS (IoT) ENVIRONMENT |
US9584775B2 (en) | 2013-07-18 | 2017-02-28 | BOT Home Automation, Inc. | Wireless entrance communication device |
US8823795B1 (en) | 2013-07-26 | 2014-09-02 | SkyBell Technologies, Inc. | Doorbell communication systems and methods |
US9495860B2 (en) | 2013-12-11 | 2016-11-15 | Echostar Technologies L.L.C. | False alarm identification |
KR102101308B1 (ko) * | 2014-02-05 | 2020-04-16 | 애플 인크. | 제어기와 액세서리 사이의 통신을 위한 균일한 통신 프로토콜 |
JP6349386B2 (ja) * | 2014-05-15 | 2018-06-27 | シャープ株式会社 | ネットワークシステム、サーバ、通信機器、および情報処理方法 |
US10170123B2 (en) * | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
CN106664516B (zh) | 2014-07-07 | 2020-03-27 | 康维达无线有限责任公司 | 用于基于机器类型通信组的服务的协调分组 |
JP6305883B2 (ja) * | 2014-09-08 | 2018-04-04 | シャープ株式会社 | 通知装置、出力装置、情報通知システム、通知装置の制御方法、および制御プログラム |
US10832665B2 (en) | 2016-05-27 | 2020-11-10 | Centurylink Intellectual Property Llc | Internet of things (IoT) human interface apparatus, system, and method |
US9942328B2 (en) | 2016-05-27 | 2018-04-10 | Afero, Inc. | System and method for latched attributes in an internet of things (IOT) system |
US10708313B2 (en) * | 2016-12-30 | 2020-07-07 | Google Llc | Multimodal transmission of packetized data |
US10861450B2 (en) * | 2017-02-10 | 2020-12-08 | Samsung Electronics Co., Ltd. | Method and apparatus for managing voice-based interaction in internet of things network system |
US10187870B1 (en) * | 2017-07-21 | 2019-01-22 | Qualcomm Incorporated | Systems and methods for intelligent routing of notifications of incoming voice communication requests |
US10051600B1 (en) * | 2017-12-12 | 2018-08-14 | Amazon Technologies, Inc. | Selective notification delivery based on user presence detections |
US10425780B1 (en) * | 2018-02-22 | 2019-09-24 | Amazon Technologies, Inc. | Outputting notifications using device groups |
KR102551715B1 (ko) * | 2018-03-14 | 2023-07-04 | 구글 엘엘씨 | Iot 기반 알림을 생성 및 클라이언트 디바이스(들)의 자동화된 어시스턴트 클라이언트(들)에 의해 iot 기반 알림을 자동 렌더링하게 하는 명령(들)의 제공 |
US11115630B1 (en) * | 2018-03-28 | 2021-09-07 | Amazon Technologies, Inc. | Custom and automated audio prompts for devices |
US10978064B2 (en) * | 2018-11-30 | 2021-04-13 | International Business Machines Corporation | Contextually relevant spoken device-to-device communication between IoT devices |
-
2019
- 2019-03-13 KR KR1020227024890A patent/KR102551715B1/ko active IP Right Grant
- 2019-03-13 KR KR1020207029358A patent/KR102424260B1/ko active IP Right Grant
- 2019-03-13 AU AU2019234822A patent/AU2019234822B2/en active Active
- 2019-03-13 US US16/609,015 patent/US10885917B2/en active Active
- 2019-03-13 EP EP23175890.5A patent/EP4235644A3/en active Pending
- 2019-03-13 CN CN201980017955.9A patent/CN111869185B/zh active Active
- 2019-03-13 CN CN202410198179.XA patent/CN118200349A/zh active Pending
- 2019-03-13 EP EP19713655.9A patent/EP3590249B1/en active Active
- 2019-03-13 KR KR1020237021937A patent/KR20230107384A/ko not_active Application Discontinuation
- 2019-03-13 WO PCT/US2019/022055 patent/WO2019178229A1/en unknown
- 2019-03-13 JP JP2020548705A patent/JP6974626B2/ja active Active
- 2019-03-13 EP EP20188384.0A patent/EP3751823B1/en active Active
-
2020
- 2020-12-03 US US17/110,732 patent/US11538477B2/en active Active
-
2021
- 2021-01-11 AU AU2021200128A patent/AU2021200128B2/en active Active
- 2021-11-04 JP JP2021180172A patent/JP7250887B2/ja active Active
-
2022
- 2022-04-22 AU AU2022202683A patent/AU2022202683B2/en active Active
- 2022-12-21 US US18/085,867 patent/US20230237996A1/en active Granted
-
2023
- 2023-03-20 JP JP2023044678A patent/JP2023082034A/ja active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020077830A1 (en) * | 2000-12-19 | 2002-06-20 | Nokia Corporation | Method for activating context sensitive speech recognition in a terminal |
WO2002050818A1 (en) * | 2000-12-19 | 2002-06-27 | Nokia Corporation | A method for activating context sensitive speech recognition in a terminal |
US20130260320A1 (en) * | 2012-03-28 | 2013-10-03 | Randolph G. Townsend | Range and Notification System, and Associated Method |
US20140180697A1 (en) * | 2012-12-20 | 2014-06-26 | Amazon Technologies, Inc. | Identification of utterance subjects |
CN104903848A (zh) * | 2013-01-08 | 2015-09-09 | 电子湾有限公司 | 向用户设备路由通知 |
US20140282003A1 (en) * | 2013-03-15 | 2014-09-18 | Apple Inc. | Context-sensitive handling of interruptions |
WO2015073722A1 (en) * | 2013-11-14 | 2015-05-21 | Qualcomm Incorporated | Mechanisms to route iot notifications according to user activity and/or proximity detection |
CN106464573A (zh) * | 2014-06-24 | 2017-02-22 | 谷歌公司 | 跨装置通知 |
US9152737B1 (en) * | 2014-11-26 | 2015-10-06 | Sense Labs, Inc. | Providing notifications to a user |
US20160323226A1 (en) * | 2015-05-01 | 2016-11-03 | Airwatch Llc | Email Notifications |
DE202017103671U1 (de) * | 2016-05-17 | 2017-07-31 | Google Inc. | Automatische Erzeugung einer grafischen Benutzeroberfläche aus Benachrichtigungsdaten |
CN107643922A (zh) * | 2016-07-22 | 2018-01-30 | 联想(新加坡)私人有限公司 | 用于语音辅助的设备、方法及计算机可读存储介质 |
US20180039478A1 (en) * | 2016-08-02 | 2018-02-08 | Google Inc. | Voice interaction services |
Also Published As
Publication number | Publication date |
---|---|
JP6974626B2 (ja) | 2021-12-01 |
AU2019234822B2 (en) | 2020-10-22 |
EP3590249B1 (en) | 2020-12-30 |
KR20220104078A (ko) | 2022-07-25 |
EP3590249A1 (en) | 2020-01-08 |
CN118200349A (zh) | 2024-06-14 |
JP7250887B2 (ja) | 2023-04-03 |
JP2023082034A (ja) | 2023-06-13 |
US20200211546A1 (en) | 2020-07-02 |
AU2019234822A1 (en) | 2020-09-17 |
WO2019178229A1 (en) | 2019-09-19 |
CN111869185B (zh) | 2024-03-12 |
US20210090566A1 (en) | 2021-03-25 |
KR102551715B1 (ko) | 2023-07-04 |
KR20230107384A (ko) | 2023-07-14 |
KR20200131299A (ko) | 2020-11-23 |
AU2021200128B2 (en) | 2022-02-03 |
EP3751823A1 (en) | 2020-12-16 |
EP3751823B1 (en) | 2023-06-28 |
EP4235644A2 (en) | 2023-08-30 |
AU2022202683B2 (en) | 2023-01-12 |
AU2021200128A1 (en) | 2021-03-18 |
EP4235644A3 (en) | 2023-10-25 |
KR102424260B1 (ko) | 2022-07-25 |
US11538477B2 (en) | 2022-12-27 |
JP2022033744A (ja) | 2022-03-02 |
JP2021509975A (ja) | 2021-04-08 |
US10885917B2 (en) | 2021-01-05 |
US20230237996A1 (en) | 2023-07-27 |
AU2022202683A1 (en) | 2022-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111869185B (zh) | 生成基于IoT的通知并提供命令以致使客户端设备的自动助手客户端自动呈现基于IoT的通知 | |
KR20220024557A (ko) | 자동화된 어시스턴트에 의한 응답 액션을 트리거하기 위한 핫 명령의 검출 및/또는 등록 | |
KR102423712B1 (ko) | 루틴 실행 중에 클라이언트 디바이스간 자동화 어시스턴트 루틴 전송 | |
JP7490822B2 (ja) | 複数のアシスタントデバイスにわたる同時音響イベント検出 | |
KR20230016013A (ko) | 디바이스-특정 신호에 기초하여 어시스턴트 디바이스(들)에 대한 시맨틱 레이블(들) 추론하기 | |
US20220272055A1 (en) | Inferring assistant action(s) based on ambient sensing by assistant device(s) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |