操作数字助理的方法、计算机可读介质、电子设备和系统与流程

文档序号:19129068发布日期:2019-11-13 02:25阅读:588来源:国知局
操作数字助理的方法、计算机可读介质、电子设备和系统与流程

相关申请的交叉引用

本专利申请要求于2013年6月9日提交的标题为“device,method,andgraphicaluserinterfaceforenablingconversationpersistenceacrosstwoormoreinstancesofadigitalassistant”的美国临时专利申请61/832,898的优先权,该美国临时专利申请针对所有目的据此全文以引用方式并入本文。

本发明所公开的实施例整体涉及数字助理系统,并且更具体地涉及上下文和/或会话持续性。



背景技术:

正如人类个人助理一样,数字助理系统可执行所请求的任务并提供所请求的建议、信息或服务。数字助理系统满足用户请求的能力取决于数字助理系统对请求或指令的正确理解。在自然语言处理方面的最新发展已使得用户能够使用口头或文本形式的自然语言来与数字助理系统进行交互。此类数字助理系统可解译用户的输入以推断用户的意图、将所推断出的意图转换成可执行的任务和参数、执行操作或部署服务以执行任务并且产生可被用户理解的输出。理想的是,由数字助理系统所产生的输出应实现在用户和数字助理系统之间的自然语言交互期间所表达的用户意图。

数字助理系统对用户请求产生令人满意的响应的能力取决于可用于数字助理系统的自然语言处理、知识库和人工智能。此外,虽然当前存在许多第三方系统和服务,但是还没有用于数字助理系统的任何有效装置来实现跨数字助理的两个或更多个非连续实例的上下文和/或会话持续性。



技术实现要素:

本文所公开的实施例提供了用于操作数字助理以实现上下文和/或会话持续性的方法、设备、系统、和非暂态计算机可读存储介质。

因此,一些实施例提供了一种在具有显示器、一个或多个处理器以及存储供所述一个或多个处理器执行的一个或多个程序的存储器的电子设备处执行的操作数字助理的方法,该方法包括显示数字助理用户界面的第一实例中的第一对话。响应于用于显示与数字助理用户界面不同的用户界面的请求,该方法包括显示与数字助理用户界面不同的用户界面。响应于用于调用数字助理的请求,该方法还包括显示数字助理用户界面的第二实例,包括显示数字助理用户界面的第二实例中的第二对话,其中第一对话保持可用于在数字助理用户界面的第二实例中进行显示。

在一些实施例中,该方法还包括在显示数字助理用户界面的第一实例之前:检测用于调用数字助理的先前请求;检测语音输入;以及提供语音输入的转录,其中第一对话包括语音输入的转录。

在一些实施例中,该方法还包括响应于用于显示与数字助理用户界面不同的用户界面的请求,停止显示数字助理用户界面。

在一些实施例中,该方法还包括:显示数字助理用户界面的第二实例中的第一示能表示;检测对所述第一示能表示的用户选择;以及响应于对第一示能表示的用户选择,显示数字助理用户界面的第二实例中的第一对话的至少一部分。

在一些实施例中,该方法还包括显示数字助理用户界面的第二实例中的第一对话的至少一部分。

在一些实施例中,该方法还包括:显示与第一对话的相应子部分对应的第二示能表示;检测对第二示能表示的用户选择;以及响应于对第二示能表示的用户选择,停止显示第一对话的相应子部分中的至少一些相应子部分。

在一些实施例中,该方法还包括响应于对第二示能表示的用户选择,将与第一对话的子部分相关联的上下文数据从数字助理的上下文历史中排除。

在一些实施例中,该方法还包括:将与第一对话相关联的上下文数据存储在数字助理的上下文历史中;确定用于调用数字助理的请求是否满足第一预先确定的条件;以及根据确定用于调用数字助理的请求满足所述第一预先确定的条件,在显示数字助理用户界面的第二实例时调用所存储的上下文数据。

在一些实施例中,当用于调用数字助理的请求是在预先确定的上下文截止时间段内被接收时,第一预先确定的条件得到满足。

在一些实施例中,该方法还包括当预先确定的上下文截止时间段截止时,从上下文历史中检测与所述第一对话相关联的上下文数据。

在一些实施例中,当电子设备被锁定时,第一预先确定的条件没有得到满足。

在一些实施例中,该第二对话包括针对数字助理的用户查询,并且该方法还包括:将与第一对话相关联的上下文数据存储在数字助理的上下文历史中;以及在显示数字助理用户界面的第二实例时,根据确定预先确定的上下文条件已得到满足,在确定针对用户查询的响应时使用所存储的上下文数据来对针对数字助理的用户查询进行响应。

在一些实施例中,当响应于在显示数字助理用户界面的第二实例期间所执行的用户动作,第一对话的至少一部分被显示在数字助理用户界面的第二实例中时,预先确定的上下文条件得到满足。

在一些实施例中,该方法还包括:确定用于调用数字助理的请求是否满足第二预先确定的条件;根据确定用于调用数字助理的请求满足第二预先确定的条件,显示数字助理用户界面的第二实例,包括显示数字助理用户界面的第二实例中的第二对话,其中第一对话保持可用于在数字助理用户界面的第二实例中进行显示;以及根据确定用于调用数字助理的请求不满足第二预先确定的条件,显示数字助理用户界面的第二实例,而不使第一对话可用于在数字助理用户界面的第二实例中进行显示。

在一些实施例中,当用于调用数字助理的请求是在预先确定的会话截止时间段内被接收时,第二预先确定的条件得到满足。

在一些实施例中,该方法还包括:将与第一对话相关联的上下文数据存储在数字助理的上下文历史中;确定用于调用数字助理的请求是否满足第一预先确定的条件,其中当用于调用数字助理的请求是在预先确定的上下文截止时间段内被接收时,第一预先确定的条件得到满足;根据确定用于调用数字助理的请求满足第一预先确定的条件,在显示数字助理用户界面的第二实例时调用所存储的上下文数据;以及在所述预先确定的上下文截止时间段截止时,从上下文历史中删除与第一对话相关联的上下文数据,其中预先确定的上下文截止时间段比预先确定的会话截止时间段短。

在一些实施例中,当电子设备被锁定时,所述第二预先确定的条件没有得到满足。

在一些实施例中,第二预先确定的条件是当用于调用数字助理的请求在显示第一对话之后检测到与电子设备的预先确定数量的用户交互之前被接收时得到满足的条件。

在一些实施例中,用于显示与数字助理用户界面不同的用户界面的请求对应于用于显示与数字助理用户界面不同的用户界面的用户输入。

在一些实施例中,用于显示与数字助理用户界面不同的用户界面的用户输入对应于用于启动应用程序的请求。

在一些实施例中,与数字助理用户界面不同的用户界面不对应于数字助理。

在一些实施例中,与数字助理用户界面不同的用户界面与不同于数字助理的应用程序相关联。

一些实施例提供了一种在各自具有显示器、一个或多个处理器以及存储供该一个或多个处理器执行的一个或多个程序的存储器的两个或更多个电子设备处执行的操作数字助理的方法,该方法包括在第一设备处显示数字助理的第一用户界面中的第一对话。在不同于第一设备的第二设备处,该方法还包括响应于用于在第二设备上调用数字助理的请求,显示数字助理的第二用户界面中的第二对话,其中第一对话可用于在第二用户界面中进行显示。

根据一些实施例,一种在其中存储有指令的非暂态计算机可读存储介质,该指令但由电子设备执行时使得设备执行上述方法中的任一方法的操作。根据一些具体实施,电子设备包括一个或多个处理器、存储器、以及一个或多个程序;所述一个或多个程序被存储在存储器中并且被配置为由所述一个或多个处理器执行,并且所述一个或多个程序包括用于执行上述方法中的任一方法的操作的指令。根据一些实施例,一种电子设备上的图形用户界面,该电子设备具有显示器、存储器、以及用于执行存储在存储器中的一个或多个程序的一个或多个处理器,该图形用户界面包括根据上述方法中的任一方法所显示的用户界面。根据一些实施例,一种电子设备包括用于执行上述方法中的任一方法的操作的装置。根据一些实施例,一种在电子设备中使用的信息处理设备包括用于执行上述方法中的任一方法的操作的装置。

根据一些实施例,一种电子设备包括被配置为显示用户界面以及接收触摸输入的触摸屏显示单元、以及被配置为接收声音输入的声音接收单元。电子设备还包括耦接到触摸屏显示单元和声音接收单元的处理单元。处理单元被配置为启用对触摸屏显示单元上的数字助理用户界面的第一实例中的第一对话的显示。响应于用于启用对与数字助理用户界面不同的用户界面的显示的请求,处理单元被配置为启用对与数字助理用户界面不同的用户界面的显示。响应于用于调用数字助理的请求,处理单元被进一步配置为启用对触摸屏显示单元上的数字助理用户界面的第二实例的显示,包括启用对数字助理用户界面的第二实例中的第二对话的显示,其中第一对话保持可用于在数字助理用户界面的第二实例中进行显示。

根据一些实施例,一种系统包括两个或更多个电子设备。第一电子设备包括被配置为显示用户界面以及接收触摸输入的触摸屏显示单元、以及被配置为接收声音输入的声音接收单元。该第一电子设备还包括耦接到触摸屏显示单元和声音接收单元的处理单元。第二电子设备包括被配置为显示用户界面以及接收触摸输入的触摸屏显示单元、以及被配置为接收声音输入的声音接收单元。该第二电子设备还包括耦接到触摸屏显示单元和声音接收单元的处理单元。第一电子设备的处理单元被配置为启用对触摸屏显示单元上的数字助理的第一用户界面中的第一对话的显示。响应于用于在第二电子设备上调用数字助理的请求,第二电子设备的处理单元被配置为启用对触摸屏显示单元上的数字助理的第二用户界面中的第二对话的显示,其中第一对话可用于在第二用户界面中进行显示。

在附图以及下文的描述中阐述了本说明书中所描述的主题的一个或多个实施例的细节。根据说明书、附图及权利要求,该主题的其他特征、方面和优点将变得显而易见。

附图说明

图1为示出根据一些实施例的数字助理在其中进行操作的环境的框图。

图2为示出根据一些实施例的数字助理客户端系统的框图。

图3a为示出根据一些实施例的数字助理系统或其服务器部分的框图。

图3b为示出根据一些实施例的图3a中所示的数字助理的功能的框图。

图3c为根据一些实施例的图3b中所示的知识本体的一部分的示意图。

图4为根据一些实施例的图3b中所示的持续性模块的框图。

图5a至图5oo根据一些实施例示出了用于实现上下文和/或会话持续性的示例性用户界面。

图6a至图6d根据一些实施例示出了实现上下文和/或会话持续性的示例性过程的流程图。

图7根据一些实施例示出了用于实现上下文和/或会话持续性的包括两个或更多个电子设备的系统的框图。

图8根据一些实施例示出了实现两个或更多个电子设备之间的上下文和/或会话持续性的示例性过程的流程图。

图9为根据一些实施例的电子设备的功能框图。

图10为根据一些实施例的电子设备的功能框图。

在整个附图中,类似的附图标记是指对应的部件。

具体实施方式

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

具体地,数字助理(da)能够接受至少部分地为自然语言命令、请求、声明、陈述和/或询问形式的用户请求。通常,用户请求要么寻求数字助理作出信息性回答,要么寻求数字助理执行任务。针对用户请求的令人满意的响应是提供所请求的信息性回答、执行所请求的任务、或这两者的组合。例如,用户可向数字助理询问,诸如“我现在在哪里?”。基于用户的当前位置,数字助理可回答“您在中央公园”。用户也可请求执行任务,例如“请提醒我今天下午4点给妈妈打电话”。作为响应,数字助理可确认该请求,然后在用户的电子日程表中创建合适的提醒项。在执行所请求的任务期间,数字助理有时在延长的时间段上在涉及多次信息交换的连续对话中与用户进行交互。存在与数字助理进行交互以请求信息或执行各种任务的许多其他方法。除提供言语响应和采取经编程的动作之外,数字助理还提供其他视觉形式或听觉形式(例如,作为文本、警报、音乐、视频、动画等)的响应。

在申请人的于2011年1月10日提交的标题为“intelligentautomatedassistant”的美国发明专利申请12/987,982中描述了数字助理的一个实例,这个美国发明专利申请的整个公开内容以引用方式并入本文。

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

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

用户设备104的实例包括但不限于手持式计算机、个人数字助理(pda)、平板电脑、膝上型计算机、台式计算机、蜂窝电话、智能电话、增强型通用分组无线电服务(egprs)移动电话、媒体播放器、导航设备、游戏控制器、电视机、遥控器、或者这些数据处理设备中的任意两者或更多者的组合或其他数据处理设备。有关用户设备104的更多细节参照图2中示出的示例性用户设备104来提供。

一个或多个通信网络110的实例包括局域网(“lan”)和广域网(“wan”)诸如互联网。通信网络110任选地使用任何已知的网络协议来实现,该任何已知的网络协议包括各种有协议线或无线协议,诸如以太网、通用串行总线(usb)、火线、全球移动通信系统(gsm)、增强型数据gsm环境(edge)、码分多址(cdma)、时分多址(tdma)、蓝牙、wi-fi、互联网电话协议(voip)、wi-max、或任何其他合适的通信协议。

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

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

图2为根据一些实施例的用户设备104的框图。用户设备104包括存储器接口202、一个或多个处理器204以及外围设备接口206。用户设备104中的各种部件通过一条或多条通信总线或信号线耦接。用户设备104包括耦接到外围设备接口206的多个传感器、子系统、以及外围设备。传感器、子系统、以及外围设备收集信息和/或促进用户设备104的各种功能。

例如,运动传感器210、光传感器212、以及接近传感器214耦接到外围设备接口206以促进取向功能、照明功能和接近感测功能。一个或多个其他传感器216诸如定位系统(例如,gps接收器)、温度传感器、生物测定传感器、陀螺仪、指南针、加速度计等也连接至外围设备接口206,以促进相关功能。

在一些实施例中,相机子系统222和光学传感器220被用于促进相机功能,诸如拍摄照片和记录视频剪辑。通过一个或多个有线通信子系统和/或无线通信子系统224来促进通信功能,该有线通信子系统和/或无线通信子系统可包括各种通信端口、射频接收器与发射器、和/或光学(例如红外)接收器与发射器。音频子系统226耦接到扬声器228和麦克风230,以促进支持语音的功能,例如语音识别、语音复制、数字记录和电话功能。

在一些实施例中,i/o子系统240也耦接到外围设备接口206。i/o子系统240包括触摸屏控制器242和/或一个或多个其他输入控制器244。触摸屏控制器242耦接到触摸屏246。触摸屏246和触摸屏控制器242例如可使用多种触摸灵敏度技术中的任一种触摸灵敏度技术来检测接触及其移动或间断,该多种触摸灵敏度技术诸如电容技术、电阻技术、红外技术、表面声波技术、接近传感器阵列等。一个或多个其他输入控制器244可耦接到其他输入/控制设备248,诸如一个或多个按钮、摇臂开关、拇指滚轮、红外端口、usb端口和/或指针设备诸如触笔。

在一些实施例中,存储器接口202耦接到存储器250。存储器250可包括高速随机存取存储器和/或非易失性存储器,诸如一个或多个磁盘存储设备、一个或多个光学存储设备、和/或闪存存储器(例如nand或nor)。

在一些实施例中,存储器250存储操作系统252、通信模块254、图形用户界面模块256、传感器处理模块258、电话模块260、和应用程序262。操作系统252包括用于处理基础系统服务以及用于执行硬件相关任务的指令。通信模块254促进与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器进行通信。图形用户界面模块256促进图形用户界面处理。传感器处理模块258促进与传感器有关的处理和功能。电话模块260促进与电话有关的处理和功能。应用程序模块262促进用户应用程序的各种功能,诸如电子消息发送、web浏览、媒体处理、导航、成像和/或其他处理和功能。

如本说明书中所述的,存储器250还存储客户端侧数字助理指令(例如,在数字助理客户端模块264中)以及各种用户数据266(例如,特定于用户的词汇数据、偏好数据,和/或其他数据诸如用户的电子通讯录、待办事项列表、购物清单等)以提供数字助理的客户端侧功能。

在各个实施例中,数字助理客户端模块264能够通过用户设备104的各种用户接口(例如,i/o子系统244)接受语音输入(例如语音输入)、文本输入、触摸输入和/或手势输入。数字助理客户端模块264还能够提供听觉(例如语音输出)、视觉形式和/或触觉形式的输出。例如,可将输出提供为语音、声音、警报、文本消息、菜单、图形、视频、动画、振动、和/或以上两者或更多者的组合。在操作期间,数字助理客户端模块264使用通信子系统224来与数字助理服务器进行通信。

在一些实施例中,数字助理客户端模块264利用各种传感器、子系统和外围设备来从用户设备104的周围环境采集附加信息以建立与用户、当前用户交互、和/或当前用户输入相关联的上下文。在一些实施例中,数字助理客户端模块264将上下文信息或其子集与用户输入一起提供至数字助理服务器以帮助推断用户的意图。在一些实施例中,数字助理还使用上下文信息来确定如何将输出准备和递送至用户。

在一些实施例中,与用户输入一起的上下文信息包括传感器信息,诸如照明、环境噪声、环境温度、周围环境的图像或视频等。在一些实施例中,上下文信息还包括用户设备104的物理状态(例如设备取向、设备位置、设备温度、电力水平、速度、加速度、运动模式、蜂窝信号强度等)。在一些实施例中,与用户设备104的软件状态相关的信息(例如正在运行的过程、所安装的程序、过去网络活动和当前网络活动、后台服务、错误日志、资源使用等)作为与用户输入相关联的上下文信息被提供给数字助理服务器。

在一些实施例中,数字助理客户端模块264响应于来自数字助理服务器的请求选择性地提供存储在用户设备104上的信息(例如,用户数据266)。在一些实施例中,数字助理客户端模块264还在数字助理服务器106进行请求时经由自然语言对话或其他用户接口来引出来自用户的附加输入。数字助理客户端模块264将附加输入传送至数字助理服务器106,以帮助数字助理服务器106进行意图推断和/或满足在用户请求中表达的用户意图。

在各个实施例中,存储器250包括附加指令或更少的指令。此外,可在被包括在一个或多个信号处理电路和/或专用集成电路中的硬件和/或固件中实现用户设备104的各种功能。

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

数字助理系统300包括存储器302、一个或多个处理器304、输入/输出(i/o)接口306、以及网络通信接口308。这些部件通过一条或多条通信总线或信号线310彼此通信。

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

在一些实施例中,i/o接口306将数字助理系统300的输入/输出设备316诸如显示器、键盘、触摸屏、和麦克风耦接到用户接口模块322。与用户接口模块322结合的i/o接口306接收用户输入(例如,语音输入、键盘输入、触摸输入等)并相应地对这些输入进行处理。在一些实施例中,数字助理系统300包括相对于图2中的用户设备104所述的部件和i/o以及通信接口中的任一者(例如,当数字助理在独立式用户设备上实施时)。在一些实施例中,数字助理系统300代表数字助理具体实施的服务器部分,并且通过位于用户设备(例如,图2中所示的用户设备104)上的客户端侧部分与用户进行交互。

在一些实施例中,网络通信接口308包括一个或多个有线通信端口312和/或无线传输和接收电路314。一个或多个有线通信端口经由一个或多个有线接口(诸如以太网、通用串行总线(usb)、火线等)接收和发射通信信号。无线电路314从通信网络和其他通信设备接收rf信号和/或光学信号/向通信网络和其他通信设备发射rf信号和/或光学信号。无线通信任选地使用多种通信标准、协议和技术中的任一者,诸如gsm、edge、cdma、tdma、蓝牙、wi-fi、voip、wi-max、或任何其他合适的通信协议。网络通信接口308使得能够经由一个或多个网络(例如互联网、内联网、无线网络诸如蜂窝电话网络、无线局域网(lan)和/或城域网(man))在数字助理系统300与其他设备之间进行通信。

在一些实施例中,存储器302或存储器302的计算机可读存储介质存储包括以下各项中的全部或其子集的程序、模块、指令和数据结构:操作系统318、通信模块320、用户接口模块322、一个或多个应用程序324和数字助理模块326。一个或多个处理器304执行这些程序、模块和指令,并从数据结构读取数据或将数据写到数据结构。

操作系统318(例如,darwin、rtxc、linux、unix、osx、windows、或嵌入式操作系统诸如vxworks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电力管理等)的各种软件部件和/或驱动器,并且促进各种硬件、固件和软件部件之间的通信。

通信模块320促进通过网络通信接口308在数字助理系统300与其他设备之间进行通信。例如,通信模块320任选地与图2中所示的用户设备104的通信模块254进行通信。通信模块320还包括用于处理由无线电路314和/或有线通信端口312所接收的数据的各种部件。

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

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

存储器302还存储数字助理模块326(或数字助理的服务器部分)。在一些实施例中,数字助理模块326包括以下子模块或其子集或超集:输入/输出处理模块328、语音转文本(stt)处理模块330、自然语言处理模块332、对话流处理模块340、任务流处理模块342、服务处理模块346、和后台处理模块350。这些模块中的每个模块具有对数字助理326的以下数据和模型中的一者或多者或其子集或超集的访问权限:知识本体334、词汇索引336、用户数据338、任务流模型344、服务模型348、和用户日志352。

在一些实施例中,使用在数字助理模块326中实施的处理模块、数据和模型,数字助理系统300执行以下各项中的至少一些:识别在从用户所接收的自然语言输入中所表达的用户意图;主动引发并获取为了充分推断用户意图(例如,通过对字词、名称、目的消歧等)所需要的信息;确定用于满足所推断出的意图的任务流;以及执行任务流以满足所推断出的意图。在一些实施例中,当由于各种原因而未向或未能向用户提供令人满意的响应时,数字助理还采取适当的动作。

在一些实施例中,如图3b中所示,i/o处理模块328通过图3a中的i/o设备316与用户进行交互或通过图3a中的网络通信接口308与用户设备(例如,图1中的用户设备104)进行交互以获取用户输入(例如,语音输入)以及提供针对用户输入的响应(例如,作为语音输出)。i/o处理模块328任选地随同对用户输入的接收或在接收用户输入之后不久获取与来自用户设备的用户输入相关联的上下文信息。上下文信息包括与用户输入有关的特定于用户的数据、词汇、和/或偏好。在一些实施例中,上下文信息还包括在接收到用户请求时所述设备(例如,图1中的用户设备104)的软件状态和硬件状态、和/或与在接收到用户请求时的用户的周围环境相关的信息。在一些实施例中,i/o处理模块328还向用户发送与用户请求有关的跟进问题,并从用户接收回答。当用户请求被i/o处理模块328接收并且用户请求包含语音输入时,i/o处理模块328将语音输入转发至语音转文本(stt)处理模块330以进行语音转文本转换。

stt处理模块330通过i/o处理模块328接收语音输入(例如,在语音记录中捕获的用户话语)。在一些实施例中,stt处理模块330使用各种声学模型和语言模型来将语音输入识别为音素的序列,并最终将其识别为以一种或多种语言书写的字词或符号的序列。语音转文本处理模块330可使用任何合适的语音识别技术、声学模型以及语言模型,诸如隐马尔可夫模型、基于动态时间规正(dtw)的语音识别以及其他统计和/或分析技术来加以实施。在一些实施例中,语音转文本处理可至少部分地由第三方服务执行或在用户的设备上执行。一旦stt处理模块330获取语音转文本处理的结果(例如,字词或符号的序列),stt处理模块330便将结果传送至自然语言处理模块332以进行意图推断。

在于2011年9月20日提交的标题为“consolidatingspeechrecognitionresults”的美国发明专利申请13/236,942中描述了关于语音转文本处理的更多细节,该美国发明专利申请的整个公开内容以引用方式并入本文。

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

在一些实施例中,除从stt处理模块330获取的符号序列之外,自然语言处理器332还接收与用户请求相关联的上下文信息(例如,来自i/o处理模块328)。自然语言处理器332任选地使用上下文信息来明确、补充和/或进一步定义被包含在从stt处理模块330接收的符号序列中的信息。上下文信息包括例如用户偏好、用户设备的硬件状态和/或软件状态,在用户请求之前、期间或之后不久收集的传感器信息,数字助理与用户之间的先前交互(例如,对话),等等。

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

在一些实施例中,知识本体334由可执行意图节点和属性节点组成。在知识本体334内,每个可执行意图节点直接连接至一个或多个属性节点或通过一个或多个中间属性节点连接至一个或多个属性节点。类似地,每个属性节点直接链接至或通过一个或多个中间属性节点链接至一个或多个可执行意图节点。例如,如图3c中所示,知识本体334任选地包括“餐厅预定”节点–一个可执行意图节点。属性节点“餐厅”、“日期/时间”(针对预订)和“同行人数”各自直接链接至可执行意图节点(例如“餐厅预订”节点)。此外,属性节点“菜系”、“价格区间”、“电话号码”、和“位置”是属性节点“餐厅”的子节点,并且各自通过中间属性节点“餐厅”链接至“餐厅预定”节点。又如,如图3c中所示,知识本体334还可包括“设定提醒”节点(例如,另一可执行意图节点)。属性节点“日期/时间”(针对设定提醒)和“主题”(针对提醒)各自链接至“设定提醒”节点。由于属性“日期/时间”同时与进行餐厅预订的任务和设定提醒的任务相关,因此属性节点“日期/时间”同时链接至知识本体334中的“餐厅预订”节点和“设定提醒”节点两者。

可执行意图节点与其链接的属性节点一起有时被描述为“域”。在本讨论中,每个域与相应的可执行意图相关联,并涉及与具体可执行意图相关联的一组节点(以及它们之间的关系)。例如,图3c中示出的知识本体334包括知识本体334内的餐厅预订域362的实例和提醒域364的实例。餐厅预定域包括可执行意图节点“餐厅预定”、属性节点“餐厅”、“日期/时间”、和“同行人数”、以及子属性节点“菜系”、“价格区间”、“电话号码”、和“位置”。提醒域364包括可执行意图节点“设定提醒”、以及属性节点“主题”和“日期/时间”。在一些实施例中,知识本体334由多个域组成。每个域任选地与一个或多个其他域共享一个或多个属性节点。例如,除了餐厅预订域362和提醒域364之外,“日期/时间”属性节点任选地与许多其他域(例如,行程安排域、旅游预订域、电影票域等)相关联。

尽管图3c示出知识本体334内的两个示例性域,但其他域(或可执行意图)例如包括“发起电话呼叫”、“查找方向”、“安排会议”、“发送消息”和“提供问题的答案”等。“发送消息”域与“发送消息”可执行意图节点相关联,并且任选地还包括属性节点,诸如“接收方”、“消息类型”和“消息主体”。属性节点“接收方”任选地例如由子属性节点(诸如“接收方姓名”和“消息地址”)来进一步定义。

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

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

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

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

在一些实施例中,数字助理还将特定实体的名称存储在词汇索引336中,使得当在用户请求中检测到这些名称中的一个名称时,自然语言处理器332将能够识别该名称涉及知识主体中的属性或子属性的特定实例。在一些实施例中,特定实体的名称是企业、餐厅、人、电影等的名称。在一些实施例中,数字助理从其他数据源中搜索并识别特定实体名称,该其他数据源诸如用户的通讯录、电影数据库、音乐家数据库和/或餐厅数据库。在一些实施例中,当自然语言处理器332识别出符号序列中的字词是特定实体的名称(例如用户通讯录中的名称)时,在为用户请求在知识主体内选择可执行意图时为该字词赋予附加重要性。

例如,当在用户请求中识别出字词“santo先生”并且在词汇索引336中发现姓“santo”是用户通讯录中的联系人中的一个联系人时,用户请求可能对应于“发送消息”或“发起电话呼叫”域。又如,当在用户请求中发现字词“abc咖啡馆”并且在词汇索引336中发现词语“abc咖啡馆”是用户所在城市中某个餐厅的名称时,则用户请求可能对应于“餐厅预订”或“寻找餐厅”域。

用户数据338包括特定于用户的信息,诸如特定于用户的词汇、用户偏好、用户地址或家庭位置、用户的默认语言和第二语言、用户的通讯录、以及每位用户的其他短期信息或长期信息。在一些实施例中,自然语言处理器332使用特定于用户的信息来补充用户输入中所包含的信息以进一步限定用户意图。例如,针对用户请求“邀请我的朋友参加我的生日派对”,自然语言处理器332能够访问用户数据338以确定“朋友”是哪些人以及“生日派对”将于何时何地举行,而不是要求用户在其请求中明确地提供此类信息。

基于符号串搜索知识本体的其他细节在于2008年12月22日提交的标题为“methodandapparatusforsearchingusinganactiveontology”的美国发明专利申请12/341,743中有所描述,该美国发明专利申请的整个公开内容以引用方式并入本文。

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

在一些实施例中,自然语言处理器332将结构化查询(包括任何已完成的参数)传送至任务流处理模块342(在本文中有时也称为“任务流处理器”)。任务流处理器342被配置为接收来自自然语言处理器332的结构化查询,完成结构化查询(如果必要的话),以及执行“完成”用户最终请求所需的动作。在一些实施例中,完成这些任务所必需的各种过程在任务流模型344中提供。在一些实施例中,任务流模型344包括用于从用户获取附加信息的过程、以及用于执行与可执行意图相关联的动作的任务流。

如上所述,为了完成结构化查询,任务流处理器342有时需要发起与用户的附加对话,以便获取附加信息和/或弄清可能有歧义的话语。当此类交互有必要时,任务流处理器342调用对话处理模块340(在本文中有时也称为“对话处理器”)以进行与用户的对话。在一些实施例中,对话处理器340确定如何(和/或何时)向用户询问附加信息,并接收和处理用户响应。通过i/o处理模块328将问题提供给用户并从用户接收回答。在一些实施例中,对话处理器340经由听觉输出和/或视觉输出向用户呈现对话输出,并接收经由口头响应或物理(例如,点击)响应的来自用户的输入。继续上文的实例,当任务流处理器342调用对话流处理器340以针对与域“餐厅预订”相关联的结构化查询来确定“同行人数”和“日期”信息时,对话流处理器335生成问题诸如“共有多少人用餐?”和“具体哪天用餐?”以传送至用户。一旦接收到来自用户的回答,对话流处理器340于是可利用缺失信息来填充结构化查询,或将信息递送至任务流处理器342以完成结构化查询的缺失信息。

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

在一些实施例中,任务流处理器342在服务处理模块346(在本文中有时也称为“服务处理器”)的辅助下完成用户输入中所请求的任务或者提供用户输入中所请求的信息性回答。例如,服务处理器346可以任务流处理器342的名义发起电话呼叫、设置日历条目、调用地图搜索、调用用户设备上安装的其他用户应用程序或与所述其他用户应用程序进行交互,以及调用第三方服务(例如,餐厅预订门户网站、社交网站、银行门户网站等)或与第三方服务交互。在一些实施例中,可通过服务模型348中的相应服务模型指定每项服务所需的协议和应用程序编程接口(api)。服务处理器346针对服务访问合适的服务模型,并依据服务模型根据该服务所需的协议和api来生成针对该服务的请求。

例如,如果餐厅已启用在线预订服务,则餐厅可提交服务模型,该服务模型指定用于进行预订的必要参数以及用于将必要参数的值传送至在线预订服务的api。在被任务流处理器342请求时,服务处理器346可使用存储在服务模型中的web地址来建立与在线预订服务的网络连接,并将预订的必要参数(例如,时间、日期、同行人数)以按照在线预订服务的api的格式发送至在线预订接口。

在一些实施例中,自然语言处理器332、对话处理器340以及任务流处理器342共同且反复地使用以推断并限定用户的意图、获得信息以进一步明确并提炼用户意图、并最终生成响应(例如,至用户的输出,或任务完成)以满足用户的意图。

在一些实施例中,在已执行满足用户请求所需的所有任务之后,数字助理326制定确认响应,并通过i/o处理模块328将该响应发送给用户。如果用户请求寻求信息性回答,则确认响应向用户呈现所请求的信息。在一些实施例中,数字助理还请求用户指示用户是否对数字助理326生成的响应满意。

在一些实施例中,数字助理326包括具有上下文历史352和会话历史354的持续性模块350。持续性模块350被配置为实现跨数字助理两个或更多个非连续实例的会话和/或上下文持续性。在下文中参考图4更详细地论述持续性模块350。

关于数字助理的更多细节能在于2010年1月18日提交的标题为“intelligentautomatedassistant”的美国发明专利申请12/987,982中找到,并且也能在于2011年6月3日提交的标题为“generatingandprocessingdataitemsthatrepresenttaskstoperform”的美国发明专利申请no.61/493,201中找到,这两个美国发明专利申请的全部公开内容以引用方式并入本文。

图4示出了根据一些实施例的被包括在数字助理326中的持续性模块350的框图。持续性模块350包括数字助理(da)调用模块410、上下文持续性模块420、和会话持续性模块430。da调用模块被配置为检测用于调用da的用户请求。例如,检测到用户设备104的home按钮509上的长按或者接收到预定义的语音输入(例如,陈述“嘿,siri”的语音输入)时调用da。

关于可听地调用数字助理的更多细节在于2013年2月7日提交的标题为“voicetriggerforadigitalassistant”的美国临时申请序列号61/762,260(代理人案卷号p18041usp1/063266-5819-pr)中进行了描述,这个美国临时申请的整个公开内容以引用方式并入本文。

上下文持续性模块420被配置为实现跨da的多于一个实例的上下文信息的持续性。在一些实施例中,来自da用户界面的前一个实例(或会话)的上下文信息在da用户界面的后一个实例期间被自然语言处理器332用于意图推断中。例如,当在da用户界面的第一实例中时,用户问da“纽约市是什么天气?”响应于用户请求,da指出纽约市的当前气温和主要天气。随后,用户离开da用户界面的第一实例,前往与da用户界面不同的用户界面(例如,设备的主屏幕、设备的锁定屏幕、或与da分开的应用程序),并在退出da用户界面的第一实例之后(或稍晚)的时间处在da用户界面的第二实例中重新进入da用户界面。当在da用户界面的第二实例中时,用户问da“dc怎么样?”da被允许使用与来自da用户界面的第一实例的用户与da之间的对话对应的上下文信息来在da用户界面的第二实例中回答用户的问题。例如,da在da用户界面的第二实例中的同时保持“天气”上下文,并通过在视觉上和/或在听觉上提供华盛顿特区的当前气温和主要天气来响应用户的请求。

上下文持续性模块420包括上下文历史352和第一条件模块422。上下文历史352是存储来自da的一个或多个先前实例的上下文信息的短期存储器或高速缓存、存储器。在一些实施例中,上下文历史352与用户日志356分开,并且只存储与da和用户之间的对话相关的上下文信息。在一些实施例中,上下文历史352被存储在服务器系统108的da服务器106中(例如在da服务器106的数据116中)。只要第一预先确定的条件得到满足,第一条件模块422便触发在da的第二实例中使用存储在上下文历史352中的上下文信息。在一些实施例中,第一预先确定的条件是上下文截止时间段(例如一分钟)。例如,只要da的第二实例在离开da的第一实例的一分钟内被调用,来自da的第一实例的上下文信息便在da的第二实例中被使用。在一些实施例中,如果第一预先确定的条件没有得到满足(例如内容截止时间段截止),则与da的第一实例相关的上下文信息被从上下文历史352中删除。

会话持续性模块430被配置为实现跨da多于一个实例的会话(或对话)的持续性。在一些实施例中,包括da用户界面的前一实例中的用户与da之间的对话的转录的至少一部分的会话信息可用于在da用户界面的后一实例中进行显示。例如,当在da用户界面的第一实例中时,用户问da“为我显示附近的巴基斯坦餐厅”并且接收到用户当前位置十英里半径内的六家巴基斯坦餐厅的列表。随后,用户离开da用户界面的第一实例,前往与da用户界面不同的用户界面(例如,设备的主屏幕、设备的锁定屏幕、或与da分开的应用程序),并在da用户界面的第二实例中重新进入da用户界面。当在da用户界面的第二实例中时,六家巴基斯坦餐厅的列表可用于进行显示。在一些实施例中,用户与da之间的前一对话的一部分被显示,或者用户与da之间的前一对话的穿透视图被显示在部分透明横幅下。在一些实施例中,当在da用户界面的第二实例中时通过向上滚动,来自da用户界面的第一实例的用户与da之间的对话的其余部分可用于进行显示。

会话持续性模块430包括会话历史354和第二条件模块432。会话历史354是存储包括来自da一个或多个先前实例的用户与da之间的对话的转录的会话信息的短期存储器或高速缓存、存储器。在一些实施例中,会话历史354是与上下文历史352分开的存储器。在一些其他实施例中,会话历史354和上下文历史352被包括在同一存储器中。在一些实施例中,会话历史354被存储在服务器系统108的da服务器106中(例如在da服务器106的数据116中)。只要第二预先确定的条件得到满足,第二条件模块432便触发在da的第二实例中使用存储在会话历史354中的会话信息。在一些实施例中,第二预先确定的条件是会话截止时间段(例如八分钟)。例如,只要da的第二实例在离开da第一实例的八分钟内被调用,来自da第一实例的会话信息(例如对话的转录)便可用于在da的第二实例中进行显示。在一些实施例中,如果第二预先确定的条件没有得到满足(例如会话截止时间段截止),则与da的第一实例相关的会话信息被从会话历史354中删除。

虽然图4没有明确地显示图3b中数字助理326的所有部件之间的通信接口,但应当理解,图4中所示的部件能够直接或者通过一个或多个其他接口与图3b中数字助理326的其他部件进行通信,所述其他接口诸如应用程序编程接口(api)、数据库查询接口、和/或其他接口、协议、和/或通信通道。

现在将注意力转到任选地在用户设备104上实现的用户界面(“ui”)的实施例。

图5a至5oo示出了用于实现上下文和/或会话持续性的示例性用户界面。图6a至6d是示出用于实现上下文和/或会话持续性的方法的流程图。图5a至5oo中的用户界面用于阐释图6a至6d中所示的过程。

图5a至5oo示出了用户设备104,其具有被配置为显示用户界面503以及接收触摸输入的触摸屏246、接近传感器214、其他传感器216(例如一个或多个加速度计)、光学传感器222(相机子系统220的部件)、被配置为生成声音的扬声器228、和被配置为接收声音输入(例如语音输入)的麦克风230。用户设备104任选地包括一个或多个物理按钮,诸如“home”按钮或菜单按钮509。home按钮509任选地用于导航到主屏幕或者任选地用于在用户设备104上被执行的一组应用程序中的任何应用程序。另选地,在一些实施例中,home按钮被实施为在触摸屏246上显示的用户界面中的软键(例如用户界面对象,在本文中有时称为示能表示,或者用户界面示能表示)。

图5a根据一些实施例示出了用户设备104上的应用程序菜单的示例性用户界面。在一些实施例中,用户界面503包括以下元件或者其子集或超集:

·无线通信(诸如蜂窝信号和wi-fi信号)的一个或多个信号强度指示器502a;

·当前时间指示器502b;

·电池状态指示器502c;

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

ο被标记为“电话”的电话模块的图标506a;

ο被标记为“邮件”的电子邮件客户端模块的图标506b;

ο被标记为“音乐”的视频和音乐播放器模块的图标506c;和

ο被标记为“浏览器”的互联网浏览器模块的图标506d;

·其它应用程序的图标,诸如:

ο被标记为“消息”的提供对sms和mms消息的访问的消息模块的图标504a;

ο被标记为“日历”的日历模块的图标504b;

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

ο被标记为“相机”的相机模块的图标504d;

ο被标记为“股市”股市桌面小程序的图标504e;

ο被标记为“地图”的地图模块的图标504f;

ο被标记为“天气”的天气桌面小程序的图标504g;

ο被标记为“设置”的提供对用户设备104的设置的访问的设置应用程序或模块的图标504h;

ο被标记为“实用程序”的提供对一个或多个实用程序应用程序的访问的实用程序模块的图标504i;和

ο被标记为“app商店”的提供对应用程序集市的访问的应用程序商店模块的图标504j。

应当指出的是,图5a中示出的图标标签仅仅是示例性的。例如,视频和音乐播放器模块图标506c被标记为“音乐”或“音乐播放器”。其它标签任选地用于各种应用程序图标。在一些实施例中,相应应用程序图标的标签包括与该相应应用程序图标对应的应用程序的名称。在一些实施例中,特定应用程序图标的标签不同于与该特定应用程序图标对应的应用程序的名称。

图5a示出了用户设备104在触摸屏246上显示用户界面503,该用户界面503具有多个应用程序图标504和托盘508中的托盘图标506。图5a还示出了检测到home按钮509上方的用户触摸输入510。

图5b示出了响应于在图5a中检测到home按钮509上方的用户触摸输入510的长按来调用数字助理(da)的第一实例。在一些实施例中,长按是保持超过预先确定的时间量(例如500ms、750ms、1秒等)的静止触摸接触。响应于调用da,da通过询问“我能帮您做些什么?”来可听地提示用户。da的问题也被转录在用户界面503上。图5b还示出了数字助理(da)按钮512。在一些实施例中,da按钮512被实施为用户界面503中的软键(例如用户界面对象)。在一些实施例中,响应于检测到da按钮512上的触摸输入,用户设备104被配置为激活da(例如打开麦克风230)并使da接收附加提问。例如,响应于da的提示,用户问da“帕洛阿尔托是什么气温?”

图5c示出了da用户界面内的针对用户问题的da响应。da通过陈述被转录在框513a中的“帕洛阿尔托当前77°”来对用户的问题进行响应。da还显示未来二十四小时、未来三天、未来一周等等的天气趋势513b。图5c还示出了检测到用户触摸输入511的从位置511a向511b的向下拖动手势。

图5d示出了响应于检测到图5c中的向下拖动手势,在da用户界面内向上滚动用户与da之间的当前对话(或会话)的转录(例如语音转文本转录)。图5d示出了框514中的用户的问题的转录以及框515中的da的提示的部分显示的转录。图5d还示出了检测到用户触摸输入511从位置511b向511c的向下拖动手势。

图5e示出了响应于检测到图5d中的向下拖动手势,在da用户界面内滚动到用户与da之间的当前对话(或会话)的转录的顶部。图5e示出了在用户界面503中完整显示的框515。图5e还示出了检测到da按钮512上方的用户触摸输入516。响应于da按钮512上方的用户触摸输入516,da被激活(例如麦克风230被打开)并且使得能够接收来自用户的附加提问或请求。例如,在用户设备104检测到触摸输入516之后,用户问da“为我显示附近的餐厅”。

图5f示出了在da用户界面内的针对用户请求的da响应。da通过陈述被转录在框516中的“我找到了十五家餐厅……其中十四家离您相当近”来对用户的请求进行响应。da还显示用户当前位置附近的十四家餐厅的列表517,包括关于餐厅1的信息容器517a、关于餐厅2的信息容器517b、和关于餐厅3的信息容器517c。图5c还示出了检测到关于餐厅1的信息容器517a上方的用户触摸输入518。

图5g示出了在da用户界面内显示与“餐厅1”有关的详细信息519的弹出。详细信息519响应于检测到图5f中的关于“餐厅1”的信息容器517a上的触摸输入518被显示。详细信息519任选地包括以下各项中的一者或多者:餐厅1的照片、餐厅1的营业时间、餐厅1的电话号码和网站、用户当前位置距离餐厅1的距离、和相对于用户当前位置标记餐厅1的位置的地图。图5g示出了被配置为使用户返回到餐厅列表517的“餐厅”按钮520a和被配置为退出da用户界面并将用户带到主屏幕的“完成”按钮520b(例如,完成按钮520b与home按钮509类似地起作用)。图5g还示出了检测到餐厅按钮520a上方的用户触摸输入521。

关于相关信息在da用户界面的实例内的显示的更多细节在于2012年6月8日提交的标题为“intelligentautomatedassistant”的美国临时申请序列号61/657,736(代理人案卷号10575usxp1/063266-5693-pr)中进行了描述,这个美国临时申请的整个公开内容以引用方式并入本文。

图5h示出了响应于检测到图5g中餐厅按钮520a上方的用户触摸输入521来显示用户与da之间的当前对话(或会话)的转录。所显示的转录包括与图5f中相同的信息。图5h还示出了检测到da按钮512上方的用户触摸输入522。响应于da按钮512上方的用户触摸输入522,da被激活并且使得能够接收来自用户的附加提问或请求。例如,在用户设备104检测到触摸输入522之后,用户问da“南卡罗莱纳州的查尔斯顿是什么气温”。

图5i示出了在da用户界面内的针对被转录在框523中的用户请求的da响应。da通过陈述被转录在框524中的“南卡罗莱纳州的查尔斯顿当前80°”来对用户的请求进行响应。图5i还示出了检测到home按钮509上方的用户触摸输入525。

图5j示出了响应于检测到图5i中的home按钮509上方的用户触摸输入525来显示与da用户界面不同的用户界面(例如主屏幕)。图5j还示出了检测到home按钮509上方的用户触摸输入526。

图5k示出了响应于检测到图5j中的home按钮509上方的用户触摸输入526的长按来调用数字助理(da)的第二实例。图5k还示出了上下文截止定时器527和会话截止定时器528。在一些具体实施中,上下文截止定时器527是在用户退出da用户界面时启动的60秒定时器。在一些其它具体实施中,上下文截止定时器527是预先确定的持续时间(例如0分钟、2分钟、3分钟、4分钟、5分钟、6分钟、7分钟、8分钟、……等)或者用户定义的持续时间。如果用户在退出da用户界面的60秒内(或者更一般性地,在上下文截止定时器527截止之前)调用da的后一实例,则来自da前一实例的上下文信息使得能够被自然语言处理器用于在da的后一实例中进行意图推断。如果用户在上下文截止定时器527截止之前没有调用da的后一实例,则从上下文历史存储器中删除来自da前一实例的上下文信息。

在一些具体实施中,会话截止定时器528是在用户退出da用户界面时启动的8分钟定时器。在一些其它具体实施中,会话截止定时器528是预先确定的持续时间(例如0分钟、2分钟、4分钟、6分钟、8分钟、10分钟、……等)或者用户定义的持续时间。如果用户在退出da用户界面的8分钟内(或者更一般性地,在会话截止定时器528截止之前)调用da的后一实例,则来自da前一实例的用户与da之间的对话(或会话)的转录的一部分可用于在da用户界面的后一实例中进行显示。如果用户在会话截止定时器528截止之前(例如在退出da用户界面8分钟内)没有调用da的后一实例,则来自da前一实例的用户与da之间的对话(或会话)的转录的前述部分不可用于在da用户界面的后一实例中进行显示。

图5k还示出了数字助理(da)的第二实例的调用在这个实例中在退出da用户界面的第一实例之后大约30秒时响应于检测到图5i中的home按钮509上方的用户触摸输入525发生。因此,上下文截止定时器527和会话截止定时器528都没有截止,并且来自da用户界面的第一实例的上下文信息和会话信息两者在da用户界面的第二实例中持续。响应于调用da的第二实例,da通过询问“我能帮您做些什么?”来可听地提示用户。例如,响应于该提示,用户问da“法国巴黎怎么样?”

图5l示出了包括可滚动转录的实施例中的da用户界面的第二实例,其中来自da用户界面的第一实例的对话(或会话)的至少一部分可用于进行显示。图5l还示出了在da用户界面的第二实例内的针对被转录在框530中的用户提问的响应。da通过陈述被转录在框530a中的“法国巴黎当前65°”来对用户的提问进行响应。da借助于来自da用户界面的第一实例的上下文信息(例如天气上下文)来对用户的提问进行响应。此外,da的提示的转录被显示在框529中,并且来自da用户界面的第一实例的用户与da之间的对话(或会话)的转录的一部分被部分地显示在框524中。图5l还示出了检测到用户触摸输入531从位置531a向531b的向下拖动手势(在本文中有时也称为“轻扫手势”)。

图5m示出了响应于检测到图5l中检测到的向下拖动手势,在da用户界面的第二实例内向下滚动用户与da之间的对话(或会话)的转录(例如语音转文本转录)。所显示的转录包括来自da用户界面的当前(第二)实例的对话和来自da用户界面的前一(第一)实例的对话。所显示的转录包括图5l中所示的来自da用户界面的第二实例的对话。在框524中,所显示的转录包括来自da用户界面的第一实例的用户的问题“南卡罗莱纳州的查尔斯顿是什么气温?”在框523中,所显示的转录还包括针对用户问题的da响应“南卡罗莱纳州的查尔斯顿当前80°”。所显示的转录还包括来自da用户界面的第一实例的餐厅列表517,包括关于餐厅14的信息容器517n和关于餐厅13的信息容器517m的一部分。

图5n示出了包括用于用户与da之间的对话的转录的可收缩目录结构的另一实施例中的da用户界面的第二实例。在一些实施例中,目录结构将来自转录的提问和回答对分成相应分区。在一些其它实施例中,目录结构将转录分成类似主题。图5n示出了被分成用餐主题532和天气主题533的来自da用户界面的第一实例和第二实例的对话。

如图5n中所示,用餐主题532当前被最小化(或收缩),并且按钮534被配置为使用餐主题532最大化以展示与用餐主题532对应的对话的至少一部分。天气主题533当前被最大化,并且显示来自da用户界面的第一实例和第二实例的与天气有关的对话的至少一部分。按钮535被配置为使天气主题533最小化以停止显示来自da用户界面的第一实例和第二实例的与天气有关的对话的一部分。图5n还示出了检测到按钮535上方的用户触摸输入536。每个用户界面按钮在本文中有时被称为示能表示、或者用户界面示能表示、或者用户界面对象。

图5o示出了响应于检测到图5n中按钮535上方的用户触摸输入536来使天气主题533最小化。图5o还示出了检测到da按钮512上方的用户触摸输入537。响应于da按钮512上方的用户触摸输入537,da被激活(例如麦克风230被打开)并且使得能够接收来自用户的附加提问或请求。例如,在用户设备104检测到触摸输入5137之后,用户问da“慕尼黑怎么样?”

在一些实施例中,如果相应主题在可收缩目录结构内被最小化,则用于与相应主题有关的对话的一部分的上下文信息被从上下文历史中排除。继而,被排除的上下文信息在da试图对用户的提问或请求进行响应时不被自然语言处理器332用于进行意图推断。

图5p示出了在da用户界面的第二实例内的针对被转录在框538中的用户提问的da响应。da通过陈述“您希望我针对“慕尼黑怎么样”搜索网页吗?”来对用户请求进行响应。da用户界面的第二实例还显示“搜索网页”按钮540,其被配置为针对“慕尼黑怎么样”执行网络搜索。在图5p中,由于与天气主题533有关的上下文信息已被从上下文历史中排除,所以da没有推断出用户的问题“慕尼黑怎么样?”是指天气。

图5q示出了响应于检测到图5j中的home按钮509上方的用户触摸输入526的长按来调用数字助理(da)的第二实例。图5q还示出了数字助理(da)的第二实例的调用在这个实例中在退出da用户界面的第一实例之后大约2分钟(例如会话截止定时器528处于两分钟标记处)时响应于图5i中的home按钮509上方的用户触摸输入525发生。因此,上下文截止定时器527已截止,只有来自da用户界面的第一实例的会话信息在da用户界面的第二实例中持续。响应于调用da的第二实例,da通过询问“我能帮您做些什么?”来可听地提示用户。例如,响应于该提示,用户问da“法国巴黎怎么样?”

图5r示出了一个实施例中的da用户界面的第二实例,其中来自da用户界面的第一实例的用户与da之间的对话(或会话)的转录可用于进行显示。图5r还示出了显示在用户界面503中的“查看过去内容”按钮541。“查看过去内容”按钮541被配置为显示来自da用户界面的第一实例的对话的转录的至少一部分。来自da用户界面的第二实例的对话的转录被显示在“查看过去内容”按钮541下面。来自da用户界面的第二实例的对话的转录包括显示在框542中的da提示、显示在框543中的用户提问、和显示在框544中的da响应。

如框544中所转录的那样,da通过陈述“您希望我针对“法国巴黎怎么样”搜索网页吗?”来对用户提问进行响应。da用户界面的第二实例还显示“搜索网页”按钮545,其被配置为针对“法国巴黎怎么样”执行网络搜索。在图5r中,由于来自da用户界面的第一实例的上下文信息因上下文截止定时器在调用da第二实例之前截止而已被从上下文历史中删除,所以da没有推断出转录在框543中的用户的提问是指天气。图5r还示出了检测到“查看过去内容”按钮541上方的用户触摸输入546。

图5s示出了响应于检测到图5r中的“查看过去内容”按钮541上方的用户触摸输入546来在da用户界面的第二实例中显示来自da用户界面的第一实例的对话的转录的至少一部分。所显示的转录包括来自da用户界面的当前(第二)实例的对话和来自da用户界面的前一(第一)实例的对话。所显示的转录包括图5r中所示的来自da用户界面的第二实例的对话。所显示的转录包括来自da用户界面的第一实例的用户提问“南卡罗莱纳州的查尔斯顿是什么气温”和da响应“南卡罗莱纳州的查尔斯顿当前80°”。所显示的转录还包括来自da用户界面的第一实例的餐厅列表517,餐厅列表517该包括关于餐厅14的信息容器517n。

图5t示出了响应于检测到图5j中的主按钮509上方的用户触摸输入526的长按来调用数字助理(da)的第二实例。图5t还示出了数字助理(da)的第二实例的调用在退出da用户界面的第一实例之后8分钟以后响应于图5i中的home按钮509上方的用户触摸输入525发生。因此,上下文截止定时器527和会话截止定时器528都已截止,并且来自da用户界面的第一实例的上下文信息和会话信息两者都不在da用户界面的第二实例中持续。响应于在上下文截止定时器527和会话截止定时器528两者截止之后调用da的第二实例,da通过询问“我能帮您做些什么?”来可听地提示用户。例如,响应于该提示,用户问da“法国巴黎怎么样?”

图5u示出了一个实施例中的da用户界面的第二实例,其中来自da用户界面的第一实例的用户与da之间的对话(或会话)的转录不可用于进行显示。如框549中所转录的那样,da通过陈述“您希望我针对“法国巴黎怎么样”搜索网页吗?”来对用户提问进行响应。da用户界面的第二实例还显示“搜索网页”按钮550,其被配置为针对“法国巴黎怎么样”执行网络搜索。在图5u中,由于来自da用户界面的第一实例的上下文信息因上下文截止定时器527在调用da第二实例之前截止而已被从上下文历史中删除,所以da没有推断出转录在框548中的用户的提问是指天气。图5u还示出了检测到用户触摸输入551从位置551a向511b的向下拖动手势。

图5v示出了响应于检测到图5u中的向下拖动手势来向上滚动用户界面503。来自da用户界面的第一实例的转录的一部分即使在向上滚动之后也不可用于进行显示,因为会话截止定时器528在da的第二实例被调用之前截止。

图5w示出了显示与da用户界面不同的用户界面(例如锁定屏幕)。图5w还示出了检测到home按钮509上方的用户触摸输入552。

图5x示出了响应于检测到图5w中的home按钮509上方的用户触摸输入552的长按来调用数字助理(da)的第二实例。图5x还示出了数字助理(da)的第二实例的调用在这个实例中在退出da用户界面的第一实例之后大约30秒时响应于图5i中的home按钮509上方的用户触摸输入525发生。在一些实施例中,在用户设备104锁定期间,即使上下文截止定时器527和会话截止定时器两者都没有截止,来自da用户界面的第一实例的上下文信息和会话信息也都不在da用户界面的第二实例中持续。响应于调用da的第二实例,da通过询问“我能帮您做些什么?”来可听地提示用户。例如,响应于该提示,用户问da“布达佩斯怎么样?”

图5y示出了一个实施例中的da用户界面的第二实例,其中来自da用户界面的第一实例的用户与da之间的对话(或会话)的转录不可用于进行显示。如框555中所转录的那样,da通过陈述“您希望我针对“布达佩斯怎么样”搜索网页吗?”来对用户提问进行响应。da用户界面的第二实例还显示“搜索网页”按钮556,其被配置为针对“布达佩斯怎么样”执行网络搜索。在图5y中,由于来自da用户界面的第一实例的上下文信息在用户设备104锁定期间被从上下文历史中排除,所以da没有推断出转录在框554中的用户的提问是指天气。图5y还示出了检测到home按钮509上方的用户触摸输入557。

图5z示出了响应于检测到图5y中的home按钮509上方的用户触摸输入557来显示与da用户界面不同的用户界面(例如锁定屏幕)。图5z还示出了检测到用户触摸输入558从位置558a向558b的水平拖动手势以解锁用户设备104。

图5aa示出了响应于检测到图5z中的水平拖动手势来显示与da用户界面不同的用户界面(例如解锁主屏幕)。图5aa还示出了检测到home按钮509上方的用户触摸输入559。

图5bb示出了响应于检测到图5aa中的home按钮509上方用户触摸输入559的长按来调用数字助理(da)的第二实例。图5bb还示出了数字助理(da)的第二实例的调用在退出da用户界面的第一实例之后大约50秒(例如上下文截止定时器527处于大约50秒标记处)时响应于图5i中的home按钮509上方的用户触摸输入525发生。因此,上下文截止定时器527和会话截止定时器528都没有截止,并且来自da用户界面的第一实例的上下文信息和会话信息两者在da用户界面的第二实例中持续。响应于调用da的第二实例,da通过询问“我能帮您做些什么?”来可听地提示用户。例如,响应于该提示,用户问da“布达佩斯怎么样?”

图5cc示出了包括可滚动转录的实施例中的da用户界面的第二实例,其中来自da用户界面的第一实例的对话(或会话)的至少一部分可用于进行显示。图5cc还示出了在da用户界面的第二实例内的针对被转录在框561中的用户提问的响应。如框562中所转录的那样,da通过陈述“布达佩斯当前70°”来对用户提问进行响应。da借助于来自da用户界面的第一实例的上下文信息(例如天气上下文)来对用户提问进行响应。图5cc还示出了在框524中部分地显示来自da用户界面的第一实例的用户与da之间的对话(或会话)的转录的一部分。

图5dd示出了响应于检测到图5j中的home按钮509上方的用户触摸输入526的长按来调用数字助理(da)的第二实例。图5dd还示出了会话截止定时器528。在一些实施例中,会话截止定时器528是预先确定的时间段(例如2分钟、4分钟、6分钟、8分钟、10分钟等)或者用户定义的时间段。在一些具体实施中,会话截止定时器528是在用户退出da用户界面时启动的8分钟定时器。如果用户在退出da用户界面的8分钟内(或者更一般性地,在会话截止定时器528截止之前)调用da的后一实例,则来自da前一实例的用户与da之间的对话(或会话)的转录的一部分可用于在da用户界面的后一实例中进行显示。如果用户在会话截止定时器528截止之前(例如在退出da用户界面8分钟内)没有调用da的后一实例,则来自da前一实例的用户与da之间的对话(或会话)的转录的前述部分不可用于在da用户界面的后一实例中进行显示。此外,如果用户在会话截止定时器528截止之前没有调用da的后一实例,则用户设备104从上下文历史中删除与来自da前一实例的用户与da之间的对话(或会话)对应的所存储的上下文信息。

图5dd示出了一个预示性实例,其中数字助理(da)的第二实例的调用在这个实例中在退出da用户界面的第一实例之后大约2分钟时响应于图5i中的home按钮509上方的用户触摸输入525发生。因此,会话截止定时器528还没有截止,并且来自da用户界面的第一实例的会话信息在da用户界面的第二实例中持续。此外,图5dd示出了在框524中部分地显示来自da用户界面的第一实例的用户与da之间的对话(会话)的转录的一部分,并且da的提示的转录被显示在框563中(例如“我能帮您做些什么?”)。响应于调用da的第二实例,da通过询问“我能帮您做些什么?”来可听地提示用户。例如,响应于该提示,用户问da“法国巴黎怎么样?”在一些实施例中,在da用户界面被显示在用户界面503中时能看到的主屏幕的一部分被模糊、加阴影、或以其它方式使得在视觉上更不明显。例如,在图5dd中,主屏幕的一部分(例如包括应用程序图标504a、504b、504c、504d、504e、504f、504g、504h、504i、504j和托盘图标506a、506b、506c、506d)在用户界面503中的da用户界面的第二实例下面被部分显示或模糊。

图5ee示出了一个实施例中的da用户界面的第二实例,其中来自da用户界面的第一实例的用户与da之间的对话(或会话)的转录可用于进行显示。如图5ee的框565中所转录的那样,da通过显示“您希望我针对“法国巴黎怎么样”搜索网页吗?”来对用户提问进行响应。da用户界面的第二实例还显示“搜索网页”按钮545,其被配置为针对“法国巴黎怎么样”执行网络搜索。

在一些实施例中,当来自da用户界面的第一实例的da与用户之间的第一对话的至少一部分响应于用户动作(例如触摸屏112上的轻击手势或轻扫手势)而被显示在触摸屏112上的用户界面503中时,来自数字助理用户界面的第一实例的上下文信息被调用。在图5ee中,由于来自da用户界面的第一实例的上下文信息在接收用户查询564时或之前还没有被调用,所以da在对用户查询进行响应时没有推断出转录在框564中的用户查询是指天气。由于用户设备104在接收用户查询564时或之前还没有检测到用于显示来自da用户界面的第一实例的da与用户之间第一对话的至少一部分的用户动作(例如触摸屏112上的轻击手势或轻扫手势),所以da在对用户查询564进行响应时没有调用来自da用户界面的第一实例的上下文信息。图5ee还示出了检测到触摸屏112上方的用户触摸输入567从位置567a向567b的向下拖动手势(在本文中有时也称为“轻扫手势”)。

图5ff示出了响应于检测到图5ee中检测到的向下拖动手势,在da用户界面的第二实例内向下滚动用户与da之间的对话(或会话)的转录(例如语音转文本转录)。图5ff中所显示的转录包括来自da用户界面的当前(第二)实例的对话和来自da用户界面的前一(第一)实例的对话。图5ff中所显示的转录包括来自da用户界面的第二实例的对话(例如da的提示563、用户查询564、和da响应565,566)。在框523中,图5ff中所显示的转录包括来自da用户界面的第一实例的用户提问“南卡罗莱纳州的查尔斯顿是什么气温?”在框524中,图5ff中所显示的转录还包括da用户界面的第一实例中的针对用户提问的da响应“南卡罗莱纳州的查尔斯顿当前80°”。

图5ff还示出了检测到触摸屏112上的da按钮512上方的用户触摸输入568。响应于da按钮512上方的用户触摸输入568,da被激活(例如麦克风230被打开)并且使得能够接收来自用户的附加提问(在本文中有时也被称为“查询”)或请求。例如,在用户设备104检测到用户触摸输入568之后,用户问da“巴黎怎么样?”

图5gg示出了da用户界面内的针对用户查询的da响应。在图5gg中,da通过陈述被转录在框670中的“法国巴黎当前65°”来对用户的提问进行响应。在图5gg中,由于来自da用户界面的第一实例的上下文信息在接收用户查询569时或之前已被调用,所以da在对用户查询进行响应时推断出转录在框569中的用户查询是指天气。由于用户设备104在接收用户查询569时或之前已检测到用于显示来自da用户界面的第一实例的da与用户之间第一对话的至少一部分(例如用户查询523和针对用户查询523的da响应524)的用户动作(例如图5ee中所检测到的拖动手势),所以da在对用户查询569进行响应时调用来自da用户界面的第一实例的上下文信息。

图5hh示出了响应于检测到图5j中的home按钮509上方的用户触摸输入526的长按来调用数字助理(da)的第二实例。图5hh还示出了会话截止定时器528。在一些具体实施中,会话截止定时器528是在用户退出da用户界面时启动的8分钟定时器。图5hh还示出了数字助理(da)的第二实例的调用在这个实例中在退出da用户界面的第一实例之后大约2分钟时响应于图5i中的home按钮509上方的用户触摸输入525发生。因此,会话截止定时器528还没有截止,并且来自da用户界面的第一实例的会话信息在da用户界面的第二实例中持续。

图5hh还示出了在da用户界面内显示“查看过去内容”按钮572。“查看过去内容”按钮572被配置为显示来自da用户界面的第一实例的对话的转录的至少一部分。图5hh还示出了检测到触摸屏112上“查看过去内容”按钮572上方的用户触摸输入573。此外,在图5hh中,主屏幕的一部分(例如包括应用程序图标504a、504b、504c、504d、504e、504f、504g、504h、504i、504j和托盘图标506a、506b、506c、506d)在用户界面503中da用户界面的第二实例下面被部分地显示或模糊。

图5ii示出了响应于检测到图5hh中“查看过去内容”按钮572上方的用户触摸输入573来在da用户界面的第二实例中显示来自da用户界面的第一实例的对话的转录的至少一部分。图5ii中所显示的转录包括来自da用户界面的当前(第二)实例的对话和来自da用户界面的前一(第一)实例的对话。图5ii中所显示的转录包括所显示的来自da用户界面的第二实例的对话(例如转录在框571中的da的提示“我能帮您做些什么”)。图5ii中所示的转录还包括来自da用户界面的第一实例的用户查询(转录在框523中)和针对用户查询523的da响应(转录在框524中)。

图5ii还示出了检测到da按钮512上方的用户触摸输入574。响应于da按钮512上方的用户触摸输入574,da被激活(例如麦克风230被打开)并且使得能够接收来自用户的附加查询或请求。例如,在用户设备104检测到用户触摸输入574之后,用户问da“巴黎怎么样?”

图5jj示出了在da用户界面内的针对用户查询的da响应。在图5jj中,da通过传输被转录在框576中的“法国巴黎当前65°”来对用户的提问进行响应。在图5jj中,由于来自da用户界面的第一实例的上下文信息在接收用户查询576时或之前已被调用,所以da在对用户查询进行响应时推断出转录在框576中的用户查询是指天气。由于用户设备104在接收用户查询576时或之前已检测到用于显示来自da用户界面的第一实例的da与用户之间第一对话的至少一部分(例如用户查询523和da响应524)的用户动作(例如图5hh中“查看过去内容”按钮572上所检测到的用户触摸输入573),所以da在对用户查询576进行响应时调用来自da用户界面的第一实例的上下文信息。图5jj还示出了检测到触摸屏112上方的用户触摸输入577从位置577a向577b的向上拖动手势(在本文中有时也称为“轻扫手势”)。

图5kk示出了响应于检测到图5jj中的向上拖动手势来停止在数字助理(da)的第二实例中显示来自da用户界面的第一实例的用户与da之间对话(或会话)的转录的一部分(例如框523和524)。在一些实施例中,响应于检测到将来自da用户界面的第一实例的用户与da之间的对话(或会话)的转录的所显示部分滚出用户界面503的向上拖动手势,来自da用户界面的第一实例的会话信息(或对话转录)从会话历史354中删除(或排除)。此外,在一些实施例中,响应于检测到将来自da用户界面的第一实例的用户与da之间的对话(或会话)的转录的所显示部分滚出用户界面503的向上拖动手势,来自da用户界面的第一实例的上下文信息从上下文历史352中删除(或排除)。

图5kk还示出了检测到触摸屏112上的da按钮512上方的用户触摸输入578。响应于da按钮512上方的用户触摸输入578,da被激活(例如麦克风230被打开)并且使得能够接收来自用户的附加提问(在本文中有时也被称为“查询”)或请求。例如,在用户设备104检测到用户触摸输入578之后,用户问da“伦敦怎么样?”

图5ll示出了一个实施例中的da用户界面的第二实例,其中来自da第一实例的会话信息和上下文信息已分别从会话历史354和上下文历史352中删除或排除。如图5ll的框580中所转录的那样,da通过说“您希望我针对“伦敦怎么样”搜索网页吗?”来对用户提问进行响应。da用户界面的第二实例还显示“搜索网页”按钮581,其被配置为针对“伦敦怎么样”执行网络搜索。

在图5ll中,由于来自da用户界面的第一实例的上下文信息在接收用户查询579时或之前已被从上下文历史352中删除(或排除),所以da在对用户查询进行响应时没有推断出转录在框579中的用户查询是指天气。由于用户设备104在接收用户查询579时或之前检测到图5jj中的用于停止显示来自da用户界面的第一实例的da与用户之间的第一对话(例如框523和524)的用户动作(例如用户触摸输入577的向上轻扫手势),所以da在对用户查询579进行响应时没有调用来自da用户界面的第一实例的上下文信息。

图5mm示出了响应于检测到图5j中的home按钮509上方的用户触摸输入526的长按来调用数字助理(da)的第二实例。图5mm还示出了会话截止定时器528。在一些具体实施中,会话截止定时器528是在用户退出da用户界面时启动的8分钟定时器。图5mm还示出了数字助理(da)的第二实例的调用在这个实例中在退出da用户界面的第一实例之后大约2分钟时响应于图5i中的home按钮509上方的用户触摸输入525发生。因此,会话截止定时器528还没有截止,并且来自da用户界面的第一实例的会话信息在da用户界面的第二实例中持续。此外,图5mm示出了在框524中部分地显示来自da用户界面的第一实例的用户与da之间的对话(或会话)的转录的一部分,并且da的提示的转录被显示在框582中(例如“我能帮您做些什么?”)。

图5mm还示出了检测到触摸屏112上方的用户触摸输入583从位置583a向583b的向上拖动手势(在本文中有时也称为“轻扫手势”)。此外,在图5mm中,主屏幕的一部分(例如包括应用程序图标504a、504b、504c、504d、504e、504f、504g、504h、504i、504j和托盘图标506a、506b、506c、506d)在用户界面503中da用户界面的第二实例下面被部分地显示或模糊。

图5nn示出了响应于检测到图5mm中的向上拖动手势来停止在数字助理(da)的第二实例中显示来自da用户界面的第一实例的用户与da之间对话(或会话)的转录的任何部分(例如框524)。在一些实施例中,响应于检测到将来自da用户界面的第一实例的用户与da之间的对话(或会话)的转录的所显示部分滚出用户界面503的向上拖动手势,来自da用户界面的第一实例的会话信息(或对话转录)从会话历史354中删除(或排除)。此外,在一些实施例中,响应于检测到将来自da用户界面的第一实例的用户与da之间的对话(或会话)的转录的所显示部分滚出用户界面503的向上拖动手势,来自da用户界面的第一实例的上下文信息从上下文历史352中删除(或排除)。例如,响应于转录在框582中的提示,用户问da“法国巴黎怎么样?”

图5oo示出了一个实施例中的da用户界面的第二实例,其中来自da第一实例的用户与da之间的对话(或会话)的转录已被从会话历史354中删除或排除并且已停止被显示。如图5oo的框585中所转录的那样,da通过传输“您希望我针对“法国巴黎怎么样”搜索网页吗?”来对用户提问进行响应。da用户界面的第二实例还显示“搜索网页”按钮586,其被配置为针对“法国巴黎怎么样”执行网络搜索。

在图5oo中,由于来自da用户界面的第一实例的上下文信息在接收用户查询584时或之前已被从上下文历史352中删除(或排除),所以da在对用户查询进行响应时没有推断出转录在框584中的用户查询是指天气。由于用户设备104在接收用户查询584时或之前还没有检测到用于显示来自da用户界面的第一实例的da与用户之间第一对话的至少一部分的用户动作(例如触摸屏112上的轻击或轻扫手势),所以da在对用户查询584进行响应时没有调用来自da用户界面的第一实例的上下文信息。相反,用户设备104在接收用户查询584时或之前检测到图5mm中的用于停止显示来自da用户界面的第一实例的da与用户之间的第一对话(例如框524)的用户动作(例如用户触摸输入583的向上轻扫手势)。

图6a至6d示出了根据一些实施例的操作数字助理的方法600的流程图。在一些实施例中,方法600在包括显示器、一个或多个处理器和存储器(例如相应da客户端102或da服务器106)的电子设备(例如用户设备104)处执行。在一些实施例中,该方法的一部分在电子设备(例如相应da客户端102)处执行,而其他部分在服务器(例如da服务器106)处执行。在一些实施例中,方法600在图3a至3b和图4中所示的数字助理326处执行。在一些实施例中,方法600由存储在存储器(例如非暂态计算机可读存储介质)中的一组指令来操纵,这组指令由电子设备的所述一个或多个处理器执行。

在一些实施例中,在显示数字助理用户界面的第一实例之前,电子设备:检测(602)用于调用数字助理的先前请求;检测语音输入;并且提供语音输入的转录,其中第一对话包括语音输入的转录。图5a至图5b例如示出了用户响应于用户设备104的home按钮509上方的用户触摸输入510的长按来调用数字助理(da)的第一实例。图5b至图5d例如示出了用户设备104检测到来自用户的询问“帕洛阿尔托是什么气温?”的语音输入并将所述语音输入转换为文本以用于在图5d的框514中进行显示。图5e例如示出了用户设备104在框515、514、和513a中显示用户与da之间的对话的转录。

电子设备在数字助理用户界面的第一实例中显示(604)第一对话(例如用户设备104的用户与da之间的交互的转录)。在一些实施例中,用户界面是应用程序环境。在一些实施例中,da用户界面占据用户设备104的触摸屏246的全部。图5e例如示出了用户设备104在数字助理用户界面的第一实例中所显示的框515、514、和513a中显示用户与da之间的对话的转录。

响应于显示与数字助理用户界面不同的用户界面的请求,电子设备显示(606)与数字助理用户界面不同的用户界面。图5j例如示出了用户设备104响应于图5i中的home按钮509上方的用户触摸输入525来显示与da用户界面不同的用户界面(例如主屏幕)。在一些实施例中,与da用户界面不同的用户界面占据用户设备104的触摸屏246的全部。

在一些实施例中,响应于用于显示与数字助理用户界面不同的用户界面的请求,电子设备停止(608)显示数字助理用户界面(例如从触摸屏246中移除da用户界面的所有痕迹)。图5j例如示出了用户设备104显示与da用户界面不同的用户界面(例如主屏幕),其中图5c至5i中的da用户界面的第一实例的任何部分都不保留在触摸屏246上。

在一些实施例中,用于显示与数字助理用户界面不同的用户界面的请求对应于(610)用于显示与数字助理用户界面不同的用户界面的用户输入(例如用户触摸或点击home按钮)。图5j例如示出了用户设备104响应于图5i中的home按钮509上方的用户触摸输入525来显示与da用户界面不同的用户界面(例如主屏幕)。

在一些实施例中,用于显示与数字助理用户界面不同的用户界面的用户输入对应于(612)用于启动应用程序的请求。

在一些实施例中,与数字助理用户界面不同的用户界面不对应于(614)数字助理(例如与da用户界面不同的用户界面不由da提出或链接)。例如,在图5j中,主屏幕不对应于数字助理。相比之下,在图5g中,与餐厅1有关的详细信息519的弹出例如对应于da,因为在图5f中餐厅1由da提出。此外,详细信息519的弹出是响应于图5f中的信息容器517a上的用户输入518来显示的。

在一些实施例中,与数字助理用户界面不同的用户界面与不同于数字助理的应用程序相关联(616)(例如程序化边界被跨过)。例如,响应于图5i中的home按钮509上的用户输入525,用户设备104停止显示da用户界面,并且显示图5j中的用户界面503中的主屏幕。

响应于用于调用数字助理的请求,电子设备显示(618)数字助理用户界面的第二实例,包括显示数字助理用户界面的第二实例中的第二对话,其中第一对话保持可用于在数字助理用户界面的第二实例中进行显示。在一些实施例中,da用户界面的第二实例在退出da用户界面的第一实例之后(或稍晚)进行显示。例如,响应于图5j中的home按钮509上方的用户触摸输入526的长按,用户设备104显示(如图5l中所示)具有可滚动转录的da用户界面的第二实例,其中来自da用户界面的第一实例的对话(或会话)的至少一部分可用于进行显示。在图5l中,来自da用户界面的第一实例的用户与da之间的对话(或会话)的转录的一部分被部分地显示在框524中。例如,在图5m中,来自da用户界面的第一实例的对话的转录的另一部分响应于图5l中所示的拖动手势而被显示。

在一些实施例中,电子设备(620):将与第一对话相关联的上下文数据(在本文中有时称为“上下文信息”或“上下文信息”)存储在数字助理的上下文历史中;确定用于调用数字助理的请求是否满足第一预先确定的条件;并且根据确定用于调用数字助理的请求满足第一预先确定的条件,在显示数字助理用户界面的第二实例时使用所存储的上下文数据。例如,当在da用户界面的第一实例中时,用户问da“纽约市是什么天气”,接收响应,并退出da用户界面的第一实例。之后,用户调用da的第二实例并问da“旧金山怎么样”。在这个实例中,da将来自da用户界面的第一实例的天气主题(或上下文)存储在da的针对该用户的上下文历史中,并且只要调用da第二实例的请求满足第一预先确定的条件,便在da用户界面的第二实例中对用户提问进行响应时利用上下文历史中的天气上下文。

在另一个实例中,当在da用户界面的第一实例中时,用户问da“纽约市是什么天气”,接收响应,并退出da用户界面的第一实例。之后,用户调用da的第二实例并问da“为我显示披萨店”。在这个示例中,da将来自da用户界面的第一实例的地理(例如纽约市)上下文存储在da的针对该用户的上下文历史中,并且只要调用da第二实例的请求满足第一预先确定的条件,便在da用户界面的第二实例中对用户提问进行响应时利用上下文历史中的地理上下文。

在一些实施例中,当用于调用数字助理的请求是在预先确定的上下文截止时间段内被接收时,第一预先确定的条件得到满足(622)。例如,当在da用户界面的第一实例中,用户设备104存储与图5i中所显示的与天气上下文有关的对话对应的上下文信息。于是,响应于用于调用da的第二实例的请求(例如图5j中的用户触摸输入526在home按钮509上的长按),用户设备104显示图5k中的da用户界面的第二实例。图5k例如显示设备确定用于调用da的第二实例的请求是否满足预先确定的上下文截止时间段。在一些实施例中,当用于调用da的第二实例的请求在退出da第一实例的60秒内发生,则所述预先确定的上下文截止时间段得到满足。例如,在图5k中,上下文截止定时器527显示用于调用da的第二实例的请求在退出da用户界面的第一实例之后大约30秒时发生。

在da用户界面的第二实例中,例如用户问da“法国巴黎怎么样?”图5l例如显示针对用户提问的da响应陈述“法国巴黎当前65°”。da借助于来自da用户界面的第一实例的上下文信息(例如天气主题或上下文)来对用户提问进行响应。

在一些实施例中,电子设备当预先确定的上下文截止时间段截止时,从上下文历史中删除(624)与第一对话相关联的上下文数据。在一些实施例中,所述预先确定的上下文截止时间段在用户设备退出da的第一实例之后大约60秒时截止。例如,在图5q中,上下文截止定时器527指示用于调用da的第二实例的请求在退出da用户界面的第一实例之后60秒以后发生。

在da用户界面的第二实例中,例如用户问da“法国巴黎怎么样?”图5r例如显示da通过陈述“您希望我针对“法国巴黎怎么样”搜索网页吗?”来对用户提问进行响应并且显示“搜索网页”按钮545,该按钮被配置为针对“法国巴黎怎么样”执行网络搜索。在图5r中,由于来自da用户界面的第一实例的上下文信息因上下文截止定时器在调用da第二实例之前截止而已被从上下文历史中删除,所以da没有推断出用户的提问“法国巴黎怎么样”是指天气。

在一些实施例中,当电子设备被锁定时,第一预先确定的条件没有得到满足(626)。在一些实施例中,当设备被锁定时,来自da用户界面的前一实例的上下文信息不持续。即使da在设备被锁定时可被访问,上下文信息和会话信息也不从da用户界面的前一实例持续。通常,这是出于安全或隐私的原因,因为用户设备104的用户可能不想要不能解锁用户设备104的第三方可获得来自da用户界面的前一实例的上下文或会话信息。

图5w例如显示了在用户设备104处于锁定模式中时用户调用da。于是,响应于调用da的第二实例的请求(例如图5w中的用户触摸输入552在home按钮509上的长按),用户设备104显示图5x中的da用户界面的第二实例。图5x例如显示设备确定用于调用da的第二实例的请求是否满足第一预先确定的条件。例如,在图5x中,上下文截止定时器527显示用于调用da的第二实例的请求在退出da用户界面的第一实例之后大约30秒时发生。在da用户界面的第二实例中,例如用户问da“布达佩斯怎么样?”图5y例如显示da通过传输“您希望我针对“布达佩斯怎么样”搜索网页吗?”来对用户提问进行响应并且显示“搜索网页”按钮556,该按钮被配置为针对“布达佩斯怎么样”执行网络搜索。在图5y中,由于来自da用户界面的第一实例的上下文信息因da的第二实例是在用户设备104处于锁定模式期间被调用的而已被从上下文历史中排除,所以da没有推断出用户的提问“布达佩斯怎么样”是指天气。

在一些实施例中,电子设备(628):确定用于调用数字助理的请求是否满足第二预先确定的条件;根据确定用于调用数字助理的请求满足第二预先确定的条件,显示数字助理用户界面的第二实例,包括显示数字助理用户界面的第二实例中的第二对话,其中第一对话保持可用于在数字助理用户界面的第二实例中进行显示;以及根据确定用于调用数字助理的请求不满足第二预先确定的条件,显示数字助理用户界面的第二实例,而不使第一对话可用于在数字助理用户界面的第二实例中进行显示。在第一实例中,响应于用于调用da的第二实例的请求(例如图5j中的用户触摸输入526在home按钮509上的长按),用户设备104显示图5q中的da用户界面的第二实例。图5q例如显示用户设备104确定用于调用da的第二实例的请求是否满足第二预先确定的条件。在一些实施例中,当用于调用da的第二实例的请求在退出da第一实例的8分钟内发生时,第二预先确定的条件得到满足。在图5q中,会话截止定时器528指示用于调用da的第二实例的请求在退出da用户界面的第一实例之后大约2分钟时发生。图5r例如显示了根据确定第二预先确定的条件得到满足,用户设备104显示包括“查看过去内容”按钮541的da用户界面的第二实例,该按钮被配置为显示来自da用户界面的第一实例的对话的转录的至少一部分。

在第二实例中,响应于用于调用da的第二实例的请求(例如图5j中的用户触摸输入526在home按钮509上的长按),用户设备104显示图5t中的da用户界面的第二实例。图5t例如显示用户设备104确定用于调用da的第二实例的请求是否满足第二预先确定的条件(例如8分钟时间段)。在图5t中,会话截止定时器528指示用于调用da的第二实例的请求在退出da用户界面的第一实例之后8分钟以后发生。图5t例如显示了用户设备104显示da用户界面的第二实例,其中来自da用户界面的第一实例的用户与da之间的对话(或会话)的转录不可用于进行显示。

在一些实施例中,当用于调用数字助理的请求是预先确定的会话截止时间段内被接收时,第二预先确定的条件得到满足(630)。在一些实施例中,一旦用户退出da用户界面的第一实例,会话截止时间段便开始。在一些实施例中,会话截止时间段是预先确定的时间量(例如3分钟、5分钟、8分钟、10分钟、15分钟、或30分钟)。通常,会话截止时间段是8分钟。在一些其它实施例中,会话截止时间段是用户定义的时间段。

在一些实施例中,电子设备(632):将与第一对话相关联的上下文数据存储在数字助理的上下文历史中;确定用于调用数字助理的请求是否满足第一预先确定的条件,其中如果用于调用数字助理的请求在预先确定的上下文截止时间段内被接收,则第一预先确定的条件得到满足;根据确定用于调用数字助理的请求满足第一预先确定的条件,在显示数字助理用户界面的第二实例时使用所存储的上下文数据;以及在所述预先确定的上下文截止时间段截止时从上下文历史中删除与第一对话相关联的上下文数据,其中预先确定的上下文截止时间段预先确定的会话截止时间段短。在一些实施例中,所显示的对话与(例如存储在远程服务器上)存储在上下文历史中的上下文数据无关。通常,上下文截止时间段是60秒,而会话截止时间段是8分钟。

在一个实例中,响应于用于调用da的第二实例的请求(例如图5j中的用户触摸输入526在home按钮509上的长按),用户设备104显示图5q中的da用户界面的第二实例。图5q例如显示用户设备104确定用于调用da的第二实例的请求是否满足预先确定的上下文截止时间段和预先确定的会话截止时间段。例如,当用于调用da的第二实例的请求在退出da用户界面的第一实例的60秒内发生时,预先确定的上下文截止时间段得到满足,而当调用da的第二实例的请求在退出da用户界面的第一实例的8分钟内发生,则预先确定的会话截止时间段得到满足。在图5q中,上下文截止定时器527指示用于调用da的第二实例的请求在退出da用户界面的第一实例之后60秒以后发生,并且会话截止定时器528指示用于调用da的第二实例的请求是在退出da用户界面的第一实例之后大约2分钟时发生。

在da用户界面的第二实例中,例如用户问da“法国巴黎怎么样?”图5r例如显示da通过陈述“您希望我针对“法国巴黎怎么样”搜索网页吗?”来对用户提问进行响应并且显示“搜索网页”按钮545,该按钮被配置为针对“法国巴黎怎么样”执行网络搜索。在图5r中,由于来自da用户界面的第一实例的上下文信息根据确定上下文截止定时器在调用da的第二实例之前截止而已被从上下文历史中删除,所以da没有推断出用户的提问是指天气。另一方面,图5r例如显示了根据确定会话截止定时器还没有截止,用户设备104显示包括“查看过去内容”按钮541的da用户界面的第二实例,该“查看过去内容”按钮被配置为显示来自da用户界面的第一实例的对话的转录的至少一部分。

在一些实施例中,当电子设备被锁定时,第二预先确定的条件没有得到满足(634)。在一些实施例中,当设备被锁定时(例如出于安全原因),来自da用户界面的前一实例的会话信息(或对话的一部分)不持续。即使da在设备被锁定时可被访问,上下文信息和会话信息也不从da用户界面的前一实例持续。然而,如果用户设备进入解锁状态,用户随后解锁用户设备,并且用户在会话截止时间段内调用da的第二实例,则上下文信息和会话信息在da的第二实例中持续。

例如,在用户设备104显示图5i中的da用户界面的第一实例之后,用户设备进入锁定状态,如图5w中所示。如图5x至5y中所示,在设备被锁定期间,即使da的实例在上下文截止定时器527和会话截止定时器528两者截止之前被调用,上下文信息和会话信息也不持续。在响应于图5y中的home按钮509上方的用户触摸输入557而退出da用户界面之后,图5z显示了用户经由拖动手势来解锁用户设备104,并且图5bb显示了用户设备104响应于图5aa中的home按钮509上方的用户触摸输入559的长按来调用数字助理的第二实例。在这个示例中,图5bb还示出了数字助理的第二实例的调用在退出da用户界面的第一实例之后大约50秒时响应于图5i中的home按钮509上方的用户触摸输入525发生。因此,上下文截止定时器527和会话截止定时器528都没有截止,并且来自da用户界面的第一实例的上下文信息和会话信息两者在da用户界面的第二实例中持续,如图5cc中所示。

在一些实施例中,第二预先确定的条件包括在用于调用数字助理的请求在显示第一对话之后检测到与电子设备的预先确定数量的用户交互(例如触摸事件或用户请求的应用程序改变)之前被接收时得到满足(636)的条件。在一些实施例中,如上所述的会话截止定时器(例如会话超时)和预先确定数量的触摸事件(例如会话触摸超限)是对于在da用户界面的第二实例中不显示来自da用户界面的第一实例的会话(或对话)的一部分的另选的充分条件。

在一些实施例中,电子设备(638):显示数字助理用户界面的第二实例中的第一示能表示(示能表示在本文中有时被称为用户界面对象或按钮)(例如“查看更多内容”按钮或“过去内容”按钮);检测对第一示能表示的用户选择;以及响应于对第一示能表示的用户选择,显示数字助理用户界面的第二实例中的第一对话的至少一部分。图5r例如示出了在da用户界面的第二实例中显示的“查看过去内容”按钮541。图5r例如还示出了用户设备104检测到“查看过去内容”按钮541上方的用户触摸输入546。图5s例如示出了用户设备104响应于图5r中“查看过去内容”按钮541上方的用户触摸输入546来在da用户界面的第二实例中显示来自da用户界面的第一实例的对话的转录的至少一部分。

在一些实施例中,电子设备在数字助理用户界面的第二实例中显示(640)第一对话的至少一部分。在一些实施例中,第一对话的最后一行或一部分(例如穿透视图)被显示在屏幕顶部或者在半透明顶部横幅下面(例如顶部横幅包括运营商、信号强度、电池寿命和时间)。例如,在图5l中,来自da用户界面的第一实例的用户与da之间的对话(或会话)的转录的一部分被部分地显示在框524中。

在一些实施例中,第二对话包括(642)针对数字助理的用户查询,并且电子设备:将与第一对话相关联的上下文数据存储在数字助理的上下文历史中;并且在显示数字助理用户界面的第二实例时,以及根据确定预先确定的上下文条件已得到满足,根据确定预先确定的上下文条件已得到满足,在确定针对用户查询的响应时使用所存储的上下文数据来对针对数字助理的用户查询进行响应。在da用户界面的第一实例中,图5l例如显示了用户问da“南卡罗莱纳州的查尔斯顿是什么气温”,这被转录在框523中。响应于用户查询523,da进行响应而陈述“南卡罗莱纳州的查尔斯顿当前80°”,如图5i中框524中所转录的。例如,用户设备104存储与图5i中的用户请求523和da响应524的天气主题或上下文对应的上下文信息。

图5j例如示出了用户设备104响应于检测到图5i中的home按钮509上方的用户触摸输入525来在用户界面503中显示主屏幕(例如包括应用程序图标504a、504b、504c、504d、504e、504f、504g、504h、504i、504j和托盘图标506a、506b、506c、506d)。图5dd例如示出了用户设备104响应于图5j中的home按钮509上方的用户触摸输入526的长按来在用户界面503中显示数字助理(da)的第二实例。图5gg例如显示了包括用户查询(例如转录在框569中的“法国巴黎怎么样”)的da用户界面的第二实例。

图5gg例如显示了da在通过陈述转录在框570中的“法国巴黎当前65°”来对用户查询569进行响应时使用与来自da用户界面的第一实例的天气主题对应的所存储的上下文信息。在图5gg中,da根据确定预先确定的上下文条件已得到满足来在对用户查询569进行响应时使用来自da用户界面的第一实例的上下文信息。

在一些实施例中,当响应于在显示数字助理用户界面的第二实例期间所执行的用户动作,第一对话的至少一部分被显示在数字助理用户界面的第二实例中时,所述预先确定的上下文条件得到满足(644)。在一个实例中,图5ff示出了用户设备104响应于检测到图5ee中的拖动手势来在用户界面503中显示与来自da用户界面的第一实例的第一对话的一部分对应的框523和524(例如分别是用户查询和针对用户查询的da响应)。图5gg例如还示出了da根据确定第一对话的至少一部分(例如框523和524)在响应于用户动作(例如在图5ee中检测到的拖动手势)被显示在数字助理用户界面的第二实例中(例如框523和524)来对用户查询569进行响应时调用来自da用户界面的第一实例的上下文信息(例如天气主题或上下文)。例如,da使用来自da用户界面的第一实例的天气主题并且陈述“法国巴黎当前65°”来对用户查询“法国巴黎怎么样?”进行响应。

在另一个实例中,图5ii示出了用户设备104响应于检测到图5hh中触摸屏112上“查看过去内容”按钮572上方的用户触摸输入573来在用户界面503中显示与来自da用户界面的第一实例的第一对话的一部分对应的框523和524(例如分别是用户查询和针对用户查询的da响应)。图5jj例如还示出了da根据确定第一对话的至少一部分在响应于用户动作(例如在图5hh中检测到的用户触摸输入573)被显示在数字助理用户界面的第二实例中(例如框523和524)来对用户查询575进行响应时调用来自da用户界面的第一实例的上下文信息(例如天气主题或上下文)。例如,da使用来自da用户界面的第一实例的天气主题并且陈述“法国巴黎当前65°”来对用户查询“法国巴黎怎么样?”进行响应。

在另一实例中,图5ee示出了用户设备104在框524中显示da用户界面的第二实例中的第二对话的转录(例如da提示563、用户查询564、和针对用户查询564的da响应565,566)和来自da用户界面的第一实例的用户与da之间的第一对话(或会话)的转录的一部分。然而,图5ee例如示出了由于用户设备104在接收用户查询564时或之前还没有检测到用于显示来自da用户界面的第一实例的da与用户之间的第一对话的至少一部分的用户动作(例如触摸屏112上的轻击手势或轻扫手势),所以da在对用户查询564进行响应时没有调用来自da用户界面的第一实例的上下文信息(例如天气主题或上下文)。相反,在图5ee中,da通过说“您希望我针对“法国巴黎怎么样”搜索网页吗?”来对用户查询564进行响应,因为da没有推断出用户请求564与天气有关。da用户界面的第二实例还显示“搜索网页”按钮545,其被配置为针对“法国巴黎怎么样”执行网络搜索。

在一些实施例中,电子设备(646):显示与第一对话的相应子部分对应的第二示能表示(例如,子部分是想法/主题、句子、短语、或字词);检测对第二示能表示的用户选择;并且响应于对第二示能表示的用户选择,停止显示第一对话的相应子部分中的至少一些相应子部分。在一些实施例中,可收缩目录型结构被提供在da用户界面的第二实例中,从而使用户能够使所显示的对话的部分最小化。然而,在相应子部分最小化之后,相应子部分的标题/主题名称保持被显示。图5n例如示出了用户设备104显示被分成用餐主题532和天气主题533的来自da用户界面的第一实例和第二实例的对话的转录。按钮535被配置为使天气主题533最小化以停止显示来自da用户界面的第一实例和第二实例的与天气有关的对话的一部分。图5o例如示出了用户设备104响应于图5n中按钮535上方的用户触摸输入536来使天气主题533最小化。图5o例如示出了用户设备104停止显示天气主题533中的至少一些天气主题。

在一些实施例中,响应于对第二示能表示的用户选择,电子设备将与第一对话的子部分相关联的上下文数据从数字助理的上下文历史中排除(648)。在一些实施例中,当用户使第一对话的子部分时最小化,在da推断后一请求的用户意图时不使用与该子部分对应的上下文信息。在用户使图5n中的天气主题533最小化之后,图5p例如显示了da对用户提问“慕尼黑怎么样?”进行响应。da通过陈述“您希望我针对“慕尼黑怎么样”搜索网页吗?”来对用户提问进行响应。此外,还显示了“搜索网页”按钮540,其被配置为针对“慕尼黑怎么样”执行网络搜索。在图5p中,例如即使用户的先前提问涉及天气,da也没能推断出用户的提问是指天气。因为与天气主题533有关的上下文信息响应于图5n中使天气主题533最小化(或收缩)的用户触摸输入536而已被从上下文历史中排除,所以da没有推断出“天气”主题。

应当理解,图6a至图6d中已描述的操作的具体顺序仅仅是示例性的,并非旨在指示所述顺序是这些操作可被执行的唯一顺序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。

图7根据一些实施例示出了一种用于实现上下文和/或会话持续性的包括两个或更多个电子设备的系统的框图。在一些实施例中,图7中所示的多设备系统被配置为执行在图6a至6d中参考单个设备所述的功能。设备104c和104d是与用户710相关联的不同设备。在一些实施例中,da的第一实例包括设备104c上的da客户端102c与用户710之间的对话。在da用户界面的第一实例中,与用户710和da客户端102c之间的对话有关的上下文信息和会话信息被分别存储在持续性模块350的上下文历史352和会话历史354中。在一些实施例中,持续性模块350是服务器系统108的部件。此外,在一些具体实施中,da326以每个用户为基础存储上下文历史352和会话历史354,并且因此相应用户710的相同上下文历史352和会话历史354可供da326用于在为用户710提供服务时使用,而不管用户710当时正在使用(与用户710相关联的设备中的)哪个设备104。

在一些实施例中,在用户710在设备104c上退出da的第一实例之后,用户710在设备104d上调用da的第二实例。da的第二实例包括用户710与da客户端102d之间的对话。在一些实施例中,在da的第二实例期间,da客户端使得能够访问被存储在服务器系统108中的来自da的第一实例的上下文信息和会话信息。在一些实施例中,da客户端102d使得能够将所存储的上下文信息用于意图推断以及将所存储的会话信息用于在da的第二实例中进行显示。

虽然图7没有明确地显示da服务器106的所有部件之间的通信接口,但应当理解,图7中所示的部件能够直接或者通过一个或多个其他接口与da服务器106的其他部件进行通信,所述其他接口诸如应用程序编程接口(api)、数据库查询接口、和/或其他接口、协议、和/或通信通道。

图8示出了根据一些实施例的操作数字助理的方法800的流程图。在一些实施例中,方法800在各自包括显示器、一个或多个处理器和存储器(例如相应da客户端102或da服务器106)的两个或更多个电子设备处执行。在一些实施例中,方法800在图3a至3b和图4中所示的数字助理326处执行。在一些实施例中,方法800由存储在存储器(例如非暂态计算机可读存储介质)中的一组指令来操纵,这组指令由电子设备的所述一个或多个处理器执行。

在第一设备处,第一设备在数字助理的第一用户界面中显示(802)第一对话。例如,图7中所示的设备104c被配置为在da的第一用户界面中显示用户710和da客户端102c之间的第一对话。

在与第一设备不同的第二设备处,响应于用于在第二设备上调用数字助理的请求,第二设备在数字助理的第二用户界面中显示(804)第二对话,其中第一对话可用于在第二用户界面中进行显示。例如,响应于来自用户710的用于在设备104d上调用da的请求,图7中所示的设备104d被配置为显示用户710和da客户端102d之间的第二对话。在一些实施例中,在用户710和da客户端102c之间的第一对话在设备104c上被显示时或之后的时间处,用户710和da客户端102d之间的第二对话在设备104d上被显示。da客户端702d被配置为具有对存储在服务器系统108的会话历史354中的来自同一用户710与da客户端102c之间第一对话的会话信息的访问权限,以显示第一对话的至少一部分。da客户端702d被进一步配置为具有对存储在服务器系统108的会话历史352中的来自用户710与da客户端102c之间第一对话的上下文信息的访问权限,以在意图推断中使用。

应当理解,图8中已描述的操作的具体次序仅仅是示例性的,并非意图要表明所描述的次序是可执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。

根据一些实施例,图9示出了根据各种所述实施例的原理进行配置的电子设备900的功能框图。设备的功能块任选地由执行各种所述实施例的原理的硬件、软件、或硬件和软件的组合来实现。本领域的技术人员应当理解,图9中所述的功能块任选地被组合或被划分为子块,以便实现各种所述实施例的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或划分或进一步限定。

如图9所示,一种电子设备900包括被配置为显示用户界面以及接收触摸输入的触摸屏显示单元902、以及被配置为接收声音输入的声音接收单元904。在一些实施例中,电子设备900任选地包括被配置为生成声音的扬声器单元906。电子设备900还包括耦接到触摸屏显示单元902和声音接收单元904(并且任选地还耦接到扬声器单元906)的处理单元908。在一些实施例中,处理单元908包括显示启用单元910、数字助理(da)调用单元912、提供单元914、检测单元916、排除单元918、存储单元920、确定单元922、使用单元924、删除单元926、和响应单元928。

处理单元908被配置为启用对触摸屏显示单元902上的数字助理用户界面的第一实例中的第一对话的显示(例如,利用显示启用单元910)。响应于用于启用对与数字助理用户界面不同的用户界面的显示的请求,处理单元908被配置为启用对触摸屏显示单元902上的与数字助理用户界面不同的用户界面(的显示例如,利用显示启用单元910)。响应于用于调用数字助理的请求,处理单元908被进一步配置为启用对触摸屏显示单元902上的数字助理用户界面的第二实例的显示,包括启用对数字助理用户界面的第二实例中的第二对话的显示(例如,利用显示启用单元910),其中第一对话保持可用于在数字助理用户界面的第二实例中进行显示。

在一些实施例中,在启用对数字助理用户界面的第一实例的显示之前,处理单元908被进一步配置为检测用于调用数字助理的先前请求(例如,利用da调用单元912)。在启用对数字助理用户界面的第一实例的显示之前,声音接收单元904被配置为检测语音输入。在启用对数字助理用户界面的第一实例的显示之前,处理单元908被进一步配置为提供语音输入的转录(例如,利用提供单元914),其中第一对话包括语音输入的转录。

在一些实施例中,响应于用于启用对与数字助理用户界面不同的用户界面的显示的请求,处理单元908被配置为停止启用对触摸屏显示单元902上的数字助理用户界面的显示(例如,利用显示启用单元910)。

在一些实施例中,处理单元908被配置为:启用对触摸屏显示单元902上的数字助理用户界面的第二实例中的第一示能表示的显示(例如通过显示启用单元910);检测触摸屏显示单元902上的对第一示能表示的用户选择(例如,利用检测单元916);并且响应于对第一示能表示的用户选择,处理单元908被配置为启用对触摸屏显示单元902上的数字助理用户界面的第二实例中的第一对话的至少一部分的显示(例如,利用显示启用单元910)。

在一些实施例中,处理单元908被配置为启用对触摸屏显示单元902上的数字助理用户界面的第二实例中的第一对话的至少一部分的显示(例如,利用显示启用单元910)。

在一些实施例中,处理单元908被配置为启用对触摸屏显示单元902上的与第一对话的相应子部分对应的第二示能表示的显示(例如,利用显示启用单元910);检测触摸屏显示单元902上的对第二示能表示的用户选择(例如,利用检测单元916);并且响应于对第二示能表示的用户选择,停止启用对触摸屏显示单元902上的第一对话的相应子部分中的至少一些相应子部分的显示(例如,利用显示启用单元910)。

在一些实施例中,响应于对第二示能表示的用户选择,处理单元908被配置为(例如,利用排除单元918)将与第一对话的所述子部分相关联的上下文数据从数字助理的上下文历史中排除。

在一些实施例中,处理单元908被配置为:将与第一对话相关联的上下文数据存储在数字助理的上下文历史中(例如,利用存储单元920);确定用于调用数字助理的请求是否满足第一预先确定的条件(例如,利用确定单元922);以及根据确定用于调用数字助理的请求满足第一预先确定的条件,在启用对数字助理用户界面的第二实例的显示时使用所存储的上下文数据(例如,利用使用单元924)。

在一些实施例中,当用于调用数字助理的请求在预先确定的上下文截止时间段内被接收时,第一预先确定的条件得到满足。

在一些实施例中,处理单元908被配置为在预先确定的上下文截止时间段截止时,从上下文历史中删除与第一对话相关联的上下文数据(例如,利用删除单元926)。

在一些实施例中,当电子设备被锁定时,第一预先确定的条件没有得到满足。

在一些实施例中,第二对话包括针对数字助理的用户查询,并且处理单元908被配置为:将与第一对话相关联的上下文数据存储在数字助理的上下文历史中(例如,利用存储单元920);并且在显示数字助理用户界面的第二实例时,根据确定预先确定的上下文条件已得到满足,在对用户查询进行响应时使用所存储的上下文数据来对针对数字助理的用户查询进行响应(例如,利用响应单元928)。

在一些实施例中,当响应于在显示数字助理用户界面的第二实例期间所执行的用户动作,第一对话的至少一部分被显示在数字助理用户界面的第二实例中时,预先确定的上下文条件得到满足。

在一些实施例中,处理单元908被配置为:确定用于调用数字助理的请求是否满足第二预先确定的条件(例如,利用确定单元922);根据确定用于调用数字助理的请求满足第二预先确定的条件,启用对触摸屏显示单元902上的数字助理用户界面的第二实例的显示(例如,利用显示启用单元910),包括启用对数字助理用户界面的第二实例中的第二对话的显示,其中第一对话保持可用于在数字助理用户界面的第二实例中进行显示;以及根据确定用于调用数字助理的请求不满足第二预先确定的条件,启用对数字助理用户界面的第二实例的显示(例如,利用显示启用单元910),而不使第一对话可用于在触摸屏显示单元902上进行显示。

在一些实施例中,当用于调用数字助理的请求在预先确定的会话截止时间段内被接收时,第二预先确定的条件得到满足。

在一些实施例中,处理单元908被配置为:将与第一对话相关联的上下文数据存储在数字助理的上下文历史中(例如,利用存储单元920);确定用于调用数字助理的请求是否满足第一预先确定的条件(例如,利用确定单元922),其中当用于调用数字助理的请求在预先确定的上下文截止时间段内被接收时,第一预先确定的条件得到满足;根据确定用于调用数字助理的请求满足第一预先确定的条件,在显示数字助理用户界面的第二实例时使用所存储的上下文数据(例如,利用使用单元924);以及在预先确定的上下文截止时间段截止时从上下文历史中删除与第一对话相关联的上下文数据(例如,利用删除单元926),其中预先确定的上下文截止时间段比预先确定的会话截止时间段短。

在一些实施例中,当电子设备900被锁定时,第二预先确定的条件没有得到满足。

在一些实施例中,第二预先确定的条件包括当用于调用数字助理的请求在显示第一对话之后检测到与电子设备的预先确定数量的用户交互之前被接收时得到满足的条件。

在一些实施例中,用于显示与数字助理用户界面不同的用户界面的请求对应于用于显示与数字助理用户界面不同的用户界面的用户输入。

在一些实施例中,用于显示与数字助理用户界面不同的用户界面的用户输入对应于用于启动应用程序的请求。

在一些实施例中,与数字助理用户界面不同的用户界面不对应于数字助理。

在一些实施例中,与数字助理用户界面不同的用户界面与不同于数字助理的应用程序相关联。

根据一些实施例,图10示出了根据各种所述实施例的原理进行配置的第一电子设备1000和第二电子设备1020的功能框图。设备的功能块任选地由进行各种所述实施例的原理的硬件、软件、或硬件和软件的组合来实现。本领域的技术人员应当理解,图10中所述的功能块任选地被组合或被划分为子块,以便实现各种所述实施例的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或划分或进一步限定。

如图10所示,第一电子设备1000包括被配置为显示用户界面以及接收触摸输入的触摸屏显示单元1002、以及被配置为接收声音输入的声音接收单元1004。在一些实施例中,第一电子设备1000任选地包括被配置为生成声音的扬声器单元1006。第一电子设备1000还包括耦接到触摸屏显示单元1002和声音接收单元1004(并且任选地还耦接到扬声器单元1006)的处理单元1008。在一些实施例中,处理单元1008包括显示启用单元1010。

第二电子设备1020包括被配置为显示用户界面以及接收触摸输入的触摸屏显示单元1022、以及被配置为接收声音输入的声音接收单元1024。在一些实施例中,第二电子设备1020任选地包括被配置为生成声音的扬声器单元1026。第二电子设备1020还包括耦接到触摸屏显示单元1022和声音接收单元1024(并且任选地还耦接到扬声器单元1026)的处理单元1028。在一些实施例中,处理单元1028包括显示启用单元1030。

第一电子设备1000的处理单元1008被配置为启用对触摸屏显示单元1002上的数字助理的第一用户界面中第一对话的显示(例如,利用显示启用单元1010)。响应于用于在第二电子设备1020上调用数字助理的请求,第二电子设备1020的处理单元1028被配置为启用对触摸屏显示单元1022上的数字助理的第二用户界面中的第二对话的显示(例如,利用显示启用单元1030),其中第一对话可用于在第二用户界面中进行显示。

为了解释的目的,前面的描述是参考特定的具体实施来进行描述的。然而,上面的示例性讨论并非旨在是详尽的,也并非意图要将所公开的具体实施限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。具体实施被选择和描述以充分说明所公开的构思的原理及实际应用,以由此使得本领域的其他技术人员能够以适合于所构想的特定用途的各种修改来对其进行最佳利用。

虽然术语“第一”、“第二”等可能在本文中用于描述各种元件,但是这些元件不应当被这些术语限定。这些术语只是用于将一元件与另一个元件区分开。例如,第一语音输入可被命名为第二语音输入,类似地,第二语音输入可被命名为第一语音输入,只要所有出现的“第一语音输入”都被一致地重新命名并且所有出现的“第二语音输入”都被一致地重新命名,就不会改变说明书的含义。第一语音输入和第二语音输入都是语音输入,但它们不是同一语音输入。

本文中所使用的术语仅仅是为了描述特定具体实施,并非旨在对权利要求进行限制。如具体实施的描述和所附权利要求中所使用的那样,单数形式的“一个”(“a”,“an”)和“该”旨在也涵盖复数形式,除非上下文清楚地以其他方式来指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”(“comprises”和/或“comprising”)当在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元素和/或部件,但是并不排除存在或添加一个或多个其它特征、整数、步骤、操作、元素、部件和/或其分组。

如本文所用,术语“如果”可被解释为是指“当前面所述条件为真时”(“when”或“upon”)或“响应于确定“前面所述条件为真”或“根据确定前面所述条件为真”或“响应于检测到前面所述条件为真”,这取决于上下文。类似地,短语“如果确定[前面所述条件为真]”或“如果[前面所述条件为真]”或“当[前面所述条件为真]时”可被理解为是指“在确定前面所述条件为真时”(“upondetermining”或“uponadeterminationthat”)或“响应于确定前面所述条件为真”或“根据确定前面所述条件为真”或“在检测到前面所述条件为真时”或“响应于检测到前面所述条件为真”,这取决于上下文。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1