自动调整用户界面以用于免提交互的制作方法

文档序号:15049827发布日期:2018-07-28 00:01阅读:300来源:国知局

本申请是国际申请号为pct/us2012/056382、国际申请日为2012年9月20日、优先权日2011年9月30日、进入中国国家阶段日期为2014年5月28日、中国国家申请号为201280058606.x的发明专利申请的分案申请。

本发明涉及多模态用户界面,并且更具体地讲,涉及包括基于语音的模态和视觉模态这两者的用户界面。



背景技术:

许多现有操作系统和设备使用语音输入作为用户可借以控制操作的模态。一个实例为语音命令系统,其将具体言语命令映射成操作,例如以通过讲出人名来发起电话号码的拨号。另一个实例为交互式语音响应(ivr)系统,其允许人们通过诸如自动电话服务台之类的电话来访问静态信息。

许多语音命令和ivr系统在范围上相对狭窄且仅可处理预定的一组语音命令。此外,其输出通常获自固定的一组响应。

一种智能自动助理,在本文中也称为虚拟助理,能够在人与计算机之间提供改进的接口,包括自然语言输入的处理。此类助理可如2011年1月10日提交的相关美国实用专利申请序列号12/987,982的“intelligentautomatedassistant”所述来实施,所述申请的全部公开内容以引用方式并入本文,此类助理允许用户使用自然语言(以语音和/或文本的形式)与设备或系统交互。此类助理解译用户输入,将用户的意图实施为任务以及这些任务的参数,执行服务以支持这些任务,并产生对用户而言可理解的输出。

虚拟助理能够使用通用语音和自然语言理解技术以识别更大范围的输入,从而能够生成与用户的对话。一些虚拟助理可以模式的组合生成输出,所述模式包括言语反应和书面文本,并且所述虚拟助理还可提供允许屏幕上元素的直接操控的图形用户界面(gui)。然而,用户可能无法始终处于他/或她可利用此类视觉输出或直接操控界面的情况。例如,用户可能正在驾驶或操作机械,或者可能具有视力残疾,或者可能只是对视觉界面不适应或不熟悉。

用户阅读屏幕或通过接触(包括使用键盘、鼠标、触摸屏、指向设备等)与设备进行交互的能力的缺失或限制的任何情况在本文中称为“免提情境”。例如,在用户试图在驾驶的同时操作设备的情况下,如上文所提及,用户可听到语音输出并使用其声音进行响应,但出于安全原因,不应阅读小号字体,触击菜单,或输入文本。

免提情境对诸如虚拟助理之类的复杂系统的构建者提出了特殊挑战。用户要求无论是否在免提情境下均全面获取设备的特征。然而,如果未考虑免提操作中固有的特定限制,则可引起设备或系统的实用性和可用性两者受到限制的情况,并且可甚至通过使用户从诸如操作车辆的主要任务中分心而妨碍安全性。



技术实现要素:

根据本发明的各种实施例,诸如虚拟助理之类的系统的用户界面被自动调整以适于免提使用。通过自动或手动部件来检测免提情境,并且所述系统对复杂的交互系统的各个阶段进行调整以修改用户体验以反映此类情境的特定限制。本发明的系统因此允许虚拟助理或其他复杂系统的单个具体实施以动态地提供用户界面元素并更改用户界面行为,以在不妨碍相同系统的针对手持使用的用户体验的情况下允许免提使用。

例如,在各种实施例中,本发明的系统提供用于调节虚拟助理的操作的机制,使得该系统以允许用户完成其任务而不必阅读屏幕上的细节的方式提供输出。此外,在各种实施例中,虚拟助理可提供用于接收语音输入的机制,以作为阅读、轻敲、点击、键入或执行通常使用图形用户界面实现的其他功能的替代形式。

在各种实施例中,本发明的系统在允许与免提情境相关的特定要求和限制的同时提供与常规图形用户界面的基础功能性相同(或近似)的基础功能性。更一般地讲,本发明的系统在有利于免提情境中的操作的同时允许核心功能性保持基本上相同。在一些实施例中,根据本发明的技术构建的系统允许用户在单个会话中的一些情况下在免提模式与常规(“手持”)模式之间自由选择。例如,可将相同界面制作成可适应于办公室环境和移动车辆这两者,其中系统随着环境变化而动态地对用户界面行为做出必要的更改。

根据本发明的各种实施例,可实施任何数量的机制以用于针对免提情境调整虚拟助理的操作。在各种实施例中,虚拟助理是如2011年1月10日提交的美国实用专利申请序列号为12/987,982的“intelligentautomatedassistant”的智能自动助理,所述申请的全部公开内容以引用的方式并入本文。此类助理使用自然语言对话以整合的会话方式与用户交互,并在适合获取信息或执行各种动作时调用外部服务。

根据本发明的各种实施例,虚拟助理可被配置为、设计为和/或可操作以检测免提情境并在执行各种不同类型的操作、功能性和/或特征的过程中相应地调节其操作,和/或对其上安装有虚拟助理的电子设备的多个特征、操作和应用程序进行组合。在一些实施例中,本发明的虚拟助理可检测免提情境并在接收输入、提供输出、参与用户的对话、和/或基于所辨识的意图执行(或发起)动作时相应地调节其操作。

可例如通过激活和/或与电子设备上可用的任何应用程序或服务以及通过诸如互联网之类的电子网络而可用的服务交互来执行动作。在各种实施例中,可通过应用程序编程接口(api)或由任何其他合适的一个或多个机制执行外部服务的此类激活。以此方式,根据本发明的各种实施例实施的虚拟助理可针对电子设备的多种不同应用程序和功能并相对于通过互联网而可用的服务提供免提使用环境。如在上文所引用的相关专利申请中所述,此类虚拟助理的使用可为用户减轻以下负担:了解哪种功能性在设备上以及在联网型服务上可用;如何与此类服务交互以获取他/或她所想要的内容;以及如何解译从此类服务接收的输出;相反,本发明的助理可充当用户与此类多样化服务之间的媒介。

此外,在各种实施例中,本发明的虚拟助理提供一种会话界面,用户可发现该会话界面比常规图形用户界面更直观且更简洁。用户可部分地根据免提或手持情境是否激活来使用多个可用输入和输出机制中的任一者以会话对话的形式与助理交互。此类输入和输出机制的实例不受限制地包括语音、图形用户界面(按钮和链接)、文本输入等。可使用多个不同平台中的任一者实施该系统,所述平台为诸如设备api、web、电子邮件等或它们的任何组合。可在以听觉和/或视觉的方式呈现会话的情境中向用户呈现附加输入请求。可采用短期和长期存储器,使得可鉴于给定会话内的先前事件和通信以及关于用户的历史和简况信息而在正确的情境中解译用户输入。

在各种实施例中,本发明的虚拟助理可控制电子设备的各种特征和操作。例如,虚拟助理可通过api或通过其他手段调用与设备上的功能性和应用程序交互的服务,以执行换句话讲可能使用设备上的常规用户界面发起的功能和操作。此类功能和操作可包括例如设置警报、拨打电话、发送文本信息或电子邮件信息、添加日历事件,等等。此类功能和操作可作为插件功能在用户与助理之间的会话对话的情境中执行。此类功能和操作可由用户在此类对话的情境中指定,或者它们可基于对话的情境而自动执行。本领域的技术人员将认识到,助理可由此被用作发起和控制电子设备上的各种操作的机制。通过收集造成与用户当前情况有关的干扰的情境证据,并通过相应地调节用户界面的操作,本发明的系统能够呈现用于启用虚拟助理的免提操作的机制以实施用于控制所述设备的此类机制。

根据一些实施例,一种方法包括在处理器处检测免提情境是否激活。该方法还包括在输出设备处提示用户进行输入。该方法还包括在输入设备处接收用户输入。该方法还包括在处理器处解译所接收的用户输入以获得用户意图的表示;至少部分地基于所获得的用户意图的表示来识别至少一个任务以及所述任务的至少一个参数;使用所述至少一个参数执行所述至少一个任务以得到结果;基于所得到的结果生成对话响应。该方法还包括在输出设备处输出所生成的对话响应。响应于检测到设备在免提情景中,以与跟免提情境相关的限制相一致的方式执行以下步骤中的至少一者:提示用户进行输入,接收用户输入,解译接收的用户输入,识别所述至少一个任务和所述任务的至少一个参数,以及生成对话响应。

根据一些实施例,电子设备包括一个或多个处理器、存储器和一个或多个程序;所述一个或多个程序存储在存储器中并被配置为由所述一个或多个处理器执行,并且所述一个或多个程序包括用于执行任一上文所述方法的操作的指令。根据一些实施例,计算机可读存储介质中已存储了指令;在由电子设备执行时,所述指令使设备执行任一上文所述方法的操作。根据一些实施例,电子设备包括用于执行任一上文所述方法的操作的部件。根据一些实施例,用于电子设备的信息处理装置包括用于执行任一上文所述方法的操作的部件。

根据一些实施例,电子设备包括被配置为检测免提情境是否激活的处理单元。电子设备还包括耦接至处理单元并被配置为提示用户进行输入的输出单元,以及耦接至处理单元并被配置为接收用户输入的输入单元。处理单元进一步被配置为:解译所接收的用户输入以得到用户意图的表示;至少部分地基于所得到的用户意图的表示来识别至少一个任务以及所述任务的至少一个参数;使用所述至少一个参数执行所述至少一个任务以得到结果;基于所得到的结果生成对话响应;以及使输出设备输出所生成的对话响应。响应于检测到设备在免提情景中,以与跟免提情境相关的限制相一致的方式执行以下步骤中的至少一者:提示用户进行输入,接收用户输入,解译接收的用户输入,识别所述至少一个任务和所述任务的至少一个参数,以及生成对话响应。

附图说明

附图连同说明书一起示出了本发明的若干实施例,用于说明根据实施例的本发明的原理。本领域的技术人员将认识到,附图中所示的特定实施例仅是示例性的,并不旨在限制本发明的范围。

图1为屏幕截图,示出了根据现有技术的用于阅读文本信息的手持界面的实例。

图2为屏幕截图,示出了用于响应于文本信息的界面的实例。

图3a和3b为一系列屏幕截图,示出了用于回复文本信息的语音听写界面的实例。

图4为根据一个实施例的屏幕截图,示出了用于接收文本信息的界面的实例。

图5a至5d为根据本发明的实施例的一系列屏幕截图,示出了多模态虚拟助理的操作的实例,其中用户在免提情境中接收和回复文本信息。

图6a至6c为根据本发明的实施例的一系列屏幕截图,示出了多模态虚拟助理的操作的实例,其中用户在免提情境中修改文本信息。

图7为根据一个实施例的流程图,示出了支持免提情境的动态检测和调整的虚拟助理的操作的方法。

图8为根据一个实施例示出了虚拟助理系统的实例的框图。

图9为根据至少一个实施例的框图,示出了适用于实施虚拟助理的至少一部分的计算设备。

图10为根据至少一个实施例的框图,示出了用于在独立计算系统上实施虚拟助理的至少一部分的架构。

图11为根据至少一个实施例的框图,示出了用于在分布式计算网络上实施虚拟助理的至少一部分的架构。

图12为描绘了系统架构的框图,示出了多种不同类型的客户端和操作模式。

图13为根据一个实施例的框图,描绘了彼此通信以实施本发明的客户端和服务器。

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

具体实施方式

根据本发明的各种实施例,结合虚拟助理的操作,来检测免提情境并相应地调整虚拟助理的用户界面,以使用户在免提情境下能够与助理有意义地交互。

出于描述的目的,术语“虚拟助理”相当于术语“智能自动助理”,这两个术语均指执行以下功能中的一者或多者的任何信息处理系统:

·以语音形式和/或文本形式解译人类语言输入;

·将用户意图的表示实践为可执行的形式,诸如使用步骤和/或参数的任务表示;

·通过调用程序、方法、服务、api等来执行任务表示;以及

·以语言形式和/或图表形式生成对用户的输出响应。

在如于2011年1月10日提交的相关美国实用专利申请序列号为12/987,982的“intelligentautomatedassistant”中描述了此类虚拟助理的实例,所述申请的全部公开内容以引用的方式并入本文。

现在将参照如附图中所示的示例性实施例详细描述各种技术。在以下描述中,阐述了许多具体细节以便提供对本文所述或引用的一个或多个方面和/或特征的彻底理解。然而,对于本领域的技术人员将显而易见的是,本文所述或引用的一个或多个方面和/或特征可以在不具有这些具体细节中的一些或全部的情况下实践。在其他情况下,为了不使本文所述或引用的方面和/或特征费解,没有详细描述熟知的处理步骤和/或结构。

在本专利申请中可描述一个或多个不同的发明。此外,对于本文所述的一个或多个发明,许多实施例可在本专利申请中描述并且仅出于示例性目的而呈现。所描述的实施例在任何意义上均非旨在进行限制。一个或多个所述发明可广泛地适用于许多实施例,正如通过公开内容所显而易见的。这些实施例被足够详细地描述以使本领域的技术人员能够实践一个或多个所述发明,并且应当理解,可使用其他实施例,并可在不脱离一个或多个所述发明的范围的情况下进行结构修改、逻辑修改、软件修改、电气修改和其他修改。因此,本领域的技术人员将认识到,可在各种变型和更改的情况下实践一个或多个所述发明。可参照一个或多个特定实施例或图示来描述一个或多个所述发明的具体特征,所述实施例或图示形成本公开内容的一部分,并且其中以说明的方式示出了一个或多个所述发明的特定实施例。然而,应当理解,此类特征不限于参照所述的特征的一个或多个特定实施例或图示中的使用。本公开内容既不是一个或多个所述发明的所有实施例的字面描述,也不是必须存在于所有实施例中的一个或多个所述发明的特征的列表。

在本专利申请中提供的章节的标头和本专利申请的标题仅为了方便起见,不应被视为以任何方式限制本公开内容。

除非另有明确规定,彼此通信的设备不需要是彼此连续通信的。此外,彼此通信的设备可直接通信或通过一个或多个媒介间接通信。

多个组件彼此通信的实施例的描述并非暗示需要所有此类组件。相反,描述了多种可选组件以示出一个或多个所述发明的大量可行实施例。

此外,尽管可以相继顺序描述工艺、方法步骤、算法等,但此类工艺、方法和算法可被配置为以任何合适的顺序工作。换句话讲,可在本专利申请中描述的步骤的任何序列或顺序并未自身地和自行地指示要求以该顺序来执行步骤。此外,一些步骤尽管被描述或暗示为非同时地发生(例如,因为一个步骤在另一步骤之后描述),但是也可同时执行。此外,通过在附图中的图示而进行的过程的说明并不意指所示的过程不包括它的其他变型形式和修改形式,并不是意指所示的过程或其任何步骤是一个或多个所述发明所必需的,也并不意指所示的过程是优选的。

在描述单个设备或物件时,将显而易见的是,可使用不止一个设备/物件(无论其是否配合)来代替单个设备/物件。类似地,在描述不止一个设备或物件(无论其是否配合)的情况下,将显而易见的是,可使用单个设备/物件来代替所述不止一个设备或物件。

设备的功能性和/或特征可通过未明确描述为具有此类功能性/特征的一个或多个其他设备而可供选择地体现。因此,一个或多个所述发明的其他实施例不必包括设备本身。

有时为了清楚起见,将以单数形式描述本文所述或引用的技术和机制。然而,应当指出的是,除非另外指明,特定实施例包括技术的多次迭代或机制的多个例示。

尽管是在用于实施智能自动助理(又称作虚拟助理)的技术的上下文内描述,但应理解,也可在涉及与软件进行的人类和/或计算机化交互技术的其他领域中部署且/或应用本文所述的各种方面和技术。

与虚拟助理技术(例如,可由本文所述的一个或多个虚拟助理系统实施例使用、由本文所述的一个或多个虚拟助理系统实施例提供、和/或在本文所述的一个或多个虚拟助理系统实施例处实施的虚拟助理技术)有关的其他方面在以下一个或多个申请中公开,这些申请的全部公开内容以引用的方式并入本文:

·于2011年1月10日提交的美国实用专利申请序列号为12/987,982的“intelligentautomatedassistant”;

·于2010年1月18日提交的美国临时专利申请序列号为61/295,774的“intelligentautomatedassistant”;

·于2011年9月30日提交的标题为“usingcontextinformationtofacilitateprocessingofcommandsinavirtualassistant”;

·于2006年9月8日提交的美国专利申请序列号为11/518,292的“methodandapparatusforbuildinganintelligentautomatedassistant”;

·于2009年6月12日提交的美国临时专利申请序列号为61/186,414的“systemandmethodforsemanticauto-completion”。

硬件架构

通常,可在硬件上或在软件与硬件的组合上实施本文公开的虚拟助理技术。例如,可在操作系统内核中、单独的用户过程中、绑定到网络应用程序中的库包中、特别构造的机器上、和/或网络接口卡上实施所述技术。在具体实施例中,可在诸如操作系统之类的软件中或在操作系统上运行的应用程序中实施本文公开的技术。

可在可编程机器上实施本文公开的一个或多个虚拟助理实施例中的至少一些的一个或多个软件/硬件混合具体实施,所述可编程机器由存储在存储器中的计算机程序选择性地激活或重新配置。此类网络设备可具有可被配置或设计为使用不同类型的网络通信协议的多个网络接口。这些机器中的一些的通用架构通过本文公开的说明书描述而显现。根据具体实施例,可在一个或多个通用网络主机机器上实施本文公开的各种虚拟助理实施例的至少一些所述特征和/或功能性,所述通用网络主机机器为诸如终端用户计算机系统、计算机、网络服务器或服务器系统、移动计算设备(例如,个人数字助理、移动电话、智能手机、膝上型计算机、平板电脑等)、消费电子设备、音乐播放器、或任何其他合适的电子设备、路由器、交换机等,或它们的任何组合。在至少一些实施例中,可在一个或多个虚拟化计算环境(例如,网络计算云等等)中实施本文公开的各种虚拟助理实施例的至少一些特征和/或功能性。

现在参见图9,其示出了描绘适于实施本文所公开的至少一部分所述虚拟助理特征和/或功能性的计算设备60的框图。计算设备60可以是例如终端用户计算机系统、网络服务器或服务器系统、移动计算设备(例如,个人数字助理、移动电话、智能手机、膝上型计算机、平板电脑,等等)、消费电子设备、音乐播放器、或任何其他合适的电子设备,或它们的任何组合或部分。计算设备60可适于通过诸如互联网之类的通信网络,使用此类通信的已知协议,与其他计算设备无线地或有线地通信,所述其他计算设备为诸如客户端和/或服务器。

在一个实施例中,计算设备60包括中央处理单元(cpu)62、接口68和总线67(诸如外围组件互连(pci)总线)。当在适当的软件或固件的控制下工作时,cpu62可负责实施与特殊配置的计算设备或机器的功能相关联的特定功能。例如,在至少一个实施例中,用户的个人数字助理(pda)或智能手机可被配置或设计为用作使用cpu62、存储器61、65和一个或多个接口68的虚拟助理系统。在至少一个实施例中,可使cpu62在软件模块/组件的控制下执行不同类型的虚拟助理功能和/或操作中的一者或多者,所述软件模块/组件例如可包括操作系统和任何适当的应用程序软件、驱动程序等。

cpu62可包括一个或多个处理器63,所述处理器诸如例如得自motorola或intel系列微处理器或mips系列微处理器的处理器。在一些实施例中,一个或多个处理器63可包括用于控制计算设备60的操作的特别设计的硬件(例如,专用集成电路(asic)、电可擦除可编程只读存储器(eeprom)、现场可编程门阵列(fpga)等)。在一个具体实施例中,存储器61(诸如非易失性随机存取存储器(ram)和/或只读存储器(rom))也形成cpu62的一部分。然而,也存在可将存储器耦接到系统的许多不同方式。内存块61可用于多种目的,诸如例如高速缓存和/或存储数据、编程指令等。

如本文所用,术语“处理器”并不仅限于本领域中称为处理器的那些集成电路,而是泛指微控制器、微型计算机、可编程逻辑控制器、专用集成电路、和任何其他可编程电路。

在一个实施例中,接口68被提供为接口卡(有时称为“线路卡”)。通常,所述接口控制通过计算网络进行的数据包的发送和接收,并且有时支持与计算设备60一起使用的其他外围设备。在可提供的接口中有ethernet接口、帧中继接口、电缆接口、dsl接口、令牌环接口等。此外,可提供各种类型的接口,诸如例如通用串行总线(usb)、串行、ethernet、火线、pci、并行、射频(rf)、bluetoothtm、近场通信(例如,使用近场磁学)、802.11(wifi)、帧中继、tcp/ip、isdn、快速ethernet接口、千兆位ethernet接口、异步传输模式(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以获得附加信息或涉及存储关于与特定用户进行先前交互的数据。与外部服务1360进行的通信可例如通过网络1361发生。在各种实施例中,外部服务1360包括与硬件设备自身相关或安装在硬件设备上的网络启用服务和/或功能性。例如,在助理1002被实施于智能手机或其他电子设备上的一个实施例中,助理1002可获得存储在日历应用程序(“app”)、联系人、和/或其他资源中的信息。

在各种实施例中,助理1002可控制安装有所述助理的电子设备的许多特征和操作。例如,助理1002可通过api或通过其他手段调用与设备上的功能性和应用程序交互的外部服务1360,以执行换句话讲可能使用设备上的常规用户界面而发起的功能和操作。此类功能和操作可包括例如设置警报、进行电话呼叫、发送文本信息或电子邮件信息、添加日历事件,等等。此类功能和操作可作为插件功能在用户与助理1002之间的会话对话的情境中执行。此类功能和操作可由用户在此类对话的情境中指定,或者它们可基于对话的情境而自动执行。本领域的技术人员将认识到,助理1002可由此用来作为用于发起和控制电子设备上的各种操作的控制机制,所述控制机制可用作诸如按钮或图形用户界面之类的常规机制的替代形式。

例如,用户可将诸如“我需要在明天上午8点醒来”的输入提供给助理1002。一旦助理1002确定了用户的意图,助理1002便可使用本文所述的技术来调用外部服务1360以与设备上的闹钟功能或应用程序交互。助理1002代表用户设置警报。以此方式,用户可使用助理1002替代用于设置警报或执行设备上的其他功能的常规机制。如果用户的请求不明确或需要进一步澄清,助理1002可使用本文所述的各种技术,包括主动引导、改述、建议等,并且所述技术可适于免提情境,使得调用正确的服务1360并执行预期的操作。在一个实施例中,助理1002可在调用服务1360以执行功能之前,向用户提示确认和/或请求来自任何合适源的附加情境信息。在一个实施例中,用户可选择性地禁用助理1002的调用特定服务1360的能力,或者如果需要,可禁用所有此类服务调用。

本发明的系统可采用多种不同类型的客户端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日提交的相关美国实用专利申请序列号为12/987,982的“intelligentautomatedassistant”中提供,所述申请的全部公开内容以引用的方式并入本文。

在图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交互获得附加信息。

现在参见图14,其示出了根据一些实施例的电子设备2000的功能框图。设备的功能块可由硬件、软件、或硬件与软件的组合来实施以执行本发明的原理。本领域的技术人员理解的是,图14所描述的功能块可进行组合或者分离成子块以实施如上文所述的本发明的原理。因此,本文的描述可支持本文所述的功能块的任何可能的组合或分离或进一步的定义。

如图14所示,电子设备2000包括处理单元2006。在一些实施例中,处理单元2006包括情境检测单元2008、用户输入解译单元2010、任务和参数识别单元2012、任务执行单元2014、以及对话响应生成单元2016。电子设备2000还包括耦接至处理单元并被配置为提示用户进行输入的输出单元2002。电子设备还包括耦接至处理单元并被配置为接收用户输入的输入单元2003。在一些实施例中,电子设备2000还包括被配置为从设备2000的一个或多个传感器和/或电子设备2000外部的传感器/设备接收数据的通信单元2004,所述电子设备2000外部的传感器/设备为诸如环境状况传感器、外围设备、车辆的车载系统、位置传感器(例如,gps传感器)、速度传感器等。

处理单元被配置为:检测免提情境是否激活(例如,借助情境检测单元2008);解译所接收的用户输入以得到用户意图的表示(例如,借助用户输入解译单元2010);至少部分地基于所得到的用户意图的表示来识别至少一个任务以及所述任务的至少一个参数(例如,借助任务和参数识别单元2012);使用所述至少一个参数执行所述至少一个任务以得到结果(例如,借助任务执行单元2014);基于所得到的结果生成对话响应(例如,借助对话响应生成单元2016);以及使输出设备输出所生成的对话响应(例如,借助输出单元2002)。响应于检测到设备在免提情境中(例如,借助情境检测单元2008),以与跟免提情境相关的限制相一致的方式执行以下步骤中的至少一者:提示用户进行输入,接收用户输入,解译接收的用户输入,识别所述至少一个任务和所述任务的至少一个参数,以及生成对话响应(例如,通过输入单元2003、输出单元2002和/或处理单元2006)。

在一些实施例中,在至少两个交互模式可用于用户与计算设备进行交互的情况下,响应于检测到设备在免提情境中,使用适于免提操作的第一交互模式执行以下步骤中的至少一者:提示用户进行输入,接收用户输入,解译接收的用户输入,识别所述至少一个任务和所述任务的至少一个参数,以及生成对话响应(例如,借助处理单元2006的一个或多个单元);以及响应于检测到设备不在免提情境中,使用不适于免提操作的第二交互模式执行以下步骤中的至少一者:提示用户进行输入,接收用户输入,解译接收的用户输入,识别所述至少一个任务和所述任务的至少一个参数,以及生成对话响应(例如,借助处理单元2006的一个或多个单元)。

在一些实施例中,处理单元2006进一步被配置为通过检测指示在选自以下各项的至少一者中的限制的状况来检测免提情境是否激活(例如,借助情境检测单元2008):用户查看由计算设备呈现的视觉输出的能力;用户与由计算设备呈现的图形用户界面进行交互的能力;用户使用计算设备的物理组件的能力;用户在计算设备上执行触摸输入的能力;用户在计算设备上激活开关的能力;以及用户在计算设备上使用键盘的能力。

在一些实施例中,输出单元2002被配置为通过以下操作来提示用户进行输入:响应于检测到设备不在免提情境中,通过不适于免提情境的第一输出模式提示用户;以及响应于检测到设备在免提情境中,通过适于免提情境的第二输出模式提示用户。在一些实施例中,第一输出模式为视觉输出模式。在一些实施例中,第二输出模式为听觉输出模式。

在一些实施例中,通过视觉输出模式提示用户(例如,借助输出单元2002)包括在显示屏上显示提示;并且通过听觉输出模式提示用户(例如,借助输出单元2002)包括输出语音提示。

在一些实施例中,处理单元2006被配置为,响应于检测到设备在免提情境中,使用与免提操作相关的词汇表解译所接收的用户输入(例如,借助用户解译单元2010)。

在一些实施例中,响应于检测到设备在免提情境中,处理单元2006被配置为执行与免提操作相关的至少一个任务流程识别步骤(例如,借助任务执行单元2014)。在一些实施例中,执行与免提操作相关的至少一个任务流程识别步骤包括通过基于语音的界面提示用户检查和确认所输入的内容(例如,借助输出单元2002和/或输入单元2003)。

在一些实施例中,处理单元2006进一步被配置为使用听觉输出来执行所述至少一个任务流程步骤(例如,借助任务执行单元2014和/或输出单元2002)。在一些实施例中,处理单元2006进一步被配置为通过执行从适用于免提情境的一组有限的可用任务流程步骤中选择的至少一个任务流程步骤来执行所述至少一个任务流程识别步骤(例如,借助任务执行单元2014)。

在一些实施例中,响应于检测到设备在免提情境中,处理单元2006被配置为以基于语音的输出模式生成对话响应(例如,借助对话响应生成单元2016)。

在一些实施例中,处理单元2006被配置为通过以语音形式改述用户输入的至少一部分而以基于语音的输出模式生成对话响应(例如,借助对话响应生成单元2016)。在一些实施例中,处理单元2006被配置为通过使用多个嗓音(voice)区分所改述(paraphrase)的用户输入与其他语音输出来生成语音,从而以基于语音的输出模式生成对话响应(例如,借助对话响应生成单元2016)。在一些实施例中,处理单元2006被配置为通过将对话模板与个人数据的至少一项进行组合而以基于语音的输出模式生成对话响应(例如,借助对话响应生成单元2016)。

在一些实施例中,处理单元2006被配置为通过执行选自以下各项中的至少一个过程来检测免提情境是否激活:接收指定免提情境的用户输入(例如,借助输入单元2003);从至少一个传感器接收指示与免提情境相关的环境状况的数据(例如,借助通信单元2004);检测与免提情境相关的外围设备的连接(例如,借助通信单元2004);检测与免提情境不相关的外围设备的断开(例如,借助通信单元2004);检测与车辆的车载系统的通信(例如,借助通信单元2004);检测当前位置(例如,借助通信单元2004);以及检测当前速度(例如,借助通信单元2004)。

在一些实施例中,输出单元2002被配置为通过会话界面提示用户;并且输入单元2003被配置为通过会话界面接收用户输入。在一些实施例中,输入单元2003被配置为接收语音输入;并且处理单元2006被配置为将语音输入转换为文本表示(例如,借助用户输入解译单元2010)。

概念架构

现在参见图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,该情境信息1000可包括事件情境、应用程序情境、个人声音情境、和/或其他形式的情境,如于2011年9月30日提交的相关美国实用专利申请序列号为13/250,854的标题为“usingcontextinformationtofacilitateprocessingofcommandsinavirtualassistant”中所述,所述申请的全部公开内容以引用的方式并入本文。如果适用,情境信息1000还包括可用于根据本文所述的技术来调整用户界面的免提情境。

在根据本文所述的技术来处理用户输入2704和情境信息1000时,虚拟助理1002生成用于呈现给用户的输出2708。可根据任何合适的输出模态生成输出2708;如果合适,可由免提情境以及其他因素通知所述合适的输出模态。输出模态的实例包括如屏幕上呈现的视觉输出、听觉输出(其可包括语音输出和/或哔哔声以及其他声音)、触觉输出(诸如振动)、和/或它们的任何组合。

与图8所示的各种组件的操作有关的附加细节在2011年1月10日提交的相关美国实用专利申请序列号为12/987,982的“intelligentautomatedassistant”中提供,所述申请的全部公开内容以引用的方式并入本文。

针对免提情境调整用户界面

出于示例性目的,在本文中以举例的方式描述本发明。然而,本领域的技术人员将认识到,实例中描绘的特定输入和输出机制仅旨在示出用户与助理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识别器来实施语音至文本的功能性。

如图3b所示,转换的结果可在字段172中示出。可呈现键盘270以允许用户编辑字段172中的生成的文本。如果用户对输入的文本满意,他或她触击“发送”按钮173以使文本信息被发送。

在结合图2、3a和3b描述的实例中,多个操作要求用户查看显示屏和/或提供触摸输入。此类操作包括:

·阅读显示屏上的文本信息171;

·触摸按钮271以进入语音输入模式;

·触摸“完成”按钮371以指示语音输入结束;

·查看由用户的语音输入生成的已转换文本;

·触摸“发送”按钮173以发送信息。

在本发明的一个实施例中,用于接受和处理语音输入的机制被整合到设备60中以降低在免提情境中用户与显示屏进行交互和/或使用触摸界面的需求。从而,本发明的系统因此能够提供用于在免提情境中交互的、改进的用户界面。

现在参见图4和5a至5d,其示出了根据其中免提情境被识别的一个实施例的一系列屏幕截图,所述屏幕截图示出了用于接收和回复文本信息的界面的实例;因此在该实例中,根据本发明的技术,降低了用户与屏幕交互的需求。

在图4中,屏幕470描绘了在设备60处于锁定模式时所接收的文本信息471。用户可根据已知技术来激活滑块472以回复信息471或换句话讲与信息471交互。然而,在该实例中,可能看不到和/或接触不到设备60,或客户可能无法与设备60交互,例如如果他或她正在驾驶或者参与某个其他活动。如本文所述,多模态虚拟助理1002提供用于在此类免提情境中接收和回复信息471的功能性。

在一个实施例中,安装在设备60上的视觉助理1002自动检测免提情境。此类检测可通过确定一个场景或情况的任何手段而发生;在所述场景或情况中,用户可能难以或无法与设备60的屏幕交互或者正确操作gui。

例如但不受限制地,可基于以下任一者单独地或以任何组合的形式进行免提情境的确定:

·来自传感器的数据(包括例如罗盘、加速器、陀螺仪、速度计、环境光线传感器、蓝牙连接检测器、时钟、wifi信号检测器、麦克风等);

·例如通过gps确定设备60在某个地理位置内;

·来自时钟的数据(例如,可将免提情境指定为在每天的某个时间和/或在每周的某天是激活的);

·预定义参数(例如,用户或管理员可在检测到任何状况或状况的组合时指定免提情境是激活的);

·蓝牙或其他无线i/o设备的连接(例如,如果检测到与正在移动的车辆的蓝牙启用界面的连接);

·可指示用户在移动的车辆中或正在驾驶汽车的任何其他信息;

·附接外围设备的存在或不存在,所述附接外围设备包括头戴式受话器、耳机、由适配器电缆连接的用品等;

·确定用户不与设备60接触或非常接近;

·用于触发与助理1002的交互的特定信号(例如,用户将设备握持到耳边的运动姿势,或者对蓝牙设备上的按钮的按压,或者对附接音频设备上的按钮的按压);

·对词的连续流中的特定词的检测(例如,助理1002可被配置为正在听取命令,以及在用户呼叫其名称或说出诸如“计算机!”的某个命令时被调用);该特定命令可指示免提情境是否激活。

在其他实施例中,用户可手动地指示免提情境是激活的或未激活的,和/或可将免提情境计划为在每天的某个时间和/或在每周的某天激活和/或解除激活。

在一个实施例中,当在免提情境下接收文本信息470时,多模态虚拟助理1002使设备60输出音频指示,诸如哔哔声或铃音,从而指示文本信息的接收。如上文所述,用户可根据已知技术来激活滑块472以回复信息471或换句话讲与信息471交互(例如,如果未正确地检测到免提模式,或者如果用户选择停止驾驶或换句话讲使他或她自己可与设备60进行手动交互)。作为另外一种选择,用户可参与与助理1002的语音对话,以启用以免提方式与助理1002的交互。

在一个实施例中,用户通过适用于免提情境的任何合适机制发起语音对话。例如,在用户正在驾驶配备有蓝牙的车辆并且设备60与车辆进行通信的环境中,易于触及的按钮(例如,安装在汽车方向盘上的按钮)可以是可用的。按压该按钮会发起与助理1002的语音对话,并且允许用户通过蓝牙连接以及通过安装在车辆中的麦克风和/或扬声器与助理1002通信。作为另外一种选择,用户可通过按压设备60自身上或者耳机上或者任何其他外围设备上的按钮,或者通过执行某个其他与众不同的动作向助理1002发送用户希望发起语音对话的信号。又如,用户可讲出助理1002可以理解的并发起语音对话的命令。本领域的技术人员将认识到,可提供许多其他技术以用于允许用户容易发起与助理1002的语音对话。优选地,用于发起语音对话的机制不需要用户方面的手-眼协作,从而允许用户专注于主要任务(诸如驾驶),并且/或者可由具有残疾的个体执行(所述残疾会阻止、妨碍、约束或限制他的或她的与诸如图2、3a和3b中所示的gui交互的能力)。

一旦已发起语音对话,助理1002便听取语音输入。在一个实施例中,助理1002通过在免提情境下容易由用户检测到的某个输出机制来确认语音输入。一个实例为音频哔哔声或铃音,和/或在车辆仪表板上的即使在驾驶时也容易被用户看到的和/或通过某个其他机制看到的视觉输出。使用已知的语音识别技术来处理语音输入。助理1002然后执行由语音输入所指示的一个或多个动作。在一个实施例中,助理1002提供可通过扬声器(在设备60中或安装在车辆中)、头戴式受话器等输出的语音输出以便继续与用户的音频对话。例如,助理1002可朗读文本信息、电子邮件信息等的内容,并且可以语音形式向用户提供选项。

例如,如果用户说“朗读我的新信息”,则助理1002可使设备60发出确认铃音。助理1002然后可发出诸如“您收到来自tomdevon的新信息的语音输出。信息为:‘嘿,你去观看比赛吗?’”。可由助理1002使用用于将文本转换为语音的任何已知技术来生成语音输出。在一个实施例中,使用例如可得自nuancecommunications,inc.(burlington,massachusetts)的nuance发声器实施文本至语音功能性。

现在参见图5a,其示出了屏幕截图570的实例,该屏幕截图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以言语的方式说“您对tomdevon的回复是:‘是的,我将在六点到那里’”。在一个实施例中,引号的含义通过在嗓音和/或节律方面的改变来传达。例如,字符串“您对tomdevon的回复是”能够以诸如男性声音的一种嗓音讲出,而字符串“是的,我将在六点到那里”能够以诸如女性声音的另一种嗓音讲出。作为另外一种选择,可使用相同的嗓音,但采用不同的节律以传达引号。

在一个实施例中,助理1002提供语音交换的视觉回显,如图5b和5c中所示。图5b和5c示出了回显助理1002的“您对tomdevon的回复是”的语音输出的信息576。图5c示出了正在创建的文本信息的汇总577,包括接收人以及信息的内容。在图5c中,先前的信息已向上滚离屏幕,但可根据已知机制通过向下滚动查看。“发送”按钮578发送信息;取消按钮579取消信息。在一个实施例中,用户还可通过讲出诸如“发送”或“取消”的关键字来发送或取消信息。作为另外一种选择,助理1002可生成诸如“是否准备发送?”的语音提示;另外,在输出语音提示的同时,可示出具有按钮578、579的显示570。用户然后可通过触摸按钮578、579或者通过应答语音提示指示他或她希望做什么。可以允许“是”或“否”响应的格式发出提示,使得用户不需要使用任何特殊词汇表来使他的或她的意图被了解。

在一个实施例中,助理1002可例如通过生成诸如“好的,将发送您的信息”的语音输出确认用户的语音命令以发送信息。如图5d所示,该语音输出可连同将要发送的文本信息的汇总581一起在屏幕570上回显580。

上文所述的语音交换,结合可选视觉回显,示出了助理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的实例。另外,用户的语音文本,连同助理1002的提示772一起,以视觉的方式被回显771。

在一个实施例中,一旦用户已以此方式提示,用户的后续语音输入的准确内容便被解译作为该文本信息的内容,从而避开对用户命令的正常自然语言解译。用户的语音输入被假设为在以下情况下完成:在检测到输入中的足够长的暂停时,或者在检测到指示输入已完成的具体词时,或者在检测到用户已按压按钮或激活某个其他命令以指示他或她已结束讲出文本信息时。在一个实施例中,助理1002然后以语音形式复述输入文本信息,并且可任选地如图6c所示回显该输入文本信息。助理1002提供诸如“您是否准备发送?”的语音提示,该语音提示也可如图6c所示在屏幕上被回显770。用户可然后通过说“取消”、“发送”、“是”或“否”来回复,它们的任一者均可被助理1002正确解译。作为另外一种选择,用户可按压屏幕上的按钮578或579以调用所需操作。

在一个实施例中,通过以此方式提供用于修改文本信息577的机制,本发明的系统提供适用于免提情境的流程,该流程与手持方法整合在一起,使得用户可在每个阶段自由选择交互的模式。此外,在一个实施例中,助理1002针对总流程中的特定步骤调整其自然语言处理机制;例如,如上文所述,在某种情况下,助理1002可进入一种模式,在该模式中,助理1002在已提示用户讲出文本信息时避开对用户命令的正常自然语言解译。

方法

在一个实施例中,多模态虚拟助理1002检测免提情境并调整其操作的一个或多个阶段以修改免提操作的用户体验。如上文所述,免提情境的检测可以各种方式应用以影响多模态虚拟助理1002的操作。现在参见图7,其示出了根据一个实施例的流程图,该流程图描绘了支持免提情境的动态检测和调整的虚拟助理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被请求;

ο将电子邮件信息发送至正在调停与多模态虚拟助理1002的实施例的通信的模态服务器1426;

ο将文本信息发送至正在调停与多模态虚拟助理1002的实施例的通信的模态服务器1426;

ο向正在调停与多模态虚拟助理1002的实施例的通信的模态服务器1434进行电话呼叫;

ο将诸如警示或通知的事件发送至正在提供多模态虚拟助理1002的实施例的应用程序。

·在提供多模态虚拟助理1002的设备打开和/或启动时。

根据不同的实施例,可手动地、自动地、静态地、动态地、同时地和/或它们的组合来发起和/或实施方法10的一个或多个不同线程或实例。此外,可以一个或多个不同时间间隔(例如,在具体时间间隔期间、以定期的周期性间隔、以不定期的周期性间隔、根据需要,等等)发起方法10的不同实例和/或实施例。

在至少一个实施例中,方法10的给定实例在执行特定任务和/或操作(包括如本文所述的对免提情境的检测)时,可利用和/或生成各种不同类型的数据和/或其他类型的信息。数据还可包括任何其他类型的输入数据/信息和/或输出数据/信息。例如,在至少一个实施例中,方法10的至少一个实例可获取、处理和/或以其他方式利用来自一个或多个不同类型的来源的信息,所述来源诸如例如一个或多个数据库。在至少一个实施例中,可通过与一个或多个本地和/或远程存储器设备通信来访问数据库信息的至少一部分。此外,方法10的至少一个实例可生成一个或多个不同类型的输出数据/信息,所述输出数据/信息例如可存储在本地存储器和/或远程存储器设备中。

在至少一个实施例中,可使用一个或多个不同类型的初始化参数来执行方法10的给定实例的初始配置。在至少一个实施例中,可通过与一个或多个本地和/或远程存储器设备的通信来访问初始化参数的至少一部分。在至少一个实施例中,提供至方法10的实例的初始化参数的至少一部分可对应于和/或可得自于输入数据/信息。

在图7的特定实施例中,假设单个用户正在通过网络从具有语音输入功能的客户端应用程序访问多模态虚拟助理1002的实例。在一个实施例中,助理1002安装在诸如移动计算设备、个人数字助理、移动电话、智能手机、膝上型计算机、平板电脑、消费电子设备、音乐播放器等设备60上。助理1002结合用户界面而操作,该用户界面允许用户通过语音输入和输出以及图形用户界面的直接操控和/或显示(例如通过触摸屏)与助理1002交互。

设备60具有当前状态11,该当前状态可被分析以检测20其是否在免提情境中。可基于状态11使用任何适用的检测机制或机制的组合,无论是自动的还是手动的,来检测20免提情境。上文阐述了实例。

在检测20到免提情境时,可将该信息添加至可用于通知助理的各个过程的其他情境信息1000,如在2011年9月30日提交的标题为“usingcontextinformationtofacilitateprocessingofcommandsinavirtualassistant”的相关美国实用专利申请序列号13/250,854中所述,所述申请的全部公开内容以引用的方式并入本文。

语音输入被引导并解译100。引导可包括以任何合适的模式呈现提示。因此,根据是否检测到免提情境,在各种实施例中,助理1002可提供多个输入模式中的一者或多者。这些可包括例如:

·用于键入输入的界面,其可调用激活的已键入输入引导程序;

·用于语音输入的界面,其可调用激活的语音输入引导程序。

·用于从菜单中选择输入的界面,其可调用激活的基于gui的输入引导。

例如,如果检测到免提情境,则可通过铃音或其他听觉提示来引导语音输入,并且可将用户的语音解译为文本。然而,本领域的技术人员将认识到,可提供其他输入模式。

步骤100的输出可为一组输入语音的文本的候选解译。由语言解译程序2770(也称为自然语言处理程序,或nlp)处理200这一组候选解译,语言解译程序2770解析文本输入并生成一组对用户意图的可能语义解译。

在步骤300中,将用户意图的该一个或多个表示传递至对话流程处理器2780,该对话流程处理器实施对话和流程分析程序的实施例以将用户意图实践为任务步骤。对话流程处理器2780确定意图的哪种解译是最可能的,将该解译映射至域模型的实例以及任务模型的参数,并确定任务流程中的下一个流程步骤。如果合适,选择适于免提操作的一个或多个任务流程步骤310。例如,如上文所述,在检测到免提情境时,用于修改文本信息的一个或多个任务流程步骤可以不同。

在步骤400中,执行已识别的一个或多个流程步骤。在一个实施例中,由代表用户请求而调用一组服务的服务编排组件2782来执行一个或多个流程步骤的调用。在一个实施例中,这些服务针对共同结果提供一些数据。

在步骤500中,生成对话响应。在一个实施例中,对话响应生成500受到免提情境的状态的影响。因此,在检测到免提情境时,可选择510不同和/或附加对话单元以用于使用音频信道来呈现。例如,诸如“是否准备发送?”的附加提示可以言语的方式讲出而不一定在屏幕上显示。在一个实施例中,免提情境的检测可影响附加输入520的提示,例如以验证输入。

在步骤700中,向用户呈现多模态输出(其在一个实施例中包括言语和视觉内容),然后用户可任选地使用语音输入再次响应。

如果,在查看和/或听到响应之后,用户完成790,则方法结束。如果用户未完成,则通过返回至步骤100发起循环的另一次迭代。

如本文所述,情境信息1000,包括检测到的免提情境,可被系统的各种组件用来影响方法10的各个步骤。例如,如图7所示,情境1000,包括免提情境,可在步骤100、200、300、310、500、510和/或520中使用。然而,本领域的技术人员将认识到,情境信息1000的使用,包括免提情境的使用,不限于这些特定步骤,并且在不脱离本发明的本质特征的情况下,系统还可在其他点使用情境信息。对情境1000在助理1002的操作的各种步骤中的使用的进一步描述在2011年9月30日提交的标题为“usingcontextinformationtofacilitateprocessingofcommandsinavirtualassistant”的相关美国实用专利申请序列号13/250,854中以及在于2009年6月5日提交的相关美国实用专利申请序列号12/479,477的“contextualvoicecommands”中提供,这两个申请的全部公开内容以引用方式并入本文。

此外,本领域的技术人员将认识到,与图7描绘的具体实施例中所示的那些相比,方法10的不同实施例可包括附加特征和/或操作,和/或可省去在图7的具体实施例中所示的方法10的特征和/或操作的至少一部分。

针对免提情境调整步骤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包括识别将要执行的与用户意图相关的一个或多个任务、一个或多个任务的一个或多个参数、和/或任务流程步骤300。

在一个实施例中,选择适于免提操作的一个或多个附加任务流程步骤310来用于操作。实例包括用于以言语的方式检查和确认内容的步骤。此外,在免提情境中,助理1002可朗读否则会在显示屏上呈现的结果的列表。可提供言语命令以用于与列表中的各个项交互。例如,如果将要向用户呈现多个传入的文本信息并检测到免提情境,则已识别的任务流程步骤可包括单独地大声朗读每个文本信息,并在每个信息之后暂停以允许用户提供语音命令。

在一个实施例中,可针对免提情境修改任务流程。例如,用于在记事本应用程序中做笔记的任务流程通常可能涉及提示内容并立即将该内容添加至记事本。此类操作可能在手持环境中是适合的;在手持环境中,内容立即显示在视觉界面中并且可立即用于通过直接操控而进行修改。然而,在检测到免提情境时,可修改任务流程,例如以言语的方式检查内容并允许在将内容添加至记事本之前对内容进行修改。这允许用户在错误被存储到永久性文件中之前捕捉语音听写错误。

在一个实施例中,还可将免提情境用于限制在给定时间被允许的任务。例如,可实施一个策略以当用户的设备在免提情境或者诸如驾驶车辆的特定免提情境中时禁止正在播放的视频。

在一个实施例中,助理1002可使本公开的整个域和/或仅在免提情境中适用的任务是可用的。实例包括便利性模式,诸如为视力受限者或手的使用受限者设计的那些。这些便利性模式包括作为免提替代形式实施的命令,所述命令用于在给定应用程序平台上操作任意gui,例如以识别诸如“按压按钮”或“向上滚动”的命令。仅在免提模式中适用的其他任务包括与免提体验自身有关的任务,诸如“使用汽车蓝牙套件”或“减慢[文本至语音输出]”。

针对免提情境调整对话生成500

在各种实施例中,可使用多种技术的任一者来修改对话生成500以适应于免提情境。

在手持界面中,助理1002对用户输入的解译可以书面形式回显;然而,在免提模式中,用户可能看不到此类反馈。因此,在一个实施例中,在检测到免提情境时,助理1002使用文本至语音(tts)的技术来改述用户输入。此类改述可以是选择性的;例如,在发送文本信息之前,助理1002可讲出文本信息,使得即便用户不能看到显示屏,他或她也可验证文本信息的内容。

任务和/或流程特定的对话可促使确定何时改述用户的语音以及改述语音的哪些部分。例如,响应于用户的诸如“朗读我的新信息”的语音命令,在一个实施例中,助理1002不改述命令,因为通过助理1002的响应(朗读信息)可显而易见命令已被理解。然而,在其他情况下,诸如当用户输入未在步骤100中被识别或未在步骤200中被理解时,助理1002可尝试改述用户的语音输入,以便告知用户为什么该输入未被理解。例如,助理1002可以说“未理解‘朗住我的谢息’。请再次尝试。”

在一个实施例中,信息的言语改述可将对话模板与设备上的个人数据进行组合。例如,在一个实施例中,在朗读文本信息时,助理1002将语音输出模板与形式的变量一起使用,“您收到来自$人的新信息。信息为:$信息。”模板中的变量可由用户数据替代,然后通过在设备60上运行的程序转换为语音。在一个于客户端/服务器环境中实施本发明的实施例中,此类技术可帮助保护用户的隐私,同时仍允许使输出个性化,因为个人数据可保留在设备60上并可在接收来自服务器的输出模板时填入。

在一个实施例中,在检测到免提情境时,可选择针对免提情境特殊定制的不同和/或附加对话单元510以用于使用音频信道来呈现。用于确定选择哪个对话单元的代码或规则对免提情境的细节而言可能是敏感的。以此方式,可调整并扩展通用对话生成组件,以在不必针对不同免提情况构建单独的用户体验的情况下,支持各种免提变型形式。

在一个实施例中,可使用为音频(语音词)输出模态而定制的文本,对生成文本的相同机制以及gui输出单元添加注释。例如:

·在一个实施例中,可通过使用tts朗读对话生成组件的全部书面对话响应,针对免提情境来调整对话生成组件。

·在一个实施例中,可通过在tts上逐字地朗读对话生成组件的一些书面对话响应,并且针对其他对话响应使用tts变型形式,来调整对话生成组件以用于免提情境。

·在一个实施例中,此类注释支持使用户数据与对话生成分开的变量替代模板机制。

·在一个实施例中,可使用指示如何以言语的方式通过tts改述图形用户界面元素的文本,对图形用户界面元素进行注释。

·在一个实施例中,可调谐tts文本,以便嗓音、讲话速率、音高、停顿和/或其他参数被用于以言语的方式传达否则将会在标点符号或视觉呈现中传达的东西。例如,与用于其他对话单元相比,在复述用户的话时所使用的嗓音可为不同的嗓音,或可使用不同的节律。又如,嗓音和/或节律可根据是否正在讲出内容或指令而不同。又如,可在具有不同含义的文本的区段之间插入停顿以有助于理解。例如,在改述信息并询问确认时,可在内容改述“您的信息内容是…”以及确认提示“是否准备发送?”之间插入停顿。

在一个实施例中,可使用与使用如上文针对免提情境所述的tts类似的机制来增强非免提情境。例如,对话可生成除书面文本和gui元素之外的仅言语提示。例如,在一些情况下,助理1002可以言语方式说“要发送吗?”以延展“发送”按钮的屏幕上显示。在一个实施例中,用于免提和非免提情境这两者的tts输出可针对每种情况定制。例如,当在免提情境中时,助理1002可使用更长的停顿。

在一个实施例中,免提情境的检测还可用于确定是否以及何时自动提示用户进行响应。例如,当助理1002与用户之间的交互为同步性质使得一方在讲话而另一方在听取时,做出关于在助理1002已讲完之后助理1002是否及何时应自动开始听取来自用户的语音输入的设计决定。免提情境的细节可用于针对对话的该自动启动听取属性实施各种策略。实例不受限制地包括:

·始终自动启动听取;

·仅在免提情境中自动启动听取;

·仅针对某些任务流程步骤和对话状态自动启动听取;

·仅针对免提情境中的某些任务流程步骤和对话状态自动启动听取。

在其他实施例中,免提情境的检测还可影响关于对话的其他参数的选择,诸如例如:

·为用户提供的选项列表的长度;

·是否朗读列表;

·应询问具有单值答案的问题,还是询问具有多值答案的问题;

·是否提示仅可使用直接操控界面给出的数据;

因此,在各种实施例中,一旦被检测到,免提情境便是系统侧参数,该系统侧参数可用于调整诸如多模态虚拟助理1002之类的复杂系统的各个处理步骤。本文所述的各种方法为针对免提情境对助理1002的通用程序进行调整以通过相同的基础系统来支持一系列用户体验提供了方法。

在于2011年9月30日提交的标题为“usingcontextinformationtofacilitateprocessingofcommandsinavirtualassistant”的相关美国实用专利申请序列号13/250,854中描述了用于收集、通信、表示及获取情境的各种机制,所述申请的全部公开内容以引用方式并入本文。本领域的技术人员将认识到,此类技术也适用于免提情境。

使用案例

以下使用案例作为助理1002在免提情境中的操作实例而呈现。本领域的技术人员将认识到,这些使用案例是示例性的,并且仅出于示例性目的而呈现。

电话使用案例

在一个实施例中,当在免提情境中时,助理1002允许用户(如果用户可以指定被呼叫人)可在不触击或换句话讲不触摸设备的情况下呼叫任何人。实例包括通过联系人姓名呼叫、通过电话号码(由用户叙述的数字)呼叫,等等。可由附加的语音提示解决歧义。下面示出了实例。

实例1:呼叫联系人,清楚

·用户的语音输入:“呼叫亚当.史密斯”

·助理1002的语音输出:“正在呼叫亚当.史密斯,移动电话。”

·拨打电话

针对以下使用案例的任一者,将发生类似的交互:

·通过姓名呼叫联系人(“呼叫亚当.史密斯”)

·通过姓名、非默认电话号码呼叫联系人(“呼叫亚当.史密斯移动电话”)

·通过号码呼叫(“呼叫8005551212”)

·通过关系别名呼叫联系人(“呼叫我妈妈”)

·通过位置别名呼叫联系人(“致电家中”)

·通过facetime呼叫(“与亚当.史密斯视频通话”)

·通过情景回电(“给他回电”)

实例2:取消电话呼叫

·用户的语音输入:“呼叫亚当.史密斯”

·助理1002的语音输出:“正在呼叫亚当.史密斯,移动电话。”

·用户注意到呼叫的人不正确;用户按压一次归位按钮以取消呼叫,或者说“停止”

·呼叫被取消

实例3:通过姓名呼叫,歧义的

·用户的语音输入:“呼叫亚当”

·助理1002的语音输出:“找到针对<嗓音改变>亚当<嗓音改变>的多个匹配”

·助理1002的视觉输出:“找到针对<嗓音改变>亚当<嗓音改变>的多个匹配”

·助理1002的语音输出:朗读名称

·助理1002的视觉输出:

消歧菜单

亚当.善耶住宅

亚当.桑德勒住宅

亚当.史密斯移动电话

·用户的语音输入:“亚当.善耶”

·助理1002的语音输出:“正在呼叫亚当.善耶”

·拨打电话

实例4:通过姓名呼叫,双重歧义的

·用户的语音输入:“呼叫保罗”

·助理1002的语音输出:“找到针对<嗓音改变>保罗<嗓音改变>的多个匹配”

·助理1002的视觉输出:“找到针对<嗓音改变>保罗<嗓音改变>的多个匹配”

·助理1002的语音输出:朗读名称

·助理1002的视觉输出:

消歧菜单

保罗.侯尔登住宅

保罗.马库斯iphone

保罗.马库斯移动电话

保罗.马库斯住宅

谱布罗.皮卡索住宅

·用户的语音输入:“保罗.马库斯”

·助理1002的语音输出:“保罗.马库斯的哪个号码:iphone、移动电话、还是住宅?”

·助理1002的视觉输出:“保罗.马库斯的哪个号码?”

·助理1002的视觉输出:

消歧菜单

保罗.马库斯iphone

保罗.马库斯移动电话

保罗.马库斯住宅

·用户的语音输入:“移动电话”

·助理1002的语音输出:“正在呼叫保罗.马库斯<停顿>移动电话”

·拨打电话

实例5:通过名称呼叫企业,无歧义

·用户的语音输入:“呼叫旧金山的索尼娱乐中心”

·助理1002的语音输出:“找到第四大街的amc洛斯娱乐中心16”

·助理1002的视觉输出:“找到第四大街的amc洛斯娱乐中心16”

·助理1002的视觉输出:

本地搜索代码段

amc洛斯娱乐中心16

旧金山第四大街101

(888)262-4386

<取消按钮><呼叫按钮>

·助理1002的语音输出:“要拨打电话吗?”

·用户的语音输入:“呼叫”

·助理1002的语音输出:“正在呼叫amc洛斯娱乐中心16”

·拨打电话

实例6:通过名称呼叫企业,多个匹配

·用户的语音输入:“呼叫沃尔格林”

·助理1002的语音输出:“找到针对<嗓音改变>沃尔格林<嗓音改变>的多个匹配”

·助理1002的视觉输出:“找到针对<嗓音改变>沃尔格林<嗓音改变>的多个匹配”

·助理1002的视觉输出:

本地搜索代码段的列表

沃尔格林的罗斯戈托店

罗斯戈托,北桑托克鲁兹大街423号

沃尔格林

加州,坎贝尔,坎贝尔大街1570号

沃尔格林

加州,库比蒂诺,波灵格道20011号

沃尔格林

加州,圣何塞,萨拉托格大街1334号

沃尔格林

加州,圣何塞,优金大街2680号

·助理1002的语音输出:“要为您朗读吗?”

·用户的语音输入:“是”

·助理1002的语音输出:“位于罗斯戈托的北桑托克鲁兹大街423号的沃尔格林罗斯戈托店<停顿>2.位于坎贝尔的坎贝尔大街1570号的沃尔格林<停顿>3….

·用户的语音输入:“位于库比蒂诺的那家”

·助理1002的语音输出:“正在呼叫位于库比蒂诺的沃尔格林”

·拨打电话

实例6:在汽车中进行预定呼叫

·用户开始驾车回家

·助理1002发出车内提醒的铃音

·助理1002的视觉输出:

提醒警示

呼叫亚当.史密斯

<关闭按钮><呼叫按钮>

·用户的语音输入:“朗读”

·助理1002的语音输出:“您有呼叫亚当.史密斯的提醒”

·用户的语音输入:“现在呼叫”

·助理1002的语音输出:“正在呼叫亚当.史密斯,移动电话”

·拨打电话

实例7:播放新语音邮件

·用户的语音输入:“播放语音邮件”

·助理1002的语音输出:“您有三封新语音邮件信息”

·助理1002播放语音邮件,一次一封,并提示”

sms文本信息发送使用案例

实例8:朗读单个文本信息警示

·助理1002的音频输出:朗读一个或多个警示;或者生成指示传入文本信息的声音

·助理1002的视觉输出:

文本信息

玛丽.理查德

今晚有空一起吃晚饭吗?

<关闭按钮><回复按钮>

·用户的语音输入:“朗读”

·助理1002的语音输出:“来自玛丽.理查德的信息<嗓音改变>今晚有空一起吃晚饭吗?”

实例9:回复文本信息(接续实例8)

·用户的语音输入:“回复<停顿>当然,8点怎样?”

·助理1002的语音输出:“玛丽.理查德回复信息<嗓音改变>当然8点怎样”

·助理1002的视觉输出:

至:玛丽.理查德

当然8点怎样

<取消按钮><发送按钮>

·用户的语音输入:“发送”

·助理1002的音频输出:“正在发送”;或者生成发送文本信息的声音

实例10:向一个接收人发送文本信息

·用户的语音输入:“告诉丽萨我将迟到15分钟”

·助理1002的语音输出:“准备向丽萨.刚扎蕾丝发送文本信息<嗓音改变>我将迟到15分钟”

·助理1002的视觉输出:

文本信息

至:丽萨.刚扎蕾丝

我将迟到15分钟

<取消按钮><发送按钮>

·用户的语音输入:“发送”

·助理1002的音频输出:“正在发送”;或者生成发送文本信息声音

实例11:向一个接收人发送文本信息,有歧义

·用户的语音输入:“向亚当发送文本信息,信息为在哪里会面?”

·助理1002的语音输出:“找到针对<嗓音改变>亚当<嗓音改变>的多个匹配”

·助理1002的语音输出:朗读名称

·助理1002的视觉输出:

消歧菜单

亚当.善耶住宅

亚当.桑德拉住宅

亚当.史密斯移动电话

·用户的语音输入:“亚当.善耶”

·助理1002的语音输出:“亚当.善耶”

·助理1002的视觉输出:

文本信息

至:亚当.善耶

在哪里会面?

<取消按钮><发送按钮>

·助理1002的语音输出:“准备向亚当.善耶发送文本信息<嗓音改变>在哪里会面?”

·用户的语音输入:“发送”

·助理1002的音频输出:“正在发送”;或者生成发送文本信息声音

实例12:通过信息应用程序朗读sms信息

·助理1002的视觉输出:

文本信息

贝蒂.琼.比亚罗斯基

您可以称呼我南茜

<关闭按钮><回复按钮>

·用户的语音输入:“朗读”

·助理1002的语音输出:“来自贝蒂.琼.比亚罗斯基的信息<嗓音改变>您可以称呼我南茜”

实例13:在信息应用程序的情境中回复(接续实例12)

·用户的语音输入:“回复<停顿>你好南茜”

·助理1002的语音输出:“准备向贝蒂.琼.比亚罗斯基回复信息<嗓音改变>你好南茜”

·助理1002的视觉输出:

至:贝蒂.琼.比亚罗斯基

你好南茜

<取消按钮><发送按钮>

·用户的语音输入:“发送”

·助理1002的音频输出:“正在发送”;或者生成发送文本信息声音

实例14:朗读所有未读sms信息

·助理1002的视觉输出:

梅勒妮.哈勃(1)

贝蒂.琼.比亚罗斯基(3)

奥德丽.法博(1)

·用户的语音输入:“朗读我的新信息”

·助理1002的语音输出:“您有4条新信息。来自梅勒妮.哈勃<嗓音改变>一起吃晚饭怎样?<停顿>来自贝蒂.琼.比亚罗斯基,您有2条信息。<停顿>1.<嗓音改变>我的名字叫迈克吉尔。<停顿>2.<嗓音改变>我自称为里尔。<停顿>3.<嗓音改变>您可以称呼我南茜”

实例15:在信息应用程序的情境中通过名称回复

·用户的语音输入:“告诉奥德丽我将迟到15分钟”

·助理1002的语音输出:“准备向奥德丽.法博发送文本信息<嗓音改变>我将迟到15分钟”

·助理1002的视觉输出:

文本信息

至:奥德丽.法博

我将迟到15分钟

<取消按钮><发送按钮>

·助理1002的语音输出:“要发送吗?”

·用户的语音输入:“是”

·助理1002的音频输出:“正在发送”;或者生成发送文本信息声音

实例16:向多个接收人发送文本信息

在一个实施例中,这项任务被确定为在免提情境范围之外。因此,助理1002恢复为触击以用于消歧。

·用户的语音输入:“告诉丽萨、保罗和南茜我们的重要会面我将迟到15分钟”

·助理1002的语音输出:“请在这些人中选择”

·助理1002的视觉输出:用于选择多个接收人的gui

·用户通过gui选择接收人

·助理1002的语音输出:“准备向丽萨.刚扎蕾丝、保罗.马库斯和奥德丽.法博发送文本信息<嗓音改变>我们的重要会面我将迟到15分钟”

·助理1002的视觉输出:

文本信息

至:丽萨.刚扎蕾丝、保罗.马库斯、奥德丽.法博

我们的重要会面我将迟到15分钟

<取消按钮><发送按钮>

·用户的语音输入:“发送”

·助理1002的音频输出:“正在发送”;或者生成发送文本信息声音

警示和提醒使用案例

实例17:朗读单个提醒警示

·助理1002发出提醒铃音

·助理1002的视觉输出:

提醒

呼叫玛丽.理查德

<关闭按钮><呼叫按钮>

·用户的语音输入:“朗读”

·助理1002的语音输出:“呼叫玛丽.理查德的提醒”

实例18:执行提醒警示(接续实例17)

·用户的语音输入:“呼叫”

·助理1002的语音输出:“正在呼叫玛丽.理查德,移动电话”

·拨打电话

实例19:借助警示创建新提醒

·用户的语音输入:“提醒我在下午5点呼叫鲍伯.琼斯”

·助理1002的语音输出:“请确认:在今天下午5点<嗓音改变>呼叫鲍伯.琼斯<嗓音改变>的提醒”

·助理1002的视觉输出:

请确认提醒

呼叫鲍伯.琼斯

提醒时间:今天下午5点

<取消><保存>

·停顿

·助理1002的语音输出:“是否正确?”

·用户的语音输入:“是,保存”

·助理1002的语音输出:“您的提醒已保存”

实例20:不借助警示pi创建新提醒

·用户的语音输入:“提醒我带面包”或者“记得带面包”

·助理1002的语音输出:“请确认:记得带面包”

·助理1002的视觉输出:

请确认提醒

带面包

<取消><保存>

·停顿

·助理1002的语音输出:“是否正确?”

·用户的语音输入:“是的”

·助理1002的语音输出:“将其添加到您的待办事项列表”

日历使用案例

实例21:创建简单预约(给定描述和日期/时间)

·用户的语音输入:“预定在明天2点会面以规划公司野餐”

·助理1002的语音输出:“在您的日历上将其设置为明天下午2点”

·助理1002的视觉输出:

描述:规划公司野餐

时间:明天下午2点

实例22:创建简单预约(无给定描述)

·用户的语音输入:“明天下午2点与卡罗尔见面”

·助理1002的语音输出:“在您的日历上将其设置为明天下午2点”

·助理1002的视觉输出:

描述:会面

时间:明天下午2点

实例23:创建简单预约(无给定时间)

·用户的语音输入:“下周四的牙医预约”

·助理1002的语音输出:“下周四的什么时间?”

·用户的语音输入:“下午3点”

·助理1002的语音输出:“在您的日历上将其设置为下周四下午3点”

·助理1002的视觉输出:

描述:牙医预约

时间:下周四下午3点

实例24:创建简单预约(无给定日期或时间)

·用户的语音输入:“预定会面以规划公司野餐”

·助理1002的语音输出:“您将想要何时会面”

·助理1002的视觉输出:可编辑的预约表

·用户的语音输入:“周二下午3点”

·助理1002的语音输出:“在您的日历上将其设置为周二下午3点”

·助理1002的视觉输出:

描述:会面以规划公司野餐

时间:周二下午3点

本领域的技术人员将认识到,上述实例对免提情境在特定情况下的使用仅是示例性的。附加使用包括例如地图、播放诸如音乐之类的媒体,等等。

已结合可行的实施例以具体细节对本发明进行了描述。本领域的技术人员应当理解,本发明可在其他实施例中实践。首先,组件的特定命名、术语的大写、属性、数据结构或者任何其他编程或结构方面并不是强制性的或重要的,并且用于实施本发明或其特征的机制可具有不同的名称、格式或协议。此外,可如所述通过硬件和软件的组合,或者完全在硬件元素中,或者完全在软件元素中,来实施系统。另外,本文所述的各种系统组件之间的功能性的特定划分仅为示例性的而并非强制性的;由单个系统组件执行的功能可相反地由多个组件执行,并且由多个组件执行的功能可相反地由单个组件执行。

在各种实施例中,本发明可实施为用于单独地或以任何组合的方式执行上文所述技术的系统或方法。在另一个实施例中,本发明可实施为包括非暂时性计算机可读存储介质和计算机程序代码的计算机程序产品,该计算机程序产品在该介质上编码,以用于使计算设备或其他电子设备中的处理器执行上文所述的技术。

本说明书中提及“一个实施例”或“实施例”是指,结合实施例所描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。本说明书中多处出现短语“在一个实施例中”,这并不一定代表它们全部指同一实施例。

上文的一些部分以算法和操作符号表示的形式在计算设备的存储器内的数据位上呈现。这些算法描述和表示是数据处理领域的那些技术人员使用的方式以最有效地将其工作实质传达给本领域其他技术人员。算法在这里被视为并通常被视为导致所需结果的步骤(指令)的自相一致的序列。这些步骤要求物理量的物理操控。通常,但不一定,这些量呈能够被存储、传输、组合、比较和换句话讲被操控的电信号、磁信号或光学信号的形式。有时,主要出于惯用原因,简便地将这些信号称作位、值、元素、符号、字符、术语、数字等等。此外,在不丧失一般性的同时,有时还简便地将物理量的物理操控所要求的步骤的某些布置称为模块或代码设备。

然而,应当牢记的是,所有这些以及类似的术语都与适当的物理量相关联,并且只是应用于这些量的方便标签。除非另有如从以下讨论明确的具体规定,否则应理解的是,在整个说明书中,利用诸如“处理”或“计算”或“计算出”或“显示”或“确定”等术语的讨论是指计算机系统或类似电子计算模块和/或设备的动作和过程,所述计算机系统或类似电子计算模块和/或设备在计算机系统存储器或寄存器或其他此类信息存储器、传输或显示设备内操控及转换以物理(电子)量呈现的数据。

本发明的某些方面包括算法形式的本文所述的处理步骤和指令。应当指出的是,本发明的处理步骤和指令可在软件、固件和/或硬件中体现,并且当在软件中体现时,可进行下载以驻留在由各种操作系统使用的不同平台上并通过所述平台操作。

本发明还涉及用于执行本文的操作的装置。该装置可特别构造用于所需用途,或者其可包括通用计算设备,所述通用计算设备由存储在计算设备中的计算机程序选择性地激活或重新配置。此类计算机程序可存储于计算机可读存储介质,诸如但不限于任何类型的盘,包括软盘、光盘、cd-rom、磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡、专用集成电路(asic)、或适用于存储电子指令的任何类型的介质,并且每一者均耦接至计算机系统总线。此外,本文所涉及的计算设备还可包括单个处理器,或可以是为了提高计算能力而采用多个处理器设计的架构。

本文呈现的算法和显示并不固有地与任何特定计算设备、可视化系统或其他装置有关。还可根据本文的教导内容将各种通用系统与程序一起使用,或者可简便地构造更专业化的装置以执行所需的方法步骤。各种这些系统的所需结构从本文提供的描述中将显而易见。此外,在不参照任何特定编程语言的情况下描述了本发明。应当理解,各种编程语言均可用于实施本文所述的本发明的教导内容,并且上文对具体语言的任何引用提供用于对本发明的实现及最佳模式的公开。

因此,在各种实施例中,本发明可实施为软件、硬件和/或用于控制计算机系统、计算设备或其他电子设备的其他元素,或它们的任何组合或多者。根据本领域所熟知的技术,此类电子设备可包括例如处理器、输入设备(诸如键盘、鼠标、触摸板、触控板、操纵杆、轨迹球、麦克风和/或它们的任何组合)、输出设备(诸如屏幕、扬声器等)、存储器、长期存储器(诸如磁性存储器、光学存储器等)和/或网络连接。此类电子设备可以是便携式的或非便携式的。可用于实施本发明的电子设备的实例包括:移动电话、个人数字助理、智能手机、信息亭(kiosk)、台式计算机、膝上型计算机、平板电脑、消费电子设备、消费娱乐设备;音乐播放器;照相机;电视;机顶盒;电子游戏单元;等等。用于实施本发明的电子设备可使用任何操作系统,诸如例如可得自appleinc.(cupertino,california)的ios或macos,或适于在设备上使用的任何其他操作系统。

虽然已结合有限数量的实施例对本发明进行了描述,但得益于上述描述的本领域的技术人员应当理解,可设计出不脱离如本文所述的本发明范围的其他实施例。此外,应当指出,本说明书中所使用的语言的选择主要基于可读性和指导性目的,并且所述语言的选择并不是用来描绘或限制本发明的主题。因此,本发明的公开内容对于权利要求中所阐述的本发明的范围旨在是示例性的,而非限制性的。

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