CN117043790A - 零前缀建议的装置上生成和个性化以及其使用 - Google Patents
零前缀建议的装置上生成和个性化以及其使用 Download PDFInfo
- Publication number
- CN117043790A CN117043790A CN202180088491.8A CN202180088491A CN117043790A CN 117043790 A CN117043790 A CN 117043790A CN 202180088491 A CN202180088491 A CN 202180088491A CN 117043790 A CN117043790 A CN 117043790A
- Authority
- CN
- China
- Prior art keywords
- suggestions
- client device
- given
- zero prefix
- user
- 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.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 claims abstract description 51
- 230000000875 corresponding effect Effects 0.000 claims description 375
- 238000000034 method Methods 0.000 claims description 87
- 230000003993 interaction Effects 0.000 claims description 54
- 230000015654 memory Effects 0.000 claims description 49
- 238000004891 communication Methods 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 12
- 230000006855 networking Effects 0.000 description 9
- 235000019580 granularity Nutrition 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 8
- 230000001276 controlling effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000001052 transient effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000036541 health Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 235000002595 Solanum tuberosum Nutrition 0.000 description 3
- 244000061456 Solanum tuberosum Species 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 238000004378 air conditioning Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
- 230000011273 social behavior Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
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
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
-
- 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/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/227—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of the speaker; Human-factor methodology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本文中所描述的实施方案涉及在客户端装置本地为客户端装置的用户以及与客户端装置相关联的(多个)建议状态生成零前缀建议的(多个)对应子集,并且随后使客户端装置利用零前缀建议的(多个)对应子集。使用(多个)机器学习模型处理(多个)建议状态和候选零前缀建议的超集,以为候选零前缀建议中的每一个并且关于(多个)建议状态生成对应分数。此外,能够基于对应分数选择零前缀建议以用于包括在零前缀建议的(多个)对应子集中并且为(多个)建议状态选择零前缀建议。因此,当随后在客户端装置处检测到给定建议状态时,能够获得与给定建议状态相关联地存储的零前缀建议的给定对应子集并且提供给定对应子集以用于呈现给用户。
Description
背景技术
人类可以通过在本文中称为“自动助理”(也称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“个人语音助理”、“会话代理”等)的交互式软件应用程序参与人机对话。例如,人类(当他们与自动助理交互时可以被称为“用户”)可以向自动助理提供口头自然语言输入(即,口头话语),在一些情况下口头自然语言输入可以被转换成文本,然后被处理,和/或通过提供文本(例如,键入)自然语言输入或触摸输入。自动助理通常通过提供响应用户接口输出(例如,听觉和/或视觉用户接口输出)、控制(多个)智能联网装置和/或执行(多个)其它动作来响应这些用户输入。
在一些情况下,自动助理可以主动向用户提供零前缀建议,这些零前缀建议被预测为对给定用户有帮助。例如,如果用户访问与自动助理相关联并且在客户端装置处可访问的自动助理应用程序,则自动助理能够导致提供各种零前缀建议以用于呈现给用户。这些零前缀建议主要来源于用户与自动助理之间最近的用户交互,其他用户与相应自动助理之间的趋势用户交互,或者是先前为用户群体策划的建议。然而,由于基于服务器的计算的隐私考虑以及某些上下文仅可用于装置上计算,因此对于特定于给定用户的不同上下文,这些零前缀建议通常不是为客户端装置的给定用户定制的。此外,在启动自动助理应用程序时并且在激活用于提供零前缀建议的客户端装置的其它组件时通常提供这些零前缀建议以用于立即呈现给用户,从而使为给定用户定制这些零前缀建议的问题复杂化。
发明内容
本文中所公开的实施方案涉及在客户端装置本地为客户端装置的给定用户以及与客户端装置相关联的对应建议状态生成零前缀(ZP)建议的对应子集,并且随后使客户端装置利用ZP建议的对应子集来提供一个或多个ZP建议以用于呈现给用户。能够通过以下操作为给定用户和多个不同对应建议状态中的给定建议状态生成ZP建议的给定对应子集:识别给定建议状态;识别候选ZP建议的超集;使用(多个)排序机器学习(ML)模型处理给定建议状态和候选ZP建议的超集,以为候选ZP建议中的每一个并且关于给定建议状态生成对应分数;以及基于该对应分数从候选ZP建议的超集中选择候选ZP建议中的一个或多个,以用于包括在用于给定用户和给定建议状态的ZP建议的给定对应子集中。给定建议状态和给定建议状态的ZP建议的给定对应子集能够被存储在客户端装置的装置上存储器(或存储装置)中。因此,当随后在客户端装置处检测到给定建议状态的出现时,一个或多个ZP建议能够从与给定建议状态相关联地存储的ZP建议的给定对应子集中获得,并且能够被提供用于经由客户端装置或与客户端装置通信的附加计算装置呈现给用户。当接收到对给定ZP建议的用户选择时,客户端装置或至少部分地在客户端装置处执行的自动助理能够使与给定ZP建议相关联的对应动作被执行。
在一些实施方案中,多个不同对应建议状态中的每一个能够表示具有不同粒度的不同上下文场景,并且因此用于多个不同对应建议状态中的每一个的ZP建议的对应子集能够包括与不同上下文场景中的每一个相关的一个或多个ZP建议。换句话说,ZP建议的给定对应子集能够包括为用户定制并且与由给定建议状态表示的上下文场景相关的ZP建议。此外,多个不同对应建议状态中的每一个能够用由客户端装置或与客户端装置通信的附加计算装置生成的一个或多个装置信号的不同组合表示。一个或多个装置信号能够包括,例如,客户端装置的位置、客户端装置的位置的语义指示、与客户端装置的位置相关联的时间或时间范围、与客户端装置的位置相关联的日期、与客户端装置的日历软件应用程序相关联的日历条目、与客户端装置的一个或多个电子通信软件应用程序相关联的电子通信、在客户端装置的前台中运行的给定软件应用程序、在客户端装置的后台中运行的给定软件应用程序、在客户端装置处可访问的一个或多个软件应用程序的历史使用、与客户端装置通信的一个或多个附加客户端装置的指示、包括在客户端装置处复制的内容的剪贴板、与客户端装置通信的附加计算装置的装置状态改变,和/或其它装置信号。
例如,假设与客户端装置的位置相关联的时间指示时间是下午6:00。在该示例中,与客户端装置相关联的给定建议状态可以是“晚上”建议状态。进一步假设客户端装置的位置指示用户在餐厅。在该示例中,与客户端装置相关联的给定建议状态可以是更具体的“晚上的餐厅”建议状态。进一步假设与餐厅相关联的语义标识符指示这是泰国餐厅。在该示例中,与客户端装置相关联的给定建议状态可以是甚至更具体的“晚上的泰国餐厅”建议状态。进一步假设用户的日历条目指示用户在泰国餐厅庆祝用户的孩子的生日。在该示例中,与客户端装置相关联的给定建议状态可以是甚至更具体的“晚上孩子过生日的泰国餐厅”建议状态。因此,基于装置信号的不同组合,能够以不同的粒度定义建议状态,并且能够为这些建议状态中的每一个生成ZP建议的对应子集。客户端装置能够识别(或预料)这些不同的信号组合,以识别多个不同建议状态中的每一个。
在一些实施方案中,能够基于多个用户交互识别候选ZP建议的超集。在这些实施方案的一些版本中,当在客户端装置处检测到这些不同的信号组合时,候选ZP建议的超集能够基于客户端装置的用户的用户交互。继续用户为孩子的生日在晚上访问泰国餐厅的以上示例,假设当用户通常访问餐厅(特定的泰国餐厅或其它餐厅)时,用户通常与在客户端装置处可访问的健康和健身应用程序交互以跟踪晚餐期间消耗的卡路里,并且与在客户端装置处可访问的浏览器应用程序交互以查看在餐厅供应的各种菜肴的评论。在该示例中,这些用户交互中的每一个能够被包括在候选ZP建议的超集中。在这些实施方案的附加或替代版本中,当在客户端装置处检测到这些不同的信号组合时,候选ZP建议的超集能够基于其他用户经由相应客户端装置的用户交互。继续用户为孩子的生日在晚上访问泰国餐厅的以上示例,假设当其他用户通常访问餐厅时,其他用户与在相应客户端装置处可访问的计算器应用程序交互以确定给服务员小费的合适金额,并且其他用户与在相应客户端装置处可访问的翻译应用程序交互以获得一个或多个菜名的翻译。在该示例中,这些用户交互中的每一个能够附加或替代地包括在候选ZP建议的超集中。值得注意的是,候选ZP建议的超集能够包括在各种其它上下文场景中遇到的多个用户交互,这些上下文场景可能不特定于给定的建议状态。例如,候选ZP建议的超集能够进一步包括基于当客户端装置(或相应客户端装置)连接到附加计算装置(例如,车载计算装置、蓝牙耳机等)时、当用户醒来时、当用户上班时、当用户下班回家时、在用户睡觉之前,和/或任何其它上下文场景中检测到的用户交互而确定的候选ZP建议。因此,候选ZP建议的超集能够包括基于各种不同上下文场景而确定的候选ZP建议。
在一些实施方案中,(多个)排序ML模型能够包括对客户端装置的给定用户个性化的个人排序ML模型,而在其它实施方案中,(多个)排序ML模型能够包括不对客户端装置的给定用户个性化的全局ML模型。在这些实施方案中,为包括在候选ZP建议的超集中的候选ZP建议中的每一个并且关于多个对应不同建议状态中的每一个生成对应分数。例如,假设基于上述装置信号的不同组合识别与客户端装置相关联的20个不同建议状态。进一步假设候选ZP建议的超集包括100个不同候选ZP建议。在该示例中,20个不同建议状态和100个不同候选ZP建议能够使用(多个)排序ML模型来处理,以针对100个不同候选ZP建议中的每一个并且关于与客户端装置相关联的20个不同建议状态生成对应分数。换句话说,对应分数能够包括2000个对应分数,或针对每个不同候选ZP建议以及针对20个不同建议状态中的每一个的对应分数。在一些实施方案中,候选ZP建议的阈值数量能够基于对应分数选择,以用于包括在ZP建议的对应子集中的每一个中。继续以上示例,假设被选择用于包括在ZP建议的对应子集中的每一个中的候选ZP建议的阈值数量是10。在该示例中,能够基于对应分数为20个不同建议状态中的每一个选择10个候选ZP建议。ZP建议的对应子集中的每一个能够与对应建议状态相关联地存储在客户端装置的装置上存储器(或存储装置)中,ZP建议的对应子集为该对应建议状态生成。
在一些实施方案中,被选择用于包括在对应子集中的ZP建议中的一个或多个可能需要为客户端装置的给定用户定制。在这些实施方案中,能够识别包括对应占位符的ZP建议中的一个或多个,并且存储在客户端装置的装置上存储器(或存储装置)中的用户简档数据能够被用于确定要用于填充对应占位符的对应个性化标识符。继续用户为孩子的生日在晚上访问泰国餐厅的以上示例,假设用户通常与在客户端装置处可访问的特定健康和健身应用程序交互,以跟踪晚餐期间消耗的卡路里。然而,假设用户具有在客户端装置处可访问的多个健康和健身应用程序。在该示例中,选择用于包括在ZP建议的对应子集中的ZP建议可以包括“使用[X]应用程序跟踪卡路里”,其中“X”是用户在跟踪卡路里时使用的具体应用程序的对应占位符。此外,用户简档数据能够被用于识别在用户在跟踪卡路里时使用的客户端装置处可访问的特定健康和健身应用程序。尽管关于对应个性化标识符是优选软件应用程序提供以上示例,但是应当理解,这是为了示例而不是意味着限制。例如,对应个性化标识符能够包括在客户端装置处可访问的联系人应用程序的一个或多个特定联系人条目、(多个)智能联网装置应用程序的一个或多个智能联网装置标识符、和/或能够基于用户简档数据确定的任何其它个性化标识符。
在一些实施方案中,ZP建议的对应子集可以仅在满足装置的一个或多个装置条件时生成。给定用户的客户端装置的一个或多个装置条件能够包括例如客户端装置正在充电、客户端装置至少具有阈值充电状态、客户端装置的温度小于阈值、给定用户未持有客户端装置、已经检测到与客户端装置相关联的新建议状态、在客户端装置的位置的一天中的时间、在客户端装置的位置的一周中的某一天,和/或本文中所描述的任何其它装置条件。换句话说,ZP建议的对应子集可以仅在给定用户使用客户端装置的非高峰时间期间生成,以避免干扰客户端装置的性能。此外,在一些实施方案中,当随后满足装置的一个或多个装置条件时并且在已经过阈值持续时间之后,可以随后更新ZP建议的对应子集。ZP建议的对应子集随后可以以与上述相同或相似的方式但是关于候选ZP建议的更新后的建议状态和/或更新后的超集来更新。
在一些实施方案中,给定ZP建议的用户选择(或缺乏)能够被用于更新给定建议状态的ZP建议的对应子集。例如,响应于检测到给定建议状态的未来出现,给定ZP建议的选择(或缺乏)能够被用于影响应该将ZP建议的对应子集中的哪些ZP建议提供用于呈现给给定用户。换句话说,给定ZP建议的选择(或缺乏)能够被用于修改与给定ZP建议相关联的对应分数,并且可选地修改与提供用于呈现给给定用户的其它ZP建议相关联的对应分数。例如,假设给定用户选择给定ZP建议,系统能够修改与给定ZP建议相关联的对应分数,以使得更可能响应于检测到给定建议状态的未来出现而将给定ZP建议提供用于呈现给给定用户。此外,例如,假设给定用户没有选择ZP建议,系统能够修改与这些ZP建议相关联的对应分数,以使得不太可能响应于检测到给定建议状态的未来出现而将这些ZP建议提供用于呈现给给定用户。
通过使用本文中所描述的技术,能够实现一个或多个技术优势。作为一个非限制示例,本文中所描述的技术能够被用于在客户端装置本地为对应建议状态生成ZP建议的对应子集,由此确保用户数据的隐私在客户端装置处安全,因为没有将用户数据传输到远程系统(例如,(多个)服务器),并且通过提供专门为客户端装置的给定用户定制的ZP建议来改进ZP建议接口。此外,本文中所描述的技术能够被用于在给定用户使用客户端装置的非高峰时间期间生成ZP建议的对应子集。因此,在激活客户端装置的其它组件的同时,能够快速地且有效地获得ZP建议的给定对应子集,从而减少提供ZP建议以用于呈现给给定用户的时延。例如,通常用于生成和提供ZP建议的其它组件可能需要时间来激活,并且处理在生成ZP建议且随后提供ZP建议以用于呈现给给定用户时使用的数据。然而,通过以本文中所描述的方式先前索引ZP建议的对应子集,消除了激活这些其它组件以用于提供ZP建议的需要。
提供以上描述作为仅本文中所公开的一些实施方案的概述。本文中更详细地描述这些实施方案和其它实施方案。
应当理解,本文中更详细描述的前述概念和附加概念的所有组合被认为是本文中所公开的主题的一部分。例如,出现在本公开的结尾处的所要求保护的主题的所有组合被认为是本文中所公开的主题的一部分。
附图说明
图1描绘展示本公开的各个方面并且其中可以实现本文中所公开的实施方案的示例环境的框图。
图2描绘根据各种实施方案的展示本公开的各个方面的示例过程流。
图3描绘根据各种实施方案的图示示例方法的流程图,该方法是在客户端装置本地为客户端装置的用户以及与客户端装置相关联的(多个)建议状态生成零前缀建议的(多个)对应子集,并且随后使客户端装置利用零前缀建议的(多个)对应子集。
图4描绘根据各种实施方案的图示利用基于检测到(多个)建议状态的(多个)出现而先前在客户端装置本地生成的零前缀建议的(多个)对应子集的示例方法的流程图。
图5A、图5B、图5C和图5D描绘根据各种实施方案的利用基于检测到(多个)建议状态的(多个)出现而先前在客户端装置本地生成的零前缀建议的(多个)对应子集的各种非限制性示例。
图6描绘根据各种实施方案的计算装置的示例架构。
具体实施方式
现在转向图1,描绘展示本公开的各个方面并且其中能够实现本文中所公开的实施方案的示例环境的框图。示例环境包括客户端装置110、一个或多个基于云的自动助理组件115、一个或多个第一方服务器191和一个或多个第三方服务器192。
客户端装置110能够执行自动助理客户端113。自动助理客户端113能够是与客户端装置110的操作系统分离的应用程序(例如,安装在操作系统的“顶部上”)-或能够替代地直接由客户端装置110的操作系统实施。如下文进一步描述,自动助理客户端113能够响应于由客户端装置110的(多个)用户接口组件112接收的各种请求而可选地与基于云的自动助理组件115中的一个或多个交互。此外,还如下文所描述,客户端装置110的(多个)其它引擎能够可选地与基于云的自动助理组件115中的一个或多个交互。
一个或多个基于云的自动助理组件115能够在一个或多个计算系统(例如,统称为“云”或“远程”计算系统的服务器)上实现,所述计算系统经由一个或多个局域网(“LAN”,包括Wi-Fi LAN、蓝牙网络、近场通信网络、网状网络等)、广域网(“WAN”,包括互联网等),和/或其它网络通信地耦合到客户端装置110。基于云的自动助理组件115与客户端装置110的通信耦合通常由图1的1991指示。而且,在一些实施方案中,客户端装置110可以经由一个或多个网络(例如,LAN和/或WAN)与本文中所描述的其它客户端装置(未描绘)通信地耦合。
基于云的自动助理组件115中的一个或多个还能够经由一个或多个网络(例如,LAN、WAN和/或其它网络)与第一方服务器191中的一个或多个和/或第三方服务器192中的一个或多个通信地耦合。基于云的自动助理组件115与第一方服务器191中的一个或多个的通信耦合通常由图1的1992指示。此外,基于云的自动助理组件115与第三方服务器192中的一个或多个的通信耦合通常由图1的1993指示。在一些实施方案中,尽管在图1中未明确地描绘,但是客户端装置110能够另外或替代地经由一个或多个网络(例如,LAN、WAN和/或其它网络)与第一方服务器191中的一个或多个和/或第三方服务器192中的一个或多个通信地耦合。
通过自动助理客户端113与基于云的自动助理组件115中的一个或多个的交互,该自动助理客户端可以形成从用户的角度看起来是自动助理120的逻辑示例的内容,客户端装置110的用户可以通过自动助理参与人机对话。例如,由虚线包围的自动助理120的示例包括客户端装置110的自动助理客户端113和一个或多个基于云的自动助理组件115。因此,应当理解,与在客户端装置110上执行的自动助理客户端113互动的每个用户实际上可以与自动助理120的其自身的逻辑实例(或在家庭或其它用户组之间共享和/或在多个自动助理客户端113之间共享的自动助理的120的逻辑实例)互动。尽管图1中仅图示了客户端装置110,但是应当理解,基于云的自动助理组件115中的一个或多个能够另外服务于许多附加的客户端装置组。此外,尽管图1中图示了基于云的自动助理组件115,但是应当理解,在各种实施方案中,自动助理120能够仅在客户端装置110处实现。
如本文中所使用的,第一方装置或系统(例如,一个或多个第一方服务器191)引用由与控制本文中所引用的自动助理120的一方相同的一方控制的系统。例如,一个或多个第一方服务器191能够引用托管以下服务的系统:搜索引擎服务、通信服务(例如,电子邮件、SMS消息传递等)、导航服务、音乐服务、文档编辑或共享服务,和/或由与控制本文中所引用的自动助理120的一方相同的一方控制的其它服务。相反,第三方装置或系统(例如,一个或多个第三方服务器192)引用由与控制本文中所引用的自动助理120的一方不同的一方控制的系统。例如,一个或多个第三方服务器192能够引用托管相同服务的系统,但是这些服务由与控制本文在所引用的自动助理120的一方不同的一方控制。
客户端装置110可以包括例如以下项中的一个或多个:台式计算装置、膝上型计算装置、平板计算装置、移动电话计算装置、用户的车辆的计算装置(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立的交互式扬声器(例如,具有或不具有显示器)、诸如智能电器、智能电视或智能洗衣机/烘干机等的智能联网装置、包括计算装置的用户的可穿戴设备(例如,具有计算装置的用户的手表、具有计算装置的用户的眼镜、虚拟或增强现实计算装置),和/或能够接收针对自动助理120的用户输入的任何IoT装置。可以提供附加和/或替代客户端装置。
在各种实施方案中,客户端装置110可以包括一个或多个存在传感器111,该存在传感器被配置成在有(多个)对应用户的批准的情况下提供指示检测到的存在,特别是人类存在的信号。在这些实施方案中的一些中,自动助理120能够至少部分地基于用户在客户端装置110处(或在与客户端装置110的用户相关联的另一计算装置处)的存在而识别客户端装置110(或与客户端装置110的用户相关联的另一计算装置)以满足口头话语(或针对自动助理120的其它输入)。能够通过在客户端装置110和/或与客户端装置110的用户相关联的(多个)其它计算装置处(例如,可听地和/或视觉地)呈现响应内容,通过使客户端装置110和/或与客户端装置110的用户相关联的(多个)其它计算装置得到控制,和/或通过使客户端装置110和/或与客户端装置110的用户相关联的(多个)其它计算装置执行任何其它动作以满足口头话语(或针对自动助理120的其它输入)来满足口头话语(或针对自动助理120的其它输入)。如本文中所描述,自动助理120能够利用基于存在传感器111基于用户接近或最近接近的位置确定客户端装置110(或(多个)其它计算装置)时确定的数据,并且仅向客户端装置110(或这些其它计算装置)提供对应命令。在一些附加或替代实施方案中,自动助理120能够利用基于存在传感器111确定任何(多个)用户(任何用户或特定用户)当前是否靠近客户端装置110(或(多个)其它计算装置)时确定的数据,并且能够可选地基于靠近客户端装置110(或(多个)其它计算装置)的(多个)用户抑制向和/或从客户端装置110(或(多个)其它计算装置)提供数据。
存在传感器111可以具有各种形式。例如,客户端装置110可以配备有一个或多个视觉组件(例如,(多个)数码相机和/或(多个)其它视觉组件),该视觉组件被配置成捕获并提供指示在其视场中检测到的移动的(多个)信号。另外或替代地,客户端装置110可以配备有其它类型的基于光的存在传感器111,诸如测量从其视场内的物体辐射的红外(“IR”)光的无源红外(“PIR”)传感器。另外或替代地,客户端装置110可以配备有检测声(或压力)波的存在传感器111,诸如一个或多个麦克风。
另外或替代地,在一些实施方案中,存在传感器111可以被配置成检测与人类存在或装置存在相关联的其它现象。例如,在一些实施例中,客户端装置110可以配备有存在传感器111,该存在传感器检测由例如用户所携载/操作的其它计算装置(例如,移动装置、可穿戴计算装置等)和/或其它计算装置发射的各种类型的无线信号(例如,诸如无线电、超声波、电磁波等的波)。例如,客户端装置110可以被配置成发射人类无法感知的波,诸如超声波或红外波,这些波可以由(多个)其它计算装置检测(例如,经由诸如具有超声波功能的麦克风的超声/红外接收器)。
另外或替代地,客户端装置110可以发射其它类型的人类无法感知的波,诸如无线电波(例如,Wi-Fi、蓝牙、蜂窝等),这些波可以由用户所携载/操作的(多个)其它计算装置(例如,移动装置、可穿戴计算装置等)检测并且用于确定用户的具体位置。在一些实施方案中,GPS和/或Wi-Fi三角测量可以用于例如基于去往/来自客户端装置110的GPS和/或Wi-Fi信号来检测人的位置。在其它实施方案中,客户端装置110可以单独地或共同地使用例如飞行时间、信号强度等其它无线信号特征,以基于由用户所携载/操作的(多个)其它计算装置发射的信号来确定具体人的位置。
附加或替代地,在一些实施方案中,客户端装置110可以执行语音识别以根据他们的语音识别用户。例如,自动助理120的一些实例可以被配置成例如出于提供/限制对各种资源的访问的目的而将语音与用户的简档匹配。在一些实施方案中,然后可以例如通过客户端装置110的存在传感器111(以及可选地GPS传感器和/或加速计)确定扬声器的移动。在一些实施方案中,基于这种检测到的移动,可以预测用户的位置,并且当至少部分地基于客户端装置110和/或(多个)其它计算装置与用户位置的接近度使任何内容在客户端装置110或(多个)其它计算装置处呈现时,该位置可以被假设为用户的位置。在一些实施方案中,可以简单地假设用户处于他或她与自动助理120互动的最后位置,特别是在自上次互动以来没有经过太多时间的情况下。
客户端装置110进一步包括用户接口组件112,该用户接口组件可以包括一个或多个用户接口输入装置(例如,(多个)麦克风、触摸屏、键盘和/或其它输入装置),和/或一个或多个用户接口输出装置(例如,显示器、扬声器、投影仪,和/或其它输出装置)。此外,客户端装置110和/或(多个)任何其它计算装置可以包括用于存储数据和软件应用程序的一个或多个存储器、用于访问数据并且执行应用程序的一个或多个处理器,以及促进通过网络的通信的其它组件。由客户端计算装置110、(多个)其它计算装置和/或由自动助理120执行的操作可以分布在多个计算机系统上。自动助理120可以被实现为例如计算机程序,该计算机程序在通过网络(例如,图1的(多个)网络199)彼此耦合的处于一个或多个位置的一个或多个计算机上运行。
如上所述,在各种实施方案中,客户端计算装置110可以操作自动助理客户端113。在各种实施例中,自动助理客户端113可以包括语音捕获/自动语音识别(ASR)/自然语言理解(NLU)/文本到语音(TTS)模块114。在其它实施方案中,相应语音捕获/ASR/NLU/TTS模块114的一个或多个方面可以与自动助理客户端113分开实现(例如,通过基于云的自动助理组件115中的一个或多个)。
语音捕获/ASR/NLU/TTS模块114可以被配置成执行一个或多个功能,包括例如:捕获用户的语音(语音捕获,例如经由(多个)相应麦克风(在一些情况下可以包括存在传感器111中的一个或多个));使用存储在(多个)机器学习(ML)模型数据库120A中的(多个)ASR模型将所捕获的语音转换成所识别文本和/或其它表示或嵌入;使用存储在(多个)ML模型数据库120A中的(多个)NLU模型解析和/或注释所识别文本;和/或使用存储在(多个)ML模型数据库120A中的(多个)TTS模型将文本转换到语音。这些ML模型的(多个)实例可以本地存储在客户端装置110处和/或可由客户端装置110通过图1的(多个)网络199访问。在一些实施方案中,由于客户端装置110在计算资源(例如,处理器循环、存储器、电池等)方面可能相对受限,因此客户端装置110本地的相应语音捕获/ASR/NLU/TTS模块114可以被配置成使用(多个)语音识别模型将有限数量的不同口头短语转换成文本(或诸如低维嵌入的其它形式)。可以将一些语音输入发送到基于云的自动助理组件115中的一个或多个,该基于云的自动助理组件可以包括基于云的ASR模块116、基于云的NLU模块117,和/或基于云的STT模块118。基于云的自动助理组件115可以利用云的几乎无限的资源来执行相同或相似的功能,但是应注意,语音捕获/ASR/NLU/TTS模块114能够在客户端装置110本地执行此功能,而不与基于云的自动助理组件115交互。
尽管关于具有单个用户的单个客户端装置描述图1,但是应当理解,这是为了示例而不是意味着限制。例如,用户的一个或多个附加客户端装置还可以实现本文中所描述的技术。这些附加客户端装置可以与客户端装置110通信(例如,通过(多个)网络199)。作为另一示例,给定客户端装置能够由共享设置中的多个用户(例如,一组用户、一个家庭)使用。
在一些实施方案中,客户端装置110能够进一步包括各种引擎,该引擎用于为与客户端装置110相关联的多个不同对应建议状态生成零前缀(ZP)建议的多个不同对应子集,并且随后利用ZP建议的对应子集提供ZP建议以用于呈现给用户。例如,如图1中所描绘的,客户端装置110能够进一步包括(多个)装置条件引擎130、建议状态引擎140、候选ZP建议引擎150、ZP建议引擎160和ZP定制引擎170。客户端装置110能够进一步包括装置上存储器(或可以是瞬时或非瞬时的存储装置),其包括(电话)用户简档数据库110A、(多个)ML模型数据库120A和ZP建议数据库160A。在一些实施方案中,这些各种引擎能够仅在客户端装置110上执行。在附加或替代实施方案中,这些各种引擎中的一个或多个能够从客户端装置110远程地执行(例如,作为基于云的自动助理组件115的一部分)。
如本文中所描述的,客户端装置110能够利用这些各种引擎,以在客户端装置110本地为与客户端装置110相关联的对应建议状态生成ZP建议的对应子集。注意,这些ZP建议中的一些能够为客户端装置110的用户定制。此外,客户端装置110能够利用这些各种引擎,以在客户端装置110本地为与客户端装置110相关联的对应建议状态周期性地更新ZP建议的对应子集。ZP建议的对应子集能够与客户端装置110的装置上存储器(或存储装置)中的对应建议状态相关联地存储。因此,当在客户端装置110处检测到给定的对应建议状态的出现时,能够快速地且有效地提供ZP建议的给定对应子集以用于呈现给客户端装置110的用户,该给定对应子集特定于给定对应建议状态并且包括为客户端装置110的用户定制的一个或多个ZP建议。
例如,现在转向图2,描绘了展示本公开的各个方面的示例过程流。图2中描绘的过程流能够由自动助理120利用在图1的示例环境中描绘的客户端装置110的各种引擎执行。在一些实施方案中,当满足一个或多个装置条件时,自动助理120可以仅为对应建议状态生成ZP建议的对应子集。在这些实施方案中,(多个)装置条件引擎130能够连续地监测一个或多个装置条件230A,以确定是否满足装置条件中的一个或多个。用户的客户端装置110的一个或多个装置条件230A能够包括例如客户端装置110正在充电、客户端装置110至少具有阈值充电状态、客户端装置110的温度小于阈值、用户未持有客户端装置110、已经检测到与客户端装置110相关联的新建议状态、在客户端装置110的位置的一天中的时间,和/或在客户端装置110的位置的一周中的某一天。换句话说,(多个)装置条件引擎130能够识别由用户使用客户端装置110的非高峰时间,并且可选地将ZP建议的对应子集的生成限制为由用户使用客户端装置110的这些非高峰时间,以避免干扰由用户使用客户端装置110。在这些实施方案中,假设(多个)装置条件引擎230A确定满足一个或多个装置条件230A,则(多个)装置条件引擎230能够向建议状态引擎140发送指示满足一个或装置条件230A的信号,如130A所指示的。
建议状态引擎140能够识别与客户端装置110相关联的多个不同对应建议状态140A。在一些实施方案中,建议状态引擎140能够处理由客户端装置110生成的一个或多个装置信号210A,以识别多个不同对应建议状态140A,并且可选地向多个不同对应建议状态140A中的每一个分配对应语义标识符。当检测到一个或多个装置信号210A时(例如,当不满足一个或多个装置条件230A时),能够在使用客户端装置110的高峰时间期间识别一个或多个装置信号210A。在一些实施方案中,建议状态引擎140能够处理一个或多个装置信号210A,以在这些使用客户端装置110的高峰时间期间识别多个不同对应建议状态。然而,在附加或替代实施方案中,建议状态引擎140能够在检测到一个或多个装置信号210A时存储该一个或多个装置信号,并且随后处理一个或多个装置信号210A,以在使用客户端装置110的非高峰时间期间(例如,当满足一个或多个装置条件230A时)识别多个不同对应建议状态。高峰时间与非高峰时间之间的这些变化由一个或多个装置信号210A与由130A指示的满足的一个或多个装置信号之间的虚线箭头指示。
用户的客户端装置110的一个或多个装置信号210A能够包括例如客户端装置110的位置、客户端装置110的位置的语义指示、与客户端装置110的位置相关联的时间或时间范围、与客户端装置110的位置相关联的日期、与客户端装置110的日历软件应用程序相关联的日历条目、与客户端装置110的一个或多个电子通信软件应用程序相关联的电子通信、在客户端装置110的前台中运行的给定软件应用程序、在客户端装置110的后台中运行的给定软件应用程序、在客户端装置110处可访问的一个或多个软件应用程序的历史使用、与客户端装置110通信的一个或多个附加客户端装置的指示,或包括在客户端装置110处复制的内容的剪贴板。多个不同对应建议状态140A中的每一个能够表示具有不同粒度的不同上下文场景,并且因此用于多个不同对应建议状态140A中的每一个的ZP建议的对应子集能够包括与不同上下文场景中的每一个相关的一个或多个ZP建议。此外,建议状态引擎140能够将多个不同对应建议状态140A中的每一个存储在ZP建议数据库160A中,例如作为ZP对应建议状态的表。
例如,假设一个或多个装置信号210A指示客户端装置110与车载计算装置之间的连接(例如蓝牙连接)已在周五上午9:00建立。在该示例中,建议状态引擎140能够识别出一个或多个装置信号210A对应于“通勤”建议状态或更具体的“上班”建议状态或“工作日早晨上班”。作为另一示例,假设一个或多个装置信号210A指示客户端装置110与无线耳机之间的连接(例如蓝牙连接)已在周六上午9:00建立,媒体应用程序正在客户端装置110的前台中运行,并且客户端装置110位于与健身房相关联的物理地址处。在该示例中,建议状态引擎140能够识别出一个或多个装置信号210A对应于“媒体播放”建议状态或更具体的“用于锻炼的媒体播放”建议状态。作为又一示例,假设在客户端装置110处可访问的日历应用程序的日历条目指示用户有飞往具体位置的即将到来的航班,并且在客户端装置110处可访问的笔记应用程序的笔记条目具有与特定应用程序相关联的信息。在该示例中,建议状态引擎140能够识别出一个或多个装置信号210A对应于“行进”建议状态或更具体的“行进到特定位置”建议状态。尽管关于识别具体建议状态提供以上示例,但是应当理解,这是为了示例而不是意味着限制。相反,应当理解,一个或多个装置信号210A的任何组合能够被用于识别各个其它建议状态。
候选ZP建议引擎150能够基于客户端装置110的用户与客户端装置110的多个用户交互210B(例如,私人用户交互)和/或基于相应客户端装置的其他用户与相应客户端装置的多个用户交互210B(例如,公共用户交互)来识别候选ZP建议150A的超集(或原始候选ZP建议的超集)。包括在候选ZP建议的超集中的ZP建议能够被视为原始候选ZP建议,因为这些ZP建议基于多个用户交互210B确定,但不为客户端装置110的用户定制。在一些实施方案中,多个用户交互可能限于分别在客户端装置110和/或相应客户端装置处检测到一个或多个装置信号210A时的情况。多个用户交互210B能够包括,例如,与在客户端装置110和/或相应客户端装置处可访问的特定软件应用程序的用户交互,诸如启动特定软件应用程序、访问在特定软件应用程序处可访问的内容等;与特定装置的用户交互,诸如控制附加装置,包括智能联网装置(例如,智能灯、智能电器、智能锁、智能恒温器、智能车库门、智能电视等)、车载装置或组件(例如,电动车窗、加热和空气调节、挡风玻璃除霜器、车辆锁等),和/或与客户端装置110和/或相应客户端装置通信的其它装置;在客户端装置110和/或相应客户端装置处复制和/或粘贴特定内容的用户交互;和/或与客户端装置110和/或相应客户端装置的任何其它用户交互。例如,用户交互能够包括利用在客户端装置110处可访问的媒体应用程序来播放特定歌曲或播客;利用在客户端装置110处可访问的导航应用程序来获得方向和/或交通状况;控制客户端装置的用户的车辆的加热和空气调节;呼叫或发消息通知在客户端装置110处可访问的联系人应用程序的联系人条目来与附加用户通信;利用在客户端装置110处可访问的智能灯应用程序来控制与智能灯应用程序相关联的各种智能灯;使用在客户端装置110处可访问的拼车应用程序来安排乘车,和/或任何其它用户交互。换句话说,在使用的高峰时间期间在客户端装置110和/或相应客户端装置处检测到的用户交互能够随后用于在使用客户端装置110的非高峰时间期间生成ZP建议的对应子集。尽管这些用户交互可以在各种上下文中执行,但是这些用户交互中的每一个能够被包括在候选ZP建议150A的超集中。ZP建议的超集能够被存储在ZP建议数据库160A中,作为例如原始ZP建议的表。
ZP建议引擎160能够使用存储在(多个)ML模型数据库120A中的一个或多个排序机器学习(ML)模型(或存储在(多个)ML模型数据库中的一个或多个排序ML规则)处理多个不同对应建议状态140A中的每一个以及包括在候选ZP建议150A的超集中的ZP建议中的一个或多个,以为包括在候选ZP建议150A的超集中的每个候选ZP建议并且关于多个不同对应建议状态140A中的每一个生成对应分数。用于包括在候选ZP建议150A的超集中的每个候选ZP建议并且关于多个不同对应建议状态140A中的每一个的对应分数能够各自指示客户端装置110的用户将鉴于不同建议状态的不同上下文执行与候选ZP建议相关联的用户交互的可能性。例如,假设多个不同对应建议状态140A包括10个不同建议状态,并且候选ZP建议150A的超集包括对应于上述用户交互的100个不同候选ZP建议。在该示例中,ZP建议引擎160能够为10个不同建议状态中的第一建议状态、为不同候选ZP建议中的每一个生成100个对应分数;为10个不同建议状态中的第二建议状态、为不同候选ZP建议中的每一个生成100个附加对应分数;以及为其余建议状态以此类推。因此,在该示例中,ZP建议引擎160能够生成总共1,000个分数(例如,10个不同建议状态中的每一个的100个分数)。注意,10个不同建议状态能够包括以不同粒度定义的建议状态。例如,10个不同建议状态能够包括例如上述“通勤”建议状态、上述更具体的“上班”建议状态,以及甚至更具体的“工作日早晨上班”。因此,当检测到这些建议状态中的一个的出现时提供用于呈现给用户的ZP建议能够反映与更具体和/或更一般的上下文场景最相关的ZP建议。
在各种实施方案中,基于对应分数并且对于多个不同对应建议状态140A中的每一个,ZP建议引擎160能够选择一个或多个ZP建议,以包括在多个不同对应建议状态140A中的每一个的ZP建议160A的对应子集中。在这些实施方案的一些版本中,ZP建议引擎160能够从候选ZP建议150A的超集中选择阈值数量的ZP建议以用于包括在ZP建议160A的对应子集的每一个中,并且可选地丢弃未被选择用于包括在ZP建议160A的任何对应子集中的任何ZP建议。继续以上示例,进一步假设ZP建议引擎160选择10个ZP建议以用于包括在ZP建议160A的对应子集中的每一个中。在该示例中,ZP建议引擎160能够为10个不同建议状态中的每一个选择10个ZP建议,从而产生ZP建议的10个对应子集,每个对应子集包括10个ZP建议并且每个对应子集特定于10个不同建议状态中的给定一个。注意,ZP建议并不互斥,因为给定ZP建议可以被包括在ZP建议160A的对应子集中的多于一个子集中。
在一些实施方案中,用于处理多个不同对应建议状态140A中的每一个以及包括在候选ZP建议150A的超集中的ZP建议中的一个或多个以生成对应分数的一个或多个排序ML模型能够包括针对客户端装置110的用户个性化的个人排序ML模型。在这些实施方案的一些版本中,个人排序ML模型能够被用于处理包括在候选ZP建议150A的超集中的ZP建议中的一个或多个,这些ZP建议基于特定于客户端装置110的用户的用户交互。在附加或替代实施方案中,用于处理多个不同对应建议状态140A中的每一个以及包括在候选ZP建议150A的超集中的ZP建议中的一个或多个以生成对应分数的一个或多个排序ML模型能够包括不针对客户端装置110的用户个性化的全局排序ML模型。在这些实施方案的一些版本中,全局排序ML模型能够被用于处理包括在候选ZP建议150A的超集中的ZP建议中的一个或多个,这些ZP建议基于特定于客户端装置110的用户的用户交互。在这些实施方案的一些版本中,全局排序ML模型可以用于处理包括在候选ZP建议150A的超集中的ZP建议中的一个或多个,这些ZP建议基于不特定于客户端装置110的用户的用户交互,诸如其他用户与相应客户端装置的用户交互。
在各种实施方案中,在使用一个或多个排序ML模型处理多个不同对应建议状态140A中的每一个以及包括在候选ZP建议150A的超集中的ZP建议中的一个或多个时,ZP建议引擎140还能够处理客户端装置110的用户的用户简档数据。客户端装置110的用户的用户简档数据能够从(多个)用户简档数据库110A获得。用户简档数据能够包括例如软件应用程序使用数据(例如,客户端装置110的用户何时使用特定软件应用程序、客户端装置110的用户如何使用特定软件应用程序等)、软件应用程序偏好数据(例如,客户端装置110的用户是否偏好用于播放特定媒体内容、获得导航方向、预订拼车等的特定软件应用程序)、智能家居数据(例如,与客户端装置110的用户的房屋图形相关联的智能联网装置的指示、与每个智能联网装置相关联的语义标识符等)、浏览历史,和/或在客户端装置110处本地可用的与客户端装置110的用户相关联的任何其它数据。
在各种实施方案中,选择用于包括在ZP建议160A的对应子集中的ZP建议中的一个或多个可能需要为客户端装置110的用户定制。例如,自动助理120能够识别被选择用于包括在ZP建议160A的对应子集中并且包括对应占位符的一个或多个ZP建议。例如,假设给定ZP建议对应于“呼叫[联系人条目]”、“打开[灯位置]灯”,或“在[媒体应用程序]上播放播客”。在该示例中,用于给定ZP建议的对应占位符能够分别对应于[联系人条目]、[灯位置],或[媒体应用程序]。此外,在这些实施方案中,ZP定制引擎能够利用存储在(多个)用户简档数据库110A中的用户简档数据,以利用与客户端装置110的用户相关联的对应个性化标识符填充对应占位符。
在这些实施方案中,ZP定制引擎170能够识别与客户端装置110的用户相关联的对应个性化标识符,并且利用该对应个性化标识符来填充与这些ZP建议相关联的对应占位符。例如,假设“呼叫[联系人条目]”是被选择用于包括在与“下班回家”建议状态相关联的ZP建议的对应子集中的给定ZP建议,并且假设用户通常在下班回家时呼叫他/她的配偶。在该示例中,ZP定制引擎170能够识别与用户的配偶相关联的联系人条目,从而产生“呼叫配偶”的ZP建议。作为另一示例,假设“呼叫[联系人条目]”是被选择用于包括在与“下班回家”建议状态相关联的ZP建议的对应子集中的给定ZP建议,并且假设用户通常在下班回家时呼叫他/她的兄弟姐妹。在该示例中,ZP定制引擎170能够识别与用户的兄弟姐妹相关联的联系人条目,从而产生“呼叫兄弟姐妹”的ZP建议。作为另一示例,假设“在[媒体应用程序]上播放播客”是被选择用于包括在与“媒体播放”建议状态相关联的ZP建议的对应子集中的给定ZP建议,并且假设用户通常利用第一媒体应用程序来收听播客。在该示例中,ZP定制引擎170能够识别与用户的兄弟姐妹相关联的联系人条目,从而产生“在第一媒体应用程序上播放播客”的ZP建议。因此,ZP定制引擎170能够定制包括在ZP建议160A的对应子集中的一个或多个中的一个或多个ZP建议,由此产生ZP建议170A的一个或多个对应定制子集。此外,ZP定制引擎170能够使ZP建议170A的一个或多个对应定制子集与多个不同对应建议状态140A中的相应一个相关联地存储在ZP建议数据库160A中。
因此,如关于图5A到5D更详细地描述,当随后在客户端装置110处检测到给定建议状态的出现时,自动助理120能够快速地且有效地获得与给定建议状态相关联地存储的ZP建议的对应子集。此外,自动助理120能够使来自ZP建议的对应子集的一个或多个ZP建议被提供用于呈现给客户端装置110的用户,而不必等待激活客户端装置110的各种组件。响应于接收到被提供用于呈现给用户的给定ZP建议的用户选择,自动助理120能够初始化与由客户端装置110的用户选择的给定ZP建议相关联的一个或多个对应动作或助理命令的执行。在各种实施方案中,对于被提供用于呈现给用户的ZP建议中的每一个,与对应动作中的每一个相关联的履行数据能够被预先缓存在客户端装置110的装置上存储器(或存储装置)中,以进一步减少对应动作的执行的时延。
现在转向图3,描绘了图示示例方法300的流程图,该方法是在客户端装置本地为客户端装置的用户以及与客户端装置相关联的(多个)建议状态生成零前缀建议的(多个)对应子集,并且随后使客户端装置利用零前缀建议的(多个)对应子集。为了方便,参考执行操作的系统来描述方法300的操作。方法300的此系统包括一个或多个处理器、存储器和/或(多个)计算装置的(多个)其它组件(例如,图1和图5A到5D的客户端装置110、图6的计算装置610、一个或多个服务器,和/或其它计算装置)。此外,尽管以特定顺序示出方法300的操作,但这并不意味着是限制性的。可以重新排序、省略和/或添加一个或多个操作。
在框352,系统确定是否满足给定用户的客户端装置的一个或多个装置条件。给定用户的客户端装置的一个或多个装置条件能够包括例如客户端装置正在充电、客户端装置至少具有阈值充电状态、客户端装置的温度小于阈值、给定用户未持有客户端装置、已经检测到与客户端装置相关联的新建议状态、在客户端装置的位置的一天中的时间、在客户端装置的位置的一周中的某一天,和/或本文中所描述的任何其它装置条件。如果在框352的迭代,系统确定不满足一个或多个装置条件,则系统在框352继续监测是否满足一个或多个装置条件。如果在框352的迭代,系统确定满足一个或多个装置条件,则系统前进到框354。
在框354,系统识别(或生成)与给定用户的客户端装置相关联的给定建议状态。给定建议状态可以是与用户的客户端装置相关联的多个不同建议状态中的一个。多个建议状态中的每一个能够与由客户端装置或与客户端装置通信的附加装置生成的一个或多个装置信号相关联,并且能够以不同粒度定义(例如,如关于图1和2的建议状态引擎140所描述的)。一个或多个装置信号能够包括例如客户端装置的位置、客户端装置的位置的语义指示、与客户端装置的位置相关联的时间或时间范围、与客户端装置的位置相关联的日期、与客户端装置的日历软件应用程序相关联的日历条目、与客户端装置的一个或多个电子通信软件应用程序相关联的电子通信、在客户端装置的前台中运行的给定软件应用程序、在客户端装置的后台中运行的给定软件应用程序、在客户端装置处可访问的一个或多个软件应用程序的历史使用、与客户端装置通信的一个或多个附加客户端装置的指示,或包括在客户端装置处复制的内容的剪贴板。在一些实施方案中,当检测到一个或多个装置信号时并且当不满足一个或多个装置条件时,能够在使用客户端装置的高峰时间期间生成给定建议状态,并且在检测到一个或多个装置信号之后并且当满足一个或多个装置条件时,随后在使用客户端装置的非高峰时间期间识别给定建议状态以生成与该给定建议状态相关联的ZP建议的对应子集。在附加或替代实施方案中,在检测到一个或多个装置信号之后并且当满足一个或多个装置条件时,能够在使用客户端装置的非高峰时间期间生成给定建议状态。
此外,能够为多个建议状态中的每一个分配对应语义标识符。例如,以不同粒度定义的不同建议状态的层级可以包括“晚上的泰国餐厅”建议状态、“泰国餐厅”建议状态、“餐厅”建议状态和“晚上”建议状态,其中这些建议状态中的每一个可以与一个或多个装置信号相关联。作为另一示例,以不同粒度定义的不同建议状态的另一层级可以包括“用于早晨锻炼的媒体播放”建议状态、“用于锻炼的媒体播放”建议状态、“锻炼”建议状态和“媒体播放”建议状态,其中这些建议状态中的每一个可以与一个或多个装置信号相关联。
在框356,系统识别(或生成)候选ZP建议的超集(或原始候选ZP建议的超集)。能够基于给定用户与客户端装置(或与客户端装置通信的其它装置)的多个用户交互和/或其他用户与相应客户端装置(或与相应客户端装置通信的其它装置)的多个用户交互来识别(或生成)候选ZP建议的超集。包括在候选ZP建议的超集中的ZP建议能够被视为原始候选ZP建议,因为这些ZP建议基于多个用户交互210B确定,但不为客户端装置110的用户定制。在一些实施方案中,考虑的多个用户交互可能仅限于分别在用户的客户端装置和/或其他用户的相应客户端装置处检测到与一个或多个建议状态相关联的一个或多个装置信号时的情况。在一些实施方案中,当检测到多个用户交互时并且当不满足一个或多个装置条件时,能够在使用客户端装置的高峰时间期间生成候选ZP建议的超集,并且在检测到多个用户交互之后并且当满足一个或多个装置条件时,随后在使用客户端装置的非高峰时间期间识别候选ZP建议的超集以生成与给定建议状态相关联的ZP建议的对应子集。在附加或替代实施方案中,在检测到一个或多个装置信号之后并且当满足一个或多个装置条件时,能够在使用客户端装置的非高峰时间期间生成候选ZP建议的超集。例如,假设在进入与给定用户相关联的车辆时,给定用户利用车载系统发起并执行与配偶的电话呼叫,并且在执行电话呼叫之后,利用车载系统进行媒体播放。在该示例中,发起电话呼叫(以及可选地通过电话呼叫在用户与配偶之间的指示)并且使媒体播放执行的用户交互的指示能够被包括在候选ZP建议的超集中。
在框358,系统使用一个或多个排序ML模型处理在框354识别的给定建议状态以及在框356识别的候选ZP建议的超集,以为候选ZP建议中的每一个并且关于给定建议状态生成对应分数。例如,假设候选ZP建议的超集包括100个候选ZP建议。在该示例中,能够基于处理在框354识别的给定建议状态和在框356识别的候选ZP建议的超集来生成候选ZP建议中的每一个的对应分数,由此产生100个对应分数。在一些实施方案中,系统能够使用排序ML模型中的一个或多个以及在框354识别的给定建议状态和在框356识别的候选ZP建议的超集来处理客户端装置的给定用户的一个或多个用户简档的用户简档数据。在一些实施方案中,一个或多个排序ML模型包括对客户端装置的给定用户个性化的个人排序ML模型,而在其它实施方案中,一个或多个排序ML模型包括不对客户端装置的给定用户个性化的全局ML模型。
在框360,系统基于对应分数从候选ZP建议的超集中选择一个或多个候选ZP建议,以关于给定建议状态包括在ZP建议的对应子集中。在一些实施方案中,系统能够基于对应分数选择阈值数量的候选ZP建议,以用于包括在ZP建议的对应子集中。例如,系统能够基于与这些候选ZP建议相关联的对应分数从候选ZP建议的超集中选择五个、七个、八个或任何其它数量的候选ZP建议,该对应分数指示鉴于给定建议状态,这些候选ZP建议与客户端装置的给定用户更相关。在一些实施方案中,在框360A,系统为用户定制所选择的候选ZP建议。系统能够识别选择用于包括在与对应占位符相关联的ZP建议的对应子集中的候选ZP建议中的任一个,该对应占位符是诸如与特定联系人条目相关联的实体参考占位符、与特定助理命令的优选软件应用程序相关联的软件应用程序标识符占位符、与一个或多个特定智能联网装置相关联的智能联网装置标识符占位符中的对应占位符。此外,系统能够基于客户端装置的给定用户的一个或多个用户简档的用户简档数据(例如,存储在图1的用户简档数据库110A中)来确定将用于填充对应占位符的一个或多个个性化标识符。
在框362,系统将与给定建议状态相关联的ZP建议的对应子集存储在客户端装置的装置上存储器中。在框364,系统确定是否存在与客户端装置相关联的附加建议状态,以生成用于该附加建议状态的ZP建议的附加对应子集。如果在框364的迭代,系统确定存在与客户端装置相关联的附加给定建议状态,以生成附加给定建议状态的ZP建议的附加对应子集,则系统返回到框352,以关于附加给定建议状态而不是给定建议状态执行方法300的附加迭代。例如,在生成ZP建议的附加对应子集时,系统能够处理候选ZP建议的相同超集,但与附加建议状态相关联并包括与建议状态无关的至少一个唯一装置信号的(多个)不同装置信号。如果在框364的迭代,系统确定不存在与客户端装置相关联的附加给定建议状态,以生成用于附加给定建议状态的ZP建议的附加对应子集,则系统前进到框366。在框366,系统使客户端装置利用ZP建议的对应子集来提供一个或多个ZP建议以用于呈现给客户端装置的给定用户(例如,如关于图4的方法400所描述的)。
尽管仅在图3的方法300中描绘框352的单个实例并且在图3的方法300开始时描绘框352的单个实例,但是应当理解,这是为了示例而不是意味着限制。在一些实施方案中,可以在图3的方法300的整个执行过程中实现框352的一个或多个附加实例。例如,可以在图3的方法300的每个框之间实现框352的附加实例。在这些实施方案的一些版本中,并且响应于确定不再满足装置条件中的一个或多个,可以暂停图3的方法300的迭代,并且表征图3的方法300的迭代状态的数据能够被保存在客户端装置的装置上存储器(或存储装置)中,使得当随后满足一个或多个装置条件时,能够加载表征图3的方法300的迭代状态的数据并且能够恢复图3的方法300的迭代。
此外,尽管关于最初生成用于多个不同建议状态的ZP建议的对应子集描述图3的方法300,但是应当理解,这是为了示例而不是意味着限制。例如,能够实现方法300的后续迭代以随后更新用于多个不同建议状态的ZP建议的对应子集。在一些实施方案中,能够实现方法300的后续迭代,以随后在每次满足一个或多个装置条件时更新用于多个不同建议状态的ZP建议的对应子集。在附加或替代实施方案中,能够实现方法300的后续迭代,以在已经过阈值持续时间之后满足一个或多个装置条件时(例如,当在最初生成ZP建议的对应子集或更新ZP建议的对应子集之后一周满足一个或多个装置条件时),随后更新用于多个不同建议状态的ZP建议的对应子集。在附加或替代实施方案中,能够实现方法300的后续迭代,以在确定检测到新建议状态(例如,基于在客户端装置处检测到装置信号的新唯一组合)或确定预期新建议状态(例如,基于在客户端装置处可访问的日历应用程序的指示即将到来的事件(例如,即将到来的航班、即将到来的晚餐等)的日历数据、基于在客户端装置处可访问的一个或多个电子通信应用程序(例如,本文消息传递应用程序、电子邮件应用程序、社交媒体应用程序等)的指示即将到来的事件的电子通信等)之后满足一个或多个装置条件时,随后更新用于多个不同建议状态的ZP建议的对应子集。
现在转向图4,描绘图示示例方法400的流程图,该方法是利用基于检测到(多个)建议状态的(多个)出现而先前在客户端装置本地生成的零前缀建议的(多个)对应子集。为了方便,参考执行操作的系统来描述方法400的操作。方法400的该系统包括一个或多个处理器、存储器和/或(多个)计算装置的(多个)其它组件(例如,图1和图5A到5D的客户端装置110、图6的计算装置610、一个或多个服务器,和/或其它计算装置)。此外,尽管以特定顺序示出方法400的操作,但这并不意味着是限制性的。可以重新排序、省略和/或添加一个或多个操作。
在框452,系统将ZP建议的多个对应不同子集维持在给定用户的客户端装置的装置上存储器(或存储装置)中,ZP建议的对应不同子集中的每一个与多个不同建议状态中的对应建议状态相关联地存储。系统能够使用图3的方法300的一个或多个迭代将ZP建议的多个对应不同子集和ZP建议的对应不同子集维持在给定用户的客户端装置的装置上存储器(或存储装置)中。
在框454,系统确定是否已经检测到给定建议状态的出现。当在给定用户的客户端装置或与给定用户的客户端装置通信的附加装置处检测到与给定建议状态相关联的一个或多个装置信号时,系统能够确定是否已经检测到给定建议状态的出现。本文中描述一个或多个装置信号(例如,关于图1和2的建议状态引擎140并且关于图3的框354)。如果在框454的迭代中,系统确定尚未检测到给定建议状态的出现,则系统在框454继续监测给定建议状态的出现。如果在框454的迭代,系统确定已经检测到给定建议状态的出现,则系统前进到框456。
在框456,系统从客户端装置的装置上存储器(或存储装置)中获得与给定建议状态相关联地存储的ZP建议的给定对应子集。例如,ZP建议的多个不同对应子集能够与多个不同对应建议状态相关联地存储在给定用户的客户端装置的装置上存储器(或存储装置)中。系统能够在给定用户的客户端装置的装置上存储器(或存储装置)中识别在客户端装置处检测到的给定建议状态,并且能够检索与给定建议状态相关联地存储在装置上存储器(或存储装置)中的ZP建议的对应子集。
在框458,系统使来自与给定建议状态相关联地存储的ZP建议的给定对应子集的一个或多个ZP建议被提供用于呈现给给定用户。在一些实施方案中,被提供用于呈现给给定用户的ZP建议的数量可以基于客户端装置或与客户端装置通信的附加客户端装置的用于ZP建议的显示区域的大小。例如,与给定建议状态相关联地存储的ZP建议的对应子集可以包括10个ZP建议。然而,用于ZP建议的显示区域的大小可以仅包括可用于包括在ZP建议的对应子集中的ZP建议的一部分的空间,诸如三个ZP建议。在该示例中,系统可以从要被提供用于呈现给用户的10个ZP建议中选择三个ZP建议(例如,基于与在图3的框358处生成的10个ZP建议相关联的对应分数),并且系统可以可选地提供可选择元素,该可选择元素在选择时使来自10个ZP建议的一个或多个其它ZP建议被提供用于呈现给用户。在其它实施方案中,可以提供来自ZP建议的对应子集的每个ZP建议以用于呈现给用户。
在框460,系统确定是否从客户端装置的给定用户接收给定ZP建议的用户选择。用户选择能够是例如经由客户端装置或与客户端装置通信的附加客户端装置的麦克风检测到的给定ZP建议的语音选择,和/或经由客户端装置或与客户端装置通信的附加客户端装置的显示器检测到的ZP建议的触摸选择。如果在框460的迭代,系统确定没有从客户端装置的给定用户接收到任何ZP建议的选择,则系统前进到框464。下文更详细地描述框464。如果在框460的迭代,系统确定从客户端装置的给定用户接收到给定ZP建议的选择,则系统前进到框462。
在框462,系统使客户端装置或给定用户的与客户端装置通信的附加客户端装置执行与给定ZP建议相关联的对应动作。与给定ZP建议相关联的对应动作能够基于给定ZP建议变化(例如,如关于图5A到5D所描述的)。在框464,系统利用给定ZP建议的选择(或缺乏)来更新与给定建议状态相关联地存储的ZP建议的给定对应子集。例如,响应于检测到给定建议状态的未来出现,给定ZP建议的选择(或缺乏)能够被用于影响应该将ZP建议的对应子集中的哪些ZP建议提供用于呈现给给定用户。换句话说,给定ZP建议的选择(或缺乏)能够被用于修改与给定ZP建议相关联的对应分数,并且可选地修改与被提供用于呈现给给定用户的其它ZP建议相关联的对应分数。例如,假设由给定用户选择给定ZP建议,系统能够修改与给定ZP建议相关联的对应分数,以使得更可能响应于检测到给定建议状态的未来出现来将给定ZP建议提供用于呈现给给定用户。此外,例如,假设没有由给定用户选择ZP建议,系统能够修改与这些ZP建议相关联的对应分数,以使得不太可能响应于检测到给定建议状态的未来出现来将这些ZP建议提供用于呈现给给定用户。作为另一示例,给定ZP建议的选择(或缺乏)能够被用于影响应该将ZP建议的对应子集中的哪些ZP建议包括在与给定建议状态相关联地存储的ZP建议的对应子集中。换句话说,给定ZP建议的选择(或缺乏)能够被用于随后更新与给定建议状态相关联地存储的ZP建议的对应集合。例如,假设没有由给定用户选择ZP建议,系统能够修改与这些ZP建议相关联的对应分数,以使得不太可能在随后更新ZP建议的对应子集时将这些ZP建议包括在与给定建议状态相关联地存储的ZP建议的对应子集中。
现在转向图5A到5D,描绘了利用基于检测到(多个)建议状态的(多个)出现而先前在客户端装置110本地生成的零前缀建议的(多个)对应子集的各种非限制性示例。客户端装置110可以包括各种用户接口组件,包括例如用于基于口头话语和/或其它可听输入生成音频数据的(多个)麦克风、用于可听地呈现合成语音和/或其它可听输出的(多个)扬声器,和/或用于可视地呈现ZP建议和/或其它视觉输出的显示器180。此外,客户端装置110的显示器180能够包括各种系统接口元件181、182和183(例如,硬件和/或软件接口元件),客户端装置110的用户可以与这些系统接口元件交互以使客户端装置110执行一个或多个动作。客户端装置110的显示器180使用户能够通过触摸输入(例如,通过将用户输入引导到显示器180或其部分(例如,引导到文本输入框184、键盘186或显示器180的其它部分))和/或通过口头输入(例如,通过选择麦克风接口元件185-或仅通过说话而不必选择麦克风接口元件185(即,自动助理可以在客户端装置110处监测一个或多个术语或短语、(多个)手势、(多个)凝视、(多个)嘴巴运动、(多个)嘴唇运动和/或激活口头输入的其它条件)与呈现在显示器180上的内容交互。尽管在图5A到5D中描绘的客户端装置110是移动电话,但是应当理解,这是为了示例而不是意味着限制。例如,客户端装置110可以是具有显示器的单独扬声器、不具有显示器的单独扬声器、家庭自动化装置、车载系统、膝上型计算机、台式计算机和/或能够执行自动助理以与用户进行人机对话会话的任何其它装置。
具体参考图5A,假设客户端装置110的用户已经进入他/她的车辆为了上班,并且客户端装置110的显示器180正显示与客户端装置110主屏幕180A相关联的用户接口。进一步假设与“工作日早晨上班”建议状态相关联的ZP建议的对应子集先前生成并且与“工作日早晨上班”建议状态相关联地存储在客户端装置110的装置上存储器(或存储装置)中(例如,使用关于图2和3描述的技术)。在图5A的示例中,客户端装置110能够基于在生成ZP建议的对应子集时与最初为“工作日早晨上班”建议状态识别的装置信号相匹配的各种装置信号来检测“工作日上班”建议状态的出现。例如,能够基于例如与客户端装置110的位置相关联的一天中的时间(例如,上午9:00)、与客户端装置110的位置相关联的一周中的某一天(例如,星期五)、与客户端装置110的位置相关联的日期(例如,2021年1月15日)、与客户端装置通信的一个或多个附加客户端装置的指示(例如,客户端装置110与车载计算装置之间的蓝牙连接),和/或基于先前识别为对应于“工作日早晨上班”建议状态的本文中所描述的其它装置信号来检测“工作日早晨上班”建议状态的出现。如本文中所描述的,能够以不同粒度定义多不不同建议状态。因此,应当理解,“工作日早晨上班”建议状态仅被提供用于示例而不是意味着限制。例如,能够附加或替代地识别更具体的和/或更一般的一个或多个其它建议状态,并且还能够生成这些其它建议状态的ZP建议的对应子集。例如,与“工作日早晨通勤”建议状态、“工作日早晨”建议状态,和/或其它建议状态相关联的ZP建议的其它对应子集能够附加或替代地生成,并且相关联地存储在客户端装置110的装置上存储器(或存储装置)中。
进一步假设与“工作日早晨上班”建议状态相关联地存储的ZP建议的对应子集包括例如:“前往401S.4th街的路线上的交通状况”的第一ZP建议552A,其中“401S.4th街”对应于作为客户端装置110的用户的用于填充对应占位符的个性化标识符的工作地址,并且该第一ZP建议在选择时使沿着通往工作地址的一个或多个路线的交通状况被提供用于经由客户端装置110或经由装置的车载计算装置可听地和/或视觉地呈现给用户;“开始最喜欢播客的新一集”的第二ZP建议554A,该第二ZP建议在选择时使用户的最喜欢播客的新一集被播放,以用于经由客户端装置110和/或经由装置的车载计算装置(以及可选地使用用户的优选媒体应用程序)可听地呈现给用户;“打开挡风玻璃除霜器”的第三ZP建议556A,该第三ZP建议在选择时使车辆的挡风玻璃除霜器经由与客户端装置110通信的车载计算装置被激活;以及“收听最喜欢的新闻台”的第四ZP建议558A,该第四ZP建议在选择时使用户的最喜欢的新闻台被播放以经由客户端装置110和/或经由车辆的车载计算装置(以及可选地使用用户的优选媒体应用程序或车辆的收音机)可听地呈现给用户。在一些实施方案中,ZP建议的对应子集能够包括附加ZP建议,该附加ZP建议与“工作日早晨上班”建议状态相关联地存储,但是至少部分地由于显示器180的显示区域而不被提供用于呈现给用户。在这些实施方案中,客户端装置110可以进一步显示可选择元素560A,该可选择元素在选择时使一个或多个附加ZP建议通过扩展ZP建议列表或利用附加ZP建议中的一个或多个代替显示的ZP建议被提供用于呈现给用户。附加或替代地,客户端装置110的用户可以通过在元件186上向下滑动来消除被提供用于呈现给用户的ZP建议。
在图5A的示例中,基于客户端装置110的用户和/或其他用户的先前用户交互,被提供用于呈现的ZP建议中的每一个能够被包括在与“工作日早晨上班”建议状态相关联的ZP建议的对应子集中。例如,假设用户在上班之前使用导航应用程序历史地查看交通状况,以确定前往工作地址的最快路线。在该示例中,针对第一ZP建议552A并且关于“工作日早晨上班”建议状态生成的对应分数应指示应选择第一ZP建议552A以用于包括在ZP建议的对应子集中。作为另一示例,假设用户通常在上班时(以及可选地使用优选媒体应用程序)收听最喜欢的播客或最喜欢的新闻台。在该示例中,我第二ZP建议554A和第四ZP建议558A并且关于“工作日早晨上班”建议状态生成的对应分数应指示应选择第二ZP建议554A和第四ZP建议558A以用于包括在ZP建议的对应子集中。作为另一示例,假设在过去几个月,当客户端装置110的某一位置的天气已经较冷时,用户通常已使挡风玻璃除霜器被激活。在该示例中,为第三ZP建议556A并且关于“工作日早晨上班”建议状态生成的对应分数应指示应选择第三ZP建议556A以用于包括在ZP建议的对应子集中。
具体参考图5B,假设客户端装置110的用户已经进入他/她的车辆用于下班回家,并且客户端装置110的显示器180正在显示与客户端装置110主屏幕180A相关联的用户接口。进一步假设与“工作日晚上下班回家”建议状态相关联的ZP建议的对应子集先前生成并且与“工作日晚上下班回家”建议状态相关联地存储在客户端装置110的装置上存储器(或存储装置)中(例如,使用关于图2和3描述的技术)。在图5B的示例中,客户端装置110能够基于在生成ZP建议的对应子集时与最初为“工作日晚上下班回家”建议状态识别的装置信号相匹配的(多个)各种装置信号来检测“工作日晚上下班回家”建议状态的出现。例如,能够基于例如与客户端装置110的位置相关联的一天中的时间(例如,下午5:00)、与客户端装置110的位置相关联的一周中的某一天(例如,星期五)、与客户端装置110的位置相关联的日期(例如,2021年1月15日)、与客户端装置通信的一个或多个附加客户端装置的指示(例如,客户端装置110与车载计算装置之间的蓝牙连接),和/或基于先前识别为对应于“工作日晚上下班回家”建议状态的本文中所描述的(多个)其它装置信号来检测“工作日晚上下班回家”建议状态的出现。
进一步假设与“工作日晚上下班回家”建议状态相关联地存储的ZP建议的对应子集包括例如:“呼叫土豆”的第一ZP建议552B,其中“土豆”对应于在客户端装置110的联系人应用程序处可访问的与用户的配偶(例如,个性化标识符)相关联的联系人条目,并且该第一ZP建议在选择时使客户端装置110发起经由客户端装置110与用户的配偶的电话呼叫;“导航到餐厅”的第二ZP建议554B,该第二ZP建议在选择时使在客户端装置110处可访问的导航应用程序获得到复制到客户端装置110的剪贴板的与餐厅相关联的地址的导航方向;“打开走廊灯”的第三ZP建议556B,该第三ZP建议在选择时使分配有语义标识符“走廊灯”的一个或多个灯经由在客户端装置110处可访问的智能灯应用程序被点亮;以及“使用最喜欢的音乐应用程序播放最喜欢的艺术家”的第四ZP建议558B,该第四ZP建议在选择时使用户最喜欢的艺术家的歌曲经由客户端装置110和/或经由车辆的车载计算装置并且使用用户的优选媒体应用程序被播放用于可听地呈现给用户。在一些实施方案中并且类似于图5A,ZP建议的对应子集能够包括附加ZP建议,该附加ZP建议与“工作日晚上下班回家”建议状态相关联地存储,但是至少部分地由于显示器180的显示区域而不被提供用于呈现给用户。在这些实施方案中,客户端装置110可以进一步显示可选择元素560B,该可选择元素在选择时使一个或多个附加ZP建议通过扩展ZP建议列表或利用附加ZP建议中的一个或多个代替显示的ZP建议被提供用于呈现给用户。附加或替代地,客户端装置110的用户能够通过在元件186上向下滑动来消除被提供用于呈现给用户的ZP建议。
在图5B的示例中,基于客户端装置110的用户和/或其他用户的先前用户交互,被提供用于呈现的ZP建议中的每一个能够被包括在与“工作日晚上下班回家”建议状态相关联的ZP建议的对应子集中。例如,假设用户在下班时历史上呼叫了配偶。在该示例中,为第一ZP建议552B并且关于“工作日晚上下班回家”建议状态生成的对应分数应指示应选择第一ZP建议552B以用于包括在ZP建议的对应子集中。作为另一示例,假设用户通常在冬季下班时打开“走廊灯”,以确保用户在较暗的月份到家时有足够的光线。在该示例中,为第三ZP建议556B并且关于“工作日晚上下班回家”建议状态生成的对应分数应指示应选择第三ZP建议556B以用于包括在ZP建议的对应子集中。作为另一示例,假设用户通常在下班开车回家时收听最喜欢的艺术家的音乐以帮助减压。在该示例中,为第四ZP建议558B并且关于“工作日晚上下班回家”建议状态生成的对应分数应指示应选择第四ZP建议558B以用于包括在ZP建议的对应子集中。
在各种实施方案中,并且关于第二ZP建议554B,一个或多个ZP建议能够基于客户端装置110处的瞬时信息(例如,复制到客户端装置110的剪贴板或以其它方式瞬时地存储在客户端装置110处的信息)。在这些实施方案中,与这些ZP建议相关联的对应占位符可能不会利用对应个性化标识符填充,直到在客户端装置处可获得瞬时信息(例如,而不是像“呼叫土豆”的第一ZP建议552A那样初始生成ZP建议的对应子集)。此外,在这些实施方案中,包括瞬时信息的任何建议都能够提升到其它ZP建议之上,使得这些ZP建议被提供用于呈现给用户,而不是必须由客户端装置110的用户经由可选择元素560B的一个或多个选择发现。尽管关于至少部分地在检测到客户端装置110与附加计算装置(例如,用户的车辆的车载计算装置)之间的连接时检测到建议状态的出现来描述图5A和5B,但是应当理解,这是为了示例而不是意味着限制。
例如,具体参考图5C,假设客户端装置110的用户已经到达与示例墨西哥餐厅(即,虚构的墨西哥餐厅)相关联的位置,并且客户端装置110的显示器180正在显示与第一软件应用程序180B相关联的用户接口。进一步假设与“在示例墨西哥餐厅吃晚餐”建议状态相关联的ZP建议的对应子集先前生成并且与“在示例墨西哥餐厅吃晚餐”建议状态相关联地存储在客户端装置110的装置上存储器(或存储装置)中(例如,使用关于图2和3描述的技术)。在图5B的示例中,客户端装置110能够基于在生成ZP建议的对应子集时与最初为“在示例墨西哥餐厅吃晚餐”建议状态识别的装置信号相匹配的(多个)各种装置信号来检测“在示例墨西哥餐厅吃晚餐”建议状态的出现。在该示例中,“在示例墨西哥餐厅吃晚餐”建议状态能够基于例如在客户端装置110处可访问的日历应用程序的日历条目来识别,该日历条目指示用户在周五晚上有预订、启动第一软件应用程序180B(例如,浏览器应用程序、翻译应用程序等)。因此,能够基于例如与客户端装置110的位置相关联的匹配预订时间的一天中的时间(例如,下午7:00)、与客户端装置110的位置相关联的匹配预订工作日的一周中的某一天(例如,星期五)、与客户端装置110的位置相关联的匹配预订日期的日期(例如,2021年1月15日)、与示例墨西哥餐厅的已知位置匹配的客户端装置110的位置,和/或基于先前识别为对应于“在示例墨西哥餐厅吃晚餐”建议状态的本文在所描述的其它装置信号来检测“在示例墨西哥餐厅吃晚餐”建议状态的出现。
进一步假设与“在示例墨西哥餐厅吃晚餐”建议状态相关联地存储的ZP建议的对应子集包括例如:“什么是‘pollo con arroz’?”的第一ZP建议552c,该第一ZP建议在选择时使客户端装置110将“pollo con arroz”从西班牙语翻译成英语,或使客户端装置110执行对“pollo con arroz”的查询;“你怎么用西班牙语说‘生日快乐’?”的第二ZP建议554C,该第二ZP建议在选择时使客户端装置110将“生日快乐”从英语翻译成西班牙语,或使客户端装置110在客户端装置110处执行对“西班牙语‘生日快乐’”的查询;“在我附近的影院的电影时间”的第三ZP建议556C,该第三ZP建议在选择时使客户端装置110获得在客户端装置110的位置附近的影院的一个或多个电影的电影时间;以及“安排晚餐后乘车”的第四ZP建议558C,该第四ZP建议在选择时使客户端装置110。在一些实施方案中并且类似于图5A和5B,ZP建议的对应子集可以包括附加ZP建议,该附加ZP建议与“在示例墨西哥餐厅吃晚餐”建议状态相关联地存储,但是至少部分地由于显示器180的显示区域而不被提供用于呈现给用户。在这些实施方案中,客户端装置110可以进一步显示可选择元素560C,该可选择元素在选择时使一个或多个附加ZP建议通过扩展ZP建议列表或利用附加ZP建议中的一个或多个代替显示的ZP建议被提供用于呈现给用户。附加或替代地,客户端装置110的用户能够通过在元件186上向下滑动来消除被提供用于呈现给用户的ZP建议。
在图5C的示例中,基于客户端装置110的用户和/或其他用户的先前用户交互,被提供用于呈现的ZP建议中的每一个能够被包括在与“在示例墨西哥餐厅吃晚餐”建议状态相关联的ZP建议的对应子集中。例如,假设用户和/或其他用户历史上在墨西哥餐厅用餐时要求翻译特定的单词和/或短语。在该示例中,为第一ZP建议552C和第二ZP建议554C并且关于“在示例墨西哥餐厅吃晚餐”建议状态生成的对应分数应指示应选择第一ZP建议552C和第二ZP建议554C以用于包括在ZP建议的对应子集中。作为另一示例,假设用户通常在吃完晚餐后出去看电影。在该示例中,为第三ZP建议556C并且关于“在示例墨西哥餐厅吃晚餐”建议状态生成的对应分数应指示应选择第三ZP建议556C以用于包括在ZP建议的对应子集中。作为另一示例,假设用户通常已经使用拼车应用程序预订晚餐后回家或晚餐后看电影的乘车。在该示例中,为第四ZP建议558C并且关于“在示例墨西哥餐厅吃晚餐”建议状态生成的对应分数应指示应选择第四ZP建议558C以用于包括在ZP建议的对应子集中。
如本文中所描述的,当在已经过阈值持续时间之后满足一个或多个装置条件时,能够更新ZP建议的对应子集(例如,一天一次、一周一次、一个月一次等)。例如,具体参考图5D,假设客户端装置110的用户已经进入他/她的车辆上班,并且客户端装置110的显示器180正在显示与客户端装置110主屏幕180A相关联的用户接口,如关于图5A所描述的。进一步假设与“工作日早晨上班”建议状态相关联的ZP建议的对应子集被先前生成并且与“工作日早晨上班”建议状态相关联地存储在客户端装置110的装置上存储器(或存储装置)中(例如,使用关于图2和3描述的技术)。在图5D的示例中,客户端装置110能够基于在生成ZP建议的对应子集时与最初为“工作日早晨上班”建议状态识别的装置信号相匹配的(多个)各种装置信号来类似地检测“工作日上班”建议状态的出现。然而,在图5D的示例中,与客户端装置110的位置相关联的日期(例如,2021年6月28日)可以不同于在图5A的示例中与客户端装置110相关联的日期(例如,2021年1月15日)。
因此,在图5D的示例中,与“工作日早晨上班”建议状态相关联地存储的包括在ZP建议的对应子集中的一个或多个ZP建议可以与图5A的这些ZP建议不同。例如,ZP建议的对应子集可以包括“摇下车窗”的第三ZP建议556D,该第三ZP建议在选择时使车窗经由与客户端装置110通信的车载计算装置被摇下,而不是如上文关于图5A所描述的使挡风玻璃除霜器被激活。在图5D的示例中,基于客户端装置110的用户和/或其他用户的先前用户交互,第三ZP建议556C能够被包括在与“工作日早晨上班”建议状态相关联的ZP建议的对应子集中。例如,假设在过去几个月,当客户端装置110的某一位置的天气已经温暖时,用户通常会摇下车窗。在该示例中,为第三ZP建议556D并且关于“工作日早晨上班”建议状态生成的对应分数应指示应选择第三ZP建议556D以用于包括在ZP建议的对应子集中。
值得注意的是,与“工作日早晨上班”建议状态相关联地存储并且被提供用于呈现给用户的其它ZP建议中的一个或多个,诸如“前往401S.4th街的路线上的交通状况”的第一ZP建议552D、“开始最喜欢播客的新一集”的第二ZP建议554D,以及“收听最喜欢的新闻台”的第四ZP建议558D可以与被提供用于呈现给图5A中的客户端装置110的用户的这些ZP建议相同。此外,在一些实施方案中,客户端装置110可以进一步显示可选择元素560D,该可选择元素在选择时使一个或多个附加ZP建议通过扩展ZP建议列表或利用附加ZP建议中的一个或多个代替显示的ZP建议被提供用于呈现给用户。然而,在图5D的示例中,提供用于呈现给用户的ZP建议中的一个或多个(例如,第三ZP建议556D)可以至少基于与客户端装置110或与客户端装置110通信的附加计算装置的用户交互如何随时间变化而与图5A的示例中提供用于呈现给用户的这些ZP建议不同。因此,被提供用于呈现给用户的ZP建议能够随时间更新,以确保在客户端装置110处遇到的上下文场景随时间变化时,ZP建议对用户进行定制。
尽管关于图5A到5D描述特定建议状态和特定ZP建议,但是应当理解,这些建议状态和ZP建议提供用于示例而不是意味着限制。例如,应当理解,本文中所描述的建议状态是能够因用户变化的实际上无限的上下文场景的函数。作为另一示例,应当理解,为这些建议状态生成的这些ZP建议是也可能因用户变化的不同用户交互的函数。此外,尽管关于图5A到5D描述特定ZP建议的特定数量和布置,但是应当理解,这是为了示例而不是意味着限制。例如,能够提供在整个图5A到5D中描绘的更多或更少数量的ZP建议以用于呈现给用户。此外,例如,能够提供ZP建议以在能够替代在客户端装置110处显示的用户接口的单独ZP建议用户接口中作为弹出通知、横幅通知呈现给用户,和/或以用于呈现客户端装置110处的视觉内容的任何其它方式呈现给用户。
现在转向图6,描绘可以可选地用于执行本文中所描述的技术的一个或多个方面的示例计算装置610的框图。在一些实施方案中,客户端装置、(多个)基于云的自动助理组件和/或(多个)其它组件中的一个或多个可以包括示例计算装置610的一个或多个组件。
计算装置610通常包括经由总线子系统612与多个外围装置通信的至少一个处理器614。这些外围装置可以包括:存储子系统624,该存储子系统包括例如存储器子系统625和文件存储子系统626;用户接口输出装置620;用户接口输入装置622;以及网络接口子系统616。输入和输出装置允许与计算装置610进行用户交互。网络接口子系统616将接口提供到外部网络并且耦合到其它计算装置中的对应接口装置。
用户接口输入装置622可以包括键盘、诸如鼠标、轨迹球、触摸板或图形输入板的指向装置、扫描仪、结合在显示器中的触摸屏、诸如语音识别系统、麦克风的音频输入装置,和/或其它类型的输入装置。通常,术语“输入装置”的使用旨在包括用于将信息输入到计算装置610中或通信网络上的所有可能类型的装置和方式。
用户接口输出装置620可以包括显示子系统、打印机、传真机,或诸如音频输出装置的非可视显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板装置、投影装置,或用于产生可见图像的某种其它机构。显示子系统还可以诸如经由音频输出装置来提供非可视显示器。通常,术语“输出装置”的使用旨在包括用于将信息从计算装置610输出到用户或另一机器或计算装置的各种可能类型的装置和方式。
存储子系统624存储提供本文中所描述的一些或全部模块的功能的编程和数据结构。例如,存储子系统624可以包括用于执行本文中所公开的方法的所选择的方面以及实现在图1和2中描绘的各个组件的逻辑。
这些软件模块通常由处理器614单独地或组合其它处理器执行。用于存储子系统624中的存储器625能够包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)630以及存储固定指令的只读存储器(ROM)632。文件存储子系统626能够为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质盒。实现某些实施方案的功能的模块可以由文件存储子系统626存储在存储子系统624中,或者存储在(多个)处理器614可访问的其它机器中。
总线子系统612提供用于使计算装置610的各个组件和子系统按预期彼此通信的机制。尽管总线子系统612被示意性地示出为单个总线,但是总线子系统612的替代实施方案可以使用多个总线。
计算装置610能够具有各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器群或任何其它数据处理系统或计算装置。由于计算机和网络的不断变化的性质,因此对图6中所描绘的计算装置610的描述仅旨在作为用于图示一些实施方案的特定示例。计算装置610的许多其它配置可能具有比图6中描绘的计算装置更多或更少的组件。
在本文中所描述的系统收集或以其它方式监测关于用户的个人信息,或可以利用个人和/或监测信息的情况下,可以为用户提供控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交行为或活动、职业、用户的偏好或用户的当前地理位置的信息),或控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。此外,某些数据可以在存储或使用之前以一种或多种方式处理,使得清除个人身份信息。例如,可以处理用户的身份,使得无法确定用户的任何个人可识别信息,或者可以在获得地理位置信息的情况下将用户的地理位置进行概括(诸如到城市、邮政编码或州级别),使得无法确定用户的具体地理位置。因此,用户可以控制如何收集关于用户的信息和/或如何使用信息。
在一些实施方案中,提供一种由一个或多个处理器实现的方法,并且该方法包括在客户端装置本地为客户端装置的给定用户以及与客户端装置相关联的给定建议状态生成零前缀建议的对应子集。包括在零前缀建议的对应子集中的零前缀建议中的每一个为给定用户定制。为给定用户和给定建议状态生成零前缀建议的对应子集包括:识别与客户端装置相关联的给定建议状态;识别候选零前缀建议的超集;使用一个或多个排序机器学习(ML)模型处理给定建议状态和候选零前缀建议的超集,以为候选零前缀建议中的每一个并且关于给定建议状态生成对应分数;以及基于对应分数从候选零前缀建议的超集中选择候选零前缀建议中的一个或多个,以用于包括在零前缀建议的对应子集中。该方法进一步包括将与给定建议状态相关联的零前缀建议的对应子集存储在客户端装置的装置上存储器或存储装置中;以及在存储与给定建议状态相关联的零前缀建议的对应子集之后,使客户端装置利用零前缀建议的对应子集来提供一个或多个零前缀建议以用于呈现给给定用户。
本文中所公开的技术的这些和其它实施方案能够可选地包括以下特征中的一个或多个。
在一些实施方案中,该方法可以进一步包括在第一时间确定是否满足一个或多个客户端装置条件。为给定用户和给定建议状态生成零前缀建议的对应子集可以响应于在第一时间确定满足一个或多个客户端装置条件。在这些实施方案的一些版本中,一个或多个客户端装置条件可以包括以下项中的一个或多个:客户端装置正在充电、客户端装置至少具有阈值充电状态、客户端装置的温度小于阈值、给定用户未持有客户端装置、已经检测到给定建议状态是与客户端装置相关联的新建议状态、在客户端装置的位置的一天中的时间,或在客户端装置的位置的一周中的某一天。在这些实施方案的附加或替代版本中,该方法可以进一步包括在第一时间之后的第二时间确定是否满足一个或多个客户端装置条件;以及响应于在第二时间确定满足一个或多个客户端装置条件:为给定用户和给定建议状态更新零前缀建议的对应子集,以为给定用户和给定建议状态生成零前缀建议的更新后的对应子集。在这些实施方案的一些其它版本中,该方法可以进一步包括在装置上存储器或存储装置中,用零前缀建议的更新后的对应子集替代与给定建议状态相关联地存储的对应子集。
在一些实施方案中,所述方法可以进一步包括在客户端装置本地为给定用户以及与客户端装置相关联的附加给定建议状态生成零前缀建议的附加对应子集。包括在零前缀建议的附加对应子集中的零前缀建议中的每一个可以为给定用户定制,并且附加建议状态可以不同于给定建议状态。此外,包括在附加建议状态的零前缀建议的附加对应子集中的至少一个零前缀建议可以不同于包括在给定建议状态的零前缀建议的对应子集中的零前缀建议。此外,为给定用户、为附加建议状态生成零前缀建议的附加对应子集可以包括:识别与客户端装置相关联的附加建议状态;识别候选零前缀建议的超集;使用一个或多个排序机器学习(ML)模型处理附加建议状态和候选零前缀建议的超集,以为候选零前缀建议中的每一个并且关于附加建议状态生成附加对应分数;以及基于附加对应分数从候选零前缀建议的超集中选择候选零前缀建议中的一个或多个,以用于包括在零前缀建议的附加对应子集中。该方法可以进一步包括将与附加建议状态相关联的零前缀建议的附加对应子集存储在客户端装置的装置上存储器或存储装置中;以及在存储与附加建议状态相关联的零前缀建议的附加对应子集之后,使客户端装置利用零前缀建议的附加对应子集来提供零前缀建议中的一个或多个以用于呈现给给定用户。
在一些实施方案中,为给定用户和给定建议状态生成零前缀建议的对应子集可以进一步包括使零前缀建议中的一个或多个选择用于包括在为给定用户定制的零前缀建议的对应子集中。使零前缀建议中的一个或多个选择用于包括在为给定用户定制的零前缀建议的对应子集中可以包括:识别选择用于包括在与对应占位符相关联的对应子集中的零前缀建议中的一个或多个;以及利用与给定用户相关联的对应个性化标识符填充与选择用于包括在对应子集中的零前缀建议中的一个或多个相关联的对应占位符。在这些实施方案的一些版本中,与给定用户相关联的对应个性化标识符可以包括以下项中的一个或多个:与给定用户的联系人条目相关联的联系人条目标识符、与给定用户感兴趣的媒体相关联的媒体标识符、与给定用户相关联的家庭自动化装置的家庭自动化装置标识符、给定用户的客户端装置可访问的软件应用程序的软件应用程序标识符。在这些实施方案的附加或替代版本中,利用与给定用户相关联的对应个性化标识符填充对应占位符可以包括:访问本地存储在装置上存储器或存储装置中的给定用户的用户简档,以识别与给定用户相关联的对应个性化标识符;以及基于对应占位符的类型并且基于用户简档选择用于填充对应占位符的对应个性化标识符。
在一些实施方案中,识别给定建议状态可以包括识别与给定建议状态相关联的一个或多个对应信号;以及将与给定建议状态相关联的一个或多个对应信号存储在装置上存储器或存储装置中。在这些实施方案的一些版本中,与给定建议状态相关联的一个或多个对应信号可以包括以下项中的一个或多个:客户端装置的位置、客户端装置的位置的语义指示、与客户端装置的位置相关联的时间或时间范围、与客户端装置的位置相关联的日期、与客户端装置的日历软件应用程序相关联的日历条目、与客户端装置的一个或多个电子通信软件应用程序相关联的电子通信、在客户端装置的前台中运行的给定软件应用程序、在客户端装置的后台中运行的给定软件应用程序、在客户端装置处可访问的一个或多个软件应用程序的历史使用、与客户端装置通信的一个或多个附加客户端装置的指示,或包括在客户端装置处复制的内容的剪贴板。在这些实施方案的附加或替代版本中,识别候选零前缀建议的超集可以包括:识别给定用户与给定用户的客户端装置或附加客户端装置的多个用户交互,这些用户交互在客户端装置检测到对应信号中的一个或多个时执行;或识别一个或多个附加用户与相应客户端装置或相应附加客户端装置的多个用户交互,这些用户交互在相应客户端装置检测到对应信号中的一个或多个时执行。
在一些实施方案中,选择候选零前缀建议中的一个或多个以用于包括在零前缀建议的对应子集中可以包括:基于用于候选零前缀建议并且关于给定建议状态的对应分数,识别要包括在给定建议状态的零前缀建议的对应子集中的阈值数量的零前缀建议。在这些实施方案的一些版本中,该方法可以进一步包括从零前缀建议的超集中丢弃未被选择用于包括在给定建议状态的零前缀建议的对应子集中的任何零前缀建议。
在一些实施方案中,一个或多个排序ML模型可以至少包括不针对客户端装置的给定用户个性化的全局排序ML模型。在附加或替代实施方案中,一个或多个排序ML模型可以至少包括针对客户端装置的给定用户个性化的个人排序ML模型。
在一些实施方案中,使客户端装置利用零前缀建议的对应子集来提供一个或多个零前缀建议以用于呈现给给定用户可以包括:检测与客户端装置相关联的给定建议状态的出现;以及响应于检测到给定建议状态的出现:从装置上存储器或存储装置获得与给定建议状态相关联地存储的零前缀建议的对应子集;以及使来自与给定建议状态相关联地存储的零前缀建议的对应子集中的零前缀建议中的一个或多个被提供用于呈现给用户。在这些实施方案的一些版本中,使零前缀建议中的一个或多个被提供用于呈现给用户可以包括:使零前缀建议中的一个或多个被视觉地呈现,以经由客户端装置的显示器呈现给用户。
在一些实施方案中,提供一种由一个或多个处理器实现的方法,并且该方法包括:将零前缀建议的多个对应不同子集维持在给定用户的客户端装置的装置上存储器或存储装置中,零前缀建议的对应不同子集中的每一个与多个不同建议状态的对应建议状态相关联地存储;检测与客户端装置相关联的给定建议状态的出现,该给定建议状态是多个不同建议状态中的一个;以及响应于检测到与客户端装置相关联的给定建议状态的出现:从装置上存储器或存储装置获得零前缀建议的多个对应不同子集中的零前缀建议的给定对应子集,该给定对应子集与给定建议状态相关联地存储;使来自与给定建议状态相关联地存储的零前缀建议的给定对应子集中的一个或多个零前缀建议被提供用于呈现给给定用户;以及响应于从提供用于呈现给给定用户的一个或多个零前缀建议接收到给定零前缀建议的选择:使客户端装置或给定用户的与客户端装置通信的附加客户端装置执行与给定零前缀建议相关联的对应动作。
本文中所公开的技术的这些和其它实施方案可以可选地包括以下特征中的一个或多个。
在一些实施方案中,提供用于呈现给给定用户的一个或多个零前缀建议中的每一个可以与对应动作相关联,该对应动作在选择时使客户端装置或附加客户端装置执行与一个或多个零前缀建议中的对应一个相关联的对应动作。在这些实施方案的一些版本中,与对应动作中的每一个相关联的履行数据可以预先缓存在客户端装置的装置上存储器或存储装置中。
在一些实施方案中,响应于从提供用于呈现给给定用户的一个或多个零前缀建议接收到给定零前缀建议的选择,该方法可以进一步包括利用给定零前缀建议的选择作为反馈信号来更新一个或多个零前缀建议的排序。
另外,一些实施方案包括一个或多个计算装置的一个或多个处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU)),其中一个或多个处理器可操作以执行存储在相关联存储器中的指令,并且其中该指令被配置成执行上述方法中的任一个。一些实施方案还包括一个或多个非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质存储可由一个或多个处理器执行以执行上述方法中的任一个的计算机指令。一些实施方案还包括计算机程序产品,其包括可由一个或多个处理器执行以执行上述方法中的任一个的指令。
Claims (25)
1.一种由一个或多个处理器实现的方法,所述方法包括:
在客户端装置本地为所述客户端装置的给定用户以及与所述客户端装置相关联的给定建议状态生成零前缀建议的对应子集,其中包括在所述零前缀建议的对应子集中的所述零前缀建议中的每一个为所述给定用户定制,并且其中为所述给定用户和所述给定建议状态生成所述零前缀建议的对应子集包括:
识别与所述客户端装置相关联的所述给定建议状态;
识别候选零前缀建议的超集;
使用一个或多个排序机器学习(ML)模型处理所述给定建议状态和所述候选零前缀建议的超集,以为所述候选零前缀建议中的每一个并且关于所述给定建议状态生成对应分数;以及
基于所述对应分数从所述候选零前缀建议的超集中选择所述候选零前缀建议中的一个或多个,以用于包括在所述零前缀建议的对应子集中;
将与所述给定建议状态相关联的所述零前缀建议的对应子集存储在所述客户端装置的装置上存储器或存储装置中;以及
在存储与所述给定建议状态相关联的所述零前缀建议的对应子集之后,使所述客户端装置利用所述零前缀建议的对应子集来提供一个或多个零前缀建议以用于呈现给所述给定用户。
2.根据权利要求1所述的方法,进一步包括:
在第一时间确定是否满足一个或多个客户端装置条件;
其中,为所述给定用户和所述给定建议状态生成所述零前缀建议的对应子集是响应于在所述第一时间确定满足所述一个或多个客户端装置条件。
3.根据权利要求2所述的方法,其中,所述一个或多个客户端装置条件包括以下中的一个或多个:所述客户端装置正在充电、所述客户端装置至少具有阈值充电状态、所述客户端装置的温度小于阈值、所述给定用户未持有所述客户端装置、已经检测到所述给定建议状态是与所述客户端装置相关联的新建议状态、在所述客户端装置的位置的一天中的时间或在所述客户端装置的所述位置的一周中的一天。
4.根据权利要求2或权利要求3所述的方法,进一步包括:
在所述第一时间之后的第二时间确定是否满足一个或多个客户端装置条件;以及
响应于在所述第二时间确定满足所述一个或多个客户端装置条件:
为所述给定用户和所述给定建议状态更新所述零前缀建议的对应子集,以为所述给定用户和所述给定建议状态生成零前缀建议的更新后的对应子集。
5.根据权利要求4所述的方法,进一步包括:
在所述装置上存储器或存储装置中,用所述零前缀建议的更新后的对应子集替代与所述给定建议状态相关联地存储的所述对应子集。
6.根据任一前述权利要求所述的方法,进一步包括:
在所述客户端装置本地为所述给定用户以及与所述客户端装置相关联的附加给定建议状态生成零前缀建议的附加对应子集,其中,包括在所述零前缀建议的附加对应子集中的所述零前缀建议中的每一个为所述给定用户定制,其中,所述附加建议状态不同于所述给定建议状态,其中,包括在所述附加建议状态的零前缀建议的所述附加对应子集中的至少一个零前缀建议不同于包括在所述给定建议状态的所述零前缀建议的对应子集中的所述零前缀建议,并且其中,为所述给定用户和所述附加建议状态生成所述零前缀建议的附加对应子集包括:
识别与所述客户端装置相关联的所述附加建议状态;
识别所述候选零前缀建议的超集;
使用一个或多个排序机器学习(ML)模型处理所述附加建议状态和所述候选零前缀建议的超集,以为所述候选零前缀建议中的每一个并且关于所述附加建议状态生成附加对应分数;以及
基于所述附加对应分数从所述候选零前缀建议的超集中选择所述候选零前缀建议中的一个或多个,以用于包括在所述零前缀建议的附加对应子集中;
将与所述附加建议状态相关联的所述零前缀建议的附加对应子集存储在所述客户端装置的装置上存储器或存储装置中;以及
在存储与所述附加建议状态相关联的所述零前缀建议的附加对应子集之后,使所述客户端装置利用所述零前缀建议的附加对应子集来提供所述零前缀建议中的一个或多个以用于呈现给所述给定用户。
7.根据任一前述权利要求所述的方法,其中,为所述给定用户和所述给定建议状态生成所述零前缀建议的对应子集进一步包括:
使零前缀建议中的一个或多个被选择用于包括在为所述给定用户定制的所述零前缀建议的对应子集中,其中,使零前缀建议中的一个或多个被选择用于包括在为所述给定用户定制的所述零前缀建议的对应子集中包括:
识别被选择用于包括在与对应占位符相关联的所述对应子集中的零前缀建议中的一个或多个;以及
利用与所述给定用户相关联的对应个性化标识符填充与被选择用于包括在所述对应子集中的零前缀建议中的一个或多个相关联的所述对应占位符。
8.根据权利要求7所述的方法,其中,与所述给定用户相关联的所述对应个性化标识符包括以下中的一个或多个:与所述给定用户的联系人条目相关联的联系人条目标识符、与所述给定用户感兴趣的媒体相关联的媒体标识符、与所述给定用户相关联的家庭自动化装置的家庭自动化装置标识符、能够由所述给定用户的所述客户端装置访问的软件应用程序的软件应用程序标识符。
9.根据权利要求7或权利要求8所述的方法,其中,利用与所述给定用户相关联的所述对应个性化标识符填充所述对应占位符包括:
访问本地存储在所述装置上存储器或存储装置中的所述给定用户的用户简档,以识别与所述给定用户相关联的所述对应个性化标识符;以及
基于所述对应占位符的类型并且基于所述用户简档选择用于填充所述对应占位符的所述对应个性化标识符。
10.根据任一前述权利要求所述的方法,其中,识别所述给定建议状态包括:
识别与所述给定建议状态相关联的一个或多个对应信号;以及
将与所述给定建议状态相关联的所述一个或多个对应信号存储在所述装置上存储器或存储装置中。
11.根据权利要求10所述的方法,其中,与所述给定建议状态相关联的所述一个或多个对应信号包括以下中的一个或多个:所述客户端装置的位置、所述客户端装置的所述位置的语义指示、与所述客户端装置的所述位置相关联的时间或时间范围、与所述客户端装置的所述位置相关联的日期、与所述客户端装置的日历软件应用程序相关联的日历条目、与所述客户端装置的一个或多个电子通信软件应用程序相关联的电子通信、在所述客户端装置的前台中运行的给定软件应用程序、在所述客户端装置的后台中运行的给定软件应用程序、能够在所述客户端装置处访问的一个或多个软件应用程序的历史使用、与所述客户端装置通信的一个或多个附加客户端装置的指示或包括在所述客户端装置处复制的内容的剪贴板。
12.根据权利要求10或权利要求11所述的方法,其中,识别所述候选零前缀建议的超集包括:
识别所述给定用户与所述给定用户的所述客户端装置或附加客户端装置的多个用户交互,所述用户交互在由所述客户端装置检测到所述对应信号中的一个或多个时执行;或
识别一个或多个附加用户与相应客户端装置或相应附加客户端装置的多个用户交互,所述多个用户交互在由所述相应客户端装置检测到所述对应信号中的一个或多个时执行。
13.根据任一前述权利要求所述的方法,其中,选择所述候选零前缀建议中的一个或多个以用于包括在所述零前缀建议的对应子集中包括:
基于所述候选零前缀建议并且关于所述给定建议状态的所述对应分数,识别将包括在所述给定建议状态的所述零前缀建议的对应子集中的阈值数量的零前缀建议。
14.根据权利要求13所述的方法,进一步包括:
从所述零前缀建议的超集中丢弃未被选择用于包括在所述给定建议状态的所述零前缀建议的对应子集中的任何零前缀建议。
15.根据任一前述权利要求所述的方法,其中,所述一个或多个排序ML模型至少包括不针对所述客户端装置的所述给定用户个性化的全局排序ML模型。
16.根据任一前述权利要求所述的方法,其中,所述一个或多个排序ML模型至少包括针对所述客户端装置的所述给定用户个性化的个人排序ML模型。
17.根据任一前述权利要求所述的方法,其中,使所述客户端装置利用所述零前缀建议的对应子集来提供一个或多个零前缀建议以用于呈现给所述给定用户包括:
检测与所述客户端装置相关联的所述给定建议状态的出现;以及
响应于检测到所述给定建议状态的出现:
从所述装置上存储器或存储装置获得与所述给定建议状态相关联地存储的所述零前缀建议的对应子集;以及
使来自与所述给定建议状态相关联地存储的所述零前缀建议的对应子集中的所述零前缀建议中的一个或多个被提供用于呈现给所述用户。
18.根据权利要求17所述的方法,其中,使所述零前缀建议中的一个或多个被提供用于呈现给所述用户包括:使所述零前缀建议中的一个或多个被视觉地渲染,以用于经由所述客户端装置的显示器呈现给所述用户。
19.一种由一个或多个处理器实现的方法,所述方法包括:
将零前缀建议的多个对应不同子集维持在给定用户的客户端装置的装置上存储器或存储装置中,所述零前缀建议的对应不同子集中的每一个与多个不同建议状态中的对应建议状态相关联地存储;
检测与所述客户端装置相关联的给定建议状态的出现,所述给定建议状态是所述多个不同建议状态中的一个;以及
响应于检测到与所述客户端装置相关联的所述给定建议状态的出现:
从所述装置上存储器或存储装置获得所述零前缀建议的多个对应不同子集中的零前缀建议的给定对应子集,所述给定对应子集与所述给定建议状态相关联地存储;
使来自与所述给定建议状态相关联地存储的所述零前缀建议的所述给定对应子集中的一个或多个零前缀建议被提供用于呈现给所述给定用户;以及
响应于从被提供用于呈现给所述给定用户的所述一个或多个零前缀建议接收到给定零前缀建议的选择:
使所述客户端装置或所述给定用户的与所述客户端装置通信的附加客户端装置执行与所述给定零前缀建议相关联的对应动作。
20.根据权利要求19所述的方法,其中,被提供用于呈现给所述给定用户的所述一个或多个零前缀建议中的每一个与对应动作相关联,所述对应动作在被选择时使所述客户端装置或所述附加客户端装置执行与所述一个或多个零前缀建议中的对应一个相关联的对应动作。
21.根据权利要求20所述的方法,其中,与所述对应动作中的每一个相关联的履行数据被预先缓存在所述客户端装置的所述装置上存储器或存储装置中。
22.根据权利要求19至21中的任一项所述的方法,响应于从被提供用于呈现给所述给定用户的所述一个或多个零前缀建议接收到对给定零前缀建议的选择,所述方法进一步包括:
利用所述给定零前缀建议的所述选择作为反馈信号来更新所述一个或多个零前缀建议的排序。
23.一种客户端装置,包括:
一个或多个处理器;以及
装置上存储器或存储装置,所述装置上存储器或存储装置存储指令,所述指令在被执行时使所述处理器中的一个或多个:
在所述客户端装置本地为所述客户端装置的给定用户以及与所述客户端装置相关联的给定建议状态生成零前缀建议的对应子集,其中,包括在所述零前缀建议的对应子集中的所述零前缀建议中的每一个为所述给定用户定制,并且其中,用于为所述给定用户和所述给定建议状态生成所述零前缀建议的对应子集的所述指令包括用于执行以下操作的指令:
识别与所述客户端装置相关联的所述给定建议状态;
识别候选零前缀建议的超集;
使用一个或多个排序机器学习(ML)模型处理所述给定建议状态和所述候选零前缀建议的超集,以为所述候选零前缀建议中的每一个并且关于所述给定建议状态生成对应分数;以及
基于所述对应分数从所述候选零前缀建议的超集中选择所述候选零前缀建议中的一个或多个,以用于包括在所述零前缀建议的对应子集中;
将与所述给定建议状态相关联的所述零前缀建议的对应子集存储在所述客户端装置的所述装置上存储器中;以及
在存储与所述给定建议状态相关联的所述零前缀建议的对应子集之后,使所述客户端装置利用所述零前缀建议的对应子集来提供一个或多个零前缀建议以用于呈现给所述给定用户。
24.一种系统,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,所述指令在执行时使所述至少一个处理器执行对应于权利要求1至23中的任一项的操作。
25.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储指令,所述指令在执行时使至少一个处理器执行对应于权利要求1至23中的任一项的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/360,250 | 2021-06-28 | ||
US17/360,250 US20220415319A1 (en) | 2021-06-28 | 2021-06-28 | On-device generation and personalization of zero-prefix suggestion(s) and use thereof |
PCT/US2021/063108 WO2023277942A1 (en) | 2021-06-28 | 2021-12-13 | On-device generation and personalization of zero-prefix suggestion(s) and use thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117043790A true CN117043790A (zh) | 2023-11-10 |
Family
ID=80168086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180088491.8A Pending CN117043790A (zh) | 2021-06-28 | 2021-12-13 | 零前缀建议的装置上生成和个性化以及其使用 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220415319A1 (zh) |
EP (1) | EP4133402A1 (zh) |
CN (1) | CN117043790A (zh) |
WO (1) | WO2023277942A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11816246B2 (en) * | 2021-07-26 | 2023-11-14 | Microsoft Technology Licensing, Llc | Modeling techniques to classify data sets containing personal identifiable information comprising numerical identifiers |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10713601B2 (en) * | 2015-04-29 | 2020-07-14 | Microsoft Technology Licensing, Llc | Personalized contextual suggestion engine |
US10970646B2 (en) * | 2015-10-01 | 2021-04-06 | Google Llc | Action suggestions for user-selected content |
US10796238B2 (en) * | 2016-04-07 | 2020-10-06 | Cognitive Scale, Inc. | Cognitive personal assistant |
WO2017176653A1 (en) * | 2016-04-08 | 2017-10-12 | Graham Fyffe | System and methods for suggesting beneficial actions |
US10546023B2 (en) * | 2017-10-03 | 2020-01-28 | Google Llc | Providing command bundle suggestions for an automated assistant |
US10897529B2 (en) * | 2019-05-06 | 2021-01-19 | Google Llc | Proactive caching of transient assistant action suggestions at a feature phone |
WO2020242711A1 (en) * | 2019-05-31 | 2020-12-03 | Apple Inc. | Voice assistant discoverability through on-device targeting and personalization |
US11710085B2 (en) * | 2019-11-26 | 2023-07-25 | Saudi Arabian Oil Company | Artificial intelligence system and method for site safety and tracking |
-
2021
- 2021-06-28 US US17/360,250 patent/US20220415319A1/en active Pending
- 2021-12-13 CN CN202180088491.8A patent/CN117043790A/zh active Pending
- 2021-12-13 WO PCT/US2021/063108 patent/WO2023277942A1/en active Application Filing
- 2021-12-13 EP EP21852083.1A patent/EP4133402A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023277942A1 (en) | 2023-01-05 |
EP4133402A1 (en) | 2023-02-15 |
US20220415319A1 (en) | 2022-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11863646B2 (en) | Proactive environment-based chat information system | |
US10440167B2 (en) | Electronic device and method of executing function of electronic device | |
KR102313474B1 (ko) | 자동화된 어시스턴트를 통해 대화 세션 재개를 위한 시스템, 방법 및 장치 | |
CN111033492B (zh) | 为自动化助手提供命令束建议 | |
US20240112679A1 (en) | Proactive incorporation of unsolicited content into human-to-computer dialogs | |
US10055681B2 (en) | Mapping actions and objects to tasks | |
US11749278B2 (en) | Recommending automated assistant action for inclusion in automated assistant routine | |
JP7384976B2 (ja) | 割込みをかける第2のセッションの終了時に第1の自動アシスタントセッションを自動的に再開するかどうかを決定すること | |
KR20210010523A (ko) | 자동화된 어시스턴트를 통해 수행되도록 요청된 일련의 동작들의 실행 조정 | |
CN110462647B (zh) | 电子设备及执行电子设备的功能的方法 | |
US11763813B2 (en) | Methods and systems for reducing latency in automated assistant interactions | |
US11164575B2 (en) | Methods and systems for managing voice response systems to optimize responses | |
CN117043790A (zh) | 零前缀建议的装置上生成和个性化以及其使用 | |
CN112989015B (zh) | 一种自适应的对话方法、装置、电子设备及可读存储介质 | |
CN116711283A (zh) | 提供关于履行助理命令的确定性推理 |
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 |