CN105284099B - 针对免提交互来自动调整用户界面 - Google Patents
针对免提交互来自动调整用户界面 Download PDFInfo
- Publication number
- CN105284099B CN105284099B CN201480030632.0A CN201480030632A CN105284099B CN 105284099 B CN105284099 B CN 105284099B CN 201480030632 A CN201480030632 A CN 201480030632A CN 105284099 B CN105284099 B CN 105284099B
- Authority
- CN
- China
- Prior art keywords
- user
- assistant
- electronic equipment
- voice
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/60—Substation equipment, e.g. for use by subscribers including speech amplifiers
- H04M1/6033—Substation equipment, e.g. for use by subscribers including speech amplifiers for providing handsfree use or a loudspeaker mode in telephone sets
- H04M1/6041—Portable telephones adapted for handsfree use
- H04M1/6075—Portable telephones adapted for handsfree use adapted for handsfree use in a vehicle
- H04M1/6083—Portable telephones adapted for handsfree use adapted for handsfree use in a vehicle by interfacing with the vehicle audio system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/60—Substation equipment, e.g. for use by subscribers including speech amplifiers
- H04M1/6033—Substation equipment, e.g. for use by subscribers including speech amplifiers for providing handsfree use or a loudspeaker mode in telephone sets
- H04M1/6041—Portable telephones adapted for handsfree use
- H04M1/6075—Portable telephones adapted for handsfree use adapted for handsfree use in a vehicle
- H04M1/6083—Portable telephones adapted for handsfree use adapted for handsfree use in a vehicle by interfacing with the vehicle audio system
- H04M1/6091—Portable telephones adapted for handsfree use adapted for handsfree use in a vehicle by interfacing with the vehicle audio system including a wireless interface
Abstract
本发明公开了一种方法,该方法包括自动确定电子设备在车辆中而无需用户输入以及无需考虑数字助理应用是否被用户独立调用。在一些具体实施中,确定电子设备在车辆中包括检测到电子设备在与车辆通信(例如,通过有线或无线通信技术和/或协议)。该方法还包括,响应于所述确定,调用由电子设备实现的虚拟助理的收听模式。在一些具体实施中,该方法还包括限制用户查看由电子设备呈现的视觉输出、向电子设备提供键入的输入等能力。
Description
相关申请的交叉引用
本申请要求2013年6月8日提交的美国专利申请序列号13/913,421的优先权,该申请要求2012年6月9日提交的名称为“Automatically Adapting User Interfaces ForHands-Free Interaction”的美国临时专利申请序列号61/657,744的权益,且是2011年9月30日提交的名称为“Automatically Adapting User Interfaces for Hands-FreeInteraction”的美国专利申请序列号13/250,947的部分延续申请,该申请是2011年1月10日提交的名称为“Intelligent Automated Assistant”的美国专利申请序列号12/987,982的部分延续申请,该申请又要求2010年1月18日提交的美国临时专利申请序列号61/295,774和2011年6月3日提交的美国临时专利申请序列号61/493,201的权益。所有以上申请的公开全文以引用方式并入本文中。
技术领域
本发明涉及多模用户界面,更具体地,涉及包括基于语音形态和视觉形态两者的用户界面。
背景技术
很多现有的操作系统和设备使用语音输入作为用户能够控制操作的形态。一个实例是语音命令系统,其将具体的口头命令映射到操作,例如,以通过讲出人名来发起电话号码的拨打。另一个实例是交互式语音响应(IVR)系统,其允许人通过电话诸如自动电话服务台来访问静态信息。
很多语音命令和IVR系统的范围较窄,仅能够处理预定义的一组语音命令。此外,它们的输出常常是从固定一组响应提取的。
智能自动化助理,本文也称为虚拟助理,能够提供人和计算机之间改进的界面,包括自然语言输入的处理。此类助理允许用户利用口语和/或文本形式的自然语言与设备或系统交互,可以如2011年1月10日提交的名称为“Intelligent Automated Assistant”的相关美国实用新型专利申请序列号12/987,982中所述那样实现此类助理,在此通过引用将其整个公开并入本文。此类助理解释用户输入,将用户的意图实施成任务和那些任务的参数,执行服务以支持那些任务,并产生对于用户可理解的输出。
虚拟助理能够使用一般的语音和自然语言理解技术来识别更大范围的输入,使得能够与用户产生对话。一些虚拟助理能够在模式组合中生成输出,模式包括口头响应和书面文本,并还能够提供图形用户界面(GUI),允许直接操控屏幕上的要素。然而,用户可能并非始终处于能够利用此类视觉输出或直接操控界面的情形中。例如,用户可能正在驾驶或操作机械,或者可能有视力残障,或者可能仅仅是不适或不熟悉视觉界面。
在本文中将其中用户阅读屏幕或经由接触(包括使用键盘、鼠标、触摸屏、定点设备等)来与设备交互的能力受限或无此能力的任何情况称为“免提情景”。例如,在用户驾驶的同时尝试操作设备的情况下,如上所述,用户能够听到听觉输出并利用其语音做出响应,但出于安全的原因,不应阅读小号字体、在菜单上轻击或输入文本。
免提情景给诸如虚拟助理的复杂系统的建立者带来了特殊的挑战。用户需要无论其是否处于免提情景中都能够完全利用设备的特征。然而,不考虑免提操作中固有的特定限制可能导致既限制设备或系统实用性又限制其可用性的状况,甚至可能因为使用户从诸如操作车辆的主要任务注意力分散而影响安全性。
发明内容
根据本发明的各种实施例,一种用于诸如虚拟助理在内的系统的用户界面针对免提使用进行自动调整。经由自动手段或手动手段检测免提情景,并且该系统调整复杂交互系统的各个阶段以改变用户体验来反映此类上下文的特定限制。因此,本发明的系统允许单一实现虚拟助理或其他复杂系统以动态提供用户界面要素,并改变用户界面行为,允许免提使用,而不会影响用户对同一系统手动使用的体验。
例如,在各种实施例中,本发明的系统提供了用于调节虚拟助理的操作的机构,使得其提供输出从而允许用户无需阅读屏幕上的细节就完成其任务。此外,在各种实施例中,虚拟助理能够提供用于接收口头输入的机构作为阅读、轻击、点击、键入或执行常利用图形用户界面实现的其他功能的替代。
在各种实施例中,本发明的系统提供了与常规图形用户界面相同(或近似)的基础功能性,同时允许与免提情景相关联的特定要求和限制。更一般地,本发明的系统允许核心功能性保持基本相同,同时方便在免提情景中的操作。在一些实施例中,在单次会话的一些情况下,根据本发明的技术构建的系统允许用户在免提模式和常规(“手动”)模式之间自由选择。例如,可以使同一界面能够适应于办公环境和移动的车辆两者,其中该系统在环境变化时对用户界面的行为动态地做出必要更改。
根据本发明的各种实施例,可以实施若干机构中的任一种以使虚拟助理的操作适应于免提情景。在各种实施例中,该虚拟助理是如2011年1月10日提交的名称为“Intelligent Automated Assistant”的美国实用新型专利申请序列号12/987,982中描述的智能自动化助理,在此通过引用将其整个公开并入本文。此类助理利用自然语言对话以集成的常规方式与用户配合,并在适当的时候调用外部设备以获得信息或执行各种动作。
根据本发明的各种实施例,虚拟助理可以被配置、被设计和/或用于检测免提情景,并在执行各种不同类型的操作、功能和/或特征时相应地调整其操作,和/或组合其被安装的电子设备的多种特征、操作和应用。在一些实施例中,本发明的虚拟助理能够检测免提情景并在接收输入、提供输出、在与用户对话和/或基于所辨别的意图执行(或发起)动作时相应地调节其操作。
例如,可以通过激活和/或与电子设备上可能有的任何应用或服务交互以及通过诸如互联网的电子网络可获得的服务,来执行动作。在各种实施例中,可以经由应用编程接口(API)或通过任何其他适当机构执行外部服务的此类激活。通过这种方式,根据本发明的各种实施例实现的虚拟助理能够为电子设备的很多不同应用和功能并相对于可以通过互联网获得的服务来提供免提使用环境。如上文引用的相关申请中所述,使用此类虚拟助理能够减轻用户的如下负担:获悉可以在设备上和联网服务上使用什么功能性,如何与此类服务交互以获得其需要的东西,以及如何解释从此类服务接收的输出;特别地,本发明的助理能够充当用户和此类多样化服务之间的中介。
此外,在各种实施例中,本发明的虚拟助理提供了会话界面,用户可能发现这种会话界面比常规图形用户界面更直观且负担更小。部分根据免提或手动情景是否活动,用户可以利用若干可用的输入和输出机构中的任一种来与助理进行一种形式的会话对话。此类输入和输出机构的实例包括但不限于语音、图形用户界面(按钮和链接)、文本输入等。可以利用若干不同平台的任一种,诸如设备API、网络、电子邮件等或它们的任意组合来实现该系统。可以在通过听觉和/或视觉方式呈现的会话的情景中向用户呈现对附加输入的请求。考虑到在给定会话之内的先前事件和通信以及关于用户的历史和概要信息,可以配合短期存储器和长期存储器使得能够在适当上下文中解释用户输入。
在各种实施例中,本发明的虚拟助理能够控制电子设备的各种特征和操作。例如,虚拟助理能够通过API或通过其他方式调用与设备上的功能和应用交互的服务,以执行本来可以利用设备上的常规用户界面发起的功能和操作。此类功能和操作可以包括,例如设置闹钟、拨打电话、发送文本消息或电子邮件消息、添加日历事件等。可以在用户和助理之间的会话对话的上下文中将此类功能和操作作为附加功能来执行。此类功能和操作可以由用户在诸如对话的上下文中指定,或者可以基于对话的上下文自动执行它们。本领域的技术人员将认识到,由此可以将助理用作用于发起和控制电子设备上各种操作的机构。通过收集有助于推断用户当前状况的情景证据并通过相应地调整用户界面的操作,本发明的系统能够呈现用于实现虚拟助理的免提操作的机构,以实施此类机构,用于控制设备。
附图说明
附图例示了本发明的若干实施例,并与说明书一起用于根据实施例解释本发明的原理。本领域的技术人员将认识到,附图中例示的特定实施例仅仅是示例性的,并非意在限制本发明的范围。
图1是示出了根据现有技术用于阅读文本消息的手动界面的一个实例的屏幕截图。
图2是示出了用于对文本消息做出响应的界面的实例的屏幕截图。
图3A和3B是示出了其中使用语音口述界面来回复文本消息的实例的屏幕截图的序列。
图4是示出了根据一个实施例的用于接收文本消息的界面的实例的屏幕截图。
图5A-图5D是示出了根据本发明的一个实施例的多模虚拟助理的操作的实例的一系列屏幕截图,其中用户在免提情景中接收和回复文本消息。
图6A-图6C是示出了根据本发明的一个实施例的多模虚拟助理的操作的实例的一系列屏幕截图,其中用户在免提情景中修改文本消息。
图7A-7D是根据一些实施例的调整用户界面的方法的流程图。
图7E是示出了根据一个实施例的操作支持动态检测并适应于免提情景的虚拟助理的方法的流程图。
图8是示出了根据一个实施例的虚拟助理系统的实例的框图。
图9是示出了根据至少一个实施例的适于实现虚拟助理的至少一部分的计算设备的框图。
图10是示出了根据至少一个实施例的用于在独立计算系统上实现虚拟助理的至少一部分的架构的框图。
图11是示出了根据至少一个实施例的用于在分布式计算网络上实现虚拟助理的至少一部分的架构的框图。
图12是示出了用于例示几种不同类型的客户端和操作模式的系统架构的框图。
图13是示出了根据一个实施例的彼此通信以实施本发明的客户端和服务器的框图。
图14A-图14L是示出了根据一些实施例的提供免提列表读取的虚拟助理的操作方法的流程图。
具体实施方式
根据本发明的各种实施例,结合虚拟助理的操作来检测免提情景,并相应地调节虚拟助理的用户界面,以便使得用户能够在免提情景中与助理进行有意义的交互。
为了描述的目的,术语“虚拟助理”等价于术语“智能自动化助理”,两者都是指执行如下一种或多种功能的任何信息处理系统:
●解释口语和/或文本形式的人类语言输入;
●将用户意图的表示操作为能够执行的形式,诸如具有步骤和/或参数的任务的表示;
●通过调用程序、方法、服务、API等执行任务表示;以及
●以语言和/或图形的形式生成对用户的输出响应。
在2011年1月10日提交的名称为“Intelligent Automated Assistant”的相关美国实用新型专利申请序列号12/987,982中描述了这种虚拟助理的实例,在此通过引用将其整个公开并入本文。
现在将参照如附图所示的示例性实施例来详细描述各种技术。在以下描述中,阐述了众多具体细节,以便提供对其中描述或提到的一个或多个方面和/或特征的透彻理解。然而,对于本领域的技术人员显而易见的是,本文所描述或提到的一个或多个方面和/或特征可以在不具有这些具体细节的一些或全部的情况下实践。在其他实例中,未详细描述公知的过程步骤和/或结构,以免使本文中描述或提到的一些方面和/或特征模糊不清。
可以在本申请中描述一个或多个不同的发明。此外,对于本文描述的一个或多个发明而言,可以在本专利申请中描述众多实施例,并且仅仅出于例示的目的给出。描述的实施例并非旨在任何意义上进行限制。从本公开将显而易见的是,一个或多个发明可以广泛应用于众多实施例。充分详细地描述了这些实施例,以使本领域的技术人员能够实践一个或多个发明,应理解的是,可以利用其他实施例,可以做出结构、逻辑、软件、电气和其他变化而不脱离一个或多个发明的范围。因此,本领域的技术人员将认识到,可以利用各种修改和变更来实践一个或多个发明。可以参考形成本公开一部分的一个或多个特定实施例或附图描述一个或多个发明的特定特征,在实施例或附图中通过例示,示出了一个或多个发明的具体实施例。然而,应当理解,此类特征并不限于在描述它们所参考的一个或多个特定实施例或附图中使用。本公开既不是一个或多个发明的所有实施例的文字描述,也不是必须要呈现于所有实施例中的一个或多个发明的特征列示。
本专利申请中提供的章节标题和本专利申请的标题仅仅为了方便,并非要视为以任何方式限制本公开。
彼此通信的设备未必彼此连续通信,除非明确做出另外的指定。此外,彼此通信的设备可以直接或通过一个或多个媒介体间接通信。
描述具有几个彼此通信的部件的实施例并非暗示需要所有此类部件。相反,描述了多种任选部件以例示一个或多个发明的多种可能实施例。
此外,尽管可以按照顺序次序描述过程步骤、方法步骤、算法等,但可以配置此类过程、方法和算法来以任何适当次序工作。换句话讲,在本专利申请中可以描述的步骤的任何顺序或次序本身并非表示需要按照该次序执行步骤。此外,尽管被描述或暗示为非同时发生(例如,因为在其他步骤之后描述一个步骤),但可以同时执行一些步骤。此外,通过在附图中绘示过程来例示过程并不暗示例示的过程不包括其他变型和修改,并不暗示例示的过程或其任何步骤是一个或多个发明必需的,并不暗示例示的过程是优选的。
在描述单个设备或制品时,将显而易见的是,可以使用超过一个设备/制品(无论是否合作)以替代单个设备/制品。类似地,在描述超过一个设备或制品时(无论它们是否合作),将显而易见的是,可以使用单个设备/制品来替代超过一个设备或制品。
可以替代地由未明确描述为具有这种功能/特征的一个或多个其他设备替代地体现设备的功能和/或特征。因此,一个或多个发明的其他实施例不需要包括设备自身。
有时将为了清晰起见以单数形式描述本文中描述或提到的多种技术和机构。然而,应当指出,除非另行指出,特定实施例包括一项技术的多次迭代或一种机构的多个实例化。
尽管在用于实施智能自动化助理,也称为虚拟助理的技术情景之内描述,但可以理解,也可以将本文描述的各个方面和技术部署和/或应用于涉及与软件的人和/或计算机化交互的其他技术领域中。
在以下一个或多个文献中公开了涉及虚拟助理技术(例如,其可以由本文描述的一个或多个虚拟助理系统实施例利用、提供和/或在其那里实施)的其他方面,在此通过引用将其整个公开并入本文:
●2011年1月10日提交的名称为“Intelligent Automated Assistant”的美国实用新型专利申请序列号12/987,982;
●2010年1月18日提交的名称为“Intelligent Automated Assistant”的美国临时专利申请序列号61/295,774;
●2011年9月30日提交的名称为“Using Context Information to FacilitateProcessing of Commands in a Virtual Assistant”的美国实用新型专利申请序列号13/250,854,代理人案号P11353US1;
●2006年9月8日提交的名称为“Method And Apparatus for Building anIntelligent Automated Assistant”的美国专利申请序列号11/518,292;
●2009年6月12日提交的名称为“System and Method for Semantic Auto-Completion”的美国临时专利申请序列号61/186,414。
硬件架构
通常,可以在硬件或硬件和软件的组合上来实施本文描述的虚拟助理技术。例如,它们可以实现于操作系统内核中、独立的用户过程中、绑定到网络应用中的库封装中、特殊构造的机器上和/或网络接口卡上。在具体实施例中,本文公开的技术可以实现于诸如操作系统的软件中或运行于操作系统上的应用中。
可以将本文公开的至少一些虚拟助理实施例的软件/硬件混合具体实施实现于由存储于存储器中的计算机程序选择性激活或重新配置的可编程机器上。此类网络设备可以具有多个网络接口,可以配置或设计它们以利用不同类型的网络通信协议。用于这些机器中一些机器的一般架构可以从本文公开的描述中获知。根据具体实施例,本文公开的各种虚拟助理实施例的至少一些特征和/或功能可以实现于一个或多个通用网络主机上,诸如最终用户计算机系统、计算机、网络服务器或服务器系统、移动计算设备(例如,个人数字助理、移动电话、智能电话、膝上型计算机、平板电脑等)、消费电子设备、音乐播放器或任何其他适当的电子设备、路由器、交换机等,或它们的任何组合。在至少一些实施例中,本文公开的各种虚拟助理实施例的至少一些特征和/或功能可以实现于一个或多个虚拟化计算环境中(例如,网络计算云等)。
现在参考图9,示出了用于绘示适用于实施本文公开的虚拟助理特征和/或功能的至少一部分的计算设备60的框图。计算设备60例如可以是最终用户计算机系统、网络服务器或服务器系统、移动计算设备(例如个人数字助理、移动电话、智能电话、膝上型计算机、平板电脑等)、消费电子设备、音乐播放器或任何其他适当的电子设备或它们的任何组合或部分。计算设备60可以适应于通过通信网络诸如互联网并利用用于此类通信的已知协议(无论无线或有线)来与其他计算设备诸如客户端和/或服务器通信。
在一个实施例中,计算设备60包括中央处理单元(CPU)62、接口68和总线67(诸如外围部件互连(PCI)总线)。在适当软件或固件的控制下工作时,CPU 62可以负责实施与专门配置的计算设备或机器的功能相关联的特定功能。例如,在至少一个实施例中,可以配置或设计用户的个人数字助理(PDA)或智能电话以利用CPU 62、存储器61、65和接口68作为虚拟助理系统工作。在至少一个实施例中,可以使CPU 62在软件模块/部件的控制下执行一种或多种不同类型的虚拟助理功能和/或操作,软件模块/部件例如可以包括操作系统和任何适当的应用软件、驱动程序等。
CPU 62可以包括一个或多个处理器63,诸如来自Motorola或Intel的微处理器系列或MIPS微处理器系列的处理器。在一些实施例中,处理器63可以包括专门设计的用于控制计算设备60的操作的硬件(例如,专用集成电路(ASIC)、电可擦除可编程只读存储器(EEPROM)、现场可编程门阵列(FPGA)等)。在具体的实施例中,存储器61(诸如非易失性随机存取存储器(RAM)和/或只读存储器(ROM))还形成CPU 62的部分。然而,可以有很多不同方式将存储器耦接到系统。存储器块61可以用于多种目的,诸如高速缓存和/或存储数据、编程指令等。
如本文所用,术语“处理器”不仅限于现有技术中称为处理器的那些集成电路,而是宽泛地指微控制器、微计算机、可编程逻辑控制器、专用集成电路和任何其他可编程电路。
在一个实施例中,提供接口68作为接口卡(有时称为“线卡”)。通常,它们控制通过计算网络发送和接收数据包,且有时支持与计算设备60一起使用的其他外围设备。在可以提供的接口中,有以太网接口、帧中继接口、电缆接口、DSL接口、令牌环接口等。此外,可以提供各种类型的接口,诸如通用串行总线(USB)、串行、以太网、火线、PCI、并行、射频(RF)、蓝牙TM、近场通信(例如,使用近场磁场)、802.11(WiFi)、帧中继、TCP/IP、ISDN、快速以太网接口、千兆比特以太网接口、异步传输模式(ATM)接口、高速串行接口(HSSI)接口、销售点(POS)接口、光纤数据分布接口(FDDI)等。通常,此类接口68可以包括适合与适当介质通信的端口。在一些情况下,它们还可以包括独立的处理器,并且在一些情况下,包括易失性和/或非易失性存储器(例如RAM)。
尽管图9中所示的系统例示了用于实施本文所述发明的技术的针对计算设备60的一种具体架构,但其绝不是可以实施本文所述特征和技术的至少一部分的仅有设备架构。例如,可以使用具有一个或任意数量处理器63的架构,此类处理器63可以存在于单个设备中或分布于任意数量的设备间。在一个实施例中,单个处理器63处理通信以及路由计算。在各种实施例中,可以在虚拟助理系统中实施不同类型的虚拟助理特征和/或功能,该虚拟助理系统包括客户端设备(诸如个人数字助理或运行客户端软件的智能电话)和服务器系统(诸如下文更详细描述的服务器系统)。
不论网络设备配置如何,但本发明的系统可以采用一个或多个存储器或存储器模块(例如存储器块65),它们被配置为存储用于通用网络操作的数据、程序指令和/或与本文所述的虚拟助理技术的功能相关的其他信息。例如,程序指令可以控制对操作系统和/或一个或多个应用的操作。还可以配置一个或多个存储器以存储数据结构、关键字分类信息、广告信息、用户点击和按压信息和/或本文所述的其他具体非程序信息。
因为可以利用此类信息和程序指令实现本文所述的系统/方法,所以至少一些网络设备实施例可以包括非暂态机器可读存储介质,例如,其可以被配置或设计为存储用于执行本文所述的各种操作的程序指令、状态信息等。此类非暂态机器可读存储介质的实例包括但不限于磁性介质,诸如硬盘、软盘和磁带;光学介质,诸如CD-ROM盘;磁光介质,诸如软光盘和被专门配置为存储和执行程序指令的硬件设备,诸如只读存储器设备(ROM)、闪存存储器、忆阻器存储器、随机存取存储器(RAM)等。程序指令的实例包括机器代码和文件,机器代码诸如是由编译器产生的代码,文件包含可以由计算机使用解释程序执行的更高等级的代码。
在一个实施例中,本发明的系统实现于独立式计算系统上。现在参考图10,示出了用于绘示根据至少一个实施例的用于在独立计算系统上实现虚拟助理的至少一部分的架构的框图。计算设备60包括处理器63,该处理器运行用于实现多模虚拟助理1002的软件。输入设备1206可以是适于接收用户输入的任何类型,例如包括键盘、触摸屏、鼠标、触控板、轨迹球、五路开关、操纵杆和/或它们的任何组合。设备60还可以包括语音输入设备1211,诸如麦克风。输出设备1207可以是屏幕、扬声器、打印机和/或它们的任何组合。存储器1210可以是具有现有技术公知的结构和架构的随机存取存储器,在运行软件期间供处理器63使用。存储设备1208可以是任何磁性、光学和/或电气存储设备,用于以数字形式存储数据;实例包括闪存存储器、磁性硬盘驱动器、CD-ROM等。
在另一个实施例中,本发明的系统实现于分布式计算网络上,诸如具有任意数量的客户端和/或服务器的计算网络。现在参考图11,示出了用于绘示根据至少一个实施例的用于在分布式计算网络上实现虚拟助理的至少一部分的架构的框图。
在图11中所示的布置中,提供了任意数量的客户端1304;每个客户端1304可以运行用于实施本发明的客户端部分的软件。此外,可以提供任意数量的服务器1340,以处理从客户端1304接收的请求。客户端1304和服务器1340可以经由电子网络1361诸如互联网来彼此通信。可以利用任何已知的网络协议,例如包括有线和/或无线协议,实现网络1361。
此外,在一个实施例中,服务器1340可以在需要时调用外部服务1360以获得额外的信息或参考存储关于与特定用户的先前交互的数据。例如,可以通过网络1361与外部服务1360进行通信。在各种实施例中,外部服务1360包括启用Web的服务和/或与硬件设备自身相关或安装于其上的功能。例如,在助理1002实现于智能电话或其他电子设备上的实施例中,助理1002能够获得日历应用(“应用”)、联系人和/或其他源中存储的信息。
在各种实施例中,助理1002能够控制其安装所在的电子设备的很多特征和操作。例如,助理1002能够调用外部服务1360,该外部服务通过API或通过其他方式与设备上的功能和应用交互,以执行本来可以利用设备上的常规用户界面发起的功能和操作。此类功能和操作可以包括,例如设置闹钟、拨打电话、发送文本消息或电子邮件消息、添加日历事件等。可以在用户和助理1002之间的会话对话的上下文中将此类功能和操作作为附加功能来执行。此类功能和操作可以由用户在诸如对话的上情景中指定,或者可以基于对话的上下文自动执行它们。本领域的技术人员将认识到,由此可以将助理1002用作控制机构,用于发起和控制电子设备上的各种操作,可以将其用作诸如按钮或图形用户界面的常规机构的替代。
例如,用户可以向助理1002提供输入,诸如“我需要明天早上8点醒来”。一旦助理1002利用本文描述的技术确定了用户意图,助理1002就能够调用外部服务1340以与设备上的闹钟功能或应用交互。助理1002代表用户来设置闹钟。通过这种方式,用户可以将助理1002用作用于设置闹钟或执行设备上其他功能的常规机构的替代。如果用户的请求不明确或需要进一步澄清,助理1002可以使用本文描述的各种技术,包括主动启发、释义、建议等,并且其可以适应于免提情景,从而调用正确的服务1340并采取预期的行动。在一个实施例中,助理1002可以提示用户进行确认和/或在调用服务1340以执行功能之前从任何适当的源请求附加的上下文信息。在一个实施例中,用户可以选择性地禁用助理1002的能力,以调用特定服务1340,或者如果需要,可以禁用所有此类服务调用。
可以利用若干不同类型的客户端1304和操作模式中的的任一种客户端和操作模式来实现本发明的系统。现在参考图12,示出了用于绘示系统架构的框图,该系统架构示出了几种不同类型的客户端1304和操作模式。本领域的技术人员将认识到,图12中所示的各种类型的客户端1304和操作模式仅仅是示例性的,可以利用除所示那些之外的客户端1304和/或操作模式来实现本发明的系统。此外,该系统可以包括任何或所有此类客户端1304和/或操作模式,单独地或任何组合的。其他实例包括:
●具有输入/输出设备和/或传感器1402的计算机设备。客户端部件可以被部署在任何此类计算机设备1402上。可以利用Web浏览器1304A或用于经由网络1361实现与服务器1340通信的其他软件应用来实现至少一个实施例。可以是任何类型的输入和输出信道,例如,包括视觉和/或听觉信道。例如,在一个实施例中,可以利用基于语音的通信方法来实现本发明的系统,允许将助理用于盲人的实施例,该盲人的Web浏览器等同物是由语音驱动的并使用语音进行输出。
●具有I/O和传感器1406的移动设备,可以为其将客户端实现为移动设备1304B上的应用。这包括但不限于移动电话、智能电话、个人数字助理、平板设备、联网游戏机等。
●具有I/O和传感器1410的消费器具,对此而言,可以将客户端实现为器具1304C上的嵌入式应用。
●具有仪表板界面和传感器1414的汽车和其他车辆,对此而言,可以将客户端实现为嵌入式系统应用1304D。这包括但不限于汽车导航系统、语音控制系统、车载娱乐系统等。
●联网的计算设备,诸如路由器1418或驻留于网络或与网络交互的任何其他设备,对其而言,可以将客户端实现为设备驻留的应用1304E。
●电子邮件客户端1424,对其而言,助理的实施例经由电子邮件形态服务器1426连接。电子邮件形态服务器1426充当通信网桥,例如,以来自用户的输入作为发送到助理的电子邮件消息,并向用户发送来自助理的输出作为回复。
●即时消息客户端1428,对其而言,助理的实施例经由消息形态服务器1430连接。消息形态服务器1430充当通信网桥,以来自用户的输入作为发送到助理的消息,并向用户发送来自助理的输出作为回复消息。
●语音电话1432,对其而言,通过互联网协议语音(VoIP)形态服务器1434来连接助理的实施例。VoIP形态服务器1434充当通信网桥,以来自用户的输入作为向助理说出的语音,并向用户发送来自助理的输出例如作为回复的合成语音。
对于包括但不限于电子邮件、即时消息、讨论论坛、分组聊天会话、实况帮助或客户支持会话等的消息平台,助理1002可以充当会话中的参与者。助理1002可以监测会话并利用本文描述的用于一对一交互的一种或多种技术和方法回复个人或小组。
在各种实施例中,用于实施本发明的技术的功能可以分布于任意数量的客户端和/或服务器部件之间。例如,可以实施各种软件模块,用于结合本发明执行各种功能,可以通过各种方式实施此类模块以运行于服务器和/或客户端部件上。在2011年1月10日提交的名称为“Intelligent Automated Assistant”的相关美国实用新型准立申请序列号12/987,982中提供了这种布置的更多细节,在此通过引用将其整个公开并入本文。
在图13的实例中,输入启发功能和输出处理功能分布于客户端1304和服务器1340之间,输入启发的客户端部分2794a和输出处理的客户端部分2792a位于客户端1304处,输入启发的服务器部分2794b和输出处理的服务器部分2792b位于服务器1340处。以下部件位于服务器1340处:
●完整的词汇表2758b;
●语言模式识别器2760b的完整库;
●短期个人存储器2752b的主版本;
●长期个人存储器2754b的主版本。
在一个实施例中,客户端1304在本地维持这些部件的子集和/或部分,以改善响应度并减小对网络通信的依赖。可以根据公知的高速缓存管理技术维护并更新此类子集和/或部分。此类子集和/或部分包括,例如:
●词汇表2758a的子集;
●语言模式识别器2760a的库的子集;
●短期个人存储器2752a的高速缓存;
●长期个人存储器2754a的高速缓存。
可以将附加部件实现为服务器1340的一部分,包括例如:
●语言解释器2770;
●对话流处理器2780;
●输出处理器2790;
●域实体数据库2772;
●任务流模型2786;
●服务编排2782;
●服务能力模型2788。
服务器1340通过在需要时与外部服务1360交互来获得额外信息。
概念架构
现在参考图8,示出了多模虚拟助理1002的特定示例性实施例的简化框图。如上文引用的相关美国实用新型申请中更详细所述,多模虚拟助理1002的不同实施例可以被配置、被设计和/或可用于提供各种不同类型的通常与虚拟助理技术相关的操作、功能和/或特征。此外,如本文更详细所述,本文公开的多模虚拟助理1002的各种操作、功能和/或特征中的很多可以向与多模虚拟助理1002交互的不同实体实现或提供不同类型的优点和/或好处。可以利用上述任何硬件架构或利用不同类型的硬件架构实现图8中所示的实施例。
例如,根据不同的实施例,多模虚拟助理1002可以被配置、被设计和/或可用于提供各种不同类型的操作、功能和/或特征,例如,如下一种或多种(或它们的组合):
●使可以通过互联网获得的数据和服务的应用自动发现、查找、选择、购买、预留或订购产品或服务。除了使使用这些数据和服务的过程自动化之外,多模虚拟助理1002还可以实现一次组合使用几个数据和服务源。例如,它可以组合来自几个审查点的关于产品的信息、检查价格和可从多个分销商获得的可能性,并检查其位置和时间约束,并帮助用户找到其问题的个性化解决方案。
●使通过互联网可获得的数据和服务的使用自动化,以发现、调查、选择、保留和通过其他方式了解要做的事情(包括但不限于电影、活动、表演、展览、演出和吸引人的事物);要去的地方(包括但不限于旅游目的地、宾馆和要停留的其他地方、地标和其他感兴趣的地点等);要吃喝的地方(诸如餐馆和酒吧),会见他人的时间和地方,以及可以在互联网上发现的任何其他娱乐或社交来源。
●经由自然语言对话实现应用和服务的操作,这本来是由具有图形用户界面的专用应用提供的,专用应用包括搜索(包括基于位置的搜索);导航(地图和方向);数据库查询(诸如按照名称或其他属性查找单位或人);获取天气状况和预报,检查市场物品的价格或金融交易的状态;监测航班的交通或状态;访问并更新日期和日程;管理提醒、提示、任务和项目;通过电子邮件或其他消息平台通信;以及在本地或远程操作设备(例如拨打电话,控制光和温度,控制家庭安全设备,播放音乐或视频等)。在一个实施例中,可以使用多模虚拟助理1002发起、操作和控制设备上可用的很多功能和应用。
●为活动、产品、服务、娱乐源、时间管理提供个人建议或其他任何种类的建议服务,其受益于以自然语言进行的交互对话以及对数据和服务的自动访问。
根据不同实施例,可以将由多模虚拟助理1002提供的各种类型的功能、操作、动作和/或其他特征的至少一部分实现于一个或多个客户端系统处,一个或多个服务器系统处和/或它们的组合处。
根据不同的实施例,如本文中更详细所述,多模虚拟助理1002提供的各种类型的功能、操作、动作和/或其他特征的至少一部分可以在解释和运行用户输入时使用上下文信息。
例如,在至少一个实施例中,多模虚拟助理1002可以是能够操作的在执行特定任务和/或操作时利用和/或生成各种不同类型的数据和/或其他类型的信息。例如,这可以包括输入数据/信息和/或输出数据/信息。例如,在至少一个实施例中,多模虚拟助理1002可以操作以访问、处理和/或通过其他方式利用来自一个或多个不同类型源的信息,该源诸如是一个或多个本地和/或远程存储器、设备和/或系统。此外,在至少一个实施例中,多模虚拟助理1002可操作以生成一种或多种不同类型的输出数据/信息,该输出数据/信息例如,可被存储于一个或多个本地和/或远程设备和/或系统的存储器中。
可以由多模虚拟助理1002访问和/或利用的不同类型的输入数据/信息的实例可包括但不限于如下一项或多项(或它们的组合):
●语音输入:来自移动设备诸如移动电话和平板电脑、具有麦克风的计算机、蓝牙耳麦、汽车语音控制系统、电话系统、应答服务上的录音、集成消息服务上的音频语音邮件、具有诸如时钟无线电设备的语音输入的消费应用、电话站、家庭娱乐控制系统和游戏机。
●来自计算机或移动设备上的键盘、遥控器或其他消费电子设备上的小键盘、发向助理的电子邮件消息、发向助理的即时消息或类似短消息、从多用户游戏环境中的玩家接收的文本以及消息馈送源中传输的文本的文本输入。
●来自传感器或基于位置的系统的位置信息。实例包括全球定位系统(GPS)和移动电话上的辅助GPS(A-GPS)。在一个实施例中,将位置信息与明确的用户输入组合。在一个实施例中,本发明的系统能够基于已知的地址信息和当前的位置确定来检测用户何时在家。通过这种方式,可以对用户在家而非在外时可能感兴趣的信息类型,以及根据其是否在家而应当代表用户调用的服务和动作类型进行某些推导。
●来自客户端设备上的时钟的时间信息。这可以包括,例如,来自电话或其他客户端设备的用于指示本地时间和时区的时间。此外,可以在用户请求的情景中使用时间,例如,用于解释诸如“一小时内”和“今晚”的短语的时间。
●罗盘、加速度计、陀螺仪和/或行进速度数据,以及来自移动或手持式设备或嵌入式系统,诸如汽车控制系统的其他传感器数据。这还可以包括从远程控制到电器和游戏机的设备定位数据。
●来自具有GUI的任何设备上的图形用户界面(GUI)的点击和菜单选择及其他事件。其他实例包括对触摸屏的触摸。
●来自传感器和其他数据驱动的触发器,诸如闹钟、日历提示、价格改变触发器、位置触发器、从服务器向设备上推送通知等的事件。
本文所述实施例的输入还包括用户交互历史的情景,包括对话和请求历史。
如上文援引的相关美国实用新型申请中所述,可以由多模虚拟助理1002生成很多不同类型的输出数据/信息。这些可包括但不限于如下一项或多项(或它们的组合):
●直接向输出设备和/或向设备的用户界面发送的文本输出;
●通过电子邮件向用户发送的文本和图形;
●通过消息服务向用户发送的文本和图形;
●语音输出,其可以包括如下一项或多项(或它们的组合):
○合成语音;
○采样语音;
○记录的消息;
●带照片、富文本、视频、声音和超链接(例如,在Web浏览器中呈现的内容)的信息的图形布局;
●用于控制设备上的物理动作的致动器输出,诸如使其打开或关闭,发出声音,改变颜色,振动,控制灯等;
●调用设备上的其他应用,诸如调用地图应用、语音拨打电话、发送电子邮件或即时消息、播放媒体、在日历、任务管理器和便签应用及其他应用中生成条目;
●用于控制附属或受控于设备的设备的物理动作的致动器输出,诸如操作远程相机、控制轮椅、在远程扬声器上播放音乐、在远程显示器上播放视频等。
应当理解,图8的多模虚拟助理1002仅仅是可以实施的宽范围的虚拟助理系统实施例中的一个实例。虚拟助理系统的其他实施例(未示出)可以包括附加的比例如在图8的实例虚拟助理系统实施例中图示的那些多、少和/或不同的部件/特征。
多模虚拟助理1002可以包括多个不同类型的部件、设备、模块、过程、系统等,例如,它们可以通过使用硬件和/或硬件和软件的组合对它们进行实现和/或实例化。例如,如图8的示例性实施例中所示,助理1002可以包括一个或多个以下类型的系统、部件、设备、过程等(或它们的组合):
●一个或多个活动本体1050;
●一个或多个活动输入启发部件2794(可以包括客户端部分2794a和服务器部分2794b);
●一个或多个短期个人存储器部件2752(可以包括主版本2752b和高速缓存2752a);
●一个或多个长期个人存储器部件2754(可以包括主版本2754b和高速缓存2754a);
●一个或多个域模型部件2756;
●一个或多个词汇表部件2758(可以包括完整词汇表2758b和子集2758a);
●一个或多个语言模式识别器部件2760(可以包括完整库2760b和子集2760a);
●一个或多个语言解释器部件2770;
●一个或多个域实体数据库2772;
●一个或多个对话流处理器部件2780;
●一个或多个服务编排部件2782;
●一个或多个服务部件2784;
●一个或多个任务流模型部件2786;
●一个或多个对话流模型部件2787;
●一个或多个服务模型部件2788;
●一个或多个输出处理器部件2790。
在某些基于客户端/服务器的实施例中,这些部件中的一些或所有可以分布于客户端1304和服务器1340之间。在上文引用的相关美国实用新型申请中进一步描述了此类部件。
在一个实施例中,虚拟助理1002通过任何适当的输入形态来接收用户输入2704,该输入形态包括例如触摸屏输入、键盘输入、口头输入和/或任何它们的组合。在一个实施例中,助理1002还接收上下文信息1000,其可以包括事件情景、应用情景、个人声音情景和/或其他形式的情景,如2011年9月30日提交的名称为“Using Context Information toFacilitate Processing of Commands in a Virtual Assistant”的相关美国实用新型专利申请序列号13/250,854中所述,在此通过引用将其整个公开并入本文。上下文信息1000还包括免提情景,如果适用的话,可以使用其根据本文所述的技术来调整用户界面。
在根据本文所述的技术处理用户输入2704和上下文信息1000时,虚拟助理1002生成用于向用户呈现的输出2708。可以根据任何适当的输出形态生成输出2708,如果适当的话,可以由免提情景以及其他因素通知该形态。输出形态的实例包括在屏幕上呈现的视觉输出、听觉输出(其可以包括说出的输出和/或蜂鸣和其他声音)、触觉输出(诸如振动)和/或它们的任何组合。
在2011年1月10日提交的名称为“Intelligent Automated Assistant”的相关美国实用新型专利申请序列号12/987,982中提供了图8中所示关于各种部件操作的更多细节,在此通过引用将其整个公开并入本文。
使用户界面适应于免提情景
出于例示的目的,在此通过举例的方式描述本发明。然而,本领域的技术人员将认识到,实例中示出的特定输入和输出机构仅仅是为了例示用户和助理1002之间的一种可能交互,并非要限制如权利要求书所主张的本发明范围。此外,在另选的实施例中,可以在一种未必涉及多模虚拟助理1002的设备中实施本发明;特别地,可以直接在操作系统或运行于任何适当设备上的应用中实施本发明的功能,而不脱离如权利要求书中唯一界定的本发明的必要特征。
现在参考图1,示出了用于例示根据现有技术的用于读取文本消息的常规手动界面169的实例的屏幕截图。图1中所示的图形用户界面(GUI)一般需要用户能够读取详细的细节,诸如气泡171中所示的消息文本,并通过在文本字段172中键入并轻击发送按钮173来做出响应。在很多设备中,此类动作需要观看并触摸屏幕,因此在某些情景中,例如本文所称免提情景中执行起来是不切实际的。
现在参考图2,示出了用于例示对文本消息171做出响应的界面170的实例的屏幕截图。响应于用户在文本字段172中轻击来呈现虚拟键盘270,允许通过在对应于按键的屏幕区域上轻击来在文本字段172中输入文本。在已经输入文本消息时,用户在发送按钮173上轻击。如果用户希望通过讲话来输入文本,他或她在语音按钮271上轻击,其调用语音口述界面,以用于接收口头输入并将其转换成文本。因此,按钮271提供了用户能够指示其处于免提情景中的机构。
现在参考图3A和3B,示出了用于例示界面175的实例的一系列屏幕截图,其中使用语音口述界面来回复文本消息171。例如,在用户在语音按钮271上轻击之后,呈现屏幕370。麦克风图标372指示设备准备好接受口头输入。用户输入语音,该语音经由语音输入设备1211接收,语音输入设备可以是麦克风或类似设备。用户在完成按钮371上轻击,以指示他或她已经完成了对口头输入的输入。
利用任何公知的语音到文本算法或系统将口头输入转换成文本。语音到文本功能可以存在于设备60上或服务器上。在一个实施例中,例如,利用可购自NuanceCommunications,Inc.(Burlington,Massachusetts)的Nuance Recognizer来实现语音到文本功能。
如图3B中所示,可以在字段172中示出转换结果。可以呈现键盘270以允许用户编辑在字段172中生成的文本。在用户对输入的文本满意时,他或她在发送按钮173上轻击,以发送文本消息。
在结合图2、3A和3B描述的实例中,几种操作需要用户看着显示屏以及或者/提供触摸输入。此类操作包括:
●阅读显示屏上的文本消息171;
●触摸按钮271以进入语音输入模式;
●触摸完成按钮371以指示完成语音输入;
●查看从用户的口头输入生成的转换文本;
●触摸发送按钮173以发送消息。
在本发明的一个实施例中,用于接受和处理语音输入的机构被集成到设备60中,减少了在处于免提情景中时用户与显示屏交互和/或使用触摸界面的需求。因此,本发明的系统因此能够提供改进的用户界面,以在免提情景中进行交互。
现在参考图4和图5A-图5D,示出了用于例示根据一个实施例的用于接收和回复文本消息的界面的实例的一系列屏幕截图,其中识别免提情景;因此,在该实例中,根据本发明的技术,减小了用户与屏幕交互的需求。
在图4中,屏幕470示出了在设备60处于锁定模式中时接收的文本消息471。用户可以激活滑块472以根据已知技术回复或通过其他方式与消息471交互。然而,在该实例中,设备60可能在视线之外和/或在触及范围之外,或者用户可能不能与设备60交互,例如,如果他或她正在驾车或参与某项其他活动。如本文所述,多模虚拟助理1002提供了在这种免提情景中用于接收和回复文本消息471的功能。
在一个实施例中,设备60上安装的虚拟助理1002自动检测免提情景。此类检测可以通过确定如下情形或状况的任何方式而发生:用户可能难以或不可能与设备60的屏幕交互或正确操作GUI。
例如但并非限制,可以基于如下任何单项或任何组合进行免提情景的确定:
●来自传感器(包括例如罗盘、加速度计、陀螺仪、速度计(例如,无论设备60正在以预先确定的速度还是高于预先确定的速度行进)、环境光传感器、蓝牙连接检测器、时钟、WiFi信号检测器、麦克风等)的数据;
●例如,经由GPS确定设备60处在特定地理位置(例如,确定设备60正在路上或路附近行进);
●速度数据(例如,通过GPS、速度计、加速度计、无线数据信号信息(例如,蜂窝塔三角测量法));
●来自时钟的数据(例如,可以将免提情景指定为在一天的某些时间和/或一周的某些天活动);
●预定义参数(例如,用户或管理员能够指定,在检测到任何条件或条件组合时,免提情景是活动的);
●蓝牙或其他无线I/O设备的连接(例如,如果检测到与移动的车辆的启用蓝牙的接口的连接);
●可能表示用户正在移动的车辆中或正在驾驶车辆的任何其他信息;
●存在或不存在附接的外围设备,包括耳机、耳麦、充电缆线或停靠站(包括车辆停靠站)、通过适配器缆线连接的东西等;
●确定用户未与设备60接触或密切接近设备60;
●用于触发与助理1002交互的特定信号(例如,运动手势,其中用户将设备拿向耳朵,或者按下蓝牙设备上的按钮或按下附接音频设备上的按钮);
●在连续字词流中检测到特定字词(例如,可以配置助理1002以收听命令,并在用户呼叫其名称或说出诸如“计算机!”的某种命令时被调用;该特定命令可以指示免提情景是否活动。)
如上所述,可以(至少部分地)基于确定用户正在移动的车中或正在驾驶车辆而自动确定为免提情景。在一些实施例中,做出此类确定而无需用户输入,且不涉及数字助理是否被用户独立调用。例如,用户与助理1002交互所经的设备可以包含多个应用,其被配置为在设备上的操作系统内执行。因此,可以做出设备在车辆中的确定而无关于用户是否选择或激活数字助理应用以在设备上立即执行。在一些实施例中,在数字助理应用并未正在操作系统的前景中执行时或并未正在设备上显示图形用户界面时,做出确定。因此,在一些实施例中,用户不必独立调用数字助理应用以便由设备确定其在车辆中。在一些实施例中,自动确定电子设备在车辆中而无关于用户最近是否调用过数字助理应用。
在一些实施例中,自动确定免提情景可以(至少部分地)基于检测到电子设备在以第一预先确定的速度或高于第一预先确定的速度移动。例如,如果设备正在以高于大约20英里每小时的速度移动,则表示用户不仅仅在走路,也可以调用免提情景,包括如下所述调用收听模式。在一些实施例中,自动确定免提情景可以进一步基于检测到电子设备正在以第二预先确定的速度或低于第二预先确定的速度移动。例如,当用户在飞机上时,这对于防止设备错误地检测到免提情景是有用的。在一些实施例中,如果电子设备正在以低于大约150英里每小时的速度移动,则检测到免提情景,表示用户可能不是在飞机上飞行。
在其他实施例中,用户可以手动指示免提情景是活动的或者不活动的,和/或能够安排免提情景以在一天的某些时间和/或一周的某些天激活和/或去激活。
在一个实施例中,在处于免提情景中接收文本消息470时,多模虚拟助理1002使得设备60输出音频指示,诸如蜂鸣或音调,表示接收到文本消息。如上所述,用户可以激活滑块472以根据已知的技术(例如,如果不正确地检测到免提模式,或者如果用户选择停止驾驶或通过其他方式使自己能够与设备60进行手动交互)回复或通过其他方式与消息471交互。另选地,用户能够参与与助理1002的口语对话,以能够在免提方式中与助理1002交互。
在一个实施例中,用户通过任何适于免提情景的适当机构发起口头对话。例如,在用户正在驾驶配备蓝牙设备的车辆且设备60正在与车辆通信的环境中,可以有一个容易触及的按钮(例如,安装在车辆方向盘上的按钮)。按下该按钮会发起与助理1002的口头对话,并允许用户通过蓝牙连接并通过安装于车辆中的麦克风和/或扬声器来与助理1002通信。或者,用户能够通过按下设备60自身上或耳麦或任何其他外围设备上的按钮,或者通过执行向助理1002指明用户希望发起口语对话的某种其他区别性动作来发起口语对话。作为另一个实例,用户能够讲出助理1002理解并发起口头对话的命令,如下文更详细所述。本领域的技术人员将认识到,可以提供很多其他技术以允许用户容易发起与助理1002的口头对话。优选地,用于发起口头对话的机构不需要用户部分的手眼协调,从而允许用户集中精力于主要任务,诸如驾驶,和/或可以由残疾个人执行,该残疾阻碍、妨碍、限制或局限其与诸如图2、3A和3B中所示的GUI交互的能力。
一旦已经发起口头对话,助理1002就收听口头对话。在一个实施例中,助理1002通过在处于免提情景中时容易被用户检测到的某种输出机构来确认口头输入。实例为音频蜂鸣或声调和/或车辆仪表板上的视觉输出,其即使在驾驶时也容易被用户和/或被某种其他机构看到。利用已知的语音识别技术处理口头输入。助理1002然后执行由口头输入指示的动作。在一个实施例中,助理1002提供口头输出,可以经由扬声器(在设备60中或安装于车辆中)、耳机等输出它,以便继续与用户进行音频对话。例如,助理1002能够读取文本消息、电子邮件消息等的内容并能够以口头形式向用户提供选项。
例如,如果用户说“读我的新消息”,助理1002可以使设备60发出确认声调。助理1002然后可以发出口头输出,诸如“您有来自Tom Devon的新消息。消息是:‘嗨,你去看比赛吗?’”。可以由助理1002利用任何已知的用于将文本转换成语音的技术生成口头输出。在一个实施例中,例如,利用可购自Nuance Communications,Inc.(Burlington,Massachusetts)的Nuance Vocalizer实现文本到语音功能。
现在参考图5A,示出了屏幕截图570的实例,其示出了可以在进行用户和助理1002之间的口头交换时在设备60的屏幕上呈现的输出。在一些免提情况下,用户可以看到屏幕但不能容易触摸它,例如,如果正在车辆导航系统的显示屏上复制设备60的屏幕上的输出。如图5A-图5D所示的口头会话的视觉回应能够帮助用户验证其口头输入已经被助理1002适当准确地理解,并能够进一步帮助用户理解助理1002的口头回复。然而,此类视觉回应是任选的,可以实施本发明而在设备60的屏幕上或别处没有任何视觉显示。因此,用户能够纯粹通过口头输入和输出,或通过视觉和口头输入和/或输出的组合来与助理1002交互。
在一个实例中,助理1002显示并说出提示571。响应于用户输入,助理1002在显示器上和/或以口头形式重复用户输入572。助理然后介绍573传入的文本消息并阅读它。在一个实施例中,也可以在屏幕上显示文本消息。
如图5B中所示,在向用户阅读传入的消息之后,助理1002然后告诉用户,用户能够“回复或再次阅读它”574。同样,在一个实施例中,以口头形式(即,口头地)提供此类输出。通过这种方式,本发明的系统以非常适合免提情景的方式通知用户可用的动作,即其不要求用户查看文本字段、按钮和/或链接,也不需通过触摸或与屏幕上对象的交互来直接操控。如图5B中所示,在一个实施例中,在屏幕上对口头输出做出回应574;然而,不需要这样显示口头输出。在一个实施例中,在屏幕上显示的回应消息根据公知的机构自动向上滚动。
在该实例,用户说出“回复:是的,我六点到那里”。如图5B中所示,在一个实施例中,对用户的口头输入做出回应575,使得用户能够检查其已经被正确理解。此外,在一个实施例中,助理1002以听觉形式重复用户的口头输入,使得用户即使在不能看屏幕时也能够验证对其命令的理解。因此,本发明的系统提供了一种机构,通过该机构用户能够发起回复命令,撰写响应并验证命令和撰写的响应被正确理解,所有这些都在免提情景中进行且不需要用户以不切实际或很适合当前操作环境的方式查看屏幕或与设备60交互。
在一个实施例中,助理1002通过回读消息来提供对用户撰写的文本消息的进一步验证。在该实例中,助理1002口头讲道,“这里是您对Tom Devon的回复:‘对,我将六点到那里。’”。在一个实施例中,以语音和/或韵律的变化传达引号的含义。例如,可以通过一种语音,诸如男性语音,讲出一串字词“这里是您对Tom Devon的回复”,而可以通过另一种语音,诸如女性语音,讲出一串字词“对,我将在六点到那里”。或者,可以使用同一种语音,但具有不同的韵律以传达引号。
在一个实施例中,助理1002提供口头交换的视觉回应,如图5B和5C中所示。图5B和5C示出了消息576,对助理1002的口头输出“这里是您对Tom Devon的回复”进行回应显示。图5C示出了正在撰写的文本消息的总结577,包括接收者和消息的内容。在图5C中,先前的消息已经向上滚动到屏幕之外,但可以通过根据已知机构向下滚动来查看。发送按钮578发送消息;取消按钮579取消消息。在一个实施例中,用户也可以通过说出关键字,诸如“发送”或“取消”来发送或取消消息。另选地,助理1002能够生成口头提示,诸如“准备好发送了吗?”;再次,可以在输出口头提示时,显示具有按钮578、579的显示器570。用户然后能够通过触摸按钮578、579或通过回答口头提示来指示他或她希望做什么。可以以许可“是”或“否”响应的格式发出提示,使得用户不需要使用任何特殊的词汇就能够使其意图被知道。
在一个实施例中,助理1002能够通过例如生成口头输出,诸如“好的,我将发送您的消息”,来确认用户发送消息的口头命令。如图5D中所示,可以在屏幕570上对这一口头输出做出回应显示580,连同显示被发送的文本消息的概要581。
上述口头交流,与任选的视觉回应组合,例示了助理1002在多模界面中提供冗余输出的实例。通过这种方式,助理1002能够支持一定范围的情景,包括盲操作、免提和完全手动。
该实例还例示了所显示的和说出的输出能够彼此不同以反映它们的不同情景的机构。该实例还例示了可以获得用于响应的另选机构的方式。例如,在助理说出“准备好发送了吗?”且显示图5C中所示的屏幕570之后,用户能够说出单词“发送”或“是”,或在屏幕上的发送按钮578上轻击。这些动作中的任一个都会由助理1002以相同方式解释,并会使得文本消息被发送。因此,本发明的系统相对于用户与助理1002交互提供了高度灵活性。
现在参考图6A-图6C,示出了用于例示根据本发明的一个实施例的多模虚拟助理1002的操作的实例的一系列屏幕截图,其中用户在免提情景中修订文本消息577,例如,以校正错误或添加更多内容。在涉及直接操控,诸如上文结合图3A和3B所述的视觉界面中,用户可以在虚拟键盘270上键入以编辑文本字段172的内容,由此修订文本消息577。由于此类操作可能在免提情景中不可行,因此多模虚拟助理1002提供了一种机构,通过这种机构,能够在会话界面中通过口头输入和输出进行文本消息577的此类编辑。
在一个实施例中,一旦(例如,基于用户的口头输入)撰写了文本消息577,多模虚拟助理1002就生成口头输出,通知用户该消息已经准备好发送,并询问用户是否应当发送消息。如果用户通过口头或直接操控输入指示他或她未准备好发送消息,那么多模虚拟助理1002生成口头输出,以通知用户可用的选项,诸如发送、取消、审阅或更改消息。例如,助理1002可以说“好的,我不会发送它。要继续操作,您可以发送、取消、审阅或更改它。”
如图6A中所示,在一个实施例中,多模虚拟助理1002通过显示消息770来对口头输出做出回应表示,以视觉方式通知用户相对于文本消息577可用的选项。在一个实施例中,在可编辑字段773中显示文本消息577,以指示用户能够通过在字段773中轻击来编辑消息577,连同分别用于发送或取消文本消息577的按钮578、579。在一个实施例中,在可编辑字段773中轻击调用虚拟键盘(类似于图3B中所示),以允许通过直接操控进行编辑。
用户还可以通过提供口头输入而与助理1002交互。因此,响应于助理1002为与文本消息577交互提供选项的口头消息,用户可以说“更改它”。助理1002识别口头文本并利用口头消息做出响应,提示用户说出修改后的消息。例如,助理1002可以说“好的......您希望消息讲什么?”,然后开始收听用户的响应。图6B示出了可以结合此类口头提示显示的屏幕570的实例。同样,用户的口头文本被以视觉方式回应771,连同助理1002的提示772。
在一个实施例中,一旦通过这种方式提示了用户,就将用户后续口头输入的精确内容解释为用于文本消息的内容,绕过用户命令的正常自然语言解释。在检测到输入中足够长度的暂停时,或在检测到指示输入完成的特定单词时,或在检测到用户按下按钮或激活某个其他命令以指示其已完成文本消息讲话时,假设完成了用户的口头输入。在一个实施例中,助理1002然后以口头形式重复回到输入的文本消息,并可以任选地如图6C中所示对其进行回应。助理1002提供口头提示,诸如“您准备好发送它了吗?”,也可以如图6C中所示在屏幕上对其进行回应770。用户然后可以通过说出“取消”、“发送”、“是”或“否”来回复,其中任一种都由助理1002正确解释。另选地,用户能够按下屏幕上的按钮578或579以调用期望的操作。
通过以这种方式提供用于修改文本消息577的机构,在一个实施例中,本发明的系统提供了适于免提情景的流程路径,其与手动方式集成,使得用户能够在每个阶段自由选择交互的模式。此外,在一个实施例中,助理1002使其自然语言处理机构适应于总体流程中的特定步骤;例如,如上所述,在一些情况下,在提示用户说出文本消息时,助理1002可以进入绕过对用户命令进行自然语言解释的模式。
方法
在一个实施例中,多模虚拟助理1002检测免提情景并调整其操作的一个或多个阶段,以修改针对免提操作的用户体验。如上所述,可以通过多种方式应用对免提情景的检测,以影响多模虚拟助理1002的操作。
图7A是示出了根据一些实施例的调整用户界面的方法800的流程图。根据一些实施例,方法800在电子设备处被执行,该电子设备具有一个或多个处理器和存储用于被一个或多个处理器执行的一个或多个程序的存储器(例如设备60)。方法800包括自动确定(802)电子设备在车辆中,而无需用户输入且无需考虑数字助理应用是否被用户独立调用。在一些实施例中,执行自动确定电子设备在车辆中而需考虑用户最近是否调用过数字助理应用(例如,在大约前1分钟、2分钟、5分钟之内)。
在一些实施例中,确定电子设备在车辆中包括检测到(806)电子设备在与车辆通信。在一些实施例中,通信是无线通信。在一些实施例中,通信是蓝牙通信。在一些实施例中,通信是有线通信。在一些实施例中,检测到电子设备在与车辆通信包括检测到电子设备在(例如,通过无线通信、蓝牙、有线通信等)与车辆的语音控制系统通信。
在一些实施例中,确定电子设备在车辆中包括检测到(808)电子设备正在以第一预先确定的速度或高于第一预先确定的速度移动。在一些实施例中,第一预先确定的速度为大约20英里每小时。在一些实施例中,第一预先确定的速度为大约10英里每小时。在一些实施例中,确定电子设备在车辆中还包括检测到(810)电子设备正在以第二预先确定的速度或低于第二预先确定的速度移动。在一些实施例中,第一预先确定的速度为大约150英里每小时。在一些实施例中,利用由如下项构成的组中的一种或多种确定电子设备的速度:GPS位置信息;加速度计数据;无线数据信号信息;和速度计信息。
在一些实施例中,确定电子设备在车辆中还包括检测到(812)电子设备正在道路上或附近行进。可以通过GPS位置信息、蜂窝塔三角测量法和/或其他位置检测技巧和技术来确定车辆的位置。
返回到图7A,方法800还包括,响应于该确定,调用(814)由电子设备实现的虚拟助理的收听模式。本文描述了收听模式的示例性实施例。在一些实施例中,收听模式使得电子设备连续收听(816)来自用户的语音输入。在一些实施例中,响应于检测到电子设备连接到充电源,收听模式使电子设备连续收听来自用户的语音输入。在一些实施例中,收听模式使电子设备在启动收听模式之后(例如,启动收听模式之后大约5分钟)在预先确定的时间内收听来自用户的语音输入。在一些实施例中,在电子设备提供听觉输出(诸如“蜂鸣”)之后,收听模式使电子设备自动收听(818)来自用户的语音输入而无需来自用户的物理输入。
在一些实施例中,方法800还包括在确定电子设备在车辆中时限制设备(例如设备60)和/或数字助理(例如助理1002)的功能。在一些实施例中,该方法包括响应于确定电子设备在车辆中,采取任何以下动作(单独或组合):限制查看由电子设备呈现的视觉输出的能力;限制与电子设备呈现的图形用户界面交互的能力;限制使用电子设备物理部件的能力;限制在电子设备上执行触摸输入的能力;限制使用电子设备上的键盘的能力;限制在电子设备上执行一种或多种应用的能力;限制执行由电子设备实现的一种或多种功能的能力;限制设备以不从用户请求触摸输入;限制设备以不对来自用户的触摸输入做出响应;以及将列表中的项目量限制到预先确定的量。
现在参考图7B,在一些实施例中,方法800还包括,在设备处于收听模式时,检测(822)用户说出的唤醒字词。该唤醒字词可以是数字助理(例如助理1002)被配置为将其识别为触发的任何字词,该触发向助理发信号以开始收听来自用户的语音输入。该方法还包括,响应于检测到唤醒字词,收听(824)来自用户的语音输入,从用户接收(826)语音输入,以及生成(828)对语音输入的响应。
在一些实施例中,方法800还包括从用户接收(830)语音输入;生成(832)对语音输入的响应,该响应包括要向用户呈现的信息项的列表;以及通过听觉输出模式输出(834)信息项,其中如果电子设备不在车辆中,则将仅在电子设备的显示屏上呈现信息项。例如,在一些情况下,在设备上以视觉方式显示响应于Web搜索返回的信息项。在一些情况下,仅以视觉方式(例如,没有任何音频)显示它们。相反,方法800的这一方面仅为信息项提供了听觉输出,而没有任何视觉输出。
现在参考图7C,在一些实施例中,方法800还包括从用户接收(836)语音输入,其中语音输入对应于要向接收者发送的内容。在一些实施例中,要通过文本消息、电子邮件消息等向接收者发送该内容。该方法还包括产生(838)对应于语音输入的文本,以及通过听觉输出模式输出(840)该文本,其中如果电子设备不在车辆中,则将仅在电子设备的显示屏上呈现文本。例如,在一些情况下,在设备上以视觉方式显示从语音输入转录的消息内容。在一些情况下,仅以视觉方式(例如,没有任何音频)显示它。相反,方法800的这一方面仅为转录的文本提供听觉输出,而没有任何视觉输出。
在一些实施例中,该方法还包括在向接收者发送文本之前请求(842)确认。在一些实施例中,请求确认包括通过听觉输出模式询问用户是否应当向接收者发送文本。
图7D是示出了根据一些实施例的调整用户界面的方法850的流程图。在一些实施例中,方法850在电子设备处被执行,该电子设备具有一个或多个处理器和存储用于被一个或多个处理器执行的一个或多个程序的存储器。
方法850包括自动确定(852)电子设备在车辆中,而无需用户输入。
在一些实施例中,确定电子设备在车辆中包括检测(854)电子设备在与车辆通信。在一些实施例中,通信是无线通信。在一些实施例中,通信是蓝牙通信。在一些实施例中,通信是有线通信。在一些实施例中,检测到电子设备在与车辆通信包括检测到电子设备在(例如,通过无线通信、蓝牙、有线通信等)与车辆的语音控制系统通信。
在一些实施例中,确定电子设备在车辆中包括检测到(856)电子设备正在以第一预先确定的速度或高于第一预先确定的速度移动。在一些实施例中,第一预先确定的速度为大约20英里每小时。在一些实施例中,第一预先确定的速度为大约10英里每小时。在一些实施例中,确定电子设备在车辆中还包括检测(858)电子设备正在以第二预先确定的速度或低于第二预先确定的速度移动。在一些实施例中,第一预先确定的速度为大约150英里每小时。在一些实施例中,利用由如下项构成的组中的一者或多者来确定电子设备的速度:GPS位置信息;加速度计数据;无线数据信号信息;和速度计信息。
在一些实施例中,确定电子设备在车辆中还包括检测到(860)电子设备正在道路上或附近行进。可以通过GPS位置信息、蜂窝塔三角测量法和/或其他位置检测技巧和技术来确定车辆的位置。
方法850还包括响应于该确定,如上所述限制电子设备的某些功能。例如,在一些实施例中,限制设备的某些功能包括去激活(864)视觉输出模式,以支持听觉输出模式。在一些实施例中,去激活视觉输出模式包括阻止(866)电子设备能够显示的视觉输出的子集的显示。
现在参考图7E,示出了用于绘示根据一个实施例的支持动态检测和适应于免提情景的虚拟助理1002的操作的方法10的流程图。可以结合多模虚拟助理1002的一个或多个实施例实施方法10。如图7中所示,根据一个实施例,可以在多模虚拟助理1002中处理的各个阶段使用免提情景。
在至少一个实施例中,方法10可操作用于执行和/或实施各种类型的功能、操作、动作和/或其他特征,例如,如下一种或多种(或它们的组合):
●在用户和多模虚拟助理1002之间执行会话界面的界面控制流程回路。方法10的至少一次迭代可以充当会话中的一层。会话界面是用户和助理1002通过以会话方式来回说话而通信的界面。
●为多模虚拟助理1002提供执行控制流。即,该过程控制输入的收集、输入的处理、输出的生成和向用户呈现输出。
●协调多模虚拟助理1002的部件间的通信。即,它可以指引一个部件的输出馈送到另一个的哪里,以及来自环境和环境上动作的总体输入可以在哪里发生。
在至少一些实施例中,方法10的部分也可以实施于其他设备和/或计算机网络的系统处。
根据具体的实施例,可以通过使用一个或多个处理器63和/或硬件和/或硬件和软件的其他组合,同时实施和/或实例化方法10的多个实例或线程。在至少一个实施例中,可以在一个或多个客户端1304处,在一个或多个服务器1340处和/或它们的组合处实施方法10的一个或多个或所选择的部分。
例如,在至少一些实施例中,可以由软件部件、网络服务、数据库等或它们的任何组合来执行、实施和/或发起方法10的各个方面、特征和/或功能。
根据不同的实施例,可以响应于检测到一个或多个条件或满足一个或多个不同类型的用于触发发起方法10的至少一个实例的标准(例如,最小阈值标准)的事件来发起方法10的一个或多个不同线程或实例。可以触发发起和/或实施方法的一个或多个不同线程或实例的各种类型的条件或事件的实例可包括但不限于如下一项或多项(或它们的组合):
●与多模虚拟助理1002的实例的用户会话,诸如但不限于如下一种或多种:
○启动例如正实施多模虚拟助理1002的实施例的移动设备应用的移动设备应用;
○启动例如正实施多模虚拟助理1002的实施例的应用的计算机应用;
○移动设备上按下的专用按钮,诸如“语音输入按钮”;
○附接于计算机或移动设备的外围设备上的按钮,外围设备诸如是耳麦、手机耳麦或基站、GPS导航系统、家用电器、遥控器或具有可能与调用助理相关联的按钮的任何其他设备;
○从Web浏览器向实施多模虚拟助理1002的网站开始的Web会话;
○从现有Web浏览器会话之内向实施多模虚拟助理1002的网站发起的交互,其中,例如请求多模虚拟助理1002服务;
○向电子邮件形态服务器1426发送的电子邮件消息,电子邮件形态服务器调解与多模虚拟助理1002的实施例的通信;
○向消息形态服务器1430发送的文本消息,该消息形态服务器调解与多模虚拟助理1002的实施例的通信;
○向VOIP形态服务器1434发送的电话呼叫,该VOIP形态服务器调解与多模虚拟助理1002的实施例的通信;
○向提供多模虚拟助理1002的实施例的应用发送诸如提示或通知的事件。
●在打开和/或启动提供多模虚拟助理1002的设备时。
根据不同的实施例,可以手动、自动、静态、动态、并发和/或以它们的组合发起和/或实施方法10的一个或多个不同线程或实例。此外,可以在一种或多种不同的时间间隔(例如,在特定时间段期间,以规则周期性间隔,以不规则周期性间隔,根据需求等)发起方法10的不同实例和/或实施例。
在至少一个实施例中,在执行特定任务和/或操作时,包括如本文所述检测免提情景,方法10的给定实例可以利用和/或生成各种不同类型的数据和/或其他类型的信息。数据还可以包括任何其他类型的输入数据/信息和/或输出数据/信息。例如,在至少一个实施例中,方法10的至少一个实例可以访问、处理和/或通过其他方式利用来自一个或多个不同类型源,例如一个或多个数据库的信息。在至少一个实施例中,可以经由与一个或多个本地和/或远程存储器设备通信来访问至少一部分数据库信息。此外,方法10的至少一个实例可以生成一种或多种不同类型的输出数据/信息,例如,可以将其存储于本地存储器和/或远程存储器设备中。
在至少一个实施例中,可以利用一种或多种不同类型的初始化参数来执行方法10的给定实例的初始配置。在至少一个实施例中,可以经由与一个或多个本地和/或远程存储器设备通信来访问初始化参数的至少一部分。在至少一个实施例中,向方法10的实例提供的初始化参数的至少一部分可以对应于输入数据/信息和/或可以从输入数据/信息导出。
在图7E的具体实例中,假设单个用户正在通过网络从具有语音输入能力的客户端应用访问多模虚拟助理1002的实例。在一个实施例中,助理1002安装于设备60上,该设备诸如移动计算设备、个人数字助理、移动电话、智能电话、膝上型计算机、平板电脑、消费电子设备、音乐播放器等。助理1002结合用户界面操作,该用户界面允许用户通过口头输入和输出以及直接操控和/或显示图形用户界面(例如,经由触摸屏)而与助理1002交互。
设备60具有当前状态11,该当前状态可被分析以检测20设备是否处于免提情景中。可以利用任何适用的检测机构或机构的组合(无论自动或手动)来基于状态11检测20免提情景。上文阐述了实例。
在检测到20免提情景时,将该信息添加到可用于通知助理的各种过程的其他上下文信息1000,如2011年9月30日提交的名称为“Using Context Information toFacilitate Processing of Commands in a Virtual Assistant”的相关美国实用新型专利申请序列号13/250,854中所述,在此以引用的方式将其整个公开内容并入本文。
启发并解释100语音输入。启发可以包括以任何适当的模式呈现提示。因此,根据是否检测到免提情景,在各种实施例中,助理1002可以提供几种输入模式中的一种或多种。这些模式可以包括,例如:
●用于键入输入的界面,其可以调用活动键入输入启发过程。
●用于语音输入的界面,其可以调用活动语音输入启发过程。
●用于从菜单选择输入的界面,其可以调用基于活动GUI的输入启发。
例如,如果检测到免提情景,可以通过声调或其他声音提示来启发语音输入,并可以将用户的语音解释为文本。然而,本领域的技术人员将认识到,可以提供其他输入模式。
步骤100的输出可以是输入语音的文本的一组候选解释。这一组候选解释被语言解释程序2770(也称为自然语言处理器或NLP)处理200,其对文本输入进行解析并生成用户意图的一组可能语义解释。
在步骤300中,将用户意图的这些表示传递到对话流处理器2780,该对话流处理器实施对话和流分析过程的实施例以将用户意图作为任务步骤来操作。对话流处理器2780确定哪种意图解释最可能,将这一解释映射到域模型的实例和任务模型的参数,并确定任务流中的下一流步骤。如果适当的话,选择310适应于免提操作的一个或多个任务流步骤。例如,如上所述,在检测到免提情景时,用于修改文本消息的任务流步骤可以不同。
在步骤400中,执行识别的流步骤。在一个实施例中,流步骤的调用是由服务编排部件2782执行的,其代表用户的请求调用一组服务。在一个实施例中,这些服务向公共结果贡献一些数据。
在步骤500中,生成对话响应。在一个实施例中,对话响应生成500受到免提情景的状态的影响。因此,在检测到免提情景时,可以选择510不同和/或附加的对话单元以利用音频信道来表示。例如,可以口头讲出额外的提示,诸如“准备好发送它了吗?”,且不必在屏幕上显示。在一个实施例中,检测到免提情景可能影响对附加输入520例如检验输入的提示。
在步骤700中,向用户呈现多模输出(在一个实施例中,包括口头和视觉内容),用户然后任选地利用语音输入再次做出响应。
如果在查看到和/或听到响应之后用户做出790响应,则该方法结束。如果用户未做出响应,则通过返回到步骤100开始环路的另一次重复。
如上所述,可以由系统的各个部件使用上下文信息1000,包括检测到的免提情景,来影响方法10的各种步骤。例如,如图7E中所示,可以在步骤100、200、300、310、500、510和/或520使用包括免提情景的情景1000。然而,本领域的技术人员将认识到,使用包括免提情景的上下文信息1000不限于这些特定步骤,该系统也能够在其他点使用上下文信息,而不脱离本发明的实质特点。在2011年9月30日提交的名称为“Using Context Information toFacilitate Processing of Commands in a Virtual Assistant”的相关美国实用新型专利申请序列号13/250,854和2009年6月5日提交的名称为“Contextual Voice Commands”的相关美国实用新型申请序列号12/479,477中提供了在助理1002的各个操作步骤中使用情景1000的进一步描述,在此通过引用将其整个公开并入本文。
此外,本领域的技术人员将认识到,方法10的不同实施例可以包括除图7中所示具体实施例中所示那些之外的附加特征和/或操作,和/或可以省去方法10的至少一部分特征和/或操作,如图7的具体实施例中所示。
下文更详细描述了使步骤100、200、300、310、500、510和/或520适应于免提情景。
使输入启发和解释100适应于免提情景
语音输入100的启发和解释可以通过几种方式中的任一种(单独地或通过任何组合)适应于免提情景。如上所述,在一个实施例中,如果检测到免提情景,则可以通过声调和/或其他可以声音提示来启发语音输入,并将用户的语音解释为文本。通常,多模虚拟助理1002可以提供用于音频输入的多种可能机构(例如,蓝牙连接的麦克风或其他附接的外围设备),以及用于调用助理1002的多种可能机构(例如,按下外围设备上的按钮或接近设备60使用运动手势)。关于如何调用助理1002和/或为音频输入使用哪种机构的信息可用于指示免提情景是否活动,并可用于改变免提体验。更具体地,可以使用此类信息来指引步骤100以为输入和输出使用特定的音频路径。
此外,在检测到免提情景时,可以改变使用音频输入设备的方式。例如,在手动模式中,该界面可能要求用户按下按钮或做出物理手势以使得助理1002开始收听语音输入。相反,在免提模式中,该界面可以连续提示在助理1002每次实例化输出之后进行输入,或者可以允许在两个方向上都连续进行语音输入(允许用户在助理1002仍然讲话时打断助理1002)。
使自然语言处理200适应于免提情景
自然语言处理(NLP)200可以通过例如添加对尤其适用于免提操作的某些口头响应的支持来适应于免提情景。此类响应可以包括,例如,“是”,“阅读消息”和“更改它”。在一个实施例中,可以附加地提供对此类响应的支持以支持可用于手动状况中的口头命令。因此,例如,在一个实施例中,用户能够通过说出出现于屏幕上的命令来操作图形用户界面(例如,在标记为“发送”的按钮出现于屏幕上时,可以提供支持以理解口语单词“发送”及其语义等价物)。在免提情景中,可以识别附加的命令以考虑到用户可能不能查看到屏幕的事实。
检测到免提情景还可以改变助理1002对字词的解释。例如,在免提情景中,可以调谐助理1002以识别命令“安静!”及其语义变化,并响应于这种评论关闭所有音频输出。在非免提情景中,可以将此类命令作为不相关而忽略。
使任务流300适应于免提情景
可以单独或组合地通过几种方式中的任一种使步骤300适应于免提情景,该步骤包括识别与用户意图相关联的任务、用于任务的参数和/或要执行的任务流步骤300。
在一个实施例中,为操作选择310适应于免提操作的一个或多个附加的任务流步骤。实例包括口头审阅和确认内容的步骤。此外,在免提情景中,助理1002能够阅读本来会呈现于显示屏上的结果列表。
在一些实施例中,在检测到免提情景时,将通常仅通过视觉界面(例如,在手动模式中)显示的项目通过听觉输出模式仅向用户输出。例如,用户可以提供用于请求进行Web搜索的语音输入,从而使得助理1002生成响应,包括要向用户呈现的信息项列表。在非免提情景中,可以仅通过视觉输出向用户呈现此类列表,而没有任何听觉输出。然而,在免提情景中,可能用户难以阅读此类列表或阅读会不安全。因此,助理1002能够全文或按照截取或概要版本大声讲出该列表,而不是在视觉界面上显示它。
在一些情况下,通常仅通过视觉界面显示的信息不适应于听觉输出模式。例如,针对餐馆的典型Web搜索将返回包括多条信息的结果,诸如名称、地址、营业时间、电话号码、用户评价等。这些项非常适合显示于屏幕上的列表中(例如,移动设备上的触摸屏)。但这种信息可能并非在免提情景中全部需要,如果要将其直接转换成口头输出,可能不确定或难以继续进行。例如,讲出餐馆结果列表的所有显示成分可能非常让人混乱不清,尤其对于更长的列表而言。此外,在免提情景中,诸如在驾驶时,用户可能仅需要顶级信息(例如,餐馆的名称和地址)。因此,在一些实施例中,助理1002会总结或截取信息项(诸如列表中的项目),使得它们更容易被用户理解。继续以上实例,助理1002可以接收餐馆结果列表,并仅大声阅读每个结果中信息的子集,诸如针对每个结果的餐馆名称和街道名称,或餐馆名称和评价信息(例如4星)等。本公开也想到了对列表和/或列表之内信息项进行汇总或截取的其他方式。
在一些实施例中,可以提供口头命令以与列表中的个体项目交互。例如,如果要向用户呈现几条传入的文本消息,并检测到免提情景,那么识别的任务流步骤可以包括逐个大声阅读每条文本消息,在每条消息之后暂停,以允许用户提供口语命令。在一些实施例中,如果要向用户呈现搜索结果的列表(例如,来自Web搜索),并检测到免提情景,那么识别的任务流步骤可以包括逐条大声阅读每个搜索结果(整个结果或截取或汇总版本),并在每个结果之后暂停,以允许用户提供口语命令。
在一个实施例中,可以针对免提情景修改任务流。例如,用于在记事本应用中记事的任务流通常可能涉及提示内容并立即向记事本中添加它。此类操作可能适于手动环境,其中在视觉界面中立即显示内容且立即能够通过直接操控来修改。然而,在检测到免提情景时,可以修改任务流,例如,以口头审阅内容并允许在将其添加到记事本之前对内容进行修改。这允许用户在永久文档中存储语音指示之前捕捉到语音指示的错误。
在一个实施例中,也可以使用免提情景限制在给定时间允许的任务或功能。例如,可以实施策略以在用户设备处于免提情景或诸如开车的特定免提情景中时不允许播放视频。在一些实施例中,在确定免提情景(例如,驾驶车辆)时,设备60限制查看电子设备呈现的视觉输出的能力。这可以包括通过以下任何方式(逐个或通过任何组合)限制设备:
●限制查看电子设备呈现的视觉输出的能力(例如,去激活屏幕/视觉输出模式,阻止显示视频和/或图像,显示大文本,限制列表长度(例如搜索结果),限制屏幕上显示的视觉项目数量等);
●限制与电子设备呈现的图形用户界面交互的能力(例如,限制设备,以免从用户请求触摸输入,限制设备,以免对来自用户的触摸输入做出响应,等等);
●限制使用电子设备的物理部件的能力(例如,去激活设备上的物理按钮,诸如音量按钮、“主菜单”按钮、电源按钮等);
●限制在电子设备上执行触摸输入的能力(例如,去激活触摸屏的全部或部分);
●限制使用电子设备上键盘的能力(物理键盘或基于触摸屏的键盘);
●限制在电子设备上执行一个或多个应用的能力(例如,阻止激活游戏、图像查看应用、视频查看应用、Web浏览器等);以及
●限制执行由电子设备实现的一种或多种功能的能力(例如,播放视频,显示图像等)。
在一个实施例中,助理1002能够使仅在免提情景中适用的讲话和/或任务的整个域可用。实例包括可访问模式,诸如为视力受限或对其双手使用受限的人士设计的那些模式。这些可访问模式包括被实现为免提替代的命令,用于操作给定应用平台上的任意GUI,例如,以识别命令,诸如“按下按钮”或“向上滚动”。其他可能仅在免提模式中适用的任务包括与免提体验自身相关的任务,诸如“使用我的汽车的蓝牙套件”或“减速[要进行语音输出的文本]”。
使对话生成500适应于免提情景
在各种实施例中,可以使用若干技术的任一种修改对话生成500以适应于免提情景。
在手动界面中,可以以书面方式回应助理1002对用户输入的解释;然而,在免提情景中,此类反馈可能是用户看不到的。因此,在一个实施例中,在检测到免提情景时,助理1002使用文本到语音(TTS)技术以对用户的输入进行释义。此类释义可以是选择性的;例如,在发送文本消息之前,助理1002能够讲出文本消息,使得即使在用户不能看到显示屏时也能够验证其内容。在一些情况下,助理1002根本不通过视觉方式显示转录的文本,而是向用户阅读文本。在用户从屏幕阅读文本不安全的情况下,诸如在用户驾驶车辆时和/或在已经去激活屏幕或视觉输出模式时,这可能是有益的。
可以由任务和/或流程特有的对话驱动来确定何时对用户的语音进行释义以及释义语音的哪些部分。例如,响应于用户说出的命令,诸如“读我的新消息”,在一个实施例中,助理1002不对命令进行释义,因为从助理1002的响应(读消息)显然可知命令被理解。然而,在其他情况下,诸如在步骤100中未识别或在步骤200中未理解用户输入时,助理1002可以尝试释义用户的口头输入,以便通知用户为何没有理解输入。例如,助理1002可能会说“我不理解“读取我的新消息”。请重新尝试。”
在一个实施例中,口头释义信息能够将对话模板与设备上的个人数据组合。例如,在一个实施例中,在阅读文本消息时,助理1002使用具有形式变量的口头输出模板,“您有来自$person的新消息。消息是$message。”可以利用用户数据替代模板中的变量然后通过设备60上运行的进程转换成语音。在将本发明实施于客户端/服务器环境中的一个实施例中,此类技术能够帮助保护用户的隐私,同时仍然允许对输出进行个性化,因为个人数据能够保留在设备60上,并能够在从服务器接收到输出模板时填充。
在一个实施例中,在检测到免提情景时,可以选择510专门针对免提情景定制的不同和/或附加的对话单元以利用音频信道来呈现。用于确定选择哪些对话单元的规范或规则可能对于免提情景的细节是敏感的。通过这种方式,可以调整并扩展一般对话生成部件以支持各种免提变化而无需针对不同的免提状况构建独立的用户体验。
在一个实施例中,可以利用针对音频(口语单词)输出形态定制的文本来注释生成文本和GUI输出单元的同一机构。例如:
●在一个实施例中,可以通过利用TTS阅读其书面对话响应的全部来使对话生成部件适应于免提情景。
●在一个实施例中,可以通过TTS逐字阅读其书面对话响应并将TTS变型用于其他对话响应,来使对话生成部件适应于免提情景。
●在一个实施例中,此类注释支持可变替换模板机构,其从对话生成分离出用户数据。
●在一个实施例中,可以利用用于指示如何在TTS上口头释义它们的文本来注释图形用户界面要素。
●在一个实施例中,可以调谐TTS文本,使得使用语音、讲话速率、间距、暂停和/或其他参数口头转换本来要通过标点或视觉呈现传达的意思。例如,用于重复用户话语的语音可以是不同的语音,或者可以使用与用于其他对话单元不同的韵律。作为另一个实例,根据是否讲出内容或指令,语音和/或韵律可以不同。作为另一个实例,可以在具有不同含义的文本章节之间插入暂停,以辅助理解。例如,在释义消息并请求确认时,可以在内容“您的消息是……”的释义和提示确认“准备好发送它了吗?”之间插入暂停。
在一个实施例中,可以利用与上文针对免提情景所述类似的使用TTS的机构来增强非免提情景。例如,对话能够在书面文本和GUI要素之外生成仅口头的提示。例如,在一些情况下,助理1002可以口头说出“我应当发送它吗?”以增强屏幕上的发送按钮的显示。在一个实施例中,可以针对每种情况定制用于免提和非免提情景的TTS输出。例如,在处于免提情景中时,助理1002可以使用更长的暂停。
在一个实施例中,还可以使用免提情景的检测来确定是否以及何时自动提示用户做出响应。例如,在助理1002和用户之间的交互本质上同步时,从而一方讲话,同时另一方倾听,可以就助理1002讲话之后助理1002是否以及何时应当自动开始倾听来自用户的语音输入做出设计选择。可以使用免提情景的具体细节为对话的这种自动开始收听属性实施各种策略。实例包括但不限于:
●始终自动开始收听;
●仅在处于免提情景中时自动开始收听;
●仅针对某些任务流步骤和对话状态自动开始收听;
●仅针对免提情景中的某些任务流步骤和对话状态自动开始收听。
在一些实施例中,响应于检测到免提情景而发起收听模式。在收听模式中,助理1002可以连续分析环境音频,以便识别来自用户的语音输入,诸如语音命令。可以在免提情景中使用收听模式,诸如,在用户正在驾驶车辆时。在一些实施例中,无论何时检测到免提情景,就激活收听模式。在一些实施例中,响应于检测到助理1002正在用于车辆中而激活收听模式。
在一些实施例中,只要助理1002检测到其在车辆中,收听模式就是活动的。在一些实施例中,在启动收听模式之后在预先确定的时间内收听模式是活动的。例如,如果用户将助理1002配对到车辆,收听模式可以在配对事件之后的预先确定的时间是活动的。在一些实施例中,预先确定的时间是1分钟。在一些实施例中,预先确定的时间是2分钟。在一些实施例中,预先确定的时间是10分钟或更长。
在一些实施例中,在处于收听模式中时,助理1002分析接收到的音频输入(例如,使用语音到文本处理),以确定音频输入是否包括针对助理1002的语音输入。在一些实施例中,为了确保附近用户的隐私,在本地(即,在设备上)将接收的语音转换成文本,而不向远程计算机发送音频输入。在一些实施例中,首先在本地分析(例如,转换成文本)接收的语音,以便识别针对助理1002的单词。一旦确定一个或多个单词是针对助理的,就将接收的语音一部分发送到远程服务器(例如,服务器1340)以进一步处理,诸如语音到文本处理、自然语言处理、意图推断等。
在一些实施例中,向远程服务发送的部分是预定义唤醒字词之后的一组字词。在一些实施例中,助理1002连续分析接收到的环境音频(在本地将音频转换成文本),在检测到预定义唤醒字词时,助理1002将识别:一个或多个后续字词指向助理1002。助理1002然后将向远程计算机发送关键词之后一个或多个字词的录制音频进行进一步分析(例如,语音到文本处理)。在一些实施例中,助理1002检测一个或多个字词之后预定义长度的暂停(即,静默期间),并仅向远程服务发送关键词和暂停之间的那些字词。助理1002然后继续履行用户的意图,包括执行适当的任务流和/或对话流。
例如,在收听模式中,用户可以说“你好,助理——帮我找到附近的加油站……”在这种情况下,配置助理1002以检测短语“你好,助理”作为唤醒,以指出指向助理1002的言辞开始。助理1002然后处理接收的音频以确定应当向远程服务发送什么进行进一步处理。在这种情况下,助理1002将字词“站”后面的暂停检测为言辞的结束。因此,向远程服务发送短语“帮我找到附近的加油站”以进一步分析(例如,意图推断、自然语言处理等)。然后助理继续执行一个或多个步骤,诸如参考图7所述的那些步骤,以便满足用户的请求。
在其他实施例中,检测免提情景还可能影响关于对话的其他参数的选择,例如:
●向用户提供的选项列表的长度;
●是否阅读列表;
●是否询问具有单个或多个有价值答案的问题;
●是否提示仅能够利用直接操控界面给出的数据。
因此,在各种实施例中,一旦检测到免提情景,其就是可用于调整诸如多模虚拟助理1002在内的复杂系统的各处理步骤的系统端参数。本文描述的各种方法提供了使助理1002的一般过程适应于免提情景的方式,以支持来自同一底层系统的一定范围的用户体验。
在2011年9月30日提交的名称为“Using Context Information to FacilitateProcessing of Commands in a Virtual Assistant”的相关美国实用新型专利申请序列号13/250,854中描述了用于收集、传送、表示和访问情景的各种机构,在此通过引用将其整个公开并入本文。本领域的技术人员将认识到,此类技术也适用于免提情景。
使用案例
以下使用案例是作为在免提情景中操作助理1002的实例给出的。本领域的技术人员将认识到使用案例是示例性的,是仅仅为了例示性目的给出的。
电话使用案例
在一个实施例中,在处于免提情景中时,如果用户能够不轻击或通过其他方式触摸设备而指定要呼叫的人,助理1002允许用户能够呼叫任何人。实例包括通过联系人姓名呼叫,通过电话号码(由用户记下的数字)呼叫等。可以通过附加的口语提示来解决模糊不清的问题。下面示出了实例。
实例1:呼叫联系人,明确
●用户的口头输入:“呼叫Adam Smith”
●助理1002的口头输出:“呼叫Adam Smith,移动电话。”
●拨打电话
对于以下使用案例的任一种,会发生类似的重复:
●按照姓名呼叫联系人(“呼叫adam smith”)
●按照姓名呼叫联系人,非默认电话号码(“呼叫adam smith的移动电话”)
●按照号码呼叫(“呼叫8005551212”)
●按照关系别名呼叫联系人(“呼叫我妈妈”)
●按照位置别名呼叫联系人(“给家里打电话”)
●通过FaceTime呼叫(“通过facetime联系adam smith”)
●从情景回呼(“给他回电话”)
实例2:取消电话呼叫
●用户的口头输入:“呼叫Adam Smith”
●助理1002的口头输出:“呼叫Adam Smith,移动电话。”
●用户指出这是错误的呼叫人;用户单次按下主菜单按钮以取消呼叫,或者说“停止”
●呼叫被取消
实例3:按照姓名呼叫,不明确
●用户的口头输入:“呼叫Adam”
●助理1002的口头输出:“我找到<语音变化>Adam的多个匹配项”
●助理1002的视觉输出:“我找到<语音变化>Adam的多个匹配项”
●助理1002的口头输出:读出姓名
●助理1002的视觉输出:
明确菜单
Adam Cheyer家庭电话
Adam Sandler家庭电话
Adam Smith移动电话
●用户的口头输入:“Adam Cheyer”
●助理1002的口头输出:“呼叫Adam Cheyer”
●拨打电话
实例4:按照姓名呼叫,双重不明确
●用户的口头输入:“呼叫Paul”
●助理1002的口头输出:“我找到<语音变化>Paul的多个匹配项”
●助理1002的视觉输出:“我找到<语音变化>Paul的多个匹配项”
●助理1002的口头输出:读出姓名
●助理1002的视觉输出:
明确菜单
Paul Holden家庭电话
Paul Marcos iPhone
Paul Marcos移动电话
Paul Marcos家庭电话
Pablo Picasso家庭电话
●用户的口头输入:“Paul Marcos”
●助理1002的口头输出:“Paul Marcos的哪个号码:iPhone、移动电话还是家庭电话?”
●助理1002的视觉输出:“Paul Marcos的哪个号码?”
●助理1002的视觉输出:
明确菜单
Paul Marcos iPhone
Paul Marcos移动电话
Paul Marcos家庭电话
●用户的口头输入:“移动电话”
●助理1002的口头输出:“呼叫Paul Marcos<暂停>移动电话”
●拨打电话
实例5:按照名称呼叫公司,无模糊
●用户的口头输入:“呼叫旧金山的sony metreon”
●助理1002的口头输出:“我在第四大街上找到了AMC Loews Metreon 16”
●助理1002的视觉输出:“我在第四大街上找到了AMC Loews Metreon 16”
●助理1002的视觉输出:
本地搜索片段
AMC Loews Metreon 16
101 Fourth St,San Francisco
(888)262-4386
<取消按钮><呼叫按钮>
●助理1002的口头输出:“我应该打电话吗?”
●用户的口头输入:“打吧”
●助理1002的口头输出:“呼叫AMC Loews Metreon 16”
●拨打电话
实例6:按照名称呼叫公司,多个匹配项
●用户的口头输入:“呼叫walgreens”
●助理1002的口头输出:“我为<改变语音>Walgreens找到几条匹配项”
●助理1002的视觉输出:“我为<改变语音>Walgreens找到几条匹配项”
●助理1002的视觉输出:
本地搜索片段的列表
Walgreens Store Los Gatos
423 N Santa Cruz Ave,Los Gatos
Walgreens
1570 Campbell Ave,Campbell,CA
Walgreens
20011 Bollinger Rd,Cupertino,CA
Walgreens
1334 Saratoga Ave,San Jose,CA
Walgreens
2680 Union Ave,San Jose,CA
●助理1002的口头输出:“我应该为您阅读它们吗?”
●用户的口头输入:“是”
●助理1002的口头输出:“Walgreens store los gatos on 423 North SantaCruz Avenue in Los Gatos<暂停>2。Walgreens on 1570 Campbell Avenue in Campbell<暂停>3。……”
●用户的口头输入:“Cupertino中一家”
●助理1002的口头输出:“呼叫Cupertino的Walgreens”
●拨打电话
实例7:在车中拨打已安排的呼叫
●用户开始驾车回家
●助理1002发出在车中提醒的声调
●助理1002的视觉输出:
提醒提示
呼叫Adam Smith
<关闭按钮><呼叫按钮>
●用户的口头输入:“阅读它”
●助理1002的口头输出:“您有提醒,呼叫Adam Smith”
●用户的口头输入:“现在呼叫他”
●助理1002的口头输出:“呼叫Adam Smith,移动电话。”
●拨打电话
实例8:播放新的语音邮件
●用户的口头输入:“播放语音邮件”
●助理1002的口头输出:“您有三条新的语音邮件消息”
●助理1002播放语音邮件,一次一条,带提示
SMS文本消息使用案例
实例9:阅读单个文本消息提示
●助理1002的音频输出:阅读一条或多条提示;或生成指示传入的文本消息的声音
●助理1002的视觉输出:
文本消息
Mary Richards
晚上有时间一起吃晚饭吗?
<关闭按钮><回复按钮>
●用户的口头输入:“阅读它”
●助理1002的口头输出:“来自Mary Richards的消息<改变语音>晚上有时间一起吃晚饭吗?”
实例10:回复文本消息(继续实例8)
●用户的口头输入:“回复<暂停>没问题,8点怎么样?”
●助理1002的口头输出:“准备好利用消息回复Mary Richards<改变语音>,确认8点怎么样”
●助理1002的视觉输出:
致:Mary Richards
确认8点怎么样
<取消按钮><发送按钮>
●用户的口头输入:“发送它”
●助理1002的音频输出:“发送”;或者生成传出的文本消息声音
实例11:发送文本消息到一位接收者
●用户的口头输入:“告诉Lisa我会晚15分钟到”
●助理1002的口头输出:“准备好例如如下消息向Lisa Gonzalez发送文本<改变语音>我会晚15分钟到”
●助理1002的视觉输出:
文本消息
致:Lisa Gonzalez
我会晚15分钟到
<取消按钮><发送按钮>
●用户的口头输入:“发送它”
●助理1002的音频输出:“发送”;或者生成传出的文本消息声音
实例12:发送文本消息到一位接收者——不明确
●用户的口头输入:“利用如下消息向Adam发送文本:在哪里见面?”
●助理1002的口头输出:“我找到<语音变化>Adam的多个匹配项”●助理1002的口头输出:读出姓名
●助理1002的视觉输出:
明确菜单
Adam Cheyer家庭电话
Adam Sandler家庭电话
Adam Smith移动电话
●用户的口头输入:“Adam Cheyer”
●助理1002的口头输出:“Adam Cheyer”
●助理1002的视觉输出:
文本消息
致:Adam Cheyer
在哪里见面?
<取消按钮><发送按钮>
●助理1002的口头输出:“准备好利用如下消息向Adam Cheyer发送文本<改变语音>在哪里见面?”
●用户的口头输入:“发送它”
●助理1002的音频输出:“发送”;或者生成传出的文本消息声音
实例13:从消息应用阅读SMS消息
●助理1002的视觉输出:
文本消息
Betty Joe Bialowski
你可以叫我Nancy
<关闭按钮><回复按钮>
●用户的口头输入:“阅读它”
●助理1002的口头输出:“来自Betty Joe Bialowski的消息<改变语音>你可以叫我Nancy”
实例14:在消息应用的情景中回复(继续实例12)
●用户的口头输入:“回复<暂停>你好,Nancy”
●助理1002的口头输出:“准备好利用消息回复Betty Joe Bialowski<改变语音>你好,Nancy”
●助理1002的视觉输出:
致:Betty Joe Bialowski
你好,Nancy
<取消按钮><发送按钮>
●用户的口头输入:“发送它”
●助理1002的音频输出:“发送”;或者生成传出的文本消息声音
实例15:阅读所有未读的SMS消息
●助理1002的视觉输出:
Melanie Haber(1)
Betty Joe Bialowski(3)
Audrey Farber(1)
●用户的口头输入:“阅读我的新消息”
●助理1002的口头输出:“您有4条新消息。来自Melanie Haber<改变语音>一起吃晚饭如何?<暂停>来自Betty Joe Bialowski,您有两条消息,<暂停>1。<改变语音>我叫MacGill。<暂停>2。<改变语音>我叫自己Lill。”“<暂停>3。<改变语音>你可以叫我Nancy”
实例16:在消息应用的情景中按照姓名回复
●用户的口头输入:“告诉Audrey我会晚15分钟到”
●助理1002的口头输出:“准备好利用如下消息向Audrey Farber发送文本<改变语音>我会晚15分钟到”
●助理1002的视觉输出:
文本消息
致:Audrey Farber
我会晚15分钟到
<取消按钮><发送按钮>
●助理1002的口头输出:“我应当发送它吗?”
●用户的口头输入:“是”
●助理1002的音频输出:“发送”;或者生成传出的文本消息声音
实例17:向多个接收者发送文本消息
在一个实施例中,确定这项任务在免提情景的范围之外。因此,助理1002返回到轻击以进行消歧。
●用户的口头输入:“告诉Lisa,Paul和Nancy,我们重要的会面,我会晚15分钟到”
●助理1002的口头输出:“请在这些人中间选择”
●助理1002的视觉输出:GUI选择多个接收者
●用户通过GUI选择接收人
●助理1002的口头输出:“准备好利用如下消息向Lisa Gonzalez、Paul Marcos和Audrey Farber发送文本<改变语音>我们重要的会面,我会晚15分钟到”
●助理1002的视觉输出:
文本消息
致:Lisa Gonzalez、Paul Marcos、Audrey Farber
我们重要的会面,我会晚15分钟到
<取消按钮><发送按钮>
●用户的口头输入:“发送它”
●助理1002的音频输出:“发送”;或者生成传出的文本消息声音
提示和提醒使用案例
实例18:阅读单个提醒提示
●助理1002发出提醒声调
●助理1002的视觉输出:
提醒
呼叫Mary Richards
<关闭按钮><呼叫按钮>
●用户的口头输入:“阅读它”
●助理1002的口头输出:“提醒呼叫Mary Richards”
实例19:执行提醒提示(继续实例17)
●用户的口头输入:“给她打电话”
●助理1002的口头输出:“正在拨打Mary Richards的移动电话”
●拨打电话
实例20:创建具有提示的新提醒
●用户的口头输入:“提醒我在下午5点呼叫Bob Jones”
●助理1002的口头输出:“请确认:提醒在今天下午5点<改变语音>给Bob Jones打电话”
●助理1002的视觉输出:
请确认提醒
给Bob Jones打电话
提醒时间:今天下午5:00
<取消><保存>
●暂停
●助理1002的口头输出:“正确吗?”
●用户的口头输入:“正确,保存”
●助理1002的口头输出:“您的提醒已经保存”
实例21:创建没有提示的新提醒P1
●用户的口头输入:“提醒我拿面包”或“记得拿面包”
●助理1002的口头输出:“请确认:记得拿面包”
●助理1002的视觉输出:
请确认提醒
拿面包
<取消><保存>
●暂停
●助理1002的口头输出:“正确吗?”
●用户的口头输入:“对”
●助理1002的口头输出:“已经向您的待办事项添加”
日历使用案例
实例22:创建简单约会(给定描述和日期/时间)
●用户的口头输入:“明天2点安排会议,规划公司的野餐活动”
●助理1002的口头输出:“已经放到您的日历上,明天下午2点”
●助理1002的视觉输出:
描述:规划公司的野餐活动
时间:明天下午2点
实例23:创建简单约会(未给出描述)
●用户的口头输入:“明天2点会见Carol”
●助理1002的口头输出:“已经放到您的日历上,明天下午2点”
●助理1002的视觉输出:
描述:会见
时间:明天下午2点
实例24:创建简单约会(未给出时间)
●用户的口头输入:“下周四会见牙医”
●助理1002的口头输出:“下周四什么时间?”
●用户的口头输入:“3点钟”
●助理1002的口头输出:“已经放到您的日历上,下周四下午3点”
●助理1002的视觉输出:
描述:会见牙医
时间:下周四——下午3点
实例25:创建简单约会(未给出日期或时间)
●用户的口头输入:“安排会议,规划公司的野餐活动”
●助理1002的口头输出:“您想什么时间开会?”
●助理1002的视觉输出:可编辑的约会表格
●用户的口头输入:“星期二3点钟”
●助理1002的口头输出:“已经放到您的日历上,星期二下午3点”
●助理1002的视觉输出:
描述:开会规划公司的野餐活动
时间:星期二——下午3点
本领域的技术人员将认识到,以上实例仅仅是例示在特定状况下使用免提情景。附加的用法包括,例如,地图、播放媒体,诸如音乐等。
以下使用案例更具体地涉及到如何在免提情景中,一般地以及在具体域中(例如,在本地搜索域、日历域、提醒域、文本消息域和电子邮件域等中),向用户呈现项目列表。用于在免提和/或免视情景中呈现项目列表的具体算法被设计成以直观个性方式向用户提供关于项目的信息,同时,避免以不必要的细节给用户带来过大负担。要通过基于语音的输出和/或伴随的文本界面向用户呈现的每条信息都是从很多条可能相关的信息中选出的,并进行任选的释义,以提供平顺且个性化的对话流。此外,在免提和/或免视情景中向用户提供信息时,将信息(尤其是无限制的)分成适当大小的组块(例如,页面、子列表、类别等),使得用户不会被过多条信息同时或短时间内冲击。使用已知的认知限制(例如,成年人通常仅能够一次处理3-7条信息,儿童或残疾人能够同时处理更少的信息)来指导选择适当的组块大小,以及对信息分类加以呈现。
一般的免提列表阅读
免提列表阅读是用户能够在涉及超过一个项目的结果中导航的核心跨域能力。该项目可以是与特定域相关联的普通数据项类型,诸如本地搜索的结果、一组电子邮件、一组日历条目、一组提醒、一组消息、一组语音邮件消息、一组文本消息等。通常,该组数据项可以按照特定顺序(例如,按照时间、位置、发送者和其他标准)排序,因此产生列表。
针对免提列表阅读的一般功能要求包括如下一项或多项:(1)通过基于语音的输出提供项目列表的口头概述(例如,“有6个项目。”);(2)任选地,在屏幕上提供表示项目列表的视觉片段列表(例如,在单个对话窗口之内);(3)重复项目并大声阅读每个项目;(4)阅读项目的特定于域的释义(例如,“在日期Y来自X的关于Z的消息”);(4)阅读项目的无限制内容(例如,电子邮件的内容主体);(5)口头上对个体项目的无限制内容“编页码”(例如,电子邮件的内容主体的区段);(6)允许用户通过开始语音请求对当前项目进行处理(例如,对于电子邮件项目,用户可以说出“回复”以开始回复动作);(7)允许用户打断项目和/或释义的阅读,以进入另一个请求;(8)允许用户暂停并恢复内容/列表的阅读,和/或跳到列表中的另一个项目(例如,下一个或前一个项目、第三个项目、最后一个项目,具有某些属性的项目等);(9)允许用户以自然语音引用列表中的第N项(例如,“回复第一条”);以及(10)使用列表作为自然语言消除歧义的情景(例如,在阅读消息列表期间,用户考虑到列表中消息的相应发送者输入“回复来自Mark的那个”)。
有几种基本的交互模式用于向用户呈现关于项目列表的信息,并用于启发用户输入且在呈现信息期间对用户命令做出响应。在一些实施例中,在呈现关于数据项列表的信息时,首先提供基于语音的概述。如果已经基于特定一组选择标准(例如,新的、未读、来自Mark、用于今天、附近的、Palo Alto中的、餐馆等)来识别了数据项列表和/或列表属于具体的特定于域的数据类型(例如,本地搜索结果、日历条目、提醒、电子邮件等),则概述对项目列表进行释义。使用的特定释义是特定于域的,并通常指定用于选择数据项列表的一种或多种标准。此外,为了呈现数据项列表,该概述还指定列表的长度,以为用户提供阅读有多长以及涉及多少的一些概念。例如,概述可以是“您有3条来自Anna Karenina和Alexei Vronsky的新消息。”在这一概述中,还提供了列表长度(例如3)、用于为列表选择项目的标准(例如,未读/新的和发送者=“Anna Karenina”和“Alexei Vronsky”)。推测起来,用于选择项目的标准是由用户指定的,并且通过在概述中包括该标准,信息的呈现会看起来对用户的请求响应度更高。
在一些实施例中,交互还包括为基于语音的提示提供选项,以向用户阅读列表和/或每个项目的无限制内容。例如,数字助理可以在提供概述之后提供基于语音的提示,诸如“我应当为您阅读它们吗?”。在一些实施例中,仅在免提模式中提供提示,因为在手动模式中,用户可能容易地在屏幕上阅读列表并在其中滚动,而不是收听被大声阅读的内容。在一些实施例中,如果原始命令是阅读项目列表,那么数字助理将继续大声阅读数据项,而不首先提供提示。例如,如果用户输入是“阅读我的新消息。”然后,数字助理继续阅读消息而不询问用户其是否希望大声阅读消息。或者,如果用户输入是“我有来自Henri的电子邮件吗?”由于原始用户输入未明确请求数字助理“阅读”消息,因此数字助理将首先提供消息列表的概述,并将为提示提供阅读消息的选项。除非用户提供这样做的确认,否则,将不会大声阅读消息。
在一些实施例中,数字助理从列表中的每个数据项识别文本数据字段,并基于特定于域的模板和从数据项识别的实际文本生成项目内容的特定于域且特定于项目的释义。一旦生成了用于数据项的相应释义,数字助理就一个接一个地重复遍历列表中的每个项目,并大声阅读其相应的释义。数据项中文本数据字段的实例包括日期、时间、人名、位置名称、公司名称和其他特定于域的数据字段。特定于域的可讲出文本模板将特定于域的项目类型的不同数据字段布置成适当次序,将数据字段与适当的连接词连接,并向不同文本字段的文本应用适当的变型(例如,基于语法、认识和其他要求的变型),以生成数据项的简明、自然且易于理解的释义。
在一些实施例中,在重复遍历项目列表并提供信息(例如,项目的特定于域、特定于项目的释义)时,数字助理将上下文标记设置为当前项目。在阅读列表时,上下文标记从一个项目到另一个项目提前出现。如果用户发出命令从一个项目跳跃到另一个项目,则上下文标记还可以从一个项目跳到另一个项目。数字助理使用上下文标记来标识数字助理和用户之间交互的当前情景,从而能够在该情景中正确解释用户的输入。例如,用户能够在任何时间打断列表阅读,并发出适用于所有或多个列表项的命令(例如“回复”),并使用上下文标记识别应当应用命令的目标数据项(例如,当前项目)。在一些实施例中,通过文本到语音处理向用户提供特定于域、特定于项目的释义。在一些实施例中,还在屏幕上提供释义的文本版本。在一些实施例中,不在屏幕上提供释义的文本版本,而是在屏幕上呈现数据项的完整版本或详细版本。
在一些实施例中,在阅读数据项的无限制内容时,首先将无限制内容分成区段。该划分可以基于段落、行、字词数量和/或无限制内容的其他逻辑划分。目标是减轻用户的认知负担,且不会因为过多的信息或花费过长时间而使用户负担过重。在阅读无限制内容时,针对每个区段生成语音输出,一次向用户提供一个区段。一旦提供了针对一个区段的语音输出,就提供口头提示,询问用户是否希望继续为下一个区段提供语音输出。重复这个过程,直到读完无限制内容的所有区段,或直到用户要求停止阅读无限制内容为止。在停止阅读针对一个项目的无限制内容时(例如,在已经读完所有章节时或在用户停止阅读时),可以开始列表中下一项目的特定于项目的释义的阅读。在一些实施例中,数字助理自动恢复阅读列表中下一项目的特定于项目的释义。在一些实施例中,数字助理要求用户在恢复阅读之前确认。
在一些实施例中,数字助理对来自多个输入信道的用户输入完全做出响应。例如,在数字助理正在阅读项目列表时或在阅读一个项目的信息中间,数字助理允许用户通过自然语言命令、触敏表面或显示器上的手势和其他输入接口(例如鼠标、键盘、光标等)导航到其他项目。实例导航命令包括:(1)下一个:停止阅读当前项目,开始阅读下一个。(2)更多:阅读当前项目的更多内容(如果其被截取或分割),(3)重复:再次阅读最后的语音输出(例如,重复刚刚阅读的无限制内容的项目或章节的释义),(4)前一个:停止阅读当前项目并开始阅读当前项目前面的一个项目,(5)暂停:停止阅读当前项目并等待命令,(6)恢复:如果暂停的话,继续阅读。
在一些实施例中,交互模式还包括总结输出。例如,在已经读完最后一个项目时,阅读用于结束列表的任选、特定于域的文本模式。例如,用于阅读电子邮件列表的适当总结输出可以是“这是全部5封电子邮件”,“这是全部的消息”,“这是最后消息的结尾”,等等。
以上一般性列表阅读实例适用于多个域,以及特定于域的项目类型。以下使用案例提供了在不同域中以及针对不同特定于域的项目类型的免提列表阅读的更详细实例。每个特定于域的项目类型还具有专门适用于该项目类型和/或域的项目的定制。
本地搜索结果的免提列表阅读
本地搜索结果是通过本地搜索获得的搜索结果,例如,对公司、地标和/或地址的搜索。本地搜索的实例包括搜索地理位置附近或地理区域之内的餐馆,搜索路线沿线的加油站,搜索特定连锁店的位置等。本地搜索是域的实例,并且本地搜索结果是特定于域的项目类型的实例。下文提供了用于在免提情景中向用户呈现本地搜索结果列表的算法。
在该算法中,一些关键参数包括,N:搜索引擎针对本地搜索请求而返回的结果数量,M:要向用户展示的搜索结果的最大数量,以及P:每“页”的项目数(即,在屏幕上同时向用户呈现和/或在同一小节概述下提供)。
在一些实施例中,数字助理检测免提情景,并整理针对免提情景的结果列表。换句话讲,数字助理将所有相关结果的列表整理成不超过M:要向用户显示的搜索结果最大数量。M的适当数字为大约3-7。这一最大数量背后的合理性在于:首先,用户不太可能在免提模式中执行深度搜索,因此,通常会有少量的最相关项目满足用户的信息需求;第二,用户不太可能在免提模式中时能够在脑中同时记住过多信息,因为用户可能会因为其他任务而注意力分散(例如,驾驶或参与其他手动工作)。
在一些实施例中,数字助理在文本中总结结果列表,并从文本生成整个列表的特定于域的概述(以文本形式)。此外,调整概述以呈现本地搜索结果,因此位置信息在概述中尤其相关。例如,假设用户请求针对形式为“类别,当前位置”的查询的搜索结果(例如,从自然语言搜索请求“帮我找到附近的中餐馆”或“这里哪儿能吃饭?”得到的查询)。然后,数字助理查看搜索结果,并识别出在用户当前位置附近的搜索结果。然后,数字助理以“我在附 近找到几个<类别复数>”的形式生成搜索结果的概述。在一些实施例中,在概述中不提供数量,除非N<3。在一些实施例中,如果数量小于6,则在概述中提供搜索结果的数量。
对于另一个实例而言,假设用户请求针对形式为“类别,其他位置”的查询的搜索结果(例如,在用户当前不在Palo Alto时从自然语言搜索请求“帮我在Palo Alto找到一些浪漫的餐厅”得到的查询,或者“看完电影哪里能吃饭?”,其中电影将在与用户当前位置不同的位置上映)。数字助理将(以文本形式)生成概述,形式为“我在<位置>中找到几家<类别复数>”。(或“附近”而非“中”,对于给定的<位置>,哪个更适当使用哪个。)
在一些实施例中,在显示屏上提供概述的文本形式(例如,在对话窗口内)。在提供整个列表的概述之后,如通常那样在显示器上呈现结果列表(例如,最多M个项目,例如M=25)。
在一些实施例中,在屏幕上呈现结果列表之后,向用户提供基于语音的概述。可以通过文本到语音转换该概述的文本版本来生成基于语音的概述。在一些实施例中,不在显示屏上提供内容,此时仅提供基于语音的概述。
一旦向用户提供了基于语音的概述,就可以提供第一“页”结果的基于语音的子区段概述。例如,子区段概述可以列出该“页”上前P个项目的名称(例如,公司名称)。具体地,
a.如果这是第一页,该子区段概述为“包括<名称1>、<名称2>……和<名称P>”,其中<名称1><名称P>是前P个结果的公司名称,在列表概述“我在附近找到几个<类别复数>……”之后立即呈现子区段概述。
b.如果这不是第一页,子区段概述为“接下来P个为<名称1>、<名称2>……<名称P>”等。
数字助理以上述方式重复遍历所有“页”的搜索结果列表。
对于每页结果,执行以下步骤:
a.在一些实施例中,在显示器上,以视觉形式(例如,以文本形式)呈现当前页搜索结果。视觉上下文标记指示正在阅读的当前项目。用于每个搜索结果的文本释义包括次序位置(例如,第一、第二等)、距离以及与搜索结果相关联的方位。在一些实施例中,用于每个结果的文本释义仅占用显示器上列表中的单行,使得列表显得简洁而易读。为了将文本保持在单行中,不呈现公司名称,文本释义的格式为“第二:向南0.6英里”。
b.在一些实施例中,针对每个结果提供单独视觉片段。例如,在滚动显示器上显示的文本释义时可以显露出每个结果的片段,使得1行文本气泡在顶部,片段在下方配合。
c.在一些实施例中,在按照顺序次序向用户逐个呈现项目或其释义时,上下文标记或上下文光标在整个项目列表中移动。
d.在讲话时,宣告当前项目的顺序位置、公司名称、短地址、距离和方位。短地址例如是完整地址的街道名称部分。
1.如果项目是第一个(与页无关),利用“最近的是”、“评级最高的是”、“最匹配的是”或仅仅用“第一个是”指示排序顺序。
2.否则说“第二个是”(第三、第四等)。继续递增页码,即,如果页大小P=4,则第2页上的第一个项目会是“第五个”。
3.对于短地址,使用“在<街道名称>上”(没有街道号)。
4.如果结果.地址.城市与所在地.城市不同,那么添加“在<城市>”。
5.例如,如果小于一英里,说“点x英里”。如果小于1.5英里,说成“1英里”。否则四舍五入到最接近的整英里数,说成“X英里”。在场所规定的情况下,使用公里而非英里。
6.对于方位,使用北、南、东或西(没有中间值)。
e.仅对于这一页的第一项,说出用于如下选项的提示:“您想呼叫它,得到方向指引,还是转到下一个?”
f.收听
g.在当前结果的情景中处理自然语言命令(例如,如基于上下文标记的当前位置所确定的那样)。如果用户说出“下一个”或等价字词,继续到列表中的下一个项目。
h.如果这是到达当前页的最后项目,返回步骤a或转到下一页。
针对剩余“页”结果的每个结果重复以上步骤,直到列表中没有更多页结果为止。
在一些实施例中,如果用户询问到达与结果项目相关联的位置的方向,且用户已经在规划路线上的导航模式中,数字助理能够提供语音输出,说出“您已经在路线上导航。希望用通往<项目名称>的方向代替这条路线吗?”如果用户肯定地回复,则数字助理给出通往与该结果相关联的位置的方向。在一些实施例中,数字助理提供语音输出“通往<项目名称>的方向”并呈现导航界面(例如,地图和方向界面)。如果用户给出否定的回复,则数字助理提供语音输出“好的,我不会替换您的路线。”如果处于免视模式,恰好在这里停止。如果用户说“在地图上显示它,”但数字助理检测到免视情景,则数字助理生成语音输出,说“对不起,您的车不会让我在驾驶期间在地图上显示项目”或某种其他标准免视警告。如果未检测到免视情景,则数字助理提供语音输出,说道“这里是<项目名称>的位置”并再次针对该项目示出单个项目片段。
在一些实施例中,在显示项目时,用户例如通过说出“呼叫”来请求呼叫项目。数字助理识别正确的目标结果,并发起通往与目标结果相关联的电话号码的电话连接。在做出电话连接之前,数字助理提供语音输出,说道“呼叫<项目名称>”。
下文提供了用于识别动作命令的目标项目/结果的几个自然语言使用案例。例如,用户可以在命令中命名项目,然后基于在命令中指定的特定项目名称识别目标项目。用户还可以使用“它”或其他标引来指示当前项目。数字助理可以基于上下文标记的当前位置来识别正确的目标项目。用户也可以使用“第n个”指示列表中的第n个项目。在一些情况下,第n个项目可以在当前项目之前。例如,一旦用户听到名称概述列表并正在收听关于项目1的信息,用户就可以说“通往第3个的方向”。作为响应,数字助理将相对于列表中的第3个项目执行“方向”动作。
对于另一个实例,用户可以讲出公司名称以识别目标项目。如果列表中的多个项目匹配公司名称,那么数字助理选择与公司名称匹配的最后阅读的项目作为目标项目。通常,数字助理在时间上返回消除当前项目(即,上下文标记指向的项目)的歧义,然后从当前项目向前进。例如,如果上下文标记在10个项目中的项目5上,则用户说出匹配项目2、4、6和8的选择标准(例如,特定公司名称或结果的其他属性)。然后,数字助理选择项目4作为针对命令的目标项目。在另一种情形中,如果上下文标记在项目2上,且项目3、5和7匹配选择标准,那么数字助理选择项目3作为命令的目标项目。在这种情况下,当前上下文标记之前没有任何东西匹配选择标准,项目3是与上下文标记最近的项目。
在呈现本地搜索结果的列表时,数字助理允许用户通过发出以下命令而在列表附近移动:下一个、前一个、返回、再次读它或重复。
在一些实施例中,在用户提供仅指定项目的语音命令但不指定适用于项目的任何动作时,然后,数字助理提示用户指定应用动作。在一些实施例中,由数字助理提供的提示提供了适用于特定项目类型的项目的一个或多个动作(例如,对本地搜索结果的动作,诸如“呼叫”、“方向”、“在地图上显示”等)。例如,如果用户简单地说“第3个”或“Chevron”而没有适用的命令动词(例如“呼叫”或“方向”),那么数字助理利用语音输出“您想呼叫它还是得到方向?”提示用户。如果用户的语音输入已经指定了命令动词或适用于该项目的动作,那么,数字助理根据命令对项目作出动作。例如,如果用户的输入是“呼叫最近的加油站”等。数字助理识别目标项目(例如,对应于最近加油站的结果),并发起通往与目标项目相关联的电话号码的电话连接。
在一些实施例中,数字助理能够处理与不同域和情景相关的用户输入并对其做出响应。如果用户在另一个域中做出与情景无关的完全指定的请求,那么数字助理暂停或终止列表阅读,并对其他域中的请求做出响应。例如,在数字助理正在列表读取期间在询问用户“您想呼叫它,得到方向还是到下一个”的过程中时,用户可以说出“现在北京是什么时间?”响应于这一新的用户输入,数字助理确定感兴趣的域已经从本地搜索和列表读取切换到另一个时钟/时间域。基于此类确定,数字助理执行在时钟/时间域中请求的动作(例如,启动时钟应用或提供北京当前的时间)。
下文提供了响应于“找到我附近的加油站”的搜索请求而呈现加油站列表的另一个更详细实例。
在该实例中,参数为:页面大小P=4,最大结果数量M=12,以及查询:{类别(例如,加油站),最近,按距当前位置的距离排序}
实施以下任务流以呈现搜索结果列表(即,基于本地搜索请求识别的加油站)。
1.按照与用户当前位置的距离对加油站排序,并将搜索结果列表精简到总数量M。
2.为列表生成仅有文本的总结:“我在您附近找到几家加油站。”(在最多2行上配合)。
3.在显示器上针对完整结果列表显示N个本地搜索片段的列表。
4.生成并提供基于语音的概述:“我在您附近找到几家加油站,”
5.生成并提供基于语音的子区段概述:“包括Chevron加油站、Valero、Chevon和Shell加油站。”
6.对于列表中的<项目1>,执行以下步骤a至步骤g:
a.在文本中提供特定于项目的释义:“第一:向南0.7英里”。
b.为Chevron加油站显示视觉片段。
c.向这个项目设置上下文标记(即<项目1>)。
d.提供基于语音的特定于项目的释义:“最近的是North De Anza Boulevard上的Chevon加油站,向北0.7英里。”
e.提供基于语音的提示,提供关于适用于该页第一项目(即<项目1>)的动作的选项:“您想呼叫它,得到方向指引,还是转到下一个?”
f.蜂鸣音
g.用户说道“下一个”。
6.继续进行到下一个项目,<项目2>
a.在文本中提供项目的特定于项目的释义:“第二:向南0.7英里”。
b.为Valero示出视觉片段。
c.对这个项目设置上下文标记(即<项目2>)
d.提供该项目基于语音的特定于项目的释义:“第二个是North De AnzaBoulevard上的Valero,向北0.7英里。”
e.不提供关于适用于第二项目的动作的提示。
f.蜂鸣音
g.用户说道“下一个”。
6.<项目3>
a.以文本形式提供项目的特定于项目的释义:“第三:向南0.7英里”。
b.为Chevon示出视觉片段。
c.对这个项目设置上下文标记。
d.提供该项目基于语音的特定于项目的释义:“第三个是South De AnzaBoulevard上的Chevron,向南0.7英里。”
e.不提供关于适用于第三项目的动作的提示。
f.蜂鸣音
g.用户说道“下一个”。
6.<项目4>
a.在文本中提供项目的特定于项目的释义:“第四:向南0.7英里”。
b.为Shell加油站显示视觉片段。
c.对这个项目设置上下文标记。
d.提供该项目基于语音的特定于项目的释义:“第四个是South De AnzaBoulevard上的Shell加油站,向南1英里。”
e.不提供关于适用于第二项目的动作的提示。
f.蜂鸣音
g.用户说道“下一个”。
5.<第2页>开始新一页项目
为第二页提供基于语音的区段概述:“后面4个是Cupertino的Smog Pro&AutoService、Shell Station、Valero和Rotten Robbie。”
6.<项目5>
a.在文本中为本项目提供特定于项目的释义:“第五:向南1英里”。
b.为Cupertino的Smog Pro&Auto Service显示视觉片段。
c.对这个项目设置上下文标记。
d.提供该项目基于语音的特定于项目的释义:“第五个是North de AnzaBoulevard上的Cupertino的Smog Pro&Auto Service,向东1英里。”
e.提供基于语音的提示,该提示提供关于适用于该页第一项目(即<项目5>)的动作的选项:“您想呼叫它,得到方向指引,还是转到下一个?”
f.蜂鸣音
g.用户说道“下一个”。
<项目6>
a.在文本中提供项目的特定于项目的释义:“第六:向西2英里。”
b.为Shell加油站显示视觉片段。
c.对这个项目设置上下文标记。
d.提供该项目基于语音的特定于项目的释义:“第六个是Stevens CreekBoulevard上的Shell加油站,向西1英里。”
e.不提供关于适用于第二项目的动作的提示。
f.蜂鸣音
g.用户说道“方向”。
h.基于上下文标记的位置确定目标项目,并将当前项目识别为目标项目。为当前项目调用方向检索。
针对本地搜索域中的列表阅读的以上实例仅仅是示例性的。针对本地搜索域公开的技术还适用于其他域和特定于域的项目类型。例如,列表阅读算法和呈现技术还可以适用于阅读本地搜索域外部的公司列示的列表。
阅读提醒
在免提模式中阅读提醒具有两个重要的部分:选择要阅读什么提醒,以及决定如何阅读每条提醒。针对免提模式,对要呈现的提醒列表进行过滤,得到一组提醒,它们是与用户相关联的所有可用提醒的子集。此外,可以基于各种提醒属性将要在免提情景中向用户呈现的该组提醒进一步分成有意义的子组,提醒属性诸如是提醒触发时间、触发位置和用户或用户的设备可以执行的其他动作或事件。例如,如果某人说“我的提醒是什么”,助理回复“至少25……”可能没有太大帮助,因为用户不太可能有时间或感兴趣一次听到所有25条提醒。相反,要向用户呈现的提醒应当相当小,并且是现在相关的可执行一组提醒。例如“您有三条最近的提醒。”“您今天有4条提醒。”“您今天有5条提醒,1条是针对行进时的,4条是针对到家之后的。”
有几种结构化数据可用于帮助确定提醒是否是现在相关的,包括当前和触发日期/时间、触发位置和触发动作。用于选择现在哪些提醒相关的选择标准可以基于这些结构化数据中的一条或多条。对于触发日期/时间,有针对每条提醒的提示时间和到期日期。
选择标准可以基于提醒的提示时间和到期日期以及当前日期和时间或其他用户指定的日期和时间之间的匹配。例如,用户可以询问“我的提醒是什么”,并选择一小组(例如,5个)最近的提醒和/或触发时间(例如,提示时间和/或到期时间/日期)接近于当前时间的即将到来的提醒,以向用户进行免提列表阅读。对于位置触发,可以在用户离开当前位置和/或到达另一个位置时触发提醒。
选择标准可以基于当前位置和/或用户指定的位置。例如,在用户离开当前位置时,用户可以说“我的提醒是什么”,助理可以选择一小组触发条件与用户离开当前位置相关联的提醒。对于另一个实例,用户可以在进入商店时说“我的提醒是什么”,可以选择与该商店相关联的提醒以用于呈现。对于动作触发,可以在助理检测到用户正在执行一种动作(例如,开车或步行)时触发提醒。另选地或除此之外,提醒中指定的要由用户执行的动作类型也可以用于选择相关提醒以用于呈现。
选择标准可以基于用户当前的动作或与提醒相关联的动作触发。选择标准也可以基于用户当前的动作和用户要根据提醒执行的动作。例如,在用户驾驶的时候问道“我的提醒是什么”时,可以选择与驾驶动作触发(例如,用于在车中打电话的提醒,用于到加油站的提醒,用于换油的提醒等)相关联的提醒以用于呈现。对于另一个实例,在用户步行的时候问道“我的提醒是什么”时,可以选择与适于在用户步行时执行的动作相关联的提醒加以呈现,诸如,用于打电话的提醒和用于检查当前花粉计数的提醒、用于涂上防晒霜的提醒等。
当用户在移动的车辆中行进时(例如,驾驶或坐在车中),用户可以打电话,并预览接下来或很快就会触发的提醒。用于呼叫的提醒可以形成有意义的组,因为可以在一次坐下的时间内(例如,当用户在车中行进时)连续地拨打电话。
以下描述为免提提醒阅读提供了一些更详细的情形。如果有人在免提情况下说道“我的提醒是什么”,助理对与一个或多个以下类别的提醒相关联的短提醒列表提供报告或概述:(1)最近触发的提醒,(2)在用户离开某地时触发的提醒(假设某地是他们刚刚所在的地方),(3)要在到期日最早触发的提醒,(4)要在您到达某处时触发的提醒。
对于提醒,呈现各个提醒的次序有时不如概述那样重要。概述将提醒列表置于可以使提醒的任意标题串对用户而言有某种意义的情景中。例如,在用户询问提醒时。助理能够提供概述“您有N个最近出现的提醒,M个针对您行驶的时候,J个提醒针对今天。”在提供提醒列表的概述之后,助理可以继续通过列表中提醒的每个子组。例如,以下是助理能够执行以向用户呈现列表的步骤:
助理提供基于语音的小节概述:“最近触发的提醒是:”,接着暂停。然后,助理提供提醒内容的基于语音的特定于项目的释义(例如,提醒标题,或提醒的简短描述),“就某事联系那个人。”在子组之内的提醒之间(例如,最近触发的提醒的子组),可以插入暂停,使得用户能够分开提醒,并能够在暂停期间用命令打断助理。在一些实施例中,如果未一直保持双向通信,则助理在暂停期间进入收听模式。在提供第一提醒的释义之后,助理继续进行子组中的第二提醒,等等:“<暂停>从公司商店收到一封星际通信的电报。”在一些实施例中,在阅读释义之前提供提醒的次序位置。然而,由于提醒的次序不像其对于其他类型数据项那样重要,有时会有意省略提醒的次序位置,使得通信更简洁。
助理通过首先提供子组概述来继续提醒的第二子组:“针对您行进时的提醒为:”然后,助理逐个进行第二子组中的提醒:“<暂停>给Justin Beaver打电话”“<暂停>结账离开sunset。”在呈现提醒的第二子组之后,助理继续阅读第三子组提醒的子组概述:“今天的提醒是:”然后,助理继续提供第三子组中每条提醒的特定于项目的释义:“<暂停>完成该报告。”在呈现第三子组提醒之后,助理通过说出“针对您到家后的提醒是:”来提供第四子组的子组概述:然后,助理继续阅读第四子组中针对提醒的特定于项目的释义:“<暂停>从地窖取一瓶酒”,“<暂停>点火。”以上实例仅仅是例示性的,并示出了如何可以基于各种属性(例如,相对于当前时间的触发时间、最近触发、即将到来,基于动作触发、基于位置触发等)将相关提醒列表分成有意义子组或类别的想法。以上实例还例示了呈现提醒所用的关键短语。例如,可以提供列表等级的概述,包括子组的描述和每个子组之内的提醒数量。此外,在有超过一个子组时,在呈现子组中的提醒之前提供子组概述。子组概述基于创建该子组所用的且选择子组之内提醒所依据的特性或属性来指出子组的名称或标题。
在一些实施例中,用户将指定用户对哪个特定组的提醒感兴趣。换句话讲,通过用户输入提供选择标准。例如,用户可以明确请求“为我显示要打的电话”或“到家时我需要做什么”“我要在这家商店买什么”等。对于这些请求中的每个请求,数字助理基于自然语言处理从用户输入提取选择标准,并基于用户指定的选择标准和与提醒相关联的相关属性(例如,触发时间/日期、触发动作、要执行的动作、触发位置等)识别要呈现的相关提醒。
以下是针对特定组的提醒进行阅读的实例:
对于打电话的提醒:用户可以询问“我需要打什么电话”,并且助理可以说“您有打3个电话的提醒:Amy Joe、Bernard Julia和Chetan Cheyer。”在这个响应中,助理提供概述,接着是提醒的特定于项目的释义。概述指定用于选择相关提醒的选择标准(例如,要由用户执行的动作是“打电话”),以及相关提醒的数量(例如,3个)。针对打电话的提醒的特定于域、特定于项目的释义仅包括要呼叫的人名(例如Amy Joe、Bernard Julia和ChetanCheyer),在释义中不提供额外的信息,因为此时,姓名对于用户决定是否继续进行提醒的动作(例如,实际拨打一通电话)是足够的。
对于要在特定位置做事情的提醒:用户询问“到家时我需要做什么”,助理可以说“有2条针对您到家时的提醒:<暂停>从地窖取一瓶酒,并<暂停>点火。”在这个响应中,助理提供概述,接着是提醒的特定于项目的释义。概述指定用于选择相关提醒的选择标准(例如,触发位置是“家”),以及相关提醒的数量(例如,2个)。针对提醒的特定于域、特定于项目的释义仅包括待执行的动作(例如,在提醒中指定的动作),在释义中不提供任何额外信息,因为用户仅希望预览即将做什么。
以上实例仅仅例示针对提醒域的免提列表阅读。根据相关提醒的具体类型和类别,附加变化是可能的,并应当在免提情景中向用户呈现。与助理提供的基于语音的输出相伴随,任选地在屏幕上提供提醒的视觉片段。仍然可以使用诸如重复、下一个等命令在不同子组的提醒之间导航或重复关于一条或多条提醒的信息。
阅读日历事件
以下描述涉及在免提模式中阅读日历事件。针对免提日历事件阅读要考虑的两个主要问题仍然是选择要阅读哪些日历条目以及决定如何阅读每个日历条目。类似于阅读提醒和其他特定于域的数据项类型,选择与用户相关联的所有日历条目的小子集,并分成均包括3-5个条目的有意义子组。子组的划分可以基于各种选择标准,诸如事件日期/时间、提醒日期/时间、事件类型、事件位置、参与者等。例如,如果用户询问“我日历上有什么事”,助理说出“您日历上至少有50个条目”将不会有太大帮助。相反,助理可以呈现关于当天或半天的事件条目的信息,然后根据用户的后续命令继续向后进行。例如,用户可以通过简单地说“下一页”而询问下一天的附加事件。
在一些实施例中,按照日期将日历条目划分成子组。每个子组仅包括单天的事件。如果用户询问跨越多天的日期范围的日历条目,则一次呈现与该范围之内单天相关联的日历条目。例如,如果用户询问“我的日历上下周安排是什么”,助理能够利用列表等级概述“您星期一有3个事件,星期二有2个事件,其他天没有事件”做出回复。助理然后能够继续呈现星期一和星期二每天的事件。对于每天的事件,助理能够首先提供该天的子组概述。概述能够指定该天事件的时间。在一些实施例中,如果事件是全天的事件,则助理还在子组概述中提供该信息。例如,以下是实例情形,例示了日历条目的免提阅读:
用户询问“今天我日历上安排是什么。”助理用语音回复:“您的日历上,在上午11点、下午12:30、3:30和7:00有事件。您还有全天的事件。”在该实例中,用户仅请求单天的事件,列表层次的概述是该天事件的概述。
在呈现日历事件的列表时,在大多数情况下,事件时间都是对用户而言最相关的一条信息。使时间列表的呈现流线化能够改善用户体验,并使得信息通信更有效率。在一些实施例中,如果日历条目的事件时间跨越上午和下午,则在基于语音的概述中仅为第一个日历条目和最后一个日历条目的事件时间提供上午/下午指示。此外,如果所有事件都在上午,则为第一个日历条目和最后个日历条目的事件时间提供上午指示。如果所有事件都在下午,则为该天的最后事件提供下午指示符,但不为其他事件时间提供上午/下午指示符。从以上上午/下午规则排除中午和午夜。对于一些更明确的实例,以下是能够在日历条目列表概述中提供的:“上午11点、下午12:30、3:30和7点”,“上午8:30,上午9点和10点”,“下午5、6和7:30”,“中午,下午2、4、5、5:30和7点”、“5点、6点和午夜。”
对于全天的事件,助理提供全天事件的计数。例如,在被问及下周的事件时,数字助理可以说“您有(N)条全天事件。”
在阅读相关日历条目的列表时,数字助理首先阅读所有定时的事件,然后是全天事件。如果没有定时事件,那么助理在概述之后直接阅读全天事件的列表。然后,对于列表上的每个事件,助理根据以下模板提供基于语音的特定于项目的释义:<时间><主体><位置>,其中如果在日历条目中未指定位置,可以省略位置。例如,日历条目的特定于项目释义包括如下形式的<时间>成分:“在上午11点”、“在中午”、“在下午1:30”、“在下午7:15”、“在中午”等。对于全天事件,不需要此类释义。对于<主体>成分,除了事件题目之外,助理任选地指定参与者的数量和/或身份。例如,如果一个事件有超过3个参与者,<主体>成分可以包括“<事件题目>,大约N个人”。如果有1-3个参与者,<主体>成分可以包括“<事件题目>,人员1、人员2和人员3”。如果除了用户之外,事件没有参与者,<主体>成分可以仅包括<事件题目>。如果针对日历事件指定了位置,可以向日历事件的释义中插入<位置>成分。这需要进行某种过滤。
下文例示了针对日历事件的免提列表阅读情形。在用户询问“今天我日历上安排是什么。”之后。助理利用概述回复:“您的日历上,在上午11点、中午、下午3:30和7点有事件。您还有2个全天的事件。”在概述之后,助理继续日历条目的列表:“上午11点:会议”,“上午11:30:会见Harry Saddler”,“中午:在IL 2房间(8)与9个人审查设计”,“下午3:30:会见Susan”,“下午7点:与Amy Cheyer和Lynn Julia共进晚餐。”在一些实施例中,助理可以通过提供总结输出,诸如“就这些了”来指示列表结束。
以上实例仅仅例示针对日历域的免提列表阅读。根据相关日历条目的具体类型和类别(例如,会面、约会、参与方、吃饭、需要准备的事件/旅行等),附加的变型是可能的,并应当在免提情景中向用户呈现。与助理提供的基于语音的输出相伴随,任选地在屏幕上提供日历条目的视觉片段。
针对电子邮件的列表阅读
类似于其他域中的其他数据项列表,电子邮件列表的免提阅读还涉及到在列表中包括哪些电子邮件以及如何向用户阅读每个电子邮件。电子邮件与其他项目类型不同之处在于:电子邮件通常包括大小无限制(例如,太大,无法整个阅读)的无限制部分(即,消息主体),并可以包括不能容易转换成语音的内容(例如,对象、表格、图片等)。因此,在阅读电子邮件时,将电子邮件的无限制部分分成更小的组块,一次仅提供一个组块,并从语音输出省略其余部分,除非用户明确请求听到它们(例如,通过利用诸如“更多”的命令)。此外,用于选择电子邮件进行呈现以及将电子邮件分成子组的相关属性包括发送者身份、日期、主题、已读/未读状态、紧急标记等。可以由助理识别电子邮件中的对象(例如表格、图片)和附件,但可以从免提阅读中省略。在一些实施例中,可以在显示器上呈现对象和附件。在一些实施例中,如果用户也处于免视模式中,可以由助理阻止这些对象和附件的显示。
以下是实例情形,例示了针对电子邮件的免提列表阅读。该实例例示了在概述之后和阅读电子邮件列表之前使用提示。在阅读电子邮件列表时,逐个提供每个电子邮件内容的概要或释义。用户可以利用命令“下一个”、“第一个”、“前一个”、“最后一个”等在列表中导航。为了听到电子邮件消息主体的更多内容,用户可以说“更多”。用户还可以说出与适用于电子邮件的动作相关的命令。在助理逐个阅读电子邮件时,上下文标记在整个电子邮件列表中移动。如果用户的命令涉及顺序次序中的电子邮件,则上下文标记还从一封电子邮件跳到另一封。
例如,用户可以询问:“我有来自Harry Saddler的新邮件吗?”
基于用户输入中指定的选择标准(例如,发送者=Harry Saddler,已读/未读状态=新),助理识别相关电子邮件,并提供列表概述以及用于阅读电子邮件列表的提示:“您有5封来自Harry Saddler的未读消息。您想听我阅读吗?”如果用户给出肯定答案,“是。”助理继续逐个阅读电子邮件列表的特定于域、特定于项目的释义。例如,助理可以说“第一条消息,来自Harry Saddler,3天前。主题是:今天下午3点简短会面。”释义是基于电子邮件的内容生成的,并包括关键信息,诸如消息在列表中的次序位置、与消息相关联的发送者身份、与消息相关联的时间以及消息的主题行。在此,不使用精确的到达时间。而使用到达时间的释义,因为在免提情景中精确的到达时间可能不相关。在释义中不阅读或提供消息的主体。然后,在简短暂停之后,助理可以开始阅读消息无限制内容的第一个组块:“Harry写道:下一次会议仔细研究项目X——是在10月17号星期一,下午2点。我找不到房间,我们在IL2/4层电梯大厅见面吧,从那里去。Harry”。在这种情况下,消息的无限制内容的总长度足够短,以匹配在组块的预定长度极限之内(例如,3行文本),因此,在一个组块中阅读消息的整个内容主体。
在阅读第一条消息之后,提供简短的暂停,使得用户能够输入命令,进行适用于刚读过的消息的动作(例如,回复、删除、重复等)或者前进到下一个消息。假设用户说“下一个。”然后,助理继续进行到列表中的下一个消息,上下文标记前进到下一个消息。助理提供语音输出,说道“下一条消息,来自Harry Saddler,今天上午8:23,主题是:列表阅读使用案例。”在针对用户打断的暂停之后,助理继续阅读消息的无限制内容“Harry写道:根据大众需求,我们正在使用电子表格开发、细化和跟踪使用案例。每个案例都将附于对应的TLF雷达;在更新时,将添加新的版本。我将是与相关域团队开发该使用案例的负责人。”在阅读消息主体的第一组块之后,助理暂停,提示用户“继续阅读该消息吗?”如果用户说“是”,助理继续阅读消息主体的下一组块:“Harry写道:日历使用案例已经完成一部分,仍然需要一些丰富的材料,当然还需要进行优先化。LINK.TLF:日历条目。……”在助理完成阅读消息主体的这个组块之前,用户利用命令“回复”打断阅读。作为响应,助理停止阅读,并将当前消息识别为针对用户输入请求的动作的目标消息。助理生成基于语音的响应“好的,我可以帮助您回复Harry Saddler。您希望说什么?”用户讲出回复邮件的文本“好主意,帮了大忙。”助理将消息原样返回给用户以确认正确性,“您的消息是:好主意。帮了大忙。”助理然后询问“准备好发送了吗?”一旦用户确认(例如,通过说“是”),助理确认用户的确认,并说“好的,我会发送。我还要继续读您的邮件吗?”在用户回复“是”之后。助理前进到列表中的下一个消息并阅读“下一条消息,来自Harry Saddler,昨天下午2:34,主题是:电子表格<暂停>电子邮件消息仅包含附件。”
需注意,在阅读这封电子邮件消息和前一封电子邮件消息的无限制内容时,助理检测到不容易大声阅读的一些对象。例如,在前一封电子邮件中,消息主题包含超链接。助理不将超链接的文本转换成语音。相反,助理仅仅利用关键字“LINK.TLF:.”来标识消息主体中存在链接,从而通知用户有链接,但不将消息主体的语音输出扭曲成不可识别的形式。在当前消息中,识别出附件。助理不会尝试阅读附件。相反,助理仅提供指示电子邮件中存在附件的语音输出。
继续以上电子邮件阅读情形。在阅读第三条消息的无限制内容之后,数字助理继续阅读下一条消息,“下一条消息,来自Harry Saddler,30分钟前。回复您如下主题的消息:无法关闭TTS。”在暂停之后,助理继续无限制内容的第一组块“Harry写道:这个简单方案如何:使助理静默。在助理讲话时,摇动它;它停止讲话。使助理静默,做出新请求:在助理讲话时,再次摇动……<暂停>”在阅读第一组块之后,助理再次询问“继续阅读该消息吗?”用户说“重复。”作为响应,助理检查上下文标记的位置,现在上下文标记位于列表中第四条消息的无限制内容的第一组块上。助理然后再次阅读第四条消息的消息主体的第一组块,“这个简单解决方案如何:使助理静默。在助理讲话时,摇动它;它停止讲话。使助理静默,做出新请求:在助理讲话时,再次摇动……”
在短暂暂停之后,助理询问“继续吗?”如果用户说“是”,助理继续阅读当前消息的第二组块,上下文标记也移动到第二组块。例如,助理阅读第二组块“这仅仅是“使助理静默”+“开始收听”,以联系助理,而不做出新请求。主菜单按钮,然后在mic按钮出现时按下mic按钮。这实际是强迫结束,而没有输入。Harry。”
在短暂暂停之后,助理询问“继续吗?”,用户说“不。”
响应于用户停止阅读当前消息的消息主体的命令,助理继续阅读下一条消息。“下一条消息,来自Harry Saddler,10分钟前,回复来自SiamakHodjat关于如下主题的消息:用于保持在事务中的简单规则(模式提醒)。”在短暂暂停之后,助理询问“继续阅读该消息吗?”用户说“下一个。”响应于用户的输入,助理回复“那是5个电子邮件消息中的最后一个。”
需注意,在以上实例中,在消息的特定于项目的释义中仅提供第一消息的次序位置,将其余消息在其相应释义中简单称为“下一条消息”。可以在释义中省略次序位置,因为仅阅读了几条消息(例如5条或更少)。用户不需要听到大声阅读的次序位置,以便在心里记录消息的次序位置。在这种情景中,通过消息在列表中的相应次序位置来援引消息的用户命令仍然有效。例如,在阅读第四条消息之后的语音输入“重复第二条消息”仍然会使用户返回到第二条消息。
以上电子邮件列表阅读实例仅仅是例示性的。可以实施针对助理的其他命令以发起适用于电子邮件消息的其他动作。相对于电子邮件阅读情形描述的技术和选项也适用于其他类型的数据项。
图14A-图14L是数字助理(也称为虚拟助理)用于提供免提列表阅读的方法的流程图。在过程1440中,数字助理识别多条数据项以向用户呈现,其中该多条数据项各自与特定于域的项目类型相关联(1442)。数据项的实例包括:与用户相关联的日历条目、来自特定发送者的电子邮件、针对特定一天的提醒,以及从特定的本地搜索请求获得的搜索结果。针对以上实例数据项的特定于域的项目类型为日历条目、电子邮件、提醒和本地搜索结果。每种特定于域的数据类型都具有相对稳定的数据结构,使得可以预测性地提取特定数据字段的内容并重构成该内容的释义。在一些实施例中,还根据特定顺序对多条数据项进行排序。例如,常常通过相关性和距离对本地搜索结果排序。常常按照事件时间对日历条目排序。一些项目类型的项目不需要排序。例如,可以不对提醒排序。
基于特定于域的项目类型,助理生成多条数据项的基于语音的概述(1444)。概述为用户提供列表中有什么种类项目,以及列表中有多少项目的一般概念。对于多条数据项的每条而言,助理还基于数据项的相应内容为数据项生成相应的基于语音的、特定于项目的释义(1446)。特定于项目的释义的格式常常取决于特定于域的项目类型(例如,项目是日历条目还是提醒)和数据项的实际内容(例如,事件时间和特定日历条目的主体)。然后,助理通过启用语音的对话界面向用户提供基于语音的概述(1448)。然后,基于语音的概述后面是针对多个数据项的至少一个子集的相应的基于语音的、特定于项目的释义。在一些实施例中,如果按照特定顺序对列表中的项目排序,则按照特定次序提供项目的释义。在一些实施例中,如果列表中有多于阈值数量(例如每“页”最大数量=5个项目)的项目,则一次仅呈现项目的子集。用户可以通过专门这样请求来请求查看/听到更多项目。
在一些实施例中,对于多个数据项中的每个数据项,数字助理基于数据项的相应内容生成针对数据项的相应文本的、特定于项目的片段(1450)。例如,该片段可以包括对应的本地搜索结果的更多细节或电子邮件的内容主体等。该片段用于在显示器上呈现,伴随有基于语音的列表阅读。在一些实施例中,数字助理通过视觉界面向用户提供针对多个数据项的至少子集的相应文本的、特定于项目的片段(1452)。在一些实施例中,还在视觉界面上提供上下文标记。在一些实施例中,同时在视觉界面上呈现所有多个数据项,而项目的阅读继续“一页”“一页”地进行,即一次一个子集。
在一些实施例中,基于语音的特定于项目的释义的提供伴随着相应文本的特定于项目的片段的提供。
在一些实施例中,在提供相应的基于语音的、特定于项目的释义时,数字助理在每对相邻的基于语音的特定于项目的释义之间插入暂停(1454)。数字助理进入收听模式以在暂停期间捕获用户输入(1456)。
在一些实施例中,在按照顺序次序提供相应的基于语音的、特定于项目释义时,数字助理将上下文标记推进到正在向用户提供其相应的基于语音的、特定于项目释义的当前数据项(1458)。
在一些实施例中,数字助理接收用于请求待执行的动作的用户输入,该动作适用于特定于域的项目类型(1460)。数字助理基于上下文标记的当前位置针对多个数据项中的动作来确定目标数据项(1462)。例如,用户可以请求动作而不明确指定要施加动作的目标项目。助理假设用户援引当前数据项作为目标项目。然后,数字助理相对于所确定的目标数据项执行动作(1464)。
在一些实施例中,数字助理接收用于请求待执行的动作的用户输入,该动作适用于特定于域的项目类型(1466)。数字助理基于用户输入中指定的项目参考编号来确定针对多个数据项中的动作的目标数据项(1468)。例如,用户可以在用户输入中说出“第三个”项目,助理可以确定列表中哪个项目是“第三个”项目。一旦确定了目标项目,数字助理就针对所确定的目标数据项执行动作(1470)。
在一些实施例中,数字助理接收用于请求待执行的动作的用户输入,该动作适用于特定于域的项目类型(1472)。数字助理基于用户输入中指定的项目特性来确定针对多个数据项中的动作的目标数据项(1474)。例如,用户可以说“回复Mark的消息”,并且数字助理可以基于消息列表中的发送者身份“Mark”确定用户指的是哪条消息。一旦确定了目标项目,数字助理就相对于所确定的目标数据项执行动作(1476)。
在一些实施例中,在确定针对动作的目标数据项时,数字助理:确定用户输入中指定的项目特性适用于多个数据项中的两个或更多个数据项(1478),确定上下文标记在多个数据项间的当前位置(1480),并选择两个或更多个数据项中的一者作为目标数据项(1482)。在一些实施例中,选择数据项包括:相对于位于上下文标记之后的所有数据项,优先选择位于上下文标记之前的所有数据项(1484);以及在上下文标记同一侧的所有数据项之间优先选择距上下文光标最近的数据项(1486)。例如,在用户说道回复Mark的消息时,如果所有来自Mark的消息都位于当前上下文标记之后,那么选择与上下文标记最近的一个作为目标消息。如果来自Mark的一条消息在上下文标记之前,其余消息在上下文标记之后,那么选择上下文标记之前的消息作为目标消息。如果来自Mark的所有消息都位于上下文标记之前,那么选择距上下文标记最近的一条作为目标消息。
在一些实施例中,数字助理接收用户输入,选择多个数据项之一而不指定适用于特定于域的项目类型的任何动作(1488)。响应于接收到用户输入,数字助理向用户提供基于语音的提示,该基于语音的提示提供适用于所选数据项的一个或多个动作选择(1490)。例如,如果用户说出“第一家加油站。”助理可以提供提示,说道“您希望打电话还是获得方向指引?”
在一些实施例中,对于多个数据项中的至少一个数据项,数字助理确定数据项无限制部分的相应大小(1492)。然后,根据预先确定的标准,数字助理执行如下操作之一:(1)提供基于语音的输出,该输出向用户阅读无限制部分的全部(1494);以及(2)将数据项的无限制部分分成多个分立部分(1496),提供基于语音的输出,向用户阅读多个分立部分的特定分立部分(1498),以及提示用户输入关于是否阅读多个分立部分的其余分立部分(1500)。在一些实施例中,基于语音的输出包括唯一标识该多个分立部分之间特定分立部分的口头分页指示符。
在一些实施例中,数字助理按照顺序次序为多个数据项中的至少子集提供相应的基于语音的、特定于项目的释义(1502)。在一些实施例中,在按照顺序次序提供相应基于语音的、特定于项目释义时,数字助理从用户接收语音输入,该语音输入请求如下操作之一:跳过一个或多个释义,针对当前数据项呈现附加信息,重复一个或多个先前呈现的释义(1504)。响应于语音输入,数字助理继续根据用户的语音输入提供释义(1506)。在一些实施例中,在按照顺序次序提供相应基于语音的特定于项目释义时,数字助理从用户接收语音输入,该语音输入请求暂停提供释义(1508)。响应于该语音输入,数字助理暂停提供释义以及在暂停期间收听附加的用户输入(1510)。在暂停期间,数字助理响应于一个或多个附加的用户输入执行一个或多个动作(1512)。在执行一个或多个动作之后,数字助理在执行一个或多个动作之后自动恢复提供释义(1514)。例如,在阅读电子邮件列表中的一封邮件时,用户可以打断阅读,并让助理回复消息。在完成并发送消息之后,助理恢复阅读列表中的剩余消息。在一些实施例中,数字助理在自动恢复提供释义之前请求用户确认(1516)。
在一些实施例中,基于语音的概述指定多个数据项的数量。
在一些实施例中,数字助理接收用于请求呈现多个数据项用户输入(1518)。数字助理处理用户输入以确定用户是否明确请求过阅读多个数据项(1520)。在确定用户已明确请求过阅读多个数据项时,数字助理在提供基于语音的概述之后,无需用户再次请求,自动提供基于语音的、特定于项目的释义(1522)。在确定用户未明确请求阅读多个数据项时,数字助理在向用户提供相应的基于语音的、特定于项目的释义之前,提示用户进行确认(1524)。
在一些实施例中,数字助理确定免提情景的存在(1526)。数字助理根据每个子集中预先确定的最大项目数将多个数据项分成一个或多个子集(1528)。然后,数字助理一次针对一个子集中的数据项提供相应的基于语音的、特定于项目的释义(1530)。
在一些实施例中,数字助理确定免提情景的存在(1532)。数字助理根据为免提情景指定的预先确定的最大项目数,限制用于向用户呈现的多个数据项(1534)。在一些实施例中,数字助理在为每个子集中的数据项提供相应的、特定于项目的释义之前,提供相应的基于语音的子集标识符(1536)。例如,子集标识符可以是“前五条消息”,“后五条消息”等。
在一些实施例中,数字助理在向用户提供基于语音的概述和特定于项目的释义时,接收用户的输入(1538)。数字助理处理语音输入以确定语音输入是否与多个数据项相关(1540)。在确定语音输入不与多个数据项相关时:数字助理暂停与多个数据项相关的输出生成(1542),并向用户提供响应于语音输入并与多个数据项无关的输出(1544)。
在一些实施例中,在针对所有多个数据项的相应基于语音的、特定于项目的释义之后,数字助理通过对话界面向用户提供基于语音的关闭(1546)。
在一些实施例中,特定于域的项目类型是本地搜索结果,并且多个数据项是特定的本地搜索的多个搜索结果。在一些实施例中,为了生成多个数据项的基于语音的概述,数字助理确定是否相对于当前用户位置执行特定的本地搜索(1548),在确定相对于当前用户位置执行特定的本地搜索时,数字助理生成基于语音的概述而不在基于语音的概述中明确指出当前用户位置(1550),在确定相对于除当前用户位置之外的相对于特定位置执行特定的本地搜索时,数字助理生成基于语音的概述,在基于语音的概述中明确指出该特定位置(1552)。在一些实施例中,为了生成多个数据项的基于语音的概述,数字助理确定多个搜索结果的数量是否超过三个(1554),在确定数量不超过三个时,助理生成基于语音的概述而不明确指定数量(1556),在确定数量超过三个时,数字助理生成基于语音的概述,明确指定数量(1558)。
在一些实施例中,多个数据项的基于语音的概述指定与多个搜索结果的每个搜索结果相关联的相应公司名称。
在一些实施例中,每个数据项相应基于语音的、特定于项目释义指定多个搜索结果之间搜索结果的相应次序位置,按顺序接着是相应的公司名称、相应的短地址、相应的距离和与搜索结果相关联的相应方位,并且其中相应的短地址仅包括与搜索结果相关联的相应街道名称。在一些实施例中,为了为每个数据项生成相应的特定于项目的释义,数字助理:(1)在确定与数据项相关联的实际距离小于一个距离单位时,在数据项的相应特定于项目的释义中指定实际距离(1560);(2)在确定与数据项相关联的实际距离大于一个距离单位时,将实际距离四舍五入到最接近的整数距离单位,并在数据项的相应特定于项目的释义中指定最接近的整数单位(1562)。
在一些实施例中,根据与数据项相关联的评级、距离和匹配分数之一,多个数据项中评级最高的数据项的相应特定于项目的释义包括指示数据项评级的短语,而多个数据项中其他数据项的相应特定于项目释义省略了所述数据项的评级。
在一些实施例中,数字助理自动提示用户输入关于是否执行适用于特定于域的项目类型的动作,其中仅对多个数据项中的第一数据项提供一次自动提示,不对多个数据项中的其他数据项重复自动提示(1564)。
在一些实施例中,在正向用户呈现多个搜索结果的至少一个子集时,数字助理接收用于请求导航到与搜索结果之一相关联的相应公司位置的用户输入,(1566)。响应于该用户输入,助理确定用户是否已经在通往与相应公司位置不同的目的地的规划路线上导航(1568)。在确定用户已经在通往与相应公司位置不同的目的地的规划路线上时,助理提供语音输出,该语音输出请求用户确认利用新的通往相应公司位置的路线替换规划路线(1570)。
在一些实施例中,数字助理接收用于请求公司位置或新路线的地图视图的附加的用户输入(1572)。助理检测到免视情景的存在(1574)。响应于检测到免视情景的存在,数字助理提供基于语音的警告,指示将不在免视情景中提供地图视图(1576)。在一些实施例中,检测免视情景的存在包括检测用户在移动的车辆中。
在一些实施例中,特定于域的项目类型是提醒,并且多个数据项是针对特定时间范围的多个提醒。在一些实施例中,数字助理检测触发事件,用于向用户呈现提醒列表(1578)。响应于用户输入,数字助理根据一个或多个相关性标准识别用于向用户呈现的多条提醒,该一个或多个相关性标准基于当前日期、当前时间、当前位置、由用户或与用户相关联的设备执行的动作、要由用户或与用户相关联的设备执行的动作、由用户指定的提醒类别中的一个或多个(1580)。
在一些实施例中,用于呈现提醒列表的触发事件包括接收用户查看当天提醒的请求,并基于当前日期识别多个提醒,并且多个提醒中的每个提醒具有当前日期内相应的触发时间。
在一些实施例中,用于呈现提醒列表的触发事件包括接收用户查看最近提醒的请求,并基于当前时间识别多个提醒,并且多个提醒中的每个提醒是在当前时间之前的预先确定的时间段内被触发的。
在一些实施例中,用于呈现提醒列表的触发事件包括接收用户查看即将发生提醒的请求,并基于当前时间识别多个提醒,并且多个提醒中的每个提醒具有在当前时间之后预先确定的时间段内的相应触发时间。
在一些实施例中,用于呈现提醒列表的触发事件包括接收到用户查看特定类别提醒的请求,多个提醒中的每个提醒属于特定类别。在一些实施例中,用于呈现提醒列表的触发事件包括检测到用户离开预先确定的位置。在一些实施例中,用于呈现提醒列表的触发事件包括检测到用户到达预先确定的位置。
在一些实施例中,也可以将用于呈现提醒列表的基于位置、动作、时间的触发事件用作选择标准,以用于确定在提醒列表中应当包括哪些提醒,以在用户请求查看提醒而未在其请求中指定选择标准时向用户呈现。例如,如针对免提列表阅读的使用案例中所述,可以将用户正位于特定位置(例如),离开或到达特定位置,以及执行特定动作(例如开车、步行)的事实用作用于推导适当选择标准的情景,该适当选择标准用于在用户简单问道“为我显示提醒”时选择数据项(例如提醒)以在当前时间向用户显示。
在一些实施例中,数字助理按照根据提醒的相应触发时间排列的次序提供多个提醒的基于语音的特定于项目的释义(1582)。在一些实施例中,提醒未排序。
在一些实施例中,为了识别多个提醒,数字助理应用越来越严格的相关性标准,以选择多个提醒,直到多个提醒的数量不再超过预先确定的阈值数量(1584)。
在一些实施例中,数字助理将多个提醒分成多个类别(1586)。数字助理为多个类别中的每个类别生成相应的基于语音的类别概述(1588)。数字助理在该类别中针对提醒的相应的特定于项目的释义之前立刻提供针对每个类别的相应基于语音的类别概述(1590)。在一些实施例中,多个类别包括以下中的一种或多种:基于位置的类别、基于任务的类别、基于相对于当前时间的触发时间的类别、基于相对于用户指定的时间的触发时间的类别。
在一些实施例中,特定于域的项目类型是日历条目,并且多个数据项是针对特定时间范围的多个日历条目。在一些实施例中,多个数据项的基于语音的概述提供了与多个日历条目中的每个日历条目相关联的定时信息或持续时间信息或两者,而不提供关于日历条目的附加细节。在一些实施例中,多个数据项的基于语音的概述提供了多个日历条目间全天事件的计数。
在一些实施例中,多个数据项的基于语音的概述包括与多个日历条目相关联的相应事件时间的列表,并且其中基于语音的概述仅明确宣告在以下条件之一之下与特定事件时间相关联的相应上午/下午指示:(1)该特定事件时间是列表中的最后一个,(2)该特定事件时间是列表中的第一个且发生于上午。
在一些实施例中,多个数据项的基于语音的特定于项目的释义是根据“<时间><主体><位置,如果有的话>”格式生成的相应日历事件的释义。
在一些实施例中,如果参与者总计数低于预先确定的数量,则相应日历事件的释义列举相应日历事件的一个或多个参与者;如果参与者总计数高于预先确定的数量,则相应日历事件的释义不列举相应日历事件的参与者。
在一些实施例中,如果总计数高于预先确定的数量,则相应日历事件的释义提供参与者的总计数。
在一些实施例中,特定于域的项目类型是电子邮件,并且多个数据项是特定一组电子邮件。在一些实施例中,数字助理接收用于请求列出电子邮件的用户输入(1592)。响应于该用户输入,数字助理根据一个或多个相关性标准识别要向用户呈现的特定一组电子邮件,该一个或多个相关性标准基于如下一项或多项:发送者身份、消息到达时间、已读/未读状态和电子邮件主题(1594)。在一些实施例中,数字助理处理用户输入以确定一个或多个相关性标准中的至少一个(1596)。在一些实施例中,多个数据项的基于语音的概述释义用于识别特定一组电子邮件的一个或多个相关性标准,并提供特定一组电子邮件的计数。在一些实施例中,在提供基于语音的概述之后,数字助理提示用户输入以接受或拒绝向用户阅读该组电子邮件(1598)。在一些实施例中,针对每个数据项的相应的基于语音的、特定于项目的释义是针对特定一组电子邮件中相应电子邮件的相应的基于语音的、特定于项目的释义,且针对相应电子邮件的相应释义指定相应电子邮件在该组电子邮件中的次序位置、相应电子邮件的发送者和电子邮件的主题。
在一些实施例中,对于特定一组电子邮件中的至少一个,数字助理确定电子邮件无限制部分的相应大小(1600)。根据预先确定的标准,数字助理执行如下操作之一:(1)提供基于语音的输出,该输出向用户阅读无限制部分的全部(1602);以及(2)将数据项的无限制部分分成多个分立部分(1604),提供基于语音的输出,该输出向用户阅读多个分立部分的特定分立部分,在阅读特定分立部分之后,提示关于是否阅读多个分立部分的其余分立部分的用户输入。
以上流程图例示了针对一般数据项以及针对各种特定于域的项目类型在免提列表阅读中可以实施的各种选项。尽管在流程图中示出了各个步骤,但未必要按照任何特定顺序执行各步骤,除非在特定步骤中明确指示。在各种实施例中并非要执行所有步骤。来自不同域的各个特征可以适用于阅读其他域中的项目。可以在各个实施例中选择性组合各步骤,除非明确禁止。其他步骤、方法和特征在说明书的其他部分中描述,可以与相对于图14A-图14L所述的步骤组合。
已经相对于可能的实施例特别详细描述了本发明。本领域的技术人员应当理解,可以在其他实施例中实践本发明。首先,部件的特定命名、术语的大写、属性、数据结构或任何其他编程或结构方面不是强制性的或重要的,实施本发明或其特征的机构可以具有不同的名称、格式或协议。此外,可以如上所述通过硬件和软件的组合或整个在硬件元件中或整个在软件元件中实施该系统。而且,本文描述的各种系统部件之间的特别功能划分仅仅是示例性的,并非强制性的;由单个系统部件执行的功能可以转而由多个部件执行,并且由多个部件执行的功能可以转而由单个部件执行。
在各种实施例中,可以将本发明实现为一种用于单独或以任何组合执行上述技术的系统或方法。在另一个实施例中,可以将本发明实现为包括非暂态计算机可读存储介质和计算机程序代码的计算机程序产品,计算机程序代码编码在介质上,用于使得计算设备或其他电子设备中的处理器执行上述技术。
本说明书中提到的“一个实施例”或“实施例”是指,结合实施例所描述的特定特征、结构或特性可包括在本发明的至少一个实施例中。在本说明书中的不同位置出现短语“在一个实施例中”不一定都是指同一个实施例。
已按照对计算设备存储器内的数据位进行操作的算法和符号表示来呈现以上内容的一些部分。这些算法描述和表示是数据处理领域的技术人员所使用的装置,而这些装置也能最有效地将其工作实质传达给该领域的其他技术人员。算法在本文一般是指导致所希望的结果的操作的自相一致的步骤(指令)。步骤是那些需要对物理量进行物理操控的步骤。通常,尽管不是必要的,但这些量采用能够被存储、传送、组合、比较以及以其他方式操控的电、磁或光信号形式。已被证明,在主要出于通用原因而将这些信号指代为位、值、要素、符号、字符、项、数字等时是方便的。此外,有时将需要物理操控物理量的步骤的某些布置称为模块或代码设备也是方便而不失一般性的。
然而,应当谨记,所有这些以及类似的术语都与适当的物理量相关联,并且只是应用于这些量的方便标签。除非另外特别说明,否则从以下论述中显而易见的是,可以理解,在整个说明书中,使用诸如“处理”或“运算”或“计算”或“显示”或“确定”等术语的论述是指计算机系统或类似的电子计算模块和/或设备的动作和过程,其可对计算机系统存储器和寄存器或其他此类信息存储、传输或显示设备中表示为物理(电子)量的数据进行操控和转换。
本发明的某些方面包括本文以算法形式描述的过程步骤和指令。需注意,可以在软件、固件和/或硬件中实现本发明的过程步骤和指令,在实现于软件中时,可以将其下载以驻留于由各种操作系统使用的不同平台上或从其加以操作。
本发明还涉及一种用于执行本文的操作的装置。该装置可专门构造用于所需的目的,或者可包括由存储在计算设备中的计算机程序选择性地激活或重新配置的通用计算设备。此类计算机程序可存储在计算机可读存储介质中,例如但不限于任何类型的盘,包括软盘、光盘、CD-ROM、磁光盘,只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、专用集成电路(ASIC),或适合用于存储电子指令的任何类型的介质,并且每个均耦接到计算机系统总线。此外,本文所称的计算设备可以包括单个处理器或者可以是针对提高的计算能力采用多个处理器设计的架构。
本文中所呈现的算法和显示并不固有地与任何特定计算设备、虚拟系统或其他装置相关。根据本文的教导内容,各种通用系统还可以与程序一起使用,或者可以证明其便于构造用于执行所要求的方法步骤的更专用的装置。根据本文所提供的描述,用于各种这些系统的所需结构将是显而易见的。此外,本发明未参照任何特定的编程语言进行描述。应当理解,可以使用多种编程语言实现本文所述的本发明的教导内容,上文提到的任何具体语言都是为了公开本发明的实现和最优模式而提供的。
因此,在各种实施例中,可以将本发明实现为软件、硬件和/或其他元件,用于控制计算机系统、计算设备或其他计算设备或它们的任何组合或多个。根据现有技术中公知的技术,此类电子设备可以包括,例如处理器、输入设备(诸如键盘、鼠标、触控板、跟踪板、操纵杆、轨迹球、麦克风和/或它们的任何组合)、输出设备(诸如屏幕、扬声器等)、存储器、长期存储装置(诸如磁性存储装置、光存储装置等)和/或网络连接。此类电子设备可以是便携的或非便携的。可以用于实施本发明的电子设备的实例包括:移动电话、个人数字助理、智能电话、信息亭、台式计算机、膝上型计算机、平板电脑、消费电子设备、消费娱乐设备、音乐播放器、相机、电视、机顶盒、电子游戏设备等。用于实施本发明的电子设备可以使用任何操作系统,例如,可购自Apple Inc(Cupertino,California)的iOS或MacOS,或适应于在该设备上使用的任何其他操作系统。
尽管已经相对于有限数量的实施例描述了本发明,但是本领域的技术人员受益于以上描述,应当理解可以设计出不脱离本文所述的本发明的范围的其他实施例。此外,应当指出,出于可读性和指导性目的,在原则上选择了本说明书中使用的语言,可以不这样选择以描绘或界定本发明的主题。因此,本发明的公开意在例示而非限制在权利要求书中所阐述的本发明的范围。
Claims (17)
1.一种在电子设备处执行的调整用户界面的方法,所述电子设备具有存储器和一个或多个处理器,所述存储器存储由所述一个或多个处理器执行的一个或多个程序,所述方法包括:
自动确定所述电子设备在车辆中而无需用户输入以及无需考虑数字助理应用是否已被用户独立调用;以及
响应于所述确定,自动调用由所述电子设备实现的虚拟助理的收听模式,其中在所述电子设备提供听觉输出之后,所述收听模式使所述电子设备在预先确定的时间内自动收听来自所述用户的语音输入而无需来自用户的物理输入,并且
其中在调用由所述电子设备实现的所述虚拟助理的所述收听模式之前,所述电子设备并未收听语音输入。
2.根据权利要求1所述的方法,所述收听模式使所述电子设备连续收听来自用户的语音输入。
3.根据权利要求2所述的方法,其中响应于检测到所述电子设备连接到充电源,所述收听模式使所述电子设备连续收听来自所述用户的语音输入。
4.根据权利要求1所述的方法,还包括:
在处于所述收听模式时,检测由所述用户说出的唤醒字词;
响应于检测到所述唤醒字词,收听来自所述用户的语音输入;从所述用户接收语音输入;以及
生成对所述语音输入的响应。
5.根据权利要求1所述的方法,其中确定所述电子设备在车辆中包括检测到所述电子设备在与所述车辆通信。
6.根据权利要求5所述的方法,其中检测到所述电子设备在与所述车辆通信包括检测到所述电子设备在与所述车辆的语音控制系统通信。
7.根据权利要求1所述的方法,其中确定所述电子设备在车辆中包括检测到所述电子设备正在以第一预先确定的速度或高于第一预先确定的速度移动。
8.根据权利要求7所述的方法,其中利用由以下项构成的组中的一者或多者来确定所述电子设备的所述速度:
GPS位置信息;加速度计数据;
无线数据信号信息;和速度计信息。
9.根据权利要求1所述的方法,还包括,响应于所述确定,限制查看由所述电子设备呈现的视觉输出的能力。
10.根据权利要求1所述的方法,还包括,响应于所述确定,限制与由所述电子设备呈现的图形用户界面交互的能力。
11.根据权利要求1所述的方法,还包括,响应于所述确定,限制使用所述电子设备的物理部件的能力。
12.根据权利要求1所述的方法,还包括,响应于所述确定,限制在所述电子设备上执行一个或多个应用的能力。
13.根据权利要求1所述的方法,还包括,响应于所述确定,限制执行由所述电子设备启用的一种或多种功能的能力。
14.根据权利要求1所述的方法,还包括,响应于所述确定,限制所述设备以便不从所述用户请求触摸输入。
15.根据权利要求1所述的方法,还包括,响应于所述确定,限制所述设备以便不对来自所述用户的触摸输入做出响应。
16.根据权利要求1所述的方法,还包括:在输入设备处接收语音输入;
生成对所述语音输入的响应,所述响应包括待向所述用户呈现的信息项的列表;以及
经由听觉输出模式输出所述信息项,其中如果所述电子设备不在车辆中,则将仅在所述电子设备的显示屏上呈现所述信息项。
17.根据权利要求1所述的方法,还包括:
在输入设备处接收语音输入,其中所述语音输入对应于待向接收者发送的内容;
产生对应于所述语音输入的文本;以及
经由听觉输出模式输出所述文本,其中如果所述电子设备不在车辆中,则将仅在所述电子设备的显示屏上呈现所述文本;以及
在向所述接收者发送所述文本之前请求确认。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/913,421 US10705794B2 (en) | 2010-01-18 | 2013-06-08 | Automatically adapting user interfaces for hands-free interaction |
US13/913,421 | 2013-06-08 | ||
PCT/US2014/041173 WO2014197737A1 (en) | 2013-06-08 | 2014-06-05 | Automatically adapting user interfaces for hands-free interaction |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105284099A CN105284099A (zh) | 2016-01-27 |
CN105284099B true CN105284099B (zh) | 2019-05-17 |
Family
ID=51134345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480030632.0A Active CN105284099B (zh) | 2013-06-08 | 2014-06-05 | 针对免提交互来自动调整用户界面 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP3005075A1 (zh) |
KR (1) | KR101834624B1 (zh) |
CN (1) | CN105284099B (zh) |
HK (1) | HK1223694A1 (zh) |
WO (1) | WO2014197737A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017158208A1 (es) * | 2016-03-18 | 2017-09-21 | Universidad De La Laguna | Sistema y método para la automatización y uso seguro de aplicaciones móviles en vehículos |
US10599391B2 (en) * | 2017-11-06 | 2020-03-24 | Google Llc | Parsing electronic conversations for presentation in an alternative interface |
CN107919120B (zh) | 2017-11-16 | 2020-03-13 | 百度在线网络技术(北京)有限公司 | 语音交互方法及装置,终端,服务器及可读存储介质 |
US10930278B2 (en) * | 2018-04-09 | 2021-02-23 | Google Llc | Trigger sound detection in ambient audio to provide related functionality on a user interface |
GB2573097A (en) * | 2018-04-16 | 2019-10-30 | British Gas Trading Ltd | Natural language interface for a data management system |
KR102476621B1 (ko) * | 2018-05-07 | 2022-12-12 | 구글 엘엘씨 | 사용자, 자동화된 어시스턴트 및 컴퓨팅 서비스 간의 다중 모드 상호 작용 |
GB2575970A (en) | 2018-07-23 | 2020-02-05 | Sonova Ag | Selecting audio input from a hearing device and a mobile device for telephony |
CN109098480A (zh) * | 2018-10-10 | 2018-12-28 | 中国计量大学 | 凉亭装置 |
CN111695044B (zh) * | 2019-03-11 | 2023-08-18 | 北京柏林互动科技有限公司 | 用户排名的数据处理方法、装置及电子设备 |
US11321048B2 (en) | 2020-02-25 | 2022-05-03 | Motorola Solutions, Inc. | Method and apparatus for temporary hands-free voice interaction |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101325756A (zh) * | 2007-06-11 | 2008-12-17 | 英华达(上海)电子有限公司 | 一种手机语音辨识装置以及激活手机语音辨识的方法 |
CN101448340A (zh) * | 2007-11-26 | 2009-06-03 | 联想(北京)有限公司 | 一种检测移动终端状态的方法、系统及该移动终端 |
CN102137193A (zh) * | 2011-04-13 | 2011-07-27 | 深圳凯虹移动通信有限公司 | 一种移动通讯终端及其通讯控制方法 |
CN102693725A (zh) * | 2011-03-25 | 2012-09-26 | 通用汽车有限责任公司 | 依赖于文本信息语境的语音识别 |
CN102792320A (zh) * | 2010-01-18 | 2012-11-21 | 苹果公司 | 智能自动化助理 |
CN102917004A (zh) * | 2011-08-04 | 2013-02-06 | 通用汽车环球科技运作有限责任公司 | 车辆运动时限制驾驶员使用移动设备特征的系统及方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4812941B2 (ja) * | 1999-01-06 | 2011-11-09 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 注目期間を有する音声入力装置 |
KR100477796B1 (ko) * | 2002-11-21 | 2005-03-22 | 주식회사 팬택앤큐리텔 | 속도 감응에 의한 핸즈프리 전환 장치 및 그 방법 |
KR100819928B1 (ko) * | 2007-04-26 | 2008-04-08 | (주)부성큐 | 휴대 단말기의 음성 인식장치 및 그 방법 |
US10496753B2 (en) * | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US9858925B2 (en) * | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US10255566B2 (en) * | 2011-06-03 | 2019-04-09 | Apple Inc. | Generating and processing task items that represent tasks to perform |
US20110111724A1 (en) * | 2009-11-10 | 2011-05-12 | David Baptiste | Method and apparatus for combating distracted driving |
US10145960B2 (en) * | 2011-02-24 | 2018-12-04 | Ford Global Technologies, Llc | System and method for cell phone restriction |
-
2014
- 2014-06-05 EP EP14736158.8A patent/EP3005075A1/en not_active Ceased
- 2014-06-05 KR KR1020157033745A patent/KR101834624B1/ko active IP Right Grant
- 2014-06-05 CN CN201480030632.0A patent/CN105284099B/zh active Active
- 2014-06-05 WO PCT/US2014/041173 patent/WO2014197737A1/en active Application Filing
-
2016
- 2016-10-11 HK HK16111711.7A patent/HK1223694A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101325756A (zh) * | 2007-06-11 | 2008-12-17 | 英华达(上海)电子有限公司 | 一种手机语音辨识装置以及激活手机语音辨识的方法 |
CN101448340A (zh) * | 2007-11-26 | 2009-06-03 | 联想(北京)有限公司 | 一种检测移动终端状态的方法、系统及该移动终端 |
CN102792320A (zh) * | 2010-01-18 | 2012-11-21 | 苹果公司 | 智能自动化助理 |
CN102693725A (zh) * | 2011-03-25 | 2012-09-26 | 通用汽车有限责任公司 | 依赖于文本信息语境的语音识别 |
CN102137193A (zh) * | 2011-04-13 | 2011-07-27 | 深圳凯虹移动通信有限公司 | 一种移动通讯终端及其通讯控制方法 |
CN102917004A (zh) * | 2011-08-04 | 2013-02-06 | 通用汽车环球科技运作有限责任公司 | 车辆运动时限制驾驶员使用移动设备特征的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
KR101834624B1 (ko) | 2018-03-05 |
HK1223694A1 (zh) | 2017-08-04 |
WO2014197737A1 (en) | 2014-12-11 |
KR20160003138A (ko) | 2016-01-08 |
EP3005075A1 (en) | 2016-04-13 |
CN105284099A (zh) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105379234B (zh) | 用于提供针对受限的注意力分散情景和非受限的注意力分散情景的不同用户界面的应用网关 | |
CN105284099B (zh) | 针对免提交互来自动调整用户界面 | |
CN107978313B (zh) | 智能自动化助理 | |
US20190095050A1 (en) | Application Gateway for Providing Different User Interfaces for Limited Distraction and Non-Limited Distraction Contexts | |
CN110473538B (zh) | 检测数字助理的触发 | |
CN108093126B (zh) | 用于拒绝来电的方法、电子设备及存储介质 | |
CN103959751A (zh) | 自动调整用户界面以用于免提交互 | |
JP7247271B2 (ja) | 非要請型コンテンツの人間対コンピュータダイアログ内へのプロアクティブな組込み | |
CN105190607B (zh) | 通过智能数字助理的用户培训 | |
CN105027195B (zh) | 中断的上下文相关处理 | |
US10679605B2 (en) | Hands-free list-reading by intelligent automated assistant | |
CN110168526A (zh) | 用于媒体探索的智能自动化助理 | |
US10705794B2 (en) | Automatically adapting user interfaces for hands-free interaction | |
CN103226949B (zh) | 在虚拟助理中使用情境信息来促进命令的处理 | |
CN110364148A (zh) | 自然助理交互 | |
CN112567332A (zh) | 语音命令的多模态输入 | |
CN109463004A (zh) | 数字助理服务的远场延伸 | |
CN107480161A (zh) | 用于媒体探究的智能自动化助理 | |
CN108292203A (zh) | 基于设备间对话通信的主动协助 | |
CN107491285A (zh) | 智能设备仲裁和控制 | |
CN107949823A (zh) | 零延迟数字助理 | |
CN104969289A (zh) | 数字助理的语音触发器 | |
CN107113222A (zh) | 基于环境的主动聊天信息系统 | |
CN110442699A (zh) | 操作数字助理的方法、计算机可读介质、电子设备和系统 | |
CN111429896B (zh) | 用于在主设备处访问配套设备的呼叫功能的语音交互 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |