多任务环境中的智能数字助理

文档序号:7281 发布日期:2021-09-17 浏览:26次 英文

多任务环境中的智能数字助理

本申请是申请日为2016年11月1日、申请号为201680079283.0、名称为“多任务环境中的智能数字助理”的发明专利申请的分案申请。

相关申请的交叉引用

本申请要求2016年6月10日提交的名称为“INTELLIGENT DIGITAL ASSISTANT INA MULTI-TASKING ENVIRONMENT”的美国临时专利申请62/348,728;以及2016年9月21日提交的名称为“INTELLIGENT DIGITAL ASSISTANT IN A MULTI-TASKING ENVIRONMENT”的美国非临时专利申请15/271,766的优先权;这两个专利申请中每个专利申请的内容据此全文以引用方式并入本文。

技术领域

本公开内容总体涉及数字助理,更具体地讲,涉及与用户交互以在多任务环境中执行任务的数字助理。

背景技术

数字助理越来越受欢迎。在台式计算机或平板电脑环境中,用户经常执行多项任务,包括搜索文件或信息、管理文件或文件夹、播放电影或歌曲、编辑文档、调整系统配置、发送电子邮件等。对用户而言,手动并行地执行多项任务以及经常在任务之间切换通常是麻烦且不便的。因此,期望数字助理能够基于用户的语音输入协助用户在多任务环境中执行一些任务。

发明内容

用于协助用户在多任务环境中执行任务的一些现有技术可包括例如口述。通常,用户可能需要在多任务环境中手动执行许多其他任务。作为一个示例,用户可能昨天一直在其台式计算机上制作演示文稿,并且可能希望继续制作该演示文稿。用户通常需要在其台式计算机上手动定位演示文稿,打开演示文稿,然后继续编辑演示文稿。

作为另一个示例,当用户远离其台式计算机时,用户可能一直在其智能电话上预订航班。当台式计算机可用时,用户可能希望继续预订航班。在现有技术中,用户需要先启动Web浏览器,然后重新启动用户台式计算机上的航班预订过程。换句话讲,用户先前在智能电话上进行的航班预订进程可能不会在用户的台式计算机上继续。

作为另一个示例,用户可能在其台式计算机上编辑文档并希望更改系统配置,诸如更改屏幕的亮度水平、打开蓝牙连接等。在现有技术中,用户可能需要停止编辑文档,查找和启动亮度配置应用,并手动更改设置。在多任务环境中,一些现有技术不能基于用户的语音输入执行上述示例中所述的任务。因此,在多任务环境中提供支持语音的数字助理是被期望的并且是有利的。

本发明提供用于操作数字助理的系统和过程。根据一个或多个示例,一种方法包括,在具有存储器和一个或多个处理器的用户设备处接收来自用户的第一语音输入。该方法还包括识别与用户设备相关联的上下文信息,以及基于第一语音输入和上下文信息确定用户意图。该方法还包括确定用户意图是使用搜索过程还是对象管理过程来执行任务。搜索过程被配置为搜索存储在用户设备内部或外部的数据,并且对象管理过程被配置为管理与用户设备相关联的对象。该方法还包括,根据确定用户意图将使用搜索过程来执行任务,使用搜索过程来执行任务。该方法还包括,根据确定用户意图将使用对象管理过程来执行任务,使用对象管理过程来执行任务。

根据一个或多个示例,一种方法包括,在具有存储器和一个或多个处理器的用户设备处接收来自用户的语音输入以执行任务。该方法还包括,识别与用户设备相关联的上下文信息,以及基于语音输入和与用户设备相关联的上下文信息来确定用户意图。该方法还包括,根据用户意图,确定将在用户设备处还是在可通信地连接到用户设备的第一电子设备处执行任务。该方法还包括,根据确定任务将在用户设备处执行并且用于执行任务的内容被远程定位,接收用于执行任务的内容。该方法还包括,根据确定任务将在第一电子设备处执行并且用于执行任务的内容被远程定位到第一电子设备,向第一电子设备提供用于执行任务的内容。

根据一个或多个示例,一种方法包括,在具有存储器和一个或多个处理器的用户设备处接收来自用户的语音输入,以管理用户设备的一项或多项系统配置。用户设备被配置为同时提供多个用户界面。该方法还包括识别与用户设备相关联的上下文信息,以及基于语音输入和上下文信息来确定用户意图。该方法还包括确定用户意图是指示信息请求还是指示用于执行任务的请求。该方法还包括,根据确定用户意图指示信息请求,提供对信息请求的口语响应。该方法还包括,根据确定用户意图指示用于执行任务的请求,实例化与用户设备相关联的过程以执行任务。

用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或多个处理器执行的非暂态计算机可读存储介质或其他计算机程序产品中。用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或多个处理器执行的暂态计算机可读存储介质或其他计算机程序产品中。

附图说明

为了更好地理解各种所述实施方案,应该结合以下附图参考下面的

具体实施方式

,在附图中,类似的附图标号在所有附图中指示对应的部分。

图1是示出了根据各种示例的用于实现数字助理的系统和环境的框图。

图2A是示出了根据一些实施方案的实现数字助理的客户端侧部分的便携式多功能设备的框图。

图2B是示出了根据各种示例的用于事件处理的示例性部件的框图。

图3示出了根据各种示例的实现数字助理的客户端侧部分的便携式多功能设备。

图4是根据各种示例的具有显示器和触敏表面的示例性多功能设备的框图。

图5A示出了根据各种示例的用于便携式多功能设备处的应用的菜单的示例性用户界面。

图5B示出了根据各种示例的用于具有与显示器分开的触敏表面的多功能设备的示例性用户界面。

图6A示出了根据各种示例的个人电子设备。

图6B是示出了根据各种示例的个人电子设备的框图。

图7A是示出了根据各种示例的数字助理系统或其服务器部分的框图。

图7B示出了根据各种示例的图7A所示的数字助理的功能。

图7C示出了根据各种示例的知识本体的一部分。

图8A-图8F示出了根据各种示例的通过数字助理使用搜索过程或对象管理过程执行任务的功能。

图9A-图9H示出了根据各种示例的通过数字助理使用搜索过程执行任务的功能。

图10A-图10B示出了根据各种示例的通过数字助理使用对象管理过程执行任务的功能。

图11A-图11D示出了根据各种示例的通过数字助理使用搜索过程执行任务的功能。

图12A-图12D示出了根据各种示例的通过数字助理使用搜索过程或对象管理过程执行任务的功能。

图13A-图13C示出了根据各种示例的通过数字助理使用对象管理过程执行任务的功能。

图14A-图14D示出了根据各种示例的通过数字助理使用远程定位的内容在用户设备处执行任务的功能。

图15A-图15D示出了根据各种示例的通过数字助理使用远程定位的内容在第一电子设备处执行任务的功能。

图16A-图16C示出了根据各种示例的通过数字助理使用远程定位的内容在第一电子设备处执行任务的功能。

图17A-图17E示出了根据各种示例的通过数字助理使用远程定位的内容在用户设备处执行任务的功能。

图18A-图18F示出了根据各种示例的通过数字助理响应于用户的信息请求而提供系统配置信息的功能。

图19A-图19D示出了根据各种示例的通过数字助理响应于用户请求而执行任务的功能。

图20A-图20G示出了根据各种示例的用于操作数字助理的示例性过程的流程图。

图21A-图21E示出了根据各种示例的用于操作数字助理的示例性过程的流程图。

图22A-图22D示出了根据各种示例的用于操作数字助理的示例性过程的流程图。

图23示出了根据各种示例的电子设备的框图。

具体实施方式

在以下对本公开和实施方案的描述中将引用附图,在附图中以例示的方式示出了可被实践的特定实施方案。应当理解,在不脱离本公开的范围的情况下,可实践其他实施方案和示例并且可作出改变。

用于在多任务环境中提供数字助理的技术是可取的。如本文所述,用于在多任务环境中提供数字助理的技术被期望用于各种目的,诸如减少搜索对象或信息的麻烦,实现高效的对象管理,保持在用户设备和另一电子设备处执行的任务之间的连续性,以及减少用户手动调节系统配置的工作量。通过允许用户在多任务环境中使用语音输入来操作数字助理以便执行各种任务,此类技术是有利的。此外,此类技术减轻了与在多任务环境中执行各种任务相关联的麻烦或不便。此外,通过允许用户使用语音执行任务,在执行需要上下文切换的任务时,他们能够保持双手不离开键盘或鼠标——允许数字助理像用户的“第三只手”一样高效地执行任务。应当理解,通过允许用户使用语音执行任务,它允许用户更高效地完成可能需要与多个应用进行多项交互的任务。例如,搜索图像并通过电子邮件将它们发送给某个人可能需要打开搜索界面,输入搜索条件,选择一个或多个结果,打开电子邮件以便撰写,将得到的文件复制或移动到打开的电子邮件,填写电子邮件地址并发送电子邮件。此类任务可以通过语音命令更高效地完成,诸如“查找来自x日期的图片,并将它们发送给我的妻子”。用于移动文件、在互联网上搜索信息、撰写消息等类似请求都可使用语音更高效地完成,同时允许用户使用双手执行其他任务。

尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一个元素与另一个元素区分开。例如,在不脱离各种所述示例的范围的情况下,第一存储可被称为第二存储,并且类似地,第二存储可被称为第一存储。第一存储和第二存储可都是存储,并且在一些情况下,可以是独立且不同的存储。

在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个”和“该”旨在也包括复数形式,除非上下文另外明确地指示。还应当理解,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中的一个或多个项目的任何和全部可能的组合。应当进一步理解的是,术语“包括”和/或“包含”当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。

根据上下文,术语“如果”可被解释为意指“当......时”或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定......”或“如果检测到[所陈述的条件或事件]”可以被解释为意指“在确定......时”或“响应于确定......”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。

1.系统和环境

图1示出了根据各种示例的系统100的框图。在一些示例中,系统100可实现数字助理。术语“数字助理”、“虚拟助理”、“智能自动化助理”或“自动数字助理”可指解译口语形式和/或文本形式的自然语言输入以推断用户意图并且基于推断出的用户意图来执行动作的任何信息处理系统。例如,为了遵循所推断的用户意图,系统可执行以下中的一者或多者:标识具有被设计用于实现所推断的用户意图的步骤和参数的任务流,将来自所推断的用户意图的特定要求输入到任务流中;通过调用程序、方法、服务、API等执行任务流;以及以可听(例如,语音)和/或可视形式来生成对用户的输出响应。

具体地,数字助理可能够接受至少部分地为自然语言命令、请求、声明、讲述和/或询问的形式的用户请求。通常,用户请求可寻求数字助理作出信息性回答,或寻求数字助理执行任务。针对用户请求的令人满意的响应可以是提供所请求的信息性回答、执行所请求的任务,或这两者的组合。例如,用户可向数字助理提出问题,诸如“我现在在哪里?”基于用户的当前位置,数字助理可回答“您在中央公园西门附近。”用户还可请求执行任务,例如“请邀请我的朋友下周来参加我女朋友的生日聚会。”作为响应,数字助理可通过讲出“好的,马上”来确认请求,并然后代表用户将合适的日历邀请发送至用户的电子地址簿中列出的用户朋友中的每个朋友。在执行所请求的任务期间,数字助理有时可在很长时间段内在涉及多次信息交换的持续对话中与用户进行交互。存在与数字助理进行交互以请求信息或执行各种任务的许多其他方法。除提供言语响应并采取经编程的动作之外,数字助理还可提供其他视觉形式或音频形式的响应,例如作为文本、提示、音乐、视频、动画等。

如图1中所示,在一些示例中,数字助理可根据客户端-服务器模型来实现。数字助理可包括在用户设备104上执行的客户端侧部分102(后文称作“DA客户端102”),以及在服务器系统108上执行的服务器侧部分106(后文称作“DA服务器106”)。DA客户端102可通过一个或多个网络110来与DA服务器106进行通信。DA客户端102可提供客户端侧功能,诸如面向用户的输入和输出处理,以及与DA服务器106进行通信。DA服务器106可为任意数量的DA客户端102提供服务器侧功能,该任意数量的DA客户端102各自位于相应的用户设备104上。

在一些示例中,DA服务器106可包括面向客户端的I/O接口112、一个或多个处理模块114、数据和模型116,以及至外部服务的I/O接口118。面向客户端的I/O接口112可促进针对DA服务器106的面向客户端的输入和输出处理。一个或多个处理模块114可利用数据和模型116来处理语音输入,并基于自然语言输入来确定用户的意图。此外,一个或多个处理模块114基于推断出的用户意图来进行任务执行。在一些示例中,DA服务器106可通过一个或多个网络110来与外部服务120进行通信,以完成任务或获取信息。至外部服务的I/O接口118可促进此类通信。

用户设备104可以是任何合适的电子设备。例如,用户设备可以是便携式多功能设备(例如,下面参考图2A描述的设备200)、多功能设备(例如,下面参考图4描述的设备400)或个人电子设备(例如,下面参考图6A-图6B描述的设备600)。便携式多功能设备可以是例如还包含诸如PDA和/或音乐播放器功能的其他功能的移动电话。便携式多功能设备的特定示例可包括来自Apple Inc.(Cupertino,California)的设备、iPod设备和设备。便携式多功能设备的其他示例可包括但不限于膝上型计算机或平板电脑。此外,在一些示例中,用户设备104可以是非便携式多功能设备。具体地讲,用户设备104可以是台式计算机、游戏机、电视或电视机顶盒。在一些示例中,用户设备104可在多任务环境中操作。多任务环境允许用户操作设备104以并行执行多项任务。例如,多任务环境可以是台式计算机或膝上型计算机环境,其中设备104可响应于从物理用户界面设备接收的用户输入执行一项任务,并且同时响应于用户的语音输入执行另一项任务。在一些示例中,用户设备104可包括触敏表面(例如,触摸屏显示器和/或触控板)。此外,用户设备104可任选地包括一个或多个其他物理用户界面设备,诸如物理键盘、鼠标、和/或操纵杆。下文更详细地描述了电子设备诸如多功能设备的各种示例。

一个或多个通信网络110的示例可包括局域网(LAN)和广域网(WAN),例如互联网。一个或多个通信网络110可使用任何已知的网络协议来实现,包括各种有线或无线协议,诸如例如以太网、通用串行总线(USB)、火线、全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、Wi-Fi、互联网协议语音(VoIP)、Wi-MAX、或任何其他合适的通信协议。

服务器系统108可在计算机的一个或多个独立式数据处理装置或分布式网络上实施。在一些示例中,服务器系统108还可采用第三方服务提供方(例如,第三方云服务提供方)的各种虚拟设备和/或服务来提供服务器系统108的潜在计算资源和/或基础结构资源。

在一些示例中,用户设备104可经由第二用户设备122来与DA服务器106进行通信。第二用户设备122可与用户设备104相似或相同。例如,第二用户设备122可类似于下文参考图2A、图4和图6A-图6B描述的设备200、400或600。用户设备104可被配置为经由直接通信连接诸如蓝牙、NFC、BTLE等或者经由有线或无线网络诸如局域Wi-Fi网络而通信地耦接至第二用户设备122。在一些示例中,第二用户设备122可被配置为充当用户设备104与DA服务器106之间的代理。例如,用户设备104的DA客户端102可被配置为经由第二用户设备122来向DA服务器106传输信息(例如,在用户设备104处接收的用户请求)。DA服务器106可处理该信息并经由第二用户设备122来将相关的数据(例如,响应于用户请求的数据内容)返回到用户设备104。

在一些示例中,用户设备104可被配置为将针对数据的缩略请求传送至第二用户设备122,以减少从用户设备104传输的信息量。第二用户设备122可被配置为确定添加到缩略请求的补充信息,以生成完整的请求,从而传输到DA服务器106。该系统架构可有利地通过使用具有较强通信能力和/或电池电力的第二用户设备122(例如,移动电话、膝上型计算机、平板电脑等)作为至DA服务器106的代理而允许具有有限通信能力和/或有限电池电力的用户设备104(例如,手表或类似的紧凑型电子设备)访问由DA服务器106所提供的服务。虽然图1中仅示出两个用户设备104和122,但应当理解,系统100可包括在此代理配置中被配置为与DA服务器系统106进行通信的任意数量和类型的用户设备。

虽然图1中所示的数字助理可包括客户端侧部分(例如,DA客户端102)和服务器侧部分(例如,DA服务器106)两者,但在一些示例中,数字助理的功能可被实现为被安装在用户设备处的独立式应用。此外,数字助理的客户端部分和服务器部分之间的功能划分在不同的具体实施中可变化。例如,在一些示例中,DA客户端可以是仅提供面向用户的输入和输出处理功能并将数字助理的所有其他功能委派给后端服务器的瘦客户端。

2.电子设备

现在将注意力转至用于实现数字助理的客户端侧部分的电子设备的实施方案。图2A是示出了根据一些实施方案具有触敏显示器系统212的便携式多功能设备200的框图。触敏显示器212有时为了方便被叫做“触摸屏”,并且有时被称为或被叫做“触敏显示器系统”。设备200包括存储器202(其任选地包括一个或多个计算机可读存储介质)、存储器控制器222、一个或多个处理单元(CPU)220、外围设备接口218、RF电路208、音频电路210、扬声器211、麦克风213、输入/输出(I/O)子系统206、其他输入控制设备216和外部端口224。设备200任选地包括一个或多个光学传感器264。设备200任选地包括一个或多个接触强度传感器265,该一个或多个接触强度传感器用于检测设备200(例如,触敏表面,诸如设备200的触敏显示器系统212)上的接触的强度。设备200任选地包括用于在设备200上生成触觉输出的一个或多个触觉输出发生器267(例如,在触敏表面诸如设备200的触敏显示器系统212或设备400的触控板455上生成触觉输出)。这些部件任选地通过一个或多个通信总线或信号线203来进行通信。

如在本说明书和权利要求书中所使用的那样,触敏表面上的接触的术语“强度”是指触敏表面上的接触(例如,手指接触)的力或压力(每单位面积的力),或是指触敏表面上的接触的力或压力的替代物(代用物)。接触的强度具有值范围,该值范围包括至少四个不同的值并且更典型地包括上百个不同的值(例如,少256个)。接触的强度任选地使用各种方法和各种传感器或传感器的组合来确定(或测量)。例如,在触敏表面下方或相邻于触敏表面的一个或多个力传感器任选地用于测量触敏表面上的不同点处的力。在一些具体实施中,来自多个力传感器的力测量被合并(例如,加权平均数),以确定估计的接触力。类似地,触笔的压敏顶端任选地用于确定触笔在触敏表面上的压力。另选地,在触敏表面上检测到的接触面积的尺寸和/或其变化、邻近接触的触敏表面的电容和/或其变化、和/或邻近接触的触敏表面的电阻和/或其变化任选地被用作触敏表面上的接触的力或压力的替代物。在一些具体实施中,接触力或压力的替代测量直接用于确定是否已超过强度阈值(例如,强度阈值以与替代物测量对应的单位来描述)。在一些具体实施中,接触力或压力的替代测量被转换成估计的力或压力,并且估计的力或压力用于确定是否已超过强度阈值(例如,强度阈值为以压力的单位进行测量的压力阈值)。使用接触的强度作为用户输入的属性,从而允许用户访问用户在尺寸更小的设备上可能本来不能访问的附加设备功能,该尺寸更小的设备具有有限的实地面积以用于(例如,在触敏显示器上)显示示能表示和/或接收用户输入(例如,经由触敏显示器、触敏表面或物理控件/机械控件,诸如旋钮或按钮)。

如本说明书和权利要求书中所使用的,术语“触觉输出”是指将由用户利用用户的触感检测到的设备相对于设备的先前位置的物理位移、设备的部件(例如,触敏表面)相对于设备的另一个部件(例如,外壳)的物理位移、或部件相对于设备的质心的位移。例如,在设备或设备的部件与用户对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接触的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感与设备或设备的部件的物理特征的所感知的变化对应。例如,触敏表面(例如,触敏显示器或触控板)任选地由用户解释为对物理致动按钮的“按下点击”或“松开点击”。在一些情况下,用户将感觉到触感,诸如“按下点击”或“松开点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触敏表面相关联的物理致动按钮没有移动时。作为另一个示例,即使在触敏表面的光滑度无变化时,触敏表面的移动也会任选地由用户解释为或感测为触敏表面的“粗糙度”。虽然由用户对触摸的此类解释将受到用户的个体化感官知觉的限制,但是有许多触摸的感官知觉是大多数用户共有的。因此,当触觉输出被描述为与用户的特定感官知觉(例如,“松开点击”、“按下点击”、“粗糙度”)对应时,除非另外陈述,否则所生成的触觉输出与设备或其部件的物理位移对应,该物理位移将会生成典型(或普通)用户的所描述的感官知觉。

应当理解,设备200仅是便携式多功能设备的一个示例,并且设备200任选地具有比所示出的更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图2A中所示的各种部件以硬件、软件或硬件与软件两者的组合来实现,包括一个或多个信号处理电路和/或专用集成电路。

存储器202可包括一个或多个计算机可读存储介质。该计算机可读存储介质可以是有形的和非暂态的。存储器202可包括高速随机存取存储器并且还可包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备或其他非易失性固态存储器设备。存储器控制器222可控制设备200的其他部件访问存储器202。

在一些示例中,存储器202的非暂态计算机可读存储介质可用于存储指令(例如,用于执行下文描述的过程1200的各方面)以供指令执行系统、装置或设备诸如基于计算机的系统、包含处理器的系统或可从指令执行系统、装置或设备获取指令并执行指令的其他系统使用或与其结合。在其他示例中,指令(例如,用于执行下文描述的过程1200的各方面)可被存储在服务器系统108的非暂态计算机可读存储介质(未示出)上,或者可在存储器202的非暂态计算机可读存储介质与服务器系统108的非暂态计算机可读存储介质之间划分。在本文档的上下文中,“非暂态计算机可读存储介质”可以是可包括或存储程序以供指令执行系统、装置和设备使用或与其结合的任何介质。

外围设备接口218可用于将设备的输入外围设备和输出外围设备耦接到CPU 220和存储器202。一个或多个处理器220运行或执行存储在存储器202中的各个软件程序和/或指令集,以执行设备200的各种功能以及处理数据。在一些实施方案中,外围设备接口218、CPU 220和存储器控制器222可在单个芯片诸如芯片204上实现。在一些其他实施方案中,它们可在单独的芯片上实现。

RF(射频)电路208接收和发送也被叫做电磁信号的RF信号。RF电路208将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁信号来与通信网络以及其他通信设备进行通信。RF电路208任选地包括用于执行这些功能的熟知的电路,包括但不限于天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯片组、用户身份模块(SIM)卡、存储器等等。RF电路208任选地通过无线通信来与网络以及其他设备进行通信,该网络为诸如互联网(也被称为万维网(WWW))、内联网、和/或无线网络,诸如蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN)。RF电路208任选地包括用于诸如通过近程通信无线电部件来检测近场通信(NFC)场的熟知的电路。无线通信任选地使用多种通信标准、协议和技术中的任一种,包括但不限于全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、演进、纯数据(EV-DO)、HSPA、HSPA+、双小区HSPA(DC-HSPDA)、长期演进(LTE)、近场通信(NFC)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、蓝牙低功耗(BTLE)、无线保真(Wi-Fi)(例如,IEEE 802.11a、IEEE802.11b、IEEE 802.11g、IEEE 802.11n和/或IEEE802.11ac)、互联网协议语音(VoIP)、Wi-MAX、电子邮件协议(例如,互联网消息访问协议(IMAP)和/或邮局协议(POP))、即时消息(例如,可扩展消息处理和存在协议(XMPP)、用于即时消息和存在利用扩展的会话发起协议(SIMPLE)、即时消息和存在服务(IMPS))和/或短消息服务(SMS),或者任何其他适当的通信协议,包括在本文档提交日期时尚未开发出的通信协议。

音频电路210、扬声器211和麦克风213提供用户和设备200之间的音频接口。音频电路210从外围设备接口218接收音频数据,将音频数据转换为电信号,并将电信号传输到扬声器211。扬声器211将电信号转换为人类可听见的声波。音频电路210还接收由麦克风213从声波转换的电信号。音频电路210将电信号转换为音频数据并将音频数据传输到外围设备接口218,以用于处理。音频数据可由外围设备接口218从存储器202和/或RF电路208进行检索和/或被传输至该存储器和/或RF电路。在一些实施方案中,音频电路210还包括耳麦插孔(例如,图3中的312)。该耳麦插孔提供音频电路210与可移除的音频输入/输出外围设备之间的接口,该可移除的音频输入/输出外围设备诸如仅输出的耳机或者具有输出(例如,单耳耳机或双耳耳机)和输入(例如,麦克风)两者的耳麦。

I/O子系统206将设备200上的输入/输出外围设备诸如触摸屏212和其他输入控制设备216耦接至外围设备接口218。I/O子系统206任选地包括显示控制器256、光学传感器控制器258、强度传感器控制器259、触觉反馈控制器261,以及用于其他输入或控制设备的一个或多个输入控制器260。该一个或多个输入控制器260从其他输入控制设备216接收电信号/将电信号发送到其他输入控制设备216。其他输入控制设备216任选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击轮等。在一些另选实施方案中,输入控制器260任选地耦接至以下各项中的任一者(或不耦接至以下各项中的任一者):键盘、红外线端口、USB端口以及指针设备诸如鼠标。该一个或多个按钮(例如,图3中的308)任选地包括用于扬声器211和/或麦克风213的音量控制的增大/减小按钮。该一个或多个按钮任选地包括下压按钮(例如,图3中的306)。

快速按下下压按钮可脱离触摸屏212的锁定或者开始使用触摸屏上的手势来对设备进行解锁的过程,如在2005年12月23日提交的名称为“Unlocking a Device byPerforming Gestures on an Unlock Image”(通过在解锁图像上执行手势来解锁设备)的美国专利No.7,657,849的美国专利申请11/322,549中所述的,该专利申请据此全文以引用方式并入本文。更长地按下下压按钮(例如,306)可使设备200开机或关机。用户能够对一个或多个按钮的功能进行自定义。触摸屏212用于实现虚拟按钮或软按钮以及一个或多个软键盘。

触敏显示器212提供设备和用户之间的输入接口和输出接口。显示控制器256从触摸屏212接收电信号和/或将电信号发送至触摸屏212。触摸屏212向用户显示视觉输出。该视觉输出可包括图形、文本、图标、视频、以及它们的任意组合(统称为“图形”)。在一些实施方案中,一些视觉输出或全部的视觉输出可对应于用户界面对象。

触摸屏212具有基于触觉和/或触感接触来接受来自用户的输入的触敏表面、传感器或传感器组。触摸屏212和显示控制器256(与存储器202中的任何相关联的模块和/或指令集一起)检测触摸屏212上的接触(和该接触的任何移动或中断),并且将所检测到的接触转换为与被显示在触摸屏212上的用户界面对象(例如,一个或多个软键、图标、网页或图像)的交互。在一个示例性实施方案中,触摸屏212和用户之间的接触点与用户的手指对应。

触摸屏212可使用LCD(液晶显示器)技术、LPD(发光聚合物显示器)技术、或LED(发光二极管)技术,但是在其他实施方案中可使用其他显示技术。触摸屏212和显示控制器256可使用现在已知的或以后将开发出的多种触摸感测技术中的任何触摸感测技术以及其他接近传感器阵列或用于确定与触摸屏212的一个或多个接触点的其他元素来检测接触及其任何移动或中断,该多种触摸感测技术包括但不限于电容性技术、电阻性技术、红外技术和表面声波技术。在一个示例性实施方案中,使用投射式互电容感测技术,诸如在Apple Inc.(Cupertino,California)的和iPod中发现的技术。

触摸屏212的一些实施方案中的触敏显示器可类似于以下美国专利中所述的多点触敏触控板:6,323,846(Westerman等人)、6,570,557(Westerman等人)和/或6,677,932(Westerman);和/或美国专利公开2002/0015024A1,这些专利中的每个据此全文以引用方式并入本文。然而,触摸屏212显示来自设备200的视觉输出,而触敏触控板不提供视觉输出。

触摸屏212的一些实施方案中的触敏显示器可如以下申请中所描述的:(1)2006年5月2日提交的名称为“Multipoint Touch Surface Controller”的美国专利申请No.11/381,313;(2)2004年5月6日提交的名称为“Multipoint Touchscreen”的美国专利申请No.10/840,862;(3)2004年7月30日提交的名称为“Gestures For Touch Sensitive InputDevices”的美国专利申请No.10/903,964;(4)2005年1月31日提交的名称为“Gestures ForTouch Sensitive Input Devices”的美国专利申请No.11/048,264;(5)2005年1月18日提交的名称为“Mode-Based Graphical User Interfaces For Touch Sensitive InputDevices”的美国专利申请No.11/038,590;(6)2005年9月16日提交的名称为“VirtualInput Device Placement On A Touch Screen User Interface”的美国专利申请No.11/228,758;(7)2005年9月16日提交的名称为“Operation Of A Computer With A TouchScreen Interface”的美国专利申请No.11/228,700;(8)2005年9月16日提交的名称为“Activating Virtual Keys Of A Touch-Screen Virtual Keyboard”的美国专利申请No.11/228,737;以及(9)2006年3月3日提交的名称为“Multi-Functional Hand-HeldDevice”的美国专利申请No.11/367,749。所有这些专利申请全文以引用方式并入本文。

触摸屏212可具有超过100dpi的视频分辨率。在一些实施方案中,触摸屏具有约160dpi的视频分辨率。用户可使用任何合适的对象或附加物诸如触笔、手指等来与触摸屏212接触。在一些实施方案中,将用户界面设计用来主要与基于手指的接触和手势一起工作,由于手指在触摸屏上的接触面积较大,因此这可能不如基于触笔的输入那样精确。在一些实施方案中,设备将基于手指的粗略输入翻译为精确的指针/光标位置或命令,以用于执行用户所期望的动作。

在一些实施方案中,除了触摸屏之外,设备200可包括用于激活或去激活特定功能的触控板(未示出)。在一些实施方案中,该触控板为设备的触敏区域,该触敏区域与触摸屏不同,其不显示视觉输出。触控板可以是与触摸屏212分开的触敏表面,或者是由触摸屏形成的触敏表面的延伸部分。

设备200还包括用于为各种部件供电的电力系统262。电力系统262可包括电力管理系统、一个或多个电源(例如,电池或交流电(AC))、再充电系统、电力故障检测电路、功率变换器或逆变器、电源状态指示器(例如,发光二极管)和与便携式设备中的电力的生成、管理和分配相关联的任何其他部件。

设备200还可包括一个或多个光学传感器264。图2A示出了耦接至I/O子系统206中的光学传感器控制器258的光学传感器。光学传感器264可包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。光学传感器264从环境接收通过一个或多个透镜而投射的光,并且将光转换为表示图像的数据。结合成像模块243(也称为相机模块),光学传感器264可捕获静态图像或视频。在一些实施方案中,光学传感器位于与设备前部上的触摸屏显示器212相背对的设备200的后部上,使得触摸屏显示器可被用作用于静态图像和/或视频图像采集的取景器。在一些实施方案中,光学传感器位于设备前部,使得当用户在触摸屏显示器上查看其他视频会议参与者时可获得该用户的图像以用于视频会议。在一些实施方案中,光学传感器264的位置可由用户改变(例如,通过旋转设备外壳中的透镜和传感器),使得单个光学传感器264可与触摸屏显示器一起使用,以用于视频会议和静态图像和/或视频图像采集两者。

设备200任选地还包括一个或多个接触强度传感器265。图2A示出了耦接至I/O子系统206中的强度传感器控制器259的接触强度传感器。接触强度传感器265任选地包括一个或多个压阻应变仪、电容式力传感器、电气力传感器、压电力传感器、光学力传感器、电容式触敏表面或其他强度传感器(例如,用于测量触敏表面上的接触的力(或压力)的传感器)。接触强度传感器265从环境接收接触强度信息(例如,压力信息或压力信息的代用物)。在一些实施方案中,至少一个接触强度传感器与触敏表面(例如,触敏显示器系统212)并置排列或邻近。在一些实施方案中,至少一个接触强度传感器位于设备200的后部上,与位于设备200的前部上的触摸屏显示器212相背对。

设备200还可包括一个或多个接近传感器266。图2A示出了耦接至外围设备接口218的接近传感器266。另选地,接近传感器266可耦接到I/O子系统206中的输入控制器260。接近传感器266可如以下美国专利申请中所述的那样执行:No.11/241,839,名称为“Proximity Detector In Handheld Device”;No.11/240,788,名称为“ProximityDetector In Handheld Device”;No.11/620,702,名称为“Using Ambient Light SensorTo Augment Proximity Sensor Output”;No.11/586,862,名称为“Automated ResponseTo And Sensing Of User Activity In Portable Devices”;以及No.11/638,251,名称为“Methods And Systems For Automatic Configuration Of Peripherals”,这些美国专利申请据此全文以引用方式并入本文。在一些实施方案中,当多功能设备被置于用户的耳朵附近时(例如,当用户正在进行电话呼叫时),接近传感器关闭并且禁用触摸屏212。

设备200任选地还包括一个或多个触觉输出发生器267。图2A示出了耦接到I/O子系统206中的触觉反馈控制器261的触觉输出发生器。触觉输出发生器267任选地包括一个或多个电声设备诸如扬声器或其他音频部件;和/或将能量转换成线性运动的机电设备诸如电机、螺线管、电活性聚合器、压电致动器、静电致动器或其他触觉输出生成部件(例如,用于将电信号转换成设备上的触觉输出的部件)。接触强度传感器265从触觉反馈模块233接收触觉反馈生成指令,并且在设备200上生成能够由设备200的用户感觉到的触觉输出。在一些实施方案中,至少一个触觉输出发生器与触敏表面(例如,触敏显示器系统212)并置排列或邻近,并且任选地通过竖直地(例如,向设备200的表面内/外)或侧向地(例如,在与设备200的表面相同的平面中向后和向前)移动触敏表面来生成触觉输出。在一些实施方案中,至少一个触觉输出发生器传感器位于设备200的后部上,与位于设备200的前部上的触摸屏显示器212相背对。

设备200还可包括一个或多个加速度计268。图2A示出了耦接至外围设备接口218的加速度计268。另选地,加速度计268可耦接到I/O子系统206中的输入控制器260。加速度计268可如名称为“Acceleration-based Theft Detection System for PortableElectronic Devices”的美国专利公开No.20050190059和名称为“Methods AndApparatuses For Operating A Portable Device Based On An Accelerometer”的美国专利公开No.20060017692中所述的那样执行,这两个美国专利公开均全文以引用方式并入本文。在一些实施方案中,信息基于对从一个或多个加速度计所接收的数据的分析而在触摸屏显示器上以纵向视图或横向视图被显示。设备200任选地除了加速度计268之外还包括磁力仪(未示出)和GPS(或GLONASS或其他全球导航系统)接收器(未示出),以用于获取关于设备200的位置和取向(例如,纵向或横向)的信息。

在一些实施方案中,存储于存储器202中的软件部件包括操作系统226、通信模块(或指令集)228、接触/运动模块(或指令集)230、图形模块(或指令集)232、文本输入模块(或指令集)234、全球定位系统(GPS)模块(或指令集)235、数字助理客户端模块229以及应用(或指令集)236。此外,存储器202可存储数据和模型,诸如用户数据和模型231。此外,在一些实施方案中,存储器202(图2A)或470(图4)存储设备/全局内部状态257,如图2A和图4中所示。设备/全局内部状态257包括以下中的一者或多者:活动应用状态,其指示哪些应用(如果有的话)当前是活动的;显示状态,指示什么应用、视图或其他信息占据触摸屏显示器212的各个区域;传感器状态,包括从设备的各个传感器和输入控制设备216获取的信息;以及关于设备的位置和/或姿态的位置信息。

操作系统226(例如,Darwin、RTXC、LINUX、UNIX、OS X、iOS、WINDOWS,或嵌入式操作系统诸如VxWorks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电源管理等)的各种软件部件和/或驱动器,并且促进各种硬件部件和软件部件之间的通信。

通信模块228促进通过一个或多个外部端口224来与其他设备进行通信,并且还包括用于处理由RF电路208和/或外部端口224所接收的数据的各种软件部件。外部端口224(例如,通用串行总线(USB)、火线等)适于直接耦接到其他设备,或间接地通过网络(例如,互联网、无线LAN等)进行耦接。在一些实施方案中,该外部端口为与(Apple Inc.的商标)设备上所使用的30针连接器相同的或类似的和/或与其兼容的多针(例如,30针)连接器。

接触/运动模块230任选地检测与触摸屏212(结合显示控制器256)和其他触敏设备(例如,触控板或物理点击轮)的接触。接触/运动模块230包括各种软件部件以用于执行与接触的检测相关的各种操作,诸如确定是否已发生接触(例如,检测手指按下事件)、确定接触的强度(例如,接触的力或压力,或者接触的力或压力的替代物)、确定是否存在接触的移动并跟踪在触敏表面上的移动(例如,检测一个或多个手指拖动事件)、以及确定接触是否已停止(例如,检测手指抬起事件或接触断开)。接触/运动模块230从触敏表面接收接触数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变),接触点的移动由一系列接触数据来表示。这些操作任选地被应用于单点接触(例如,单指接触)或者多点同时接触(例如,“多点触摸”/多个手指接触)。在一些实施方案中,接触/运动模块230和显示控制器256检测触控板上的接触。

在一些实施方案中,接触/运动模块230使用一组一个或多个强度阈值来确定操作是否已由用户执行(例如,确定用户是否已“点击”图标)。在一些实施方案中,根据软件参数来确定强度阈值的至少一个子集(例如,强度阈值不是由特定物理致动器的激活阈值来确定的,并且可在不改变设备200的物理硬件的情况下被调节)。例如,在不改变触控板或触摸屏显示器硬件的情况下,触控板或触摸屏显示器的鼠标“点击”阈值可被设置为预定义的阈值的大范围中的任一个阈值。另外,在一些具体实施中,向设备的用户提供用于调节一组强度阈值中的一个或多个强度阈值(例如,通过调节各个强度阈值和/或通过利用对“强度”参数的系统级点击来一次调节多个强度阈值)的软件设置。

接触/运动模块230任选地检测用户的手势输入。触敏表面上的不同手势具有不同的接触图案(例如,所检测到的接触的不同运动、定时和/或强度)。因此,任选地通过检测特定的接触模式来检测手势。例如,检测手指轻击手势包括检测手指按下事件,然后在与手指按下事件相同的位置(或基本上相同的位置)处(例如,在图标的位置处)检测手指抬起(抬离)事件。作为另一个示例,在触敏表面上检测手指轻扫手势包括检测手指按下事件,然后检测一个或多个手指拖动事件,并且随后检测手指抬起(抬离)事件。

图形模块232包括用于在触摸屏212或其他显示器上呈现和显示图形的各种已知的软件部件,包括用于改变所显示的图形的视觉冲击(例如,亮度、透明度、饱和度、对比度或其他视觉属性)的部件。如本文所用,术语“图形”包括可被显示给用户的任何对象,其非限制性地包括文本、网页、图标(诸如包括软键的用户界面对象)、数字图像、视频、动画等。

在一些实施方案中,图形模块232存储待使用的表示图形的数据。每个图形任选地被分配有对应的代码。图形模块232从应用等接收用于指定待显示的图形的一个或多个代码,在必要的情况下还接收坐标数据和其他图形属性数据,并且然后生成屏幕图像数据,以输出至显示控制器256。

触感反馈模块233包括用于生成指令的各种软件部件,该指令由一个或多个触觉输出发生器267使用,以响应于用户与设备200的交互而在设备200上的一个或多个位置处产生触觉输出。

可以是图形模块232的部件的文本输入模块234提供用于在各种应用(例如,联系人237、电子邮件240、IM 241、浏览器247和需要文本输入的任何其他应用)中输入文本的软键盘。

GPS模块235确定设备的位置,并提供该信息以供在各种应用中使用(例如提供给电话238以供在基于位置的拨号中使用;提供给相机243作为图片/视频元数据;以及提供给提供基于位置的服务的应用,诸如天气桌面小程序、本地黄页桌面小程序和地图/导航桌面小程序)。

数字助理客户端模块229可包括各种客户端侧数字助理指令,以提供数字助理的客户端侧功能。例如,数字助理客户端模块229可能够通过便携式多功能设备200的各种用户界面(例如,麦克风213、加速度计268、触敏显示器系统212、光学传感器264、其他输入控制设备216等)来接受声音输入(例如,语音输入)、文本输入、触摸输入和/或手势输入。数字助理客户端模块229也可能够通过便携式多功能设备200的各种输出界面(例如,扬声器211、触敏显示器系统212、一个或多个触觉输出发生器267等)来提供音频形式输出(例如,语音输出)、视觉形式输出、和/或触觉形式输出。例如,可将输出提供为语音、声音、提示、文本消息、菜单、图形、视频、动画、振动和/或以上两者或更多者的组合。在操作期间,数字助理客户端模块229可使用RF电路208来与DA服务器106进行通信。

用户数据与模型231可包括与用户相关联的各种数据(例如,特定于用户的词汇数据、用户偏好数据、用户指定名称发音、来自用户电子地址簿的数据、待办事项、购物清单等),以提供数字助理的客户端侧功能。此外,用户数据和模型231可包括用于处理用户输入并确定用户意图的各种模型(例如,语音识别模型、统计语言模型、自然语言处理模型、知识本体、任务流模型、服务模型等)。

在一些示例中,数字助理客户端模块229可利用便携式多功能设备200的各种传感器、子系统和外围设备来从便携式多功能设备200的周围环境采集附加信息,以建立与用户、当前用户交互和/或当前用户输入相关联的上下文。在一些示例中,数字助理客户端模块229可将上下文信息或其子集与用户输入一起提供至DA服务器106,以帮助推断用户意图。在一些示例中,数字助理还可使用上下文信息来确定如何准备输出并将输出递送给用户。上下文信息可被称为上下文数据。

在一些示例中,伴随用户输入的上下文信息可包括传感器信息,例如照明、环境噪声、环境温度、周围环境的图像或视频等。在一些示例中,上下文信息还可包括设备的物理状态,例如设备取向、设备位置、设备温度、功率电平、速度、加速度、运动模式、蜂窝信号强度等。在一些示例中,可将与DA服务器106的软件状态相关的信息(例如运行过程、已安装程序、过去和当前的网络活动、后台服务、错误日志、资源使用等)和与便携式多功能设备200的软件状态相关的信息作为与用户输入相关联的上下文信息提供至DA服务器106。

在一些示例中,数字助理客户端模块229可响应于来自DA服务器106的请求而选择性地提供被存储在便携式多功能设备200上的信息(例如,用户数据231)。在一些示例中,数字助理客户端模块229还可在DA服务器106请求时引出来自用户经由自然语言对话或其他用户界面的附加输入。数字助理客户端模块229可将该附加输入传送至DA服务器106,以帮助DA服务器106进行意图推断和/或满足在用户请求中表达的用户意图。

下面参考图7A-图7C对数字助理进行更详细的描述。应当认识到,数字助理客户端模块229可包括下文所述的数字助理模块726的任意数量的子模块。

应用236可包括以下模块(或指令集)或者其子集或超集:

·联系人模块237(有时称作通讯录或联系人列表);

·电话模块238;

·视频会议模块239;

·电子邮件客户端模块240;

·即时消息(IM)模块241;

·健身支持模块242;

·用于静态图像和/或视频图像的相机模块243;

·图像管理模块244;

·视频播放器模块;

·音乐播放器模块;

·浏览器模块247;

·日历模块248;

·桌面小程序模块249,其可包括以下各项中的一者或多者:天气桌面小程序249-1、股市桌面小程序249-2、计算器桌面小程序249-3、闹钟桌面小程序249-4、字典桌面小程序249-5和由用户获取的其他桌面小程序,以及用户创建的桌面小程序249-6;

·用于形成用户创建的桌面小程序249-6的桌面小程序创建器模块250;

·搜索模块251;

·视频和音乐播放器模块252,其合并了视频播放器模块和音乐播放器模块;

·记事本模块253;

·地图模块254;和/或

·在线视频模块255。

可被存储在存储器202中的其他应用236的示例包括其他文字处理应用、其他图像编辑应用、绘图应用、演示应用、支持JAVA的应用、加密、数字版权管理、语音识别和语音复制。

结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232和文本输入模块234,联系人模块237可被用于管理地址簿或联系人列表(例如,存储在存储器202或存储器470中联系人模块237的应用内部状态292中),包括:添加姓名到地址簿;从地址簿删除姓名;将电话号码、电子邮件地址、物理地址或其他信息与姓名关联;将图像与姓名进行关联;对姓名进行归类和分类;提供电话号码或电子邮件地址来发起和/或促进通过电话238、视频会议模块239、电子邮件240或IM 241的通信;等等。

结合RF电路208、音频电路210、扬声器211、麦克风213、触摸屏212、显示控制器256、接触/运动模块230、图形模块232和文本输入模块234,电话模块238可用于输入对应于电话号码的字符序列、访问联系人模块237中的一个或多个电话号码、修改已输入的电话号码、拨打相应的电话号码、进行会话以及当会话完成时断开或挂断。如上所述,无线通信可使用多个通信标准、协议和技术中的任一者。

结合RF电路208、音频电路210、扬声器211、麦克风213、触摸屏212、显示控制器256、光学传感器264、光学传感器控制器258、接触/运动模块230、图形模块232、文本输入模块234、联系人模块237和电话模块238,视频会议模块239包括根据用户指令来发起、进行和终止用户与一个或多个其他参与者之间的视频会议的可执行指令。

结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、图形模块232和文本输入模块234,电子邮件客户端模块240包括响应于用户指令来创建、发送、接收和管理电子邮件的可执行指令。结合图像管理模块244,电子邮件客户端模块240使得非常容易创建和发送具有由相机模块243拍摄的静态图像或视频图像的电子邮件。

结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、图形模块232和文本输入模块234,即时消息模块241包括用于以下操作的可执行指令:输入与即时消息对应的字符序列,修改先前输入的字符,传输相应即时消息(例如,使用短消息服务(SMS)或多媒体消息服务(MMS)协议以用于基于电话的即时消息,或者使用XMPP、SIMPLE或IMPS以用于基于互联网的即时消息),接收即时消息、以及查看所接收的即时消息。在一些实施方案中,所传输的和/或所接收的即时消息可包括图形、照片、音频文件、视频文件和/或在MMS和/或增强型消息服务(EMS)中受支持的其他附件。如本文所用,“即时消息”是指基于电话的消息(例如,使用SMS或MMS发送的消息)和基于互联网的消息(例如,使用XMPP、SIMPLE、或IMPS发送的消息)两者。

结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、图形模块232、文本输入模块234、GPS模块235、地图模块254和音乐播放器模块,健身支持模块242包括用于以下各项的可执行指令:创建健身(例如,具有时间、距离和/或卡路里燃烧目标);与健身传感器(运动设备)进行通信;接收健身传感器数据;校准用于监视健身的传感器;为健身选择和播放音乐;以及显示、存储和传输健身数据。

结合触摸屏212、显示控制器256、一个或多个光学传感器264、光学传感器控制器258、接触/运动模块230、图形模块232和图像管理模块244,相机模块243包括用于以下操作的可执行指令:捕获静态图像或视频(包括视频流)并且将它们存储到存储器202中、修改静态图像或视频的特征、或从存储器202删除静态图像或视频。

结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232、文本输入模块234和相机模块243,图像管理模块244包括用于排列、修改(例如,编辑),或以其他方式操控、加标签、删除、演示(例如,在数字幻灯片或相册中)以及存储静态图像和/或视频图像的可执行指令。

结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、图形模块232和文本输入模块234,浏览器模块247包括根据用户指令来浏览互联网(包括搜索、链接至、接收和显示网页或其部分,以及链接至网页的附件和其他文件)的可执行指令。

结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、图形模块232、文本输入模块234、电子邮件客户端模块240和浏览器模块247,日历模块248包括用于根据用户指令来创建、显示、修改和存储日历以及与日历相关联的数据(例如日历条目、待办事项等)的可执行指令。

结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、图形模块232、文本输入模块234和浏览器模块247,桌面小程序模块249是可由用户下载并使用的微型应用(例如,天气桌面小程序249-1、股市桌面小程序249-2、计算器桌面小程序249-3、闹钟桌面小程序249-4和字典桌面小程序249-5)或由用户创建的微型应用(例如,用户创建的桌面小程序249-6)。在一些实施方案中,桌面小程序包括HTML(超文本标记语言)文件、CSS(层叠样式表)文件和JavaScript文件。在一些实施方案中,桌面小程序包括XML(可扩展标记语言)文件和JavaScript文件(例如,Yahoo!桌面小程序)。

结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、图形模块232、文本输入模块234和浏览器模块247,桌面小程序创建器模块250可被用户用于创建桌面小程序(例如,将网页的用户指定部分转到桌面小程序中)。

结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232和文本输入模块234,搜索模块251包括根据用户指令来搜索存储器202中的匹配一个或多个搜索条件(例如,一个或多个用户指定的搜索词)的文本、音乐、声音、图像、视频和/或其他文件的可执行指令。

结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232、音频电路系统210、扬声器211、RF电路系统208和浏览器模块247,视频和音乐播放器模块252包括允许用户下载和回放以一种或多种文件格式(诸如MP3或AAC文件)存储的所记录的音乐和其他声音文件的可执行指令,以及用于显示、演示或以其他方式回放视频(例如,在触摸屏212上或在经由外部端口224连接的外部显示器上)的可执行指令。在一些实施方案中,设备200任选地包括MP3播放器,诸如iPod(Apple Inc.的商标)的功能。

结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232和文本输入模块234,记事本模块253包括根据用户指令来创建和管理记事本、待办事项等的可执行指令。

结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、图形模块232、文本输入模块234、GPS模块235和浏览器模块247,地图模块254可用于根据用户指令来接收、显示、修改和存储地图以及与地图相关联的数据(例如,驾驶方向、与特定位置处或其附近的商店及其他兴趣点相关的数据,以及其他基于位置的数据)。

结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232、音频电路210、扬声器211、RF电路208、文本输入模块234、电子邮件客户端模块240和浏览器模块247,在线视频模块255包括指令,该指令允许用户访问、浏览、接收(例如,通过流式传输和/或下载)、回放(例如在触摸屏上或在经由外部端口224所连接的外部显示器上)、发送具有至特定在线视频的链接的电子邮件,以及以其他方式管理一种或多种文件格式诸如H.264的在线视频。在一些实施方案中,使用即时消息模块241而不是电子邮件客户端模块240来发送特定在线视频的链接。在线视频应用的附加描述可在2007年6月20日提交的名称为“PortableMultifunction Device,Method,and Graphical User Interface for Playing OnlineVideos”的美国临时专利申请No.60/936,562,以及2007年12月31日提交的名称为“Portable Multifunction Device,Method,and Graphical User Interface forPlaying Online Videos”的美国专利申请No.11/968,067中找到,这两个专利申请的内容据此全文以引用方式并入本文。

上述模块和应用中的每个模块和应用对应于用于执行上述一种或多种功能以及在该专利申请中所述的方法(例如,本文所述的计算机实现的方法和其他信息处理方法)的一组可执行指令。这些模块(例如,指令集)不必被实现为独立的软件程序、过程或模块,并因此在各种实施方案中可组合或以其他方式重新布置这些模块的各种子集。例如,视频播放器模块可与音乐播放器模块组合成单个模块(例如,图2A中的视频和音乐播放器模块252)。在一些实施方案中,存储器202可存储上述模块和数据结构的子集。此外,存储器202可存储上文没有描述的附加模块和数据结构。

在一些实施方案中,设备200是该设备上的一组预定义功能的操作唯一地通过触摸屏和/或触控板来执行的设备。通过使用触摸屏和/或触控板作为用于设备200的操作的主要输入控制设备,可减少设备200上的物理输入控制设备(诸如下压按钮、拨号盘等等)的数量。

唯一地通过触摸屏和/或触控板执行的该组预定义功能任选地包括在用户界面之间进行导航。在一些实施方案中,该触控板在被用户触摸时将设备200从被显示在设备200上的任何用户界面导航到主菜单、主屏幕菜单或根菜单。在此类实施方案中,使用触控板来实现“菜单按钮”。在一些其他实施方案中,该菜单按钮为物理下压按钮或者其他物理输入控制设备,而不是触控板。

图2B是示出了根据一些实施方案的用于事件处理的示例性部件的框图。在一些实施方案中,存储器202(图2A)或存储器470(图4)包括事件分类器270(例如,在操作系统226中)以及相应的应用236-1(例如,前述应用237至251、255、480至490中的任一个应用)。

事件分类器270接收事件信息并确定要将事件信息递送到的应用236-1和应用236-1的应用视图291。事件分类器270包括事件监视器271和事件分配器模块274。在一些实施方案中,应用236-1包括应用内部状态292,该应用内部状态指示当应用为活动的或正在执行时被显示在触敏显示器212上的当前应用视图。在一些实施方案中,设备/全局内部状态257被事件分类器270用于确定哪个(哪些)应用当前为活动的,并且应用内部状态292被事件分类器270用于确定要将事件信息递送到的应用视图291。

在一些实施方案中,应用内部状态292包括附加的信息,诸如以下各项中的一者或多者:当应用236-1恢复执行时将被使用的恢复信息、指示正被应用236-1显示的信息或准备好用于被该应用显示的信息的用户界面状态信息、用于使得用户能够返回到应用236-1的先前状态或视图的状态队列、以及用户采取的先前动作的重复/撤销队列。

事件监视器271从外围设备接口218接收事件信息。事件信息包括关于子事件(例如,作为多点触摸手势部分的触敏显示器212上的用户触摸)的信息。外围设备接口218传输其从I/O子系统206或传感器诸如接近传感器266、加速度计268和/或麦克风213(通过音频电路210)接收的信息。外围设备接口218从I/O子系统206接收的信息包括来自触敏显示器212或触敏表面的信息。

在一些实施方案中,事件监视器271以预先确定的间隔将请求发送至外围设备接口218。作为响应,外围设备接口218传输事件信息。在其他实施方案中,外围设备接口218仅当存在显著事件(例如,接收到高于预先确定的噪声阈值和/或接收到超过预先确定的持续时间的输入)时才传输事件信息。

在一些实施方案中,事件分类器270还包括命中视图确定模块272和/或活动事件识别器确定模块273。

当触敏显示器212显示多于一个视图时,命中视图确定模块272提供用于确定子事件已在一个或多个视图内的什么地方发生的软件过程。视图由用户可在显示器上看到的控件和其他元素构成。

与应用相关联的用户界面的另一个方面是一组视图,在本文中有时也被称为应用视图或用户界面窗口,在其中显示信息并且发生基于触摸的手势。在其中检测到触摸的(相应应用的)应用视图可对应于应用的程序化或视图分级结构内的程序化水平。例如,在其中检测到触摸的最低层级视图可被叫做命中视图,并且被识别为正确输入的那组事件可至少部分地基于开始基于触摸的手势的初始触摸的命中视图来确定。

命中视图确定模块272接收与基于接触的手势的子事件相关的信息。当应用具有在分级结构中组织的多个视图时,命中视图确定模块272将命中视图识别为应对子事件进行处理的分级结构中的最低视图。在大多数情况下,命中视图是发起子事件(例如,形成事件或潜在事件的子事件序列中的第一子事件)在其中发生的最低水平视图。一旦命中视图被命中视图确定模块272识别,命中视图便通常接收与其被识别为命中视图所针对的同一触摸或输入源相关的所有子事件。

活动事件识别器确定模块273确定视图分级结构内的哪个或哪些视图应接收特定子事件序列。在一些实施方案中,活动事件识别器确定模块273确定仅命中视图才应接收特定子事件序列。在其他实施方案中,活动事件识别器确定模块273确定包括子事件的物理位置的所有视图均为活跃参与的视图,因此确定所有活跃参与的视图都应接收特定子事件序列。在其他实施方案中,即使触摸子事件完全被局限到与一个特定视图相关联的区域,但在分级结构中较高的视图将仍然保持为活跃参与的视图。

事件分配器模块274将事件信息分配到事件识别器(例如,事件识别器280)。在包括活动事件识别器确定模块273的实施方案中,事件分配器模块274将事件信息递送到由活动事件识别器确定模块273确定的事件识别器。在一些实施方案中,事件分配器模块274在事件队列中存储事件信息,该事件信息由相应事件接收器282进行检索。

在一些实施方案中,操作系统226包括事件分类器270。另选地,应用236-1包括事件分类器270。在其他实施方案中,事件分类器270为独立模块,或者为被存储在存储器202中的另一个模块(诸如接触/运动模块230)的一部分。

在一些实施方案中,应用236-1包括多个事件处理程序290和一个或多个应用视图291,其中每个应用视图包括用于处理发生在应用的用户界面的相应视图内的触摸事件的指令。应用236-1的每个应用视图291包括一个或多个事件识别器280。通常,相应应用视图291包括多个事件识别器280。在其他实施方案中,事件识别器280中的一个或多个事件识别器为独立模块的部分,该独立模块诸如用户界面工具包(未示出)或应用236-1从中继承方法和其他属性的更高水平的对象。在一些实施方案中,相应事件处理程序290包括以下各项中的一者或多者:数据更新器276、对象更新器277、GUI更新器278、和/或从事件分类器270接收的事件数据279。事件处理程序290可利用或调用数据更新器276、对象更新器277或GUI更新器278,以更新应用内部状态292。另选地,应用视图291中的一个或多个应用视图包括一个或多个相应事件处理程序290。另外,在一些实施方案中,数据更新器276、对象更新器277和GUI更新器278中的一者或多者被包括在相应应用视图291中。

相应的事件识别器280从事件分类器270接收事件信息(例如,事件数据279),并且从事件信息识别事件。事件识别器280包括事件接收器282和事件比较器284。在一些实施方案中,事件识别器280还至少包括以下各项的子集:元数据283和事件递送指令288(其可包括子事件递送指令)。

事件接收器282接收来自事件分类器270的事件信息。该事件信息包括关于子事件例如触摸或触摸移动的信息。根据子事件,事件信息还包括附加信息,诸如子事件的位置。当子事件涉及触摸的运动时,事件信息还可包括子事件的速率和方向。在一些实施方案中,事件包括设备从一个取向旋转到另一取向(例如,从纵向取向到横向取向,或反之亦然)的旋转,并且事件信息包括关于设备的当前取向(也被称为设备姿态)的对应信息。

事件比较器284将事件信息与预定义的事件或子事件定义进行比较,并且基于该比较,确定事件或子事件,或者确定或更新事件或子事件的状态。在一些实施方案中,事件比较器284包括事件定义286。事件定义286包含事件的定义(例如,预定义的子事件序列),例如事件1(287-1)、事件2(287-2)、以及其他事件。在一些实施方案中,事件(287)中的子事件包括例如触摸开始、触摸结束、触摸移动、触摸取消和多点触摸。在一个示例中,针对事件1(287-1)的定义为被显示对象上的双击。例如,双击包括被显示对象上的预先确定时长的第一次触摸(触摸开始)、预先确定时长的第一次抬离(触摸结束)、被显示对象上的预先确定时长的第二次触摸(触摸开始)、以及预先确定时长的第二次抬离(触摸结束)。在另一个示例中,针对事件2(287-2)的定义为被显示对象上的拖动。例如,拖动包括所显示对象上的预先确定时长的触摸(或接触)、触摸跨触敏显示器212的移动,以及触摸的抬离(触摸结束)。在一些实施方案中,事件还包括用于一个或多个相关联的事件处理程序290的信息。

在一些实施方案中,事件定义287包括对用于相应用户界面对象的事件的定义。在一些实施方案中,事件比较器284执行命中测试,以确定哪个用户界面对象与子事件相关联。例如,在触摸显示器212上显示三个用户界面对象的应用视图中,当在触敏显示器212上检测到触摸时,事件比较器284执行命中测试,以确定这三个用户界面对象中的哪一个用户界面对象与该触摸(子事件)相关联。如果每个所显示的对象与相应的事件处理程序290相关联,则事件比较器使用该命中测试的结果来确定哪个事件处理程序290应当被激活。例如,事件比较器284选择与子事件和触发该命中测试的对象相关联的事件处理程序。

在一些实施方案中,用于相应事件287的定义还包括延迟动作,该延迟动作延迟事件信息的递送,直到确定子事件序列是否对应于事件识别器的事件类型。

当相应事件识别器280确定子事件序列不与事件定义286中的任何事件匹配时,该相应事件识别器280进入事件不可能、事件失败或事件结束状态,在此之后忽略基于触摸的手势的后续子事件。在这种情况下,对于命中视图保持活动的其他事件识别器(如果有的话)继续跟踪和处理正在进行的基于触摸的手势的子事件。

在一些实施方案中,相应事件识别器280包括具有指示事件递送系统应该如何执行将子事件递送到活跃参与的事件识别器的可配置属性、标记和/或列表的元数据283。在一些实施方案中,元数据283包括指示事件识别器彼此如何交互或可如何交互的可配置属性、标志和/或列表。在一些实施方案中,元数据283包括指示子事件是否递送到视图或程序化分级结构中的不同层级的可配置属性、标志和/或列表。

在一些实施方案中,当识别事件的一个或多个特定子事件时,相应事件识别器280激活与事件相关联的事件处理程序290。在一些实施方案中,相应事件识别器280将与事件相关联的事件信息递送到事件处理程序290。激活事件处理程序290不同于将子事件发送(和延期发送)到相应命中视图。在一些实施方案中,事件识别器280抛出与所识别的事件相关联的标志,并且与该标志相关联的事件处理程序290接获该标志并执行预定义的过程。

在一些实施方案中,事件递送指令288包括递送关于子事件的事件信息而无需激活事件处理程序的子事件递送指令。相反,子事件递送指令将事件信息递送到与子事件系列相关联的事件处理程序或递送到活跃参与的视图。与子事件系列或与活跃参与的视图相关联的事件处理程序接收事件信息并执行预先确定的过程。

在一些实施方案中,数据更新器276创建并更新在应用236-1中使用的数据。例如,数据更新器276对联系人模块237中所使用的电话号码进行更新,或者对视频播放器模块中所使用的视频文件进行存储。在一些实施方案中,对象更新器277创建和更新在应用236-1中使用的对象。例如,对象更新器277创建新用户界面对象或更新用户界面对象的位置。GUI更新器278更新GUI。例如,GUI更新器278准备显示信息并且将显示信息发送到图形模块232,以用于显示在触敏显示器上。

在一些实施方案中,事件处理程序290包括数据更新器276、对象更新器277和GUI更新器278,或具有对该数据更新器、该对象更新器和该GUI更新器的访问权限。在一些实施方案中,数据更新器276、对象更新器277和GUI更新器278被包括在相应应用236-1或应用视图291的单个模块中。在其他实施方案中,它们被包括在两个或更多个软件模块中。

应当理解,关于触敏显示器上的用户触摸的事件处理的上述论述还适用于利用输入设备来操作多功能设备200的其他形式的用户输入,并不是所有用户输入都是在触摸屏上发起的。例如,任选地与单次或多次键盘按下或按住协作的鼠标移动和鼠标按钮按下;触控板上的接触移动,诸如轻击、拖动、滚动等;触笔输入;设备的移动;口头指令;检测到的眼睛移动;生物特征输入;和/或它们的任何组合任选地被用作对应于限定要识别的事件的子事件的输入。

图3示出了根据一些实施方案具有触摸屏212的便携式多功能设备200。触摸屏任选地在用户界面(UI)300内显示一个或多个图形。在本实施方案中以及在下文中描述的其他实施方案中,用户能够通过例如利用一个或多个手指302(在附图中没有按比例绘制)或者利用一个或多个触笔303(在附图中没有按比例绘制)在图形上作出手势来选择这些图形中的一个或多个图形。在一些实施方案中,当用户中断与一个或多个图形的接触时,将发生对一个或多个图形的选择。在一些实施方案中,手势任选地包括一次或多次轻击、一次或多次轻扫(从左向右、从右向左、向上和/或向下)和/或已与设备200发生接触的手指的滚动(从右向左、从左向右、向上和/或向下)。在一些具体实施中或在一些情况下,不经意地与图形接触不会选择图形。例如,当与选择对应的手势为轻击时,在应用图标上方扫动的轻扫手势任选地不会选择对应应用。

设备200还可包括一个或多个物理按钮,诸如“主屏幕”按钮或菜单按钮304。如前所述,菜单按钮304可被用于导航到可在设备200上执行的应用集中的任何应用236。另选地,在一些实施方案中,菜单按钮被实现为显示在触摸屏212上的GUI中的软键。

在一个实施方案中,设备200包括触摸屏212、菜单按钮304、用于使设备通电/断电和用于锁定设备的下压按钮306、一个或多个音量调节按钮308、用户身份模块(SIM)卡槽310、耳麦插孔312和对接/充电外部端口224。下压按钮306任选地用于通过压下该按钮并且将该按钮保持在压下状态持续预定义的时间间隔来对设备进行开/关机;通过压下该按钮并在该预定义的时间间隔过去之前释放该按钮来锁定设备;和/或对设备进行解锁或发起解锁过程。在另选的实施方案中,设备200还通过麦克风213来接受用于激活或去激活一些功能的言语输入。设备200还任选地包括用于检测触摸屏212上的接触的强度的一个或多个接触强度传感器265,和/或用于为设备200的用户生成触觉输出的一个或多个触觉输出发生器267。

图4是根据一些实施方案具有显示器和触敏表面的示例性多功能设备的框图。设备400不必为便携式的。在一些实施方案中,设备400为膝上型计算机、台式计算机、平板电脑、多媒体播放器设备、导航设备、教育设备(诸如儿童学习玩具)、游戏系统或控制设备(例如,家用控制器或工业用控制器)。设备400通常包括一个或多个处理单元(CPU)410、一个或多个网络或其他通信接口460、存储器470和用于使这些部件互连的一个或多个通信总线420。通信总线420任选地包括使系统部件互连并且控制系统部件之间的通信的电路(有时被叫做芯片组)。设备400包括具有显示器440的输入/输出(I/O)接口430,该显示器通常是触摸屏显示器。I/O接口430还任选地包括键盘和/或鼠标(或其他指向设备)450和触控板455、用于在设备400上生成触觉输出的触觉输出发生器457(例如,类似于以上参考图2A所述的触觉输出发生器267)、传感器459(例如,光学传感器、加速度传感器、接近传感器、触敏传感器和/或接触强度传感器(类似于以上参考图2A所述的接触强度传感器265))。存储器470包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并且任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器470任选地包括远离CPU 410定位的一个或多个存储设备。在一些实施方案中,存储器470存储与便携式多功能设备200(图2A)的存储器202中存储的程序、模块和数据结构类似的程序、模块和数据结构或它们的子集。此外,存储器470任选地存储在便携式多功能设备200的存储器202中不存在的附加程序、模块和数据结构。例如,设备400的存储器470任选地存储绘图模块480、演示模块482、文字处理模块484、网站创建模块486、盘编辑模块488和/或电子表格模块490,而便携式多功能设备200(图2A)的存储器202任选地不存储这些模块。

图4中的上述元素中的每个元素可存储在一个或多个前面提及的存储器设备中。上述所识别的模块中的每个模块对应于用于执行上述功能的指令集。上述模块或程序(例如,指令集)不必被实现为单独的软件程序、过程或模块,并且因此这些模块的各种子集可在各种实施方案中被组合或以其他方式重新布置。在一些实施方案中,存储器470可存储上述模块和数据结构的子集。此外,存储器470可存储上文没有描述的附加模块和数据结构。

现在将注意力转向可在例如便携式多功能设备200上实现的用户界面的实施方案。

图5A示出了根据一些实施方案用于便携式多功能设备200上的应用的菜单的示例性用户界面。类似的用户界面可在设备400上实现。在一些实施方案中,用户界面500包括以下元素或者其子集或超集:

用于一个或多个无线通信(诸如蜂窝信号和Wi-Fi信号)的一个或多个信号强度指示器502;

·时间504;

·蓝牙指示器505;

·电池状态指示器506;

·具有常用应用的图标的托盘508,图标诸如:

ο电话模块238的被标记为“电话”的图标516,该图标任选地包括未接来电或语音邮件消息的数量的指示器514;

ο电子邮件客户端模块240的被标记为“邮件”的图标518,该图标任选地包括未读电子邮件的数量的指示器510;

ο浏览器模块247的被标记为“浏览器”的图标520;以及

ο视频和音乐播放器模块252(也称为iPod(Apple Inc.的商标)模块252)的被标记为“iPod”的图标522;以及

·其他应用的图标,诸如:

οIM模块241的被标记为“消息”的图标524;

ο日历模块248的被标记为“日历”的图标526;

ο图像管理模块244的被标记为“照片”的图标528;

ο相机模块243的被标记为“相机”的图标530;

ο在线视频模块255的被标记为“在线视频”的图标532;

ο股市桌面小程序249-2的被标记为“股市”的图标534;

ο地图模块254的被标记为“地图”的图标536;

ο天气桌面小程序249-1的被标记为“天气”的图标538;

ο闹钟桌面小程序249-4的被标记为“时钟”的图标540;

ο健身支持模块242的被标记为“健身支持”的图标542;

ο记事本模块253的被标记为“记事本”的图标544;以及

ο设置应用或模块的被标记为“设置”的图标546,该图标提供对设备200及其各种应用236的设置的访问。

需注意,图5A中示出的图标标签仅是示例性的。例如,视频和音乐播放器模块252的图标522可任选地被标记为“音乐”或“音乐播放器”。其他标签任选地用于各种应用图标。在一些实施方案中,相应应用图标的标签包括与该相应应用图标对应的应用的名称。在一些实施方案中,特定应用图标的标签不同于与该特定应用图标对应的应用的名称。

图5B示出了具有与显示器550(例如,触摸屏显示器212)分开的触敏表面551(例如,图4的平板电脑或触控板455)的设备(例如,图4的设备400)上的示例性用户界面。设备400还任选地包括用于检测触敏表面551上的接触的强度的一个或多个接触强度传感器(例如,传感器457中的一个或多个传感器)和/或用于为设备400的用户生成触觉输出的一个或多个触觉输出发生器459。

尽管将参考触摸屏显示器212(其中组合了触敏表面和显示器)上的输入给出随后的示例中的一些示例,但是在一些实施方案中,设备检测与显示器分开的触敏表面上的输入,如图5B所示。在一些实施方案中,触敏表面(例如,图5B中的551)具有与显示器(例如,550)上的主轴(例如,图5B中的553)对应的主轴(例如,图5B中的552)。根据这些实施方案,设备检测在与显示器上的相应位置对应的位置(例如,在图5B中,560对应于568并且562对应于570)处的与触敏表面551的接触(例如,图5B中的560和562)。这样,在触敏表面(例如,图5B中的551)与多功能设备的显示器(图5B中的550)分开时,由设备在触敏表面上检测到的用户输入(例如,接触560和562以及它们的移动)被该设备用于操纵显示器上的用户界面。应当理解,类似的方法任选地用于本文所述的其他用户界面。

另外,虽然主要是参考手指输入(例如,手指接触、单指轻击手势和/或手指轻扫手势)来给出下面的示例,但是应当理解,在一些实施方案中,这些手指输入中的一个或多个手指输入由来自另一输入设备的输入(例如,基于鼠标的输入或触笔输入)替代。例如,轻扫手势任选地由鼠标点击(例如,而不是接触),之后是光标沿轻扫的路径的移动(例如,而不是接触的移动)来替换。作为另一个示例,轻击手势任选地由在光标位于轻击手势的位置上方时的鼠标点击(例如,而不是对接触的检测,以及之后的停止检测接触)来替换。类似地,当同时检测到多个用户输入时,应当理解的是,多个计算机鼠标任选地被同时使用,或鼠标和手指接触任选地被同时使用。

图6A示出了示例性个人电子设备600。设备600包括主体602。在一些实施方案中,设备600可包括相对于设备200和400(例如,图2A-图4)所述的特征部中的一些或全部特征部。在一些实施方案中,设备600具有在下文中称为触摸屏604的触敏显示屏604。另选地或作为触摸屏604的补充,设备600具有显示器和触敏表面。与设备200和设备400的情况一样,在一些实施方案中,触摸屏604(或触敏表面)可具有用于检测正施加的接触(例如,触摸)强度的一个或多个强度传感器。触摸屏604(或触敏表面)的一个或多个强度传感器可提供表示触摸的强度的输出数据。设备600的用户界面可基于其强度来对触摸作出响应,这意味着不同强度的触摸可调用设备600上的不同用户界面操作。

用于检测和处理触摸强度的技术可例如在相关申请中找到:2013年5月8日提交的名称为“Device,Method,and Graphical User Interface for Displaying UserInterface Objects Corresponding to an Application”的国际专利申请No.PCT/US2013/040061,以及2013年11月11日提交的名称为“Device,Method,and Graphical UserInterface for Transitioning Between Touch Input to Display OutputRelationships”的国际专利申请No.PCT/US2013/069483,这两个国际专利申请中的每个据此全文以引用方式并入本文。

在一些实施方案中,设备600具有一个或多个输入机构606和608。输入机构606和608(如果包括的话)可以是物理形式的。物理输入机构的示例包括下压按钮和可旋转机构。在一些实施方案中,设备600具有一个或多个附接机构。此类附接机构(如果包括的话)可允许将设备600与例如帽子、眼镜、耳环、项链、衬衣、夹克、手镯、表带、手链、裤子、皮带、鞋子、钱包、背包等附接。这些附接机构可允许用户穿戴设备600。

图6B示出了示例性个人电子设备600。在一些实施方案中,设备600可包括参考图2A、图2B和图4所述的部件中的一些或全部部件。设备600具有将I/O部分614与一个或多个计算机处理器616和存储器618操作性地耦接的总线612。I/O部分614可连接到显示器604,该显示器可具有触敏部件622并且任选地具有触摸强度敏感部件624。此外,I/O部分614可与通信单元630连接,用于使用Wi-Fi、蓝牙、近场通信(NFC)、蜂窝和/或其他无线通信技术来接收应用和操作系统数据。设备600可包括输入机构606和/或608。例如,输入机构606可以是可旋转输入设备或者可按压且可旋转输入设备。在一些示例中,输入机构608可以是按钮。

在一些示例中,输入机构608可以是麦克风。个人电子设备600可包括各种传感器,诸如GPS传感器632、加速度计634、定向传感器640(例如,罗盘)、陀螺仪636、运动传感器638和/或它们的组合,所有这些设备可操作地连接到I/O部分614。

个人电子设备600的存储器618可以是用于存储计算机可执行指令的非暂态计算机可读存储介质,该计算机可执行指令当由一个或多个计算机处理器616执行时,例如可使得计算机处理器执行下文描述的包括过程1200(图12A-图12D)的技术。该计算机可执行指令还可以在任何非暂态计算机可读存储介质内进行存储和/或传输,以供指令执行系统、装置或设备,诸如基于计算机的系统、包括处理器的系统或其他系统使用或与其结合,所述其他系统可从指令执行系统、装置或设备获取指令并执行指令。个人电子设备600不限于图6B的部件和配置,而是可包括多种配置的其他部件或附加部件。

如本文所用,术语“示能表示”是指可在设备200、400和/或600(图2、图4和图6)的显示屏上显示的用户交互式图形用户界面对象。例如,图像(例如,图标)、按钮和文本(例如,链接)可各自构成示能表示。

如本文所用,术语“焦点选择器”是指用于指示用户正与之进行交互的用户界面的当前部分的输入元素。在包括光标或其他位置标志的一些具体实施中,光标充当“焦点选择器”,使得当在光标停留在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)上方的同时在触敏表面(例如,图4中的触控板455或图5B中的触敏表面551)上检测到输入(例如,按压输入)的情况下,根据检测到的输入调整特定用户界面元素。在包括能够实现与触摸屏显示器上的用户界面元素的直接交互的触摸屏显示器(例如,图2A中的触敏显示器系统212或图5A中的触摸屏212)的一些具体实施中,触摸屏上所检测到的接触充当“焦点选择器”,使得当在触摸屏显示器上在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)的位置处检测到输入(例如,由接触进行的按压输入)时,该特定用户界面元素根据所检测到的输入而被调节。在一些具体实施中,焦点从用户界面的一个区域移动到用户界面的另一个区域,而无需光标的对应移动或触摸屏显示器上的接触的移动(例如,通过使用制表键或箭头键将焦点从一个按钮移动到另一个按钮);在这些具体实施中,焦点选择器根据焦点在用户界面的不同区域之间的移动而移动。不考虑焦点选择器所采取的具体形式,焦点选择器通常是由用户控制的以便递送与用户界面的用户预期的交互(例如,通过向设备指示用户界面的用户期望与其进行交互的元素)的用户界面元素(或触摸屏显示器上的接触)。例如,在触敏表面(例如,触控板或触摸屏)上检测到按压输入时,焦点选择器(例如,光标、接触或选择框)在相应按钮上方的位置将指示用户期望激活相应按钮(而不是设备的显示器上示出的其他用户界面元素)。

如说明书和权利要求书中所使用的,接触的“特征强度”这一术语是指基于接触的一个或多个强度的接触的特征。在一些实施方案中,特征强度基于多个强度样本。特征强度任选地基于相对于预定义事件(例如,在检测到接触之后,在检测到接触抬起之前,在检测到接触开始移动之前或之后,在检测到接触结束之前,在检测到接触的强度增大之前或之后和/或在检测到接触的强度减小之前或之后)而言在预先确定的时间段(例如,0.05秒、0.1秒、0.2秒、0.5秒、1秒、2秒、5秒、10秒)期间采样的预定义数量的强度样本或一组强度样本。接触的特征强度任选地基于以下各项中的一者或多者:接触强度的最大值、接触强度的均值、接触强度的平均值、接触强度的前10%处的值、接触强度的半最大值、接触强度的90%最大值等。在一些实施方案中,在确定特征强度时使用接触的持续时间(例如,在特征强度为接触的强度在时间上的平均值时)。在一些实施方案中,将特征强度与一组一个或多个强度阈值进行比较,以确定用户是否已执行操作。例如,该组一个或多个强度阈值可包括第一强度阈值和第二强度阈值。在该示例中,特征强度未超过第一阈值的接触导致第一操作,特征强度超过第一强度阈值但未超过第二强度阈值的接触导致第二操作,并且特征强度超过第二阈值的接触导致第三操作。在一些实施方案中,使用特征强度与一个或多个阈值之间的比较来确定是否要执行一个或多个操作(例如,是执行相应操作还是放弃执行相应操作),而不是用于确定执行第一操作还是第二操作。

在一些实施方案中,识别手势的一部分以用于确定特征强度。例如,触敏表面可接收连续的轻扫接触,该连续的轻扫接触从起始位置过渡并到达结束位置,在该结束位置处,接触的强度增加。在该示例中,接触在结束位置处的特征强度可仅基于连续轻扫接触的一部分,而不是整个轻扫接触(例如,仅结束位置处的轻扫接触的一部分)。在一些实施方案中,可在确定接触的特征强度之前向轻扫手势的强度应用平滑化算法。例如,该平滑化算法任选地包括以下各项中的一者或多者:不加权滑动平均平滑化算法、三角平滑化算法、中值滤波器平滑化算法、和/或指数平滑化算法。在一些情况下,这些平滑化算法消除了轻扫接触的强度中的窄的尖峰或凹陷,以用于确定特征强度。

可相对于一个或多个强度阈值诸如接触检测强度阈值、轻按压强度阈值、深按压强度阈值、和/或一个或多个其他强度阈值来表征触敏表面上的接触的强度。在一些实施方案中,轻按压强度阈值对应于这样的强度:在该强度下,设备将执行通常与点击物理鼠标或触控板的按钮相关联的操作。在一些实施方案中,深按压强度阈值对应于这样的强度:在该强度下设备将执行与通常与点击物理鼠标或触控板的按钮相关联的操作不同的操作。在一些实施方案中,当检测到特征强度低于轻按压强度阈值(例如,并且高于标称接触检测强度阈值,比该标称接触检测强度阈值低的接触不再被检测到)的接触时,设备将根据接触在触敏表面上的移动来移动焦点选择器,而不执行与轻按压强度阈值或深按压强度阈值相关联的操作。一般来讲,除非另有陈述,否则这些强度阈值在不同组的用户界面附图之间为一致的。

接触的特征强度从低于轻按压强度阈值的强度增大到介于轻按压强度阈值与深按压强度阈值之间的强度有时被称为“轻按压”输入。接触特征强度从低于深按压强度阈值的强度增大到高于深按压强度阈值的强度有时被称为“深按压”输入。接触的特征强度从低于接触检测强度阈值的强度增大到介于接触检测强度阈值与轻按压强度阈值之间的强度有时被称为检测到触摸表面上的接触。接触的特征强度从高于接触检测强度阈值的强度减小到低于接触检测强度阈值的强度有时被称为检测到接触从触摸表面抬离。在一些实施方案中,接触检测强度阈值为零。在一些实施方案中,接触检测强度阈值大于零。

在本文中所述的一些实施方案中,响应于检测到包括相应按压输入的手势或响应于检测到利用相应接触(或多个接触)执行的相应按压输入来执行一个或多个操作,其中至少部分地基于检测到该接触(或多个接触)的强度增大到高于按压输入强度阈值而检测到相应按压输入。在一些实施方案中,响应于检测到相应接触强度增大到高于按压输入强度阈值(例如,相应按压输入的“向下冲程”)而执行相应操作。在一些实施方案中,按压输入包括相应接触强度增大到高于按压输入强度阈值以及该接触强度随后减小到低于按压输入强度阈值,并且响应于检测到相应接触强度随后减小到低于按压输入阈值(例如,相应按压输入的“向上冲程”)而执行相应操作。

在一些实施方案中,设备采用强度滞后以避免有时被称为“抖动”的意外输入,其中设备限定或选择与按压输入强度阈值具有预定义关系的滞后强度阈值(例如,滞后强度阈值比按压输入强度阈值低X个强度单位,或者滞后强度阈值是按压输入强度阈值的75%、90%或某个合理比例)。因此,在一些实施方案中,按压输入包括相应接触强度增大到高于按压输入强度阈值以及该接触强度随后减小到低于与按压输入强度阈值对应的滞后强度阈值,并且响应于检测到相应接触强度随后减小到低于滞后强度阈值(例如,相应按压输入的“向上冲程”)而执行相应操作。类似地,在一些实施方案中,仅在设备检测到接触的强度从等于或低于滞后强度阈值的强度增大到等于或高于按压输入强度阈值的强度并且任选地接触的强度随后减小到等于或低于滞后强度的强度时才检测到按压输入,并且响应于检测到按压输入(例如,根据环境,接触的强度增大或接触的强度减小)来执行相应操作。

为了容易解释,任选地,响应于检测到以下各种情况中的任一种情况而触发对响应于与按压输入强度阈值相关联的按压输入或响应于包括按压输入的手势而执行的操作的描述:接触强度增大到高于按压输入强度阈值、接触强度从低于滞后强度阈值的强度增大到高于按压输入强度阈值的强度、接触强度减小到低于按压输入强度阈值、和/或接触强度减小到低于与按压输入强度阈值对应的滞后强度阈值。另外,在将操作描述为响应于检测到接触的强度减小到低于按压输入强度阈值而执行的示例中,任选地响应于检测到接触的强度减小到低于对应于并且小于按压输入强度阈值的滞后强度阈值来执行操作。

3.数字助理系统

图7A示出了根据各种示例的数字助理系统700的框图。在一些示例中,数字助理系统700可在独立式计算机系统上实现。在一些示例中,数字助理系统700可跨多个计算机分布。在一些示例中,数字助理的模块和功能中的一些模块和功能可被划分成服务器部分和客户端部分,其中客户端部分位于一个或多个用户设备(例如,设备104、122、200、400或600)上并通过一个或多个网络来与服务器部分(例如,服务器系统108)进行通信,例如,如图1所示。在一些示例中,数字助理系统700可以是图1中所示的服务器系统108(和/或DA服务器106)的具体实施。应当指出的是,数字助理系统700仅为数字助理系统的一个示例,并且该数字助理系统700可具有比所示更多或更少的部件、可组合两个或更多个部件,或者可具有部件的不同配置或布置。图7A中所示的各种部件可在硬件、用于由一个或多个处理器执行的软件指令、固件(包括一个或多个信号处理集成电路和/或专用集成电路)、或它们的组合中实现。

数字助理系统700可包括存储器702、一个或多个处理器704、输入/输出(I/O)接口706、以及网络通信接口708。这些部件可通过一个或多个通信总线或信号线710彼此进行通信。

在一些示例中,存储器702可包括非暂态计算机可读介质,诸如高速随机存取存储器和/或非易失性计算机可读存储介质(例如,一个或多个磁盘存储设备、闪存存储器设备、或其他非易失性固态存储器设备)。

在一些示例中,I/O接口706可将数字助理系统700的输入/输出设备716诸如显示器、键盘、触摸屏和麦克风耦接至用户界面模块722。与用户界面模块722结合的I/O接口706可接收用户输入(例如,语音输入、键盘输入、触摸输入等)并相应地对这些输入进行处理。在一些示例中,例如当数字助理在独立式用户设备处实现时,数字助理系统700可包括分别相对于图2A、图4、图6A-图6B中的设备200、400或600所描述的部件和I/O通信接口中的任一者。在一些示例中,数字助理系统700可表示数字助理具体实施的服务器部分,并且可通过位于用户设备(例如,设备104、200、400或设备600)上的客户端侧部分来与用户进行交互。

在一些示例中,网络通信接口708可包括一个或多个有线通信端口712、和/或无线传输和接收电路714。一个或多个有线通信端口712可经由一个或多个有线接口例如以太网、通用串行总线(USB)、火线等来接收和发送通信信号。无线电路714可从通信网络以及其他通信设备接收RF信号和/或光学信号,并且将RF信号和/或光学信号传送至通信网络以及其他通信设备。无线通信可使用多种通信标准、协议和技术中的任一者,诸如GSM、EDGE、CDMA、TDMA、蓝牙、Wi-Fi、VoIP、Wi-MAX、或任何其他合适的通信协议。网络通信接口708可使得数字助理系统700通过网络诸如互联网、内联网和/或无线网络(诸如蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN))与其他设备之间的通信成为可能。

在一些示例中,存储器702或存储器702的计算机可读存储介质可存储程序、模块、指令和数据结构,包括以下内容中的全部或其子集:操作系统718、通信模块720、用户界面模块722、一个或多个应用724和数字助理模块726。具体地,存储器702或存储器702的计算机可读存储介质可存储用于执行下文描述的过程1200的指令。一个或多个处理器704可执行这些程序、模块和指令,并从数据结构读取数据或将数据写入到数据结构。

操作系统718(例如,Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS,或嵌入式操作系统诸如VxWorks)可包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电源管理等)的各种软件部件和/或驱动器,并且促进各种硬件、固件和软件部件之间的通信。

通信模块720可促进数字助理系统700与其他设备之间的通过网络通信接口708进行的通信。例如,通信模块720可与电子设备(诸如,分别在图2A、图4、图6A-图6B中示出的设备200、400和600)的RF电路208进行通信。通信模块720还可包括用于处理由无线电路714和/或有线通信端口712所接收的数据的各种部件。

用户界面模块722可经由I/O接口706来接收来自用户(例如,来自键盘、触摸屏、指向设备、控制器和/或麦克风)的命令和/或输入,并在显示器上生成用户界面对象。用户界面模块722还可准备输出(例如,语音、声音、动画、文本、图标、振动、触觉反馈、光照等)并将输出经由I/O接口706(例如,通过显示器、音频通道、扬声器、触控板等)递送给用户。

应用724可包括被配置为由一个或多个处理器704执行的程序和/或模块。例如,如果数字助理系统在独立式用户设备处实现,则应用724可包括用户应用,诸如游戏、日历应用、导航应用或电子邮件应用。如果数字助理系统700在服务器上实现,则应用724可包括例如资源管理应用、诊断应用或调度应用。

存储器702还可存储数字助理模块726(或数字助理的服务器部分)。在一些示例中,数字助理模块726可包括以下子模块或者其子集或超集:输入/输出处理模块728、语音转文本(STT)处理模块730、自然语言处理模块732、对话流处理模块734、任务流处理模块736、服务处理模块738和语音合成模块740。这些模块中的每个模块均可具有对以下数字助理模块726的系统或数据与模型中的一者或多者或者其子集或超集的访问权限:知识本体760、词汇索引744、用户数据748、任务流模型754、服务模型756和ASR系统731。

在一些示例中,使用在数字助理模块726中实现的处理模块、数据和模型,数字助理可执行以下中的至少一些:将语音输入转换成文本;识别在从用户接收的自然语言输入中表达的用户意图;主动引出并获得完全推断用户意图所需的信息(例如,通过消除字词、姓名、意图的歧义等);确定用于满足推断出的意图的任务流;以及执行该任务流以满足推断出的意图。

在一些示例中,如图7B中所示,I/O处理模块728可通过图7A中的I/O设备716与用户进行交互或通过图7A中的网络通信接口708与用户设备(例如,设备104、200、400或600)进行交互,以获取用户输入(例如,语音输入)并提供对用户输入的响应(例如,作为语音输出)。I/O处理模块728随同接收到用户输入一起或在接收到用户输入之后不久可任选地获取与来自用户设备的用户输入相关联的上下文信息。上下文信息可包括特定于用户的数据、词汇,和/或与用户输入相关的偏好。在一些示例中,该上下文信息还包括在接收到用户请求时的用户设备的软件状态和硬件状态,和/或在接收到用户请求时与用户的周围环境相关的信息。在一些示例中,I/O处理模块728还可将与用户请求有关的跟进问题发送至用户,并从用户接收回答。在用户请求被I/O处理模块728接收并且用户请求可包括语音输入时,I/O处理模块728可将语音输入转发至STT处理模块730(或语音识别器),以用于语音到文本转换。

STT处理模块730可包括一个或多个ASR系统。该一个或多个ASR系统可处理通过I/O处理模块728接收到的语音输入,以产生识别结果。每个ASR系统可包括前端语音预处理器。前端语音预处理器可从语音输入提取表示性特征部。例如,前端语音预处理器可对语音输入执行傅里叶变换,以提取表征语音输入的光谱特征部作为表示性多维向量的序列。此外,每个ASR系统可包括一个或多个语音识别模型(例如,声音模型和/或语言模型),并且可实现一个或多个语音识别引擎。语音识别模型的示例可包括隐马尔可夫模型、高斯混合模型、深层神经网络模型、n元语言模型以及其他统计模型。语音识别引擎的示例可包括基于动态时间规整的引擎和基于加权有限状态换能器(WFST)的引擎。一个或多个语音识别模型和一个或多个语音识别引擎可用于处理前端语音预处理器的所提取的表示性特征部,以产生中间识别结果(例如,音素、音素串和子字),并且最终产生文本识别结果(例如,字词、字词串或符号的序列)。在一些示例中,语音输入可至少部分地由第三方服务处理或在用户的设备(例如,设备104、200、400或600)上处理,以产生识别结果。一旦STT处理模块730产生包含文本串(例如,字词,或字词的序列,或符号的序列)的识别结果,识别结果便可被传送至自然语言处理模块732以用于意图推断。

有关语音转文本处理的更多细节在2011年9月20日提交的名称为“ConsolidatingSpeech Recognition Results”的美国实用新型专利申请No.13/236,942中有所描述,其全部公开内容以引用方式并入本文。

在一些示例中,STT处理模块730可包括可识别字词的词汇,和/或可经由语音字母表转换模块731来访问该词汇。每个词汇字词可与以语音识别语音字母表来表示的字词的一个或多个候选发音相关联。具体地,可识别字词的词汇可包括与多个候选发音相关联的字词。例如,该词汇可包括与的候选发音相关联的字词“tomato”。此外,词汇字词可与基于来自用户的先前语音输入的自定义候选发音相关联。此类自定义候选发音可被存储在STT处理模块730中,并且可经由设备上的用户配置文件而与特定用户相关联。在一些示例中,字词的候选发音可基于字词的拼写以及一个或多个语言学和/或语音学规则来确定。在一些示例中,候选发音可手动生成,例如基于已知的规范发音而手动生成。

在一些示例中,可基于候选发音的共同性来对候选发音进行排序。例如,候选语音的排名可高于因为前者是更常用的发音(例如,在所有用户中,对于特定地理区域的用户而言,或者对于任何其他合适的用户子集而言)。在一些示例中,可基于候选发音是否为与用户相关联的自定义候选发音来对候选发音进行排序。例如,自定义候选发音的排名可高于规范候选发音。这可用于识别具有偏离规范发音的独特发音的专有名词。在一些示例中,候选发音可与一个或多个语音特征,诸如地理起源、国籍或种族相关联。例如,候选发音可能与美国相关联,而候选发音可能与英国相关联。此外,候选发音的排名可基于被存储在设备上的用户配置文件中的用户的一个或多个特征(例如,地理起源、国籍、种族等)。例如,可从用户配置文件确定该用户与美国相关联。基于用户与美国相关联,可将候选发音(与美国相关联)排得比候选发音(与英国相关联)更高。在一些示例中,经排序的候选发音中的一个候选发音可被选作预测发音(例如,最可能的发音)。

当接收到语音输入时,STT处理模块730可用于(例如,使用声音模型)确定对应于该语音输入的音素,并且然后尝试(例如,使用语言模型)确定匹配该音素的字词。例如,如果STT处理模块730可首先识别与该语音输入的一部分对应的音素序列则其随后可基于词汇索引744来确定该序列对应于字词“tomato”。

在一些示例中,STT处理模块730可使用模糊匹配技术来确定语音输入中的字词。因此,例如,STT处理模块730可确定音素序列对应于字词“tomato”,即使该特定音素序列不是该字词的候选音素序列。

数字助理的自然语言处理模块732(“自然语言处理器”)可获取由STT处理模块730生成的字词或符号的序列(“符号序列”),并尝试将该符号序列与由数字助理所识别的一个或多个“可执行意图”相关联。“可执行意图”可表示可由数字助理执行并且可具有在任务流模型754中实现的相关联的任务流的任务。相关联任务流可以是数字助理为了执行任务而采取的一系列经编程的动作和步骤。数字助理的能力范围可取决于已在任务流模型754中实施并存储的任务流的数量和种类,或换句话讲,取决于数字助理所识别的“可执行意图”的数量和种类。然而,数字助理的有效性还可取决于助理从以自然语言表达的用户请求中推断出正确的“一个或多个可执行意图”的能力。

在一些示例中,除了从STT处理模块730获取的字词或符号的序列之外,自然语言处理模块732还可(例如,从I/O处理模块728)接收与用户请求相关联的上下文信息。自然语言处理模块732可任选地使用上下文信息来明确、补充和/或进一步限定被包含在从STT处理模块730接收的符号序列中的信息。上下文信息可包括例如:用户偏好、用户设备的硬件和/或软件状态、在用户请求之前、期间或之后不久收集的传感器信息、数字助理与用户之间的先前交互(例如,对话)等。如本文所述,上下文信息可以是动态的,并且可随对话的时间、位置、内容以及其他因素而变化。

在一些示例中,自然语言处理可基于例如知识本体760。知识本体760可以是包含许多节点的分级结构,每个节点表示“可执行意图”或与“可执行意图”或其他“属性”中的一者或多者相关的“属性”。如上所述,“可执行意图”可表示数字助理能够执行的任务,即该任务为“可执行的”或可被进行的。“属性”可表示与可执行意图或另一属性的子方面相关联的参数。知识本体760中的可执行意图节点与属性节点之间的链接可定义由属性节点表示的参数如何与由可执行意图节点表示的任务相关。

在一些示例中,知识本体760可由可执行意图节点和属性节点组成。在知识本体760内,每个可执行意图节点可直接链接至或通过一个或多个中间属性节点链接至一个或多个属性节点。类似地,每个属性节点可直接链接至或通过一个或多个中间属性节点链接至一个或多个可执行意图节点。例如,如图7C所示,知识本体760可包括“餐厅预订”节点(即,可执行意图节点)。属性节点“餐厅”、“日期/时间”(针对预订)和“派对人数”各自可直接链接至可执行意图节点(即,“餐厅预订”节点)。

此外,属性节点“菜系”、“价格区间”、“电话号码”和“位置”可以是属性节点“餐厅”的子节点,并且各自可通过中间属性节点“餐厅”而被链接至“餐厅预订”节点(即,可执行意图节点)。又如,如图7C所示,知识本体760还可包括“设定提醒”节点(即,另一可执行意图节点)。属性节点“日期/时间”(针对设定提醒)和“主题”(针对提醒)各自可链接至“设定提醒”节点。由于属性“日期/时间”可与进行餐厅预订的任务和设定提醒的任务两者相关,因此属性节点“日期/时间”可链接至知识本体760中的“餐厅预订”节点和“设定提醒”节点两者。

可执行意图节点连同其链接的概念节点一起可被描述为“域”。在本论述中,每个域可与相应的可执行意图相关联,并涉及与特定可执行意图相关联的一组节点(以及这些节点之间的关系)。例如,图7C中示出的知识本体760可包括知识本体760内的餐厅预订域762的示例以及提醒域764的示例。餐厅预订域包括可执行意图节点“餐厅预订”、属性节点“餐厅”、“日期/时间”和“派对人数”以及子属性节点“菜系”、“价格范围”、“电话号码”和“位置”。提醒域764可包括可执行意图节点“设置提醒”以及属性节点“主题”和“日期/时间”。在一些示例中,知识本体760可由多个域组成。每个域可与一个或多个其他域共享一个或多个属性节点。例如,除了餐厅预订域762和提醒域764之外,“日期/时间”属性节点还可与许多不同域(例如,时间表域、旅行预订域、电影票域等)相关联。

尽管图7C示出了知识本体760内的两个示例域,但其他域可包括例如“查找电影”、“发起电话呼叫”、“查找方向”、“安排会议”、“发送消息”以及“提供问题的回答”、“阅读列表”、“提供导航指令”、“提供针对任务的指令”等。“发送消息”域可与“发送消息”可执行意图节点相关联,并且还可包括属性节点诸如“一个或多个接收人”、“消息类型”和“消息正文”。属性节点“接收人”可进一步例如由子属性节点诸如“接收人名称”和“消息地址”来限定。

在一些示例中,知识本体760可包括数字助理能够理解并对其起作用的所有域(以及因此可执行的意图)。在一些示例中,知识本体760可诸如通过添加或移除整个域或节点,或者通过修改知识本体760内的节点之间的关系来进行修改。

在一些示例中,可将与多个相关可执行意图相关联的节点群集在知识本体760中的“超级域”下。例如,“旅行”超级域可包括与旅行有关的属性节点和可执行意图节点的群集。与旅行有关的可执行意图节点可包括“航班预订”、“酒店预订”、“汽车租赁”、“路线规划”、“寻找兴趣点”等等。同一超级域(例如,“旅行”超级域)下的可执行意图节点可具有多个共用的属性节点。例如,针对“机票预订”、“酒店预订”、“汽车租赁”、“路线规划”和“寻找兴趣点”的可执行意图节点可共享属性节点“起始位置”、“目的地”、“出发日期/时间”、“到达日期/时间”和“派对人数”中的一者或多者。

在一些示例中,知识本体760中的每个节点可与和由节点表示的属性或可执行意图有关的一组字词和/或短语相关联。与每个节点相关联的相应组的字词和/或短语可是所谓的与节点相关联的“词汇”。可将与每个节点相关联的相应组的字词和/或短语存储在与由节点所表示的属性或可执行意图相关联的词汇索引744中。例如,返回图7B,与“餐厅”属性的节点相关联的词汇可包括字词诸如“美食”、“酒水”、“菜系”、“饥饿”、“吃”、“披萨”、“快餐”、“膳食”等。又如,与“发起电话呼叫”可执行意图的节点相关联的词汇可包括字词和短语,诸如“呼叫”、“打电话”、“拨打”、“与……通电话”、“呼叫该号码”、“打电话给”等。词汇索引744可任选地包括不同语言的字词和短语。

自然语言处理模块732可从STT处理模块730接收符号序列(例如,文本串),并确定符号序列中的字词牵涉哪些节点。在一些示例中,如果发现符号序列中的字词或短语(经由词汇索引744)与知识本体760中的一个或多个节点相关联,则该字词或短语可“触发”或“激活”这些节点。基于已激活节点的数量和/或相对重要性,自然语言处理模块732可选择可执行意图中的一个可执行意图作为用户意图使数字助理执行的任务。在一些示例中,可选择具有最多“已触发”节点的域。在一些示例中,可选择具有最高置信度值(例如,基于其各种已触发节点的相对重要性)的域。在一些示例中,可基于已触发节点的数量和重要性的组合来选择域。在一些示例中,在选择节点的过程中还考虑附加因素,诸如数字助理先前是否已正确解译来自用户的类似请求。

用户数据748可包括特定于用户的信息,诸如特定于用户的词汇、用户偏好、用户地址、用户的默认语言和第二语言、用户的联系人列表、以及每位用户的其他短期或长期信息。在一些示例中,自然语言处理模块732可使用特定于用户的信息来补充用户输入中所包含的信息,以进一步限定用户意图。例如,针对用户请求“邀请我的朋友参加我的生日聚会”,自然语言处理模块732可能够访问用户数据748以确定“朋友”是哪些人以及“生日聚会”将于何时何地举行,而无需用户在其请求中明确地提供此类信息。

基于符号串搜索知识本体的其他细节在2008年12月22日提交的名称为“Methodand Apparatus for Searching Using An Active Ontology”的美国实用新型专利申请No.12/341,743中有所描述,其全部公开内容以引用方式并入本文。

在一些示例中,一旦自然语言处理模块732基于用户请求而识别出可执行意图(或域),自然语言处理模块732便可生成结构化查询,以表示所识别的可执行意图。在一些示例中,结构化查询可包括针对可执行意图的域内的一个或多个节点的参数,并且该参数中的至少一些参数填充有在用户请求中指定的特定信息和要求。例如,用户可以说“帮我在寿司店预订晚上7点的座位。”在这种情况下,自然语言处理模块732可能够基于用户输入将可执行意图正确地识别为“餐厅预订”。根据知识本体,“餐厅预订”域的结构化查询可包括参数诸如{菜系}、{时间}、{日期}、{派对人数}等。在一些示例中,基于语音输入和使用STT处理模块730从语音输入得出的文本,自然语言处理模块732可针对餐厅预订域生成部分结构化查询,其中部分结构化查询包括参数{菜系=“寿司类”}以及{时间=“晚上7点”}。然而,在该示例中,用户的语音输入包含不足以完成与域相关联的结构化查询的信息。因此,基于当前可用的信息,在结构化查询中可能未指定其他必要的参数,诸如{派对人数}和{日期}。在一些示例中,自然语言处理模块732可利用所接收的上下文信息来填充结构化查询的一些参数。例如,在一些示例中,如果用户请求了“附近的”寿司店,自然语言处理模块732可利用来自用户设备的GPS坐标来填充结构化查询中的{位置}参数。

在一些示例中,自然语言处理模块732可将所生成的结构化查询(包括任何已完成的参数)传送至任务流处理模块736(“任务流处理器”)。任务流处理模块736可被配置为接收来自自然语言处理模块732的结构化查询,(必要时)完成结构化查询,并且执行“完成”用户最终请求所需的动作。在一些示例中,完成这些任务所必需的各种过程可在任务流模型754中提供。在一些示例中,任务流模型754可包括用于获取来自用户的附加信息的过程,以及用于执行与可执行意图相关联的动作的任务流。

如上所述,为了完成结构化查询,任务流处理模块736可能需要发起与用户的附加对话,以便获得附加信息和/或弄清可能有歧义的语音输入。当有必要进行此类交互时,任务流处理模块736可调用对话流处理模块734以参与同用户的对话。在一些示例中,对话流处理模块734可确定如何(和/或何时)向用户请求附加信息,并且接收和处理用户响应。该问题可通过I/O处理模块728而被提供至用户并可从用户接收回答。在一些示例中,对话流处理模块734可经由音频和/或视觉输出来向用户呈现对话输出,并接收经由语音或物理(例如,点击)响应的来自用户的输入。继续上述示例,当任务流处理模块736调用对话流处理模块734来确定针对与域“餐厅预订”相关联的结构化查询的“派对人数”和“日期”信息时,对话流处理模块734可生成问题诸如“一行几位?”和“预订哪天?”以传递给用户。一旦从用户接收到回答,对话流处理模块734便可利用缺失信息填充结构化查询,或将信息传递给任务流处理模块736以根据结构化查询来完成缺失信息。

一旦任务流处理模块736已针对可执行意图完成结构化查询,任务流处理模块736便可着手执行与可执行意图相关联的最终任务。因此,任务流处理模块736可根据包含在结构化查询中的特定参数来执行任务流模型中的步骤和指令。例如,针对可执行意图“餐厅预订”的任务流模型可包括用于联系餐厅并在特定时间实际上请求针对特定派对人数的预订的步骤和指令。例如,使用如下结构化查询:{餐厅预订,餐厅=ABC咖啡厅,日期=2012年3月12日,时间=下午7点,派对人数=5},任务流处理模块736可执行以下步骤:(1)登录到ABC咖啡厅的服务器或餐厅预订系统,诸如(2)在该网站的某个表单中输入日期、时间和派对人数信息;(3)提交表单;以及(4)在用户的日历中为预订制作日历条目。

在一些示例中,任务流处理模块736可利用服务处理模块738(“服务处理模块”)的协助完成用户输入中所请求的任务或者提供用户输入中所请求的信息性回答。例如,服务处理模块738可代表任务流处理模块736来发起电话呼叫、设置日历条目、调用地图搜索、调用用户设备上安装的其他用户应用或与该其他应用进行交互、以及调用第三方服务(例如,餐厅预订门户网站、社交网站、银行门户网站等),或与第三方服务进行交互。在一些示例中,可通过服务模型756中的相应服务模型来指定每项服务所需的协议和应用编程接口(API)。服务处理模块738可针对服务来访问适当的服务模型,并依据服务模型根据该服务所需的协议和API来生成针对该服务的请求。

例如,如果餐厅已启用在线预订服务,则餐厅可提交服务模型,该服务模型指定进行预订的必要参数以及将必要参数的值传送至在线预订服务的API。在被任务流处理模块736请求时,服务处理模块738可使用被存储在服务模型中的Web地址来建立与在线预订服务的网络连接,并将预订的必要参数(例如,时间、日期、派对人数)以符合在线预订服务的API的格式发送至在线预订界面。

在一些示例中,自然语言处理模块732、对话处理模块734以及任务流处理模块736可被共同且反复地使用,以推断并限定用户的意图、获得信息,以进一步明确并细化用户意图并最终生成响应(即,输出至用户或完成任务)以满足用户的意图。所生成的响应可以是对语音输入的至少部分地满足用户的意图的对话响应。此外,在一些示例中,所生成的响应可被输出为语音输出。在这些示例中,所生成的响应可被发送到语音合成模块740(例如,语音合成器),在语音合成模块中,可处理所生成的响应以将对话响应以语音形式合成。在其他示例中,所生成的响应可以是与满足语音输入中的用户请求相关的数据内容。

语音合成模块740可被配置为合成语音输出以呈现给用户。语音合成模块740基于数字助理提供的文本来合成语音输出。例如,所生成的对话响应可为文本串的形式。语音合成模块740可将文本串转换成可听语音输出。语音合成模块740可使用任何合适的语音合成技术,以便从文本生成语音输出,包括但不限于:拼接合成、单位选择合成、双音素合成、特定于域的合成、共振峰合成、发音合成、基于隐马尔可夫模型(HMM)的合成,以及正弦波合成。在一些示例中,语音合成模块740可被配置为基于与这些字词对应的音素串来合成各个字词。例如,音素串可与所生成的对话响应中的字词相关联。音素串可被存储在与字词相关联的元数据中。语音合成模型740可被配置为直接处理元数据中的音素串,以合成语音形式的字词。

在一些示例中,替代使用语音合成模块740(或除此之外),可在远程设备(例如,服务器系统108)上执行语音合成,并且可将合成的语音发送至用户设备以输出给用户。例如,这可发生在一些具体实施中,其中在服务器系统处生成数字助理的输出。并且因为服务器系统通常比用户设备具有更强的处理能力或更多的资源,所以有可能获得比客户端侧合成将实现的质量更高的语音输出。

有关数字助理的其他详情可在2011年1月10日提交的名称为“IntelligentAutomated Assistant”的美国实用新型专利申请No.12/987,982和2011年9月30日提交的名称为“Generating and Processing Task Items That Represent Tasks to Perform”的美国实用新型专利申请No.13/251,088中找到,其全部公开内容以引用方式并入本文。

4.数字助理的示例性功能——智能搜索和对象管理

图8A-图8F、图9A-图9H、图10A-图10B、图11A-图11D、图12A-图12D和图13A-图13C示出了通过数字助理使用搜索过程或对象管理过程来执行任务的功能。在一些示例中,数字助理系统(例如,数字助理系统700)由用户设备根据各种示例来实现。在一些示例中,用户设备、服务器(例如,服务器108)或它们的组合可实现数字助理系统(例如,数字助理系统700)。例如,可使用设备104、200或400来实现用户设备。在一些示例中,用户设备是膝上型计算机、台式计算机或平板电脑。用户设备可在多任务环境中操作,诸如台式计算机环境。

参考图8A-图8F、图9A-图9H、图10A-图10B、图11A-图11D、图12A-图12D和图13A-图13C,在一些示例中,用户设备提供各种用户界面(例如,用户界面810、910、1010、1110、1210和1310)。用户设备在与用户设备相关联的显示器(例如,触敏显示器系统212、显示器440)上显示各种用户界面。各种用户界面提供表示不同过程的一个或多个示能表示(例如,表示搜索过程的示能表示820、920、1020、1120、1220和1320;以及表示对象管理过程的示能表示830、930、1030、1130、1230和1330)。一个或多个过程可以由用户直接或间接地实例化。例如,用户通过使用诸如键盘、鼠标、操纵杆、手指等输入设备选择示能表示来实例化一个或多个过程。用户还可使用语音输入来实例化一个或多个过程,如下文更详细所述。实例化过程包括调用尚未执行的过程。如果过程的至少一个实例正在执行,则实例化过程包括执行该过程的现有实例或生成该过程的新实例。例如,实例化对象管理过程包括调用对象管理过程,使用现有对象管理过程或生成对象管理过程的新实例。

如图8A-图8F、图9A-图9H、图10A-图10B、图11A-图11D、图12A-图12D和图13A-图13C所示,用户设备在用户界面(例如,用户界面810、910、1010、1110、1210和1310)上显示示能表示(例如,示能表示840、940、1040、1140、1240和1340),以实例化数字助理服务。例如,示能表示可以是表示数字助理的麦克风图标。示能表示可在用户界面上的任何位置显示。例如,示能表示可在用户界面底部的任务栏(例如,任务栏808、908、1008、1108、1208和1308)上、用户界面顶部的菜单栏(例如,菜单栏806、906、1006、1106、1206和1306)上以及用户界面右侧的通知中心中显示。示能表示还可以在用户界面上动态显示。例如,用户设备在应用用户界面(例如,应用窗口)附近显示示能表示,使得能够方便实例化数字助理服务。

在一些示例中,响应于接收到预先确定的短语来实例化数字助理。例如,响应于接收到诸如“嘿,助理”、“唤醒,助理”、“收听,助理”、“确定,助理”等短语来调用数字助理。在一些示例中,响应于接收到对示能表示的选择来实例化数字助理。例如,用户使用诸如鼠标、触笔、手指等输入设备来选择示能表示840、940、1040、1140、1240和/或1340。在用户设备上提供数字助理会消耗计算资源(例如,电力、网络带宽、存储器和处理器周期)。在一些示例中,数字助理被暂停或关闭,直至用户调用该数字助理。在一些示例中,数字助理在各种时间段内都处于活动状态。例如,在显示各种用户界面、用户设备打开、用户设备进入休眠或睡眠状态、用户注销或发生这些情况的组合期间,数字助理可激活并监测用户的语音输入。

参考图8A-图8F、图9A-图9H、图10A-图10B、图11A-图11D、图12A-图12D和图13A-图13C,数字助理从用户处接收到一个或多个语音输入,诸如语音输入852、854、855、856、952、954、1052、1054、1152、1252或1352。用户提供各种语音输入,例如用于使用搜索过程或对象管理过程执行任务的目的。在一些示例中,数字助理直接在用户设备处从用户接收语音输入,或者通过可通信地连接到用户设备的另一电子设备间接接收语音输入。数字助理例如通过用户设备的麦克风(例如麦克风213)直接从用户接收语音输入。用户设备包括被配置为在多任务环境中操作的设备,诸如膝上型计算机、台式计算机、平板电脑、服务器等。数字助理还可通过诸如耳机、智能电话、平板电脑等一个或多个电子设备间接接收语音输入。例如,用户可对着头戴式耳机(未示出)讲话。该头戴式耳机接收来自用户的语音输入,并且经由例如耳机与用户设备之间的蓝牙连接将语音输入或其表示传输给用户设备的数字助理。

参考图8A-图8F、图9A-图9H、图10A-图10B、图11A-图11D、图12A-图12D和图13A-图13C,在一些实施方案中,数字助理(例如,由示能表示840、940、1040、1140、1240和1340表示的)识别与用户设备相关联的上下文信息。上下文信息包括例如特定于用户的数据、与一个或多个对象相关联的元数据、传感器数据和用户设备配置数据。对象可以是与执行任务或当前显示在屏幕上的图形元素相关联的过程(例如,对象管理过程)的目标或部件,并且对象或图形元素可能具有或目前可能没有焦点(例如,当前选择的)。例如,对象可包括文件(例如,照片、文档)、文件夹、通信应用(例如,电子邮件、消息、通知或语音邮件)、联系人、日历、应用、在线资源等。在一些示例中,特定于用户的数据包括日志信息、用户偏好、用户与用户设备的交互的历史记录等。日志信息指示过程中最近使用的对象(例如,展示文件)。在一些示例中,与一个或多个对象相关联的元数据包括对象的标题、对象的时间信息、对象的作者、对象的摘要等。在一些示例中,传感器数据包括由与用户设备相关联的传感器收集的各种数据。例如,传感器数据包括指示用户设备的物理位置的位置数据。在一些示例中,用户设备配置数据包括当前设备配置。例如,设备配置指示用户设备可通信地连接到诸如智能电话、平板电脑等一个或多个电子设备。如下文更详细所述,用户设备可以使用上下文信息来执行一个或多个过程。

参考图8A-图8F、图9A-图9H、图10A-图10B、图11A-图11D、图12A-图12D和图13A-图13C,响应于接收到语音输入,数字助理基于语音输入来确定用户意图。如上所述,在一些示例中,数字助理通过I/O处理模块(例如,图7B中所示的I/O处理模块728)、STT处理模块(例如,图7B中所示的STT处理模块730)和自然语言处理模块(例如,图7B中所示的自然语言处理模块732)处理语音输入。I/O处理模块将语音输入转发给STT处理模块(或语音识别器)以进行语音到文本转换。语音到文本转换基于语音输入来生成文本。如上所述,STT处理模块生成字词或符号的序列(“符号序列”),并且向自然语言处理模块提供符号序列。自然语言处理模块对文本执行自然语言处理,并基于自然语言处理的结果确定用户意图。例如,自然语言处理模块可尝试将符号序列与数字助理识别的一个或多个可执行意图相关联。如前所述,一旦自然语言处理模块基于用户输入识别了可执行意图,它就会生成结构化查询以表示所识别的可执行意图。结构化查询包括与可执行意图相关联的一个或多个参数。该一个或多个参数用于基于可执行意图来促进执行任务。

在一些实施方案中,数字助理进一步确定用户意图是使用搜索过程还是对象管理过程来执行任务。搜索过程被配置为搜索存储在用户设备内部或外部的数据。对象管理过程被配置为管理与用户设备相关联的对象。相对于图8A-图8F、图9A-图9H、图10A-图10B、图11A-图11D、图12A-图12D和图13A-图13C,下文更详细地提供了确定用户意图的各种示例。

参考图8A,在一些示例中,用户设备从用户接收语音输入852以实例化数字助理。例如,语音输入852包括“嘿,助理”。响应于语音输入,用户设备实例化由示能表示840或841所表示的数字助理,使得数字助理主动监测后续语音输入。在一些示例中,数字助理提供指示其已实例化的口语输出872。例如,口语输出872包括“开始吧,我正在收听”。在一些示例中,用户设备从用户接收对示能表示840或示能表示841的选择以实例化数字助理。通过使用诸如鼠标、触笔、手指等输入设备来执行示能表示的选择。

参考图8B,在一些示例中,数字助理接收语音输入854。例如,语音输入854包括“打开搜索过程,并查找今天的AAPL股票价格”,或简单地“向我显示今天的AAPL股票价格”。基于语音输入854,数字助理确定用户意图。例如,为了确定用户意图,数字助理确定可执行意图是获取在线信息,并且与该可执行意图相关联的一个或多个参数包括“AAPL股票价格”和“今天”。

如前所述,在一些示例中,数字助理进一步确定用户意图是使用搜索过程还是对象管理过程来执行任务。在一些实施方案中,为了作出决定,数字助理确定语音输入是否包括表示搜索过程或对象管理过程的一个或多个关键字。例如,数字助理确定语音输入854包括诸如“打开搜索过程”的关键字或短语,指示用户意图是使用搜索过程执行任务。因此,数字助理确定用户意图是使用搜索过程执行任务。

如图8B所示,根据确定用户意图是使用搜索过程来执行任务,数字助理使用搜索过程来执行任务。如前所述,数字助理的自然语言处理模块基于用户意图生成结构化查询,并且将生成的结构化查询传递给任务流处理模块(例如,任务流处理模块736)。任务流处理模块接收来自自然语言处理模块的结构化查询,必要时完成结构化查询,并执行“完成”用户的最终请求所需的动作。例如,使用搜索过程来执行任务包括例如搜索至少一个对象。在一些实施方案中,至少一个对象包括文件夹、文件(例如,照片、音频、视频),通信应用(例如,电子邮件、消息、通知、语音邮件)、联系人、日历、应用(例如,Keynote、Number、iTunes、Safari)、在线信息源(例如,谷歌、雅虎、彭博)或它们的组合。在一些示例中,搜索对象基于与该对象相关联的元数据。例如,搜索文件或文件夹可以使用元数据,诸如标记、日期、时间、作者、标题、文件类型、大小、页数和/或与该文件夹或文件相关联的文件位置。在一些示例中,文件或文件夹存储在用户设备内部或外部。例如,文件或文件夹可能存储在用户设备的硬盘上或存储在云服务器上。在一些示例中,搜索通信应用基于与该通信应用相关联的元数据。例如,搜索电子邮件使用元数据,诸如电子邮件的发送者、电子邮件的接收者、电子邮件的发送/接收日期等。

如图8B所示,根据确定用户意图是使用搜索过程获取AAPL股票价格,数字助理执行搜索。例如,数字助理实例化由示能表示820表示的搜索过程,并且使得搜索过程搜索今天的AAPL股票价格。在一些示例中,数字助理进一步使得搜索过程显示用户界面822(例如,片段或窗口),该用户界面提供对应于语音输入854的文本(例如,“打开搜索过程并查找今天的AAPL股票价格”)。

参考图8C,在一些实施方案中,数字助理基于使用搜索过程执行任务的结果提供响应。如图8C所示,作为搜索AAPL股票价格的结果,数字助理显示用户界面824(例如,片段或窗口),该用户界面提供使用搜索过程执行该任务的结果。在一些实施方案中,用户界面824位于用户界面822内,作为单独的用户界面。在一些实施方案中,用户界面824和822作为单个用户界面被集成在一起。在用户界面824上,显示AAPL股票价格的搜索结果。在一些实施方案中,用户界面824进一步提供示能表示831和833。示能表示831使得能够关闭用户界面824。例如,如果数字助理接收到用户选择示能表示831,则用户界面824从用户设备的显示器消失或关闭。示能表示833使得能够移动或共享在用户界面824上显示的搜索结果。例如,如果数字助理接收到用户选择示能表示833,它会实例化过程(例如,对象管理过程),以移动或与通知应用共享用户界面824(或其搜索结果)。如图8C所示,数字助理显示与通知应用相关联的用户界面826,以提供AAPL股票价格的搜索结果。在一些实施方案中,用户界面826显示示能表示827。示能表示827使得能够在用户界面826内滚动,使得用户可在用户界面826内查看整个内容(例如,多个通知)和/或指示文档相对于其整个长度和/或宽度的相对位置。在一些实施方案中,用户界面826显示由数字助理存储的结果和/或对话历史记录(例如,从当前和/或过去的搜索过程获得的搜索结果)。此外,在一些示例中,执行任务的结果随着时间推移而动态地更新。例如,AAPL股票价格可随时间推移动态地更新,并显示在用户界面826上。

在一些实施方案中,数字助理还提供对应于搜索结果的口语输出。例如,数字助理(例如,由示能表示840表示的数字助理)提供口语输出874,包括“今天的AAPL价格为100.00美元”。在一些示例中,用户界面822包括对应于口语输出874的文本。

参考图8D,在一些示例中,数字助理实例化过程(例如,对象管理过程),以响应于后续语音输入来移动或共享在用户界面824上显示的搜索结果。例如,数字助理接收到语音输入855,诸如“将AAPL股票价格复制到我的记事本”。作为响应,数字助理实例化过程以将搜索结果(例如AAPL股票价格)移动或复制到用户的记事本。如图8D所示,在一些示例中,数字助理进一步显示用户界面825,该用户界面提供复制或移动到用户记事本中的搜索结果。在一些示例中,数字助理进一步提供口语输出875,诸如“确定,AAPL股票价格已被复制到您的记事本”。在一些示例中,用户界面822包括对应于口语输出875的文本。

参考图8E,在一些示例中,数字助理确定用户意图是使用对象管理过程执行任务,然后使用对象管理过程来执行任务。例如,数字助理接收语音输入856,诸如“打开对象管理过程并向我展示来自我的科罗拉多之旅的所有照片”,或者只是“向我展示来自我的科罗拉多之旅的所有照片”。基于语音输入856和上下文信息,数字助理确定用户意图。例如,数字助理确定可执行意图是显示照片并确定一个或多个参数,诸如“所有”和“科罗拉多之旅”。数字助理进一步使用上下文信息确定哪些照片对应于用户的科罗拉多之旅。如前所述,上下文信息包括特定于用户的数据、一个或多个对象的元数据、传感器数据和/或设备配置数据。例如,与一个或多个文件(例如,在用户界面832中显示的文件1、文件2和文件3)相关联的元数据指示文件名包括字词“科罗拉多”或科罗拉多的城市名称(例如,“丹佛”)。元数据还可指示文件夹名称包括字词“科罗拉多”或科罗拉多的城市名称(例如,“丹佛”)。作为另一个示例,传感器数据(例如,GPS数据)指示用户在一定时间段期间在科罗拉多旅行。因此,用户在该特定时间段期间拍摄的任何照片都是用户在科罗拉多之旅期间拍摄的照片。同样,照片本身可包括将照片与拍摄地相关联的地理标记元数据。例如,基于上下文信息,数字助理确定用户意图是显示存储在文件夹名称为“科罗拉多之旅”的文件夹中的照片,或显示用户在科罗拉多旅行的时间段期间拍摄的照片。

如前所述,在一些示例中,数字助理确定用户意图是使用搜索过程还是对象管理过程来执行任务。为了作出此类确定,数字助理会确定语音输入是否包括表示搜索过程或对象管理过程的一个或多个关键字。例如,数字助理确定语音输入856包括诸如“打开对象管理过程”的关键字或短语,指示用户意图是使用对象管理过程执行任务。

根据确定用户意图是使用对象管理过程执行任务,数字助理使用对象管理过程执行任务。例如,数字助理使用对象管理过程搜索至少一个对象。在一些示例中,至少一个对象包括文件夹或文件中的至少一者。文件可包括照片、音频(例如,歌曲)或视频(例如,电影)中的至少一者。在一些示例中,搜索文件或文件夹基于与该文件夹或文件相关联的元数据。例如,搜索文件或文件夹使用元数据,诸如标记、日期、时间、作者、标题、文件类型、大小、页数和/或与该文件夹或文件相关联的文件位置。在一些示例中,文件或文件夹可能存储在用户设备内部或外部。例如,文件或文件夹可能存储在用户设备的硬盘上或存储在云服务器上。

如图8E所示,例如,根据确定用户意图是显示存储在文件夹名称为“科罗拉多之旅”的文件夹中的照片,或显示用户在科罗拉多旅行的时间段期间拍摄的照片,数字助理使用对象管理过程执行任务。例如,数字助理实例化由示能表示830表示的对象管理过程,并且使得对象管理过程从用户的科罗拉多之旅中搜索照片。在一些示例中,数字助理还使得对象管理过程显示提供用户的语音输入856的文本的片段或窗口(未示出)。

参考图8F,在一些实施方案中,数字助理进一步基于使用对象管理过程执行任务的结果来提供响应。如图8F所示,作为搜索用户的科罗拉多之旅照片的结果,数字助理显示用户界面834(例如,片段或窗口),该用户界面提供使用对象管理过程执行该任务的结果。例如,在用户界面834上,显示照片的预览。在一些示例中,数字助理实例化过程(例如,对象管理过程)以对照片执行额外的任务,诸如将照片插入文档或将照片附接到电子邮件。如下文更详细所述,数字助理可实例化过程,以响应于用户的附加语音输入执行额外的任务。同样,数字助理可响应于单个语音输入执行多项任务,诸如“通过电子邮件将我的科罗拉多之旅的照片发送给我的妈妈”。数字助理还可实例化过程,以响应于用户使用输入设备提供的输入(例如,通过鼠标输入选择一个或多个示能表示或执行拖放操作)执行此类附加的任务。在一些实施方案中,数字助理进一步提供对应于结果的口语输出。例如,数字助理提供口语输出876,包括“这些是您科罗拉多之旅的照片”。

参考图9A,在一些示例中,用户的语音输入可能不包括指示用户意图是使用搜索过程还是对象管理过程的一个或多个关键字。例如,用户提供语音输入952,诸如“勇士队今天的比赛得分是多少?”语音输入952不包括指示“搜索过程”或“对象管理过程”的关键字。因此,数字助理可能无法使用关键字确定用户意图是使用搜索过程还是对象管理过程来执行任务。

在一些实施方案中,为了确定用户意图是使用搜索过程还是对象管理过程来执行任务,数字助理基于语音输入确定任务是否与搜索相关联。在一些示例中,与搜索相关联的任务可通过搜索过程或对象管理过程执行。例如,搜索过程和对象管理过程都可以搜索文件夹和文件。在一些示例中,搜索过程可进一步搜索各种对象,包括在线信息源(例如,网站)、通信(例如,电子邮件)、联系人、日历等。在一些示例中,对象管理过程可能未被配置为搜索诸如在线信息源的某些对象。

根据确定任务与搜索相关联,数字助理进一步确定执行任务是否需要搜索过程。如前所述,如果任务与搜索相关联,则搜索过程或对象管理过程可用于执行任务。然而,对象管理过程可能未被配置为搜索某些对象。因此,为了确定用户意图是使用搜索过程还是对象管理过程,数字助理进一步确定任务是否需要搜索过程。例如,如图9A所示,基于语音输入952,例如,数字助理确定用户意图是获得勇士队今天的比赛得分。根据用户意图,数字助理进一步确定执行任务需要搜索在线信息源,因此任务与搜索相关联。数字助理进一步确定执行任务是否需要搜索过程。如前所述,在一些示例中,搜索过程被配置为搜索在线信息源诸如网站,而对象管理过程可能未被配置为搜索此类在线信息源。因此,数字助理确定搜索在线信息源(例如,搜索勇士队网站以获得得分)需要搜索过程。

参考图9B,在一些实施方案中,根据确定执行任务需要搜索过程,数字助理使用搜索过程来执行任务。例如,根据确定搜索勇士队今天的比赛得分需要搜索过程,数字助理实例化由示能表示920所表示的搜索过程,并且使搜索过程搜索勇士队今天的比赛得分。在一些示例中,数字助理进一步使搜索过程显示用户界面922(例如,片段或窗口),该用户界面中提供用户语音输入952的文本(例如,“勇士队今天的比赛得分是多少?”)。用户界面922包括一个或多个示能表示921和927。类似于上文所述,示能表示921(例如,关闭按钮)使得能够关闭用户界面922和示能表示927(例如,滚动条),使得能够在用户界面922内滚动,使得用户可在用户界面922内查看整个内容。

参考图9B,在一些示例中,基于搜索结果,数字助理进一步提供一个或多个响应。如图9B所示,作为搜索勇士队今天的比赛得分的结果,数字助理显示用户界面924(例如,片段或窗口),该用户界面提供使用搜索过程执行任务的结果。在一些实施方案中,用户界面924位于用户界面922内,作为单独的用户界面。在一些实施方案中,用户界面924和922作为单个用户界面被集成在一起。在一些示例中,数字助理显示提供当前搜索结果(例如,勇士队比赛得分)的用户界面924以及提供先前搜索结果(例如,AAPL股票价格)的另一用户界面(例如,图8C中所示的用户界面824)。在一些实施方案中,数字助理仅显示提供当前搜索结果的用户界面924,不显示提供先前搜索结果的另一用户界面。如图9B所示,数字助理仅显示用户界面924以提供当前搜索结果(例如,勇士队比赛得分)。在一些示例中,示能表示927(例如,滚动条)使得能够在用户界面922内滚动,使得用户可查看先前的搜索结果。此外,在一些示例中,先前的搜索结果(例如股票价格、体育赛事得分、天气预报等)随时间推移动态地更新或刷新。

如图9B所示,在用户界面924上,显示勇士队今天的比赛得分的搜索结果(例如,勇士队104-89骑士队)。在一些实施方案中,用户界面924进一步提供示能表示923和925。示能表示923使得能够关闭用户界面924。例如,如果数字助理接收到示能表示923的用户选择,则用户界面924从用户设备的显示器消失或关闭。示能表示925使得能够移动或共享在用户界面924上显示的搜索结果。例如,如果数字助理接收到用户选择示能表示925,它会移动或与通知应用共享用户界面924(或其搜索结果)。如图9B所示,数字助理显示与通知应用相关联的用户界面926,以提供勇士队比赛得分的搜索结果。如前所述,执行任务的结果随着时间推移动态地更新。例如,勇士队比赛得分可随时间推移动态地更新,同时比赛持续进行并显示在用户界面924(例如,片段或窗口)和/或用户界面926(例如,通知应用用户界面)上。在一些实施方案中,数字助理进一步提供对应于搜索结果的口语输出。例如,由示能表示940或941表示的数字助理提供口语输出972,诸如“勇士队击败骑士队,104-89。”在一些示例中,用户界面922(例如,片段或窗口)提供对应于口语输出972的文本。

如上所述,在一些实施方案中,数字助理确定任务是否与搜索相关联,并且根据这种确定,数字助理确定执行任务是否需要搜索过程。参考图9C,在一些实施方案中,数字助理确定执行任务不需要搜索过程。例如,如图9C所示,数字助理接收到语音输入954,诸如“向我显示所有名称为‘费用’的文件”。基于语音输入954和上下文信息,数字助理确定用户意图是显示文件名、元数据、文件内容等包含字词“费用”(或其一部分、变型、释义)的所有文件。根据用户意图,数字助理确定要执行的任务包括搜索与字词“费用”相关联的所有文件。因此,数字助理确定执行任务与搜索相关联。如上所述,在一些示例中,搜索过程和对象管理过程均可执行搜索文件。因此,数字助理确定执行搜索与字词“费用”相关联的所有文件的任务不需要搜索过程。

参考图9D,在一些示例中,根据确定执行任务不需要搜索过程,数字助理基于预先确定的配置确定是使用搜索过程还是对象管理过程来执行任务。例如,如果搜索过程和对象管理过程均可执行任务,则预先确定的配置可指示将使用搜索过程执行任务。可使用诸如用户偏好或特定于用户的数据的上下文信息来生成和更新预先确定的配置。例如,数字助理确定对于特定用户而言,之前在执行文件搜索时选择搜索过程比对象管理过程更频繁。因此,数字助理生成或更新预先确定的配置,以指示搜索过程是用于搜索文件的默认过程。在一些示例中,数字助理生成或更新预先确定的配置以指示对象管理过程是默认过程。

如图9D所示,基于预先确定的配置,数字助理确定搜索与字词“费用”相关联的所有文件的任务将使用搜索过程来执行。因此,数字助理使用搜索过程执行与字词“费用”相关联的所有文件的搜索。例如,数字助理实例化由用户界面910上显示的示能表示920表示的搜索过程,并且使得搜索过程搜索与字词“费用”相关联的所有文件。在一些示例中,数字助理进一步提供口语输出974,通知用户正在执行任务。口语输出974包括诸如“确定,搜索所有名称为‘费用’的文件”。在一些示例中,数字助理进一步使搜索过程显示用户界面928(例如,片段或窗口),该用户界面提供对应于语音输入954和口语输出974的文本。

参考图9E,在一些实施方案中,数字助理进一步基于使用搜索过程执行任务的结果提供一个或多个响应。如图9E所示,作为搜索与字词“费用”相关联的所有文件的结果,数字助理显示用户界面947(例如,片段或窗口),该用户界面提供了搜索结果。在一些实施方案中,用户界面947位于用户界面928内,作为单独的用户界面。在一些实施方案中,用户界面947和928作为单个用户界面被集成在一起。在用户界面947上,显示与字词“费用”相关联的文件的列表。在一些实施方案中,数字助理进一步提供对应于搜索结果的口语输出。例如,由示能表示940或941表示的数字助理提供口语输出976,诸如“这是所有名称为‘费用’的文件”。在一些示例中,数字助理进一步在用户界面928上提供对应于口语输出976的文本。

在一些实施方案中,数字助理提供与使用搜索过程执行任务的结果相关联的一个或多个链接。链接使得能够使用搜索结果实例化过程(例如,打开文件、调用对象管理过程)。如图9E所示,在用户界面947上,由文件名表示的文件(例如,费用文件1、费用文件2、费用文件3)的列表可与链接相关联。例如,在每个文件名的一侧显示链接。作为另一个示例,文件名以特定颜色(例如,蓝色)显示,指示文件名与链接相关联。在一些示例中,与链接相关联的文件名以与用户界面947上显示的其他项目相同的颜色显示。

如前所述,链接使得能够使用搜索结果来实例化过程。对过程进行实例化包括调用尚未运行的过程。如果过程的至少一个实例正在运行,则实例化过程包括执行该过程的现有实例或生成该过程的新实例。例如,实例化对象管理过程包括调用对象管理过程,使用现有的对象管理过程或生成对象管理过程的新实例。如图9E和图9F所示,显示在用户界面947上的链接使得能够管理与该链接相关联的对象(例如,文件)。例如,用户界面947接收与文件(例如,“费用文件3”)相关联的链接的用户选择(例如,通过光标934选择)。作为响应,数字助理实例化由示能表示930表示的对象管理过程以使得能够管理文件。如图9F所示,数字助理显示用户界面936(例如,片段或窗口),该用户界面提供包含与链接相关联的文件(例如“费用文件3”)的文件夹。使用用户界面936,数字助理实例化对象管理过程以相对于文件执行一项或多项附加任务(例如,复制、编辑、查看、移动、压缩等)。

再次参考图9E,在一些示例中,在用户界面947上显示的链接使得能够直接查看和/或编辑对象。例如,数字助理通过用户界面947接收与文件(例如,“费用文件3”)相关联的链接的选择(例如,通过光标934选择)。作为响应,数字助理对过程(例如,文档查看/编辑过程)实例化以查看和/或编辑该文件。在一些示例中,数字助理实例化该过程以查看和/或编辑该文件,而不实例化对象管理过程。例如,数字助理直接实例化Number过程或Excel过程以查看和/或编辑费用文件3。

参考图9E和图9G,在一些示例中,数字助理对过程(例如,搜索过程)实例化以细化搜索结果。如图9E和图9G所示,用户可能希望细化用户界面947上显示的搜索结果。例如,用户可能期望从搜索结果选择一个或多个文件。在一些示例中,数字助理从用户接收语音输入977,诸如“仅Kevin发送给我的并且我标记为草稿的文件”。基于语音输入977和上下文信息,数字助理确定用户意图仅显示Kevin发送的并且与草稿标记相关联的费用文件。基于用户意图,数字助理对过程(例如,搜索过程)实例化以细化搜索结果。例如,如图9G中所示,基于搜索结果,数字助理确定费用文件1和费用文件2是Kevin发送给用户的并且带有标记。因此,数字助理继续在用户界面947上显示这两个文件,并从用户界面947上移除费用文件3。在一些示例中,数字助理提供口语输出978,诸如“这些就是Kevin发送给您并且您标记为草稿的文件。”数字助理可进一步在用户界面928上提供对应于口语输出978的文本。

参考图9H,在一些示例中,数字助理对过程(例如,对象管理过程)实例化以执行对象管理任务(例如,复制、移动、共享等)。例如,如图9H所示,数字助理从用户接收语音输入984,诸如“将费用文件1移动到‘文档’文件夹”。基于语音输入984和上下文信息,数字助理确定用户意图是将费用文件1从其当前文件夹复制或移动到“文档”文件夹。根据用户意图,数字助理实例化过程(例如,对象管理过程)以将费用文件1从其当前文件夹复制或移动到‘文档’文件夹。在一些示例中,数字助理提供口语输出982,诸如“确定,将费用文件1移动到‘文档’文件夹”。在一些示例中,数字助理进一步提供对应于用户界面928上的口语输出982的文本。

如前所述,在一些示例中,用户的语音输入可能不包括指示用户意图是使用搜索过程还是对象管理过程执行任务的关键字。参考图10A-图10B,在一些实施方案中,数字助理确定执行任务不需要搜索过程。根据确定,数字助理提供要求用户选择搜索过程或对象管理过程的口语输出。例如,如图10A所示,数字助理从用户接收到语音输入1052,诸如“向我显示所有名称为‘费用’的文件”。基于语音输入1052和上下文信息,数字助理确定用户意图是显示与字词“费用”相关联的所有文件。根据用户意图,数字助理进一步确定任务可以由搜索过程或对象管理过程执行,因此不需要搜索过程。在一些示例中,数字助理提供口语输出1072,诸如“您想要使用搜索过程还是对象管理过程来执行搜索?”。在一些示例中,数字助理从用户接收语音输入1054,诸如“对象管理过程”。语音输入1054因此指示用户意图是使用对象管理过程来执行任务。例如,根据该选择,数字助理实例化由示能表示1030所表示的对象管理过程,以搜索与字词“费用”相关联的所有文件。如图10B所示,与上文所述的那些类似,作为搜索的结果,数字助理显示用户界面1032(例如,片段或窗口),该用户界面提供包含与字词“费用”相关联的文件的文件夹。与上文所述的那些类似,使用用户界面1032,数字助理实例化对象管理过程,以相对于文件执行一项或多项附加任务(例如,复制、编辑、查看、移动、压缩等)。

参考图11A和图11B,在一些实施方案中,数字助理识别上下文信息,并基于该上下文信息和用户的语音输入来确定用户意图。如图11A所示,由示能表示1140或1141表示的数字助理接收语音输入1152,诸如“打开我昨晚创建的Keynote演示文件”。响应于接收到语音输入1152,数字助理识别上下文信息,诸如用户与用户设备交互的历史记录,与用户最近处理的文件相关联的元数据等。例如,数字助理识别元数据,诸如日期、时间和用户昨天从下午6点到凌晨2点处理的文件的类型。基于所识别的上下文信息和语音输入1152,数字助理确定用户意图包括搜索与元数据相关联的Keynote演示文件,元数据指示该文件在昨天大约下午6点到午夜12点之间被编辑过;并实例化过程(例如,Keynote过程)以打开演示文件。

在一些示例中,上下文信息包括应用名称或标识符(ID)。例如,用户的语音输入提供“打开Keynote演示文件”、“查找我的Pages文档”或“查找我的HotNewApp文档”。上下文信息包括应用名称(例如,Keynote、Pages、HotNewApp)或应用ID。在一些示例中,上下文信息是动态更新或同步的。例如,上下文信息在用户安装名称为HotNewApp的新应用后实时更新。在一些示例中,数字助理识别动态更新的上下文信息并确定用户意图。例如,数字助理识别应用名称Keynote、Pages、HotNewApp或它们的ID,并根据应用名称/ID和语音输入来确定用户意图。

根据用户意图,数字助理进一步确定用户意图是使用搜索过程还是对象管理过程来执行任务。如前所述,数字助理作出此类确定基于语音输入中包括的一个或多个关键字、基于任务是否需要搜索过程、基于预先确定的配置和/或基于用户的选择。如图11A所示,语音输入1152不包括指示用户意图是使用搜索过程还是对象管理过程的关键字。因此,数字助理基于预先确定的配置来确定用户意图是使用对象管理过程。根据确定,数字助理实例化对象管理过程,以搜索与元数据相关联的Keynote演示文件,元数据指示文件在昨天大约下午6点到午夜12点之间被编辑过。在一些实施方案中,数字助理进一步提供口语输出1172,诸如“确定,正在查找您昨晚创建的Keynote演示文件”。

在一些实施方案中,上下文信息被用于执行任务。例如,应用名称和/或ID可用于形成查询,以搜索与应用名称/ID相关联的应用和/或对象(例如,文件)。在一些示例中,服务器(例如,服务器108)使用应用名称(例如,Keynote、Pages、HotNewApp)和/或ID形成查询,并且将该查询发送给用户设备的数字助理。基于查询,数字助理实例化搜索过程或对象管理过程,以搜索一个或多个应用和/或对象。在一些示例中,数字助理仅搜索对应于应用名称/ID的对象(例如,文件)。例如,如果查询包括应用名称“Pages”,则数字助理仅搜索Pages文件,不搜索可由Pages应用打开的其他文件(例如Word文件)。在一些示例中,数字助理搜索与查询中的应用名称/ID相关联的所有对象。

参考图11B和图11C,在一些实施方案中,数字助理根据与执行任务的结果相关联的置信度水平提供一个或多个响应。在确定用户意图,确定用户意图是使用搜索过程还是对象管理过程来执行任务,和/或执行任务期间,可能存在或出现不准确性。在一些示例中,数字助理确定置信度水平,此类置信度水平表示基于语音输入和上下文信息确定用户意图的准确性、确定用户意图是使用搜索过程还是对象管理过程来执行任务的准确性、使用搜索过程或对象管理过程执行任务的准确性,或它们的组合。

继续图11A中示出的上述示例,基于语音输入1152(诸如“打开我昨晚创建的Keynote演示文件”),数字助理实例化对象管理过程,以执行与元数据相关联的Keynote演示文件的搜索,该元数据指示该文件在昨天大约下午6点到午夜12点之间被编辑过。搜索结果可能包括完全匹配搜索条件的单个文件。也就是说,该单个文件是在昨天大约下午6点到午夜12点之间被编辑过的演示文件。因此,数字助理确定搜索的准确性为高,因此确定置信度水平为高。作为另一个示例,搜索结果可能包括与搜索条件部分匹配的多个文件。例如,没有文件是在昨天大约下午6点到午夜12点之间被编辑过的演示文件,或者有多个文件是在昨天大约下午6点到午夜12点之间被编辑过的演示文件。因此,数字助理确定搜索的准确性为中等或低,因此确定置信度水平为中等或低。

如图11B和图11C所示,数字助理根据确定的置信度水平提供响应。在一些示例中,数字助理确定置信度水平是大于还是等于阈值置信度水平。根据确定置信度水平大于或等于阈值置信度水平,数字助理提供第一响应。根据确定置信度水平小于阈值置信度水平,数字助理提供第二响应。在一些示例中,第二响应不同于第一响应。如图11B所示,如果数字助理确定置信度水平大于或等于阈值置信度水平,则数字助理实例化过程(例如,用户界面1142表示的Keynote过程),以使得能够查看和编辑文件。在一些示例中,数字助理提供口语输出(诸如“这是您昨晚创建的演示文件”),并且在用户界面1143中显示口语输出的文本。如图11C所示,如果数字助理确定置信度水平小于阈值置信度水平,则数字助理显示用户界面1122(例如,片段或窗口),该用户界面提供候选文件的列表。每个候选文件可能都部分满足搜索条件。在一些实施方案中,置信度水平可预先确定和/或基于用户偏好、历史准确度等动态更新。在一些示例中,数字助理进一步提供口语输出1174(诸如“这是昨晚创建的所有演示文件”),并且显示对应于用户界面1122上的口语输出1174的文本。

参考图11D,在一些实施方案中,数字助理实例化过程(例如,Keynote演示过程)以执行附加任务。继续上述示例,如图11B和11D所示,用户可能希望在全屏模式下显示演示文件。数字助理从用户接收语音输入1154,诸如“设为全屏”。基于语音输入1154和上下文信息,数字助理确定用户意图是在全屏模式下显示演示文件。根据用户意图,数字助理使得Keynote演示过程在全屏模式下显示幻灯片。在一些示例中,数字助理提供口语输出1176,诸如“确定,正在全屏模式下显示您的演示文件。”

参考图12A-图12C,在一些实施方案中,数字助理基于单个语音输入或言语确定用户意图是执行多项任务。根据用户意图,数字助理进一步实例化一个或多个过程以执行多项任务。例如,如图12A所示,由示能表示1240或1241表示的数字助理接收单个语音输入1252,诸如“向我展示来自我的科罗拉多之旅的所有照片,然后将它们发送给我妈妈”。基于语音输入1252和上下文信息,数字助理确定用户意图是执行第一项任务和第二项任务。与上文所述的那些类似,第一项任务是显示存储在文件夹名称为“科罗拉多之旅”的文件夹中的照片,或者显示用户在科罗拉多旅行的时间段期间拍摄的照片。相对于第二项任务,上下文信息可能指示存储在用户联系人中的特定电子邮件地址被标记为用户的妈妈。因此,第二项任务是将包含与科罗拉多之旅相关联的照片的电子邮件发送至特定电子邮件地址。

在一些示例中,相对于每项任务,数字助理确定用户意图是使用搜索过程还是对象管理过程来执行任务。例如,数字助理确定第一项任务与搜索相关联,并且用户意图是使用对象管理过程来执行第一项任务。如图12B所示,根据确定用户意图是使用对象管理过程来执行第一项任务,数字助理实例化对象管理过程,以搜索与用户的科罗拉多之旅相关联的照片。在一些示例中,数字助理显示用户界面1232(例如,片段或窗口),该用户界面提供包括搜索结果(例如,照片1、2和3)的文件夹。作为另一个示例,数字助理确定第一项任务与搜索相关联,并且用户意图是使用搜索过程来执行第一项任务。如图12C所示,根据确定用户意图是使用搜索过程来执行第一项任务,数字助理实例化搜索过程,以搜索与用户的科罗拉多之旅相关联的照片。在一些示例中,数字助理显示用户界面1234(例如,片段或窗口),该用户界面提供照片和/或与搜索结果(例如,照片1、2和3)相关联的链接。

作为另一个示例,数字助理确定第二项任务(例如,将包含与科罗拉多之旅相关联的照片的电子邮件发送至特定电子邮件地址)不与搜索或管理对象相关联。根据确定,数字助理确定任务是否可以使用可用于用户设备的过程来执行。例如,数字助理确定第二项任务可以在用户设备处使用电子邮件过程来执行。根据确定,数字助理实例化该过程以执行第二项任务。如图12B和图12C所示,数字助理实例化电子邮件过程,并显示与该电子邮件过程相关联的用户界面1242和1244。该电子邮件过程将与用户的科罗拉多之旅相关联的照片附加到电子邮件消息中。如图12B和图12C所示,在一些实施方案中,数字助理进一步提供口语输出1272和1274,诸如“这些是来自您的科罗拉多之旅的照片。我准备将照片发送给您妈妈,是否继续?”在一些示例中,数字助理显示对应于用户界面1244上的口语输出1274的文本。响应于口语输出1272和1274,用户提供语音输入,诸如“好的”。在从用户接收到语音输入时,数字助理使电子邮件过程发送电子邮件消息。

基于单个语音输入或言语中所包含的多个命令来执行多项任务的技术可在相关专利申请中找到,例如:2015年5月28日提交的名称为“MULTI-COMMAND SINGLE UTTERANCEINPUT METHOD”的美国专利申请No.14/724,623,该专利申请要求以下专利的优先权的权益:2014年5月30日提交的名称为“MULTI-COMMAND SINGLE UTTERANCE INPUT METHOD”的美国临时专利申请No.62/005,556、以及2015年3月8日提交的名称为“MULTI-COMMAND SINGLEUTTERANCE INPUT METHOD”的美国临时专利申请No.62/129,851。其中每项专利申请的内容据此全文以引用方式并入本文。

如图12C和图12D所示,在一些示例中,数字助理使过程基于用户的附加语音输入来执行附加任务。例如,鉴于用户界面1234中显示的搜索结果,用户可能希望发送一些照片,而不是全部照片。用户提供语音输入1254,诸如“仅发送照片1和照片2”。在一些示例中,在用户选择示能表示1235(例如,在用户界面1234上显示的麦克风图标)之后,数字助理接收语音输入1254。基于语音输入1254和上下文信息,数字助理确定用户意图是发送仅附加照片1和照片2的电子邮件。根据用户意图,数字助理使电子邮件过程从电子邮件消息中移除照片3。在一些示例中,数字助理提供口语输出1276(诸如“好的,将照片1和照片2附加到电子邮件”),并且显示对应于用户界面1234上的口语输出1276的文本。

参考图13A,在一些实施方案中,根据确定任务不与搜索相关联,数字助理确定任务是否与管理至少一个对象相关联。如图13A所示,例如,数字助理接收到语音输入1352,诸如“在桌面上创建名称为‘项目’的新文件夹”。基于语音输入1352和上下文信息,数字助理确定用户意图是在桌面上生成文件夹名称为“项目”的新文件夹。数字助理进一步确定用户意图不与搜索相关联,而是与管理对象(例如,文件夹)相关联。因此,数字助理确定用户意图是使用对象管理过程执行任务。

在一些示例中,根据确定用户意图是使用对象管理过程来执行任务,数字助理使用对象管理过程来执行任务。使用对象管理过程来执行任务可包括例如创建至少一个对象(例如,创建文件夹或文件),存储至少一个对象(例如,存储文件夹、文件或通信),并且压缩至少一个对象(例如,压缩文件夹和文件)。使用对象管理过程来执行任务可进一步包括例如将至少一个对象从第一物理或虚拟存储装置复制或移动到第二物理或虚拟存储装置。例如,数字助理实例化对象管理过程,将文件从用户设备剪切并粘贴到闪存驱动器或云驱动器。

使用对象管理过程执行任务可进一步包括例如删除存储在物理或虚拟存储装置中的至少一个对象(例如,删除文件夹或文件)和/或恢复存储在物理或虚拟存储装置中的至少一个对象(例如,恢复已删除的文件夹或已删除的文件)。使用对象管理过程来执行任务可进一步包括例如标记至少一个对象。在一些示例中,对象的标记可以是可见的或不可见的。例如,数字助理可使对象管理过程对社交媒体上的帖子生成“赞”标志、标记电子邮件、标记文件等。标记可通过显示例如标记、标志等变得可见。标记也可相对于对象的元数据执行,使元数据的存储(例如,存储器)内容发生变化。元数据可能是可见的,也可能不可见。

使用对象管理过程执行任务还可包括例如根据针对备份的预先确定的时间段或者用户的请求,备份至少一个对象。例如,数字助理可使对象管理过程来实例化备份程序(例如,时间机器程序)以备份文件夹和文件。备份可以根据预先确定的时间表(例如,一天一次、一周一次、一月一次等)来自动执行或根据用户请求执行。

使用对象管理过程执行任务还可包括例如在可通信地连接到用户设备的一个或多个电子设备之间共享至少一个对象。例如,数字助理可使对象管理过程与另一电子设备(例如,用户的智能电话或平板电脑)共享存储在用户设备上的照片。

如图13B所示,根据确定用户意图是使用对象管理过程来执行任务,数字助理使用对象管理过程来执行任务。例如,数字助理实例化对象管理过程,以在用户界面1310的桌面上生成名称为“项目”的文件夹。在一些示例中,数字助理可使对象管理过程自动或响应于另外的用户输入来进一步打开该文件夹。例如,数字助理提供口语输出1372,诸如“好的,我在桌面上创建了一个名称为‘项目’的文件夹,是否想打开它?”用户提供语音输入1374,诸如“是”。响应于用户的语音输入1374,数字助理使对象管理过程打开“项目”文件夹,并显示对应于“项目”文件夹的用户界面1332。

参考图13C,在一些实施方案中,数字助理提供一个或多个示能表示,该示能表示使得用户能够使用搜索过程或对象管理过程来操纵执行任务的结果。一个或多个示能表示包括例如编辑按钮、取消按钮、重做按钮、撤销按钮等。例如,如图13C所示,在桌面上生成名称为“项目”的文件夹之后,数字助理提供用户界面1334,该用户界面显示编辑按钮1336A、撤销按钮1336B以及重做按钮1336C。在一些示例中,编辑按钮1336A使得用户能够编辑对象的一个或多个方面(例如,编辑“项目”文件夹的名称);撤销按钮1336B使得用户能够反转由对象管理过程执行的最后一项任务(例如,删除“项目”文件夹);以及重做按钮1336C使得用户能够重复对象管理过程执行的最后一项任务(例如,使用对象管理过程创建另一个文件夹)。应当理解,数字助理可提供任何所需的示能表示,以使得用户能够对使用搜索过程或对象管理过程执行任务的结果来执行任何操纵。

如前所述,数字助理可确定用户意图是使用搜索过程还是对象管理过程来执行任务。在一些示例中,数字助理确定用户意图不与搜索过程或对象管理过程相关联。例如,用户提供语音输入,诸如“开始口述”。数字助理确定口述任务不与搜索相关联。在一些示例中,根据确定任务不与搜索相关联,数字助理进一步确定任务是否与管理至少一个对象相关联。例如,数字助理确定口述任务也不与管理对象相关联,诸如复制、移动或删除文件、文件夹或电子邮件。在一些示例中,根据确定任务不与管理对象相关联,数字助理确定该任务是否可以使用可用于用户设备的过程来执行。例如,数字助理确定口述任务可使用可用于用户设备的口述过程来执行。在一些示例中,数字助理相对于使用可用于用户设备的过程执行任务,来发起与用户的对话。例如,数字助理提供口语输出,诸如“好的,开始口述”或“是否想在您当前正处理的此演示文件中口述?”在提供口语输出之后,数字助理接收来自用户的响应,例如,确认用户意图是在用户当前正处理的演示文件中口述。

5.数字助理的示例性功能——连续性

图14A-图14D、图15A-图15D、图16A-图16C和图17A-图17E示出了通过数字助理使用远程定位的内容在用户设备或第一电子设备处执行任务的功能。在一些示例中,数字助理系统(例如,数字助理系统700)根据各种示例通过用户设备(例如,设备1400、1500、1600和1700)来实现。在一些示例中,用户设备、服务器(例如,服务器108)或它们的组合可实现数字助理系统(例如,数字助理系统700)。例如,可使用设备104、200或400来实现用户设备。在一些示例中,用户设备可以是膝上型计算机、台式计算机或平板电脑。用户设备可在多任务环境中操作,诸如台式计算机环境。

参考图14A-图14D、图15A-图15D、图16A-图16C和图17A-图17E,在一些示例中,用户设备(例如,设备1400、1500、1600和1700)提供各种用户界面(例如,用户界面1410、1510、1610和1710)。与上文所述的那些类似,用户设备在显示器上显示各种用户界面,并且各种用户界面使得用户能够实例化一个或多个过程(例如,电影过程、照片处理、Web浏览过程)。

如图14A-图14D、图15A-图15D、图16A-图16C和图17A-图17E所示,与上文所述的那些类似,用户设备(例如,设备1400、1500、1600和1700)在用户界面(例如,用户界面1410、1510、1610和1710)上显示示能表示(例如,示能表示1440、1540、1640和1740)以实例化数字助理服务。与上文所述的那些类似,在一些示例中,响应于接收到预先确定的短语来实例化数字助理。在一些示例中,响应于接收到对示能表示的选择来实例化数字助理。

参考图14A-图14D、图15A-图15D、图16A-图16C和图17A-图17E,在一些实施方案中,数字助理从用户接收一个或多个语音输入,诸如语音输入1452、1454、1456、1458、1552、1554、1556、1652、1654、1656、1752和1756。用户可提供各种语音输入,用于例如在用户设备(例如,设备1400、1500、1600和1700)处或在第一电子设备(例如,电子设备1420、1520、1530、1522、1532、1620、1622、1630、1720和1730)处使用远程定位的内容执行任务的目的。与上文所述的那些类似,在一些示例中,数字助理可在用户设备处直接从用户接收语音输入,或通过以可通信地连接到用户设备的另一电子设备间接接收语音输入。

参考图14A-图14D、图15A-图15D、图16A-图16C和图17A-图17E,在一些实施方案中,数字助理识别与用户设备相关联的上下文信息。上下文信息包括例如特定于用户的数据,传感器数据和用户设备配置数据。在一些示例中,特定于用户的数据包括指示用户偏好的日志信息、用户与用户设备(例如,设备1400、1500、1600和1700)和/或可通信地连接到用户设备的电子设备进行交互的历史记录等。例如,特定于用户的数据指示用户最近使用电子设备1420(例如智能电话)拍摄了自拍照片;用户最近访问了播客、网络广播、电影、歌曲、有声读物等。在一些示例中,传感器数据包括由与用户设备或其他电子设备相关联的传感器收集的各种数据。例如,传感器数据包括GPS位置数据,该数据指示用户设备或可通信地连接到用户设备的电子设备在任何时间点或在任何时间段期间的物理位置。例如,传感器数据指示存储在电子设备1420中的照片是在夏威夷拍摄的。在一些示例中,用户设备配置数据包括当前或历史设备配置。例如,用户设备配置数据指示用户设备当前可通信地连接到一些电子设备,但与其他电子设备断开连接。电子设备包括例如智能电话、机顶盒、平板电脑等。如下文更详细所述,上下文信息可用于确定用户意图和/或执行一项或多项任务。

参考图14A-图14D、图15A-图15D、图16A-图16C和图17A-图17E,与上文所述的那些类似,响应于接收到语音输入,数字助理基于语音输入确定用户意图。数字助理基于自然语言处理的结果确定用户意图。例如,数字助理基于用户输入识别可执行意图,并且生成结构化查询以表示所识别的可执行意图。结构化查询包括与可执行意图相关联的一个或多个参数。该一个或多个参数可用于促进基于可执行意图来执行任务。例如,基于语音输入诸如“显示我刚刚拍摄的自拍照”,数字助理确定可执行意图是显示照片,并且参数包括用户最近在过去几天期间拍摄的自拍照。在一些实施方案中,数字助理进一步基于语音输入和上下文信息确定用户意图。例如,上下文信息指示用户设备使用蓝牙连接可通信地连接到用户的电话,并且指示有一张自拍照在两天前被添加到用户的电话中。因此,数字助理确定用户意图是显示照片,该照片是两天前被添加到用户电话中的自拍照。以下在各种示例中更详细地描述了基于语音输入和上下文信息确定用户意图。

在一些实施方案中,根据用户意图,数字助理进一步确定任务是在用户设备处执行,还是在可通信地连接到用户设备的第一电子设备处执行。下文相对于图14A-图14D、图15A-图15D、图16A-图16C和图17A-图17E更详细地提供了确定的各种实施例。

参考图14A,在一些示例中,用户设备1400从用户接收语音输入1452以调用数字助理。如图14A所示,在一些示例中,数字助理由显示在用户界面1410上的示能表示1440或1441表示。语音输入1452包括例如“嘿,助理”。响应于语音输入1452,用户设备1400调用数字助理,使得数字助理主动监测后续语音输入。在一些示例中,数字助理提供指示其已被调用的口语输出1472。例如,口语输出1472包括“开始吧,我正在收听”。如图14A所示,在一些示例中,用户设备1400可通信地连接到一个或多个电子设备(诸如电子设备1420)。电子设备1420可使用有线或无线网络与用户设备1400通信。例如,电子设备1420使用蓝牙连接来与用户设备1400通信,使得可以在两个设备之间交换语音和数据(例如音频文件和视频文件)。

参考图14B,在一些示例中,数字助理接收到语音输入1454,诸如“在此设备上向我显示我刚刚使用电话拍摄的自拍照”。基于语音输入1454和/或上下文信息,数字助理确定用户意图。例如,如图14B所示,上下文信息指示用户设备1400使用有线或无线网络(例如,蓝牙连接、Wi-Fi连接等)可通信地连接到电子设备1420。上下文信息还指示用户最近拍摄了自拍照,该照片存储在名称为“selfie0001”的电子设备1420中。因此,数字助理确定用户意图是显示存储在电子设备1420中名称为selfie0001的照片。另选地,照片可能已被照片识别软件标记为包含用户面部,并被相应地识别。

如前所述,根据用户意图,数字助理进一步确定任务是在用户设备处执行,还是在可通信地连接到用户设备的第一电子设备处执行。在一些实施方案中,确定是在用户设备处还是在第一电子设备处执行任务基于包括在语音输入中的一个或多个关键字。例如,数字助理确定语音输入1454包括关键字或短语(诸如“在此设备处”),指示任务将在用户设备1400上执行。因此,数字助理确定显示存储在电子设备1420中名称为selfie0001的照片将在用户设备1400上执行。用户设备1400和电子设备1420是不同的设备。例如,用户设备1400可以是膝上型计算机,而电子设备1420可以是电话。

在一些实施方案中,数字助理进一步确定与任务的执行相关联的内容是否位于远程位置。如果在数字助理正在确定或即将确定由哪个设备执行任务时,内容位于远程位置,用于执行任务的内容的至少一部分不存储在被确定为执行任务的设备中。例如,如图14B所示,在用户设备1400的数字助理正在确定或即将确定用户意图是在用户设备1400上显示名称为selfie0001的照片时,名称为selfie0001的照片未存储在用户设备1400上,而是存储在电子设备1420(例如,智能电话)上。因此,数字助理确定该照片被远程定位到用户设备1400。

如图14B所示,在一些实施方案中,根据确定任务将在用户设备处执行并且用于执行任务的内容位于远程位置,用户设备的数字助理接收用于执行任务的内容。在一些示例中,用户设备1400的数字助理接收存储在电子设备1420中的内容的至少一部分。例如,为了显示名称为selfie0001的照片,用户设备1400的数字助理向电子设备1420发送请求以获取名称为selfie0001的照片。电子设备1420接收该请求并作为响应,将名称为selfie0001的照片传输至用户设备1400。然后,用户设备1400的数字助理接收名称为selfie0001的照片。

如图14B所示,在一些实施方案中,在接收到远程定位的内容之后,数字助理在用户设备处提供响应。在一些示例中,提供响应包括使用所接收的内容来执行任务。例如,用户设备1400的数字助理显示用户界面1442(例如,片段或窗口),该用户界面提供名称为selfie0001的照片的视图1443。视图1443可以是名称为selfie0001的照片的预览(例如,缩略图)、图标或完整视图。

在一些示例中,提供响应包括提供与将在用户设备处执行的任务相关联的链接。链接使得能够实例化过程。如前所述,实例化过程包括调用尚未运行的过程。如果过程的至少一个实例正在运行,则实例化过程包括执行该过程的现有实例或生成该过程的新实例。如图14B所示,用户界面1442可提供与名称为selfie0001的照片的视图1443相关联的链接1444。例如,链接1444使得能够实例化照片过程以查看照片的完整表示或编辑照片。例如,链接1444被显示在视图1443的侧面。作为另一个示例,视图1443本身可包括或并入链接1444,使得对视图1443的选择实例化照片过程。

在一些实施方案中,提供响应包括提供一个或多个示能表示,这些示能表示使得用户能够进一步操纵执行该任务的结果。如图14B所示,在一些示例中,数字助理在用户界面1442(例如,片段或窗口)上提供示能表示1445和1446。示能表示1445可包括用于将照片添加到相册的按钮,并且示能表示1446可包括用于取消照片的视图1443的按钮。用户可选择示能表示1445和1446中的一者或两者。例如,响应于选择示能表示1445,照片过程将与视图1443相关联的照片添加到相册中。例如,响应于选择示能表示1446,照片过程从用户界面1442移除视图1443。

在一些实施方案中,提供响应包括根据将在用户设备处执行的任务提供口语输出。如图14B所示,由示能表示1440或1441表示的数字助理提供口语输出1474,诸如“这是您电话中的最后一张自拍照”。

参考图14C,在一些示例中,基于单个语音输入/言语和上下文信息,数字助理确定用户意图是执行多项任务。如图14C所示,数字助理接收到语音输入1456,诸如“在此设备处向我显示我刚刚使用电话拍摄的自拍照,并将它设置为我的墙纸”。基于语音输入1456和上下文信息,数字助理确定用户意图是执行显示存储在电子设备1420上的名称为selfie0001的照片的第一项任务,以及执行将名称为selfie0001的照片设置为墙纸的第二项任务。因此,基于单个语音输入1456,数字助理确定用户意图是执行多项任务。

在一些实施方案中,数字助理确定是将在用户设备处还是在可通信地连接到用户设备的电子设备处执行多项任务。例如,使用包括在语音输入1456中的关键字“该设备”,数字助理确定将在用户设备1400上执行多项任务。与上文所述的那些类似,数字助理进一步确定用于执行至少一项任务的内容是否位于远程位置。例如,数字助理确定用于执行至少第一项任务(例如,显示名称为selfie0001的照片)的内容位于远程位置。在一些实施方案中,根据确定将在用户设备处执行多项任务并且用于执行至少一项任务的内容位于远程位置,数字助理从另一电子设备(例如,电子设备1420)请求该内容,接收该内容用于执行相应任务,并且在用户设备处提供响应。

在一些实施方案中,提供响应包括执行多项任务。例如,如图14C所示,提供响应包括执行显示名称为selfie0001的照片的视图1449的第一项任务,以及执行将名称为selfie0001的照片设置为墙纸的第二项任务。在一些示例中,数字助理使用桌面设置配置过程,自动将墙纸配置为名称为selfi0001的照片。在一些示例中,数字助理提供指向桌面设置1450的链接,使得用户能够使用名称为selfie0001的照片手动配置墙纸。例如,用户可通过使用诸如鼠标、触笔或手指的输入设备,选择指向桌面设置1450的链接。在接收到选择指向桌面设置1450的链接时,数字助理启动桌面设置配置过程,使得用户能够选择名称为selfie0001的照片并将该照片设置为用户设备1400的墙纸。

如图14C所示,在一些示例中,数字助理响应于接收到来自用户的语音输入,发起与用户的对话并促进配置墙纸。例如,数字助理提供口语输出1476,诸如“这是来自您电话的最后一张自拍。是否将它设置为墙纸?”用户提供语音输入,诸如“好的”。在接收到语音输入时,数字助理实例化桌面设置配置过程,以将墙纸配置为名称为selfie0001的照片。

如前所述,在一些示例中,数字助理基于语音输入和上下文信息确定用户意图。参考图14D,在一些示例中,语音输入可能不包括足以确定用户意图的信息。例如,语音输入可能未指示用于执行任务的内容的位置。如图14D所示,数字助理接收到语音输入1458,诸如“向我显示我刚刚拍摄的自拍照”。语音输入1458不包括指示要显示的照片或要显示的自拍照的位置的一个或多个关键字。因此,仅基于语音输入1458可能无法确定用户意图。在一些示例中,数字助理基于语音输入1458和上下文信息确定用户意图。例如,基于上下文信息,数字助理确定用户设备1400是可通信地连接到电子设备1420。在一些示例中,数字助理实例化搜索过程,以在用户设备1400和电子设备1420上搜索用户最近拍摄的照片。基于搜索结果,数字助理确定名称为selfie0001的照片存储在电子设备1420中。因此,数字助理确定用户意图是显示位于电子设备1420上的名称为selfie0001的照片。在一些示例中,如果不能基于语音输入和上下文信息确定用户意图,数字助理会发起与用户的对话以进一步明确或弄清用户意图。

如图14D所示,在一些示例中,语音输入可能不包括指示任务是在用户设备处还是在可通信地连接到用户设备的电子设备处执行的一个或多个关键字。例如,语音输入1458未指示显示自拍照的任务是在用户设备1400上还是在电子设备1420上执行。在一些示例中,数字助理基于上下文信息确定任务是在用户设备处还是在电子设备处执行。作为一个示例,上下文信息指示数字助理在用户设备1400上而不是在电子设备1420上接收到语音输入1458。因此,数字助理确定显示自拍照的任务将在用户设备1400上执行。作为另一个示例,上下文信息指示根据用户偏好,照片将被显示在电子设备1420上。因此,数字助理确定显示自拍照的任务将在电子设备1420上执行。应当理解,数字助理可基于任何上下文信息确定任务是在用户设备处还是电子设备处执行。

参考图15A,在一些实施方案中,数字助理确定任务将在可通信地连接到用户设备(例如,用户设备1500)的电子设备(例如,电子设备1520和/或1530)上执行,并且确定内容被远程定位到该电子设备。如图15A所示,在一些示例中,数字助理接收到语音输入1552,诸如“在我的电视上播放这部影片”。如前所述,数字助理可基于语音输入1552和上下文信息确定用户意图。例如,上下文信息指示用户界面1542正在显示名称为ABC.mov的影片。因此,数字助理确定用户意图是播放名称为ABC.mov的影片。

根据用户意图,数字助理进一步确定任务是在用户设备处,还是在可通信地连接到用户设备的第一电子设备处执行。在一些实施方案中,确定是在用户设备处还是在第一电子设备处执行任务基于包括在语音输入中的一个或多个关键字。例如,语音输入1552包括字词或短语“在我的电视上”。在一些示例中,上下文信息指示用户设备1500使用例如有线连接、蓝牙连接或Wi-Fi连接方式连接到机顶盒1520和/或电视1530。因此,数字助理确定播放名称为ABC.mov的影片的任务将在机顶盒1520和/或电视1530上执行。

在一些实施方案中,数字助理进一步确定与任务的执行相关联的内容是否位于远程位置。如前所述,如果在数字助理正在确定或即将确定由哪个设备执行任务时,内容位于远程位置,用于执行任务的内容的至少一部分不存储在被确定为执行任务的设备中。例如,如图15A所示,在用户设备1500的数字助理正在确定或即将确定影片ABC.mov在机顶盒1520和/或电视1530上播放时,影片ABC.mov的至少一部分存储在用户设备1500(例如,膝上型计算机)和/或服务器(未示出)上,而不存储在机顶盒1520和/或电视1530上。因此,数字助理确定影片ABC.mov被远程定位到机顶盒1520和/或电视1530。

参考图15B,根据确定任务将在第一电子设备(例如,机顶盒1520和/或电视1530)上执行并且用于执行任务的内容被远程定位到第一电子设备,用户设备的数字助理向第一电子设备提供内容以执行任务。例如,为了在机顶盒1520和/或电视1530上播放影片ABC.mov,用户设备1500的数字助理将影片ABC.mov的至少一部分传输至机顶盒1520和/或电视1530。

在一些示例中,用户设备的数字助理使得从另一电子设备(例如,服务器)向第一电子设备提供内容的至少一部分来执行任务,而不是从用户设备提供此类内容。例如,影片ABC.mov被存储在服务器(未示出)中而不是用户设备1500中。因此,用户设备1500的数字助理使名称为ABC.mov的影片的至少一部分从服务器传输至机顶盒1520和/或电视1530。在一些示例中,用于执行任务的内容被提供给机顶盒1520,然后该机顶盒将内容传输至电视1530。在一些示例中,用于执行任务的内容被直接提供给电视1530。

如图15B所示,在一些示例中,在内容被提供给第一电子设备(例如,机顶盒1520和/或电视1530)之后,用户设备1500的数字助理在用户设备1500上提供响应。在一些示例中,提供响应包括使任务在使用内容的机顶盒1520和/或电视1530处执行。例如,用户设备1500的数字助理发送请求至机顶盒1520和/或电视1530以启动多媒体过程来播放影片ABC.mov。响应于该请求,机顶盒1520和/或电视1530启动多媒体过程来播放影片ABC.mov。

在一些示例中,将在第一电子设备(例如,机顶盒1520和/或电视1530)上执行的任务是继续在第一电子设备处远程执行的任务。例如,如图15A和图15B所示,用户设备1500的数字助理已启动用户设备1500的多媒体过程,以在用户设备1500上播放影片ABC.mov的一部分。根据确定用户意图是在第一电子设备(例如,机顶盒1520和/或电视1530)上播放影片ABC.mov,用户设备1500的数字助理使第一电子设备继续播放影片ABC.mov的其余部分,而不是从头开始播放。因此,用户设备1500的数字助理使得用户能够连续观看影片。

如图15B所示,在一些实施方案中,提供响应包括提供一个或多个示能表示,这些示能表示使得用户能够进一步操纵执行该任务的结果。如图15B所示,在一些示例中,数字助理在用户界面1544(例如,片段或窗口)上提供示能表示1547和1548。示能表示1547可以是用于取消在第一电子设备(例如,机顶盒1520和/或电视1530)上播放影片ABC.mov的按钮。示能表示1548可以是一个按钮,用于暂停或恢复播放正在第一电子设备处播放的影片ABC.mov。用户可使用诸如鼠标、触笔或手指的输入设备选择示能表示1547或1548。例如,在接收到对示能表示1547的选择时,数字助理使得停止在第一电子设备处播放影片ABC.mov。在一些示例中,在第一电子设备处停止播放之后,数字助理还使得在用户设备1500上恢复播放影片ABC.mov。例如,在接收到对示能表示1548的选择时,数字助理使得暂停或恢复在第一电子设备处播放影片ABC.mov。

在一些实施方案中,提供响应包括根据将在第一电子设备处执行的任务来提供口语输出。如图15B所示,由示能表示1540或1541表示的数字助理提供口语输出1572,诸如“正在电视上播放您的影片”。

如前所述,根据确定任务将在第一电子设备处执行并且用于执行任务的内容被远程定位到第一电子设备,数字助理向第一电子设备提供用于执行任务的内容。参考图15C,用于执行任务的内容可包括例如文档(例如,文档1560)或位置信息。例如,用户设备1500的数字助理接收到语音输入1556,诸如“在我的平板电脑上打开此PDF”。数字助理确定用户意图是执行显示文档1560的任务,并且确定该任务将在可通信地连接到用户设备1500的平板电脑1532上执行。因此,数字助理向平板电脑1532提供将显示的文档1560。作为另一个示例,用户设备1500的数字助理接收到语音输入1554,诸如“将此位置发送到我的电话”。数字助理确定用户意图是使用位置信息执行导航任务,并且确定该任务将在可通信地连接到用户设备1500的电话1522(例如,智能电话)上执行。因此,数字助理向电话1522提供位置信息(例如,1234主街)以执行导航的任务。

如前所述,在一些示例中,在向第一电子设备提供用于执行任务的内容之后,数字助理在用户设备处提供响应。在一些实施方案中,提供响应包括使任务将在第一电子设备处执行。例如,如图15D所示,用户设备1500的数字助理向电话1522传输请求,以执行导航到位置1234主街的任务。用户设备1500的数字助理进一步将请求传输至平板电脑1532以执行显示文档1560的任务。在一些示例中,在用户设备处提供响应包括根据将在第一电子设备处执行的任务提供口语输出。如图15D所示,数字助理提供口语输出1574诸如“在您的平板电脑上显示PDF”和口语输出1576诸如“在电话上导航到1234主街”。

如前所述,在一些示例中,语音输入可能不包括指示任务是在用户设备处还是在可通信地连接到用户设备的第一电子设备处执行的一个或多个关键字。参考图16A,例如,数字助理接收到语音输入1652,诸如“播放此影片”。语音输入1652未指示播放影片的任务是在用户设备1600上还是在第一电子设备(例如,机顶盒1620和/或电视1630、电话1622或平板电脑1632)上执行。

在一些实施方案中,为了确定是在用户设备处还是在第一电子设备处执行任务,用户设备的数字助理确定在用户设备处执行任务是否满足性能标准。性能标准有助于评估任务的执行。例如,如图16A所示,数字助理确定用户意图是执行播放影片ABC.mov的任务。用于播放影片的性能标准包括例如播放影片的质量标准(例如,480p、720p、1080p)、播放影片的流畅度标准(例如,不延迟或无需等待)、屏幕尺寸标准(例如,48寸的最小屏幕尺寸)、声音效果标准(例如,立体声、扬声器数量)等。性能标准可预先配置和/或动态更新。在一些示例中,性能标准基于诸如特定于用户的数据(例如,用户偏好)、设备配置数据(例如,屏幕分辨率和电子设备的尺寸)等的上下文信息来确定。

在一些示例中,用户设备1600的数字助理确定在用户设备处执行任务满足性能标准。例如,如图16A所示,用户设备1600可能具有满足播放影片ABC.mov(该影片可能是低分辨率在线视频)的性能标准的屏幕分辨率、屏幕尺寸和声音效果。根据确定在用户设备1600处执行任务满足性能标准,数字助理确定任务将在用户设备1600处执行。

在一些示例中,用户设备1600的数字助理确定在用户设备处执行任务不满足性能标准。例如,用户设备1600可能不具有满足播放影片ABC.mov的性能标准的屏幕尺寸、分辨率和/或声音效果,该影片可能是高分辨率在线视频。在一些示例中,根据确定在用户设备处执行任务不满足性能标准,用户设备1600的数字助理确定在第一电子设备处执行任务是否满足性能标准。如图16B所示,用户设备1600的数字助理确定在机顶盒1620和/或电视1630上执行播放影片ABC.mov的任务满足性能标准。例如,机顶盒1620和/或电视1630可能具有52寸的屏幕尺寸,可能具有1080p分辨率,并且可能连接有八个扬声器。因此,数字助理确定任务将在机顶盒1620和/或电视1630上执行。

在一些示例中,用户设备1600的数字助理确定在第一电子设备处执行任务不满足性能标准。根据确定,数字助理确定在第二电子设备处执行任务是否满足性能标准。例如,如图16B所示,电视1630可能具有不满足性能标准(例如,1080p)的屏幕分辨率(例如,720p)。因此,数字助理确定电话1622(例如智能手机)或平板电脑1632中的任何一者是否满足性能标准。

在一些示例中,数字助理确定哪个设备提供任务的最佳性能。例如,如图16B所示,数字助理评估或估计分别在用户设备1600、机顶盒1620和电视1630、电话1622以及平板电脑1632上执行播放影片ABC.mov的任务的性能。基于评估或估计,数字助理确定在一个设备(例如,用户设备1600)上执行任务是否优于在另一设备(例如,电话1622)上执行任务,并且确定可实现最佳性能的设备。

如前所述,在一些示例中,根据确定用于执行任务的设备,数字助理在用户设备1600上提供响应。在一些实施方案中,提供响应包括根据将在设备处执行的任务提供口语输出。如图16B所示,由示能表示1640或1641表示的数字助理提供口语输出1672,诸如“我将在您的电视上播放此影片,是否继续?”在一些示例中,数字助理从用户接收到语音输入1654,诸如“好的”。作为响应,数字助理将使得影片ABC.mov在例如机顶盒1620和电视1630上播放,并且提供口语输出1674,诸如“正在您的电视上播放您的影片”。

在一些示例中,提供响应包括提供一个或多个使得用户能够选择另一电子设备用于执行任务的示能表示。如图16B所示,例如,数字助理提供示能表示1655A-B(例如,取消按钮和平板电脑按钮)。示能表示1655A使得用户能够取消在机顶盒1620和电视1630上播放影片ABC.mov。示能表示1655B使得用户能够选择平板电脑1632以继续播放影片ABC.mov。

参考图16C,在一些实施方案中,为了确定用于执行任务的设备,用户设备1600的数字助理发起与用户的对话。例如,数字助理提供口语输出1676,诸如“我应该在电视上还是平板电脑上播放您的影片?”用户提供语音输入1656,诸如“在我的平板电脑上”。在接收到语音输入1656时,数字助理确定播放影片的任务将在可通信地连接到用户设备1600的平板电脑1632上执行。在一些示例中,数字助理进一步提供口语输出1678,诸如“正在您的平板电脑上播放您的影片”。

参考图17A,在一些实施方案中,用户设备1700的数字助理继续执行其中一部分在第一电子设备处远程执行的任务。在一些实施方案中,用户设备的数字助理继续使用从第三电子设备接收到的内容来执行任务。如图17A所示,在一些示例中,电话1720可能已经在使用来自第三电子设备(诸如服务器1730)的内容执行航班预订的任务。例如,用户可能已经在使用电话1720从Kayak.com预订航班。因此,电话1720接收从与Kayak.com相关联的服务器1730传输的内容。在一些示例中,用户可能会在通过电话1720预订航班时被中断,并且可能希望使用用户设备1700继续预订航班。在一些示例中,用户可能仅仅因为使用用户设备1700更方便而希望继续预订航班。因此,用户可能提供语音输入1752,诸如“通过我的电话继续在Kayak上预订航班”。

参考图17B,在接收到语音输入1752时,数字助理确定用户意图是执行航班预订的任务。在一些示例中,数字助理进一步基于上下文信息确定任务将在用户设备1700上执行。例如,数字助理确定语音输入1752在用户设备1700上被接收,因此确定该任务将在用户设备1700上执行。在一些示例中,数字助理进一步使用诸如用户偏好(例如,用户设备1700过去被频繁地用于航班预订)的上下文信息来确定任务将在用户设备1700上执行。

如图17B所示,根据确定任务将在用户设备1700处执行并且用于执行任务的内容位于远程位置,数字助理接收用于执行任务的内容。在一些示例中,数字助理从电话1720(例如,智能电话)接收内容的至少一部分和/或从服务器1730接收内容的至少一部分。例如,数字助理从电话1720接收到表示航班预订状态的数据,使得用户设备1700可继续航班预订。在一些示例中,表示航班预订状态的数据存储在服务器1730(诸如与Kayak.com相关联的服务器)上。因此,数字助理从服务器1730接收用于继续航班预订的数据。

如图17B所示,在从电话1720和/或服务器1730接收到内容之后,数字助理在用户设备1700上提供响应。在一些示例中,提供响应包括继续执行曾有一部分在电话1720上远程执行的航班预订任务。例如,数字助理显示用户界面1742,该用户界面使得用户能够继续在Kayak.com上预订航班。在一些示例中,提供响应包括提供与将在用户设备1700上执行的任务相关联的链接。例如,数字助理显示提供当前航班预订状态(例如,显示可订航班)的用户界面1742(例如,片段或窗口)。用户界面1742还提供用于继续执行航班预订任务的链接1744(例如,指向Web浏览器的链接)。在一些实施方案中,数字助理还提供口语输出1772,诸如“这是在Kayak上的预订。是否在您的Web浏览器中继续?”

如图17B和图17C所示,例如,如果用户选择链接1744,数字助理会实例化Web浏览过程,并且显示用户界面1746(例如,片段或窗口)用于继续执行航班预订任务。在一些示例中,响应于口语输出1772,用户提供语音输入1756(诸如“确定”),确认用户希望使用用户设备1700的Web浏览器继续航班预订。在接收到语音输入1756时,数字助理会实例化Web浏览过程,并且显示用户界面1746(例如,片段或窗口)用于继续航班预订任务。

参考图17D,在一些实施方案中,用户设备1700的数字助理继续执行曾有一部分在第一电子设备处远程执行的任务。在一些实施方案中,用户设备的数字助理继续使用从第一电子设备而不是第三电子设备(诸如服务器)接收的内容来执行任务。如图17D所示,在一些示例中,第一电子设备(例如,电话1720或平板电脑1732)可能已经在执行任务。例如,用户可能已经在使用电话1720来撰写电子邮件,或者可能已经在使用平板电脑1732来编辑诸如照片的文档。在一些示例中,用户在使用电话1720或平板电脑1732时被中断,和/或希望使用用户设备1700来继续执行任务。在一些示例中,用户可能仅仅因为使用用户设备1700更方便(例如大屏幕)而希望继续执行任务。因此,用户可能提供语音输入1758(诸如“打开我刚才正在编辑的文档”)或者语音输入1759(诸如“打开我刚才正在撰写的电子邮件草稿”)。

参考图17D,在接收到语音输入1758或1759时,数字助理确定用户意图是执行编辑文档或撰写电子邮件的任务。与上文所述的那些类似,在一些示例中,数字助理进一步基于上下文信息来确定任务将在用户设备1700上执行,并且确定用于执行任务的内容位于远程位置。与上文所述的那些类似,在一些示例中,数字助理基于上下文信息(例如,特定于用户的数据)确定内容位于远程的第一电子设备处(例如,在电话1720或平板电脑1732上),而不是在服务器上。如图17D所示,根据确定任务将在用户设备1700处执行并且用于执行任务的内容位于远程位置,数字助理接收用于执行任务的内容。在一些示例中,数字助理从电话1720(例如,智能电话)接收内容的至少一部分和/或从平板电脑1730接收内容的至少一部分。在从电话1720和/或平板电脑1732接收到内容之后,数字助理在用户设备1700处提供响应,诸如显示用户界面1748供用户继续编辑文档,和/或显示用户界面1749供用户继续撰写电子邮件。应当理解,用户设备1700的数字助理也可使第一电子设备继续执行曾有一部分在用户设备1700上远程执行的任务。例如,用户可能在用户设备1700上撰写电子邮件并且可能需要离开。用户提供语音输入,诸如“打开我在我的电话上撰写的电子邮件草稿”。基于语音输入,数字助理确定用户意图是在电话1720上继续执行任务,并且内容位于远程的用户设备1700上。在一些示例中,数字助理向第一电子设备提供用于执行任务的内容,并且使得第一电子设备继续执行任务,与上文所述的那些类似。

参考图17E,在一些实施方案中,任务的继续执行基于在多个设备之间共享或同步的上下文信息,包括例如用户设备1700和第一电子设备(例如,电话1720)之间。如前所述,在一些示例中,数字助理基于语音输入和上下文信息来确定用户意图。上下文信息可以本地存储或远程存储。例如,如图17E所示,用户向电话1720提供语音输入1760,诸如“纽约的天气如何?”。电话1720的数字助理确定用户意图,执行任务以获得纽约的天气信息,并且在电话1720的用户界面上显示纽约的天气信息。用户随后向用户设备1700提供语音输入1761,诸如“洛杉矶怎么样?”。在一些示例中,用户设备1700的数字助理使用存储在电话1720上或通过该电话共享的上下文信息直接或通过服务器确定用户意图。上下文信息包括例如与电话1720相关联的用户历史数据、会话状态、系统状态等。用户历史数据和会话状态两者都指示用户正在查询天气信息。因此,用户设备1700的数字助理确定用户意图是获得洛杉矶的天气信息。基于用户意图,用户设备1700的数字助理从例如服务器接收天气信息,并且在用户设备1710上提供显示天气信息的用户界面1751。

6.数字助理的示例性功能——支持语音的系统配置管理

图18A-图18F和图19A-图19D示出了数字助理响应于用户请求而提供系统配置信息或执行任务的功能。在一些示例中,数字助理系统(例如,数字助理系统700)可由用户设备根据各种示例来实现。在一些示例中,用户设备、服务器(例如,服务器108)或它们的组合可实现数字助理系统(例如,数字助理系统700)。例如,可使用设备104、200或400来实现用户设备。在一些示例中,用户设备是膝上型计算机、台式计算机或平板电脑。用户设备可在多任务环境中操作,诸如台式计算机环境。

参考图18A-图18F和图19A-图19D,在一些示例中,用户设备提供各种用户界面(例如,用户界面1810和1910)。与上文所述的那些类似,用户设备在显示器上显示各种用户界面,并且各种用户界面使得用户能够实例化一个或多个过程(例如,系统配置过程)。

如图18A-图18F和图19A-图19D所示,与上文所述的那些类似,用户设备在用户界面(例如,用户界面1810和1910)上显示示能表示(例如,示能表示1840和1940),以促进数字助理服务的实例化。

与上文所述的那些类似,在一些示例中,响应于接收到预先确定的短语来实例化数字助理。在一些示例中,响应于接收到对示能表示的选择来实例化数字助理。

参考图18A-图18F和图19A-图19D,在一些实施方案中,数字助理从用户接收一个或多个语音输入,诸如语音输入1852、1854、1856、1858、1860、1862、1952、1954、1956和1958。用户提供各种语音输入,用于管理用户设备的一项或多项系统配置的目的。系统配置可包括音频配置、日期和时间配置、口述配置、显示配置、输入设备配置、通知配置、打印配置、安全配置、备份配置、应用配置、用户界面配置等。要管理音频配置,语音输入可包括“静音我的麦克风”、“将音量调到最高”、“将音量提高10%”等。要管理日期和时间配置,语音输入可包括“我的时区是什么?”、“将我的时区更改为库比蒂诺时间”、“为伦敦时区添加时钟”等。要管理口述配置,语音输入可包括“打开口述”、“关闭口述”、“以中文口述”、“启用高级命令”等。要管理显示配置,语音输入可包括“将我的屏幕调亮”、“将对比度增加20%”、“将我的屏幕延伸至第二监视器”、“镜像我的显示器”等。要管理输入设备配置,语音输入可包括“连接我的蓝牙键盘”、“放大我的鼠标指针”等。要管理网络配置,语音输入可包括“打开Wi-Fi”、“关闭Wi-Fi”、“我将连接到哪个Wi-Fi网络?”、“我是否连接到了我的电话?”等。要管理通知配置,语音输入可包括“打开‘请勿打扰’”、“停止向我显示这些通知”、“仅显示新电子邮件”、“没有针对文本消息的提示”等。要管理打印配置,语音输入可包括“我的打印机是否有足够的墨水?”、“我的打印机是否已连接?”等。要管理安全配置,语音输入可包括“更改John的帐户密码”、“打开防火墙”、“禁用Cookie”等。要管理备份配置,语音输入可包括“立即运行备份”、“将备份间隔时间设置为一个月一次”、“恢复去年7月4日的备份”等。要管理应用配置,语音输入可包括“将我的默认Web浏览器更改为Safari”、“在我每次登入时自动登录到‘消息’应用”等。要管理用户界面配置,语音输入可包括“更改我的桌面墙纸”、“隐藏任务栏”、“将Evernote添加至任务栏”等。下文更详细地描述了使用语音输入管理系统配置的各种示例。

与上文所述的那些类似,在一些示例中,数字助理在用户设备处直接从用户接收语音输入,或通过可通信地连接到用户设备的另一电子设备间接接收语音输入。

参考图18A-图18F和图19A-图19D,在一些实施方案中,数字助理识别与用户设备相关联的上下文信息。上下文信息包括例如特定于用户的数据,传感器数据和用户设备配置数据。在一些示例中,特定于用户的数据包括指示用户偏好的日志信息、用户与用户设备交互的历史记录等。例如,特定于用户的数据指示上次备份用户系统的时间;以及当有多个Wi-Fi网络可用或类似时,用户对特定Wi-Fi网络的偏好。在一些示例中,传感器数据包括由传感器收集的各种数据。例如,传感器数据指示由打印机墨水量传感器收集的打印机墨水量。在一些示例中,用户设备配置数据包括当前设备配置和历史设备配置。例如,用户设备配置数据指示用户设备当前可通信地连接到使用蓝牙连接的一个或多个电子设备。电子设备可包括例如智能电话、机顶盒、平板电脑等。如下文更详细所述,用户设备可使用上下文信息确定用户意图和/或执行一个或多个过程。

参考图18A-图18F和图19A-图19D,与上文所述的那些类似,响应于接收到语音输入,数字助理基于语音输入确定用户意图。数字助理基于自然语言处理的结果确定用户意图。例如,数字助理基于用户输入识别可执行意图,并且生成结构化查询以表示所识别的可执行意图。结构化查询包括与可执行意图相关联的一个或多个参数。该一个或多个参数可用于促进基于可执行意图执行任务。例如,基于语音输入(诸如“将音量调高10%”),数字助理确定可执行意图是调节系统音量,并且参数包括将音量设置为比当前音量高10%。在一些实施方案中,数字助理还基于语音输入和上下文信息确定用户意图。例如,上下文信息可指示用户设备的当前音量为50%。因此,在接收到语音输入(诸如“将音量调高10%”)时,数字助理确定用户意图是将音量增大到60%。以下在各种示例中更详细地描述了基于语音输入和上下文信息确定用户意图。

在一些实施方案中,数字助理进一步确定用户意图是指示信息请求还是指示用于执行任务的请求。下文相对于图18A-图18F和图19A-图19D更详细地提供了确定的各种示例。

参考图18A,在一些示例中,用户设备显示与执行任务相关联的用户界面1832。例如,任务包括撰写会议邀请。在撰写会议邀请时,用户可能希望了解用户设备的时区,使得会议邀请能够被正确地撰写。在一些示例中,用户提供语音输入1852以调用由示能表示1840或1841表示的数字助理。语音输入1852包括例如“嘿,助理”。用户设备接收到语音输入1852,并且作为响应,调用数字助理,使得数字助理主动监测后续语音输入。在一些示例中,数字助理提供指示其已被调用的口语输出1872。例如,口语输出1872包括“开始吧,我正在收听”。

参考图18B,在一些示例中,用户提供语音输入1854,诸如“我的时区是什么?”数字助理确定用户意图是获得用户设备的时区。数字助理进一步确定用户意图是指示信息请求还是指示执行任务的请求。在一些示例中,确定用户意图是指示信息请求还是指示用于执行任务的请求包括确定用户意图是否是改变系统配置。例如,基于确定用户意图是获得用户设备的时区,数字助理确定没有系统配置被改变。因此,数字助理确定用户意图指示信息请求。

在一些实施方案中,根据确定用户意图指示信息请求,数字助理提供对信息请求的口语响应。在一些示例中,数字助理根据信息请求获得一项或多项系统配置的状态,并且根据一项或多项系统配置的状态提供口语响应。如图18B所示,数字助理确定用户意图是获得用户设备的时区,并且该用户意图指示信息请求。因此,数字助理从用户设备的时间和日期配置获得时区状态。时区状态指示例如用户设备被设置为太平洋时区。基于该时区状态,数字助理提供口语输出1874,诸如“您的计算机被设置为太平洋标准时间”。在一些示例中,数字助理进一步提供与信息请求相关联的链接。如图18B所示,数字助理提供链接1834,使得用户能够进一步管理数据和时间配置。在一些示例中,用户使用输入设备(例如,鼠标)来选择链接1834。在接收到用户对链接1834的选择时,数字助理实例化日期和时间配置过程,并显示相关联的日期和时间配置用户界面。因此,用户可以使用日期和时间配置用户界面来进一步管理日期和时间配置。

参考图18C,在一些示例中,用户设备显示与执行任务相关联的用户界面1836。例如,任务包括播放视频(例如,ABC.mov)。为了增强观看视频的体验,用户可能希望使用扬声器,并且可能想知道蓝牙扬声器是否已连接。在一些示例中,用户提供语音输入1856,诸如“我的蓝牙扬声器是否已连接?”。数字助理确定用户意图是获得蓝牙扬声器1820的连接状态。数字助理进一步确定获得蓝牙扬声器1820的连接状态不会改变任何系统配置,因此是信息请求。

在一些实施方案中,根据确定用户意图指示信息请求,数字助理根据信息请求获得系统配置的状态,并且根据系统配置的状态提供口语响应。如图18C所示,数字助理从用户设备的网络配置获得连接状态。连接状态指示例如用户设备1800未连接到蓝牙扬声器1820。基于连接状态,数字助理提供口语输出1876,诸如“否,它未连接,您可以在网络配置中检查蓝牙设备”。在一些示例中,数字助理进一步提供与信息请求相关联的链接。如图18C所示,数字助理提供链接1838,使得用户能够进一步管理网络配置。在一些示例中,用户使用输入设备(例如,鼠标)来选择链接1838。在接收到用户对链接1838的选择时,数字助理实例化网络配置过程,并显示相关联的网络配置用户界面。因此,用户可以使用网络配置用户界面来进一步管理网络配置。

参考图18D,在一些示例中,用户设备显示与执行任务相关联的用户界面1842。例如,任务包括查看和/或编辑文档。用户可能希望打印文档,并且可能想知道打印机1830是否有足够的墨水用于打印作业。在一些示例中,用户提供语音输入1858,诸如“我的打印机是否有足够的墨水?”数字助理确定用户意图是获得打印机的打印机墨水量状态。数字助理进一步确定,获得打印机墨水量状态不改变任何系统配置,因此是信息请求。

在一些实施方案中,根据确定用户意图指示信息请求,数字助理根据信息请求获得系统配置的状态,并且根据系统配置的状态提供口语响应。如图18D所示,数字助理从用户设备的打印配置获得打印机墨水量状态。打印机墨水量状态指示例如打印机1830的打印机墨水量为50%。基于连接状态,数字助理提供口语输出1878,诸如“是,您的打印机有足够的墨水。您还可以在打印机配置中查找打印机墨水供给量。”在一些示例中,数字助理进一步提供与信息请求相关联的链接。如图18D所示,数字助理提供链接1844,使得用户能够进一步管理打印机配置。在一些示例中,用户使用输入设备(例如,鼠标)来选择链接1844。在接收到用户对链接的选择时,数字助理实例化打印机配置过程,并显示相关联的打印机配置用户界面。因此,用户可以使用打印机配置用户界面来进一步管理打印机配置。

参考图18E,在一些示例中,用户设备显示与执行任务相关联的用户界面1846。例如,任务包括使用Web浏览器(例如Safari)浏览互联网。要浏览互联网,用户可能希望了解可用的Wi-Fi网络并选择一个Wi-Fi网络来连接。在一些示例中,用户提供语音输入1860,诸如“哪些Wi-Fi网络可用?”数字助理确定用户意图是获得可用Wi-Fi网络的列表。数字助理进一步确定获得可用Wi-Fi网络的列表不改变任何系统配置,因此是信息请求。

在一些实施方案中,根据确定用户意图指示信息请求,数字助理根据信息请求获得系统配置的状态,并且根据系统配置的状态提供口语响应。如图18E所示,数字助理从用户设备的网络配置获得当前可用Wi-Fi网络的状态。当前可用Wi-Fi网络的状态指示例如Wi-Fi网络1、Wi-Fi网络2和Wi-Fi网络3可用。在一些示例中,该状态进一步指示Wi-Fi网络中的每一个的信号强度。数字助理显示根据该状态提供信息的用户界面1845。例如,用户界面1845提供可用Wi-Fi网络的列表。数字助理还提供口语输出1880,诸如“这是可用Wi-Fi网络的列表”。在一些示例中,数字助理进一步提供与信息请求相关联的链接。如图18E所示,数字助理提供链接1847,使得用户能够进一步管理网络配置。在一些示例中,用户使用输入设备(例如,鼠标)来选择链接1847。在接收到用户对链接1847的选择时,数字助理实例化网络配置过程,并显示相关联的网络配置用户界面。因此,用户可以使用网络配置用户界面来进一步管理配置。

参考图18F,在一些示例中,用户设备显示与执行任务相关联的用户界面1890。例如,任务包括准备会议议程。在准备会议议程时,用户可能希望为会议查找日期和时间。在一些示例中,用户提供语音输入1862,诸如“在我的日历上查找一个时间用于在下周二上午举行会议”。数字助理确定用户意图是在用户的日历上查找属于下周二上午的可用时隙。数字助理进一步确定查找时隙不改变任何系统配置,因此是信息请求。

在一些实施方案中,根据确定用户意图指示信息请求,数字助理根据信息请求获得系统配置的状态,并且根据系统配置的状态提供口语响应。如图18F所示,数字助理从日历配置获得用户日历的状态。用户日历的状态指示例如星期二上午9点或上午11点仍然有空。数字助理显示根据状态提供信息的用户界面1891。例如,用户界面1891提供在用户请求的日期和时间附近的用户日历。在一些示例中,数字助理还提供口语输出1882,诸如“看起来星期二上午9点或11点有空”。在一些示例中,数字助理进一步提供与信息请求相关联的链接。如图18F所示,数字助理提供链接1849,使得用户能够进一步管理日历配置。在一些示例中,用户使用输入设备(例如,鼠标)来选择链接1849。在接收到用户对链接1849的选择时,数字助理实例化日历配置过程,并显示相关联的日历配置用户界面。因此,用户可以使用日历配置用户界面来进一步管理配置。

参考图19A,用户设备显示与执行任务相关联的用户界面1932。例如,任务包括播放视频(例如,ABC.mov)。在播放视频时,用户可能希望调高音量。在一些示例中,用户提供语音输入1952,诸如“将音量开到最大”。数字助理确定用户意图是将音量增大到其最大水平。数字助理进一步确定用户意图是指示信息请求还是指示用于执行任务的请求。例如,基于确定用户意图是增大用户设备的音量,数字助理确定某项音频配置将被改变,因此用户意图指示用于执行任务的请求。

在一些实施方案中,根据确定用户意图指示用于执行任务的请求,数字助理实例化与用户设备相关联的过程来执行任务。实例化过程包括调用尚未运行的过程。如果过程的至少一个实例正在运行,则实例化过程包括执行该过程的现有实例或生成该过程的新实例。例如,实例化音频配置过程包括使用现有音频配置过程调用音频配置过程,或者生成音频配置过程的新实例。在一些示例中,实例化过程包括使用该过程执行任务。例如,如图19A所示,根据用户意图是将音量增大到其最大水平,数字助理实例化音频配置过程来将音量设置为其最大水平。在一些示例中,数字助理进一步提供口语输出1972,诸如“确定,我将音量调到了最大”。

参考图19B,用户设备显示与执行任务相关联的用户界面1934。例如,任务包括查看或编辑文档。用户可能希望降低屏幕亮度来保护眼睛。在一些示例中,用户提供语音输入1954,诸如“将屏幕亮度设置为降低10%”。数字助理基于语音输入1954和上下文信息来确定用户意图。例如,上下文信息指示当前亮度配置为90%。因此,数字助理确定用户意图是将亮度水平从90%降低到80%。数字助理进一步确定用户意图是指示信息请求还是指示用于执行任务的请求。例如,基于确定用户意图是将屏幕亮度更改为80%,数字助理确定某项显示配置将被改变,因此用户意图指示用于执行任务的请求。

在一些实施方案中,根据确定用户意图指示用于执行任务的请求,数字助理实例化一个过程来执行任务。例如,如图19B所示,根据用户意图改变亮度水平,数字助理实例化显示配置过程来将亮度水平降低至80%。在一些示例中,数字助理进一步提供口语输出1974,诸如“确定,我将屏幕亮度调到了80%”。在一些示例中,如图19B所示,数字助理提供示能表示1936,使得用户能够操纵执行任务的结果。例如,示能表示1936可以是允许用户进一步改变亮度水平的滑动条。

参考图19C,用户设备显示与执行任务相关联的用户界面1938。例如,任务包括提供一个或多个通知。通知可包括电子邮件的提示、消息、提醒等。在一些示例中,通知在用户界面1938中提供。通知可实时或在用户设备处可用后立即显示或提供给用户。例如,在用户设备接收到通知之后,通知立即出现在用户界面1938和/或用户界面1910上。有时,用户可能在执行重要任务(例如编辑文档),并且可能不想被通知干扰。在一些示例中,用户提供语音输入1956,诸如“传入电子邮件时不通知我”。数字助理确定用户意图是关闭关于电子邮件的提示。基于确定用户意图是关闭传入电子邮件的提示,数字助理确定通知配置将被改变,因此用户意图指示用于执行任务的请求。

在一些实施方案中,根据确定用户意图指示用于执行任务的请求,数字助理实例化一个过程来执行任务。例如,如图19C所示,根据用户意图,数字助理实例化通知配置过程以关闭电子邮件的提示。在一些示例中,数字助理进一步提供口语输出1976,诸如“确定,我关闭了针对邮件的通知”。在一些示例中,如图19C所示,数字助理提供用户界面1942(例如,片段或窗口),使得用户能够操纵执行任务的结果。例如,用户界面1942提供示能表示1943(例如,取消按钮)。如果用户希望继续接收电子邮件的通知,例如,用户可选择示能表示1943以重新打开关于电子邮件的通知。在一些示例中,用户还可提供其他语音输入,诸如“传入电子邮件时通知我”以打开电子邮件的通知。

参考图19D,在一些实施方案中,数字助理可能无法基于用户的语音输入完成任务,因此可提供用户界面以使得用户能够执行任务。如图19D所示,在一些示例中,用户提供语音输入1958,诸如“在我的屏幕保护程序上显示自定义消息”。数字助理确定用户意图是将屏幕保护程序设置更改为显示自定义消息。数字助理进一步确定用户意图是改变显示配置,因此用户意图指示用于执行任务的请求。

在一些实施方案中,根据确定用户意图指示用于执行任务的请求,数字助理实例化与用户设备相关联的过程来执行任务。在一些示例中,如果数字助理无法基于用户意图完成任务,则它提供使得用户能够执行任务的用户界面。例如,基于语音输入1958,数字助理可能无法确定将在屏幕保护程序上显示的自定义消息的内容,因此无法完成用于显示自定义消息的任务。如图19D所示,在一些示例中,数字助理实例化显示配置过程并提供用户界面1946(例如,片段或窗口)以使得用户能够手动更改屏幕保护程序设置。作为另一个示例,数字助理提供链接1944(例如,指向显示配置的链接),使得用户能够执行任务。用户通过使用诸如鼠标、手指或触笔的输入设备来选择链接1944。在接收到用户的选择时,数字助理实例化显示配置过程并显示用户界面1946,以使得用户能够更改屏幕保护程序设置。在一些示例中,数字助理进一步提供口语输出1978,诸如“您可以在屏幕保护程序配置中浏览屏幕保护程序选项”。

7.用于操作数字助理的过程——智能搜索和对象管理。

图20A-图20G示出了根据一些实施方案用于操作数字助理的示例性过程2000的流程图。过程2000可使用一个或多个设备104、108、200、400、或600(图1、图2A、图4或图6A-图6B)来执行。过程2000中的操作任选地被组合或拆分,和/或一些操作的次序任选地被更改。

参考图20A,在框2002处,在接收到第一语音输入之前,将调用数字助理服务的示能表示被显示在与用户设备相关联的显示器上。在框2003处,响应于接收到预先确定的短语来调用数字助理。在框2004处,响应于接收到对示能表示的选择来调用数字助理。

在框2006处,从用户接收第一语音输入。在框2008处,识别与用户设备相关联的上下文信息。在框2009处,上下文信息包括以下中的至少一者:特定于用户的数据、与一个或多个对象相关联的元数据、传感器数据和用户设备配置数据。

在框2010处,基于第一语音输入和上下文信息来确定用户意图。在框2012处,为了确定用户意图,确定一个或多个可执行意图。在框2013处,确定与可执行意图相关联的一个或多个参数。

参考图20B,在框2015处,确定用户意图是使用搜索过程还是对象管理过程来执行任务。搜索过程被配置为搜索存储在用户设备内部或外部的数据,而对象管理过程被配置为管理与用户设备相关联的对象。在框2016处,确定语音输入是否包括表示搜索过程或对象管理过程的一个或多个关键字。在框2018处,确定任务是否与搜索相关联。在框2020处,根据确定任务与搜索相关联,确定执行任务是否需要搜索过程。在框2021处,根据确定执行任务不需要搜索过程,输出选择搜索过程或对象管理过程的语音请求,并且从用户接收第二语音输入。第二语音输入指示搜索过程或对象管理过程的选择。

在框2022处,根据确定执行任务不需要搜索过程,基于预先确定的配置来确定任务将使用搜索过程还是对象管理过程来执行。

参考图20C,在框2024处,根据确定任务不与搜索相关联,确定任务是否与管理至少一个对象相关联。在框2025处,根据确定任务不与管理至少一个对象相关联,执行以下操作中的至少一项:确定该任务是否可以使用可用于用户设备的第四过程执行,并发起与用户的对话。

在框2026处,根据确定用户意图是使用搜索过程执行任务,使用搜索过程执行任务。在框2028处,使用搜索过程搜索至少一个对象。在框2029处,至少一个对象包括文件夹或文件中的至少一者。在框2030处,文件包括照片、音频或视频中的至少一者。在框2031处,文件被存储在用户设备内部或外部。在框2032处,搜索文件夹或文件中的至少一者基于与文件夹或文件相关联的元数据。在框2034处,至少一个对象包括通信。在框2035处,通信包括电子邮件、消息、通知或语音邮件中的至少一者。在框2036处,搜索与通信相关联的元数据。

参考图20D,在框2037处,至少一个对象包括联系人或日历中的至少一者。在框2038处,至少一个对象包括应用。在框2039处,至少一个对象包括在线信息源。

在框2040处,根据确定用户意图是使用对象管理过程执行任务,使用对象管理过程执行任务。在框2042处,任务与搜索相关联,并且使用对象管理过程搜索至少一个对象。在框2043处,至少一个对象包括文件夹或文件中的至少一者。在框2044处,文件包括照片、音频或视频中的至少一者。在框2045处,文件被存储在用户设备内部或外部。在框2046处,搜索文件夹或文件中的至少一者基于与文件夹或文件相关联的元数据。

在框2048处,对象管理过程被实例化。实例化对象管理过程包括调用对象管理过程、生成对象管理过程的新实例或执行对象管理过程的现有实例。

参考图20E,在框2049处,至少一个对象被创建。在框2050处,至少一个对象被存储。在框2051处,至少一个对象被压缩。在框2052处,至少一个对象被从第一物理存储装置或虚拟存储装置移动到第二物理存储装置或虚拟存储装置。在框2053处,至少一个对象被从第一物理存储装置或虚拟存储装置复制到第二物理存储装置或虚拟存储装置。在框2054处,至少一个存储在物理存储装置或虚拟存储装置中的对象被删除。在框2055处,至少一个存储在物理存储装置或虚拟存储装置中的对象被恢复。在框2056处,至少一个对象被标记。至少一个对象的标记为可见的或与至少一个对象的元数据相关联中的至少一者。在框2057处,根据备份的预先确定的时间段来备份至少一个对象。在框2058处,在可通信地连接到用户设备的一个或多个电子设备之间共享至少一个对象。

参考图20F,在框2060处,基于使用搜索过程或对象管理过程执行任务的结果来提供响应。在框2061处,显示提供使用搜索过程或对象管理过程执行任务的结果的第一用户界面。在框2062处,显示与使用搜索过程执行任务的结果相关联的链接。在框2063处,根据使用搜索过程或对象管理过程执行任务的结果来提供口语输出。

在框2064处,提供一种示能表示,该示能表示使得用户能够操纵使用搜索过程或对象管理过程执行任务的结果。在框2065处,实例化使用执行任务的结果进行操作的第三过程。

参考图20F,在框2066处,确定置信度水平。在框2067处,置信度水平表示基于与用户设备相关联的第一语音输入和上下文信息来确定用户意图的准确性。在框2068处,置信度水平表示确定用户意图是使用搜索过程还是对象管理过程来执行任务的准确性。

参考图20G,在框2069处,置信度水平表示使用搜索过程或对象管理过程执行任务的准确性。

在框2070处,根据确定的置信度水平提供响应。在框2071处,确定置信度水平是否大于或等于阈值置信度水平。在框2072处,根据确定置信度水平大于或等于阈值置信度水平,提供第一响应。在框2073处,根据确定置信度水平小于阈值置信度水平,提供第二响应。

8.用于操作数字助理的过程——连续性。

图21A-图21E示出了根据一些实施方案用于操作数字助理的示例性过程2100的流程图。过程2100可使用一个或多个设备104、108、200、400、600、1400、1500、1600或1700(图1、图2A、图4、图6A-图6B、图14A-图14D、图15A-图15D、图16A-图16C和图17A-17E)来执行。过程2100中的一些操作任选地被组合或拆分,和/或一些操作的次序任选地被改变。

参考图21A,在框2102处,在接收到第一语音输入之前,将调用数字助理服务的示能表示被显示在与用户设备相关联的显示器上。在框2103处,响应于接收到预先确定的短语来调用数字助理。在框2104处,响应于接收到对示能表示的选择来调用数字助理。

在框2106处,从用户接收到第一语音输入以执行任务。在框2108处,识别与用户设备相关联的上下文信息。在框2109处,用户设备被配置为提供多个用户界面。在框2110处,用户设备包括膝上型计算机、台式计算机或服务器。在框2112处,上下文信息包括以下中的至少一者:特定于用户的数据、与一个或多个对象相关联的元数据、传感器数据和用户设备配置数据。

在框2114处,基于语音输入和上下文信息来确定用户意图。在框2115处,为确定用户意图,确定一个或多个可执行意图。在框2116处,确定与可执行意图相关联的一个或多个参数。

参考图21B,在框2118处,根据用户意图,确定将在用户设备处还是在可通信地连接到用户设备的第一电子设备处执行任务。在框2120处,第一电子设备包括膝上型计算机、台式计算机、服务器、智能电话、平板电脑、机顶盒或手表。在框2121处,确定任务将在用户设备处执行还是在第一电子设备处执行基于包括在语音输入中的一个或多个关键字。在框2122处,确定在用户设备处执行任务是否满足性能标准。在框2123处,基于一项或多项用户偏好来确定性能标准。在框2124处,基于设备配置数据来确定性能标准。在框2125处,动态地更新性能标准。在框2126处,根据确定在用户设备处执行任务满足性能标准,确定任务将在用户设备处执行。

参考图21C,在框2128处,根据确定在用户设备处执行任务不满足性能标准,确定在第一电子设备处执行任务是否满足性能标准。在框2130处,根据确定在第一电子设备处执行任务满足性能标准,确定任务将在第一电子设备处执行。在框2132处,根据确定在第一电子设备处执行任务不满足性能标准,确定在第二电子设备处执行任务是否满足性能标准。

在框2134处,根据确定任务将在用户设备处执行并且用于执行任务的内容位于远程位置,接收用于执行任务的内容。在框2135处,从第一电子设备接收内容的至少一部分。内容的至少一部分存储在第一电子设备中。在框2136处,从第三电子设备接收内容的至少一部分。

参考图21D,在框2138处,根据确定任务将在第一电子设备处执行并且用于执行任务的内容被远程定位到第一电子设备,用于执行任务的内容被提供给第一电子设备。在框2139处,内容的至少一部分从用户设备提供给第一电子设备。内容的至少一部分存储在用户设备中。在框2140处,使内容的至少一部分从第四电子设备提供给第一电子设备。内容的至少一部分存储在第四电子设备中。

在框2142处,任务将在用户设备处执行。使用所接收的内容在用户设备处提供第一响应。在框2144处,任务在用户设备处执行。在框2145处,在用户设备处执行任务是部分地对于用户设备远程地执行的任务的延续。在框2146处,显示与将在用户设备处执行的任务相关联的第一用户界面。在框2148处,与任务相关联的链接将在用户设备处执行。在框2150处,根据将在用户设备处执行的任务提供口语输出。

参考图21E,在框2152处,任务将在第一电子设备处执行,并且在用户设备处提供第二响应。在框2154处,任务将在第一电子设备处执行。在框2156处,将在第一电子设备处执行的任务是对于第一电子设备远程地执行的任务的延续。在框2158处,根据将在第一电子设备处执行的任务提供口语输出。在框2160处,根据将在第一电子设备处执行的任务提供口语输出。

9.用于操作数字助理的过程——系统配置管理。

图22A-图22D示出了根据一些实施方案的用于操作数字助理的示例性过程2200的流程图。过程2200可使用一个或多个设备104、108、200、400、600、或1800(图1、图2A、图4、图6A-图6B和图18C-图18D)来执行。过程2200中的操作任选地被组合或拆分,和/或一些操作的次序任选地被更改。

参考图22A,在框2202处,在接收到语音输入之前,将调用数字助理服务的示能表示被显示在与用户设备相关联的显示器上。在框2203处,响应于接收到预先确定的短语来调用数字助理。在框2204处,响应于接收到对示能表示的选择来调用数字助理。

在框2206处,从用户接收到语音输入来管理用户设备的一项或多项系统配置。用户设备被配置为同时提供多个用户界面。在框2207处,用户设备的一项或多项系统配置包括音频配置。在框2208处,用户设备的一项或多项系统配置包括日期和时间配置。在框2209处,用户设备的一项或多项系统配置包括口述配置。在框2210处,用户设备的一项或多项系统配置包括显示配置。在框2211处,用户设备的一项或多项系统配置包括输入设备配置。在框2212处,用户设备的一项或多项系统配置包括网络配置。在框2213处,用户设备的一项或多项系统配置包括通知配置。

参考图22B,在框2214处,用户设备的一项或多项系统配置包括打印机配置。在框2215处,用户设备的一项或多项系统配置包括安全性配置。在框2216处,用户设备的一项或多项系统配置包括备份配置。在框2217处,用户设备的一项或多项系统配置包括应用配置。在框2218处,用户设备的一项或多项系统配置包括用户界面配置。

在框2220处,识别与用户设备相关联的上下文信息。在框2223处,上下文信息包括以下中的至少一者:特定于用户的数据、设备配置数据和传感器数据。在框2224处,基于语音输入和上下文信息来确定用户意图。在框2225处,确定一个或多个可执行意图。在框2226处,确定与可执行意图相关联的一个或多个参数。

参考图22C,在框2228处,确定用户意图是指示信息请求还是指示用于执行任务的请求。在框2229处,确定用户意图是否将改变系统配置。

在框2230处,根据确定用户意图指示信息请求,提供对信息请求的口语响应。在框2231处,根据信息请求获得一项或多项系统配置的状态。在框2232处,根据一项或多项系统配置的状态提供口语响应。

在框2234处,除了提供对信息请求的口语响应之外,还显示了根据一项或多项系统配置的状态提供信息的第一用户界面。在框2236处,除了提供对信息请求的口语响应之外,还提供了与信息请求相关联的链接。

在框2238处,根据确定用户意图指示用于执行任务的请求,实例化与用户设备相关联的过程以执行任务。在框2239处,使用该过程执行该任务。在框2240处,根据执行任务的结果提供第一口语输出。

参考图22D,在框2242处,提供了第二用户界面以使得用户能够操纵执行任务的结果。在框2244处,第二用户界面包括与执行任务的结果相关联的链接。

在框2246处,提供第三用户界面以使得用户能够执行任务。在框2248处,第三用户界面包括使得用户能够执行任务的链接。在框2250处,提供与第三用户界面相关联的第二口语输出。

10.电子设备——智能搜索和对象管理

图23示出了根据各种所述示例的原理进行配置的电子设备2300的功能框图,包括参考图8A-图8F、图9A-图9H、图10A-图10B、图11A-图11D、图12A-图12D、图13A-图13C、图14A-图14D、图15A-图15D、图16A-图16C、图17A-图17E、图18A-图18F和图19A-图19D所述的那些。该设备的功能块可任选地由执行各种所述示例的原理的硬件、软件、或硬件和软件的组合来实现。本领域的技术人员应当理解,图23中所述的功能块可任选地被组合或被分离为子块,以便实现各种示例的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合、分离或进一步限定。

如图23所示,电子设备2300可包括麦克风2302和处理单元2308。在一些示例中,处理单元2308包括接收单元2310、识别单元2312、确定单元2314、执行单元2316、提供单元2318、实例化单元2320、显示单元2322、输出单元2324、启动单元2326、搜索单元2328、生成单元2330、执行单元2332、创建单元2334、实例化单元2335、存储单元2336、压缩单元2338、复制单元2340、删除单元2342、恢复单元2344、标记单元2346、备份单元2348、共享单元2350、致使单元2352和获取单元2354。

在一些示例中,处理单元2308被配置为从用户接收(例如,利用接收单元2310)第一语音输入;识别(例如,利用识别单元2312)与用户设备相关联的上下文信息;以及基于第一语音输入和上下文信息确定(例如,利用确定单元2314)用户意图。

在一些示例中,处理单元2308被配置为确定(例如,利用确定单元2314)用户意图是使用搜索过程还是对象管理过程来执行任务。搜索过程被配置为搜索存储在用户设备内部或外部的数据,而对象管理过程被配置为管理与用户设备相关联的对象。

在一些示例中,根据确定用户意图是使用搜索过程来执行任务,处理单元2308被配置为使用搜索过程来执行(例如,利用执行单元2316)任务。在一些示例中,根据确定用户意图是使用对象管理过程执行任务,处理单元2308被配置为使用对象管理过程执行(例如,利用执行单元2316)任务。

在一些示例中,在接收到第一语音输入之前,处理单元2308被配置为在与用户设备相关联的显示器上显示(例如,利用显示单元2322)示能表示来调用数字助理服务。

在一些示例中,处理单元2308被配置为响应于接收到预先确定的短语来调用(例如,利用调用单元2320)数字助理。

在一些示例中,处理单元2308被配置为响应于接收到对示能表示的选择来调用(例如,利用调用单元2320)数字助理。

在一些示例中,处理单元2308被配置为确定(例如,利用确定单元2314)一个或多个可执行意图;以及确定(例如,利用确定单元2314)与可执行意图相关联的一个或多个参数。

在一些示例中,上下文信息包括以下中的至少一者:特定于用户的数据、与一个或多个对象相关联的元数据、传感器数据和用户设备配置数据。

在一些示例中,处理单元2308被配置为确定(例如,利用确定单元2314)语音输入是否包括表示搜索过程或对象管理过程的一个或多个关键字。

在一些示例中,处理单元2308被配置为确定(例如,利用确定单元2314)任务是否与搜索相关联。根据确定任务与搜索相关联,处理单元2308被配置为确定(例如,利用确定单元2314)执行任务是否需要搜索过程;并且根据确定任务不与搜索相关联,确定(例如,利用确定单元2314)任务是否与管理至少一个对象相关联。

在一些示例中,任务与搜索相关联,并且根据确定执行任务不需要搜索过程,处理单元2308被配置为输出(例如,利用输出单元2324)指示选择搜索过程或对象管理过程的口语请求,或者从用户接收(例如,利用接收单元2310)指示选择搜索过程或对象管理过程的第二语音输入。

在一些示例中,任务与搜索相关联,并且根据确定执行任务不需要搜索过程,处理单元2308被配置为基于预先确定的配置确定(例如,利用确定单元2314)将使用搜索过程还是对象管理过程来执行任务。

在一些示例中,任务不与搜索相关联,并且根据确定任务不与管理至少一个对象相关联,处理单元2308被配置为执行(例如,利用执行单元2316)以下中的至少一者:确定(例如,利用确定单元2314)是否可以使用可用于用户设备的第四过程来执行任务;以及发起(例如,利用发起单元2326)与用户的对话。

在一些示例中,处理单元2308被配置为使用搜索过程搜索(例如,利用搜索单元2328)至少一个对象。

在一些示例中,至少一个对象包括文件夹或文件中的至少一者。文件包括照片、音频或视频中的至少一者。文件被存储在用户设备内部或外部。

在一些示例中,搜索文件夹或文件中的至少一者基于与文件夹或文件相关联的元数据。

在一些示例中,至少一个对象包括通信。通信包括电子邮件、消息、通知或语音邮件中的至少一者。

在一些示例中,处理单元2308被配置为搜索(例如,利用搜索单元2328)与通信相关联的元数据。

在一些示例中,至少一个对象包括联系人或日历中的至少一者。

在一些示例中,至少一个对象包括应用。

在一些示例中,至少一个对象包括在线信息源。

在一些示例中,任务与搜索相关联,并且处理单元2308被配置为使用对象管理过程搜索(例如,利用搜索单元2328)至少一个对象。

在一些示例中,至少一个对象包括文件夹或文件中的至少一者。文件包括照片、音频或视频中的至少一者。文件被存储在用户设备内部或外部。

在一些示例中,搜索文件夹或文件中的至少一者基于与文件夹或文件相关联的元数据。

在一些示例中,处理单元2308被配置为实例化(例如,利用实例化单元2335)对象管理过程。对象管理过程的实例化包括调用对象管理过程、生成对象管理过程的新实例或执行对象管理过程的现有实例。

在一些示例中,处理单元2308被配置为创建(例如,利用创建单元2334)至少一个对象。

在一些示例中,处理单元2308被配置为存储(例如,利用存储单元2336)至少一个对象。

在一些示例中,处理单元2308被配置为压缩(例如,利用压缩单元2338)至少一个对象。

在一些示例中,处理单元2308被配置为将至少一个对象从第一物理存储装置或虚拟存储装置移动(例如,利用移动单元2339)到第二物理存储装置或虚拟存储装置。

在一些示例中,处理单元2308被配置为将至少一个对象从第一物理存储装置或虚拟存储装置复制(例如,利用复制单元2340)到第二物理存储装置或虚拟存储装置。

在一些示例中,处理单元2308被配置为删除(例如,利用删除单元2342)存储在物理存储装置或虚拟存储装置中的至少一个对象。

在一些示例中,处理单元2308被配置为恢复(例如,利用恢复单元2344)存储在物理存储装置或虚拟存储装置中的至少一个对象。

在一些示例中,处理单元2308被配置为标记(例如,利用标记单元2346)至少一个对象。至少一个对象的标记为可见的或与至少一个对象的元数据相关联中的至少一者。

在一些示例中,处理单元2308被配置为根据预先确定的针对备份的时间段备份(例如,利用备份单元2348)至少一个对象。

在一些示例中,处理单元2308被配置为在可通信地连接到用户设备的一个或多个电子设备之间共享(例如,利用共享单元2350)至少一个对象。

在一些示例中,处理单元2308被配置为基于使用搜索过程或对象管理过程执行任务的结果来提供(例如,利用提供单元2318)响应。

在一些示例中,处理单元2308被配置为显示(例如,利用显示单元2322)第一用户界面,该第一用户界面提供使用搜索过程或对象管理过程执行任务的结果。

在一些示例中,处理单元2308被配置为提供(例如,利用提供单元2318)与使用搜索过程执行任务的结果相关联的链接。

在一些示例中,处理单元2308被配置为根据使用搜索过程或对象管理过程执行任务的结果提供(例如,利用提供单元2318)口语输出。

在一些示例中,处理单元2308被配置为提供(例如,利用提供单元2318)示能表示,该示能表示使得用户能够操纵使用搜索过程或对象管理过程执行任务的结果。

在一些示例中,处理单元2308被配置为实例化(例如,利用实例化单元2335)使用执行任务的结果进行操作的第三过程。

在一些示例中,处理单元2308被配置为确定(例如,利用确定单元2314)置信度水平;以及根据确定的置信度水平提供(例如,利用提供单元2318)响应。

在一些示例中,置信度水平表示基于与用户设备相关联的第一语音输入和上下文信息来确定用户意图的准确性。

在一些示例中,置信度水平表示确定用户意图是使用搜索过程还是对象管理过程来执行任务的准确性。

在一些示例中,置信度水平表示使用搜索过程或对象管理过程执行任务的准确性。

在一些示例中,处理单元2308被配置为确定(例如,利用确定单元2314)置信度水平是否大于或等于阈值置信度水平。根据确定置信度水平大于或等于阈值置信度水平,处理单元2308被配置为提供(例如,利用提供单元2318)第一响应;以及根据确定置信度水平小于阈值置信度水平,处理单元2308被配置为提供(例如,利用提供单元2318)第二响应。

11.电子设备——连续性

在一些示例中,处理单元2308被配置为从用户接收(例如,利用接收单元2310)语音输入来执行任务;识别(例如,利用识别单元2312)与用户设备相关联的上下文信息;以及基于与用户设备相关联的语音输入和上下文信息确定(例如,利用确定单元2314)用户意图。

在一些示例中,处理单元2308被配置为根据用户意图确定(例如,利用确定单元2314)任务将在用户设备处执行,还是在可通信地连接到用户设备的第一电子设备处执行。

在一些示例中,根据确定任务将在用户设备处执行并且用于执行任务的内容被远程定位,处理单元2308被配置为接收(例如,利用接收单元2310)用于执行任务的内容。

在一些示例中,根据确定任务将在第一电子设备处执行并且用于执行任务的内容被远程定位到第一电子设备,处理单元2308被配置为向第一电子设备提供(例如,利用提供单元2318)用于执行任务的内容。

在一些示例中,用户设备被配置为提供多个用户界面。

在一些示例中,用户设备包括膝上型计算机、台式计算机或服务器。

在一些示例中,第一电子设备包括膝上型计算机、台式计算机、服务器、智能电话、平板电脑、机顶盒或手表。

在一些示例中,处理单元2308被配置为在接收到语音输入之前,在用户设备的显示器上显示(例如,利用显示单元2322)用于调用数字助理的示能表示。

在一些示例中,处理单元2308被配置为响应于接收到预先确定的短语来调用(例如,利用调用单元2320)数字助理。

在一些示例中,处理单元2308被配置为响应于接收到对示能表示的选择来调用(例如,利用调用单元2320)数字助理。

在一些示例中,处理单元2308被配置为确定(例如,利用确定单元2314)一个或多个可执行意图;以及确定(例如,利用确定单元2314)与可执行意图相关联的一个或多个参数。

在一些示例中,上下文信息包括以下中的至少一者:特定于用户的数据、传感器数据和用户设备配置数据。

在一些示例中,确定任务将在用户设备处执行还是在第一电子设备处执行基于包括在语音输入中的一个或多个关键字。

在一些示例中,处理单元2308被配置为确定(例如,利用确定单元2314)在用户设备处执行任务是否满足性能标准。

在一些示例中,根据确定在用户设备处执行任务满足性能标准,处理单元2308被配置为确定(例如,利用确定单元2314)任务将在用户设备处执行。

在一些示例中,根据确定在用户设备处执行任务不满足性能标准,处理单元2308被配置为确定(例如,利用确定单元2314)在第一电子设备处执行任务是否满足性能标准。

在一些示例中,根据确定在第一电子设备处执行任务满足性能标准,处理单元2308被配置为确定(例如,利用确定单元2314)任务将在第一电子设备处执行。

在一些示例中,根据确定在第一电子设备处执行任务不满足性能标准,处理单元2308被配置为确定(例如,利用确定单元2314)在第二电子设备处执行任务是否满足性能标准。

在一些示例中,基于一项或多项用户偏好来确定性能标准。

在一些示例中,基于设备配置数据来确定性能标准。

在一些示例中,动态地更新性能标准。

在一些示例中,根据确定任务将在用户设备处执行并且用于执行任务的内容被远程定位,处理单元2308被配置为从第一电子设备接收(例如,利用接收单元2310)内容的至少一部分,其中内容的至少一部分存储在第一电子设备中。

在一些示例中,根据确定任务将在用户设备处执行并且用于执行任务的内容被远程定位,处理单元2308被配置为从第三电子设备接收(例如,利用接收单元2310)内容的至少一部分。

在一些示例中,根据确定任务将在第一电子设备处执行并且用于执行任务的内容被远程定位到第一电子设备,处理单元2308被配置为从用户设备向第一电子设备提供(例如,利用提供单元2318)内容的至少一部分,其中内容的至少一部分存储在用户设备中。

在一些示例中,根据确定任务将在第一电子设备处执行并且用于执行任务的内容被远程定位到第一电子设备,处理单元2308被配置为使得(例如,利用致使单元2352)内容被从第四电子设备提供给第一电子设备。内容的至少一部分存储在第四电子设备中。

在一些示例中,任务将在用户设备处执行,并且处理单元2308被配置为使用所接收的内容在用户设备处提供(例如,利用提供单元2318)第一响应。

在一些示例中,处理单元2308被配置为在用户设备处执行(例如,利用执行单元2316)任务。

在一些示例中,在用户设备处执行任务是部分地对于用户设备远程地执行的任务的延续。

在一些示例中,处理单元2308被配置为显示(例如,利用显示单元2322)与将在用户设备处执行的任务相关联的第一用户界面。

在一些示例中,处理单元2308被配置为提供(例如,利用提供单元2318)与将在用户设备处执行的任务相关联的链接。

在一些示例中,处理单元2308被配置为根据将在用户设备处执行的任务提供(例如,利用提供单元2318)口语输出。

在一些示例中,任务将在第一电子设备处执行,并且处理单元2308被配置为在用户设备处提供(例如,利用提供单元2318)第二响应。

在一些示例中,处理单元2308被配置为使得(例如,利用致使单元2352)任务将在第一电子设备处执行。

在一些示例中,将在第一电子设备处执行的任务是对于第一电子设备远程地执行的任务的延续。

在一些示例中,处理单元2308被配置为根据将在第一电子设备处执行的任务提供(例如,利用提供单元2318)口语输出。

在一些示例中,处理单元2308被配置为提供(例如,利用提供单元2318)示能表示,该示能表示使得用户能够选择用于执行任务的另一电子设备。

12.电子设备——系统配置管理

在一些示例中,处理单元2308被配置为从用户接收(例如,利用接收单元2310)语音输入以管理用户设备的一项或多项系统配置。用户设备被配置为同时提供多个用户界面。

在一些示例中,处理单元2308被配置为识别(例如,利用识别单元2312)与用户设备相关联的上下文信息;以及基于语音输入和上下文信息确定(例如,利用确定单元2314)用户意图。

在一些示例中,处理单元2308被配置为确定(例如,利用确定单元2314)用户意图是指示信息请求还是指示用于执行任务的请求。

在一些示例中,根据确定用户意图指示信息请求,处理单元2308被配置为提供(例如,利用提供单元2318)对信息请求的口语响应。

在一些示例中,根据确定用户意图指示用于执行任务的请求,处理单元2308被配置为实例化(例如,利用实例化单元2335)与用户设备相关联的过程来执行任务。

在一些示例中,处理单元2308被配置为在接收到语音输入之前,在用户设备的显示器上显示(例如,利用显示单元2322)示能表示来调用数字助理。

在一些示例中,处理单元2308被配置为响应于接收到预先确定的短语来调用(例如,利用调用单元2320)数字助理服务。

在一些示例中,处理单元2308被配置为响应于接收到对示能表示的选择来调用(例如,利用调用单元2320)数字助理服务。

在一些示例中,用户设备的一项或多项系统配置包括音频配置。

在一些示例中,用户设备的一项或多项系统配置包括日期和时间配置。

在一些示例中,用户设备的一项或多项系统配置包括口述配置。

在一些示例中,用户设备的一项或多项系统配置包括显示配置。

在一些示例中,用户设备的一项或多项系统配置包括输入设备配置。

在一些示例中,用户设备的一项或多项系统配置包括网络配置。

在一些示例中,用户设备的一项或多项系统配置包括通知配置。

在一些示例中,用户设备的一项或多项系统配置包括打印机配置。

在一些示例中,用户设备的一项或多项系统配置包括安全性配置。

在一些示例中,用户设备的一项或多项系统配置包括备份配置。

在一些示例中,用户设备的一项或多项系统配置包括应用配置。

在一些示例中,用户设备的一项或多项系统配置包括用户界面配置。

在一些示例中,处理单元2308被配置为确定(例如,利用确定单元2314)一个或多个可执行意图;以及确定(例如,利用确定单元2314)与可执行意图相关联的一个或多个参数。

在一些示例中,上下文信息包括以下中的至少一者:特定于用户的数据、设备配置数据和传感器数据。

在一些示例中,处理单元2308被配置为确定(例如,利用确定单元2314)用户意图是否改变系统配置。

在一些示例中,处理单元2308被配置为根据信息请求获取(例如,利用获取单元2354)一项或多项系统配置的状态;以及根据一项或多项系统配置的状态提供(例如,利用提供单元2318)口语响应。

在一些示例中,根据确定用户意图指示信息请求,处理单元2308被配置为除了提供对信息请求的口语响应之外,显示(例如,利用显示单元2322)根据一项或多项系统配置的状态提供信息的第一用户界面。

在一些示例中,根据确定用户意图指示信息请求,处理单元2308被配置为除了提供对信息请求的口语响应之外,提供(例如,利用提供单元2318)与信息请求相关联的链接。

在一些示例中,根据确定用户意图指示用于执行任务的请求,处理单元2308被配置为使用该过程执行(例如,利用执行单元2316)任务。

在一些示例中,处理单元2308被配置为根据执行任务的结果提供(例如,利用提供单元2318)第一口语输出。

在一些示例中,处理单元2308被配置为提供(例如,利用提供单元2318)使得用户能够操纵执行任务的结果的第二用户界面。

在一些示例中,第二用户界面包括与执行任务的结果相关联的链接。

在一些示例中,根据确定用户意图指示用于执行任务的请求,处理单元2308被配置为提供(例如,利用提供单元2318)使得用户能够执行任务的第三用户界面。

在一些示例中,第三用户界面包括使得用户能够执行任务的链接。

在一些示例中,处理单元2308被配置为提供(例如,利用提供单元2318)与第三用户界面相关联的第二口语输出。

以上相对于图23描述的操作任选地由图1、图2A、图4、图6A-图6B或图7A-图7B中描绘的部件来实施。例如,接收操作2310、识别操作2312、确定操作2314、执行操作2316和提供操作2318任选地由处理器220来实现。本领域的技术人员会清楚地知道可如何基于图1、图2A、图4、图6A-图6B或图7A-图7B中描绘的部件来实现其他过程。

本领域的技术人员应当理解,图12中所述的功能块任选地被组合或被分离为子块,以便实现各种所述实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。例如,处理单元2308可具有与处理单元2308操作性地耦接以启用操作的相关联的“控制器”单元。该控制器单元在图23中未单独示出,但应当理解,其在设计了具有处理单元2308的设备(诸如,设备2300)的本领域普通技术人员的掌握中。作为另一个示例,在一些实施方案中,一个或多个单元(诸如接收单元2310)可以是除处理单元2308之外的硬件单元。因此,本文中的描述任选地支持本文所述功能块的组合、分离和/或进一步限定。

示例性方法、非暂态计算机可读存储介质、系统和电子设备在以下各项中给出:

操作数字助理——智能搜索和对象管理

1.一种用于提供数字助理服务的方法,所述方法包括:

在具有存储器和一个或多个处理器的用户设备处:

接收来自用户的第一语音输入;

识别与所述用户设备相关联的上下文信息;

基于所述第一语音输入和所述上下文信息来确定用户意图;

确定所述用户意图是使用搜索过程还是对象管理过程来执行任务,其中所述搜索过程被配置为搜索存储在所述用户设备内部或外部的数据,并且所述对象管理过程被配置为管理与所述用户设备相关联的对象;

根据确定所述用户意图是使用所述搜索过程执行所述任务,使用所述搜索过程执行所述任务;以及

根据所述确定所述用户意图是使用所述对象管理过程来执行所述任务,使用所述对象管理过程来执行所述任务。

2.根据项目1所述的方法,还包括在接收到所述第一语音输入之前:

在与所述用户设备相关联的显示器上显示用于调用所述数字助理服务的示能表示。

3.根据项目2所述的方法,还包括:

响应于接收到预先确定的短语来调用所述数字助理。

4.根据项目2至3中任一项所述的方法,还包括:

响应于接收到对所述示能表示的选择来调用所述数字助理。

5.根据项目1至4中任一项所述的方法,其中确定所述用户意图包括:

确定一个或多个可执行意图;以及

确定与所述可执行意图相关联的一个或多个参数。

6.根据项目1至5中任一项所述的方法,其中所述上下文信息包括以下中的至少一者:特定于用户的数据、与一个或多个对象相关联的元数据、传感器数据和用户设备配置数据。

7.根据项目1至6中任一项所述的方法,其中确定所述用户意图是使用所述搜索过程还是所述对象管理过程来执行所述任务包括:

确定所述语音输入是否包括表示所述搜索过程或所述对象管理过程的一个或多个关键字。

8.根据项目1至7中任一项所述的方法,其中确定所述用户意图是使用所述搜索过程还是所述对象管理过程来执行所述任务包括:

确定所述任务是否与搜索相关联;

根据确定所述任务与搜索相关联,确定执行所述任务是否需要所述搜索过程;以及

根据确定所述任务不与搜索相关联,确定所述任务是否与管理至少一个对象相关联。

9.根据项目8所述的方法,其中所述任务与搜索相关联,所述方法还包括:

根据确定执行所述任务不需要所述搜索过程,

输出口语请求以选择所述搜索过程或所述对象管理过程,以及

从所述用户接收指示所述搜索过程或所述对象管理过程的所述选择的第二语音输入。

10.根据项目8至9中任一项所述的方法,其中所述任务与搜索相关联,所述方法还包括:

根据确定执行所述任务不需要所述搜索过程,基于预先确定的配置来确定所述任务将使用所述搜索过程还是所述对象管理过程来执行。

11.根据项目8所述的方法,其中所述任务不与搜索相关联,所述方法还包括:

根据确定所述任务不与管理所述至少一个对象相关联,执行以下中的至少一者:

确定所述任务是否能够使用能够用于所述用户设备的第四过程来执行;以及

发起与所述用户的对话。

12.根据项目1至10中任一项所述的方法,其中使用所述搜索过程执行所述任务包括:

使用所述搜索过程搜索至少一个对象。

13.根据项目12所述的方法,其中所述至少一个对象包括文件夹或文件中的至少一者。

14.根据项目13所述的方法,其中所述文件包括照片、音频或视频中的至少一者。

15.根据项目13至14中任一项所述的方法,其中所述文件存储在所述用户设备内部或外部。

16.根据项目13至15中任一项所述的方法,其中搜索所述文件夹或所述文件中的至少一者基于与所述文件夹或所述文件相关联的元数据。

17.根据权利要求12至16中任一项所述的方法,其中所述至少一个对象包括通信。

18.根据项目17所述的方法,其中所述通信包括电子邮件、消息、通知或语音邮件中的至少一者。

19.根据项目17至18中任一项所述的方法,还包括搜索与所述通信相关联的元数据。

20.根据项目12至19中任一项所述的方法,其中所述至少一个对象包括联系人或日历中的至少一者。

21.根据权利要求12至20中任一项所述的方法,其中所述至少一个对象包括应用。

22.根据权利要求12至21中任一项所述的方法,其中所述至少一个对象包括在线信息源。

23.根据项目1至22中任一项所述的方法,其中所述任务与搜索相关联,并且其中使用所述对象管理过程执行所述任务包括:

使用所述对象管理过程搜索所述至少一个对象。

24.根据项目23所述的方法,其中所述至少一个对象包括文件夹或文件中的至少一者。

25.根据项目24所述的方法,其中所述文件包括照片、音频或视频中的至少一者。

26.根据项目24至25中任一项所述的方法,其中所述文件存储在所述用户设备内部或外部。

27.根据项目24至26中任一项所述的方法,其中搜索所述文件夹或所述文件中的至少一者基于与所述文件夹或所述文件相关联的元数据。

28.根据项目1所述的方法,其中使用所述对象管理过程执行所述任务包括实例化所述对象管理过程,其中实例化所述对象管理过程包括调用所述对象管理过程、生成所述对象管理过程的新实例或执行所述对象管理过程的现有实例。

29.根据项目1至28中任一项所述的方法,其中使用所述对象管理过程来执行所述任务包括创建所述至少一个对象。

30.根据项目1至29中任一项所述的方法,其中使用所述对象管理过程来执行所述任务包括存储所述至少一个对象。

31.根据项目1至30中任一项所述的方法,其中使用所述对象管理过程来执行所述任务包括压缩所述至少一个对象。

32.根据项目1至31中任一项所述的方法,其中使用所述对象管理过程来执行所述任务包括将所述至少一个对象从第一物理存储装置或虚拟存储装置移动到第二物理存储装置或虚拟存储装置。

33.根据项目1至32中任一项所述的方法,其中使用所述对象管理过程来执行所述任务包括将所述至少一个对象从第一物理存储装置或虚拟存储装置复制到第二物理存储装置或虚拟存储装置。

34.根据项目1至33中任一项所述的方法,其中使用所述对象管理过程来执行所述任务包括删除存储在物理存储装置或虚拟存储装置中的所述至少一个对象。

35.根据项目1至34中任一项所述的方法,其中使用所述对象管理过程来执行所述任务包括恢复存储在物理存储装置或虚拟存储装置中的至少一个对象。

36.根据项目1至35中任一项所述的方法,其中使用所述对象管理过程来执行所述任务包括标记所述至少一个对象,其中所述至少一个对象的标记为可见的或与所述至少一个对象的元数据相关联中的至少一者。

37.根据项目1至36中任一项所述的方法,其中使用所述对象管理过程来执行所述任务包括根据针对备份的预先确定的时间段来备份所述至少一个对象。

38.根据项目1至37中任一项所述的方法,其中使用所述对象管理过程执行所述任务包括在可通信地连接到所述用户设备的一个或多个电子设备之间共享所述至少一个对象。

39.根据项目1至38中任一项所述的方法,还包括:基于使用所述搜索过程或所述对象管理过程执行所述任务的结果而提供响应。

40.根据项目39所述的方法,其中基于使用所述搜索过程或所述对象管理过程执行所述任务的所述结果来提供所述响应包括:

显示第一用户界面,所述第一用户界面提供使用所述搜索过程或所述对象管理过程来执行所述任务的所述结果。

41.根据项目39至40所述的方法,其中基于使用所述搜索过程或所述对象管理过程执行所述任务的所述结果而提供所述响应包括:

提供与使用所述搜索过程来执行所述任务的所述结果相关联的链接。

42.根据项目39至41所述的方法,其中基于使用所述搜索过程或所述对象管理过程执行所述任务的所述结果来提供所述响应包括:

根据使用所述搜索过程或所述对象管理过程执行所述任务的所述结果来提供口语输出。

43.根据项目39至42所述的方法,其中基于使用所述搜索过程或所述对象管理过程执行所述任务的所述结果来提供所述响应包括:

提供一种示能表示,所述示能表示使得所述用户能够操纵使用所述搜索过程或所述对象管理过程执行所述任务的所述结果。

44.根据项目39至43所述的方法,其中基于使用所述搜索过程或所述对象管理过程执行所述任务的所述结果来提供所述响应包括:

实例化使用执行所述任务的所述结果进行操作的第三过程。

45.根据项目39至44所述的方法,其中基于使用所述搜索过程或所述对象管理过程执行所述任务的所述结果来提供所述响应包括:

确定置信度水平;以及

根据对所述置信度水平的所述确定提供所述响应。

46.根据项目45所述的方法,其中所述置信度水平表示基于与所述用户设备相关联的所述第一语音输入和上下文信息来确定所述用户意图的所述准确性。

47.根据项目45至46中任一项所述的方法,其中所述置信度水平表示确定所述用户意图是使用所述搜索过程还是所述对象管理过程来执行所述任务的所述准确性。

48.根据项目45至47中任一项所述的方法,其中所述置信度水平表示使用所述搜索过程或所述对象管理过程来执行所述任务的所述准确性。

49.根据项目45至48中任一项所述的方法,其中根据对所述置信度水平的所述确定提供所述响应包括:

确定所述置信度水平是否大于或等于阈值置信度水平;

根据确定所述置信度水平大于或等于所述阈值置信度水平,提供第一响应;以及

根据确定所述置信度水平小于阈值置信度水平,提供第二响应。

50.一种存储一个或多个程序的非暂态计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由电子设备的一个或多个处理器执行时,

使所述电子设备:

接收来自用户的第一语音输入;

识别与所述用户设备相关联的上下文信息;

基于所述第一语音输入和所述上下文信息来确定用户意图;

确定所述用户意图是使用搜索过程还是对象管理过程来执行任务,其中所述搜索过程被配置为搜索存储在所述用户设备内部或外部的数据,并且所述对象管理过程被配置为管理与所述用户设备相关联的对象;

根据确定所述用户意图是使用所述搜索过程执行所述任务,使用所述搜索过程执行所述任务;以及

根据所述确定所述用户意图是使用所述对象管理过程执行所述任务,使用所述对象管理过程来执行所述任务。

51.一种电子设备,所述电子设备包括:

一个或多个处理器;

存储器;和

一个或多个程序,所述一个或多个程序被存储在所述存储器中,所述一个或多个程序包括用于执行以下操作的指令:

接收来自用户的第一语音输入;

识别与所述用户设备相关联的上下文信息;

基于所述第一语音输入和所述上下文信息确定用户意图;

确定所述用户意图是使用搜索过程还是对象管理过程执行任务,其中所述搜索过程被配置为搜索存储在所述用户设备内部或外部的数据,并且所述对象管理过程被配置为管理与所述用户设备相关联的对象;

根据确定所述用户意图是使用所述搜索过程执行所述任务,使用所述搜索过程执行所述任务;以及

根据所述确定所述用户意图是使用所述对象管理过程执行所述任务,使用所述对象管理过程执行所述任务。

52.一种电子设备,所述电子设备包括:

用于接收来自用户的第一语音输入的装置;

用于识别与所述用户设备相关联的上下文信息的装置;

用于基于所述第一语音输入和所述上下文信息确定用户意图的装置;

用于确定所述用户意图是使用搜索过程还是对象管理过程来执行任务的装置,其中所述搜索过程被配置为搜索存储在所述用户设备内部或外部的数据,并且所述对象管理过程被配置为管理与所述用户设备相关联的对象;

根据确定所述用户意图是使用所述搜索过程执行所述任务,用于使用所述搜索过程执行所述任务的装置;以及

根据所述确定所述用户意图是使用所述对象管理过程执行所述任务,用于使用所述对象管理过程执行所述任务的装置。

53.一种电子设备,所述电子设备包括:

一个或多个处理器;

存储器;和

一个或多个程序,所述一个或多个程序被存储在所述存储器中,所述一个或多个程序包括用于执行根据项目1至49中任一项所述的方法的指令。

54.一种电子设备,所述电子设备包括:

用于执行根据项目1至49所述的方法中的任一种方法的装置。

55.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括供电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括由所述一个或多个处理器执行时使所述电子设备执行根据项目1至49中任一项所述的方法的指令。

56.一种用于操作数字助理的系统,所述系统包括用于执行根据项目1至49所述的方法中的任一种方法的装置。

57.一种电子设备,所述电子设备包括:

接收单元,所述接收单元被配置为接收来自用户的第一语音输入;和

处理单元,所述处理单元被配置为:

识别与所述用户设备相关联的上下文信息;

基于所述第一语音输入和所述上下文信息确定用户意图;

确定所述用户意图是使用搜索过程还是对象管理过程执行任务,其中所述搜索过程被配置为搜索存储在所述用户设备内部或外部的数据,并且所述对象管理过程被配置为管理与所述用户设备相关联的对象;

根据确定所述用户意图是使用所述搜索过程执行所述任务,使用所述搜索过程执行所述任务;以及

根据所述确定所述用户意图是使用所述对象管理过程执行所述任务,使用所述对象管理过程执行所述任务。

58.根据项目57所述的电子设备,还包括在接收到所述第一语音输入之前:

在与所述用户设备相关联的显示器上显示用于调用所述数字助理服务的示能表示。

59.根据项目58所述的电子设备,还包括:

响应于接收到预先确定的短语来实例化所述数字助理。

60.根据项目58至59中任一项所述的电子设备,还包括:

响应于接收到所述示能表示的选择来实例化所述数字助理。

61.根据项目57至60中任一项所述的电子设备,其中确定所述用户意图包括:

确定一个或多个可执行意图;以及

确定与所述可执行意图相关联的一个或多个参数。

62.根据项目57至61中任一项所述的电子设备,其中所述上下文信息包括以下中的至少一者:特定于用户的数据、与一个或多个对象相关联的元数据、传感器数据和用户设备配置数据。

63.根据项目57至62中任一项所述的电子设备,其中确定所述用户意图是使用所述搜索过程还是所述对象管理过程来执行所述任务包括:

确定所述语音输入是否包括表示所述搜索过程或所述对象管理过程的一个或多个关键字。

64.根据项目57至63中任一项所述的电子设备,其中确定所述用户意图是使用所述搜索过程还是所述对象管理过程来执行所述任务包括:

确定所述任务是否与搜索相关联;

根据确定所述任务与搜索相关联,确定执行所述任务是否需要所述搜索过程;以及

根据确定所述任务不与搜索相关联,确定所述任务是否与管理至少一个对象相关联。

65.根据项目64所述的电子设备,其中所述任务与搜索相关联,所述电子设备还包括:

根据确定执行所述任务不需要所述搜索过程,

输出语音请求以选择所述搜索过程或所述对象管理过程,以及

从所述用户接收指示所述搜索过程或所述对象管理过程的所述选择的第二语音输入。

66.根据项目64至65中任一项所述的电子设备,其中所述任务与搜索相关联,所述电子设备还包括:

根据确定执行所述任务不需要所述搜索过程,基于预先确定的配置来确定所述任务将使用所述搜索过程还是所述对象管理过程来执行。

67.根据项目64的任一项所述的电子设备,其中所述任务不与搜索相关联,所述电子设备还包括:

根据确定所述任务不与管理所述至少一个对象相关联,执行以下中的至少一者:

确定所述任务是否能够使用能够用于所述用户设备的第四过程来执行;以及

发起与所述用户的对话。

68.根据项目57至66中任一项所述的电子设备,其中使用所述搜索过程执行所述任务包括:

使用所述搜索过程搜索至少一个对象。

69.根据项目68所述的电子设备,其中所述至少一个对象包括文件夹或文件中的至少一者。

70.根据项目69所述的电子设备,其中所述文件包括照片、音频或视频中的至少一者。

71.根据项目69至70中任一项所述的电子设备,其中所述文件存储在所述用户设备内部或外部。

72.根据项目69至71中任一项所述的电子设备,其中搜索所述文件夹或所述文件中的至少一者基于与所述文件夹或所述文件相关联的元数据。

73.根据权利要求68至72中任一项所述的电子设备,其中所述至少一个对象包括通信。

74.根据项目73所述的电子设备,其中所述通信包括电子邮件、消息、通知或语音邮件中的至少一者。

75.根据项目73至74中任一项所述的电子设备,还包括搜索与所述通信相关联的元数据。

76.根据项目68至75中任一项所述的电子设备,其中所述至少一个对象包括联系人或日历中的至少一者。

77.根据权利要求68至76中任一项所述的电子设备,其中所述至少一个对象包括应用。

78.根据权利要求68至77中任一项所述的电子设备,其中所述至少一个对象包括在线信息源。

79.根据项目57至78中任一项所述的电子设备,其中所述任务与搜索相关联,并且其中使用所述对象管理过程执行所述任务包括:

使用所述对象管理过程搜索所述至少一个对象。

80.根据项目79所述的电子设备,其中所述至少一个对象包括文件夹或文件中的至少一者。

81.根据项目80所述的电子设备,其中所述文件包括照片、音频或视频中的至少一者。

82.根据项目79至81中任一项所述的电子设备,其中所述文件存储在所述用户设备内部或外部。

83.根据项目79至82中任一项所述的电子设备,其中搜索所述文件夹或所述文件中的至少一者基于与所述文件夹或所述文件相关联的元数据。

84.根据项目57所述的电子设备,其中使用所述对象管理过程执行所述任务包括实例化所述对象管理过程,其中实例化所述对象管理过程包括调用所述对象管理过程、生成所述对象管理过程的新实例或执行所述对象管理过程的现有实例。

85.根据项目57至84中任一项所述的电子设备,其中使用所述对象管理过程执行所述任务包括创建所述至少一个对象。

86.根据项目57至85中任一项所述的电子设备,其中使用所述对象管理过程执行所述任务包括存储所述至少一个对象。

87.根据项目57至86中任一项所述的电子设备,其中使用所述对象管理过程执行所述任务包括压缩所述至少一个对象。

88.根据项目57至87中任一项所述的电子设备,其中使用所述对象管理过程执行所述任务包括将所述至少一个对象从第一物理存储装置或虚拟存储装置移动到第二物理存储装置或虚拟存储装置。

89.根据项目57至88中任一项所述的电子设备,其中使用所述对象管理过程执行所述任务包括将所述至少一个对象从第一物理存储装置或虚拟存储装置复制到第二物理存储装置或虚拟存储装置。

90.根据项目57至89中任一项所述的电子设备,其中使用所述对象管理过程执行所述任务包括删除存储在物理存储装置或虚拟存储装置中的所述至少一个对象。

91.根据项目57至90中任一项所述的电子设备,其中使用所述对象管理过程执行所述任务包括恢复存储在物理存储装置或虚拟存储装置中的至少一个对象。

92.根据项目57至91中任一项所述的电子设备,其中使用所述对象管理过程执行所述任务包括标记所述至少一个对象,其中所述至少一个对象的标记为可见的或与所述至少一个对象的元数据相关联中的至少一者。

93.根据项目57至92中任一项所述的电子设备,其中使用所述对象管理过程执行所述任务包括根据针对备份的预先确定的时间段备份所述至少一个对象。

94.根据项目57至93中任一项所述的电子设备,其中使用所述对象管理过程执行所述任务包括在可通信地连接到所述用户设备的一个或多个电子设备之间共享所述至少一个对象。

95.根据项目57至94中任一项所述的电子设备,还包括:基于使用所述搜索过程或所述对象管理过程执行所述任务的结果而提供响应。

96.根据项目95所述的电子设备,其中基于使用所述搜索过程或所述对象管理过程执行所述任务的所述结果而提供所述响应包括:

显示第一用户界面,所述第一用户界面提供使用所述搜索过程或所述对象管理过程执行所述任务的所述结果。

97.根据项目95至96中任一项所述的电子设备,其中基于使用所述搜索过程或所述对象管理过程执行所述任务的所述结果而提供所述响应包括:

提供与使用所述搜索过程执行所述任务的所述结果相关联的链接。

98.根据项目95至97中任一项所述的电子设备,其中基于使用所述搜索过程或所述对象管理过程执行所述任务的所述结果而提供所述响应包括:

根据使用所述搜索过程或所述对象管理过程执行所述任务的所述结果来提供口语输出。

99.根据项目95至98中任一项所述的电子设备,其中基于使用所述搜索过程或所述对象管理过程执行所述任务的所述结果而提供所述响应包括:

提供一种示能表示,所述示能表示使得所述用户能够操纵使用所述搜索过程或所述对象管理过程执行所述任务的所述结果。

100.根据项目95至99中任一项所述的电子设备,其中基于使用所述搜索过程或所述对象管理过程执行所述任务的所述结果而提供所述响应包括:

实例化使用执行所述任务的所述结果进行操作的第三过程。

101.根据项目95至100中任一项所述的电子设备,其中基于使用所述搜索过程或所述对象管理过程执行所述任务的所述结果而提供所述响应包括:

确定置信度水平;以及

根据对所述置信度水平的所述确定提供所述响应。

102.根据项目101所述的电子设备,其中所述置信度水平表示基于与所述用户设备相关联的所述第一语音输入和上下文信息来确定所述用户意图的所述准确性。

103.根据项目101至102中任一项所述的电子设备,其中所述置信度水平表示确定所述用户意图是使用所述搜索过程还是所述对象管理过程来执行所述任务的所述准确性。

104.根据项目101至103中任一项所述的电子设备,其中所述置信度水平表示使用所述搜索过程或所述对象管理过程来执行所述任务的所述准确性。

105.根据项目101至104中任一项所述的电子设备,其中根据对所述置信度水平的所述确定提供所述响应包括:

确定所述置信度水平是否大于或等于阈值置信度水平;

根据确定所述置信度水平大于或等于所述阈值置信度水平,提供第一响应;以及

根据确定所述置信度水平小于阈值置信度水平,提供第二响应。

连续性

1.一种用于提供数字助理服务的方法,所述方法包括:

在具有存储器和一个或多个处理器的用户设备处:

接收来自用户的语音输入以执行任务;

识别与所述用户设备相关联的上下文信息;

基于与所述用户设备相关联的所述语音输入和上下文信息来确定用户意图;

根据用户意图,确定所述任务将在所述用户设备处执行还是在可通信地连接到所述用户设备的第一电子设备处执行;

根据确定所述任务将在所述用户设备处执行并且用于执行所述任务的内容被远程定位,接收用于执行所述任务的所述内容;以及

根据确定所述任务将在所述第一电子设备处执行并且用于执行所述任务的所述内容对于所述第一电子设备被远程定位,向所述第一电子设备提供用于执行所述任务的所述内容。

2.根据项目1所述的方法,其中所述用户设备被配置为提供多个用户界面。

3.根据项目1至2中任一项所述的方法,其中所述用户设备包括膝上型计算机、台式计算机或服务器。

4.根据项目1至3中任一项所述的方法,其中所述第一电子设备包括膝上型计算机、台式计算机、服务器、智能电话、平板电脑、机顶盒或手表。

5.根据项目1至4中任一项所述的方法,还包括在接收到所述语音输入之前:

在所述用户设备的显示器上显示用于调用所述数字助理的示能表示。

6.根据项目5中任一项所述的方法,还包括:

响应于接收到预先确定的短语来实例化所述数字助理。

7.根据项目5至6中任一项所述的方法,还包括:

响应于接收到对所述示能表示的选择来实例化所述数字助理。

8.根据项目1至7中任一项所述的方法,其中确定所述用户意图包括:

确定一个或多个可执行意图;以及

确定与所述可执行意图相关联的一个或多个参数。

9.根据项目1至8中任一项所述的方法,其中所述上下文信息包括以下中的至少一者:特定于用户的数据、传感器数据、和用户设备配置数据。

10.根据项目1至9中任一项所述的方法,其中确定所述任务将在所述用户设备处执行还是在所述第一电子设备处执行基于包括在所述语音输入中的一个或多个关键字。

11.根据项目1至10中任一项所述的方法,其中确定所述任务将在所述用户设备处执行还是在所述第一电子设备处执行包括:

确定在所述用户设备处执行所述任务是否满足性能标准;以及

根据确定在所述用户设备处执行所述任务满足所述性能标准,确定所述任务将在所述用户设备处执行。

12.根据项目11所述的方法,还包括:

根据确定在所述用户设备处执行所述任务不满足所述性能标准:

确定在所述第一电子设备处执行所述任务是否满足所述性能标准。

13.根据项目12所述的方法,还包括:

根据确定在所述第一电子设备处执行所述任务满足所述性能标准,确定所述任务将在所述第一电子设备处执行;以及

根据确定在所述第一电子设备处执行所述任务不满足所述性能标准:

确定在所述第二电子设备处执行所述任务是否满足所述性能标准。

14.根据项目11至13中任一项所述的方法,其中基于一项或多项用户偏好来确定所述性能标准。

15.根据项目11至14中任一项所述的方法,其中基于所述设备配置数据来确定所述性能标准。

16.根据项目11至15中任一项所述的方法,其中动态地更新所述性能标准。

17.根据项目1至11和14至16中任一项所述的方法,其中根据确定所述任务将在所述用户设备处执行并且用于执行所述任务的内容被远程定位,接收用于执行所述任务的所述内容包括:

从所述第一电子设备接收所述内容的至少一部分,其中所述内容的至少一部分存储在所述第一电子设备中。

18.根据项目1至11和14至17中任一项所述的方法,其中根据确定所述任务将在所述用户设备处执行并且用于执行所述任务的内容被远程定位,接收用于执行所述任务的所述内容包括:

从第三电子设备接收所述内容的至少一部分。

19.根据项目1至16中任一项所述的方法,其中根据确定所述任务将在所述第一电子设备处执行并且用于执行所述任务的所述内容对于所述第一电子设备被远程定位,向所述第一电子设备提供用于执行所述任务的所述内容包括:

将所述内容的至少一部分从所述用户设备提供给所述第一电子设备,其中所述内容的至少一部分被存储在所述用户设备处。

20.根据项目1至16和19中任一项所述的方法,其中根据确定所述任务将在所述第一电子设备处执行并且用于执行所述任务的所述内容对于所述第一电子设备被远程定位,向所述第一电子设备提供用于执行所述任务的所述内容包括:

使得所述内容的至少一部分从第四电子设备提供给所述第一电子设备,其中所述内容的至少一部分被存储在所述第四电子设备处。

21.根据项目1至11和14至18中任一项所述的方法,其中所述任务将在所述用户设备处执行,所述方法还包括使用所接收的内容在所述用户设备处提供第一响应。

22.根据项目21所述的方法,其中在所述用户设备处提供所述第一响应包括:

在所述用户设备处执行所述任务。

23.根据项目22所述的方法,其中在所述用户设备处执行所述任务是部分地在所述用户设备处远程执行的任务的延续。

24.根据项目21至23中任一项所述的方法,其中在所述用户设备处提供所述第一响应包括:

显示与将在所述用户设备处执行的所述任务相关联的第一用户界面。

25.根据项目21至24中任一项所述的方法,其中在所述用户设备处提供所述第一响应包括:

提供与将在所述用户设备处执行的所述任务相关联的链接。

26.根据项目21至25中任一项所述的方法,其中在所述用户设备处提供所述第一响应包括:

根据将在所述用户设备处执行的所述任务提供口语输出。

27.根据项目1至16和19至20中任一项所述的方法,其中所述任务将在所述第一电子设备处执行,所述方法还包括在所述用户设备处提供第二响应。

28.根据项目27所述的方法,其中在所述用户设备处提供所述第二响应包括:

使得所述任务将在所述第一电子设备处执行。

29.根据项目28所述的方法,其中将在所述第一电子设备处执行的所述任务是将在所述第一电子设备处远程执行的任务的延续。

30.根据项目27至29中任一项所述的方法,其中在所述用户设备处提供所述第二响应包括:

根据将在所述第一电子设备处执行的所述任务提供口语输出。

31.根据项目27至30中任一项所述的方法,其中在所述用户设备处提供所述第二响应包括:

提供使得所述用户能够选择用于执行所述任务的另一电子设备的示能表示。

32.一种存储一个或多个程序的非暂态计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由电子设备的一个或多个处理器执行时,

使得所述电子设备:

接收来自用户的语音输入以执行任务;

识别与所述用户设备相关联的上下文信息;

基于与所述用户设备相关联的所述语音输入和上下文信息来确定用户意图;

根据用户意图,确定所述任务将在所述用户设备处执行还是在可通信地连接到所述用户设备的第一电子设备处执行;

根据确定所述任务将在所述用户设备处执行并且用于执行所述任务的内容被远程定位,接收用于执行所述任务的所述内容;以及

根据确定所述任务将在所述第一电子设备处执行并且用于执行所述任务的所述内容对于所述第一电子设备被远程定位,向所述第一电子设备提供用于执行所述任务的所述内容。

33.一种用户设备,所述用户设备包括:

一个或多个处理器;

存储器;和

一个或多个程序,所述一个或多个程序被存储在所述存储器中,所述一个或多个程序包括用于执行以下操作的指令:

接收来自用户的语音输入以执行任务;

识别与所述用户设备相关联的上下文信息;

基于与所述用户设备相关联的所述语音输入和上下文信息来确定用户意图;

根据用户意图,确定所述任务将在所述用户设备处执行还是在可通信地连接到所述用户设备的第一电子设备处执行;

根据确定所述任务将在所述用户设备处执行并且用于执行所述任务的内容被远程定位,接收用于执行所述任务的所述内容;以及

根据确定所述任务将在所述第一电子设备处执行并且用于执行所述任务的所述内容对于所述第一电子设备被远程定位,向所述第一电子设备提供用于执行所述任务的所述内容。

34.一种用户设备,所述用户设备包括:

用于接收来自用户的语音输入以执行任务的装置;

用于识别与所述用户设备相关联的上下文信息的装置;

用于基于与所述用户设备相关联的语音输入和上下文信息来确定用户意图的装置;

根据用户意图,用于确定所述任务将在所述用户设备处执行还是在可通信地连接到所述用户设备的第一电子设备处执行的装置;

根据确定所述任务将在所述用户设备处执行并且用于执行所述任务的内容被远程定位,用于接收用于执行所述任务的所述内容的装置;以及

根据确定所述任务将在所述第一电子设备处执行并且用于执行所述任务的所述内容对于所述第一电子设备被远程定位,用于向所述第一电子设备提供用于执行所述任务的所述内容的装置。

35.一种用户设备,所述用户设备包括:

一个或多个处理器;

存储器;以及

被存储在所述存储器中的一个或多个程序,所述一个或多个程序包括用于执行根据项目1至31中任一项所述的方法的指令。

36.一种用户设备,所述用户设备包括:

用于执行根据项目1至31所述的方法中的任一种方法的装置。

37.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括供电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括由所述一个或多个处理器执行时使得所述电子设备执行根据项目1至31中任一项所述的方法的指令。

38.一种用于操作数字助理的系统,所述系统包括用于执行根据项目1至31所述的方法中的任一种方法的装置。

39.一种用户设备,所述用户设备包括:

接收单元,所述接收单元被配置为接收来自用户的语音输入以执行任务;以及

处理单元,所述处理单元被配置为:

识别与所述用户设备相关联的上下文信息;

基于与所述用户设备相关联的所述语音输入和上下文信息来确定用户意图;

根据用户意图,确定所述任务将在所述用户设备处执行还是在可通信地连接到所述用户设备的第一电子设备处执行;

根据确定所述任务将在所述用户设备处执行并且用于执行所述任务的内容被远程定位,接收用于执行所述任务的所述内容;以及

根据确定所述任务将在所述第一电子设备处执行并且用于执行所述任务的所述内容对于所述第一电子设备被远程定位,向所述第一电子设备提供用于执行所述任务的所述内容。

40.根据项目39所述的用户设备,其中所述用户设备被配置为提供多个用户界面。

41.根据项目39至40中任一项所述的用户设备,其中所述用户设备包括膝上型计算机、台式计算机或服务器。

42.根据项目39至41中任一项所述的用户设备,其中所述第一电子设备包括膝上型计算机、台式计算机、服务器、智能电话、平板电脑、机顶盒或手表。

43.根据项目39至42中任一项所述的用户设备,还包括在接收到所述语音输入之前:

在所述用户设备的显示器上显示用于调用所述数字助理的示能表示。

44.根据项目43中任一项所述的用户设备,还包括:

响应于接收到预先确定的短语来实例化所述数字助理。

45.根据项目43至44中任一项所述的用户设备,还包括:

响应于接收到对所述示能表示的选择来实例化所述数字助理。

46.根据项目39至45中任一项所述的用户设备,其中确定所述用户意图包括:

确定一个或多个可执行意图;以及

确定与所述可执行意图相关联的一个或多个参数。

47.根据项目39至46中任一项所述的用户设备,其中所述上下文信息包括以下中的至少一者:特定于用户的数据、传感器数据和用户设备配置数据。

48.根据项目39至47中任一项所述的用户设备,其中确定所述任务是在所述用户设备处执行还是在所述第一电子设备处执行基于包括在所述语音输入中的一个或多个关键字。

49.根据项目39至48中任一项所述的用户设备,其中确定所述任务将在所述用户设备处执行还是在所述第一电子设备处执行包括:

确定在所述用户设备处执行所述任务是否满足性能标准;以及

根据确定在所述用户设备处执行所述任务满足所述性能标准,确定所述任务将在所述用户设备处执行。

50.根据项目49所述的用户设备,还包括:

根据确定在所述用户设备处执行所述任务不满足所述性能标准:

确定在所述第一电子设备处执行所述任务是否满足所述性能标准。

51.根据项目50所述的用户设备,还包括:

根据确定在所述第一电子设备处执行所述任务满足所述性能标准,确定所述任务将在所述第一电子设备处执行;以及

根据确定在所述第一电子设备处执行所述任务不满足所述性能标准:

确定在所述第二电子设备处执行所述任务是否满足所述性能标准。

52.根据项目49至51中任一项所述的用户设备,其中基于一项或多项用户偏好来确定所述性能标准。

53.根据项目49至52中任一项所述的用户设备,其中基于所述设备配置数据来确定所述性能标准。

54.根据项目49至53中任一项所述的用户设备,其中动态地更新所述性能标准。

55.根据项目39至49和52至54中任一项所述的用户设备,其中根据确定所述任务将在所述用户设备处执行并且用于执行所述任务的内容被远程定位,接收用于执行所述任务的所述内容包括:

从所述第一电子设备接收所述内容的至少一部分,其中所述内容的至少一部分存储在所述第一电子设备中。

56.根据项目39至49和52至55中任一项所述的用户设备,其中根据确定所述任务将在所述用户设备处执行并且用于执行所述任务的内容被远程定位,接收用于执行所述任务的所述内容包括:

从第三电子设备接收所述内容的至少一部分。

57.根据项目39至54中任一项所述的用户设备,其中根据确定所述任务将在所述第一电子设备处执行并且用于执行所述任务的所述内容对于所述第一电子设备被远程定位,向所述第一电子设备提供用于执行所述任务的所述内容包括:

将所述内容的至少一部分从所述用户设备提供给所述第一电子设备,其中所述内容的至少一部分被存储在所述用户设备处。

58.根据项目39至54和57中任一项所述的用户设备,其中根据确定所述任务将在所述第一电子设备处执行并且用于执行所述任务的所述内容对于所述第一电子设备被远程定位,向所述第一电子设备提供用于执行所述任务的所述内容包括:

使得所述内容的至少一部分从第四电子设备提供给所述第一电子设备,其中所述内容的至少一部分被存储在所述第四电子设备处。

59.根据项目39至49和52至56中任一项所述的用户设备,其中所述任务将在所述用户设备处执行,所述用户设备还包括使用所接收的内容在所述用户设备处提供第一响应。

60.根据项目59所述的用户设备,其中在所述用户设备处提供所述第一响应包括:

在所述用户设备处执行所述任务。

61.根据项目60所述的用户设备,其中在所述用户设备处执行所述任务是部分地在所述用户设备处远程执行的任务的延续。

62.根据项目59至61中任一项所述的用户设备,其中在所述用户设备处提供所述第一响应包括:

显示与将在所述用户设备处执行的所述任务相关联的第一用户界面。

63.根据项目59至62中任一项所述的用户设备,其中在所述用户设备处提供所述第一响应包括:

提供与将在所述用户设备处执行的所述任务相关联的链接。

64.根据项目59至63中任一项所述的用户设备,其中在所述用户设备处提供所述第一响应包括:

根据将在所述用户设备处执行的所述任务提供口语输出。

65.根据项目39至54和57至58中任一项所述的用户设备,其中所述任务将在所述第一电子设备处执行,所述用户设备还包括在所述用户设备处提供第二响应。

66.根据项目65所述的用户设备,其中在所述用户设备处提供所述第二响应包括:

使得所述任务将在所述第一电子设备处执行。

67.根据项目66所述的用户设备,其中将在所述第一电子设备处执行的所述任务是在所述第一电子设备处远程执行的任务的延续。

68.根据项目65至67中任一项所述的用户设备,其中在所述用户设备处提供所述第二响应包括:

根据将在所述第一电子设备处执行的所述任务提供口语输出。

69.根据项目65至68中任一项所述的用户设备,其中在所述用户设备处提供所述第二响应包括:

提供使得所述用户能够选择用于执行所述任务的另一电子设备的示能表示。

系统配置管理

1.一种用于提供数字助理服务的方法,所述方法包括:

在具有存储器和一个或多个处理器的用户设备处:

接收来自用户的语音输入以管理所述用户设备的一项或多项系统配置,其中所述用户设备被配置为同时提供多个用户界面;

识别与所述用户设备相关联的上下文信息;

基于所述语音输入和上下文信息确定用户意图;

确定所述用户意图是指示信息请求还是指示用于执行任务的请求;

根据确定所述用户意图指示信息请求,提供对所述信息请求的口语响应;以及

根据确定所述用户意图指示用于执行任务的请求,实例化与所述用户设备相关联的过程以执行所述任务。

2.根据项目1所述的方法,还包括在接收到所述语音输入之前:

在所述用户设备的显示器上显示用于调用所述数字助理的示能表示。

3.根据项目2所述的方法,还包括:

响应于接收到预先确定的短语来实例化所述数字助理服务。

4.根据项目2所述的方法,还包括:

响应于接收到对所述示能表示的选择来实例化所述数字助理服务。

5.根据项目1至4中任一项所述的方法,其中所述用户设备的所述一项或多项系统配置包括音频配置。

6.根据项目1至5中任一项所述的方法,其中所述用户设备的所述一项或多项系统配置包括日期和时间配置。

7.根据项目1至6中任一项所述的方法,其中所述用户设备的所述一项或多项系统配置包括口述配置。

8.根据项目1至7中任一项所述的方法,其中所述用户设备的所述一项或多项系统配置包括显示配置。

9.根据项目1至8中任一项所述的方法,其中所述用户设备的所述一项或多项系统配置包括输入设备配置。

10.根据项目1至9中任一项所述的方法,其中所述用户设备的所述一项或多项系统配置包括网络配置。

11.根据项目1至10中任一项所述的方法,其中所述用户设备的所述一项或多项系统配置包括通知配置。

12.根据项目1至11中任一项所述的方法,其中所述用户设备的所述一项或多项系统配置包括打印机配置。

13.根据项目1至12中任一项所述的方法,其中所述用户设备的所述一项或多项系统配置包括安全性配置。

14.根据项目1至13中任一项所述的方法,其中所述用户设备的所述一项或多项系统配置包括备份配置。

15.根据项目1至14中任一项所述的方法,其中所述用户设备的所述一项或多项系统配置包括应用配置。

16.根据项目1至15中任一项所述的方法,其中所述用户设备的所述一项或多项系统配置包括用户界面配置。

17.根据项目1至16中任一项所述的方法,其中确定所述用户意图包括:

确定一个或多个可执行意图;以及

确定与所述可执行意图相关联的一个或多个参数。

18.根据项目1至17中任一项所述的方法,其中所述上下文信息包括以下中的至少一者:特定于用户的数据、设备配置数据和传感器数据。

19.根据项目1至18中任一项所述的方法,其中确定所述用户意图是指示信息请求还是指示用于执行任务的请求包括:

确定所述用户意图是否将改变系统配置。

20.根据项目1至19中任一项所述的方法,根据确定所述用户意图指示信息请求,其中提供对所述信息请求的所述口语响应包括:

根据所述信息请求获得一项或多项系统配置的状态;以及

根据一项或多项系统配置的所述状态提供所述口语响应。

21.根据项目1至20中任一项所述的方法,根据确定所述用户意图指示信息请求,除了提供对所述信息请求的所述口语响应之外,还包括:

显示根据所述一项或多项系统配置的所述状态提供信息的第一用户界面。

22.根据项目1至21中任一项所述的方法,根据确定所述用户意图指示信息请求,除了提供对所述信息请求的所述口语响应之外,还包括:

提供与所述信息请求相关联的链接。

23.根据项目1至22中任一项所述的方法,根据确定所述用户意图指示用于执行任务的请求,实例化与所述用户设备相关联的所述过程以执行所述任务包括:

使用所述过程执行所述任务。

24.根据项目23所述的方法,还包括:

根据执行所述任务的结果提供第一口语输出。

25.根据项目23至24中任一项所述的方法,还包括:

提供第二用户界面,所述第二用户界面使得所述用户能够操纵执行所述任务的结果。

26.根据项目25所述的方法,其中所述第二用户界面包括与执行所述任务的所述结果相关联的链接。

27.根据项目1至19和项目23至26中任一项所述的方法,根据确定所述用户意图指示用于执行任务的请求,实例化与所述用户设备相关联的所述过程以执行所述任务包括:

提供使得所述用户能够执行所述任务的第三用户界面。

28.根据项目27所述的方法,其中所述第三用户界面包括使得所述用户能够执行所述任务的链接。

29.根据项目27至28中任一项所述的方法,还包括提供与所述第三用户界面相关联的第二口语输出。

30.一种存储一个或多个程序的非暂态计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由电子设备的一个或多个处理器执行时,

使得所述电子设备:

接收来自用户的语音输入以管理所述用户设备的一项或多项系统配置,其中所述用户设备被配置为同时提供多个用户界面;

识别与所述用户设备相关联的上下文信息;

基于所述语音输入和上下文信息确定用户意图;

确定所述用户意图是指示信息请求还是指示用于执行任务的请求;

根据确定所述用户意图指示信息请求,提供对所述信息请求的口语响应;以及

根据确定所述用户意图指示用于执行任务的请求,实例化与所述用户设备相关联的过程以执行所述任务。

31.一种电子设备,所述电子设备包括:

一个或多个处理器;

存储器;以及

一个或多个程序,所述一个或多个程序被存储在所述存储器中,所述一个或多个程序包括用于执行以下操作的指令:

接收来自用户的语音输入以管理所述用户设备的一项或多项系统配置,其中所述用户设备被配置为同时提供多个用户界面;

识别与所述用户设备相关联的上下文信息;

基于所述语音输入和上下文信息确定用户意图;

确定所述用户意图是指示信息请求还是指示用于执行任务的请求;

根据确定所述用户意图指示信息请求,提供对所述信息请求的口语响应;以及

根据确定所述用户意图指示用于执行任务的请求,实例化与所述用户设备相关联的过程以执行所述任务。

32.一种电子设备,所述电子设备包括:

用于接收来自用户的语音输入以管理所述用户设备的一项或多项系统配置的装置,其中所述用户设备被配置为同时提供多个用户界面;

用于识别与所述用户设备相关联的上下文信息的装置;

用于基于所述语音输入和上下文信息来确定用户意图的装置;

用于确定所述用户意图是指示信息请求还是指示用于执行任务的请求的装置;

根据确定所述用户意图指示信息请求,用于提供对所述信息请求的口语响应的装置;以及

根据确定所述用户意图指示用于执行任务的请求,用于实例化与所述用户设备相关联的过程以执行所述任务的装置。

33.一种电子设备,所述电子设备包括:

一个或多个处理器;

存储器;以及

被存储在所述存储器中的一个或多个程序,所述一个或多个程序包括用于执行根据项目1至29中任一项所述的方法的指令。

34.一种电子设备,所述电子设备包括:

用于执行根据项目1至29所述的方法中的任一种方法的装置。

35.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括供电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括由所述一个或多个处理器执行时使得所述电子设备执行根据项目1至29中任一项所述的方法的指令。

36.一种用于操作数字助理的系统,所述系统包括用于执行根据项目1至29所述的方法中的任一种方法的装置。

37.一种电子设备,所述电子设备包括:

接收单元,所述接收单元被配置为接收来自用户的语音输入以管理所述用户设备的一项或多项系统配置,其中所述用户设备被配置为同时提供多个用户界面;和

处理单元,所述处理单元被配置为:

识别与所述用户设备相关联的上下文信息;

基于所述语音输入和上下文信息确定用户意图;

确定所述用户意图是指示信息请求还是指示用于执行任务的请求;

根据确定所述用户意图指示信息请求,提供对所述信息请求的口语响应;以及

根据确定所述用户意图指示用于执行任务的请求,实例化与所述用户设备相关联的过程以执行所述任务。

38.根据项目37所述的电子设备,还包括在接收到所述语音输入之前:

在所述用户设备的显示器上显示用于调用所述数字助理的示能表示。

39.根据项目38所述的电子设备,还包括:

响应于接收到预先确定的短语来实例化所述数字助理服务。

40.根据项目38所述的电子设备,还包括:

响应于接收到对所述示能表示的选择来实例化所述数字助理服务。

41.根据项目37至40中任一项所述的电子设备,其中所述用户设备的所述一项或多项系统配置包括音频配置。

42.根据项目37至41中任一项所述的电子设备,其中所述用户设备的所述一项或多项系统配置包括日期和时间配置。

43.根据项目37至42中任一项所述的电子设备,其中所述用户设备的所述一项或多项系统配置包括口述配置。

44.根据项目37至43中任一项所述的电子设备,其中所述用户设备的所述一项或多项系统配置包括显示配置。

45.根据项目37至44中任一项所述的电子设备,其中所述用户设备的所述一项或多项系统配置包括输入设备配置。

46.根据项目37至45中任一项所述的电子设备,其中所述用户设备的所述一项或多项系统配置包括网络配置。

47.根据项目37至46中任一项所述的电子设备,其中所述用户设备的所述一项或多项系统配置包括通知配置。

48.根据项目37至47中任一项所述的电子设备,其中所述用户设备的所述一项或多项系统配置包括打印机配置。

49.根据项目37至48中任一项所述的电子设备,其中所述用户设备的所述一项或多项系统配置包括安全性配置。

50.根据项目37至49中任一项所述的电子设备,其中所述用户设备的所述一项或多项系统配置包括备份配置。

51.根据项目37至50中任一项所述的电子设备,其中所述用户设备的所述一项或多项系统配置包括应用配置。

52.根据项目37至51中任一项所述的电子设备,其中所述用户设备的所述一项或多项系统配置包括用户界面配置。

53.根据项目37至52中任一项所述的电子设备,其中确定所述用户意图包括:

确定一个或多个可执行意图;以及

确定与所述可执行意图相关联的一个或多个参数。

54.根据项目37至53中任一项所述的电子设备,其中所述上下文信息包括以下中的至少一者:特定于用户的数据、设备配置数据和传感器数据。

55.根据项目37至54中任一项所述的电子设备,其中确定所述用户意图指示信息请求还是指示用于执行任务的请求包括:

确定所述用户意图是否将改变系统配置。

56.根据项目37至55中任一项所述的电子设备,根据确定所述用户意图指示信息请求,其中提供对所述信息请求的所述口语响应包括:

根据所述信息请求获得一项或多项系统配置的状态;以及

根据一项或多项系统配置的所述状态提供所述口语响应。

57.根据项目37至56中任一项所述的电子设备,根据确定所述用户意图指示信息请求,除了提供对所述信息请求的所述口语响应之外,还包括:

显示根据所述一项或多项系统配置的所述状态提供信息的第一用户界面。

58.根据项目37至57中任一项所述的电子设备,根据确定所述用户意图指示信息请求,除了提供对所述信息请求的所述口语响应之外,还包括:

提供与所述信息请求相关联的链接。

59.根据项目37至58中任一项所述的电子设备,根据确定所述用户意图指示用于执行任务的请求,实例化与所述用户设备相关联的所述过程以执行所述任务包括:

使用所述过程执行所述任务。

60.根据项目59所述的电子设备,还包括:

根据执行所述任务的结果提供第一口语输出。

61.根据项目59至60中任一项所述的电子设备,还包括:

提供第二用户界面,所述第二用户界面使得所述用户能够操纵执行所述任务的结果。

62.根据项目61所述的电子设备,其中所述第二用户界面包括与执行所述任务的所述结果相关联的链接。

63.根据项目37至55和项目59至62中任一项所述的电子设备,根据确定所述用户意图指示用于执行任务的请求,实例化与所述用户设备相关联的所述过程以执行所述任务包括:

提供使得所述用户能够执行所述任务的第三用户界面。

64.根据项目63所述的电子设备,其中所述第三用户界面包括使得所述用户能够执行所述任务的链接。

65.根据项目63至64中任一项所述的电子设备,还包括提供与所述第三用户界面相关联的第二口语输出。

出于解释的目的,已经参考具体实施方案对上述描述进行了描述。然而,上面的例示性论述并非旨在为穷尽或将本发明限制为所公开的确切形式。根据以上教导内容,很多修改形式和变型形式为可能的。选择并描述这些实施方案是为了最好地解释这些技术的原理及其实际应用。本领域;的其他技术人员由此能够最好地利用这些技术以及具有适合于所设想的特定用途的各种修改的各种实施方案。

虽然参照附图对本公开以及实施例进行了全面的描述,但应当注意,各种变化和修改对于本领域内的技术人员而言将变得显而易见。应当理解,此类变化和修改被认为被包括在由权利要求书所限定的本公开和实施例的范围内。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:显示方法、装置和电子设备

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!