用于在主设备处访问配套设备的呼叫功能的语音交互转让专利
申请号 : CN202010344812.3
文献号 : CN111429896B
文献日 : 2021-03-30
发明人 : K·F·施拉姆 , J·宾德 , B·S·菲利普斯 , P·K·桑
申请人 : 苹果公司
摘要 :
权利要求 :
1.一种用于使用语音交互来访问配套设备的呼叫相关信息的方法,所述方法包括:在具有处理器、存储器和扬声器的电子设备处:接收用户话语(1110),所述用户话语表示对存储在所述配套设备上的呼叫相关信息的请求;
使服务器基于所述用户话语来确定提供呼叫相关信息的用户意图;
从所述服务器接收命令(1114),所述命令(1114)表示满足提供呼叫相关信息的用户意图的任务;
基于所述命令和上下文信息,确定所述配套设备将执行所述命令;
根据确定所述配套设备将执行所述命令,向所述配套设备提供指令(1116)以检索所述呼叫相关信息并且向所述电子设备发送所述呼叫相关信息;以及根据所述指令成功使得所述配套设备检索所述呼叫相关信息并且向所述电子设备发送(1118)所述呼叫相关信息,在所述扬声器处提供音频输出,其中所述音频输出包括从所述配套设备接收到的所述呼叫相关信息。
2.根据权利要求1所述的方法,其中所述呼叫相关信息包括:基于在所述电子设备接收到所述用户话语之前由所述配套设备接收到的一个或多个呼叫而在所述配套设备上存储的信息。
3.根据权利要求1至2中任一项所述的方法,其中,所述呼叫相关信息包括存储在所述配套设备上的语音邮件音频文件,以及其中所述语音邮件音频文件包括语音邮件的呼叫信息和所述语音邮件的音频记录。
4.根据权利要求3所述的方法,其中,在所述扬声器处的音频输出包括第一语音对话和所述语音邮件的音频记录,以及其中第一语音对话包括所述语音邮件的呼叫信息。
5.根据权利要求4所述的方法,还包括:在所述电子设备处接收到所述呼叫相关信息之后,并且在所述扬声器处提供所述音频输出之前:
向所述服务器发送所述语音邮件的呼叫信息的表示;以及从所述服务器接收包括所述呼叫信息的第一语音对话。
6.根据权利要求1-2和4-5中任一项所述的方法,其中所述呼叫相关信息包括针对一个或多个未接来电而存储在所述配套设备上的呼叫者信息。
7.根据权利要求6所述的方法,其中在所述扬声器处的音频输出包括第二语音对话,以及
其中第二语音对话包括与所述一个或多个未接来电对应的所述呼叫者信息。
8.根据权利要求1-2、4-5和7中任一项所述的方法,其中所述命令指定与所述用户意图对应的可执行意图节点,并且其中所述指令包括所述命令。
9.根据权利要求1-2、4-5和7中任一项所述的方法,其中所述上下文信息指示所述配套设备具有电话能力。
10.根据权利要求1-2、4-5和7中任一项所述的方法,还包括:在所述电子设备处:
在接收到所述用户话语之前,与所述配套设备交换认证信息;以及根据基于所述认证信息确定所述配套设备为所述电子设备的注册设备,与所述配套设备建立无线通信连接,
其中经由建立的无线通信连接来提供所述指令,以及其中经由建立的无线通信连接来接收所述呼叫相关信息。
11.根据权利要求10所述的方法,其中所述上下文信息指示在所述电子设备和所述配套设备之间建立了所述无线通信连接,并且所述配套设备是所述电子设备的注册设备。
12.根据权利要求1-2、4-5、7和11中任一项所述的方法,还包括:在向所述配套设备提供所述指令后,从所述配套设备接收确认信号,其中所述确认信号指示所述呼叫相关信息是否被成功检索;以及向所述服务器提供所述确认信号的表示。
13.根据权利要求1-2、4-5、7和11中任一项所述的方法,还包括:在所述电子设备处确定所述用户话语的第一部分是否包含预定义的语音触发;以及根据确定所述用户话语的第一部分包含预定义的语音触发,接收与所述第一部分分开的所述用户话语的第二部分,其中根据所述用户话语的第二部分确定所述用户意图。
14.一种存储一个或多个程序的非暂态计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由具有扬声器的电子设备的一个或多个处理器执行时,使得所述电子设备执行根据权利要求1至13中任一项所述的方法。
15.一种电子设备,包括:
扬声器;
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1至13中任一项所述的方法的指令。
说明书 :
用于在主设备处访问配套设备的呼叫功能的语音交互
No.62/679,177、2018年8月27日提交的名称为“Voice Interaction at a Primary Device
to Access Call Functionality of a Companion Device”的美国非临时申请No.16/113,
119、2018年6月12日提交的名称为“Voice Interaction at a Primary Device to Access
Call Functionality of a Companion Device”的丹麦申请No.PA201870373和2019年3月
27日提交的名称为“Voice Interaction at a Primary Device to Access Call
Functionality of a Companion Device”的PCT申请No.PCT/US2019/024436的优先权,上
述申请的全文以引用方式并入本文以用于所有目的。
技术领域
背景技术
户可向正在电子设备上运行的数字助理提供包含用户请求的语音输入。数字助理可从该语
音输入解译用户意图并且将用户意图操作化成任务。随后可通过执行电子设备的一项或多
项服务来执行这些任务,并且可将响应于用户请求的相关输出返回给用户。
发明内容
设备接收信号。该信号表示在配套设备上检测到来电。接收用户话语并且服务器基于用户
话语和上下文信息确定对应于用户话语的用户意图。上下文信息基于所接收的信号。根据
对应于接听来电的可执行意图的用户意图,执行多个操作。多个操作包括从服务器接收表
示满足接听来电的可执行意图的任务的命令。另外,多个操作包括基于该命令向配套设备
提供接听来电并将所接听的来电的音频数据中继到电子设备的指令。根据成功使配套设备
接听来电的指令,根据从配套设备接收的所接听的来电的音频数据输出电子设备扬声器处
的音频输出。
附图说明
具体实施方式
变更。
语音交互(例如,通过数字助理)来接听电话更方便。然而,在智能电话处直接处理语音请求
可能是无效且不可靠的。例如,智能电话的麦克风和扬声器可能不适合远场语音交互(例
如,在厨房和客厅之间)。根据本文所述的技术,主设备(例如,智能扬声器)可用于访问配套
设备(例如,智能电话)的呼叫功能。例如,用户可以在起居室中访问智能扬声器(例如,
)。智能扬声器与用户的智能手机配对,因此智能扬声器可以与用户的智能电
话无线通信以访问其呼叫功能。因此,可能需要使用与智能扬声器的语音交互来访问智能
电话的呼叫功能。具体地讲,智能扬声器的麦克风和扬声器可以被配置为产生用于远场语
音交互的更好的声音质量。此外,智能扬声器可以用作集线器,以更快、更有效、更智能地控
制并协调对智能电话的呼叫功能的访问。例如,智能扬声器可以在用户、数字助理服务器和
用户的智能电话之间协调信息以实现期望的用户体验,其中语音交互被准确地解释,响应
延迟缩短,并且声音质量优异。
配套设备接收指示配套设备处的来电的信号。主设备接收来自用户的话语并且使服务器基
于用户话语和上下文信息确定对应于用户话语的用户意图。上下文信息基于所接收的信
号。根据对应于接听来电的可执行意图的用户意图,执行多个操作。多个操作包括从服务器
接收表示满足接听来电的可执行意图的任务的命令。多个操作还包括基于该命令向配套设
备提供接听来电并将所接听的来电的音频数据中继到电子设备的指令。根据成功使配套设
备接听来电的指令,根据从配套设备接收的所接听的来电的音频数据输出电子设备扬声器
处的音频输出。
的范围的情况下,第一输入可被称为第二输入,并且类似地,第二输入可被称为第一输入。
第一输入和第二输入均为输入,并且在一些情况下为独立且不同的输入。
数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。还将
理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或
多个项目的任何和全部可能的组合。还将理解的是,术语“包括”(“includes”、
“including”、“comprises”和/或“comprising”)在本说明书中使用时是指定存在所陈述的
特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整
数、步骤、操作、元件、部件和/或其分组。
的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述
的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
和/或文本形式的自然语言输入来推断用户意图并且基于推断出的用户意图来执行动作的
任何信息处理系统。例如,为了作用于推断出的用户意图,系统执行下述步骤中的一个或多
个:识别具有设计用于实现推断出的用户意图的步骤和参数的任务流,根据推断出的用户
意图将特定要求输入到任务流中;通过调用程序、方法、服务、API等执行任务流;以及以可
听(例如,语音)和/或可视形式来生成对用户的输出响应。
求的令人满意的响应包括提供所请求的信息性回答、执行所请求的任务或这两者的组合。
例如,用户向数字助理提出问题,诸如“我现在在哪里?”。基于用户的当前位置,数字助理回
答“你在中央公园西门附近。”用户还请求执行任务,例如“请邀请我的朋友们下周来参加我
女朋友的生日聚会。”。作为响应,数字助理可通过讲出“好的,马上”来确认请求,然后代表
用户将合适的日历邀请发送到用户电子通讯录中列出的用户朋友中的每位朋友。在执行所
请求的任务期间,数字助理有时在很长时间段内在涉及多次信息交换的持续对话中与用户
进行交互。存在与数字助理进行交互以请求信息或执行各种任务的许多其他方法。除提供
言语响应并采取经编程的动作之外,数字助理还提供其他视频或音频形式的响应,例如作
为文本、警报、音乐、视频、动画等。
124”)。数字助理还包括在服务器系统108上执行的服务器端部分106(下文称为“DA服务器
106”)。DA客户端102/124通过一个或多个网络110与DA服务器106通信。DA客户端102/124提
供客户端功能,诸如面向用户的输入和输出处理,以及与DA服务器106通信。DA服务器106为
各自位于相应用户设备上的任意数量的DA客户端提供服务器端功能。
务器106的面向客户端的输入和输出处理。一个或多个处理模块114利用数据与模型116来
处理语音输入,并基于自然语言输入来确定用户意图。此外,一个或多个处理模块114基于
推断出的用户意图来执行任务执行。在一些示例中,DA服务器106通过一个或多个网络110
与外部服务120通信以完成任务或采集信息。到外部服务的I/O接口118有利于此类通信。
设备400)或个人电子设备(例如,下文参考图6A至图6B所述的设备600)。便携式多功能设备
为例如还包含其他功能诸如PDA和/或音乐播放器功能的移动电话。便携式多功能设备的特
定示例包括来自Apple Inc.(Cupertino,California)的Apple iPod
和 设备。便携式多功能设备的其他示例包括但不限于耳塞式耳机/头戴式耳
机、扬声器以及膝上型电脑或平板电脑。此外,在一些示例中,用户设备104是非便携式多功
能设备。具体地讲,用户设备104是台式计算机、游戏机、扬声器(例如, )、电视
或电视机顶盒 在一些示例中,用户设备104包括触敏表面(例如,触摸屏显示
器和/或触控板)。此外,用户设备104任选地包括一个或多个其他物理用户接口设备,诸如
物理键盘、鼠标和/或操纵杆。下文更详细地描述了电子设备诸如多功能设备的各种示例。
太网、通用串行总线(USB)、FIREWIRE、全球移动通信系统(GSM)、增强型数据GSM环境
(EDGE)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、Wi-Fi、互联网协议语音(VoIP)、Wi-MAX或
任何其他合适的通信协议。
种虚拟设备和/或服务来提供服务器系统108的潜在计算资源和/或基础结构资源。
证信息时彼此建立无线通信连接。在一些示例中,用户设备104是具有与设备200或400的特
征类似的特征的智能电话设备(例如, ),如下文参考图2A、图4和图6A至图6B所述。
在一些示例中,第二用户设备122是仅具有设备200或400中包括的特征的子集的智能扬声
器设备(例如, )。例如,第二用户设备122不包括启用独立呼叫功能的显示器或
特征部(例如,电话模块238或视频会议模块239)。具体地讲,在这些示例中,第二用户设备
122不能在没有通信地耦接到用户设备104的情况下拨打电话或接听电话。在建立无线通信
连接时,第二用户设备122经由诸如蓝牙、NFC、BTLE等的直接通信连接或经由诸如本地Wi-
Fi网络的无线网络通信地耦接到用户设备104。在一些示例中,如下文更详细描述的,第二
用户设备122访问用户设备104的呼叫功能以执行呼叫相关的功能。例如,用户可以向第二
用户设备122提供语音输入以在用户设备104上拨打电话或接听电话。
备上的独立式应用程序。此外,数字助理的客户端部分与服务器部分之间的功能划分在不
同的具体实施中可变化。例如,在一些示例中,DA客户端为仅提供面向用户的输入和输出处
理功能并将数字助理的所有其他功能委派给后端服务器的瘦客户端。
敏显示器212有时为了方便被叫做“触摸屏”,并且有时被称为或被叫做“触敏显示器系统”。
设备200包括存储器202(其任选地包括一个或多个计算机可读存储介质)、存储器控制器
222、一个或多个处理单元(CPU)220、外围设备接口218、RF电路208、音频电路210、扬声器
211、麦克风213、输入/输出(I/O)子系统206、其他输入控制设备216和外部端口224。设备
200任选地包括一个或多个光学传感器264。设备200任选地包括用于检测设备200(例如,设
备200的触敏表面诸如触敏显示器系统212)上的接触的强度的一个或多个接触强度传感器
265。设备200任选地包括用于在设备200上生成触觉输出的一个或多个触觉输出发生器267
(例如,在触敏表面诸如设备200的触敏显示器系统212或设备400的触控板455上生成触觉
输出)。这些部件可选地通过一个或多个通信总线或信号线203进行通信。
触的力或压力的替代物(代用物)。接触的强度具有值范围,该值范围包括至少四个不同的
值并且更典型地包括上百个不同的值(例如,至少256个)。接触的强度任选地使用各种方法
和各种传感器或传感器的组合来确定(或测量)。例如,在触敏表面下方或相邻于触敏表面
的一个或多个力传感器任选地用于测量触敏表面上的不同点处的力。在一些具体实施中,
来自多个力传感器的力测量值被组合(例如,加权平均)以确定所估计的接触力。类似地,触
笔的压敏顶端任选地用于确定触笔在触敏表面上的压力。另选地,在触敏表面上检测到的
接触区域的大小和/或其变化、接触附近的触敏表面的电容和/或其变化以及/或者接触附
近的触敏表面的电阻和/或其变化任选地被用作触敏表面上的接触的力或压力的替代物。
在一些具体实施中,接触力或压力的替代物测量直接用于确定是否已经超过强度阈值(例
如,强度阈值以对应于替代物测量的单位来描述)。在一些具体实施中,接触力或压力的替
代物测量被转换成估计的力或压力,并且估计的力或压力用于确定是否已超过强度阈值
(例如,强度阈值是以压力的单位进行测量的压力阈值)。使用接触的强度作为用户输入的
属性,从而允许用户访问用户在实地面积有限的尺寸更小的设备上本来不可访问的附加设
备功能,该尺寸更小的设备用于(例如,在触敏显示器上)显示示能表示和/或接收用户输入
(例如,经由触敏显示器、触敏表面或物理控件/机械控件,诸如旋钮或按钮)。
于设备的另一个部件(例如,外壳)的物理位移、或部件相对于设备的质心的位移。例如,在
设备或设备的部件与用户对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接
触的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感对应于设备或设
备的部件的物理特征的所感知的变化。例如,触敏表面(例如,触敏显示器或触控板)的移动
任选地由用户解释为对物理致动按钮的“按下点击”或“松开点击”。在一些情况下,用户将
感觉到触感,诸如“按下点击”或“松开点击”,即使在通过用户的移动而物理地被按压(例
如,被移位)的与触敏表面相关联的物理致动按钮没有移动时。又如,即使在触敏表面的光
滑度无变化时,触敏表面的移动也会任选地由用户解释或感测为触敏表面的“粗糙度”。虽
然用户对触摸的此类解释将受到用户的个体化感官知觉的限制,但是对触摸的许多感官知
觉是大多数用户共有的。因此,当触觉输出被描述为对应于用户的特定感官知觉(例如,“按
下点击”、“松开点击”、“粗糙度”)时,除非另外陈述,否则所生成的触觉输出对应于设备或
其部件的物理位移,该物理位移将会生成典型(或普通)用户的所述感官知觉。
些部件的不同配置或布置。图2A所示的各种部件以硬件、软件或硬件与软件两者的组合来
实现,包括一个或多个信号处理和/或专用集成电路。
诸如一个或多个磁盘存储设备、闪存存储器设备或其他非易失性固态存储器设备。存储器
控制器222控制设备200的其他部件访问存储器202。
包含处理器的系统或可从指令执行系统、装置或设备取出指令并执行指令的其他系统使用
或与其结合使用。在其他示例中,指令(例如,用于执行下文描述的过程的各方面)存储在服
务器系统108的非暂态计算机可读存储介质(未示出)上,或在存储器202的非暂态计算机可
读存储介质与服务器系统108的非暂态计算机可读存储介质之间划分。
执行设备200的各种功能并处理数据。在一些实施方案中,外围设备接口218、CPU 220和存
储器控制器222在单个芯片诸如芯片204上实现。在一些其他实施方案中,它们在独立的芯
片上实现。
进行通信。RF电路208任选地包括用于执行这些功能的熟知的电路,包括但不限于天线系
统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯
片组、用户身份模块(SIM)卡、存储器等。RF电路208任选地通过无线通信与网络以及其他设
备进行通信,该网络为诸如互联网(也被称为万维网(WWW))、内联网和/或无线网络(诸如蜂
窝电话网络、无线局域网(LAN)和/或城域网(MAN))。RF电路208任选地包括用于诸如通过近
程通信无线电部件来检测近场通信(NFC)场的熟知的电路。无线通信任选地使用多种通信
标准、协议和技术中的任一种,包括但不限于全球移动通信系统(GSM)、增强型数据GSM环境
(EDGE)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、演进、纯数据
(EV-DO)、HSPA、HSPA+、双小区HSPA(DC-HSPDA)、长期演进(LTE)、近场通信(NFC)、宽带码分
多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、蓝牙低功耗(BTLE)、无线保真(Wi-
Fi)(例如,IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、IEEE 802.11n和/或IEEE
802.11ac)、互联网协议语音(VoIP)、Wi-MAX、电子邮件协议(例如,互联网消息访问协议
(IMAP)和/或邮局协议(POP))、即时消息(例如,可扩展消息处理和存在协议(XMPP)、用于即
时消息和存在利用扩展的会话发起协议(SIMPLE)、即时消息和存在服务(IMPS))和/或短消
息服务(SMS),或者任何其他适当的通信协议,包括在本文档提交日期时尚未开发出的通信
协议。
扬声器211。扬声器211将电信号转换为人类可听到的声波。音频电路210还接收由麦克风
213根据声波转换来的电信号。音频电路210将电信号转换为音频数据,并将音频数据传输
到外围设备接口218以进行处理。音频数据通过外围设备接口218检索自和/或传输至存储
器202和/或RF电路208。在一些实施方案中,音频电路210还包括耳麦插孔(例如,图3中的
312)。该耳麦插孔提供音频电路210与可移除的音频输入/输出外围设备之间的接口,该可
移除的音频输入/输出外围设备为诸如仅输出的耳机或者具有输出(例如,单耳耳机或双耳
耳机)和输入(例如,麦克风)两者的耳麦。
制器258、强度传感器控制器259、触觉反馈控制器261,以及用于其他输入或控制设备的一
个或多个输入控制器260。一个或多个输入控制器260从其他输入控制设备216接收电信号/
将电信号发送到其他输入控制设备。其他输入控制设备216任选地包括物理按钮(例如,下
压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击轮等。在一些另选实施方案中,一个
或多个输入控制器260任选地耦接至以下各项中的任一者(或不耦接至以下各项中的任一
者):键盘、红外线端口、USB端口以及指针设备诸如鼠标。一个或多个按钮(例如,图3中的
308)任选地包括用于扬声器211和/或麦克风213的音量控制的增大/减小按钮。所述一个或
多个按钮任选地包括下压按钮(例如,图3中的306)。
Performing Gestures on an Unlock Image”的美国专利No.7,657,849的美国专利申请
11/322,549中所述,该美国专利申请据此全文以引用方式并入本文。较长地按下下压按钮
(例如,306)使设备200开机或关机。用户能够自定义一个或多个按钮的功能。触摸屏212用
于实现虚拟按钮或软按钮以及一个或多个软键盘。
觉输出包括图形、文本、图标、视频及其任何组合(统称为“图形”)。在一些实施方案中,一些
视觉输出或全部视觉输出对应于用户界面对象。
令集一起)检测触摸屏212上的接触(和该接触的任何移动或中断),并且将所检测到的接触
转换为与被显示在触摸屏212上的用户界面对象(例如,一个或多个软键、图标、网页或图
像)的交互。在示例性实施方案中,触摸屏212与用户之间的接触点对应于用户的手指。
目前已知或以后将开发的多种触摸感测技术中的任何技术,以及其他接近传感器阵列或用
于确定与触摸屏212接触的一个或多个点的其他元件来检测接触及其任何移动或中断,所
述多种触摸感测技术包括但不限于电容式、电阻式、红外和表面声波技术。在示例性实施方
案中,使用投射式互电容感测技术,诸如在来自Apple Inc.(Cupertino,California)的
和iPod 中使用的技术。
利公开2002/0015024A1中所述的多点触敏触控板,这些专利申请均据此全文以引用方式并
入本文。然而,触摸屏212显示来自设备200的视觉输出,而触敏触摸板不提供视觉输出。
(2)2004年5月6日提交的名称为“Multipoint Touchscreen”的美国专利申请No.10/840,
862;(3)2004年7月30日提交的名称为“Gestures For Touch Sensitive Input Devices”
的美国专利申请No.10/903,964;(4)2005年1月31日提交的名称为“Gestures For Touch
Sensitive Input Devices”的美国专利申请11/048,264;(5)2005年1月18日提交的名称为
“Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices”的美
国专利申请No.11/038,590;(6)2005年9月16日提交的名称为“Virtual Input Device
Placement On A Touch Screen User Interface”的美国专利申请No.11/228,758;(7)
2005年9月16日提交的名称为“Operation Of A Computer With A Touch Screen
Interface”的美国专利申请No.11/228,700;(8)2005年9月16日提交的名称为“Activating
Virtual Keys Of A Touch-Screen Virtual Keyboard”的美国专利申请No.11/228,737;
以及(9)2006年3月3日提交的名称为“Multi-Functional Hand-Held Device”的美国专利
申请No.11/367,749。所有这些申请全文以引用方式并入本文。
行接触。在一些实施方案中,将用户界面设计为主要通过基于手指的接触和手势来工作,由
于手指在触摸屏上的接触区域较大,因此这可能不如基于触笔的输入精确。在一些实施方
案中,设备将基于手指的粗略输入转化为精确的指针/光标位置或命令以用于执行用户所
期望的动作。
区域不显示视觉输出。触控板是与触摸屏212分开的触敏表面,或者是由触摸屏形成的触敏
表面的延伸。
换器或逆变器、电力状态指示器(例如,发光二极管(LED))和与便携式设备中电力的生成、
管理和分配相关联的任何其他部件。
氧化物半导体(CMOS)光电晶体管。光学传感器264从环境接收通过一个或多个透镜而投射
的光,并且将光转换为表示图像的数据。结合成像模块243(也叫做相机模块),光学传感器
264捕获静态图像或视频。在一些实施方案中,光学传感器位于设备200的后部,与设备前部
的触摸屏显示器212相背对,使得触摸屏显示器被用作用于静态图像和/或视频图像采集的
取景器。在一些实施方案中,光学传感器位于设备的前部,使得在用户在触摸屏显示器上查
看其他视频会议参与者的同时获取该用户的图像以用于视频会议。在一些实施方案中,光
学传感器264的位置可由用户改变(例如,通过旋转设备外壳中的透镜和传感器),使得单个
光学传感器264与触摸屏显示器一起使用,以用于视频会议和静态图像和/或视频图像采集
两者。
个或多个压阻应变仪、电容式力传感器、电气力传感器、压电力传感器、光学力传感器、电容
式触敏表面或其他强度传感器(例如,用于测量触敏表面上的接触的力(或压力)的传感
器)。接触强度传感器265从环境接收接触强度信息(例如,压力信息或压力信息的代用物)。
在一些实施方案中,至少一个接触强度传感器与触敏表面(例如,触敏显示器系统212)并置
排列或邻近。在一些实施方案中,至少一个接触强度传感器位于设备200的后部上,与位于
设备200的前部上的触摸屏显示器212相背对。
传感器266如以下美国专利申请中所述的那样执行:No.11/241,839,名称为“Proximity
Detector In Handheld Device”;No.11/240,788,名称为“Proximity Detector In
Handheld Device”;No.11/620,702,名称为“Using Ambient Light Sensor To Augment
Proximity Sensor Output”;No.11/586,862,名称为“Automated Response To And
Sensing Of User Activity In Portable Devices”;以及No.11/638,251,名称为
“Methods And Systems For Automatic Configuration Of Peripherals”,这些美国专利
申请据此全文以引用方式并入本文。在一些实施方案中,当多功能设备被置于用户的耳朵
附近时(例如,当用户正在进行电话呼叫时),接近传感器关闭并且禁用触摸屏212。
或多个电声设备诸如扬声器或其他音频部件;和/或用于将能量转换成线性运动的机电设
备诸如电机、螺线管、电活性聚合器、压电致动器、静电致动器或其他触觉输出生成部件(例
如,用于将电信号转换成设备上的触觉输出的部件)。接触强度传感器265从触觉反馈模块
233接收触觉反馈生成指令,并且在设备200上生成能够由设备200的用户感测到的触觉输
出。在一些实施方案中,至少一个触觉输出发生器与触敏表面(例如,触敏显示器系统212)
并置排列或邻近,并且任选地通过竖直地(例如,向设备200的表面内/外)或侧向地(例如,
在与设备200的表面相同的平面中向后和向前)移动触敏表面来生成触觉输出。在一些实施
方案中,至少一个触觉输出发生器传感器位于设备200的后部上,与位于设备200的前部上
的触摸屏显示器212相背对。
如以下美国专利公开中所述那样执行:美国专利公开20050190059,“Acceleration-based
Theft Detection System for Portable Electronic Devices”和美国专利公开
20060017692,“Methods And Apparatuses For Operating A Portable Device Based On
An Accelerometer”,这两个美国专利公开全文以引用方式并入本文。在一些实施方案中,
基于对从一个或多个加速度计接收的数据的分析来在触摸屏显示器上以纵向视图或横向
视图显示信息。设备200任选地除了加速度计268之外还包括磁力仪(未示出)和GPS(或
GLONASS或其他全球导航系统)接收器(未示出),以用于获取关于设备200的位置和取向(例
如,纵向或横向)的信息。
(或指令集)234、全球定位系统(GPS)模块(或指令集)235、数字助理客户端模块229以及应
用程序(或指令集)236。此外,存储器202存储数据与模型,诸如用户数据与模型231。此外,
在一些实施方案中,存储器202(图2A)或470(图4)存储设备/全局内部状态257,如图2A和图
4所示。设备/全局内部状态257包括以下各项中的一者或多者:活动应用程序状态,其指示
哪些应用程序(如果有的话)当前是活动的;显示状态,其指示什么应用程序、视图或其他信
息占据触摸屏显示器212的各个区域;传感器状态,其包括从设备的各个传感器和输入控制
设备216获取的信息;以及关于设备的位置和/或姿态的位置信息。
电源管理等)的各种软件部件和/或驱动程序,并且促进各种硬件部件和软件部件之间的通
信。
(例如,通用串行总线(USB)、火线等)适于直接耦接到其他设备,或间接地通过网络(例如,
互联网、无线LAN等)进行耦接。在一些实施方案中,外部端口是与 (Apple Inc.的商
标)设备上所使用的30针连接器相同的或类似的和/或与其兼容的多针(例如,30针)连接
器。在一些示例中,通信模块228被配置为在设备200和第二设备之间建立无线通信连接。具
体地讲,通信模块228协调与第二设备的认证信息的交换,以确定第二设备是否是设备200
的注册设备。在基于所交换的认证来确定第二设备是设备200的注册设备时,通信模块228
建立(例如,使用RF电路208)与第二设备的无线通信连接。
执行与接触检测相关的各种操作,诸如确定是否已发生接触(例如,检测手指按下事件)、确
定接触强度(例如,接触的力或压力,或者接触的力或压力的替代物)、确定是否存在接触的
移动并跟踪在触敏表面上的移动(例如,检测一个或多个手指拖动事件),以及确定接触是
否已停止(例如,检测手指抬起事件或接触断开)。接触/运动模块230从触敏表面接收接触
数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加
速度(量值和/或方向的改变),所述接触点的移动由一系列接触数据表示。这些操作任选地
被应用于单点接触(例如,单指接触)或者多点同时接触(例如,“多点触摸”/多个手指接
触)。在一些实施方案中,接触/运动模块230和显示控制器256检测触摸板上的接触。
来确定强度阈值的至少一个子集(例如,强度阈值不是由具体物理致动器的激活阈值来确
定的,并且可在不改变设备200的物理硬件的情况下被调节)。例如,在不改变触控板或触摸
屏显示器硬件的情况下,触控板或触摸屏的鼠标“点击”阈值可被设定成预定义的阈值的大
范围中的任一个阈值。另外,在一些具体实施中,向设备的用户提供用于调节一组强度阈值
中的一个或多个强度阈值(例如,通过调节各个强度阈值和/或通过利用对“强度”参数的系
统级点击来一次调节多个强度阈值)的软件设置。
定接触模式来检测手势。例如,检测手指轻击手势包括检测手指按下事件,然后在与手指按
下事件相同的位置(或基本上相同的位置)处(例如,在图标的位置处)检测手指抬起(抬离)
事件。作为另一个示例,在触敏表面上检测手指轻扫手势包括检测手指按下事件,然后检测
一个或多个手指拖动事件,并且随后检测手指抬起(抬离)事件。
或其他视觉特征)的部件。如本文所用,术语“图形”包括可被显示给用户的任何对象,非限
制性地包括文本、网页、图标(诸如,包括软键的用户界面对象)、数字图像、视频、动画等。
个代码,在必要的情况下还一起接收坐标数据和其他图形属性数据,并且然后生成屏幕图
像数据,以输出至显示控制器256。
处产生触觉输出。
程序)中输入文本的软键盘。
供给提供基于位置的服务的应用,诸如天气桌面小程序、本地黄页桌面小程序和地图/导航
桌面小程序)。
口(例如,麦克风213、一个或多个加速度计268、触敏显示器系统212、一个或多个光学传感
器229、其他输入控制设备216等)接受声音输入(例如,语音输入)、文本输入、触摸输入和/
或手势输入。数字助理客户端模块229还能够通过便携式多功能设备200的各种输出接口
(例如,扬声器211、触敏显示器系统212、一个或多个触觉输出生成器267等)提供音频形式
的输出(例如,语音输出)、视觉形式的输出和/或触觉形式的输出。例如,将输出提供为语
音、声音、警报、文本消息、菜单、图形、视频、动画、振动和/或以上两者或更多者的组合。在
操作期间,数字助理客户端模块229使用RF电路208与DA服务器106通信。
以提供数字助理的客户端侧功能。此外,用户数据与模型231包括用于处理用户输入并且确
定用户意图的各种模型(例如,语音识别模型、统计语言模型、自然语言处理模型、知识本
体、任务流模型、服务模型等)。
户、当前用户交互和/或当前用户输入相关联的上下文。在一些示例中,数字助理客户端模
块229将上下文信息或其子集与用户输入一起提供至DA服务器106以帮助推断用户意图。在
一些示例中,数字助理还使用上下文信息来确定如何准备输出并将其传送给用户。上下文
信息被称为上下文数据。
状态,例如设备取向、设备位置、设备温度、功率电平、速度、加速度、运动模式、蜂窝信号强
度等。在一些示例中,将与DA服务器106的软件状态相关的信息,例如便携式多功能设备200
的运行过程、已安装程序、过去和当前的网络活动、后台服务、错误日志、资源使用等,作为
与用户输入相关联的上下文信息提供至DA服务器106。
理客户端模块229还在DA服务器106请求时引出来自用户经由自然语言对话或其他用户接
口的附加输入。数字助理客户端模块229将该附加输入传送至DA服务器106,以帮助DA服务
器106进行意图推断和/或满足在用户请求中表达的用户意图。
典桌面小程序249-5和用户获取的其他桌面小程序以及用户创建的桌面小程序249-6;
理、声音识别和声音复制。
中的联系人模块237的应用程序内部状态292中),包括:将一个或多个姓名添加到通讯录;
从地址簿删除姓名;将电话号码、电子邮件地址、物理地址或其他信息与姓名关联;将图像
与姓名关联;对姓名进行归类和分类;提供电话号码或电子邮件地址来发起和/或促进通过
电话238、视频会议模块239、电子邮件240或IM241的通信;等等。
话号码的字符序列、访问联系人模块237中的一个或多个电话号码、修改已经输入的电话号
码、拨打相应的电话号码、进行会话以及当会话完成时断开或挂断。如上所述,无线通信使
用多种通信标准、协议和技术中的任一种。
块234、联系人模块237和电话模块238,视频会议模块239包括根据用户指令来发起、执行和
终止用户与一个或多个其他参与者之间的视频会议的可执行指令。
电子邮件的可执行指令。结合图像管理模块244,电子邮件客户端模块240使得非常容易创
建和发送具有由相机模块243拍摄的静态图像或视频图像的电子邮件。
应的字符序列、修改先前输入的字符、传输相应即时消息(例如,使用短消息服务(SMS)或多
媒体消息服务(MMS)协议以用于基于电话的即时消息或者使用XMPP、SIMPLE、或IMPS以用于
基于互联网的即时消息)、接收即时消息以及查看所接收的即时消息。在一些实施方案中,
所传输和/或接收的即时消息包括图形、照片、音频文件、视频文件和/或如MMS和/或增强型
消息服务(EMS)中支持的其他附件。如本文所用,“即时消息”是指基于电话的消息(例如,使
用SMS或MMS发送的消息)和基于互联网的消息(例如,使用XMPP、SIMPLE或IMPS发送的消息)
两者。
以下各项的可执行指令:创建健身(例如,具有时间、距离和/或卡路里燃烧目标);与健身传
感器(运动设备)进行通信;接收健身传感器数据;校准用于监视健身的传感器;为健身选择
和播放音乐;以及显示、存储和传输健身数据。
令:捕获静态图像或视频(包括视频流)并且将它们存储到存储器202中、修改静态图像或视
频的特征,或从存储器202删除静态图像或视频。
编辑)或以其他方式操控、加标签、删除、呈现(例如,在数字幻灯片或相册中),以及存储静
态图像和/或视频图像。
收和显示网页或其部分,以及链接至网页的附件和其他文件)的可执行指令。
户指令来创建、显示、修改和存储日历以及与日历相关联的数据(例如,日历条目、待办事项
等)的可执行指令。
程序(例如,天气桌面小程序249-1、股市桌面小程序249-2、计算器桌面小程序249-3、闹钟
桌面小程序249-4和词典桌面小程序249-5)或由用户创建的微型应用程序(例如,用户创建
的桌面小程序249-6)。在一些实施方案中,桌面小程序包括HTML(超文本标记语言)文件、
CSS(层叠样式表)文件和JavaScript文件。在一些实施方案中,桌面小程序包括XML(可扩展
标记语言)文件和JavaScript文件(例如,Yahoo!桌面小程序)。
(例如,使网页的用户指定部分变成桌面小程序)。
如,一个或多个用户指定的搜索词)的文本、音乐、声音、图像、视频和/或其他文件的可执行
指令。
回放以一种或多种文件格式(诸如MP3或AAC文件)存储的所记录的音乐和其他声音文件的
可执行指令,以及用于显示、呈现或以其他方式回放视频(例如,在触摸屏212上或在经由外
部端口224连接的外部显示器上)的可执行指令。在一些实施方案中,设备200任选地包括
MP3播放器,诸如iPod(Apple Inc.的商标)的功能性。
修改和存储地图以及与地图相关联的数据(例如,驾驶方向、与特定位置处或附近的商店及
其他兴趣点有关的数据,以及其他基于位置的数据)。
视频模块255包括允许用户访问、浏览、接收(例如,通过流式传输和/或下载)、回放(例如,
在触摸屏上或经由外部端口224在所连接的外部显示器上)、发送具有至特定在线视频的链
接的电子邮件,以及以其他方式管理一种或多种文件格式(诸如,H.264)的在线视频的指
令。在一些实施方案中,使用即时消息模块241而不是电子邮件客户端模块240来发送至特
定在线视频的链接。在线视频应用程序的其他描述可见于2007年6月20日提交的名称为
“Portable Multifunction Device,Method,and Graphical User Interface for
Playing Online Videos”的美国临时专利申请60/936,562和2007年12月31日提交的名称
为“Portable Multifunction Device,Method,and Graphical User Interface for
Playing Online Videos”的美国专利申请11/968,067,这两个专利申请的内容据此全文以
引用方式并入本文。
集。这些模块(例如,指令集)不必被实现为独立的软件程序、过程或模块,并因此在各种实
施方案中可组合或以其他方式重新布置这些模块的各种子集。例如,视频播放器模块可与
音乐播放器模块组合成单个模块(例如,图2A中的视频和音乐播放器模块252)。在一些实施
方案中,存储器202存储上述模块和数据结构的子组。此外,存储器202存储上文未描述的另
外的模块和数据结构。
入控制设备,减少设备200上的物理输入控制设备(诸如下压按钮、拨盘等)的数量。
上的任何用户界面导航到主菜单、home菜单或根菜单。在此类实施方案中,使用触摸板来实
现“菜单按钮”。在一些其他实施方案中,菜单按钮是物理下压按钮或者其他物理输入控制
设备,而不是触摸板。
中)以及相应的应用程序236-1(例如,前述应用程序237至251、255、480至490中的任一个应
用程序)。
274。在一些实施方案中,应用程序236-1包括应用程序内部状态292,该应用程序内部状态
指示当应用程序是活动的或正在执行时被显示在触敏显示器212上的一个或多个当前应用
程序视图。在一些实施方案中,设备/全局内部状态257被事件分类器270用于确定哪个(哪
些)应用程序当前是活动的,并且应用程序内部状态292被事件分类器270用于确定要将事
件信息递送到的应用程序视图291。
息或准备好用于被应用程序236-1显示的信息的用户界面状态信息、用于使得用户能够返
回到应用程序236-1的前一状态或视图的状态队列以及用户采取的先前动作的重复/撤销
队列。
输其从I/O子系统206或传感器诸如接近传感器266、一个或多个加速度计268和/或麦克风
213(通过音频电路210)接收的信息。外围设备接口218从I/O子系统206接收的信息包括来
自触敏显示器212或触敏表面的信息。
存在显著事件(例如,接收到高于预先确定的噪声阈值的输入和/或接收到超过预先确定的
持续时间的输入)时才传输事件信息。
控件和其他元素构成。
(相应应用程序的)应用程序视图对应于应用程序的程序化分级结构或视图分级结构内的
程序化水平。例如,在其中检测到触摸的最低水平视图被称为命中视图,并且被认为是正确
输入的事件集至少部分地基于初始触摸的命中视图来确定,该初始触摸开始基于触摸的手
势。
件进行处理的分级结构中的最低视图。在大多数情况下,命中视图是发起子事件(例如,形
成事件或潜在事件的子事件序列中的第一子事件)在其中发生的最低水平视图。一旦命中
视图被命中视图确定模块272识别,命中视图便通常接收与其被识别为命中视图所针对的
同一触摸或输入源相关的所有子事件。
定子事件序列。在其他实施方案中,活动事件识别器确定模块273确定包括子事件的物理位
置的所有视图是活跃参与的视图,并因此确定所有活跃参与的视图都应接收特定子事件序
列。在其他实施方案中,即使触摸子事件完全被局限到与一个特定视图相关联的区域,分级
结构中的较高视图将仍然保持为活跃参与的视图。
动事件识别器确定模块273确定的事件识别器。在一些实施方案中,事件分配器模块274在
事件队列中存储事件信息,该事件信息由相应事件接收器282进行检索。
202中的另一个模块(诸如,接触/运动模块230)的一部分。
图内的触摸事件的指令。应用程序236-1的每个应用程序视图291包括一个或多个事件识别
器280。通常,相应应用程序视图291包括多个事件识别器280。在其他实施方案中,事件识别
器280中的一个或多个事件识别器是独立模块的一部分,该独立模块为诸如用户界面工具
包(未示出)或应用程序236-1从中继承方法和其他属性的较高级别的对象。在一些实施方
案中,相应事件处理程序290包括以下各项中的一者或多者:数据更新器276、对象更新器
277、GUI更新器278和/或从事件分类器270接收的事件数据279。事件处理程序290利用或调
用数据更新器276、对象更新器277或GUI更新器278来更新应用程序内部状态292。另选地,
应用程序视图291中的一个或多个应用程序视图包括一个或多个相应的事件处理程序290。
另外,在一些实施方案中,数据更新器276、对象更新器277和GUI更新器278中的一者或多者
包括在相应应用程序视图291中。
案中,事件识别器280还包括元数据283和事件传递指令288(其包括子事件传递指令)的至
少一个子集。
子事件涉及触摸的运动时,事件信息还包括子事件的速率和方向。在一些实施方案中,事件
包括设备从一个取向旋转到另一取向(例如,从纵向取向旋转到横向取向,或反之亦然),并
且事件信息包括关于设备的当前取向(也被称为设备姿态)的对应信息。
比较器284包括事件定义286。事件定义286包含事件的定义(例如,预定义的子事件序列),
例如事件1(287-1)、事件2(287-2)、以及其他事件。在一些实施方案中,事件(287)中的子事
件包括例如,触摸开始、触摸结束、触摸移动、触摸取消和多点触摸。在一个示例中,事件1
(287-1)的定义是在所显示对象上的双击。例如,双击包括被显示对象上的预先确定时长的
第一触摸(触摸开始)、预先确定时长的第一抬离(触摸结束)、被显示对象上的预先确定时
长的第二触摸(触摸开始)以及预先确定时长的第二抬离(触摸结束)。在另一个示例中,事
件2(287-2)的定义是在所显示对象上的拖动。例如,拖动包括所显示对象上的预先确定时
长的触摸(或接触)、触摸在触敏显示器212上的移动,以及触摸的抬离(触摸结束)。在一些
实施方案中,事件还包括用于一个或多个相关联的事件处理程序290的信息。
联。例如,在触敏显示器212上显示三个用户界面对象的应用程序视图中,当在触敏显示器
212上检测到触摸时,事件比较器284执行命中测试,以确定这三个用户界面对象中的哪一
个用户界面对象与该触摸(子事件)相关联。如果每个所显示对象与相应的事件处理程序
290相关联,则事件比较器使用该命中测试的结果,以确定哪个事件处理程序290应当被激
活。例如,事件比较器284选择与子事件和触发该命中测试的对象相关联的事件处理程序。
手势的后续子事件。在这种情况下,对于命中视图保持活动的其他事件识别器(如果有的
话)继续跟踪并处理持续进行的基于触摸的手势的子事件。
列表。在一些实施方案中,元数据283包括指示事件识别器彼此如何交互或如何能够进行交
互的可配置属性、标志和/或列表。在一些实施方案中,元数据283包括指示子事件是否被递
送到视图或程序化分级结构中的不同层级的可配置属性、标志和/或列表。
相关联的事件信息递送到事件处理程序290。激活事件处理程序290不同于将子事件发送
(和延期发送)到相应命中视图。在一些实施方案中,事件识别器280发出与所识别的事件相
关联的标志,并且与该标志相关联的事件处理程序290获取该标志并执行预定义的过程。
事件序列相关联的事件处理程序或者递送到活跃参与的视图。与子事件序列或与活跃参与
的视图相关联的事件处理程序接收事件信息并执行预先确定的过程。
模块中所使用的视频文件进行存储。在一些实施方案中,对象更新器277创建和更新在应用
程序236-1中使用的对象。例如,对象更新器277创建新的用户界面对象或更新用户界面对
象的位置。GUI更新器278更新GUI。例如,GUI更新器278准备显示信息,并且将显示信息发送
到图形模块232用以显示在触敏显示器上。
277和GUI更新器278被包括在相应应用程序236-1的单个模块或被包括在应用程序视图291
中。在其他实施方案中,它们被包括在两个或更多个软件模块中。
上发起的。例如,任选地与单次或多次键盘按下或按住协作的鼠标移动和鼠标按钮按下;触
控板上的接触移动,诸如轻击、拖动、滚动等;触笔输入;设备的移动;口头指令;检测到的眼
睛移动;生物特征输入;和/或它们的任何组合任选地被用作对应于限定要识别的事件的子
事件的输入。
施方案中,用户能够通过例如利用一根或多根手指302(在图中未按比例绘制)或一支或多
支触笔303(在图中未按比例绘制)在图形上作出手势来选择这些图形中的一个或多个图
形。在一些实施方案中,当用户中断与一个或多个图形的接触时,将发生对一个或多个图形
的选择。在一些实施方案中,手势任选地包括一次或多次轻击、一次或多次轻扫(从左向右、
从右向左、向上和/或向下)和/或已与设备200发生接触的手指的滚动(从右向左、从左向
右、向上和/或向下)。在一些具体实施中或在一些情况下,不经意地与图形接触不会选择图
形。例如,当与选择对应的手势是轻击时,在应用程序图标上方扫动的轻扫手势任选地不会
选择对应的应用程序。
些实施方案中,菜单按钮被实现为被显示在触摸屏212上的GUI中的软键。
310、耳麦插孔312和对接/充电外部端口224。下压按钮306任选地用于通过压下该按钮并且
将该按钮保持在压下状态持续预定义的时间间隔来对设备进行开/关机;通过压下该按钮
并在该预定义的时间间隔过去之前释放该按钮来锁定设备;和/或对设备进行解锁或发起
解锁过程。在另选的实施方案中,设备200还通过麦克风213接受用于激活或去激活某些功
能的语音输入。设备200还任选地包括用于检测触摸屏212上的接触的强度的一个或多个接
触强度传感器265,和/或用于为设备200的用户生成触觉输出的一个或多个触觉输出发生
器267。
电脑、多媒体播放器设备、导航设备、教育设备(诸如儿童学习玩具)、游戏系统、或控制设备
(例如,家用控制器或工业用控制器)。设备400通常包括一个或多个处理单元(CPU)410、一
个或多个网络或其他通信接口460、存储器470和用于使这些部件互连的一个或多个通信总
线420。通信总线420任选地包括使系统部件互连并且控制系统部件之间的通信的电路(有
时称作芯片组)。设备400包括具有显示器440的输入/输出(I/O)接口430,该显示器通常是
触摸屏显示器。I/O接口430还任选地包括键盘和/或鼠标(或其他指向设备)450以及触控板
455、用于在设备400上生成触觉输出的触觉输出发生器457(例如,类似于以上参考图2A所
述的一个或多个触觉输出发生器267)、传感器459(例如,光学传感器、加速度传感器、接近
传感器、触敏传感器,和/或类似于以上参考图2A所述的一个或多个接触强度传感器265的
接触强度传感器)。存储器470包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随
机存取固态存储器设备;并且任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、
光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器470任选地包括远离
CPU 410定位的一个或多个存储设备。在一些实施方案中,存储器470存储与便携式多功能
设备200(图2A)的存储器202中存储的程序、模块和数据结构类似的程序、模块和数据结构
或其子集。此外,存储器470任选地存储在便携式多功能设备200的存储器202中不存在的附
加程序、模块和数据结构。例如,设备400的存储器470任选地存储绘图模块480、呈现模块
482、文字处理模块484、网站创建模块486、盘编辑模块488、和/或电子表格模块490,而便携
式多功能设备200(图2A)的存储器202任选地不存储这些模块。
如,指令集)不必被实现为独立的软件程序、过程或模块,因此这些模块的各种子集在各种
实施方案中组合或以其他方式重新布置。在一些实施方案中,存储器470存储上述模块和数
据结构的子组。此外,存储器470存储上文未描述的另外的模块和数据结构。
元件或者其子集或超集:
用其他标签。在一些实施方案中,相应应用程序图标的标签包括与该相应应用程序图标对
应的应用程序的名称。在一些实施方案中,特定应用程序图标的标签不同于与该特定应用
程序图标对应的应用程序的名称。
任选地包括用于检测触敏表面551上的接触强度的一个或多个接触强度传感器(例如,传感
器457中的一个或多个传感器)和/或用于为设备400的用户生成触觉输出的一个或多个触
觉输出发生器459。
入,如图5B中所示。在一些实施方案中,触敏表面(例如,图5B中的551)具有与显示器(例如,
550)上的主轴(例如,图5B中的553)对应的主轴(例如,图5B中的552)。根据这些实施方案,
设备检测在与显示器上的相应位置对应的位置(例如,在图5B中,560对应于568并且562对
应于570)处的与触敏表面551的接触(例如,图5B中的560和562)。这样,在触敏表面(例如,
图5B中的551)与多功能设备的显示器(例如,图5B中的550)分开时,由设备在触敏表面上检
测到的用户输入(例如,接触560和562以及它们的移动)被该设备用于操纵显示器上的用户
界面。应当理解,类似的方法任选地用于本文所述的其他用户界面。
手指输入由来自另一输入设备的输入(例如,基于鼠标的输入或触笔输入)替代。例如,轻扫
手势任选地由鼠标点击(例如,而不是接触),之后是光标沿着轻扫的路径的移动(例如,而
不是接触的移动)替代。又如,轻击手势任选地由在光标位于轻击手势的位置上方时的鼠标
点击(例如,代替对接触的检测,之后是停止检测接触)替代。类似地,当同时检测到多个用
户输入时,应当理解的是,多个计算机鼠标任选地被同时使用,或鼠标和手指接触任选地被
同时使用。
些实施方案中,设备600具有在下文中称为触摸屏604的触敏显示屏604。作为触摸屏604的
替代或补充,设备600具有显示器和触敏表面。与设备200和400的情况一样,在一些实施方
案中,触摸屏604(或触敏表面)具有用于检测正在施加的接触(例如,触摸)的强度的一个或
多个强度传感器。触摸屏604(或触敏表面)的一个或多个强度传感器提供表示触摸的强度
的输出数据。设备600的用户界面基于触摸强度来对触摸作出响应,这意味着不同强度的触
摸可调用设备600上的不同的用户界面操作。
Interface Objects Corresponding to an Application”的国际专利申请No.PCT/
US2013/040061,以及2013年11月11日提交的名称为“Device,Method,and Graphical User
Interface for Transitioning Between Touch Input to Display Output
Relationships”的国际专利申请No.PCT/US2013/069483,这两个专利申请中的每个专利申
请据此全文以引用方式并入本文。
些实施方案中,设备600具有一个或多个附接机构。此类附接机构(如果包括的话)可允许将
设备600与例如帽子、眼镜、耳环、项链、衬衣、夹克、手镯、表带、手链、裤子、皮带、鞋子、钱
包、背包等附接。这些附接机构允许用户穿戴设备600。
614与一个或多个计算机处理器616和存储器618操作性地耦接。I/O部分614被连接到显示
器604,该显示器可具有触敏部件622,并且任选地还具有触摸强度敏感部件624。此外,I/O
部分614与通信单元630连接,以用于使用Wi-Fi、蓝牙、近场通信(NFC)、蜂窝和/或其他无线
通信技术来接收应用程序和操作系统数据。设备600包括输入机构606和/或608。例如,输入
机构606是可旋转输入设备或者可按压输入设备以及可旋转输入设备。在一些示例中,输入
机构608是按钮。
和/或它们的组合,所有这些设备均可操作地连接到I/O部分614。
上述技术和过程。该计算机可执行指令也例如在任何非暂态计算机可读存储介质内进行存
储和/或传送,以供指令执行系统、装置或设备诸如基于计算机的系统、包含处理器的系统
或可从指令执行系统、装置或设备获取指令并执行指令的其他系统使用或与其结合。个人
电子设备600不限于图6B的部件和配置,而是可包括多种配置的其他部件或附加部件。
和文本(例如,超链接)各自构成示能表示。
器”,使得当光标在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)上方时
在触敏表面(例如,图4中的触控板455或图5B中的触敏表面551)上检测到输入(例如,按压
输入)的情况下,该特定用户界面元素根据所检测到的输入而被调节。在包括能够实现与触
摸屏显示器上的用户界面元素的直接交互的触摸屏显示器(例如,图2A中的触敏显示器系
统212或图5A中的触摸屏212)的一些具体实施中,触摸屏上的所检测到的接触充当“焦点选
择器”,使得当在触摸屏显示器上在特定用户界面元素(例如,按钮、窗口、滑块或其他用户
界面元素)的位置处检测到输入(例如,由接触进行的按压输入)时,该特定用户界面元素根
据所检测到的输入而被调节。在一些具体实施中,焦点从用户界面的一个区域移动到用户
界面的另一个区域,而无需光标的对应移动或触摸屏显示器上的接触的移动(例如,通过使
用制表键或箭头键将焦点从一个按钮移动到另一个按钮);在这些具体实施中,焦点选择器
根据焦点在用户界面的不同区域之间的移动而移动。不考虑焦点选择器所采取的具体形
式,焦点选择器通常是由用户控制的以便递送与用户界面的用户预期的交互(例如,通过向
设备指示用户界面的用户期望与其进行交互的元素)的用户界面元素(或触摸屏显示器上
的接触)。例如,在触敏表面(例如,触摸板或触摸屏)上检测到按压输入时,焦点选择器(例
如,光标、接触或选择框)在相应按钮上方的位置将指示用户期望激活相应按钮(而不是设
备显示器上示出的其他用户界面元素)。
选地基于相对于预定义事件(例如,在检测到接触之后,在检测到接触抬离之前,在检测到
接触开始移动之前或之后,在检测到接触结束之前,在检测到接触的强度增大之前或之后
和/或在检测到接触的强度减小之前或之后)而言在预先确定的时间段(例如,0.05秒、0.1
秒、0.2秒、0.5秒、1秒、2秒、5秒、10秒)期间采集的预定义数量的强度样本或一组强度样本。
接触的特征强度任选地基于以下各项中的一者或多者:接触强度的最大值、接触强度的均
值、接触强度的平均值、接触强度的前10%处的值、接触强度的半最大值、接触强度的90%
最大值等。在一些实施方案中,在确定特征强度时使用接触的持续时间(例如,在特征强度
是接触的强度在时间上的平均值时)。在一些实施方案中,将特征强度与一组一个或多个强
度阈值进行比较,以确定用户是否已执行操作。例如,该组一个或多个强度阈值包括第一强
度阈值和第二强度阈值。在该示例中,特征强度未超过第一阈值的接触导致第一操作,特征
强度超过第一强度阈值但未超过第二强度阈值的接触导致第二操作,而特征强度超过第二
阈值的接触导致第三操作。在一些实施方案中,使用特征强度与一个或多个阈值之间的比
较来确定是否要执行一个或多个操作(例如,是执行相应操作还是放弃执行相应操作),而
不是用于确定执行第一操作还是第二操作。
触的强度增加。在该示例中,接触在结束位置处的特征强度仅基于连续轻扫接触的一部分,
而不是整个轻扫接触(例如,轻扫接触仅位于结束位置处的部分)。在一些实施方案中,在确
定接触的特征强度之前向轻扫接触的强度应用平滑化算法。例如,平滑化算法任选地包括
以下各项中的一种或多种:不加权滑动平均平滑化算法、三角平滑化算法、中值滤波器平滑
化算法和/或指数平滑化算法。在一些情况下,这些平滑化算法消除了轻扫接触的强度中的
窄的尖峰或凹陷,以实现确定特征强度的目的。
中,轻按压强度阈值对应于这样的强度:在该强度下设备将执行通常与点击物理鼠标或触
摸板的按钮相关联的操作。在一些实施方案中,深按压强度阈值对应于这样的强度:在该强
度下设备将执行与通常与点击物理鼠标或触控板的按钮相关联的操作不同的操作。在一些
实施方案中,当检测到特征强度低于轻按压强度阈值(例如,并且高于标称接触检测强度阈
值,比标称接触检测强度阈值低的接触不再被检测到)的接触时,设备将根据接触在触敏表
面上的移动来移动焦点选择器,而不执行与轻按压强度阈值或深按压强度阈值相关联的操
作。一般来讲,除非另有陈述,否则这些强度阈值在不同组的用户界面附图之间是一致的。
强度增大到高于深按压强度阈值的强度有时被称为“深按压”输入。接触特征强度从低于接
触检测强度阈值的强度增大到介于接触检测强度阈值与轻按压强度阈值之间的强度有时
被称为检测到触摸表面上的接触。接触特征强度从高于接触检测强度阈值的强度减小到低
于接触检测强度阈值的强度有时被称为检测到接触从触摸表面抬离。在一些实施方案中,
接触检测强度阈值为零。在一些实施方案中,接触检测强度阈值大于零。
少部分地基于检测到该接触(或多个接触)的强度增大到高于按压输入强度阈值而检测到
相应按压输入。在一些实施方案中,响应于检测到相应接触的强度增大到高于按压输入强
度阈值(例如,相应按压输入的“向下冲程”)来执行相应操作。在一些实施方案中,按压输入
包括相应接触的强度增大到高于按压输入强度阈值以及该接触的强度随后减小到低于按
压输入强度阈值,并且响应于检测到相应接触的强度随后减小到低于按压输入阈值(例如,
相应按压输入的“向上冲程”)来执行相应操作。
阈值比按压输入强度阈值低X个强度单位,或滞后强度阈值是按压输入强度阈值的75%、
90%或某个合理比例)。因此,在一些实施方案中,按压输入包括相应接触的强度增大到高
于按压输入强度阈值以及该接触的强度随后减小到低于对应于按压输入强度阈值的滞后
强度阈值,并且响应于检测到相应接触的强度随后减小到低于滞后强度阈值(例如,相应按
压输入的“向上冲程”)来执行相应操作。类似地,在一些实施方案中,仅在设备检测到接触
强度从等于或低于滞后强度阈值的强度增大到等于或高于按压输入强度阈值的强度并且
任选地接触强度随后减小到等于或低于滞后强度的强度时才检测到按压输入,并且响应于
检测到按压输入(例如,根据环境,接触强度增大或接触强度减小)来执行相应操作。
的描述:接触强度增大到高于按压输入强度阈值、接触强度从低于滞后强度阈值的强度增
大到高于按压输入强度阈值的强度、接触强度减小到低于按压输入强度阈值、和/或接触强
度减小到低于与按压输入强度阈值对应的滞后强度阈值。另外,在将操作描述为响应于检
测到接触的强度减小到低于按压输入强度阈值而执行的示例中,任选地响应于检测到接触
的强度减小到低于对应于并且小于按压输入强度阈值的滞后强度阈值来执行操作。
一些示例中,数字助理的模块和功能中的一些被划分成服务器部分和客户端部分,其中客
户端部分位于一个或多个用户设备(例如,设备104、设备122、设备200、设备400或设备600)
上并通过一个或多个网络与服务器部分(例如,服务器系统108)通信,例如,如图1中所示。
在一些示例中,数字助理系统700是图1中所示的服务器系统108(和/或DA服务器106)的具
体实施。应当指出,数字助理系统700仅为数字助理系统的一个示例,且该数字助理系统700
具有比所示更多或更少的部件、组合两个或更多个部件,或者可具有部件的不同配置或布
局。图7A中所示的各种部件在硬件、用于在由一个或多个处理器执行的软件指令、固件(包
括一个或多个信号处理集成电路和/或专用集成电路),或它们的组合中实现。
其他非易失性固态存储器设备)。
用户输入(例如,语音输入、键盘输入、触摸输入等)并相应地对这些输入进行处理。在一些
示例中,例如,当数字助理在独立式用户设备上实现时,数字助理系统700包括分别相对于
图2A、图4、图6A中的设备200、设备400或设备600所描述的部件和I/O通信接口中的任一者。
在一些示例中,数字助理系统700代表数字助理具体实施的服务器部分,并且可通过位于用
户设备(例如,设备104、设备200、设备400或设备600)上的客户端侧部分与用户进行交互。
行总线(USB)、FIREWIRE等接收和发送通信信号。无线电路714从通信网络及其他通信设备
接收RF信号和/或光学信号以及将RF信号和/或光学信号发送至通信网络及其他通信设备。
无线通信使用多种通信标准、协议和技术中的任一种,诸如GSM、EDGE、CDMA、TDMA、蓝牙、Wi-
Fi、VoIP、Wi-MAX、或任何其他合适的通信协议。网络通信接口708使数字助理系统700通过
网络,诸如互联网、内联网和/或无线网络诸如蜂窝电话网络、无线局域网(LAN)和/或城域
网(MAN),与其他设备之间的通信成为可能。
块722、一个或多个应用程序724和数字助理模块726。具体地,存储器702或存储器702的计
算机可读存储介质存储用于执行上述过程的指令。一个或多个处理器704执行这些程序、模
块和指令,并从数据结构读取数据或将数据写到数据结构。
电源管理等)的各种软件部件和/或驱动器,并且有利于各种硬件、固件和软件部件之间的
通信。
200、400或600)的RF电路208通信。通信模块720还包括各种部件,用于处理由无线电路714
和/或有线通信端口712所接收的数据。
块722还准备输出(例如,语音、声音、动画、文本、图标、振动、触觉反馈、光照等)并将其经由
I/O接口706(例如,通过显示器、音频通道、扬声器、触控板等)传送给用户。
如游戏、日历应用程序、导航应用程序或邮件应用程序。如果数字助理系统700在服务器上
实现,则应用程序724包括例如资源管理应用程序、诊断应用程序、或调度应用程序。
(STT)处理模块730、自然语言处理模块732、对话流处理模块734、任务流处理模块736、服务
处理模块738和语音合成处理模块740。这些模块中的每一者均具有对以下数字助理模块
726的系统或数据与模型中的一者或多者或者其子集或超集的访问权限:知识本体760、词
汇索引744、用户数据748、任务流模型754、服务模型756和ASR系统758。
中表达的用户意图;主动引出并获得完全推断用户意图所需的信息(例如,通过消除字词、
游戏、意图等的歧义);确定用于满足推断出的意图的任务流;以及执行该任务流以满足推
断出的意图。
设备600)交互,以获取用户输入(例如,语音输入)并提供对用户输入的响应(例如,作为语
音输出)。I/O处理模块728随同接收到用户输入一起或在接收到用户输入之后不久任选地
获得与来自用户设备的用户输入相关联的上下文信息。上下文信息包括特定于用户的数
据、词汇,和/或与用户输入相关的偏好。在一些示例中,该上下文信息还包括在接收到用户
请求时的用户设备的软件状态和硬件状态,和/或在接收到用户请求时与用户的周围环境
相关的信息。在一些示例中,I/O处理模块728还向用户发送与用户请求有关的跟进问题,并
从用户接收回答。在用户请求被I/O处理模块728接收且用户请求包括语音输入时,I/O处理
模块728将语音输入转发至STT处理模块730(或语音识别器)以进行语音文本转换。
处理器。前端语音预处理器从语音输入中提取代表性特征。例如,前端语音预处理器对语音
输入执行傅里叶变换,以提取表征语音输入的频谱特征作为代表性多维向量的序列。另外,
每个ASR系统758包括一个或多个语音识别模型(例如,声学模型和/或语言模型)并且实现
一个或多个语音识别引擎。语音识别模型的示例包括隐马尔可夫模型、高斯混合模型、深层
神经网络模型、n元语言模型以及其他统计模型。语音识别引擎的示例包括基于动态时间规
整的引擎和基于加权有限状态变换器(WFST)的引擎。使用一个或多个语音识别模型和一个
或多个语音识别引擎来处理前端语音预处理器的所提取的代表性特征以产生中间识别结
果(例如,音素、音素串和子字词),并且最终产生文本识别结果(例如,字词、字词串、或符号
序列)。在一些示例中,语音输入至少部分地由第三方服务处理或在用户的设备(例如,设备
104、设备200、设备400或设备600)上处理,以产生识别结果。一旦STT处理模块730产生包含
文本串(例如,字词,或字词的序列,或符号序列)的识别结果,识别结果即被传送至自然语
言处理模块732以供意图推断。在一些示例中,STT处理模块730产生语音输入的多个候选文
本表示。每个候选文本表示是与语音输入对应的字词或符号的序列。在一些示例中,每个候
选文本表示与语音识别置信度得分相关联。基于语音识别置信度得分,STT处理模块730对
候选文本表示进行排序并将n个最佳(例如,n个排名最高)候选文本表示提供给自然语言处
理模块732以供意图推断,其中n为大于零的预先确定的整数。例如,在一个示例中,仅将排
名最高的(n=1)候选文本表示递送至自然语言处理模块732以供意图推断。又如,将5个排
名最高的(n=5)候选文本表示传递给自然语言处理模块732以供意图推断。
其全部公开内容以引用方式并入本文。
选发音相关联。具体地,可识别字词的词汇包括与多个候选发音相关联的字词。例如,该词
汇包括与 和 的候选发音相关联的字词“tomato”。另外,词汇字
词与基于来自用户的先前语音输入的自定义候选发音相关联。此类自定义候选发音存储在
STT处理模块730中,并且经由设备上的用户配置文件与特定用户相关联。在一些示例中,字
词的候选发音基于字词的拼写以及一个或多个语言学和/或语音学规则确定。在一些示例
中,候选发音手动生成,例如,基于已知的标准发音而手动生成。
于特定地理区域的用户而言,或者对于任何其他合适的用户子集而言)。在一些示例中,基
于候选发音是否为与用户相关联的自定义候选发音来对候选发音进行排序。例如,自定义
候选发音的排名高于标准候选发音。这可用于识别具有偏离规范发音的独特发音的专有名
词。在一些示例中,候选发音与一个或多个语音特征诸如地理起源、国家或种族相关联。例
如,候选发音 与美国相关联,而候选发音 与英国相关联。此外,候
选发音的排序基于存储在设备上的用户配置文件中的用户的一个或多个特征(例如,地理
起源、国家、种族等)。例如,可从用户配置文件确定该用户与美国相关联。基于用户与美国
相关联,候选发音 (与美国相关联)可比候选发音 (与英国相关
联)排名更高。在一些示例中,经排序的候选发音中的一个可被选作预测发音(例如,最可能
的发音)。
理模块730首先识别对应于该语音输入的一部分的音素序列 那么它随后可基
于词汇索引744确定该序列对应于字词“tomato”。
不是该字词的候选音素序列。
数字助理所识别的一个或多个“可执行意图”相关联。“可执行意图”(或“用户意图”)表示可
由数字助理执行并且可具有在任务流模型754中实现的相关联的任务流的任务。相关联的
任务流是数字助理为了执行任务而采取的一系列经编程的动作和步骤。数字助理的能力范
围取决于已在任务流模型754中实现并存储的任务流的数量和种类,或换言之,取决于数字
助理所识别的“可执行意图”的数量和种类。然而,数字助理的有效性还取决于助理从以自
然语言表达的用户请求中推断出正确的“一个或多个可执行意图”的能力。
模块732任选地使用上下文信息来明确、补充和/或进一步限定在从STT处理模块730接收的
候选文本表示中包含的信息。上下文信息包括例如用户偏好,用户设备的硬件和/或软件状
态,在用户请求之前、期间或之后不久收集的传感器信息,数字助理与用户之间的先前交互
(例如,对话),等等。如本文所述,在一些示例中,上下文信息是动态的,并且随对话的时间、
位置、内容、以及其他因素而变化。
者相关的“属性”。如上所述,“可执行意图”表示数字助理能够执行的任务,即,该任务为“可
执行的”或可被进行的。“属性”代表与可执行意图或另一属性的子方面相关联的参数。知识
本体760中可执行意图节点与属性节点之间的连接限定由属性节点表示的参数如何从属于
由可执行意图节点表示的任务。
性节点。类似地,每个属性节点直接连接至或通过一个或多个中间属性节点连接至一个或
多个可执行意图节点。例如,如图7C所示,知识本体760包括“餐厅预订”节点(即,可执行意
图节点)。属性节点“餐厅”、“日期/时间”(针对预订)和“派对人数”均直接连接至可执行意
图节点(即,“餐厅预订”节点)。
如,如图7C所示,知识本体760还包括“设定提醒”节点(即,另一个可执行意图节点)。属性节
点“日期/时间”(针对设定提醒)和“主题”(针对提醒)均连接至“设定提醒”节点。由于属性
“日期/时间”与进行餐厅预订的任务和设定提醒的任务二者相关,因此属性节点“日期/时
间”连接至知识本体760中的“餐厅预订”节点和“设定提醒”节点二者。
(以及这些节点之间的关系)。例如,图7C中示出的知识本体760包括在知识本体760内的餐
厅预订域762的示例和提醒域764的示例。餐厅预订域762表示进行餐厅预订的概念。餐厅预
订域包括可执行意图节点“餐厅预订”、属性节点“餐厅”、“日期/时间”和“派对人数”以及子
属性节点“菜系”、“价格范围”、“电话号码”和“位置”。提醒域762表示设置和提供提醒的概
念。提醒域764包括可执行意图节点“设定提醒”和属性节点“主题”和“日期/时间”。在一些
示例中,知识本体760由多个域组成。每个域与一个或多个其他域共享一个或多个属性节
点。例如,除了餐厅预订域762和提醒域764之外,“日期/时间”属性节点还与许多不同域(例
如,行程安排域、旅行预订域、电影票域等)相关联。
“提供导航指令”、“提供针对任务的指令”等。“发送消息”域与“发送消息”可执行意图节点
相关联,并且进一步包括属性节点诸如“一个或多个接收人”、“消息类型”和“消息正文”。属
性节点“接收人”进一步例如由子属性节点诸如“接收人姓名”和“消息地址”来限定。
过修改知识本体760内的节点之间的关系进行修改。
旅行相关的可执行意图节点包括“机票预订”、“酒店预订”、“汽车租赁”、“获取方向”、“寻找
兴趣点”,等等。同一超级域(例如,“旅行”超级域)下的可执行意图节点具有多个共用的属
性节点。例如,针对“机票预订”、“酒店预订”、“汽车租赁”、“获取方向”和“寻找兴趣点”的可
执行意图节点共享属性节点“起始位置”、“目的地”、“出发日期/时间”、“到达日期/时间”和
“派对人数”中的一者或多者。
的与节点相关联的“词汇”。将与每个节点相关联的相应的一组字词和/或短语存储在与由
节点所代表的属性或可执行意图相关联的词汇索引744中。例如,返回图7B,与“餐厅”属性
的节点相关联的词汇包括字词诸如“美食”、“酒水”、“菜系”、“饥饿”、“吃”、“披萨”、“快餐”、
“膳食”等。又如,与“发起电话呼叫”可执行意图的节点相关联的词汇包括字词和短语诸如
“呼叫”、“打电话”、“拨打”、“与……通电话”、“呼叫该号码”、“打电话给”等。词汇索引744任
选地包括不同语言的字词和短语。
哪些节点。在一些示例中,如果发现候选文本表示中的字词或短语(经由词汇索引744)与知
识本体760中的一个或多个节点相关联,则所述字词或短语“触发”或“激活”那些节点。基于
已激活节点的数量和/或相对重要性,自然语言处理模块732选择可执行意图中的一个可执
行意图作为用户打算使数字助理执行的任务。在一些示例中,选择具有最多“已触发”节点
的域。在一些示例中,选择具有最高置信度(例如,基于其各个已触发节点的相对重要性)的
域。在一些示例中,基于已触发节点的数量和重要性的组合来选择域。在一些示例中,在选
择节点的过程中还考虑附加因素,诸如数字助理先前是否已正确解译来自用户的类似请
求。
些示例中,自然语言处理模块732使用特定于用户的信息来补充用户输入中所包含的信息
以进一步限定用户意图。例如,针对用户请求“邀请我的朋友参加我的生日派对”,自然语言
处理模块732能够访问用户数据748以确定“朋友”是哪些人以及“生日派对”将于何时何地
举行,而不需要用户在其请求中明确地提供此类信息。
候选文本表示相关联的上下文信息。基于候选文本表示和相关联的上下文信息,一个或多
个机器学习机构被配置为基于一组候选可执行意图确定意图置信度得分。自然语言处理模
块732可基于所确定的意图置信度得分从一组候选可执行意图中选择一个或多个候选可执
行意图。在一些示例中,还利用知识本体(例如,知识本体760)从一组候选可执行意图中选
择一个或多个候选可执行意图。
列号12/341,743中有所描述,其全部公开内容以引用方式并入本文。
结构化查询包括针对可执行意图的域内的一个或多个节点的参数,并且所述参数中的至少
一些参数填充有用户请求中指定的特定信息和要求。例如,用户说“帮我在寿司店预订晚上
7点的座位。”在这种情况下,自然语言处理模块732能够基于用户输入将可执行意图正确地
识别为“餐厅预订”。根据知识本体,“餐厅预订”域的结构化查询包括参数诸如{菜系}、{时
间}、{日期}、{派对人数}等。在一些示例中,基于语音输入和使用STT处理模块730从语音输
入得出的文本,自然语言处理模块732针对餐厅预订域生成部分结构化查询,其中部分结构
化查询包括参数{菜系=“寿司类”}以及{时间=“晚上7点”}。然而,在该示例中,用户话语
包含不足以完成与域相关联的结构化查询的信息。因此,基于当前可用信息,在结构化查询
中未指定其他必要参数诸如{派对人数}和{日期}。在一些示例中,自然语言处理模块732用
所接收的上下文信息来填充结构化查询的一些参数。例如,在一些示例中,如果用户请求
“附近的”寿司店,自然语言处理模块732用来自用户设备的GPS坐标来填充结构化查询中的
{位置}参数。
意图生成相应的结构化查询(部分地或全部地)。自然语言处理模块732确定针对每个候选
可执行意图的意图置信度得分,并基于意图置信度得分对候选可执行意图进行排序。在一
些示例中,自然语言处理模块732将所生成的一个或多个结构化查询(包括任何已完成的参
数)传送至任务流处理模块736(“任务流处理器”)。在一些示例中,针对m个最佳(例如,m个
排名最高的)候选可执行意图的一个或多个结构化查询被提供给任务流处理模块736,其中
m为预先确定的大于零的整数。在一些示例中,将针对m个最佳候选可执行意图的一个或多
个结构化查询连同对应的一个或多个候选文本表示提供给任务流处理模块736。
Intent From Speech Inputs”的美国实用新型专利申请No.14/298,725中有所描述,其全
部公开内容以引用方式并入本文。
中,完成这些任务所必需的各种过程在任务流模型754中提供。在一些示例中,任务流模型
754包括用于获取来自用户的附加信息的过程,以及用于执行与可执行意图相关联的动作
的任务流。
理模块736调用对话流处理模块734来参与同用户的对话。在一些示例中,对话流处理器模
块734确定如何(和/或何时)向用户请求附加信息,并且接收和处理用户响应。通过I/O处理
模块728将问题提供给用户并从用户接收回答。在一些示例中,对话流处理模块734经由可
听输出和/或视觉输出向用户呈现对话输出,并经由口头或物理(例如,点击)响应接收来自
用户的输入。继续上述示例,在任务流处理模块736调用对话流处理模块734来确定针对与
域“餐厅预订”相关联的结构化查询的“派对人数”和“日期”信息时,对话流处理模块734生
成诸如“一行几位?”和“预订哪天?”之类的问题传递给用户。一旦收到来自用户的回答,对
话流处理模块734就用缺失信息填充结构化查询,或将信息传递给任务流处理模块736以根
据结构化查询完成缺失信息。
包含的特定参数来执行任务流模型中的步骤和指令。例如,针对可执行意图“餐厅预订”的
任务流模型包括用于联系餐厅并实际上请求在特定时间针对特定派对人数的预订的步骤
和指令。例如,使用结构化查询诸如:{餐厅预订、餐厅=ABC咖啡馆、日期=3/12/2012、时间
=7pm、派对人数=5},任务流处理模块736可执行以下步骤:(1)登录ABC咖啡馆的服务器或
诸如 的餐厅预订系统,(2)以网站上的形式输入日期、时间和派对人数信
息,(3)提交表单,以及(4)在用户的日历中形成针对预订的日历条目。
理模块738代表任务流处理模块736发起电话呼叫、设定日历条目、调用地图搜索、调用用户
设备上安装的其他用户应用程序或与所述其他应用程序进行交互,以及调用第三方服务
(例如,餐厅预订门户网站、社交网站、银行门户网站等)或与第三方服务进行交互。在一些
示例中,通过服务模型756中的相应服务模型指定每项服务所需的协议和应用程序编程接
口(API)。服务处理模块738针对服务访问适当的服务模型,并依据服务模型根据该服务所
需的协议和API生成针对该服务的请求。
请求时,服务处理模块738可使用存储在服务模型中的Web地址来建立与在线预订服务的网
络连接,并将预订的必要参数(例如,时间、日期、派对人数)以根据在线预订服务的API的格
式发送至在线预订界面。
图并最终生成响应(即,输出至用户,或完成任务)以满足用户的意图。所生成的响应是至少
部分地满足用户意图的对语音输入的对话响应。另外,在一些示例中,所生成的响应被输出
为语音输出。在这些示例中,所生成的响应被发送到语音合成处理模块740(例如,语音合成
器),其中可处理所生成的响应以将对话响应以语音形式合成。在其他示例中,所生成的响
应是与满足语音输入中的用户请求相关的数据内容。
结构化查询和/或执行由第一结构化查询所表示的一个或多个任务或动作。在一些示例中,
第一结构化查询对应于排名最高的可执行意图。在其他示例中,第一结构化查询选自基于
对应的语音识别置信度得分和对应的意图置信度得分的组合而接收的结构化查询。在一些
示例中,如果任务流处理模块736在第一结构化查询的处理期间(例如,由于无法确定必要
的参数)遇到错误,任务流处理模块736可继续选择和处理所接收的结构化查询中与排名较
低的可执行意图对应的第二结构化查询。例如基于对应候选文本表示的语音识别置信度得
分、对应候选可执行意图的意图置信度得分、第一结构化查询中的缺失的必要参数或它们
的任何组合来选择第二结构化查询。
式。语音合成处理模块740将文本串转换成可听语音输出。语音合成处理模块740使用任何
适当语音合成技术,以便从文本生成语音输出,包括但不限于:拼接合成、单元选择合成、双
音素合成、特定于域的合成、共振峰合成、发音合成、基于隐马尔可夫模型(HMM)的合成以及
正弦波合成。在一些示例中,语音合成处理模块740被配置为基于对应于这些字词的音素串
来合成各个字词。例如,音素串与所生成的对话响应中的字词相关联。音素串存储在与字词
相关联的元数据中。语音合成处理模块740被配置为直接处理元数据中的音素串,以合成语
音形式的字词。
这可发生在一些具体实施中,其中在服务器系统处生成数字助理的输出。而且由于服务器
系统通常比用户设备具有更强的处理能力或更多的资源,其有可能获得比客户端侧合成将
实现的质量更高的语音输出。
的名称为“Generating and Processing Task Items That Represent Tasks to
Perform”的美国实用新型专利申请No.13/251,088中,其全部公开内容以引用方式并入本
文。
例如表示对应可执行意图的多个可执行意图节点。可执行意图例如对应于电话应用程序的
相应功能(例如,由电话模块238实现)。
打电话”可执行意图节点对应于拨打电话到由{电话号码}参数指定的电话号码的任务。在
一些示例中,“电话”超级域还包括表示拨打紧急电话的可执行意图的“拨打紧急电话”可执
行意图节点。“拨打紧急电话”可执行意图节点对应于与具有呼叫功能的设备连接并使设备
拨打电话到当前位置的紧急号码的任务(例如,美国的“911”或英国的“112”)。
节点链接到表示{字符键}参数的属性节点。“传输DTMF音调”可执行意图节点对应于在通话
时生成和传输对应于由{字符键}参数指定的字符键的DTMF音调的任务。
的属性节点。“转接电话”可执行意图节点对应于基于由{转接电话号码}参数指定的电话号
码将通话转接到第二设备的任务。
入电话号码}参数的属性节点。“接入电话”可执行意图节点对应于与第二设备建立第二通
话(例如,通过接听来电或拨打{接入电话号码}参数指定的电话号码)并将第二通话与现有
通话合并以建立三方通话的任务。
音邮件的任务(其中N是预定义的正整数)。
最近未接来电的呼叫信息的任务(其中N是预定义的正整数)。
何方式组合。
或相同。例如,主设备802是智能扬声器设备(例如,没有显示器),并且配套设备804是智能
电话设备。使用DA服务器806来执行本技术的一些方面,该DA服务器与图1的DA服务器106类
似或相同。应当认识到,在其他示例中,DA服务器806执行的任何操作可以替代地在主设备
802和/或配套设备804处本地执行。例如,主设备802和/或配套设备804的相应DA客户端模
块(例如,DA客户端模块229)可以执行DA服务器806的操作。
号,其在主设备802和配套设备804之间发起认证信息的交换。基于所交换的认证信息,主设
备802确定配套设备是否是主设备的注册设备。如果主设备802确定配套设备804是注册设
备,则在主设备802和配套设备804之间建立无线通信连接。在一些示例中,建立的无线通信
连接是主设备802和配套设备804之间的单跳、点对点无线通信信道。例如,使用主设备802
的通信模块(例如,通信模块228)和RF电路(例如,RF电路208)建立无线通信连接。
话功能的智能电话并且其当前未进行通话的信息。应当认识到,在一些示例中,主设备802
可以通信地耦接到若干设备,每个设备具有不同的设备特性。例如,可以在主设备802和其
他设备(诸如智能灯开关、媒体播放器、智能恒温器等)之间建立无线通信连接。在一些示例
中,主设备802被配置为基于所接收的用户话语来控制任何一个所连接设备的功能。
接收用户话语。在本示例中,在主设备802上结合调用数字助理来接收用户话语。例如,在确
定用户话语的第一部分包含预定义的语音触发(例如,“嘿Siri,……”)时,调用数字助理。
调用数字助理使主设备802获得包含用户话语的第二部分(例如,“……给我妈妈打电话”)
的音频数据(例如,经由主设备802的麦克风),并对用户话语的第二部分自动执行语音识别
(例如,使用STT处理模块730)和自然语言处理(例如,使用自然语言处理模块732)。在其他
示例中,在主设备802上调用数字助理时或之后接收用户话语。例如,响应于检测到对应于
预定类型的用户输入(例如,按钮推动)来调用数字助理。在该示例中,调用数字助理使主设
备802获得包含用户话语的音频数据,并自动对用户话语执行语音识别和自然语言处理。
信连接,并且配套设备804是主设备802的注册设备。在一些示例中,上下文信息指定配套设
备804的操作状态。配套设备804的操作状态包括例如配套设备804当前是否正在进行通话。
在一些示例中,上下文信息指定与主设备802和/或配套设备804相对应的设备的类型。例
如,上下文信息指定主设备802是智能扬声器设备(例如,没有独立电话功能)并且/或者配
套设备804是智能电话设备(例如,具有独立电话功能)。
模块730)以确定用户话语的文本表示。然后,DA服务器806利用上下文信息(例如,使用自然
语言处理模块732)处理文本表示以确定用户意图。例如,给定用户话语的第二部分的文本
表示“给我妈妈打电话”,DA服务器806确定“电话”超级域与用户话语最相关。在“电话”超级
域内,DA服务器806进一步确定“拨打电话”可执行意图节点与用户话语最相关。基于该确
定,DA服务器806确定对应于用户话语的用户意图是拨打电话。在一些示例中,DA服务器806
解析所选择的可执行意图节点中的一个或多个参数。例如,DA服务器806通过搜索用户的联
系人信息并获得对应于用户话语中指定的联系人别名“妈妈”的电话号码来确定“拨打电
话”可执行意图节点中的{电话号码}参数的值。
可以选择“电话”超级域中的“拨打电话”可执行意图节点(而不是“视频电话”超级域中的
“拨打视频电话”可执行意图节点),因为其与用户话语最相关。因此,即使用户话语是“给我
妈妈拨打视频电话”,DA服务器806也可以确定“电话”超级域中的“拨打电话”可执行意图节
点与用户话语最相关,因为它基于主设备802是智能扬声器的上下文信息识别无法支持视
频通话。
些示例中,该命令指定与所确定的用户意图相对应的域和参数。例如,该命令指定“电话”超
级域的“拨打电话”可执行意图节点和{电话号码}参数的解析值。在一些示例中,该命令未
指定要执行该命令的设备,这使得DA服务器806通常能够应用多种设备。
备804)。基于该命令,主设备802确定该命令是由其自身执行还是由耦接设备中的一者执
行。例如,基于命令中指定的“拨打电话”可执行意图节点和“电话”超级域,主设备802确定
该命令将由具有电话功能的设备执行。
配套设备804执行满足用户意图的任务。在一些示例中,指令包括由主设备802从DA服务806
接收的相同命令。在这些示例中,命令被转发到配套设备804以供执行。例如,在接收到指定
“电话”超级域的“拨打电话”可执行意图节点的命令和{电话号码}参数的解析值时,配套设
备804执行拨打电话到{电话号码}参数中指定的电话号码的任务(例如,使用任务流处理模
块736和服务处理模块738)。具体地讲,配套设备804使用电话应用程序发起对指定电话号
码的电话呼叫(例如,由电话模块238实现),并且尝试与对应于指定电话号码的外部设备建
立电话连接(由箭头822表示)。
果。例如,确认信号可以提供对电话呼叫已成功发起的确认。或者,如果命令的执行不成功,
则确认信号可以指示所发生的错误的类型。例如,确认信号可包括错误代码,该错误代码指
示不能令人满意地接收蜂窝通信信号以发起蜂窝呼叫,或者配套设备804已参与电话呼叫。
立的无线通信信道发送到主设备802,并且包括与拨打电话相关联的音频信号(例如,拨号
音、用于拨打电话号码的双音多频信令、振铃音等)。主设备802接收音频数据并根据所接收
的音频数据生成音频输出(例如,在主设备802的扬声器处)。此外,在建立电话连接时,所建
立通话的音频数据经由先前建立的无线通信信道在配套设备804和主设备802之间交换。例
如,表示在主设备802的麦克风处接收的语音的音频数据被发送到配套设备804,该配套设
备将音频数据传输到被叫方(例如,经由蜂窝网络)。相似地,表示在配套设备804处从被叫
方接收的语音数据的音频数据被发送到主设备802,该主设备产生对应于音频数据的音频
输出。
对话提示用户是否尝试再次拨打电话。
802处接收的用户话语是“嘿Siri,打电话报警”或“嘿Siri,拨打911”。用户话语的表示和相
关联的上下文信息被发送到DA服务器806。基于用户话语和上下文信息,DA服务器806确定
对应于用户话语的用户意图。例如,DA服务器806从用户话语的第二部分(例如,“打电话报
警”或“拨打911”)确定“电话”超级域中的“拨打紧急电话”可执行意图节点是最相关的。基
于该确定,DA服务器806确定用户意图是拨打紧急电话。然后,DA服务器806向主设备802发
送命令。该命令表示对应于“拨打紧急电话”可执行意图节点的一个或多个任务。在一些示
例中,基于该命令,主设备802提供请求确认用户希望拨打紧急电话的语音提示。在接收到
用户希望拨打紧急电话的确认时,主设备802继续处理该命令。具体地讲,主设备802确定具
有独立电话功能的配套设备(例如,配套设备804)当前是否连接到主设备802。在确定具有
独立电话功能的配套设备804连接到主设备802时,主设备802将命令转发给配套设备804,
这使得配套设备804拨打紧急电话。另选地,如果主设备802确定具有独立电话功能的配套
设备当前未连接到主设备802,则主设备802尝试与具有电话功能的任何周围兼容设备连
接。例如,主设备802广播信号,该信号在由具有独立电话功能的周围兼容设备接收时使兼
容设备与主设备802建立无线连接。兼容设备无需是主设备802的注册设备。在成功建立与
兼容设备的无线连接时,主设备802向兼容设备发送指令以使设备拨打紧急电话。
用DA服务器906来执行本技术的一些方面,该DA服务器与DA服务器806类似或相同。在一些
示例中,这些方面中的任一个可另选地在主设备902和/或配套设备904处本地执行。
套设备904(经由建立的连接)向主设备902提供信息,诸如其设备特性(例如,设备能力和功
能)和操作状态。
的语音呼叫。在一些示例中,来电是视频通话。在一些示例中,使用在配套设备904上操作的
电信应用软件(例如, 或 )来检测来电。
在一些示例中,在检测到来电时,配套设备904输出来电的指示。该输出用于提醒用户来电。
该输出包括例如音频、视觉和/或触觉输出。在一些示例中,主设备902响应于从配套设备
904接收到信号而不输出来电的音频指示。在其他示例中,响应于接收到信号,主设备902呈
现音频、视觉和/或触觉输出以提醒用户来电。
套设备904上的联系人中所列出的主叫方的联系人别名。在一些示例中,根据配套设备904
上的激活设置(例如,可访问性设置)经由信号自动提供关于主叫方的信息。响应于接收到
该信号,主设备902输出(例如,经由扬声器)包含关于主叫方的信息的语音对话。例如,如果
主叫方对应于联系人别名“妈妈”,则主设备902输出通报“妈妈正在呼叫”的语音对话。
收用户话语。例如,在确定用户话语的第一部分包含预定义的语音触发(例如,“嘿
Siri,……”)时,调用数字助理。调用数字助理使主设备902获得包含用户话语的第二部分
(例如,“……接电话”)的音频数据,并自动对用户话语的第二部分执行语音识别和自然语
言处理。在其他示例中,可以在主设备902上调用数字助理时或之后(例如,在按下按钮以调
用数字助理时)接收用户话语。
息。在一些示例中,上下文信息包括所接收信号中表示的信息。例如,上下文信息指示在配
套设备904处检测到来电。
信息和用户话语的第二部分的文本表示“接电话”,DA服务器906确定“电话”超级域与用户
话语最相关。在“电话”超级域内,DA服务器906进一步确定“接听电话”可执行意图节点与用
户话语最相关。基于该确定,DA服务器906确定对应于用户话语的用户意图是接听电话。
择“电话”超级域中的“接听电话”可执行意图节点(而不是“电子邮件”超级域中的“回复电
子邮件”可执行意图节点),因为其与用户话语最相关。又如,基于指示当前在主设备902处
检测到来电的上下文信息,DA服务器906可以选择“电话”超级域中的“接听电话”可执行意
图节点(而不是“视频电话”超级域中的“接听电话”可执行意图节点),因为其与用户话语最
相关。
箭头916表示)。该命令表示满足接听来电的可执行意图的任务。在一些示例中,该命令指定
用户意图的域。例如,该命令指定“电话”超级域的“接听电话”可执行意图节点。
来电,则DA服务器906向主设备902返回错误指示。例如,错误指示使DA服务器906输出对话,
通知用户此时没有要接听的来电。在一些示例中,错误指示使DA服务器906输出询问用户是
否想要拨打电话的提示。
设备904执行,因为“接听电话”可执行意图节点是“电话”超级域的一部分,并且配套设备
904具有电话功能。另外,在一些示例中,主设备902基于多个可能设备的操作状态来确定哪
个设备将执行命令。例如,基于指示配套设备904检测到来电的信号,主设备902确定配套设
备904的操作状态与“接听电话”可执行意图节点最相关,并且因此确定配套设备904将执行
该命令。
意图的任务。在一些示例中,指令包括由主设备902从DA服务906接收的相同命令。在这些示
例中,主设备902将命令转发给配套设备904以供执行。
务包括向电子设备提供所接听的来电的音频数据。例如,在主设备902和配套设备904之间
交换用于所接听的电话的音频数据(由箭头918表示)。在一些示例中,相应任务包括向电子
设备提供所接听的来电的音频数据。
(由箭头920表示)发送到DA服务器906。确认信号指示配套设备904尝试执行命令的结果。例
如,确认信号提供对成功接听来电以及在配套设备904和主叫方设备之间建立电话连接的
确认。在一些示例中,在接收到指示来电被成功接听的确认信号时,主设备902输出通知用
户已成功接听电话的指示(例如,音频、视频和/或触觉)。
902,并且包括从主叫方发送的音频信号的表示。主设备902接收音频数据(例如,使用RF电
路208)并根据所接收的音频数据生成音频输出(例如,使用音频电路210和扬声器211)。另
外,表示在主设备902的麦克风处接收的语音的音频数据被发送到配套设备904,该配套设
备将音频数据传输到被叫方(例如,经由蜂窝网络)。在一些示例中,配套设备904不生成对
应于音频数据的音频输出,而是依赖于主设备902生成音频输出。
套设备904执行命令之前挂断并且来电包括呼叫者识别信息。又如,确认信号包括第二错误
代码,该第二错误代码指示来电在配套设备904执行命令之前挂断并且来电不包括呼叫者
识别信息。在接收到具有错误代码的确认信号时,主设备902结合DA服务器906处理错误代
码并向用户提供相应的响应(例如,使用任务流处理模块736、对话流处理模块734和语音合
成处理模块740)。例如,主设备902将错误代码发送到DA服务器906(例如,由箭头920表示)。
基于错误代码,DA服务器906向主设备902提供相应的对话响应(由箭头924表示)。例如,根
据指示来电在配套设备904执行命令之前挂断并且来电包括呼叫者识别信息的第一错误代
码,DA服务器906向主设备902发送通知用户该错误并提示用户基于呼叫者识别信息回拨电
话的对话响应(例如,“对不起,您错过了您妈妈的电话。您要给她回电话吗?”)。
话的对话响应(例如,“对不起,您错过了电话。”)。
主设备902自动检测来自用户的语音响应并且使DA服务器906确定语音响应的对应用户意
图。根据DA服务器906确定语音响应的用户意图对应于使用呼叫者识别信息拨打电话的可
执行意图,DA服务器906向主设备902发送命令以使配套设备904使用呼叫者识别信息发起
呼叫。
别与主设备802和配套设备804类似或相同。使用DA服务器1006来执行本技术的一些方面,
该DA服务器与DA服务器806类似或相同。在一些示例中,这些方面中的任一个可另选地在主
设备1002和/或配套设备1004处本地执行。
话在主设备1002成功地使配套设备1004拨打电话时(例如,如图8中所述)建立。另选地,通
话例如在主设备1002成功地使配套设备1004接听来电时(例如,如图9中所述)建立。
以与上文在图8中描述的类似方式建立无线通信连接。在一些示例中,主设备1002向配套设
备1004发送表示在通话期间在主设备1002的麦克风处接收的音频信号的音频数据。然后,
配套设备1004经由通话连接将音频数据从主设备1002发送到外部设备。类似地,配套设备
1004经由通话连接从外部设备接收音频数据,并将该音频数据提供给主设备1002。主设备
1002输出对应于所接收的音频数据的音频(例如,在主设备1002的扬声器处)。所接收的音
频数据表示在通话期间由外部设备的麦克风接收的音频信号。
户话语。用户话语可以是表示用户希望主设备1002与配套设备1004一起执行的多个呼叫相
关任务中的一个的自然语言语音。例如,用户话语包括以下话语中的一个:
接到主设备1002的不同配套设备接收信号。上下文信息包括例如与所接收的用户话语相关
的配套设备1004的操作状态。例如,该信号指示配套设备1004当前正在进行通话。在一些示
例中,该信号进一步指示配套设备1004检测与当前通话分开的来电。在一些示例中,该信号
指示当配套设备1004当前正在进行通话时,配套设备1004之外的配套设备检测到来电。在
一些示例中,基于所接收的信号,主设备1002输出通知分开的来电的语音对话。例如,语音
对话可以指出:“您在同一条线上有来自John的另一个来电”或“您有来自Bob手机的来电”。
在一些示例中,尽管语音对话从主设备1002的扬声器输出,但是对应于语音对话的音频数
据不被发送到配套设备1004。例如,主设备1002对在主设备1002的麦克风处接收的音频输
入执行信号消除,以抵消对应于输出的语音对话的音频输入部分。以这种方式,通话的远端
方将不会听到通知分开的来电的语音对话。
语的音频数据可以由或不由主设备1002发送到配套设备1004。在一些示例中,如果响应于
检测到对应于第一预定类型的用户输入(例如,检测到用户话语的第一部分包含预定义的
语音触发,诸如“嘿Siri”)而调用数字助理,则主设备1002包括发送到配套设备1004的音频
数据中的用户话语的表示。因此,通话的远端方将听到用户话语。另选地,如果响应于检测
到对应于第二预定类型的用户输入(例如,按钮推动)而调用数字助理,则主设备1002不包
括发送到配套设备1004的音频数据中的用户话语的表示。例如,主设备1002取消对应于用
户话语的音频数据的一部分。因此,通话的远端方将不会听到用户话语。当用户话语表示用
户希望保密的请求时,这可能是期望的。例如,如果用户当前正与用户的母亲通话,则用户
可能想要在用户的母亲不知道的情况下找出用户的母亲的生日。在这种情况下,用户可以
私下调用数字助理(例如,第二预定类型)以提供用户话语“我母亲的生日是什么时候?”另
外,对于此类私人数字助理请求,还将从发送到配套设备1004的音频数据中移除由数字助
理提供的任何语音对话响应。因此,远端方将不会听到数字助理提供的语音对话响应。
日本餐厅”。在这些示例中,主设备1002分析从配套设备1004接收的通话的音频数据,并确
定(例如,使用扬声器识别技术)音频数据中表示的话语是否对应于预定义的语音触发。如
果主设备1002确定话语的第一部分包含预定义的语音触发(例如,嘿Siri,……),则主设备
1002调用数字助理并自动使话语的第二部分(例如,“……给我们找一家好的日本餐厅”)来
进行语音识别和自然语言处理(例如,在DA服务器1006处)。来自远端方的话语以与在主设
备1002的麦克风处接收到的用户话语类似的方式处理。另外,响应于来自远端方的用户话
语而由数字助理提供的语音对话响应经由配套设备1004发送到远端方。因此,远端方将听
到语音对话响应。
图9的上述示例中描述的信息。上下文信息基于从配套设备1004和/或不同的配套设备接收
的一个或多个信号。在一些示例中,上下文信息指示配套设备1004参正在进行通话。在一些
示例中,在相关的情况下,上下文信息还指示在配套设备1004处或在通信地耦接到主设备
1002的另一个配套设备处检测到单独的来电。
示例中所述,确定用户意图包括确定与用户话语最相关的域(或超级域)。
意调用数字助理引起的对通话的中断。例如,根据指示配套设备1004正在进行通话的上下
文信息,DA服务器1006确定被确定为与用户话语最相关的域是否对应于“电话”或“视频电
话”超级域(用于控制呼叫功能)。如果DA服务器1006确定与用户话语最相关的域是“电话”
或“视频电话”超级域,则DA服务器1006继续完成对用户话语的自然语言处理并执行满足对
应于用户话语的用户意图的一个或多个任务。另选地,如果DA服务器1006确定与用户话语
最相关的域是除“电话”超级域之外的域,则DA服务器1006放弃执行满足用户意图的一个或
多个任务。
级域中的“结束通话”可执行意图节点与用户话语最相关。对于用户话语“嘿Siri,输入3”,
DA服务器1006基于部分“……输入3”和上下文信息确定“电话”超级域中的“传输DTMF音调”
可执行意图节点与用户话语最相关。对于用户话语“嘿Siri,暂停通话”,DA服务器1006基于
部分“……暂停通话”和上下文信息确定“电话”超级域中的“保持通话”可执行意图节点与
用户话语最相关。对于用户话语“嘿Siri,转接给我妹妹”,DA服务器1006基于部分“……转
接给我妹妹”和上下文信息确定“电话”超级域中的“转接电话”可执行意图节点与用户话语
最相关。对于用户话语“嘿Siri,接入电话”,DA服务器1006基于部分“……接入电话”和上下
文信息确定“电话”超级域中的“接入电话”可执行意图节点与用户话语最相关。对于用户话
语“嘿Siri,接听电话”,DA服务器1006基于部分“……接听电话”确定“电话”超级域中的“接
听电话”可执行意图节点与用户话语最相关。
用于蜂窝语音服务)或视频呼叫(例如,用于电信应用软件)而言,隔离的话语“挂断电话”或
“暂停通话”可能是模糊的。如果上下文信息指示配套设备1004当前正在进行语音通话而不
是视频通话,则DA服务器1006将选择“电话”超级域(而不是“视频电话”域),因为其与用户
话语最相关。
“嘿Siri,输入3”中的部分“3”,DA服务器1006确定“传输DTMF音调”可执行意图节点中的{字
符键}参数的值是“3”。
(由箭头1014表示)。该命令表示满足用户意图的一个或多个任务。在一些示例中,该命令指
定对应于用户意图的域或可执行意图节点。在从DA服务器1006接收到命令时,主设备1002
分析该命令并基于一组规则确定多个可能设备中的哪个设备将执行该命令。该确定基于命
令中指定的域或可执行意图节点。另外,在一些示例中,该确定基于每个可能设备的能力。
在一些示例中,主设备1002确定该命令将由其自身执行,并因此继续执行该命令。在其他示
例中,主设备1002确定配套设备(例如,配套设备1004)将执行该命令。在这些示例中,主设
备1002向配套设备发送指令(如箭头1016所示)。当配套设备接收到指令时,该指令使配套
设备自动执行满足用户意图的一个或多个任务(例如,无需用户进一步输入)。在一些示例
中,指令包括从DA服务器1006接收的相同命令。
域的“结束通话”可执行意图节点。基于一组规则和“结束通话”可执行意图节点,主设备
1002确定该命令将由主设备1002执行。根据该确定,主设备1002通过执行与“结束通话”可
执行意图节点相对应的一个或多个任务来执行命令。例如,主设备1002停止获取音频数据
(例如,经由其麦克风)并输出与通话相关联的音频(例如,经由其扬声器)。在一些示例中,
主设备1002终止与与通话相关的配套设备1004的通信,这使得配套设备1004终止与远端方
的通话。在一些示例中,执行该命令包括向配套设备1004(例如,经由先前建立的无线通信
连接)发送使配套设备1004结束通话的信号。该信号不同于从DA服务器1006接收到的命令。
例如,信号可以是不指定“电话”超级域的“结束通话”可执行意图节点的较低电平的信号。
可能期望在主设备1002而不是配套设备1004处执行命令,因为从用户的角度来看这能产生
更快的响应。另外,主设备1002更快地被释放以进行与配套设备1004或不同的配套设备的
后续通话。
键}参数指定值“3”。然后,主设备1002基于一组规则、“传输DTMF音调”可执行意图节点和配
套设备1004的电话能力确定该命令将由配套设备1004执行。根据该确定,主设备1002将从
DA服务器1006接收的命令转发到配套设备1004。响应于接收到该命令,配套设备1004执行
对应于“传输DTMF音调”可执行意图节点的一个或多个任务。具体地讲,配套设备1004为字
符键“3”生成DTMF音调,并将通话的音调发送到远端方。
可执行意图节点和指示配套设备1004当前正在进行通话的上下文信息,主设备1002确定该
命令将由配套设备1004执行。根据该确定,主设备1002将从DA服务器1006接收的命令转发
到配套设备1004。响应于接收到该命令,配套设备1004执行对应于“保持通话”可执行意图
节点的一个或多个任务。具体地讲,配套设备1004暂停通话。
行意图节点的相关联的{转接电话号码}参数的参数值。例如,参数值指定要转接的通话的
电话号码(例如,对应于“妹妹”的电话号码)。基于一组规则、“转接电话”可执行意图节点和
指示配套设备1004当前正在进行通话的上下文信息,主设备1002确定该命令将由配套设备
1004执行。根据该确定,主设备1002将从DA服务器1006接收的命令转发到配套设备1004。响
应于接收到该命令,配套设备1004执行对应于“转接电话”可执行意图节点的一个或多个任
务。具体地讲,配套设备1004向对应于{转接电话号码}参数中指定的电话号码的一方(例
如,“妹妹”)拨打电话,并将当前通话转接到该方。
意图节点和指示配套设备1004在进行通话时检测到第二来电的上下文信息,主设备1002确
定该命令将由配套设备1004执行。根据该确定,主设备1002将从DA服务器1006接收的命令
转发到配套设备1004。响应于接收到该命令,配套设备1004执行对应于“接入电话”可执行
意图节点的一个或多个任务。例如,配套设备1004暂停通话,接听第二来电,然后合并这两
个通话以建立三方通话。
入通话”。DA服务器1006确定“接入电话”可执行意图节点与该用户话语最相关。除了指定
“接入电话”可执行意图节点之外,在主设备1002处从DA服务器1006接收的命令指定与联系
人别名“Susan”相关联的电话号码。在从主设备1002接收到命令时,配套设备1004暂停当前
通话,通过拨打Susan的电话号码建立第二通话,然后合并这两个通话以建立三方通话。
哪个配套设备1004将执行命令。例如,如果上下文信息指示在配套设备1004正在进行通话
时在配套设备1004处检测到第二来电,则主设备1002确定配套设备1004将执行该命令并将
该命令转发到配套设备1004。然后,配套设备1004接听第二来电以建立第二通话。另外,配
套设备1004结束初始通话或者暂停通话。然后,将与第二通话相关联的音频数据发送到主
设备1002以用于输出。
行意图节点的命令,并将该命令转发到第二配套设备。响应于接收到该命令,第二配套设备
接听第二来电以建立与主叫方的电话连接。另外,主设备1002与配套设备1004上的初始通
话断开连接。具体地讲,主设备1002将初始通话的操作传输回配套设备1004,并且停止获取
音频输入(例如,经由其麦克风)或接收与初始通话相关联的音频数据(例如,来自配套设备
1004)。
认信号指示命令是否被成功执行。如图8和图9中所述,主设备1002可以基于该确认信号提
供关于命令是否被成功执行的指示符。
804类似或相同。使用DA服务器1106来执行本技术的一些方面,该DA服务器与DA服务器806
类似或相同。在一些示例中,这些方面中的任一个可另选地在主设备1102和/或配套设备
1104处本地执行。
所示)。在本示例中,用户话语可以表示对存储在配套设备1104上的信息的请求。在一些示
例中,所请求的信息是与呼叫相关的信息。例如,话语是“嘿Siri,播放我的语音邮件”或“嘿
Siri,告诉我我有哪些未接来电。”在一些示例中,在主设备1102上结合调用数字助理或在
调用数字助理时接收用户话语。调用数字助理使主设备1102获得包含用户话语的至少一部
分的音频数据(例如,经由麦克风),并自动对用户话语的第二部分执行语音识别和自然语
言处理。
中描述的信息。在一些示例中,上下文信息包括从配套设备1104接收的信号中指示的信息
(类似于图8至图10中所描述的信号)。
确定的用户意图涉及获取和呈现与呼叫相关的信息。例如,基于上下文信息和用户话语
“……播放我的语音邮件”的文本表示,DA服务器1106确定“电话”超级域的“播放语音邮件”
可执行意图节点与用户话语最相关。基于该确定,DA服务器1106确定对应于用户话语的用
户意图是播放最近的语音邮件。又如,基于上下文信息和用户话语“……告诉我我有哪些未
接来电”的文本表示,DA服务器1106确定“电话”超级域的“未接来电列表”可执行意图节点
与用户话语最相关。基于该确定,DA服务器1106确定对应于用户话语的用户意图是呈现最
近的未接来电列表。
的域或可执行意图节点。另外,在一些示例中,该命令包括与域或可执行意图节点相关联的
一个或多个参数的值。在从DA服务器1106接收到命令时,主设备1102分析该命令并确定多
个可能设备中的哪个设备将执行该命令。该确定基于例如一组规则、命令中指定的可执行
意图节点和上下文信息。在示例性话语“……播放我的语音邮件”中,该命令指定“播放语音
邮件”可执行意图节点。基于一组规则、“播放语音邮件”可执行意图节点和指示配套设备
1104具有电话能力(包括语音邮件)的上下文信息,主设备1102确定该命令将由配套设备
1104执行。类似地,在示例性话语“……告诉我我有哪些未接来电”中,DA服务器1106基于一
组规则、“未接来电列表”可执行意图节点和指示配套设备1104具有电话能力(包括最近的
通话记录)的上下文信息确定,主设备1102确定该命令将由配套设备1104执行。
如,无需用户进一步输入)。在一些示例中,指令包括从DA服务器1106接收的相同命令。例
如,主设备1102将命令从DA服务器转发到配套设备1104(由箭头1116表示)。
呼叫相关信息发送到主设备1102以供呈现(由箭头1118表示)。具体地讲,返回示例性话语
“……播放我的语音邮件”,配套设备1104执行对应于“播放语音邮件”可执行意图节点的一
个或多个任务。一个或多个任务包括例如识别存储在配套设备1104上的N个最近语音邮件
音频文件(其中N是预定义的正整数),并将语音邮件音频文件发送到主设备1102以供呈现。
每个语音邮件音频文件包括语音邮件的呼叫信息(例如,电话号码、时间、联系人别名等)和
音频记录。类似地,对于示例性话语“……告诉我我有哪些未接来电”,配套设备1104执行对
应于“未接来电列表”可执行意图节点的一个或多个任务。一个或多个任务包括例如获取存
储在配套设备1104上的N个最近未接来电(其中N是预定义的正整数)的呼叫信息(例如,电
话号码、时间、联系别名等)并且将该呼叫信息发送到主设备1102以供呈现。
模块734)。然后将语音对话发送到主设备1102(由箭头1122表示),其中语音对话通过主设
备1102的扬声器输出。
息的语音对话,例如,“现在为您播放最近三条语音消息。第一条是于2018年5月8日下午2点
43分接收的来自John Adams……”,主设备1102播放从DA服务器1106接收的语音对话,并将
语音邮件音频文件的播放结合到语音对话中。
话,例如“您有三个未接来电。第一个于2018年5月2日下午12点15分来自Susan
White……”,然后主设备1102播放从DA服务器1106接收的语音对话。在一些示例中,语音对
话包括向未接来电中的任一个回拨电话的提示。
中,使用客户端-服务器系统(例如,系统100)来执行过程1200,并且在服务器(例如,DA服务
器106)和一个或多个客户端设备(例如,用户设备104和122)之间以任何方式来划分过程
1200的框。因此,虽然过程1200的部分在本文中被描述为由客户端-服务器系统的特定设备
执行,但应当理解,过程1200不限于此。在其他示例中,过程1200仅使用客户端设备(例如,
用户设备122)或多个客户端设备(例如,用户设备104和122)来执行。在过程1200中,一些框
被任选地组合,一些框的次序被任选地改变,并且一些框被任选地省略。在一些示例中,可
结合过程1200来执行附加步骤。
语和上下文信息,过程1200使服务器确定对应于用户话语的用户意图。上下文信息基于来
自配套设备的接收信号。根据对应于接听来电的可执行意图的用户意图,过程1200执行若
干操作,包括从服务器接收表示满足接听来电的可执行意图的任务的命令。该操作还包括
基于该命令向配套设备提供接听来电并将所接听的来电的音频数据中继到电子设备的指
令。根据成功使配套设备接听来电的指令,根据从配套设备接收的所接听的来电的音频数
据输出电子设备扬声器处的音频输出。
另外,该信号使得主设备能够识别该命令应当由配套设备执行,因此主设备可以有效地向
配套设备提供执行接听来电的任务的指令。这使得主设备能够用作智能集中式集线器,以
处理语音用户请求并协调所得命令的分发。因此,主设备处的语音交互可用于访问配套设
备的呼叫功能,这改善了用户对配套设备的可访问性并提供了更好的用户体验。例如,用户
不需要靠近配套设备来接听配套设备上的来电。相反,用户可以向主设备提供语音请求,使
配套设备接听来电并将来自所接听电话的音频数据传送到主设备。
扬声器,但具有提供适合远场语音交互的高质量音频的麦克风和扬声器。相比之下,配套设
备是具有独立呼叫功能的智能手机。但是,配套设备的麦克风和扬声器不能为远场语音交
互提供合适质量的音频。通过在主设备处使用语音交互来访问配套设备的呼叫功能,主设
备的麦克风和扬声器可以与配套设备的呼叫功能相结合,以准确且有效地处理远场语音请
求,从而接听配套设备上的来电。另外,作为经由主设备进行通话的结果,可以改善在接听
来电期间交换的音频的质量。
备例如与上述设备122类似或相同,并且配套设备例如与上述设备104类似。在一些示例中,
配套设备具有独立呼叫功能,而主设备不具有独立呼叫功能。在这些示例中,主设备不能在
不依赖于配套设备的呼叫功能的情况下拨出电话或从外部设备接收来电。在一些示例中,
在框1206和1208之前执行框1202。
如,通信模块228)和RF电路(例如,RF电路208)建立无线通信连接。另选地,根据基于认证信
息对配套设备不是主设备的注册设备的确定,不与配套设备建立无线通信连接。应当认识
到,在一些示例中,需要建立无线通信连接以接收框1206的信号并提供框1218的指令。
号。在一些示例中,例如,通过在主设备上实现的数字助理模块(例如,数字助理模块726)的
I/O处理模块(例如,I/O处理模块728)接收信号。
主设备处输出来电的音频指示可以通过不向用户提供多个通知信号来增强用户的体验。
器211)。
例如表示对设备执行任务的请求的语音自然语言。在一些示例中,关于用户希望执行任务
的设备的用户话语是不明确的。在一些示例中,关于用户希望执行的特定任务的用户话语
是不明确的。
的第一部分包含预定义语音触发的确定,接收用户话语的与第一部分分开的第二部分(框
1212)。具体地讲,过程1200自动处理用户话语的第二部分以确定用户意图(例如,使用STT
处理模块730和自然语言处理模块732)。另选地,根据对用户话语的第一部分不包含预定义
语音触发的确定,过程1200停止处理用户话语并等待接收后续用户话语。
信息的表示被发送到服务器,这使得服务器确定用户话语的文本表示(例如,使用STT处理
模块730)。基于文本表示和上下文信息,确定用户意图(例如,使用自然语言处理模块732)。
根据对应于接听来电的可执行意图的用户意图,执行方框1216-1220的操作。
息指定在主设备和配套设备之间建立无线通信连接,并且配套设备是电子设备的注册设
备。在一些示例中,上下文信息指定配套设备的能力(例如,呼叫功能、电子邮件功能等)。
图节点。例如,该命令指定对应于所确定的用户意图的“电话”超级域的“接听电话”可执行
意图节点。
例中,指令还使得配套设备将所接听来电的音频数据中继到主设备。在一些示例中,指令包
括框1216的命令。
定,将指令提供给配套设备。
的视频数据。
918表示),并从主设备的扬声器(例如,扬声器211)产生对应的音频输出。音频数据包括例
如在拨打电话(例如,主叫方)的外部设备的麦克风处接收的语音数据。
类型的错误代码。在一些示例中,将确认信号的表示提供给服务器。在一些示例中,框1222
在框1218之后执行。
话(例如,如图9中的箭头924所示)。在一些示例中,框1224根据在配套设备执行接听来电的
指令之前结束的来电并且根据具有呼叫者识别信息的来电来执行。在一些示例中,语音对
话包括呼叫者识别信息。例如,语音对话提示用户根据呼叫者识别信息拨打电话。
语音对话。框1226根据在配套设备执行接听来电的指令之前结束的来电并且根据不具有呼
叫者识别信息的来电来执行。
通话(框1218)。在一些示例中,在根据所接听来电的音频数据产生音频输出时(例如,在主
设备的扬声器处)时接收第二用户话语(框1220)。
1230类似于框1214。在一些示例中,第二上下文信息包含与框1214的上下文信息类似的信
息。在一些示例中,第二上下文信息还指示配套设备正在进行通话。在一些示例中,在确定
第二用户意图时,服务器生成表示满足第二用户意图的第二任务的第二命令。
服务器放弃生成第二命令以使主设备和/或配套设备满足第二用户意图。
意图的域或可执行意图节点。例如,根据对应于结束通话的可执行意图的第二用户意图,第
二命令指定“电话”超级域的“结束通话”可执行意图节点。在该示例中,第二任务包括满足
结束通话的可执行意图的一个或多个任务。
的一个或多个字符键。指定的一个或多个字符键对应于例如在第二用户话语中定义的一个
或多个字符键。在该示例中,第二任务包括满足在通话时传输DTMF音调的可执行意图的一
个或多个任务。
示)。在一些示例中,第二指令包括第二命令。第二指令在被配套设备接收并执行时,使配套
设备执行满足第二用户意图的第二任务。
设备继而使得配套设备结束通话。例如,主设备停止从配套设备接收通话的音频数据,这使
得配套设备结束通话。另选地,主设备向配套设备发送信号,当配套设备接收到信号时,使
配套设备结束通话。例如,该信号与第二命令不同。可能需要在主设备而不是配套设备处执
行第二命令,因为从用户的角度来看这能产生更快的响应。此外,主设备可被更快地释放以
进行与该配套设备或不同的配套设备的后续通话。
在第二用户话语中定义的)一个或多个字符键的一个或多个DTMF音调。
和/或视频会议模块239实现。过程1200的操作进一步由数字助理模块726实现(例如,在DA
服务器106和DA客户端模块229中实现),该数字处理模块包括I/O处理模块728、STT处理模
块730、自然语言处理模块732、对话流处理模块734、任务流处理模块736和服务处理模块
738和/或语音合成处理模块738。本领域的普通技术人员会清楚地知道如何基于在图1至图
4、图6A至图6B和图7A至图7C中所描绘的部件来实现其他过程。
序,该一个或多个程序包括用于执行本文所述方法或过程中的任一个的指令。
一个或多个程序包括用于执行本文所描述的方法和过程中的任一者的指令。
实例中,这些所采集的数据可包括唯一地识别或可用于联系或定位特定人员的个人信息数
据。此类个人信息数据可以包括人口统计数据、基于位置的数据、电话号码、电子邮件地址、
推特ID、家庭地址、与用户的健康或健康水平有关的数据或记录(例如,生命体征测量、药物
信息、锻炼信息)、出生日期或任何其他识别或个人信息。
能够更准确、更可靠地使用语音交互来访问呼叫功能。此外,本公开还预期个人信息数据有
益于用户的其他用途。例如,健康和健身数据可用于向用户的总体健康状况提供见解,或者
可用作使用技术来追求健康目标的个人的积极反馈。
满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。
此类策略应该能被用户方便地访问,并应应当随着数据的采集和/或使用变化而被更新。来
自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法使用之外
共享或出售。此外,在收到用户知情同意后,应进行此类采集/共享。此外,此类实体应考虑
采取任何必要步骤,保卫和保障对此类个人信息数据的访问,并确保其他有权访问个人信
息数据的人遵守其隐私政策和流程。另外,这种实体可使其本身经受第三方评估以证明其
遵守广泛接受的隐私政策和做法。此外,应当调整政策和实践,以便采集和/或访问的特定
类型的个人信息数据,并适用于包括管辖范围的具体考虑的适用法律和标准。例如,在美
国,对某些健康数据的收集或获取可能受联邦和/或州法律的管辖,诸如健康保险转移和责
任法案(HIPAA);而其他国家的健康数据可能受到其他法规和政策的约束并应相应处理。因
此,在每个国家应为不同的个人数据类型保持不同的隐私实践。
据的访问。例如,就数字助理而言,本发明的技术可被配置为在注册服务期间或者其后的任
何时间,允许用户选择“加入”或“退出”参与对个人信息数据的收集。除了提供“选择加入”
和“选择退出”选项外,本公开设想提供与访问或使用个人信息相关的通知。例如,可在下载
应用时向用户通知其个人信息数据将被访问,然后就在个人信息数据被应用访问之前再次
提醒用户。
且当适用时,包括在某些健康相关应用程序中,数据去标识可用于保护用户的隐私。在适当
的情况下,可以通过移除特定标识符(例如,出生日期等)、控制存储的数据的量或特征(例
如,在城市级而非地址级收集位置数据)、控制数据的存储方式(例如,在用户之间聚合数
据)和/或其他方法来促进去标识。
实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而
无法正常进行。例如,可基于非个人信息数据或绝对最小量的个人信息(诸如与用户相关联
的设备所请求的内容、适用于数字助理的其他非个人信息或公开可用信息)来确定用户意
图。
多修改形式和变型形式都是可能的。选择并描述这些实施方案是为了最好地解释这些技术
的原理及其实际应用程序。本领域的其他技术人员由此能够最好地利用这些技术以及具有
适合于所预期的特定用途的各种修改的各种实施方案。
括在由权利要求书所限定的本公开和示例的范围内。