CN112416484B - 加速任务执行 - Google Patents

加速任务执行 Download PDF

Info

Publication number
CN112416484B
CN112416484B CN202010238871.2A CN202010238871A CN112416484B CN 112416484 B CN112416484 B CN 112416484B CN 202010238871 A CN202010238871 A CN 202010238871A CN 112416484 B CN112416484 B CN 112416484B
Authority
CN
China
Prior art keywords
task
natural language
electronic device
user
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010238871.2A
Other languages
English (en)
Other versions
CN112416484A (zh
Inventor
A·韦恩斯坦
O·阿拉比
K·阿尔伯特
J·布拉茨
C·D·伊拉尼
川岛家幸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from DKPA201870360A external-priority patent/DK201870360A1/en
Priority claimed from US16/146,963 external-priority patent/US10496705B1/en
Application filed by Apple Inc filed Critical Apple Inc
Publication of CN112416484A publication Critical patent/CN112416484A/zh
Application granted granted Critical
Publication of CN112416484B publication Critical patent/CN112416484B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3262Power saving in digitizer or tablet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/432Query formulation
    • G06F16/433Query formulation using audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/435Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Finance (AREA)
  • Artificial Intelligence (AREA)
  • Accounting & Taxation (AREA)
  • Acoustics & Sound (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开提供了用于加速任务执行的系统和过程。示例方法包括,在包括显示器和一个或多个输入设备的电子设备处,在所述显示器上显示包括与任务相关联的建议示能表示的用户界面;经由所述一个或多个输入设备检测对应于所述建议示能表示的选择的第一用户输入,响应于检测到所述第一用户输入:根据确定所述任务是第一类型的任务,执行所述任务;并且根据确定所述任务是不同于所述第一类型的第二类型的任务,显示包括确认示能表示的确认界面。

Description

加速任务执行
分案申请说明
本申请是于2019年5月31日申请的、申请号为201980003806.7、国 际申请号为PCT/US2019/030244、名称为“加速任务执行”的PCT专利申 请的分案申请。
相关申请的交叉引用
本专利申请要求以下专利申请的优先权:2018年6月3日提交的题为“ACCELERATED TASK PERFORMANCE”美国临时专利申请 62/679,972;2018年9月28日提交的题为“ACCELERATED TASK PERFORMANCE”美国专利申请16/146,381;2018年9月28日提交的题为 “ACCELERATED TASK PERFORMANCE”美国专利申请16/146,883; 2018年9月28日提交的题为“ACCELERATED TASK PERFORMANCE” 美国专利申请16/146,963;2018年9月28日提交的题为“ACCELERATED TASK PERFORMANCE”美国专利申请16/146,978;2018年6月11日提交的题为“ACCELERATED TASK PERFORMANCE”的丹麦专利申请PA 2018 70357;2018年6月11日提交的题为“ACCELERATED TASK PERFORMANCE”的丹麦专利申请PA 2018 70358;2018年6月11日提交 的题为“ACCELERATED TASK PERFORMANCE”的丹麦专利申请PA 2018 70359;2018年6月11日提交的题为“ACCELERATED TASK PERFORMANCE”的丹麦专利申请PA 2018 70360;以及2018年9月27日 提交的题为“ACCELERATED TASK PERFORMANCE《加速任务执行》” 的中国专利申请201811134435.X,这些专利申请的全部公开内容据此以引 用方式并入以用于所有适当的目的。
技术领域
本公开整体涉及数字助理,更具体地,涉及使用数字助理加速任务执 行。
背景技术
智能自动化助理(或数字助理)可在人类用户与电子设备之间提供有 利界面。此类助理可允许用户使用自然语言以语音形式和/或文本形式与设 备或系统进行交互。例如,用户可向正在电子设备上运行的数字助理提供 包含用户请求的语音输入。数字助理可从该语音输入解译用户意图,将用 户意图操作化成任务并且执行该任务。在一些系统中,以这种方式执行任 务可以以识别任务的方式受到约束。然而,在一些情况下,用户可能受限 于特定的一组命令,使得用户不能容易地指示数字助理使用自然语言语音 输入来执行任务。此外,在许多情况下,数字助理无法基于先前的用户行 为进行调整,继而缺乏用户体验的期望优化。
发明内容
本文描述了示例方法。示例方法包括在具有显示器和触敏表面的电子 设备,在显示器上显示包括与任务相关联的建议示能表示的用户界面,经 由一个或多个输入设备检测与建议示能表示的选择对应的第一用户输入; 响应于检测到第一用户输入:根据确定任务是第一类型的任务,执行任 务;并且根据确定任务是与第一类型不同的第二类型的任务,显示包括确 认示能表示的确认界面。
本文描述了示例电子设备。示例电子设备包括一个或多个处理器、存 储器和一个或多个程序,其中该一个或多个程序存储在存储器中并且被配 置为由该一个或多个处理器执行,该一个或多个程序包括用于以下操作的 指令:在显示器上显示包括与任务相关联的建议示能表示的用户界面;经 由所述一个或多个输入设备检测对应于所述建议示能表示的选择的第一用 户输入;响应于检测到第一用户输入:根据确定任务是第一类型的任务, 执行任务;并且根据确定任务是与第一类型不同的第二类型的任务,显示 包括确认示能表示的确认界面。
示例电子设备包括:用于在显示器上显示包括与任务相关联的建议示 能表示的用户界面的装置,用于经由一个或多个输入设备检测对应于建议 示能表示的选择的第一用户输入的装置,用于响应于检测到第一用户输入 执行以下操作的装置:根据确定任务是第一类型的任务,执行任务;并且 根据确定任务是与第一类型不同的第二类型的任务,显示包括确认示能表 示的确认界面。
本文公开了示例非暂态计算机可读介质。示例非暂态计算机可读介质 存储包括指令的一个或多个程序,所述指令在由电子设备的一个或多个处 理器执行时,使得电子设备:在显示器上显示包括与任务相关联的建议示 能表示的用户界面;经由所述一个或多个输入设备检测对应于所述建议示 能表示的选择的第一用户输入;响应于检测到第一用户输入:根据确定任 务是第一类型的任务,执行任务;并且根据确定任务是与第一类型不同的 第二类型的任务,显示包括确认示能表示的确认界面。
显示包括建议示能表示的用户界面并且响应于建议示能表示的选择从 而选择性地要求确认以执行任务,这为用户提供了用于在电子设备上执行 任务的易于识别和直观的方法,从而减少了否则执行此类任务所需的用户 输入的数量。因此,以这种方式显示用户界面增强了设备的可操作性,并 且使用户设备界面更高效(例如,通过帮助用户提供适当的输入并减少操 作设备/与设备交互时的用户错误),这又通过使用户能够更快速且高效地 使用设备进一步减少了电力使用并且延长了设备的电池寿命。
示例方法包括在具有一个或多个处理器的电子设备处:显示多个候选 任务示能表示包括与任务相关联的候选任务示能表示;检测包括第一用户 输入的一组输入,该第一输入对应于与任务相关联的候选任务示能表示的 选择;响应于检测到该组用户输入,显示用于生成与任务相关联的语音快 捷方式的第一界面,在显示第一界面时:通过音频输入设备接收自然语言 语音输入,并且在第一界面中显示候选短语,其中该候选短语基于自然语言语音输入;在显示候选短语后,经由触敏表面检测第二用户输入;并且 响应于检测到第二用户输入,将候选短语与任务相关联。
一种示例非暂态计算机可读存储介质存储一个或多个程序。该一个或 多个程序包括指令,所述指令在由电子设备的一个或多个处理器执行时使 得电子设备显示多个候选任务示能表示包括与任务相关联的候选任务示能 表示;检测包括第一用户输入的一组输入,该第一输入对应于与任务相关 联的候选任务示能表示的选择;响应于检测到该组用户输入,显示用于生 成与任务相关联的语音快捷方式的第一界面,在显示第一界面时:通过音 频输入设备接收自然语言语音输入,并且在第一界面中显示候选短语,其 中该候选短语基于自然语言语音输入;在显示候选短语后,经由触敏表面 检测第二用户输入;并且响应于检测到第二用户输入,将候选短语与任务 相关联。
示例电子设备包括一个或多个处理器、存储器和一个或多个程序,其 中该一个或多个程序存储在存储器中并且被配置为由一个或多个处理器执 行,该一个或多个程序包括用于以下操作的指令:显示多个候选任务示能 表示包括与任务相关联的候选任务示能表示;检测包括第一用户输入的一 组输入,该第一输入对应于与任务相关联的候选任务示能表示的选择;响 应于检测到该组用户输入,显示用于生成与任务相关联的语音快捷方式的 第一界面,在显示第一界面时:通过音频输入设备接收自然语言语音输 入,并且在第一界面中显示候选短语,其中该候选短语基于自然语言语音 输入;在显示候选短语后,经由触敏表面检测第二用户输入;并且响应于 检测到第二用户输入,将候选短语与任务相关联。
示例电子设备包括:用于显示多个候选任务示能表示包括与任务相关 联的候选任务示能表示的装置;用于检测包括第一用户输入的一组输入的 装置,该第一输入对应于与任务相关联的候选任务示能表示的选择;用于 响应于检测到该组用户输入,显示用于生成与任务相关联的语音快捷方式 的第一界面的装置;用于在显示第一界面时进行以下操作的装置:通过音 频输入设备接收自然语言语音输入,并且在第一界面中显示候选短语,其 中该候选短语基于自然语言语音输入;用于在显示候选短语后,经由触敏 表面检测第二用户输入的装置;以及用于响应于检测到第二用户输入,将 候选短语与任务相关联的装置。
基于自然语言语音输入提供候选短语并将候选短语与相应任务相关 联,这允许用户准确且有效地生成可用于在电子设备上执行任务的用户特 定的语音快捷方式。例如,允许用户以这种方式将语音快捷方式与任务相 关联允许用户在视觉上确认已经选择了所需的语音快捷方式并将其分配给 正确的任务,从而降低了不正确或不需要的关联的可能性。因此以所描述 的方式提供候选短语使电子设备的使用更加高效(例如,通过帮助用户提 供适当的输入并减少操作设备/与设备交互时的用户错误),这又通过使用 户能够更快速且高效地使用设备进一步减少了电力使用并且延长了设备的 电池寿命。
示例方法包括:在具有一个或多个处理器的电子设备处,接收与电子 设备相关联的上下文数据;基于该上下文数据确定任务的任务概率;基于 上下文数据确定参数的参数概率,其中参数与任务相关联;基于任务概率 和参数概率确定任务是否满足建议标准;根据确定任务满足建议标准,在 显示器上显示与任务和参数对应的建议示能表示;并且根据确定任务不满 足建议标准,放弃显示建议示能表示。
一种示例非暂态计算机可读存储介质存储一个或多个程序。该一个或 多个程序包括指令,所述指令在由电子设备的一个或多个处理器执行时, 使得电子设备接收与电子设备相关联的上下文数据;基于该上下文数据确 定任务的任务概率;基于上下文数据确定参数的参数概率,其中参数与任 务相关联;基于任务概率和参数概率确定任务是否满足建议标准;根据确 定任务满足建议标准,在显示器上显示与任务和参数对应的建议示能表示;并且根据确定任务不满足建议标准,放弃显示建议示能表示。
示例电子设备包括一个或多个处理器、存储器和一个或多个程序,其 中该一个或多个程序存储在存储器中并且被配置为由一个或多个处理器执 行,该一个或多个程序包括用于以下操作的指令:接收与电子设备相关联 的上下文数据;基于该上下文数据确定任务的任务概率;基于上下文数据 确定参数的参数概率,其中参数与任务相关联;基于任务概率和参数概率 确定任务是否满足建议标准;根据确定任务满足建议标准,在显示器上显示与任务和参数对应的建议示能表示;并且根据确定任务不满足建议标 准,放弃显示建议示能表示。
示例电子设备包括用于接收与电子设备相关联的上下文数据的装置; 用于基于该上下文数据确定任务的任务概率的装置;用于基于上下文数据 确定参数的参数概率的装置,其中参数与任务相关联;用于基于任务概率 和参数概率确定任务是否满足建议标准的装置;用于根据确定任务满足建 议标准,在显示器上显示与任务和参数对应的建议示能表示的装置;以及 用于根据确定任务不满足建议标准,放弃显示建议示能表示的装置。
如本文所述选择性地提供与任务相关联的建议示能表示允许用户有效 且方便地在电子设备上执行与用户相关的任务。作为示例,由电子设备显 示的建议示能表示可对应于基于电子设备的上下文数据(诸如指示用户先 前使用电子设备的上下文数据)识别的任务。因此,以这种方式选择性地 提供建议减少了用户操作电子设备所需的输入数量和时间量(例如,通过 帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),这又降低了电力使用并延长了设备的电池寿命。
示例方法包括:在具有一个或多个处理器的电子设备处,接收自然语 言语音输入;确定自然语言语音输入是否满足语音快捷方式标准;根据确 定自然语言语音输入满足语音快捷方式标准:识别与语音快捷方式相关联 的任务,并且执行与语音快捷方式相关联的任务;并且根据确定自然语言 语音输入不满足语音快捷方式标准:识别与自然语言语音输入相关联的任 务,并且执行与自然语言语音输入相关联的任务。
一种示例非暂态计算机可读存储介质存储一个或多个程序。该一个或 多个程序包括指令,所述指令在由电子设备的一个或多个处理器执行时, 使得电子设备接收自然语言语音输入;确定自然语言语音输入是否满足语 音快捷方式标准;根据确定自然语言语音输入满足语音快捷方式标准:识 别与语音快捷方式相关联的任务,并且执行与语音快捷方式相关联的任 务;并且根据确定自然语言语音输入不满足语音快捷方式标准:识别与自然语言语音输入相关联的任务,并且执行与自然语言语音输入相关联的任 务。
示例电子设备包括一个或多个处理器、存储器和一个或多个程序,其 中该一个或多个程序存储在存储器中并且被配置为由一个或多个处理器执 行,所述一个或多个程序包括用于以下操作的指令:接收自然语言语音输 入;确定自然语言语音输入是否满足语音快捷方式标准;根据确定自然语 言语音输入满足语音快捷方式标准:识别与语音快捷方式相关联的任务, 并且执行与语音快捷方式相关联的任务;并且根据确定自然语言语音输入不满足语音快捷方式标准:识别与自然语言语音输入相关联的任务,并且 执行与自然语言语音输入相关联的任务。
示例电子设备包括用于接收自然语言语音输入的装置;用于确定自然 语言语音输入是否满足语音快捷方式标准的装置;用于根据确定自然语言 语音输入满足语音快捷方式标准执行以下操作的装置:识别与语音快捷方 式相关联的任务,并且执行与语音快捷方式相关联的任务;以及用于根据 确定自然语言语音输入不满足语音快捷方式标准执行以下操作的装置:识 别与自然语言语音输入相关联的任务,并且执行与自然语言语音输入相关 联的任务。
如本文所述,响应于自然语言语音输入(例如,语音快捷方式)执行 任务提供了用于在电子设备上执行任务的直观且有效的方法。作为示例, 可以响应于自然语言语音输入执行一个或多个任务,而无需来自用户的任 何附加输入。因此,以这种方式响应于自然语言语音输入执行任务减少了 用户操作电子设备所需的输入数量和时间量(例如,通过帮助用户提供适 当的输入并减少操作设备/与设备交互时的用户错误),这又降低了电力使 用并延长了设备的电池寿命。
示例方法包括:在具有一个或多个处理器的电子设备处,利用数字助 理接收自然语言语音输入;确定与自然语言语音输入相关联的语音快捷方 式;确定与语音快捷方式对应的任务;使应用程序发起任务的执行;从应 用程序接收响应,其中响应与任务相关联;基于响应确定任务是否成功执 行,并且提供输出指示任务是否成功执行。
一种示例非暂态计算机可读存储介质存储一个或多个程序。该一个或 多个程序包括指令,所述指令在由电子设备的一个或多个处理器执行时, 使得电子设备利用数字助理接收自然语言语音输入;确定与自然语言语音 输入相关联的语音快捷方式;确定与语音快捷方式对应的任务;使应用程 序发起任务的执行;从应用程序接收响应,其中响应与任务相关联;基于 响应确定任务是否成功执行,并且提供输出指示任务是否成功执行。
示例电子设备包括一个或多个处理器、存储器和一个或多个程序,其 中该一个或多个程序存储在存储器中并且被配置为由一个或多个处理器执 行,所述一个或多个程序包括用于以下操作的指令:利用数字助理接收自 然语言语音输入;确定与自然语言语音输入相关联的语音快捷方式;确定 与语音快捷方式对应的任务;使应用程序发起任务的执行;从应用程序接 收响应,其中响应与任务相关联;基于响应确定任务是否成功执行,并且提供输出指示任务是否成功执行。
示例电子设备包括用于利用数字助理接收自然语言语音输入的装置; 用于确定与自然语言语音输入相关联的语音快捷方式的装置;用于确定与 语音快捷方式对应的任务的装置;用于使应用程序发起任务的执行的装 置;用于从应用程序接收响应的装置,其中响应与任务相关联;用于基于 响应确定任务是否成功执行的装置,以及用于提供输出指示任务是否成功 执行的装置。
如本文所述,提供输出允许数字助理例如在用户和数字助理之间的对 话(例如,会话式对话)的过程中,以直观且灵活的方式从应用程序提供 反馈和/或其他信息。作为示例,数字助理可以从应用程序向用户提供(例 如,中继)自然语言表达,使得用户可以与应用程序交互而无需打开或以 其他方式直接访问应用程序。因此,以这种方式提供自然语言输出减少了 用户操作电子设备所需的输入数量和时间量(例如,通过帮助用户提供适 当的输入并减少操作设备/与设备交互时的用户错误),这又降低了电力使 用并延长了设备的电池寿命。
示例方法包括从应用程序接收多个媒体项;接收与电子设备相关联的 上下文数据;基于多个媒体项和上下文数据确定任务;确定任务是否满足 建议标准;根据确定任务满足建议标准,在显示器上显示对应于任务的建 议示能表示;并且根据确定任务不满足建议标准,放弃显示建议示能表 示。
示例电子设备包括一个或多个处理器、存储器和一个或多个程序,其 中该一个或多个程序存储在存储器中并且被配置为由一个或多个处理器执 行,所述一个或多个程序包括用于以下操作的指令:从应用程序接收多个 媒体项;接收与电子设备相关联的上下文数据;基于多个媒体项和上下文 数据确定任务;确定任务是否满足建议标准;根据确定任务满足建议标 准,在显示器上显示对应于任务的建议示能表示;并且根据确定任务不满足建议标准,放弃显示建议示能表示。
示例电子设备包括用于从应用程序接收多个媒体项的装置;用于接收 与电子设备相关联的上下文数据的装置;用于基于多个媒体项和上下文数 据确定任务的装置;用于确定任务是否满足建议标准的装置;用于根据确 定任务满足建议标准,在显示器上显示对应于任务的建议示能表示的装 置;以及用于根据确定任务不满足建议标准,放弃显示建议示能表示的装 置。
示例非暂态计算机可读介质存储包括指令的一个或多个程序,所述指 令在由电子设备的一个或多个处理器执行时使得电子设备:从应用程序接 收多个媒体项;接收与电子设备相关联的上下文数据;基于多个媒体项和 上下文数据确定任务;确定任务是否满足建议标准;根据确定任务满足建 议标准,在显示器上显示对应于任务的建议示能表示;并且根据确定任务 不满足建议标准,放弃显示建议示能表示。
如本文所述选择性地提供对应于任务的建议示能表示允许用户有效且 方便地在电子设备上执行与用户相关的任务。作为示例,由电子设备显示 的建议示能表示可对应于基于媒体消费和/或用户的确定的媒体偏好识别的 任务。因此,以这种方式选择性地提供建议减少了用户操作电子设备所需 的输入数量和时间量(例如,通过帮助用户提供适当的输入并减少操作设 备/与设备交互时的用户错误),这又降低了电力使用并延长了设备的电池 寿命。
附图说明
图1为示出了根据各种示例的用于实现数字助理的系统和环境的框 图。
图2A为示出了根据各种示例的实现数字助理的客户端侧部分的便携 式多功能设备的框图。
图2B为示出了根据各种示例的用于事件处理的示例性部件的框图。
图3示出了根据各种示例的实现数字助理的客户端侧部分的便携式多 功能设备。
图4为根据各种示例的具有显示器和触敏表面的示例性多功能设备的 框图。
图5A示出了根据各种示例的便携式多功能设备上的应用程序的菜单 的示例性用户界面。
图5B示出了根据各种示例的具有与显示器分开的触敏表面的多功能设 备的示例性用户界面。
图6A示出了根据各种示例的个人电子设备。
图6B为示出了根据各种示例的个人电子设备的框图。
图6C至图6D示出了根据一些实施方案具有触敏显示器和强度传感器 的个人电子设备的示例性部件。
图6E至图6H示出了根据一些实施方案的个人电子设备的示例性部件 和用户界面。
图7A为示出了根据各种示例的数字助理系统或其服务器部分的框 图。
图7B示出了根据各种示例的在图7A中所示的数字助理的功能。
图7C示出了根据各种示例的知识本体的一部分。
图8A至图8AF示出了根据各种示例的用于提供建议的示例性用户界 面。
图9A至图9B是示出根据各种示例的提供建议的方法的流程图。
图10A至图10AJ示出了根据各种示例的用于提供语音快捷方式的示 例性用户界面。
图11A至图11B是示出根据各种示例的提供语音快捷方式的方法的流 程图。
图12是根据各种示例的任务建议系统的框图。
图13是示出根据各种示例的提供建议的方法的流程图。
图14示出了根据各种示例的用于以隐私保护方式执行任务的示例性操 作序列。
图15是示出根据各种示例的执行任务的方法的流程图。
图16A至图16S示出了根据各种示例的用于使用数字助理执行任务的 示例性用户界面。
图17是示出根据各种示例的使用数字助理执行任务的方法的流程图。
图18A至图18D示出了根据各种示例的用于提供媒体项建议的示例性 用户界面。
图19是示出根据各种示例的提供媒体项建议的方法的流程图。
具体实施方式
在以下对示例的描述中将引用附图,在附图中以例示的方式示出了可 被实施的特定示例。应当理解,在不脱离各个示例的范围的情况下,可使 用其他示例并且可作出结构性改变。
尽管以下描述使用术语“第一”、“第二”等来描述各种元件,但这 些元件不应受术语的限制。这些术语只是用于将一个元件与另一元件区分 开。例如,在不脱离各种所述示例的范围的情况下,第一输入可被称为第 二输入,并且类似地,第二输入可被称为第一输入。第一输入和第二输入 均为输入,并且在一些情况下为独立且不同的输入。
在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示 例的目的,而并非旨在进行限制。如在对各种所述示例的描述和所附权利 要求书中所使用的那样,单数形式“一个”和“该”旨在也包括复数形 式,除非上下文另外明确地指示。还将理解的是,本文中所使用的术语 “和/或”是指并且涵盖相关联地列出的项目中的一个或多个项目的任何和 全部可能的组合。还将理解的是,术语“包括”和/或“包含”在本说明书 中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件, 但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元 件、部件和/或其分组。
根据上下文,术语“如果”可被解释为意指“当...时”或“在...时”或 “响应于确定...”或“响应于检测到...”。类似地,根据上下文,短语“如 果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为是指“在确 定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或 “响应于检测到[所陈述的条件或事件]”。
1.系统和环境
图1示出了根据各种示例的系统100的框图。在一些示例中,系统100 实现数字助理。术语“数字助理”、“虚拟助理”、“智能自动化助理” 或“自动数字助理”是指解译口头形式和/或文本形式的自然语言输入来推 断用户意图并且基于推断出的用户意图来执行动作的任何信息处理系统。 例如,为了作用于推断出的用户意图,系统执行下述步骤中的一个或多 个:识别具有设计用于实现推断出的用户意图的步骤和参数的任务流,根 据推断出的用户意图将特定要求输入到任务流中;通过调用程序、方法、 服务、API等执行任务流;以及以可听(例如,语音)和/或可视形式来生 成对用户的输出响应。
具体地,数字助理能够接受至少部分地为自然语言命令、请求、声 明、讲述和/或询问的形式的用户请求。通常,用户请求寻求数字助理作出 信息性回答或执行任务。对用户请求的令人满意的响应包括提供所请求的 信息性回答、执行所请求的任务或这两者的组合。例如,用户向数字助理 提出问题,诸如“我现在在哪里?”。基于用户的当前位置,数字助理回答 “你在中央公园西门附近。”用户还请求执行任务,例如“请邀请我的朋 友们下周来参加我女朋友的生日聚会。”作为响应,数字助理可通过讲出 “好的,马上”来确认请求,并然后代表用户将合适的日历邀请发送至用 户的电子通讯录中列出的用户朋友中的每个朋友。在执行所请求的任务期 间,数字助理有时在很长时间段内在涉及多次信息交换的持续对话中与用 户进行交互。存在与数字助理进行交互以请求信息或执行各种任务的许多其他方法。除提供言语响应并采取经编程的动作之外,数字助理还提供其 他视频或音频形式的响应,例如作为文本、警报、音乐、视频、动画等。
如图1所示,在一些示例中,数字助理根据客户端-服务器模型来实 现。数字助理包括在用户设备104上执行的客户端侧部分102(后文称作 “DA客户端102”)以及在服务器系统108上执行的服务器侧部分106 (后文称作“DA服务器106”)。DA客户端102通过一个或多个网络110 与DA服务器106通信。DA客户端102提供客户端侧功能,诸如面向用户 的输入和输出处理,以及与DA服务器106通信。DA服务器106为各自位 于相应用户设备104上的任意数量的DA客户端102提供服务器侧功能。
在一些示例中,DA服务器106包括面向客户端的I/O接口112、一个 或多个处理模块114、数据与模型116,以及到外部服务的I/O接口118。 面向客户端的I/O接口112有利于DA服务器106的面向客户端的输入和输 出处理。一个或多个处理模块114利用数据与模型116来处理语音输入, 并基于自然语言输入来确定用户意图。此外,一个或多个处理模块114基 于推断出的用户意图来执行任务执行。在一些示例中,DA服务器106通过 一个或多个网络110与外部服务120通信以完成任务或采集信息。到外部 服务的I/O接口118有利于此类通信。
用户设备104可以是任何合适的电子设备。在一些示例中,用户设备 104是便携式多功能设备(例如,下文参考图2A所述的设备200)、多功 能设备(例如,下文参考图4所述的设备400)或个人电子设备(例如,下 文参考图6A至图6B所述的设备600)。便携式多功能设备是例如还包含 其他功能(诸如,PDA和/或音乐播放器功能)的移动电话。便携式多功能设备的特定示例包括来自Apple Inc.(Cupertino,California)的Apple
Figure BDA0002431894650000121
iPod
Figure BDA0002431894650000122
Figure BDA0002431894650000123
设备。便携式多功能设备的其他示 例包括但不限于耳塞式耳机/头戴式耳机、扬声器以及膝上型电脑或平板电 脑。此外,在一些示例中,用户设备104是非便携式多功能设备。具体 地,用户设备104是台式计算机、游戏机、扬声器、电视或电视机顶盒。 在一些示例中,用户设备104包括触敏表面(例如,触摸屏显示器和/或触 控板)。此外,用户设备104可选地包括一个或多个其他物理用户接口设 备,诸如物理键盘、鼠标和/或操纵杆。下文更详细地描述了电子设备诸如 多功能设备的各种示例。
一个或多个通信网络110的示例包括局域网(LAN)和广域网(WAN), 例如互联网。一个或多个通信网络110使用任何已知的网络协议来实现, 包括各种有线或无线协议,诸如以太网、通用串行总线(USB)、 FIREWIRE、全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、码 分多址(CDMA)、时分多址(TDMA)、蓝牙、Wi-Fi、互联网协议语音 (VoIP)、Wi-MAX或任何其他合适的通信协议。
服务器系统108在一个或多个独立式数据处理设备或分布式计算机网 络上实现。在一些示例中,服务器系统108还采用第三方服务提供方(例 如,第三方云服务提供方)的各种虚拟设备和/或服务来提供服务器系统 108的潜在计算资源和/或基础结构资源。
在一些示例中,用户设备104经由第二用户设备122与DA服务器106 通信。第二用户设备122与用户设备104相似或相同。例如,第二用户设 备122类似于下文参考图2A、图4以及图6A至图6B所述的设备200、 400或600。用户设备104被配置为经由直接通信连接(诸如,蓝牙、 NFC、BTLE等)或者经由有线或无线网络(诸如,局域Wi-Fi网络)而通 信耦接到第二用户设备122。在一些示例中,第二用户设备122被配置为充 当用户设备104与DA服务器106之间的代理。例如,用户设备104的DA 客户端102被配置为经由第二用户设备122向DA服务器106传输信息(例 如,在用户设备104处接收的用户请求)。DA服务器106处理该信息,并经由第二用户设备122将相关数据(例如,响应于用户请求的数据内容) 返回到用户设备104。
在一些示例中,用户设备104被配置为将针对数据的缩略请求发送到 第二用户设备122,以减少从用户设备104传输的信息量。第二用户设备 122被配置为确定添加到缩略请求的补充信息,以生成完整的请求来传输到DA服务器106。该系统架构可有利地通过使用具有较强通信能力和/或电池 电力的第二用户设备122(例如,移动电话、膝上型计算机、平板电脑等) 作为到DA服务器106的代理,允许具有有限通信能力和/或有限电池电力 的用户设备104(例如,手表或类似的紧凑型电子设备)访问DA服务器 106提供的服务。虽然图1中仅示出两个用户设备104和122,但应当理 解,在一些示例中,系统100可包括在此代理配置中被配置为与DA服务 器系统106通信的任意数量和类型的用户设备。
虽然图1中所示的数字助理包括客户端侧部分(例如,DA客户端 102)和服务器侧部分(例如,DA服务器106)两者,但在一些示例中, 数字助理的功能被实现为被安装在用户设备上的独立式应用程序。此外, 数字助理的客户端部分与服务器部分之间的功能划分在不同的具体实施中 可变化。例如,在一些示例中,DA客户端为仅提供面向用户的输入和输出 处理功能并将数字助理的所有其他功能委派给后端服务器的瘦客户端。
2.电子设备
现在将注意力转至用于实现数字助理的客户端侧部分的电子设备的实 施方案。图2A是示出了根据一些实施方案的具有触敏显示器系统212的便 携式多功能设备200的框图。触敏显示器212有时为了方便被叫做“触摸 屏”,并且有时被称为或被叫做“触敏显示器系统”。设备200包括存储 器202(其可选地包括一个或多个计算机可读存储介质)、存储器控制器 222、一个或多个处理单元(CPU)220、外围设备接口218、RF电路208、音 频电路210、扬声器211、麦克风213、输入/输出(I/O)子系统206、其他输 入控制设备216和外部端口224。设备200可选地包括一个或多个光学传感 器264。设备200可选地包括用于检测设备200(例如设备200的触敏表面 诸如触敏显示器系统212)上的接触的强度的一个或多个接触强度传感器 265。设备200可选地包括用于在设备200上生成触觉输出的一个或多个触觉输出发生器267(例如,在触敏表面诸如设备200的触敏显示器系统212 或设备400的触控板455上生成触觉输出)。这些部件可选地通过一个或 多个通信总线或信号线203进行通信。
如在本说明书和权利要求书中所使用的那样,触敏表面上的接触的术 语“强度”是指触敏表面上的接触(例如,手指接触)的力或压力(每单 位面积的力),或是指触敏表面上的接触的力或压力的替代物(代用 物)。接触的强度具有值范围,该值范围包括至少四个不同的值并且更典 型地包括上百个不同的值(例如,至少256个)。接触的强度可选地使用各种方法和各种传感器或传感器的组合来确定(或测量)。例如,在触敏 表面下方或相邻于触敏表面的一个或多个力传感器可选地用于测量触敏表 面上的不同点处的力。在一些具体实施中,来自多个力传感器的力测量值 被组合(例如,加权平均)以确定所估计的接触力。类似地,触笔的压敏 顶端可选地用于确定触笔在触敏表面上的压力。另选地,在触敏表面上检 测到的接触区域的大小和/或其变化、接触附近的触敏表面的电容和/或其变 化以及/或者接触附近的触敏表面的电阻和/或其变化可选地被用作触敏表面 上的接触的力或压力的替代物。在一些具体实施中,直接使用接触力或压 力的替代测量来确定是否已超过强度阈值(例如,以对应于替代测量的单 位描述的强度阈值)。在一些具体实施中,接触力或压力的替代测量被转 换为估计的力或压力,并且使用该估计的力或压力来确定是否已超过强度 阈值(例如,强度阈值是以压力单位来测量的压力阈值)。使用接触的强 度作为用户输入的属性,从而允许用户访问用户在实地面积有限的尺寸更 小的设备上本来不可访问的附加设备功能,该尺寸更小的设备用于(例 如,在触敏显示器上)显示示能表示和/或接收用户输入(例如,经由触敏 显示器、触敏表面或物理控件/机械控件,诸如旋钮或按钮)。
如本说明书和权利要求书中所使用的,术语“触觉输出”是指将由用 户利用用户的触感检测到的设备相对于设备的先前位置的物理位移、设备 的部件(例如,触敏表面)相对于设备的另一个部件(例如,外壳)的物 理位移、或部件相对于设备的质心的位移。例如,在设备或设备的部件与 用户对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接触 的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感与 设备或设备的部件的物理特征的所感知的变化对应。例如,触敏表面(例 如,触敏显示器或触控板)的移动可选地由用户解释为对物理致动按钮的 “按下点击”或“松开点击”。在一些情况下,用户将感觉到触感,诸如 “按下点击”或“松开点击”,即使在通过用户的移动而物理地被按压 (例如,被移位)的与触敏表面相关联的物理致动按钮没有移动时。作为 另一个示例,即使在触敏表面的光滑度无变化时,触敏表面的移动也会可 选地由用户解释为或感测为触敏表面的“粗糙度”。虽然用户对触摸的此 类解释将受到用户的个体化感官知觉的限制,但是对触摸的许多感官知觉 是大多数用户共有的。因此,当触觉输出被描述为与用户的特定感官知觉 (例如,“松开点击”、“按下点击”、“粗糙度”)对应时,除非另外 陈述,否则所生成的触觉输出与设备或其部件的物理位移对应,该物理位 移将会生成典型(或普通)用户的所描述的感官知觉。
应当理解,设备200仅仅是便携式多功能设备的一个示例,并且设备 200可选地具有比所示出的部件更多或更少的部件,可选地组合两个或更多 个部件,或者可选地具有这些部件的不同配置或布置。图2A中所示的各种 部件以硬件、软件、或硬件与软件两者的组合来实现,包括一个或多个信 号处理和/或专用集成电路。
存储器202包括一个或多个计算机可读存储介质。这些计算机可读存 储介质例如为有形的和非暂态的。存储器202包括高速随机存取存储器, 并且还包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器 设备或其他非易失性固态存储器设备。存储器控制器222控制设备200的 其他部件访问存储器202。
在一些示例中,存储器202的非暂态计算机可读存储介质用于存储指 令(例如,用于执行下文描述的过程的各方面)以供指令执行系统、装置 或设备诸如基于计算机的系统、包含处理器的系统或可从指令执行系统、 装置或设备取出指令并执行指令的其他系统使用或与其结合使用。在其他 示例中,指令(例如,用于执行下文描述的过程的各方面)存储在服务器 系统108的非暂态计算机可读存储介质上,或在存储器202的非暂态计算 机可读存储介质与服务器系统108的非暂态计算机可读存储介质之间划 分。
外围设备接口218用于将设备的输入和输出外围设备耦接到CPU 220 和存储器202。一个或多个处理器220运行或执行存储器202中所存储的各 种软件程序和/或指令集以执行设备200的各种功能并处理数据。在一些实 施方案中,外围设备接口218、CPU 220和存储器控制器222在单个芯片诸 如芯片204上实现。在一些其他实施方案中,它们在独立的芯片上实现。
RF(射频)电路208接收和发送也被称作电磁信号的RF信号。RF电 路208将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁 信号与通信网络及其他通信设备进行通信。RF电路208可选地包括用于执 行这些功能的熟知的电路,包括但不限于天线系统、RF收发器、一个或多 个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯片 组、用户身份模块(SIM)卡、存储器等等。RF电路208可选地通过无线通 信来与网络和其他设备进行通信,这些网络为诸如互联网(也被称为万维 网(WWW))、内联网和/或无线网络(诸如,蜂窝电话网络、无线局域网 (LAN)和/或城域网(MAN))。RF电路208可选地包括用于诸如通过近程通 信无线电部件来检测近场通信(NFC)场的熟知的电路。无线通信可选地使用 多种通信标准、协议和技术中的任一种,包括但不限于全球移动通信系统 (GSM)、增强型数据GSM环境(EDGE)、高速下行链路分组接入(HSDPA)、 高速上行链路分组接入(HSUPA)、演进、纯数据(EV-DO)、HSPA、 HSPA+、双小区HSPA(DC-HSPDA)、长期演进(LTE)、近场通信(NFC)、 宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、 蓝牙低功耗(BTLE)、无线保真(Wi-Fi)(例如,IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、IEEE802.11n和/或IEEE 802.11ac)、互联网协议 语音(VoIP)、Wi-MAX、电子邮件协议(例如,互联网消息访问协议(IMAP) 和/或邮局协议(POP))、即时消息(例如,可扩展消息处理和存在协议 (XMPP)、用于即时消息和存在利用扩展的会话发起协议(SIMPLE)、即时消 息和存在服务(IMPS))和/或短消息服务(SMS),或者任何其他适当的通信 协议,包括在本文档提交日期时尚未开发出的通信协议。
音频电路210、扬声器211和麦克风213提供用户与设备200之间的音 频接口。音频电路210从外围设备接口218接收音频数据,将音频数据转 换为电信号,并将电信号传输到扬声器211。扬声器211将电信号转换为人 类可听到的声波。音频电路210还接收由麦克风213从声波转换的电信 号。音频电路210将电信号转换为音频数据,并且将音频数据传输到外围 设备接口218以用于处理。音频数据通过外围设备接口218检索自和/或传 输至存储器202和/或RF电路208。在一些实施方案中,音频电路210还包 括耳麦插孔(例如,图3中的312)。该耳麦插孔提供音频电路210与可移 除的音频输入/输出外围设备之间的接口,该可移除的音频输入/输出外围设 备诸如仅输出的耳机或者具有输出(例如,单耳耳机或双耳耳机)和输入 (例如,麦克风)两者的耳麦。
I/O子系统206将设备200上的输入/输出外围设备诸如触摸屏212和 其他输入控制设备216耦接到外围设备接口218。I/O子系统206可选地包 括显示控制器256、光学传感器控制器258、深度相机控制器269、强度传 感器控制器259、触觉反馈控制器261,以及用于其他输入或控制设备的一 个或多个输入控制器260。该一个或多个输入控制器260从其他输入控制设 备216接收电信号/将电信号发送到该其他输入控制设备。其他输入控制设 备216可选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、 滑动开关、操纵杆、点击轮等。在一些另选实施方案中,输入控制器260 可选地耦接至以下各项中的任一者(或不耦接至以下各项中的任一者): 键盘、红外线端口、USB端口以及指向设备诸如鼠标。所述一个或多个按 钮(例如,图3中的308)可选地包括用于扬声器211和/或麦克风213的 音量控制的增大/减小按钮。所述一个或多个按钮可选地包括下压按钮(例 如,图3中的306)。
快速按压下压按钮可选地解除对触摸屏212的锁定或者可选地开始使 用触摸屏上的手势来对设备进行解锁的过程,如2005年12月23日提交的 名称为“Unlocking aDevice by Performing Gestures on an Unlock Image”的 美国专利申请11/322,549(即美国专利No.7,657,849)中所述,该专利据此 全文以引用方式并入。长按下压按钮(例如306)可选地使设备200开机或 关机。按钮中的一个或多个按钮的功能可选地可以由用户定制。触摸屏212 用于实现虚拟按钮或软按钮以及一个或多个软键盘。
触敏显示器212提供设备和用户之间的输入接口和输出接口。显示控 制器256从触摸屏212接收电信号和/或将电信号发送到触摸屏112。触摸 屏212向用户显示视觉输出。视觉输出可选地包括图形、文本、图标、视 频和它们的任何组合(统称为“图形”)。在一些实施方案中,一些视觉 输出或全部的视觉输出可选地与用户界面对象对应。
触摸屏212具有基于触觉和/或触感接触来接受来自用户的输入的触敏 表面、传感器、或传感器组。触摸屏212和显示控制器256(与存储器202 中的任何相关联的模块和/或指令集一起)检测触摸屏212上的接触(和该 接触的任何移动或中断),并且将所检测到的接触转换为与被显示在触摸 屏212上的用户界面对象(例如,一个或多个软键、图标、网页或图像) 的交互。在示例性实施方案中,触摸屏212与用户之间的接触点对应于用 户的手指。
触摸屏212可选地使用LCD(液晶显示器)技术、LPD(发光聚合物 显示器)技术或LED(发光二极管)技术,但是在其他实施方案中使用其 他显示技术。触摸屏212和显示控制器256可选地使用现在已知的或以后 将开发出的多种触摸感测技术中的任何技术以及其他接近传感器阵列或用 于确定与触摸屏212接触的一个或多个点的其他元件来检测接触及其任何 移动或中断,该多种触摸感测技术包括但不限于电容性的、电阻性的、红 外线的、和表面声波技术。在示例性实施方案中,使用投射式互电容感测 技术,诸如在来自Apple Inc.(Cupertino,California)的
Figure BDA0002431894650000191
和iPod 
Figure BDA0002431894650000192
中使用的技术。
触摸屏212的一些实施方案中的触敏显示器可选地类似于以下美国专 利中描述的多点触敏触控板:6,323,846(Westerman等人)、6,570,557 (Westerman等人)和/或6,677,932(Westerman等人)和/或美国专利公开 2002/0015024A1,该每个专利据此全文以引用方式并入。然而,触摸屏212 显示来自设备200的视觉输出,而触敏触控板不提供视觉输出。
在一些实施方案中,触摸屏212的触敏显示器如以下专利申请所述: (1)提交于2006年5月2日的名称为“Multipoint Touch Surface Controller” 的美国专利申请11/381,313;(2)2004年5月6日提交的名称为“Multipoint Touchscreen”的美国专利申请10/840,862;(3)2004年7月30日提交的名称 为“Gestures For Touch Sensitive InputDevices”的美国专利申请No. 10/903,964;(4)2005年1月31日提交的名称为“GesturesFor Touch Sensitive Input Devices”的美国专利申请No.11/048,264;(5)2005年1月18日提交的名称为“Mode-Based Graphical User Interfaces For Touch Sensitive InputDevices”的美国专利申请11/038,590;(6)2005年9月16日提交的名 称为“Virtual InputDevice Placement On A Touch Screen User Interface”的 美国专利申请11/228,758;(7)2005年9月16日提交的名称为“Operation Of A Computer With A Touch ScreenInterface”的美国专利申请 11/228,700;(8)2005年9月16日提交的名称为“ActivatingVirtual Keys Of A Touch-Screen Virtual Keyboard”的美国专利申请11/228,737;以及(9)2006 年3月3日提交的名称为“Multi-Functional Hand-Held Device”的美国专利 申请11/367,749。所有这些申请全文以引用方式并入本文。
触摸屏212可选地具有超过100dpi的视频分辨率。在一些实施方案 中,触摸屏具有约160dpi的视频分辨率。用户可选地使用任何合适的物体 或附加物诸如触笔、手指等等来与触摸屏212接触。在一些实施方案中, 将用户界面设计为主要通过基于手指的接触和手势来工作,由于手指在触 摸屏上的接触区域较大,因此这可能不如基于触笔的输入精确。在一些实 施方案中,设备将基于手指的粗略输入转化为精确的指针/光标位置或命令以用于执行用户所期望的动作。
在一些实施方案中,除了触摸屏之外,设备200可选地包括用于激活 或去激活特定功能的触控板。在一些实施方案中,触控板是设备的触敏区 域,与触摸屏不同,该触敏区域不显示视觉输出。触控板可选地是与触摸 屏212分开的触敏表面,或者是由触摸屏形成的触敏表面的延伸部分。
设备200还包括用于为各种部件供电的电力系统262。电力系统262可 选地包括电力管理系统、一个或多个电源(例如,电池、交流电(AC))、 再充电系统、电力故障检测电路、功率转换器或逆变器、电源状态指示符 (例如,发光二极管(LED))以及与便携式设备中的电力的生成、管理和分 配相关联的任何其他部件。
设备200可选地还包括一个或多个光学传感器264。图2A示出了耦接 到I/O子系统206中的光学传感器控制器258的光学传感器。光学传感器 264包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光电晶体 管。光学传感器264可选地从环境接收通过一个或多个透镜而投射的光, 并且将光转换为表示图像的数据。结合成像模块243(也叫做相机模块), 光学传感器264捕获静态图像或视频。在一些实施方案中,光学传感器位 于设备200的后部上,与设备前部上的触摸屏显示器212相背对,使得触 摸屏显示器能够用作用于静态图像和/或视频图像采集的取景器。在一些实 施方案中,光学传感器位于设备的前部上,使得在用户在触摸屏显示器上 查看其他视频会议参与者的同时可选地获取该用户的图像,以用于视频会 议。在一些实施方案中,光学传感器264的位置可由用户改变(例如,通过旋转设备外壳中的透镜和传感器),使得单个光学传感器264与触摸屏 显示器一起使用,以用于视频会议和静态图像和/或视频图像采集两者。
设备200可选地还包括一个或多个深度相机传感器275。图2A示出了 耦接到I/O子系统206中的深度相机控制器269的深度相机传感器。深度相 机传感器275从环境接收数据以从视点(例如,深度相机传感器)创建场 景内的对象(例如,面部)的三维模型。在一些实施方案中,结合成像模 块243(也称为相机模块),深度相机传感器275可选地用于确定由成像模 块243捕获的图像的不同部分的深度图。在一些实施方案中,深度相机传 感器位于设备200的前部,使得在用户在触摸屏显示器上查看其他视频会 议参与者的同时可选地获取具有深度信息的用户图像以用于视频会议,并 且捕捉具有深度图数据的自拍。在一些实施方案中,深度相机传感器275 位于设备的后部,或者设备200的后部和前部。在一些实施方案中,深度 相机传感器275的位置可由用户改变(例如,通过旋转设备外壳中的透镜 和传感器),使得深度相机传感器275与触摸屏显示器一起使用以用于视 频会议和静态图像和/或视频图像采集两者。
在一些实施方案中,深度图(例如,深度图图像)包含与场景中的对 象距视点(例如,相机、光学传感器、深度相机传感器)的距离相关的信 息(例如,值)。在深度图的一个实施方案中,每个深度像素定义视点的 Z轴中其对应的二维像素所在的位置。在一些实施方案中,深度图由像素 组成,其中每个像素由值(例如,0到255)定义。例如,“0”值表示位 于“三维”场景中距离视点(例如,相机、光学传感器、深度相机传感 器)最远处的像素,“255”值表示位于“三维”场景中距离视点最近处的 像素。在其他实施方案中,深度图表示场景中的对象与视点的平面之间的 距离。在一些实施方案中,深度图包括关于深度相机的视野中感兴趣对象 的各种特征的相对深度的信息(例如,用户面部的眼睛、鼻部、嘴巴、耳 朵的相对深度)。在一些实施方案中,深度图包括使设备能够确定感兴趣 对象在z方向上的轮廓的信息。
设备200可选地还包括一个或多个接触强度传感器265。图2A示出了 耦接到I/O子系统206中的强度传感器控制器259的接触强度传感器。接触 强度传感器265可选地包括一个或多个压阻应变仪、电容式力传感器、电 气力传感器、压电力传感器、光学力传感器、电容式触敏表面或其他强度 传感器(例如,用于测量触敏表面上的接触的力(或压力)的传感器)。 接触强度传感器265从环境接收接触强度信息(例如,压力信息或压力信 息的代用物)。在一些实施方案中,至少一个接触强度传感器与触敏表面 (例如,触敏显示器系统212)并置排列或邻近。在一些实施方案中,至少 一个接触强度传感器位于设备200的后部上,与位于设备200的前部上的 触摸屏显示器212相背对。
设备200可选地还包括一个或多个接近传感器266。图2A示出了耦接 到外围设备接口218的接近传感器266。另选地,接近传感器266可选地耦 接到I/O子系统206中的输入控制器260。接近传感器266可选地如以下美 国专利申请中所述的那样执行:11/241,839,名称为“Proximity Detector In Handheld Device”;11/240,788,名称为“ProximityDetector In Handheld Device”;11/620,702,名称为“Using Ambient Light Sensor ToAugment Proximity Sensor Output”;11/586,862,名称为“Automated Response To AndSensing Of User Activity In Portable Devices”;以及11/638,251,名称 为“MethodsAnd Systems For Automatic Configuration Of Peripherals”,这 些美国专利申请据此全文以引用方式并入本文。在一些实施方案中,当多 功能设备被置于用户的耳朵附近时(例如,当用户正在进行电话呼叫 时),接近传感器关闭并且禁用触摸屏212。
设备200可选地还包括一个或多个触觉输出发生器267。图2A示出了 耦接到I/O子系统206中的触觉反馈控制器261的触觉输出发生器。触觉输 出发生器267可选地包括一个或多个电声设备诸如扬声器或其他音频部 件;和/或用于将能量转换成线性运动的机电设备诸如电机、螺线管、电活 性聚合器、压电致动器、静电致动器或其他触觉输出生成部件(例如,用 于将电信号转换成设备上的触觉输出的部件)。接触强度传感器265从触 觉反馈模块233接收触觉反馈生成指令,并且在设备200上生成能够由设 备200的用户感觉到的触觉输出。在一些实施方案中,至少一个触觉输出 发生器与触敏表面(例如,触敏显示器系统212)并置排列或邻近,并且可 选地通过竖直地(例如,向设备200的表面内/外)或侧向地(例如,在与 设备200的表面相同的平面中向后和向前)移动触敏表面来生成触觉输 出。在一些实施方案中,至少一个触觉输出发生器传感器位于设备200的 后部上,与位于设备200的前部上的触摸屏显示器212相背对。
设备200可选地还包括一个或多个加速度计268。图2A示出了耦接到 外围设备接口218的加速度计268。另选地,加速度计268可选地耦接到I/O子系统206中的输入控制器260。加速度计268可选地如以下美国专利 公开中所述的那样执行:美国专利公开20050190059,标题为 “Acceleration-based Theft Detection System for PortableElectronic Devices” 和美国专利公开20060017692,标题为“Methods And ApparatusesFor Operating A Portable Device Based On An Accelerometer”,这两个美国专利 公开均全文以引用方式并入本文。在一些实施方案中,基于对从一个或多 个加速度计接收的数据的分析来在触摸屏显示器上以纵向视图或横向视图 显示信息。设备200可选地除了加速度计268之外还包括磁力仪和GPS (或GLONASS或其他全球导航系统)接收器,以用于获取关于设备200 的位置和取向(例如,纵向或横向)的信息。
在一些实施方案中,存储于存储器202中的软件部件包括操作系统 226、通信模块(或指令集)228、接触/运动模块(或指令集)230、图形模 块(或指令集)232、文本输入模块(或指令集)234、全球定位系统(GPS) 模块(或指令集)235、数字助理客户端模块229以及应用程序(或指令 集)236。此外,存储器202存储数据与模型,诸如用户数据与模型231。 此外,在一些实施方案中,存储器202(图2A)或470(图4)存储设备/ 全局内部状态257,如图2A和图4中所示。设备/全局内部状态257包括以 下中的一者或多者:活动应用程序状态,其指示哪些应用程序(如果有的 话)当前是活动的;显示状态,其指示什么应用程序、视图或其他信息占 据触摸屏显示器212的各个区域;传感器状态,包括从设备的各个传感器 和输入控制设备216获取的信息;以及关于设备的位置和/或姿态的位置信 息。
操作系统226(例如,Darwin、RTXC、LINUX、UNIX、OS X、 iOS、WINDOWS、或嵌入式操作系统诸如VxWorks)包括用于控制和管理 一般系统任务(例如,存储器管理、存储设备控制、电源管理等)的各种 软件部件和/或驱动程序,并且促进各种硬件部件和软件部件之间的通信。
通信模块228有利于通过一个或多个外部端口224来与其他设备进行 通信,并且还包括用于处理由RF电路208和/或外部端口224所接收的数 据的各种软件部件。外部端口224(例如,通用串行总线(USB)、火线等) 适于直接耦接到其他设备,或间接地通过网络(例如,互联网、无线LAN 等)进行耦接。在一些实施方案中,外部端口是与
Figure BDA0002431894650000231
(Apple Inc.的商 标)设备上所使用的30针连接器相同的或类似的和/或与其兼容的多针(例 如,30针)连接器。
接触/运动模块230可选地检测与触摸屏212(结合显示控制器256) 和其他触敏设备(例如,触控板或物理点击式转盘)的接触。接触/运动模 块230包括各种软件部件以用于执行与接触检测相关的各种操作,诸如确 定是否已发生接触(例如,检测手指按下事件)、确定接触强度(例如, 接触的力或压力,或者接触的力或压力的替代物)、确定是否存在接触的 移动并跟踪在触敏表面上的移动(例如,检测一个或多个手指拖动事 件),以及确定接触是否已停止(例如,检测手指抬起事件或接触断 开)。接触/运动模块230从触敏表面接收接触数据。确定接触点的移动可 选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度 (量值和/或方向的改变),所述接触点的移动由一系列接触数据表示。这 些操作可选地被应用于单个接触(例如,一个手指接触)或多个同时接触 (例如,“多触摸”/多个手指接触)。在一些实施方案中,接触/运动模块 230和显示控制器256检测触控板上的接触。
在一些实施方案中,接触/运动模块230使用一组一个或多个强度阈值 来确定操作是否已由用户执行(例如,确定用户是否已“点击”图标)。 在一些实施方案中,根据软件参数来确定强度阈值的至少一个子集(例 如,强度阈值不是由具体物理致动器的激活阈值来确定的,并且可在不改 变设备200的物理硬件的情况下被调节)。例如,在不改变触控板或触摸 屏显示器硬件的情况下,触控板或触摸屏显示器的鼠标“点击”阈值可被 设置为预定义的阈值的大范围中的任一个阈值。另外,在一些具体实施 中,设备的用户提供有用于调节一组强度阈值中的一个或多个强度阈值 (例如,通过调节各个强度阈值和/或通过利用对“强度”参数的系统级点 击来一次调节多个强度阈值)的软件设置。
接触/运动模块230可选地检测由用户进行的手势输入。触敏表面上的 不同手势具有不同的接触模式(例如,所检测到的接触的不同运动、计时 和/或强度)。因此,可选地通过检测特定接触模式来检测手势。例如,检 测手指轻击手势包括检测手指按下事件,然后在与手指按下事件相同的位 置(或基本上相同的位置)处(例如,在图标的位置处)检测手指抬起 (抬离)事件。作为另一个示例,在触敏表面上检测手指轻扫手势包括检 测手指按下事件,然后检测一个或多个手指拖动事件,并且随后检测手指 抬起(抬离)事件。
图形模块232包括用于在触摸屏212或其他显示器上呈现和显示图形 的各种已知的软件部件,包括用于改变所显示的图形的视觉冲击(例如, 亮度、透明度、饱和度、对比度或其他视觉属性)的部件。如本文所用, 术语“图形”包括可被显示给用户的任何对象,非限制性地包括文本、网 页、图标(诸如包括软键的用户界面对象)、数字图像、视频、动画等。
在一些实施方案中,图形模块232存储表示待使用的图形的数据。每 个图形可选地被分配有对应的代码。图形模块232从应用程序等接收用于 指定待显示的图形的一个或多个代码,在必要的情况下还一起接收坐标数 据和其他图形属性数据,并且然后生成屏幕图像数据,以输出至显示控制 器256。
触觉反馈模块233包括用于生成指令的各种软件部件,该指令由触觉 输出发生器267用于响应于用户与设备200的交互而在设备200上的一个 或多个位置处产生触觉输出。
可选地为图形模块232的部件的文本输入模块234提供用于在各种应 用程序(例如,联系人237、电子邮件240、IM 241、浏览器247和需要文 本输入的任何其他应用程序)中输入文本的软键盘。
GPS模块235确定设备的位置,并提供该信息以供在各种应用程序中 使用(例如提供给电话238以供在基于位置的拨号中使用;提供给相机243 作为图片/视频元数据;以及提供给提供基于位置的服务的应用,诸如天气 桌面小程序、本地黄页桌面小程序和地图/导航桌面小程序)。
数字助理客户端模块229包括各种客户端侧数字助理指令,以提供数 字助理的客户端侧功能。例如,数字助理客户端模块229能够通过便携式 多功能设备200的各种用户接口(例如,麦克风213、一个或多个加速度计 268、触敏显示器系统212、一个或多个光学传感器229、其他输入控制设 备216等)接受声音输入(例如,语音输入)、文本输入、触摸输入和/或 手势输入。数字助理客户端模块229还能够通过便携式多功能设备200的 各种输出接口(例如,扬声器211、触敏显示器系统212、一个或多个触觉 输出生成器267等)提供音频形式的输出(例如,语音输出)、视觉形式 的输出和/或触觉形式的输出。例如,将输出提供为语音、声音、警报、文 本消息、菜单、图形、视频、动画、振动和/或以上两者或更多者的组合。在操作期间,数字助理客户端模块229使用RF电路208与DA服务器106 通信。
用户数据与模型231包括与用户相关联的各种数据(例如,用户特定 的词汇数据、用户偏好数据、用户指定的名称发音、来自用户电子通讯录 的数据、待办事项、购物清单等)以提供数字助理的客户端侧功能。此 外,用户数据与模型231包括用于处理用户输入并且确定用户意图的各种 模型(例如,语音识别模型、统计语言模型、自然语言处理模型、知识本 体、任务流模型、服务模型等)。
在一些示例中,数字助理客户端模块229利用便携式多功能设备200 的各种传感器、子系统和外围设备来从便携式多功能设备200的周围环境 采集附加信息,以建立与用户、当前用户交互和/或当前用户输入相关联的 上下文。在一些示例中,数字助理客户端模块229将上下文信息或其子集 与用户输入一起提供至DA服务器106以帮助推断用户意图。在一些示例 中,数字助理还使用上下文信息来确定如何准备输出并将其传送给用户。 上下文信息被称为上下文数据。
在一些示例中,伴随用户输入的上下文信息包括传感器信息,例如照 明、环境噪声、环境温度、周围环境的图像或视频等。在一些示例中,上 下文信息还可包括设备的物理状态,例如设备取向、设备位置、设备温 度、功率电平、速度、加速度、运动模式、蜂窝信号强度等。在一些示例 中,将与DA服务器106的软件状态相关的信息,例如便携式多功能设备200的运行过程、已安装程序、过去和当前的网络活动、后台服务、错误日 志、资源使用等,作为与用户输入相关联的上下文信息提供至DA服务器 106。
在一些示例中,数字助理客户端模块229响应于来自DA服务器106 的请求而选择性地提供存储在便携式多功能设备200上的信息(例如,用 户数据231)。在一些示例中,数字助理客户端模块229还在DA服务器 106请求时引出来自用户经由自然语言对话或其他用户接口的附加输入。数 字助理客户端模块229将该附加输入传送至DA服务器106,以帮助DA服 务器106进行意图推断和/或满足在用户请求中表达的用户意图。
下面结合图7A至图7C对数字助理进行更详细的描述。应当认识到, 数字助理客户端模块229可包括下文所述的数字助理模块726的任意数量 的子模块。
应用程序236可选地包括以下模块(或指令集)或者其子组或超集:
·联系人模块237(有时称作通讯录或联系人列表);
·电话模块238;
·视频会议模块239;
·电子邮件客户端模块240;
·即时消息(IM)模块241;
·健身支持模块242;
·用于静态图像和/或视频图像的相机模块243;
·图像管理模块244;
·视频播放器模块;
·音乐播放器模块;
·浏览器模块247;
·日历模块248;
·桌面小程序模块249,其可选地包括以下各项中的一者或多者:天 气桌面小程序249-1、股票桌面小程序249-2、计算器桌面小程序 249-3、闹钟桌面小程序249-4、词典桌面小程序249-5和由用户获 得的其他桌面小程序,以及用户创建的桌面小程序249-6;
·用于形成用户创建的桌面小程序249-6的桌面小程序创建器模块 250;
·搜索模块251;
·视频和音乐播放器模块252,其合并了视频播放器模块和音乐播放 器模块;
·记事本模块253;
·地图模块254;以及/或者
·在线视频模块255。
可选地存储在存储器202中的其他应用程序236的示例包括其他文字 处理应用程序、其他图像编辑应用程序、绘图应用程序、呈现应用程序、 支持JAVA的应用程序、加密、数字权益管理、语音识别和语音复制。
结合触摸屏212、显示控制器256、接触/运动模块230、图形模块 232、和文本输入模块234,联系人模块237可选地用于管理通讯录或联系 人列表(例如,存储在存储器202或存储器470中的联系人模块237的应 用程序内部状态292中),包括:向通讯录添加一个或多个姓名;从通讯 录删除姓名;将电话号码、电子邮件地址、物理地址或其他信息与姓名关联;将图像与姓名关联;对姓名进行归类和分类;提供电话号码或电子邮 件地址来发起和/或促进通过电话238、视频会议模块239、电子邮件240或 IM 241进行的通信;等等。
结合RF电路208、音频电路210、扬声器211、麦克风213、触摸屏 212、显示控制器256、接触/运动模块230、图形模块232和文本输入模块 234,电话模块238可选地用于输入对应于电话号码的字符序列、访问联系 人模块237中的一个或多个电话号码、修改已输入的电话号码、拨打相应 的电话号码、进行会话以及当会话完成时断开或挂断。如上所述,无线通 信可选地使用多种通信标准、协议和技术中的任一种。
结合RF电路208、音频电路210、扬声器211、麦克风213、触摸屏 212、显示控制器256、光学传感器264、光学传感器控制器258、接触/运 动模块230、图形模块232、文本输入模块234、联系人模块237和电话模 块238,视频会议模块239包括根据用户指令来发起、进行和终止用户与一 个或多个其他参与方之间的视频会议的可执行指令。
结合RF电路208、触摸屏212、显示控制器256、接触/运动模块 230、图形模块232和文本输入模块234,电子邮件客户端模块240包括响 应于用户指令来创建、发送、接收和管理电子邮件的可执行指令。结合图 像管理模块244,电子邮件客户端模块240使得非常容易创建和发送具有由 相机模块243拍摄的静态图像或视频图像的电子邮件。
结合RF电路208、触摸屏212、显示控制器256、接触/运动模块 230、图形模块232和文本输入模块234,即时消息模块241包括用于以下 操作的可执行指令:输入与即时消息对应的字符序列、修改先前输入的字 符、传输相应即时消息(例如,使用短消息服务(SMS)或多媒体消息服务 (MMS)协议以用于基于电话的即时消息或者使用XMPP、SIMPLE、或 IMPS以用于基于互联网的即时消息)、接收即时消息以及查看所接收的即 时消息。在一些实施方案中,所传输和/或接收的即时消息可选地包括图 形、照片、音频文件、视频文件和/或MMS和/或增强消息服务(EMS)中所 支持的其他附件。如本文所用,“即时消息”是指基于电话的消息(例 如,使用SMS或MMS发送的消息)和基于互联网的消息(例如,使用 XMPP、SIMPLE、或IMPS发送的消息)两者。
结合RF电路208、触摸屏212、显示控制器256、接触/运动模块 230、图形模块232、文本输入模块234、GPS模块235、地图模块254和音 乐播放器模块,健身支持模块242包括用于以下各项的可执行指令:创建 健身(例如,具有时间、距离和/或卡路里燃烧目标);与健身传感器(运 动设备)进行通信;接收健身传感器数据;校准用于监视健身的传感器; 为健身选择和播放音乐;以及显示、存储和传输健身数据。
结合触摸屏212、显示控制器256、光学传感器264、光学传感器控制 器258、接触/运动模块230、图形模块232和图像管理模块244,相机模块 243包括用于以下操作的可执行指令:捕获静态图像或视频(包括视频流) 并且将它们存储到存储器202中、修改静态图像或视频的特征,或从存储 器202删除静态图像或视频。
结合触摸屏212、显示控制器256、接触/运动模块230、图形模块 232、文本输入模块234、和相机模块243,图像管理模块244包括用于排 列、修改(例如,编辑)、或以其他方式操控、加标签、删除、呈现(例 如,在数字幻灯片或相册中)、以及存储静态图像和/或视频图像的可执行 指令。
结合RF电路208、触摸屏212、显示控制器256、接触/运动模块 230、图形模块232和文本输入模块234,浏览器模块247包括用于根据用 户指令来浏览互联网,包括搜索、链接至、接收和显示网页或其部分,以 及链接至网页的附件和其他文件的可执行指令。
结合RF电路208、触摸屏212、显示控制器256、接触/运动模块 230、图形模块232、文本输入模块234、电子邮件客户端模块240和浏览 器模块247,日历模块248包括根据用户指令来创建、显示、修改和存储日 历以及与日历相关联的数据(例如,日历条目、待办事项等)的可执行指 令。
结合RF电路208、触摸屏212、显示控制器256、接触/运动模块 230、图形模块232、文本输入模块234和浏览器模块247,桌面小程序模 块249是可选地由用户下载和使用的微型应用程序(例如,天气桌面小程 序249-1、股市桌面小程序249-2、计算器桌面小程序249-3、闹钟桌面小程 序249-4和词典桌面小程序249-5)或由用户创建的微型应用程序(例如,用户创建的桌面小程序249-6)。在一些实施方案中,桌面小程序包括 HTML(超文本标记语言)文件、CSS(层叠样式表)文件和JavaScript文 件。在一些实施方案中,桌面小程序包括XML(可扩展标记语言)文件和 JavaScript文件(例如,Yahoo!桌面小程序)。
结合RF电路208、触摸屏212、显示控制器256、接触/运动模块 230、图形模块232、文本输入模块234和浏览器模块247,桌面小程序创 建器模块250可选地被用户用于创建桌面小程序(例如,将网页的用户指 定部分转变为桌面小程序)。
结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232 和文本输入模块234,搜索模块251包括用于根据用户指令来搜索存储器 202中与一个或多个搜索条件(例如,一个或多个用户指定的搜索词)匹配 的文本、音乐、声音、图像、视频和/或其他文件的可执行指令。
结合触摸屏212、显示控制器256、接触/运动模块230、图形模块 232、音频电路210、扬声器211、RF电路208和浏览器模块247,视频和 音乐播放器模块252包括允许用户下载和回放以一种或多种文件格式(诸 如MP3或AAC文件)存储的所记录的音乐和其他声音文件的可执行指 令,以及用于显示、呈现或以其他方式回放视频(例如,在触摸屏212上 或在经由外部端口224连接的外部显示器上)的可执行指令。在一些实施 方案中,设备200可选地包括MP3播放器诸如iPod(Apple Inc.的商标)的 功能。
结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232 和文本输入模块234,记事本模块253包括用于根据用户指令来创建和管理 记事本、待办事项等的可执行指令。
结合RF电路208、触摸屏212、显示控制器256、接触/运动模块 230、图形模块232、文本输入模块234、GPS模块235和浏览器模块247, 地图模块254可选地根据用户指令来接收、显示、修改和存储地图以及与 地图相关联的数据(例如,驾驶方向、与特定位置处或其附近的商店及其 他兴趣点相关的数据,以及其他基于位置的数据)。
结合触摸屏212、显示控制器256、接触/运动模块230、图形模块 232、音频电路210、扬声器211、RF电路208、文本输入模块234、电子 邮件客户端模块240和浏览器模块247,在线视频模块255包括允许用户访 问、浏览、接收(例如,通过流式传输和/或下载)、回放(例如,在触摸 屏上或经由外部端口224在所连接的外部显示器上)、发送具有至特定在线视频的链接的电子邮件,以及以其他方式管理一种或多种文件格式(诸 如,H.264)的在线视频的指令。在一些实施方案中,使用即时消息模块 241而不是电子邮件客户端模块240来发送特定在线视频的链接。在线视频 应用程序的附加描述可在于2007年6月20日提交的标题为“Portable Multifunction Device,Method,and Graphical User Interface forPlaying Online Videos”的美国临时专利申请60/936,562、和于2007年12月31日提交的标题为“Portable Multifunction Device,Method,and Graphical User Interface forPlaying Online Videos”的美国专利申请11/968,067中找到,这两个专利 申请的内容据此全文以引用方式并入本文。
上述每个模块和应用程序对应于用于执行上述一种或多种功能以及在 本专利申请中所述的方法(例如,本文所述的计算机实现的方法和其他信 息处理方法)的可执行指令集。这些模块(例如,指令集)不必以独立的 软件程序、过程或模块实现,因此这些模块的各种子集可选地在各种实施 方案中组合或以其他方式重新布置。例如,视频播放器模块可选地与音乐 播放器模块组合成单个模块(例如,图2A中的视频和音乐播放器模块 252)。在一些实施方案中,存储器202可选地存储上述模块和数据结构的 子组。此外,存储器202可选地存储上文未描述的附加模块和数据结构。
在一些实施方案中,设备200是该设备上的预定义的一组功能的操作 唯一地通过触摸屏和/或触控板来执行的设备。通过使用触摸屏和/或触控板 作为用于操作设备200的主要输入控制设备,可选地减少设备200上的物 理输入控制设备(例如,下压按钮、拨盘等等)的数量。
唯一地通过触摸屏和/或触控板来执行的预定义的一组功能可选地包括 在用户界面之间的导航。在一些实施方案中,触控板在被用户触摸时将设 备200从设备200上显示的任何用户界面导航到主菜单、home菜单或根菜 单。在此类实施方案中,使用触控板来实现“菜单按钮”。在一些其他实 施方案中,菜单按钮是物理下压按钮或者其他物理输入控制设备,而不是 触控板。
图2B是示出了根据一些实施方案的用于事件处理的示例性部件的框 图。在一些实施方案中,存储器202(图2A)或存储器470(图4)包括事 件分类器270(例如,在操作系统226中)以及相应的应用程序236-1(例 如,前述应用程序237至251、255、480至490中的任一个应用程序)。
事件分类器270接收事件信息并确定要将事件信息递送到的应用程序 236-1和应用程序236-1的应用程序视图291。事件分类器270包括事件监 视器271和事件分配器模块274。在一些实施方案中,应用程序236-1包括 应用程序内部状态292,该应用程序内部状态指示当应用程序是活动的或正 在执行时被显示在触敏显示器212上的一个或多个当前应用程序视图。在 一些实施方案中,设备/全局内部状态257被事件分类器270用来确定哪个(哪些)应用程序当前是活动的,并且应用程序内部状态292被事件分类 器270用来确定要将事件信息递送到的应用程序视图291。
在一些实施方案中,应用程序内部状态292包括附加信息,诸如以下 各项中的一者或多者:当应用程序236-1恢复执行时将被使用的恢复信息、 指示信息正被显示或准备好用于被应用程序236-1显示的用户界面状态信 息、用于使得用户能够返回到应用程序236-1的前一状态或视图的状态队 列,以及用户采取的先前动作的重复/撤销队列。
事件监视器271从外围设备接口218接收事件信息。事件信息包括关 于子事件(例如,作为多点触摸手势一部分的触敏显示器212上的用户触 摸)的信息。外围设备接口218传输其从I/O子系统206或传感器诸如接近 传感器266、一个或多个加速度计268和/或麦克风213(通过音频电路 210)接收的信息。外围设备接口218从I/O子系统206接收的信息包括来 自触敏显示器212或触敏表面的信息。
在一些实施方案中,事件监视器271以预先确定的间隔将请求发送至 外围设备接口218。作为响应,外围设备接口218传输事件信息。在其他实 施方案中,外围设备接口218仅当存在显著事件(例如,接收到高于预先 确定的噪声阈值的输入和/或接收到超过预先确定的持续时间的输入)时才 传输事件信息。
在一些实施方案中,事件分类器270还包括命中视图确定模块272和/ 或活动事件识别器确定模块273。
当触敏显示器212显示多于一个视图时,命中视图确定模块272提供 用于确定子事件已在一个或多个视图内的什么地方发生的软件过程。视图 由用户能够在显示器上看到的控件和其他元素构成。
与应用程序相关联的用户界面的另一方面是一组视图,本文中有时也 称为应用程序视图或用户界面窗口,在其中显示信息并且发生基于触摸的 手势。在其中检测到触摸的(相应应用程序的)应用程序视图可选地对应 于在应用程序的程序化或视图分级结构内的程序化水平。例如,在其中检 测到触摸的最低水平视图可选地被称为命中视图,并且被识别为正确输入 的事件集可选地至少部分地基于初始触摸的命中视图来确定,所述初始触 摸开始基于触摸的手势。
命中视图确定模块272接收与基于触摸的手势的子事件相关的信息。 当应用程序具有以分级结构组织的多个视图时,命中视图确定模块272将 命中视图识别为应当对子事件进行处理的分级结构中的最低视图。在大多 数情况下,命中视图是发起子事件(例如,形成事件或潜在事件的子事件 序列中的第一子事件)在其中发生的最低水平视图。一旦命中视图被命中 视图确定模块272识别,命中视图便通常接收与其被识别为命中视图所针 对的同一触摸或输入源相关的所有子事件。
活动事件识别器确定模块273确定视图分级结构内的哪个或哪些视图 应接收特定子事件序列。在一些实施方案中,活动事件识别器确定模块273 确定仅命中视图应接收特定子事件序列。在其他实施方案中,活动事件识 别器确定模块273确定包括子事件的物理位置的所有视图是活跃参与的视 图,并因此确定所有活跃参与的视图都应接收特定子事件序列。在其他实 施方案中,即使触摸子事件完全被局限到与一个特定视图相关联的区域, 分级结构中的较高视图将仍然保持为活跃参与的视图。
事件分配器模块274将事件信息分配到事件识别器(例如,事件识别 器280)。在包括活动事件识别器确定模块273的实施方案中,事件分配器 模块274将事件信息递送到由活动事件识别器确定模块273确定的事件识 别器。在一些实施方案中,事件分配器模块274在事件队列中存储事件信 息,该事件信息由相应事件接收器282进行检索。
在一些实施方案中,操作系统226包括事件分类器270。另选地,应 用程序236-1包括事件分类器270。在又一个实施方案中,事件分类器270 是独立模块,或者是存储在存储器202中的另一个模块(诸如,接触/运动 模块230)的一部分。
在一些实施方案中,应用程序236-1包括多个事件处理程序290和一 个或多个应用程序视图291,其中的每一个都包括用于处理发生在应用程序 的用户界面的相应视图内的触摸事件的指令。应用程序236-1的每个应用程 序视图291包括一个或多个事件识别器280。通常,相应应用程序视图291 包括多个事件识别器280。在其他实施方案中,事件识别器280中的一个或 多个事件识别器是独立模块的一部分,该独立模块为诸如用户界面工具包 或应用程序236-1从中继承方法和其他属性的更高级别的对象。在一些实施 方案中,相应事件处理程序290包括以下各项中的一者或多者:数据更新 器276、对象更新器277、GUI更新器278和/或从事件分类器270接收的事 件数据279。事件处理程序290利用或调用数据更新器276、对象更新器 277或GUI更新器278来更新应用程序内部状态292。另选地,应用程序视 图291中的一个或多个应用程序视图包括一个或多个相应事件处理程序 290。另外,在一些实施方案中,数据更新器276、对象更新器277和GUI 更新器278中的一者或多者被包括在相应应用程序视图291中。
相应的事件识别器280从事件分类器270接收事件信息(例如,事件 数据279),并且从事件信息识别事件。事件识别器280包括事件接收器 282和事件比较器284。在一些实施方案中,事件识别器280还包括元数据 283和事件传递指令288(其可选地包括子事件递送指令)的至少一个子 集。
事件接收器282从事件分类器270接收事件信息。事件信息包括关于 子事件例如触摸或触摸移动的信息。根据子事件,事件信息还包括附加信 息,诸如子事件的位置。当子事件涉及触摸的运动时,事件信息可选地还 包括子事件的速率和方向。在一些实施方案中,事件包括设备从一个取向 旋转到另一取向(例如,从纵向取向旋转到横向取向,或反之亦然),并 且事件信息包括关于设备的当前取向(也被称为设备姿态)的对应信息。
事件比较器284将事件信息与预定义的事件或子事件定义进行比较, 并且基于该比较来确定事件或子事件,或者确定或更新事件或子事件的状 态。在一些实施方案中,事件比较器284包括事件定义286。事件定义286 包含事件的定义(例如,预定义的子事件序列),例如事件1(287-1)、事件 2(287-2)、以及其他事件。在一些实施方案中,事件(287)中的子事件例 如包括触摸开始、触摸结束、触摸移动、触摸取消和多点触摸。在一个示 例中,事件1(287-1)的定义是被显示对象上的双击。例如,双击包括被显 示对象上的预先确定时长的第一触摸(触摸开始)、预先确定时长的第一 抬离(触摸结束)、被显示对象上的预先确定时长的第二触摸(触摸开 始)以及预先确定时长的第二抬离(触摸结束)。在另一个示例中,事件2 (287-2)的定义是被显示对象上的拖动。例如,拖动包括被显示对象上的预 先确定时长的触摸(或接触)、触摸在触敏显示器212上的移动、以及触 摸的抬离(触摸结束)。在一些实施方案中,事件还包括用于一个或多个 相关联的事件处理程序290的信息。
在一些实施方案中,事件定义287包括对用于相应用户界面对象的事 件的定义。在一些实施方案中,事件比较器284执行命中测试以确定哪个 用户界面对象与子事件相关联。例如,在触敏显示器212上显示三个用户 界面对象的应用程序视图中,当在触敏显示器212上检测到触摸时,事件 比较器284执行命中测试以确定这三个用户界面对象中的哪一个用户界面 对象与该触摸(子事件)相关联。如果每个所显示对象与相应事件处理程 序290相关联,则事件比较器使用该命中测试的结果来确定哪个事件处理 程序290应当被激活。例如,事件比较器284选择与子事件和触发该命中 测试的对象相关联的事件处理程序。
在一些实施方案中,相应事件(287)的定义还包括延迟动作,该延迟动 作延迟事件信息的递送,直到已确定子事件序列确实对应于或不对应于事 件识别器的事件类型。
当相应事件识别器280确定子事件序列不与事件定义286中的任何事 件匹配时,该相应事件识别器280进入事件不可能、事件失败或事件结束 状态,在此之后忽略基于触摸的手势的后续子事件。在这种情况下,对于 命中视图保持活动的其他事件识别器(如果有的话)继续跟踪并处理持续 进行的基于触摸的手势的子事件。
在一些实施方案中,相应事件识别器280包括具有指示事件递送系统 应当如何执行对活跃参与的事件识别器的子事件递送的可配置属性、标记 和/或列表的元数据283。在一些实施方案中,元数据283包括指示事件识 别器彼此如何交互或如何能够交互的可配置属性、标志和/或列表。在一些 实施方案中,元数据283包括指示子事件是否递送到视图或程序化分级结 构中的不同层级的可配置属性、标志和/或列表。
在一些实施方案中,当事件的一个或多个特定子事件被识别时,相应 事件识别器280激活与事件相关联的事件处理程序290。在一些实施方案 中,相应事件识别器280将与事件相关联的事件信息递送到事件处理程序 290。激活事件处理程序290不同于将子事件发送(和延期发送)到相应命 中视图。在一些实施方案中,事件识别器280抛出与所识别的事件相关联 的标记,并且与该标记相关联的事件处理程序290获取该标记并执行预定 义过程。
在一些实施方案中,事件递送指令288包括递送关于子事件的事件信 息而不激活事件处理程序的子事件递送指令。相反,子事件递送指令将事 件信息递送到与子事件序列相关联的事件处理程序或者递送到活跃参与的 视图。与子事件序列或与活跃参与的视图相关联的事件处理程序接收事件 信息并执行预先确定的过程。
在一些实施方案中,数据更新器276创建并更新在应用程序236-1中 使用的数据。例如,数据更新器276对联系人模块237中所使用的电话号 码进行更新,或者对视频播放器模块中所使用的视频文件进行存储。在一 些实施方案中,对象更新器277创建并更新在应用程序236-1中使用的对 象。例如,对象更新器277创建新的用户界面对象或更新用户界面对象的 位置。GUI更新器278更新GUI。例如,GUI更新器278准备显示信息, 并且将显示信息发送到图形模块232用以显示在触敏显示器上。
在一些实施方案中,事件处理程序290包括数据更新器276、对象更 新器277和GUI更新器278,或具有对该数据更新器、该对象更新器和该 GUI更新器的访问权限。在一些实施方案中,数据更新器276、对象更新器 277和GUI更新器278被包括在相应应用程序236-1或应用程序视图291的 单个模块中。在其他实施方案中,它们被包括在两个或更多个软件模块 中。
应当理解,关于触敏显示器上的用户触摸的事件处理的上述论述还适 用于利用输入设备来操作多功能设备200的其他形式的用户输入,并不是 所有用户输入都是在触摸屏上发起的。例如,可选地与单次或多次键盘按 下或按住协作的鼠标移动和鼠标按钮按下;触控板上的接触移动,诸如轻 击、拖动、滚动等;触笔输入;设备的移动;口头指令;检测到的眼睛移 动;生物特征输入;和/或它们的任何组合可选地被用作对应于限定要识别 的事件的子事件的输入。
图3示出了根据一些实施方案的具有触摸屏212的便携式多功能设备 200。触摸屏可选地在用户界面(UI)300内显示一个或多个图形。在本实施 方案以及下文所述的其他实施方案中,用户能够通过例如利用一根或多根 手指302(在图中未按比例绘制)或一支或多支触笔303(在图中未按比例 绘制)在图形上作出手势来选择这些图形中的一个或多个图形。在一些实 施方案中,当用户中断与一个或多个图形的接触时,将发生对一个或多个 图形的选择。在一些实施方案中,手势可选地包括一次或多次轻击、一次 或多次轻扫(从左向右、从右向左、向上和/或向下)和/或已与设备200发 生接触的手指的滚动(从右向左、从左向右、向上和/或向下)。在一些具 体实施中或在一些情况下,不经意地与图形接触不会选择图形。例如,当 与选择对应的手势是轻击时,在应用程序图标上方扫动的轻扫手势可选地 不会选择对应的应用程序。
设备200可选地还包括一个或多个物理按钮,诸如“home”按钮、或 菜单按钮304。如前所述,菜单按钮304可选地用于导航到可选地在设备 200上被执行的一组应用程序中的任何应用程序236。另选地,在一些实施 方案中,菜单按钮被实现为被显示在触摸屏212上的GUI中的软键。
在一些实施方案中,设备200包括触摸屏212、菜单按钮304、用于使 设备开机/关机和用于锁定设备的下压按钮306、一个或多个音量调节按钮 308、用户身份模块(SIM)卡槽310、耳麦插孔312和对接/充电外部端口 224。下压按钮306可选地用于通过压下该按钮并且将该按钮保持在压下状 态持续预定义的时间间隔来对设备进行开/关机;通过压下该按钮并在该预 定义的时间间隔过去之前释放该按钮来锁定设备;和/或对设备进行解锁或发起解锁过程。在另选的实施方案中,设备200还通过麦克风213接受用 于激活或去激活某些功能的语音输入。设备200还可选地包括用于检测触 摸屏212上的接触的强度的一个或多个接触强度传感器265,和/或用于为 设备200的用户生成触觉输出的一个或多个触觉输出发生器267。
图4是根据一些实施方案的具有显示器和触敏表面的示例性多功能设 备的框图。设备400不必是便携式的。在一些实施方案中,设备400为膝 上型计算机、台式计算机、平板电脑、多媒体播放器设备、导航设备、教 育设备(诸如儿童学习玩具)、游戏系统或控制设备(例如,家用控制器 或工业用控制器)。设备400通常包括一个或多个处理单元(CPU)410、一个或多个网络或其他通信接口460、存储器470和用于使这些部件互连的一 条或多条通信总线420。通信总线420可选地包括使系统部件互连并且控制 系统部件之间的通信的电路(有时称作芯片组)。设备400包括具有显示 器440的输入/输出(I/O)接口430,该显示器通常是触摸屏显示器。I/O接口 430还可选地包括键盘和/或鼠标(或其他指向设备)450以及触控板455、 用于在设备400上生成触觉输出的触觉输出发生器457(例如,类似于以上 参考图2A所述的一个或多个触觉输出发生器267)、传感器459(例如, 光学传感器、加速度传感器、接近传感器、触敏传感器,和/或类似于以上 参考图2A所述的一个或多个接触强度传感器265的接触强度传感器)。存 储器470包括高速随机存取存储器,诸如DRAM、SRAM、DDRRAM,或 其他随机存取固态存储器设备;并且可选地包括非易失性存储器,诸如一 个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性 固态存储设备。存储器470可选地包括远离CPU 410定位的一个或多个存 储设备。在一些实施方案中,存储器470存储与便携式多功能设备200(图 2A)的存储器202中存储的程序、模块和数据结构类似的程序、模块和数 据结构或其子集。此外,存储器470可选地存储在便携式多功能设备200 的存储器202中不存在的附加程序、模块和数据结构。例如,设备400的 存储器470可选地存储绘图模块480、呈现模块482、文字处理模块484、 网站创建模块486、盘编辑模块488、和/或电子表格模块490,而便携式多 功能设备200(图2A)的存储器202可选地不存储这些模块。
图4中的上述元素中的每个元素可选地存储于先前提到的存储器设备 的一个或多个存储器设备中。上述模块中的每个模块对应于用于执行上述 功能的指令集。上述模块或程序(例如,指令集)不必被实现为单独的软 件程序、过程或模块,并且因此这些模块的各种子集可选地在各种实施方 案中被组合或以其他方式重新布置。在一些实施方案中,存储器470可选 地存储上述模块和数据结构的子组。此外,存储器470可选地存储上文未 描述的附加模块和数据结构。
现在将注意力转到可选地在例如便携式多功能设备200上实现的用户 界面的实施方案。
图5A示出了根据一些实施方案的便携式多功能设备200上的应用程序 菜单的示例性用户界面。类似的用户界面可选地在设备400上实现。在一 些实施方案中,用户界面500包括以下元件或者其子集或超集:
一个或多个无线通信诸如蜂窝信号和Wi-Fi信号的一个或多个信号强 度指示器502;
·时间504;
·蓝牙指示器505;
·电池状态指示器506;
·具有常用应用程序图标的托盘508,图标诸如:
ο电话模块238的被标记为“电话”的图标516,该图标可选地包 括未接来电或语音留言的数量的指示符514;
ο电子邮件客户端模块240的被标记为“邮件”的图标518,该图 标可选地包括未读电子邮件的数量的指示符510;
ο浏览器模块247的被标记为“浏览器”的图标520;以及
ο视频和音乐播放器模块252(也被称为iPod(Apple Inc.的商标) 模块252)的被标记为“iPod”的图标522;以及
·其他应用程序的图标,诸如:
οIM模块241的被标记为“消息”的图标524;
ο日历模块248的被标记为“日历”的图标526;
ο图像管理模块244的被标记为“照片”的图标528;
ο相机模块243的被标记为“相机”的图标530;
ο在线视频模块255的被标记为“在线视频”的图标532;
ο股市桌面小程序249-2的被标记为“股市”的图标534;
ο地图模块254的被标记为“地图”的图标536;
ο天气桌面小程序249-1的被标记为“天气”的图标538;
ο闹钟桌面小程序249-4的被标记为“时钟”的图标540;
ο健身支持模块242的被标记为“健身支持”的图标542;
ο记事本模块253的被标记为“记事本”的图标544;以及
ο用于设置应用程序或模块的被标记为“设置”的图标546,该图 标提供对设备200及其各种应用程序236的设置的访问。
应当指出的是,图5A中示出的图标标签仅是示例性的。例如,视频 和音乐播放器模块252的图标522可选地被标记为“音乐”或“音乐播放 器”。对于各种应用程序图标可选地使用其他标签。在一些实施方案中, 相应应用程序图标的标签包括与该相应应用程序图标对应的应用程序的名 称。在一些实施方案中,特定应用程序图标的标签不同于与该特定应用程 序图标对应的应用程序的名称。
图5B示出了具有与显示器550(例如,触摸屏显示器212)分开的触 敏表面551(例如,图4的平板或触控板455)的设备(例如,图4的设备 400)上的示例性用户界面。设备400还可选地包括用于检测触敏表面551 上的接触的强度的一个或多个接触强度传感器(例如,传感器457中的一 个或多个传感器)和/或用于为设备400的用户生成触觉输出的一个或多个 触觉输出发生器459。
尽管将参考触摸屏显示器212(其中组合了触敏表面和显示器)上的 输入给出以下示例中的一些示例,但是在一些实施方案中,设备检测与显 示器分开的触敏表面上的输入,如图5B中所示。在一些实施方案中,触敏 表面(例如,图5B中的551)具有与显示器(例如,550)上的主轴(例 如,图5B中的553)对应的主轴(例如,图5B中的552)。根据这些实施方案,设备检测在与显示器上的相应位置对应的位置(例如,在图5B中, 560对应于568并且562对应于570)处的与触敏表面551的接触(例如, 图5B中的560和562)。这样,在触敏表面(例如,图5B中的551)与多 功能设备的显示器(例如,图5B中的550)分开时,由设备在触敏表面上 检测到的用户输入(例如,接触560和562以及它们的移动)被该设备用 于操纵显示器上的用户界面。应当理解,类似的方法可选地用于本文所述 的其他用户界面。
另外,虽然主要是参考手指输入(例如,手指接触、单指轻击手势、 手指轻扫手势)来给出下面的示例,但是应当理解的是,在一些实施方案 中,这些手指输入中的一个或多个手指输入由来自另一输入设备的输入 (例如,基于鼠标的输入或触笔输入)替代。例如,轻扫手势可选地由鼠 标点击(例如,而不是接触),之后是光标沿着轻扫的路径的移动(例如,而不是接触的移动)替代。又如,轻击手势可选地由在光标位于轻击 手势的位置上方时的鼠标点击(例如,代替对接触的检测,之后是停止检 测接触)替代。类似地,当同时检测到多个用户输入时,应当理解的是, 多个计算机鼠标可选地被同时使用,或鼠标和手指接触可选地被同时使 用。
图6A示出了示例性个人电子设备600。设备600包括主体602。在一 些实施方案中,设备600可包括相对于设备200和400(例如,图2A至图 4)所述的特征部中的一些或全部特征部。在一些实施方案中,设备600具 有在下文中称为触摸屏604的触敏显示屏604。作为触摸屏604的替代或补 充,设备600具有显示器和触敏表面。与设备200和400的情况一样,在一些实施方案中,触摸屏604(或触敏表面)可选地包括用于检测所施加的 接触(例如,触摸)强度的一个或多个强度传感器。触摸屏604(或触敏表 面)的一个或多个强度传感器可提供表示触摸的强度的输出数据。设备600 的用户界面基于触摸强度来对触摸作出响应,这意味着不同强度的触摸可 调用设备600上的不同的用户界面操作。
用于检测和处理触摸强度的示例性技术见于例如以下相关专利申请 中:2013年5月8日提交的名称为“Device,Method,and Graphical User Interface for DisplayingUser Interface Objects Corresponding to an Application”的国际专利申请序列No.PCT/US2013/040061,发布为WIPO 专利公开No.WO/2013/169849;以及2013年11月11日提交的名称为 “Device,Method,and Graphical User Interface for TransitioningBetween Touch Input to Display Output Relationships”的国际专利申请序列No.PCT/US2013/069483,发布为WIPO专利公开No.WO/2014/105276,该每 个专利申请据此全文以引用方式并入。
在一些实施方案中,设备600具有一个或多个输入机构606和608。输 入机构606和608(如果包括的话)可以是物理形式的。物理输入机构的示 例包括下压按钮和可旋转机构。在一些实施方案中,设备600具有一个或 多个附接机构。此类附接机构(如果包括的话)可允许将设备600与例如 帽子、眼镜、耳环、项链、衬衣、夹克、手镯、表带、手链、裤子、皮带、鞋子、钱包、背包等附接。这些附接机构允许用户穿戴设备600。
图6B示出了示例性个人电子设备600。在一些实施方案中,设备600 可选地包括参考图2A、图2B和图4所述的部件中的一些或全部部件。设 备600具有总线612,该总线将I/O部分614与一个或多个计算机处理器 616和存储器618操作性地耦接。I/O部分614可选地连接到显示器604, 该显示器可具有触敏部件622并且可选地具有强度传感器624(例如,接触强度传感器)。此外,I/O部分614可选地与通信单元630连接,以用于使 用Wi-Fi、蓝牙、近场通信(NFC)、蜂窝和/或其他无线通信技术来接收应用 程序和操作系统数据。设备600可选地包括输入机构606和/或输入机构 608。例如,输入机构606可选地是可旋转输入设备或者可按压输入设备以 及可旋转输入设备。在一些示例中,输入机构608可选地是按钮。
在一些示例中,输入机构608可选地是麦克风。个人电子设备600可 选地包括各种传感器,诸如GPS传感器632、加速度计634、定向传感器 640(例如,罗盘)、陀螺仪636、运动传感器638和/或它们的组合,所有 这些设备均可选地可操作地连接到I/O部分614。
个人电子设备600的存储器618可包括用于存储计算机可执行指令的 一种或多种非暂态计算机可读存储介质,该指令当由一个或多个计算机处 理器616执行时,例如使得计算机处理器执行上述技术和过程。该计算机 可执行指令也例如在任何非暂态计算机可读存储介质内进行存储和/或传 送,以供指令执行系统、装置或设备诸如基于计算机的系统、包含处理器 的系统或可从指令执行系统、装置或设备获取指令并执行指令的其他系统使用或与其结合。在一些实施例中,存储介质是非暂态计算机可读存储介 质。非暂态计算机可读存储介质可以是任何类型的存储装置,包括但不限 于磁存储装置、光学存储装置和/或半导体存储装置。此类存储装置的示例 包括磁盘、基于CD、DVD或蓝光技术的光盘,以及持久性固态存储器诸 如闪存、固态驱动器等。个人电子设备600不限于图6B的部件和配置,而 是可包括多种配置中的其他部件或附加部件。
如本文所用,术语“示能表示”是指可选地在设备200、400、600、 800、1000、1600和/或1800的显示屏上显示的用户交互式图形用户界面对 象(图2A、图4,以及图6A至图6B、图8A至图8AF、图10A至图 10AJ、图16A至图16S、图18A至图18D)。例如,图像(例如,图 标)、按钮和文本(例如,超链接)可选地各自构成示能表示。
如本文所用,术语“焦点选择器”是指用于指示用户正与之进行交互 的用户界面的当前部分的输入元件。在包括光标或其他位置标记的一些具 体实施中,光标充当“焦点选择器”,使得当光标在特定用户界面元素 (例如,按钮、窗口、滑块或其他用户界面元素)上方时在触敏表面(例 如,图4中的触控板455或图5B中的触敏表面551)上检测到输入(例如,按压输入)的情况下,该特定用户界面元素根据所检测到的输入而被 调节。在包括能够实现与触摸屏显示器上的用户界面元素的直接交互的触 摸屏显示器(例如,图2A中的触敏显示器系统212或图5A中的触摸屏 212)的一些具体实施中,在触摸屏上所检测到的接触充当“焦点选择 器”,使得当在触摸屏显示器上在特定用户界面元素(例如,按钮、窗 口、滑块或其他用户界面元素)的位置处检测到输入(例如,由接触进行 的按压输入)时,该特定用户界面元素根据所检测到的输入而被调节。在 一些具体实施中,焦点从用户界面的一个区域移动到用户界面的另一个区 域,而无需光标的对应移动或触摸屏显示器上的接触的移动(例如,通过 使用制表键或箭头键将焦点从一个按钮移动到另一个按钮);在这些具体实施中,焦点选择器根据焦点在用户界面的不同区域之间的移动而移动。 不考虑焦点选择器所采取的具体形式,焦点选择器通常是由用户控制的以 便递送与用户界面的用户预期的交互(例如,通过向设备指示用户界面的 用户期望与其进行交互的元素)的用户界面元素(或触摸屏显示器上的接 触)。例如,在触敏表面(例如,触控板或触摸屏)上检测到按压输入 时,焦点选择器(例如,光标、接触或选择框)在相应按钮上方的位置将 指示用户期望激活相应按钮(而不是设备显示器上示出的其他用户界面元 素)。
如说明书和权利要求中所使用的,接触的“特征强度”这一术语是指 基于接触的一个或多个强度的接触的特征。在一些实施方案中,特征强度 基于多个强度样本。特征强度可选地基于相对于预定义事件(例如,在检 测到接触之后,在检测到接触抬离之前,在检测到接触开始移动之前或之 后,在检测到接触结束之前,在检测到接触的强度增大之前或之后和/或在 检测到接触的强度减小之前或之后)而言在预先确定的时间段(例如,0.05秒、0.1秒、0.2秒、0.5秒、1秒、2秒、5秒、10秒)期间采集的预定义数 量的强度样本或一组强度样本。接触的特征强度可选地基于以下各项中的 一者或多者:接触强度的最大值、接触强度的均值、接触强度的平均值、 接触强度的前10%处的值、接触强度的半最大值、接触强度的90%最大值 等。在一些实施方案中,在确定特征强度时使用接触的持续时间(例如,在特征强度是接触的强度在时间上的平均值时)。在一些实施方案中,将 特征强度与一组一个或多个强度阈值进行比较,以确定用户是否已执行操 作。例如,该组一个或多个强度阈值可选地包括第一强度阈值和第二强度 阈值。在该示例中,特征强度未超过第一阈值的接触导致第一操作,特征 强度超过第一强度阈值但未超过第二强度阈值的接触导致第二操作,而特 征强度超过第二阈值的接触导致第三操作。在一些实施方案中,使用特征 强度与一个或多个阈值之间的比较来确定是否要执行一个或多个操作(例 如,是执行相应操作还是放弃执行相应操作),而不是用于确定执行第一 操作还是第二操作。
图6C示出了利用多个强度传感器624A至624D检测触敏显示屏604 上的多个接触652A至652E。图6C还包括强度图,其相对于强度单位示出 了强度传感器624A至624D的当前强度测量值。在该示例中,强度传感器 624A和624D的强度测量值均是9个强度单位,并且强度传感器624B和 624C的强度测量值均是7个强度单位。在一些具体实施中,累积强度是多个强度传感器624A至624D的强度测量值之和,在该示例中是32个强度单 位。在一些实施方案中,每个接触都被分配了相应强度,即累积强度的一 部分。图6D示出了基于其与力654中心的距离而向接触652A至652E分 配累积强度。在该示例中,接触652A、652B和652E中的每个接触都被分 配以累积强度的8个强度单位的接触的强度,并且接触652C和652D中的 每个接触都被分配以累积强度的4个强度单位的接触的强度。更一般地, 在一些具体实施中,每个接触j都根据预定义的数学函数Ij=A·(Dj/ΣDi) 被分配相应强度Ij,其为累积强度A的一部分,其中Dj是相应接触j距力 中心的距离,并且ΣDi是所有相应接触(例如,i=1到最后)距力中心的距 离之和。可以利用类似于或等同于设备104、200、400或600的电子设备执行参考图6C至图6D所述的操作。在一些实施方案中,接触的特征强度 基于接触的一个或多个强度。在一些实施方案中,强度传感器用于确定单 个特征强度(例如,单个接触的单个特征强度)。应当指出,强度图不是 所显示用户界面的部分,而是包括在图6C至图6D中以帮助读者。
在一些实施方案中,识别手势的一部分以用于确定特征强度。例如, 触敏表面可选地接收连续的轻扫接触,该连续的轻扫接触从起始位置过渡 并到达结束位置,在该结束位置处,接触强度增加。在该示例中,接触在 结束位置处的特征强度可选地仅基于连续轻扫接触的一部分,而不是整个 轻扫接触(例如,仅结束位置处的轻扫接触的部分)。在一些实施方案 中,在确定接触的特征强度之前可选地向轻扫接触的强度应用平滑算法。 例如,平滑化算法可选地包括以下各项中的一种或多种:不加权滑动平均 平滑化算法、三角平滑化算法、中值滤波器平滑化算法和/或指数平滑化算 法。在一些情况下,这些平滑化算法消除了轻扫接触的强度中的窄的尖峰 或凹陷,以实现确定特征强度的目的。
可选地相对于一个或多个强度阈值诸如接触检测强度阈值、轻按压强 度阈值、深按压强度阈值和/或一个或多个其他强度阈值来表征触敏表面上 的接触强度。在一些实施方案中,轻按压强度阈值对应于这样的强度:在 该强度下设备将执行通常与点击物理鼠标或触控板的按钮相关联的操作。 在一些实施方案中,深按压强度阈值对应于这样的强度:在该强度下设备 将执行与通常与点击物理鼠标或触控板的按钮相关联的操作不同的操作。 在一些实施方案中,当检测到特征强度低于轻按压强度阈值(例如,并且 高于标称接触检测强度阈值,比标称接触检测强度阈值低的接触不再被检 测到)的接触时,设备将根据接触在触敏表面上的移动来移动焦点选择 器,而不执行与轻按压强度阈值或深按压强度阈值相关联的操作。一般来 讲,除非另有陈述,否则这些强度阈值在不同组的用户界面附图之间是一 致的。
接触特征强度从低于轻按压强度阈值的强度增大到介于轻按压强度阈 值与深按压强度阈值之间的强度有时被称为“轻按压”输入。接触特征强 度从低于深按压强度阈值的强度增大到高于深按压强度阈值的强度有时被 称为“深按压”输入。接触特征强度从低于接触检测强度阈值的强度增大 到介于接触检测强度阈值与轻按压强度阈值之间的强度有时被称为检测到 触摸表面上的接触。接触特征强度从高于接触检测强度阈值的强度减小到 低于接触检测强度阈值的强度有时被称为检测到接触从触摸表面抬离。在 一些实施方案中,接触检测强度阈值为零。在一些实施方案中,接触检测 强度阈值大于零。
在本文中所述的一些实施方案中,响应于检测到包括相应按压输入的 手势或响应于检测到利用相应接触(或多个接触)执行的相应按压输入来 执行一个或多个操作,其中至少部分地基于检测到该接触(或多个接触) 的强度增大到高于按压输入强度阈值而检测到相应按压输入。在一些实施 方案中,响应于检测到相应接触的强度增大到高于按压输入强度阈值(例 如,相应按压输入的“向下冲程”)来执行相应操作。在一些实施方案 中,按压输入包括相应接触的强度增大到高于按压输入强度阈值以及该接 触的强度随后减小到低于按压输入强度阈值,并且响应于检测到相应接触 的强度随后减小到低于按压输入阈值(例如,相应按压输入的“向上冲 程”)来执行相应操作。
图6E至图6H示出了对手势的检测,手势包括与接触662的强度从低 于图6E中的轻按压强度阈值(例如,“ITL”)的强度增大到高于图6H中 的深按压强度阈值(例如,“ITD”)的强度对应的按压输入。在所显示的 包括预定义区域674中显示的应用图标672A至672D的用户界面670上, 在与应用2对应的应用图标672B上方显示光标676的同时,在触敏表面 660上检测利用接触662执行的手势。在一些实施方案中,在触敏显示器 604上检测到手势。强度传感器检测触敏表面660上的接触的强度。该设备 确定接触662的强度在深按压强度阈值(例如,“ITD”)以上达到峰值。 在触敏表面660上保持接触662。响应于检测到手势,并且根据在手势期间 强度升高到深按压强度阈值(例如,“ITD”)以上的接触662,显示最近 为应用2打开的文档的尺度减小的表示678A至678C(例如,缩略图), 如图6F至图6H所示。在一些实施方案中,与一个或多个强度阈值相比, 强度是接触的特征强度。应当指出,针对接触662的强度图不是所显示用 户界面的部分,而是包括在图6E至图6H中以帮助读者。
在一些实施方案中,表示678A至678C的显示包括动画。例如,表示 678A一开始显示于应用图标672B的附近,如图6F所示。随着动画的进 行,表示678A向上移动,并在应用图标672B附近显示表示678B,如图 6G中所示。然后,表示678A向上移动,678B向着表示678A向上移动, 并且在应用图标672B附近显示表示678C,如图6H中所示。表示678A至 678C形成图标672B上方的阵列。在一些实施方案中,动画根据接触662 的强度进展,如图6F至图6G中所示,其中表示678A至678C出现并随着 接触662的强度向深按压强度阈值(例如,“ITD”)增大而向上移动。在 一些实施方案中,动画进展所依据的强度是接触的特征强度。可以利用类似于或等同于设备104、200、400或600的电子设备执行参考图6E至图 6H所述的操作。
在一些实施方案中,设备采用强度滞后以避免有时被称为“抖动”的 意外输入,其中设备限定或选择与按压输入强度阈值具有预定义关系的滞 后强度阈值(例如,滞后强度阈值比按压输入强度阈值低X个强度单位, 或滞后强度阈值是按压输入强度阈值的75%、90%或某个合理比例)。因 此,在一些实施方案中,按压输入包括相应接触的强度增大到高于按压输 入强度阈值以及该接触的强度随后减小到低于对应于按压输入强度阈值的 滞后强度阈值,并且响应于检测到相应接触的强度随后减小到低于滞后强 度阈值(例如,相应按压输入的“向上冲程”)来执行相应操作。类似 地,在一些实施方案中,仅在设备检测到接触强度从等于或低于滞后强度 阈值的强度增大到等于或高于按压输入强度阈值的强度并且可选地接触强 度随后减小到等于或低于滞后强度的强度时才检测到按压输入,并且响应 于检测到按压输入(例如,根据环境,接触强度增大或接触强度减小)来 执行相应操作。
为了容易解释,可选地,响应于检测到以下各种情况中的任一种情况 而触发对响应于与按压输入强度阈值相关联的按压输入或响应于包括按压 输入的手势而执行的操作的描述:接触强度增大到高于按压输入强度阈 值、接触强度从低于滞后强度阈值的强度增大到高于按压输入强度阈值的 强度、接触强度减小到低于按压输入强度阈值、和/或接触强度减小到低于 与按压输入强度阈值对应的滞后强度阈值。另外,在将操作描述为响应于检测到接触的强度减小到低于按压输入强度阈值而执行的示例中,可选地 响应于检测到接触的强度减小到低于对应于并且小于按压输入强度阈值的 滞后强度阈值来执行操作。
如本文所用,“已安装的应用程序”是指已下载到电子设备(例如, 设备100、200、400和/或600)上并准备好在设备上启动(例如,变为打 开的)的软件应用程序。在一些实施方案中,下载的应用利用安装程序而 变为已安装的应用,安装程序从下载的软件包提取程序部分并将提取的部 分与计算机系统的操作系统集成。
如本文所用,术语“打开的应用”或“执行中的应用”是指具有保持 状态信息(例如,作为设备/全局内部状态157和/或应用内部状态192的一 部分)的软件应用。打开的或执行中的应用是可选地以下类型的应用中的 任一者:
·活动应用程序,其当前显示在正使用该应用程序的设备的显示屏 上;
·后台应用程序(或后台进程),其当前未显示但该应用程序的一个 或多个进程正由一个或多个处理器处理;以及
·暂停或休眠的应用程序,其没有运行但具有存储在存储器(分别有 易失性和非易失性的)中并可用于恢复该应用程序的执行的状态信 息。
如本文所用,术语“关闭的应用程序”是指不具有保持状态信息的软 件应用程序(例如,关闭的应用程序的状态信息不被存储在设备的存储器 中)。因此,关闭应用包括停止和/或移除应用的应用进程以及从设备的存 储器移除应用的状态信息。一般来讲,当在第一应用中时,打开第二应用 并不关闭第一应用。在显示第二应用并且第一应用停止显示时,第一应用 变为后台应用。
3.数字助理系统
图7A示出了根据各种示例的数字助理系统700的框图。在一些示例 中,数字助理系统700在独立式计算机系统上实现。在一些示例中,数字 助理系统700跨多个计算机分布。在一些示例中,数字助理的模块和功能 中的一些模块和功能被划分成服务器部分和客户端部分,其中客户端部分 位于一个或多个用户设备(例如,设备104、122、200、400、600、800、 1000、1404、1600、1800)上并通过一个或多个网络来与服务器部分(例 如,服务器系统108)进行通信,例如,如图1所示。在一些示例中,数字 助理系统700是图1中所示的服务器系统108(和/或DA服务器106)的具 体实施。应当指出,数字助理系统700仅为数字助理系统的一个示例,且 该数字助理系统700具有比所示更多或更少的部件、组合两个或更多个部 件,或者可具有部件的不同配置或布局。图7A中所示的各种部件在硬件、 用于在由一个或多个处理器执行的软件指令、固件(包括一个或多个信号 处理集成电路和/或专用集成电路),或它们的组合中实现。
数字助理系统700包括存储器702、输入/输出(I/O)接口706、网络通 信接口708,以及一个或多个处理器704。这些部件可通过一条或多条通信 总线或信号线710彼此通信。
在一些示例中,存储器702包括非暂态计算机可读介质,诸如高速随 机存取存储器和/或非易失性计算机可读存储介质(例如,一个或多个磁盘 存储设备、闪存存储器设备或其他非易失性固态存储器设备)。
在一些示例中,I/O接口706将数字助理系统700的输入/输出设备716 诸如显示器、键盘、触摸屏和麦克风耦接至用户界面模块722。I/O接口 706与用户界面模块722一起接收用户输入(例如,语音输入、键盘输入、 触摸输入等)并相应地对这些输入进行处理。在一些示例中,例如,当数 字助理在独立式用户设备上实现时,数字助理系统700包括相对于图2A、 图4、图6A至图6H、图12和图14中各自的设备200、400、600、1200和 1404所描述的部件和I/O通信接口中的任一者。在一些示例中,数字助理 系统700表示数字助理具体实施的服务器部分,并且可通过位于用户设备 (例如,设备104、200、400、600、800、1000、1404、1600、1800)上的 客户端侧部分来与用户进行交互。
在一些示例中,网络通信接口708包括一个或多个有线通信端口712 和/或无线传输和接收电路714。一个或多个有线通信端口经由一个或多个 有线接口例如以太网、通用串行总线(USB)、FIREWIRE等接收和发送通信 信号。无线电路714从通信网络及其他通信设备接收RF信号和/或光学信 号以及将RF信号和/或光学信号发送至通信网络及其他通信设备。无线通 信使用多种通信标准、协议和技术中的任一种,诸如GSM、EDGE、 CDMA、TDMA、蓝牙、Wi-Fi、VoIP、Wi-MAX、或任何其他合适的通信 协议。网络通信接口708使数字助理系统700通过网络,诸如互联网、内 联网和/或无线网络诸如蜂窝电话网络、无线局域网(LAN)和/或城域网 (MAN),与其他设备之间的通信成为可能。
在一些示例中,存储器702或存储器702的计算机可读存储介质存储 程序、模块、指令和数据结构,包括以下内容中的全部或其子集:操作系 统718、通信模块720、用户界面模块722、一个或多个应用程序724和数 字助理模块726。具体地,存储器702或存储器702的计算机可读存储介质 存储用于执行上述过程的指令。一个或多个处理器704执行这些程序、模 块和指令,并从数据结构读取数据或将数据写到数据结构。
操作系统718(例如,Darwin、RTXC、LINUX、UNIX、iOS、OS X、WINDOWS、或嵌入式操作系统诸如VxWorks)包括用于控制和管理 一般系统任务(例如,存储器管理、存储设备控制、电源管理等)的各种 软件部件和/或驱动器,并且有利于各种硬件、固件和软件部件之间的通 信。
通信模块720有利于数字助理系统700与其他设备之间通过网络通信 接口708进行的通信。例如,通信模块720与电子设备(诸如分别在图 2A、图4、图6A至图6B中所示的设备200、400或600)的RF电路208 通信。通信模块720还包括各种部件,用于处理由无线电路714和/或有线 通信端口712所接收的数据。
用户界面模块722经由I/O接口706接收来自用户(例如,来自键 盘、触摸屏、指向设备、控制器和/或麦克风)的命令和/或输入,并在显示 器上生成用户界面对象。用户界面模块722还准备输出(例如,语音、声 音、动画、文本、图标、振动、触觉反馈、光照等)并将其经由I/O接口 706(例如,通过显示器、音频通道、扬声器、触控板等)传送给用户。
应用程序724包括被配置为由所述一个或多个处理器704执行的程序 和/或模块。例如,如果数字助理系统在独立式用户设备上实施,则应用程 序724包括用户应用程序,诸如游戏、日历应用程序、导航应用程序或邮 件应用程序。如果数字助理系统700在服务器上实现,则应用程序724包 括例如资源管理应用程序、诊断应用程序、或调度应用程序。
存储器702还存储数字助理模块726(或数字助理的服务器部分)。 在一些示例中,数字助理模块726包括以下子模块或者其子集或超集:输 入/输出处理模块728、语音转文本(STT)处理模块730、自然语言处理模块 732、对话流处理模块734、任务流处理模块736、服务处理模块738和语 音合成处理模块740。这些模块中的每一者均具有对以下数字助理模块726 的系统或数据与模型中的一者或多者或者其子集或超集的访问权限:知识 本体760、词汇索引744、用户数据748、任务流模型754、服务模型756 和ASR系统758。
在一些示例中,使用在数字助理模块726中实现的处理模块、数据和 模型,数字助理可执行以下中的至少一些:将语音输入转换成文本;识别 在从用户接收的自然语言输入中表达的用户的意图;主动引出并获取完全 推断出用户的意图所需的信息(例如,通过消除字词、游戏、意图的歧义 等);确定用于满足推断出的意图的任务流;以及执行该任务流以满足推 断出的意图。
在一些示例中,如图7B中所示,I/O处理模块728可通过图7A中的 I/O设备716与用户交互或通过图7A中的网络通信接口708与用户设备 (例如,设备104、设备200、设备400或设备600)交互,以获取用户输 入(例如,语音输入)并提供对用户输入的响应(例如,作为语音输 出)。I/O处理模块728随同接收到用户输入一起或在接收到用户输入之后 不久可选地获得与来自用户设备的用户输入相关联的上下文信息。上下文 信息包括特定于用户的数据、词汇,和/或与用户输入相关的偏好。在一些 示例中,该上下文信息还包括在接收到用户请求时的用户设备的软件状态 和硬件状态,和/或在接收到用户请求时与用户的周围环境相关的信息。在 一些示例中,I/O处理模块728还向用户发送与用户请求有关的跟进问题, 并从用户接收回答。在用户请求被I/O处理模块728接收且用户请求包括语 音输入时,I/O处理模块728将语音输入转发至STT处理模块730(或语音 识别器)以进行语音文本转换。
STT处理模块730包括一个或多个ASR系统758。该一个或多个ASR 系统758可处理通过I/O处理模块728接收到的语音输入,以产生识别结 果。每个ASR系统758包括前端语音预处理器。前端语音预处理器从语音 输入中提取代表性特征。例如,前端语音预处理器对语音输入执行傅里叶 变换,以提取表征语音输入的频谱特征作为代表性多维向量的序列。另 外,每个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以供意图推断。
有关语音转文本处理的更多细节在提交于2011年9月20日的名为“Consolidating Speech Recognition Results”的美国实用新型专利申请序列 号13/236,942中有所描述,其全部公开内容以引用方式并入本文。
在一些示例中,STT处理模块730包括可识别字词的词汇和/或经由语 音字母转换模块731访问该词汇。每个词汇字词与语音识别语音字母表中 表示的字词的一个或多个候选发音相关联。具体地,可识别字词的词汇包 括与多个候选发音相关联的字词。例如,该词汇包括与
Figure BDA0002431894650000521
和 
Figure BDA0002431894650000522
的候选发音相关联的字词“tomato”。另外,词汇字词与基于来 自用户的先前语音输入的自定义候选发音相关联。此类自定义候选发音存 储在STT处理模块730中,并且经由设备上的用户配置文件与特定用户相 关联。在一些示例中,字词的候选发音基于字词的拼写以及一个或多个语 言学和/或语音学规则确定。在一些示例中,候选发音手动生成,例如,基 于已知的标准发音而手动生成。
在一些示例中,基于候选发音的普遍性来对候选发音进行排名。例 如,候选发音
Figure BDA0002431894650000523
的排名高于
Figure BDA0002431894650000524
因为前者是更常用的发音 (例如,在所有用户中,对于特定地理区域的用户而言,或者对于任何其 他合适的用户子集而言)。在一些示例中,基于候选发音是否为与用户相 关联的自定义候选发音来对候选发音进行排名。例如,自定义候选发音的 排名高于标准候选发音。这可用于识别具有偏离规范发音的独特发音的专 有名词。在一些示例中,候选发音与一个或多个语音特征诸如地理起源、 国家或种族相关联。例如,候选发音
Figure BDA0002431894650000531
与美国相关联,而候选发音 
Figure BDA0002431894650000532
与英国相关联。此外,候选发音的排名基于存储在设备上的用户 配置文件中的用户的一个或多个特征(例如,地理起源、国家、种族 等)。例如,可从用户配置文件确定该用户与美国相关联。基于用户与美 国相关联,候选发音
Figure BDA0002431894650000533
(与美国相关联)可比候选发音
Figure BDA0002431894650000534
 (与英国相关联)排名更高。在一些示例中,经排名的候选发音中的一个 可被选作预测发音(例如,最可能的发音)。
接收到语音输入时,STT处理模块730被用来(例如,使用声音模 型)确定对应于该语音输入的音素,然后尝试(例如,使用语言模型)确 定匹配该音素的字词。例如,如果STT处理模块730首先识别对应于该语 音输入的一部分的音素序列
Figure BDA0002431894650000535
那么它随后可基于词汇索引744确 定该序列对应于字词“tomato”。
在一些示例中,STT处理模块730使用模糊匹配技术来确定话语中的 字词。因此,例如,STT处理模块730确定音素序列
Figure BDA0002431894650000536
对应于字词 “tomato”,即使该特定音素序列不是该字词的候选音素序列。
数字助理的自然语言处理模块732(“自然语言处理器”)获取由 STT处理模块730生成的n个最佳候选文字表示(“字词序列”或“符号 序列”),并尝试将每个候选文本表示与由数字助理所识别的一个或多个 “可执行意图”相关联。“可执行意图”(或“用户意图”)表示可由数 字助理执行并且可具有在任务流模型754中实现的相关联的任务流的任 务。相关联的任务流是数字助理为了执行任务而采取的一系列经编程的动 作和步骤。数字助理的能力范围取决于已在任务流模型754中实现并存储 的任务流的数量和种类,或换言之,取决于数字助理所识别的“可执行意 图”的数量和种类。然而,数字助理的有效性还取决于助理从以自然语言 表达的用户请求中推断出正确的“一个或多个可执行意图”的能力。
在一些示例中,除从STT处理模块730获取的字词或符号的序列之 外,自然语言处理模块732还例如,从I/O处理模块728接收与用户请求相 关联的上下文信息。自然语言处理模块732可选地使用上下文信息来明 确、补充和/或进一步限定在从STT处理模块730接收的候选文本表示中包 含的信息。上下文信息包括例如用户偏好,用户设备的硬件和/或软件状 态,在用户请求之前、期间或之后不久收集的传感器信息,数字助理与用 户之间的先前交互(例如,对话),等等。如本文所述,在一些示例中, 上下文信息是动态的,并且随对话的时间、位置、内容、以及其他因素而 变化。
在一些示例中,自然语言处理基于例如知识本体760。知识本体760 为包含许多节点的分级结构,每个节点表示“可执行意图”或与“可执行 意图”或其他“属性”中的一者或多者相关的“属性”。如上所述,“可 执行意图”表示数字助理能够执行的任务,即,该任务为“可执行的”或 可被进行的。“属性”代表与可执行意图或另一属性的子方面相关联的参数。知识本体760中可执行意图节点与属性节点之间的连接限定由属性节 点表示的参数如何从属于由可执行意图节点表示的任务。
在一些示例中,知识本体760由可执行意图节点和属性节点组成。在 知识本体760内,每个可执行意图节点直接连接至或通过一个或多个中间 属性节点连接至一个或多个属性节点。类似地,每个属性节点直接连接至 或通过一个或多个中间属性节点连接至一个或多个可执行意图节点。例 如,如图7C所示,知识本体760包括“餐厅预订”节点(即,可执行意图 节点)。属性节点“餐厅”、“日期/时间”(针对预订)和“派对人数”均 直接连接至可执行意图节点(即,“餐厅预订”节点)。
此外,属性节点“菜系”、“价格区间”、“电话号码”和“位置” 是属性节点“餐厅”的子节点,并且均通过中间属性节点“餐厅”连接至 “餐厅预订”节点(即,可执行意图节点)。又如,如图7C所示,知识本体 760还包括“设定提醒”节点(即,另一个可执行意图节点)。属性节点“日 期/时间”(针对设定提醒)和“主题”(针对提醒)均连接至“设定提 醒”节点。由于属性“日期/时间”与进行餐厅预订的任务和设定提醒的任 务二者相关,因此属性节点“日期/时间”连接至知识本体760中的“餐厅 预订”节点和“设定提醒”节点二者。
可执行意图节点连同其链接的属性节点一起,被描述为“域”。在本 讨论中,每个域与相应的可执行意图相关联,并是指与特定可执行意图相 关联的一组节点(以及这些节点之间的关系)。例如,图7C中示出的知识 本体760包括在知识本体760内的餐厅预订域762的示例和提醒域764的示 例。餐厅预订域包括可执行意图节点“餐厅预订”、属性节点“餐厅”、 “日期/时间”和“派对人数”以及子属性节点“菜系”、“价格范围”、 “电话号码”和“位置”。提醒域764包括可执行意图节点“设定提醒” 和属性节点“主题”和“日期/时间”。在一些示例中,知识本体760由多 个域组成。每个域与一个或多个其他域共享一个或多个属性节点。例如, 除了餐厅预订域762和提醒域764之外,“日期/时间”属性节点还与许多 不同域(例如,行程安排域、旅行预订域、电影票域等)相关联。
尽管图7C示出知识本体760内的两个示例性域,但其他域包括例如 “查找电影”、“发起电话呼叫”、“查找方向”、“安排会议”、“发 送消息”以及“提供问题的回答”、“阅读列表”、“提供导航指令”、 “提供针对任务的指令”等。“发送消息”域与“发送消息”可执行意图节点相关联,并且进一步包括属性节点诸如“一个或多个接收人”、“消 息类型”和“消息正文”。属性节点“接收人”进一步例如由子属性节点 诸如“接收人姓名”和“消息地址”来限定。
在一些示例中,知识本体760包括数字助理能够理解并对其起作用的 所有域(以及因而可执行意图)。在一些示例中,知识本体760诸如通过 添加或移除整个域或节点,或者通过修改知识本体760内的节点之间的关 系进行修改。
在一些示例中,将与多个相关可执行意图相关联的节点群集在知识本 体760中的“超级域”下。例如,“旅行”超级域包括与旅行相关的属性 节点和可执行意图节点的群集。与旅行相关的可执行意图节点包括“机票 预订”、“酒店预订”、“汽车租赁”、“获取路线”、“寻找兴趣 点”,等等。同一超级域(例如,“旅行”超级域)下的可执行意图节点 具有许多共用的属性节点。例如,针对“机票预订”、“酒店预订”、 “汽车租赁”、“获取路线”和“寻找兴趣点”的可执行意图节点共享属 性节点“起始位置”、“目的地”、“出发日期/时间”、“到达日期/时 间”和“派对人数”中的一者或多者。
在一些示例中,知识本体760中的每个节点与跟由节点代表的属性或 可执行意图有关的一组字词和/或短语相关联。与每个节点相关联的相应的 一组字词和/或短语是所谓的与节点相关联的“词汇”。将与每个节点相关 联的相应的一组字词和/或短语存储在与由节点所代表的属性或可执行意图 相关联的词汇索引744中。例如,返回图7B,与“餐厅”属性的节点相关 联的词汇包括字词诸如“美食”、“酒水”、“菜系”、“饥饿”、 “吃”、“披萨”、“快餐”、“膳食”等。又如,与“发起电话呼叫” 可执行意图的节点相关联的词汇包括字词和短语诸如“呼叫”、“打电 话”、“拨打”、“与……通电话”、“呼叫该号码”、“打电话给” 等。词汇索引744可选地包括不同语言的字词和短语。
自然语言处理模块732接收来自STT处理模块730的候选文本表示 (例如,一个或多个文本串或一个或多个符号序列),并针对每个候选表 示,确定候选文本表示中的字词涉及哪些节点。在一些示例中,如果发现 候选文本表示中的字词或短语(经由词汇索引744)与知识本体760中的一 个或多个节点相关联,则所述字词或短语“触发”或“激活”那些节点。 基于已激活节点的数量和/或相对重要性,自然语言处理模块732选择可执 行意图中的一个可执行意图作为用户打算使数字助理执行的任务。在一些 示例中,选择具有最多“已触发”节点的域。在一些示例中,选择具有最 高置信度(例如,基于其各个已触发节点的相对重要性)的域。在一些示 例中,基于已触发节点的数量和重要性的组合来选择域。在一些示例中, 在选择节点的过程中还考虑附加因素,诸如数字助理先前是否已正确解译 来自用户的类似请求。
用户数据748包括特定于用户的信息,诸如特定于用户的词汇、用户 偏好、用户地址、用户的默认第二语言、用户的联系人列表,以及每位用 户的其他短期或长期信息。在一些示例中,自然语言处理模块732使用特 定于用户的信息来补充用户输入中所包含的信息以进一步限定用户意图。 例如,针对用户请求“邀请我的朋友参加我的生日派对”,自然语言处理 模块732能够访问用户数据748以确定“朋友”是哪些人以及“生日派 对”将于何时何地举行,而不需要用户在其请求中明确地提供此类信息。
应认识到,在一些示例中,利用一个或多个机器学习机构(例如,神 经网络)来实现自然语言处理模块732。具体地,一个或多个机器学习机构 被配置为接收候选文本表示和与候选文本表示相关联的上下文信息。基于 候选文本表示和相关联的上下文信息,一个或多个机器学习机构被配置为 基于一组候选可执行意图确定意图置信度得分。自然语言处理模块732可 基于所确定的意图置信度得分从一组候选可执行意图中选择一个或多个候 选可执行意图。在一些示例中,还利用知识本体(例如,知识本体760)从 一组候选可执行意图中选择一个或多个候选可执行意图。
基于符号串搜索知识本体的其他细节在提交于2008年12月22日的名 为“Methodand Apparatus for Searching Using An Active Ontology”的美国 实用新型专利申请序列号12/341,743中有所描述,其全部公开内容以引用 方式并入本文。
在一些示例中,一旦自然语言处理模块732基于用户请求识别出可执 行意图(或域),自然语言处理模块732便生成结构化查询以表示所识别 的可执行意图。在一些示例中,结构化查询包括针对可执行意图的域内的 一个或多个节点的参数,并且所述参数中的至少一些参数填充有用户请求 中指定的特定信息和要求。例如,用户说“帮我在寿司店预订晚上7点的 座位。”在这种情况下,自然语言处理模块732能够基于用户输入将可执 行意图正确地识别为“餐厅预订”。根据知识本体,“餐厅预订”域的结 构化查询包括参数诸如{菜系}、{时间}、{日期}、{派对人数}等。在一些 示例中,基于语音输入和使用STT处理模块730从语音输入得出的文本, 自然语言处理模块732针对餐厅预订域生成部分结构化查询,其中部分结 构化查询包括参数{菜系=“寿司类”}以及{时间=“7pm”}。然而,在该 实例中,用户话语包含不足以完成与域相关联的结构化查询的信息。因 此,基于当前可用信息,在结构化查询中未指定其他必要参数诸如{派对人 数}和{日期}。在一些示例中,自然语言处理模块732用所接收的上下文信 息来填充结构化查询的一些参数。例如,在一些示例中,如果用户请求 “附近的”寿司店,自然语言处理模块732用来自用户设备的GPS坐标来 填充结构化查询中的{位置}参数。
在一些示例中,自然语言处理模块732识别针对从STT处理模块730 所接收的每个候选文本表示的多个候选可执行意图。另外,在一些示例 中,针对每个所识别的候选可执行意图生成相应的结构化查询(部分地或全 部地)。自然语言处理模块732确定针对每个候选可执行意图的意图置信 度得分,并基于意图置信度得分对候选可执行意图进行排名。在一些示例 中,自然语言处理模块732将所生成的一个或多个结构化查询(包括任何 已完成的参数)传送至任务流处理模块736(“任务流处理器”)。在一些 示例中,针对m个最佳(例如,m个排名最高的)候选可执行意图的一个 或多个结构化查询被提供给任务流处理模块736,其中m为预先确定的大 于零的整数。在一些示例中,将针对m个最佳候选可执行意图的一个或多 个结构化查询连同对应的一个或多个候选文本表示提供给任务流处理模块736。
基于根据语音输入的多个候选文本表示所确定的多个候选可执行意图 推断用户意图的其他细节在2014年6月6日提交的名称为“System and Method for Inferring UserIntent From Speech Inputs”的美国实用新型专利申 请14/298,725中有所描述,其全部公开内容以引用方式并入本文。
任务流处理模块736被配置为接收来自自然语言处理模块732的一个 或多个结构化查询,(必要时)完成结构化查询,以及执行“完成”用户 最终请求所需的动作。在一些示例中,完成这些任务所必需的各种过程在 任务流模型754中提供。在一些示例中,任务流模型754包括用于获取来 自用户的附加信息的过程,以及用于执行与可执行意图相关联的动作的任 务流。
如上所述,为了完成结构化查询,任务流处理模块736需要发起与用 户的附加对话,以便获取附加信息和/或弄清可能有歧义的话语。当有必要 进行此类交互时,任务流处理模块736调用对话流处理模块734来参与同 用户的对话。在一些示例中,对话流处理器模块734确定如何(和/或何 时)向用户请求附加信息,并且接收和处理用户响应。通过I/O处理模块 728将问题提供给用户并从用户接收回答。在一些示例中,对话流处理模块 734经由可听输出和/或视觉输出向用户呈现对话输出,并经由口头或物理 (例如,点击)响应接收来自用户的输入。继续上述示例,在任务流处理 模块736调用对话流处理模块734来确定针对与域“餐厅预订”相关联的 结构化查询的“派对人数”和“日期”信息时,对话流处理模块734生成 诸如“一行几位?”和“预订哪天?”之类的问题传递给用户。一旦收到来 自用户的回答,对话流处理模块734就用缺失信息填充结构化查询,或将 信息传递给任务流处理模块736以根据结构化查询完成缺失信息。
一旦任务流处理模块736已针对可执行意图完成结构化查询,任务流 处理模块736便开始执行与可执行意图相关联的最终任务。因此,任务流 处理模块736根据结构化查询中包含的特定参数来执行任务流模型中的步 骤和指令。例如,针对可执行意图“餐厅预订”的任务流模型包括用于联 系餐厅并实际上请求在特定时间针对特定派对人数的预订的步骤和指令。 例如,使用结构化查询诸如:{餐厅预订、餐厅=ABC咖啡馆、日期= 3/12/2012、时间=7pm、派对人数=5},任务流处理模块736可执行以下步 骤:(1)登录ABC咖啡馆的服务器或诸如
Figure BDA0002431894650000591
的餐厅预订系统, (2)以网站上的形式输入日期、时间和派对人数信息,(3)提交表单,以及(4) 在用户的日历中形成针对预订的日历条目。
在一些示例中,任务流处理模块736在服务处理模块738(“服务处 理模块”)的辅助下完成用户输入中所请求的任务或者提供用户输入中所 请求的信息性回答。例如,服务处理模块738代表任务流处理模块736发 起电话呼叫、设定日历条目、调用地图搜索、调用用户设备上安装的其他 用户应用程序或与所述其他应用程序进行交互,以及调用第三方服务(例 如,餐厅预订门户网站、社交网站、银行门户网站等)或与第三方服务进 行交互。在一些示例中,通过服务模型756中的相应服务模型指定每项服 务所需的协议和应用程序编程接口(API)。服务处理模块738针对服务访问 适当的服务模型,并依据服务模型根据该服务所需的协议和API生成针对 该服务的请求。
例如,如果餐厅已启用在线预订服务,则餐厅提交服务模型,该服务 模型指定进行预订的必要参数以及将必要参数的值传送至在线预订服务的 API。在被任务流处理模块736请求时,服务处理模块738可使用存储在服 务模型中的Web地址来建立与在线预订服务的网络连接,并将预订的必要 参数(例如,时间、日期、派对人数)以根据在线预订服务的API的格式 发送至在线预订界面。
在一些示例中,自然语言处理模块732、对话流处理模块734以及任 务流处理模块736被共同且反复地使用,以推断并限定用户的意图、获取 信息以进一步明确并细化用户意图并最终生成响应(即,输出至用户,或 完成任务)以满足用户的意图。所生成的响应是至少部分地满足用户意图 的对语音输入的对话响应。另外,在一些示例中,所生成的响应被输出为 语音输出。在这些示例中,所生成的响应被发送到语音合成处理模块740 (例如,语音合成器),其中可处理所生成的响应以将对话响应以语音形 式合成。在其他示例中,所生成的响应是与满足语音输入中的用户请求相 关的数据内容。
在任务流处理模块736接收到来自自然语言处理模块732的多个结构 化查询的示例中,任务流处理模块736首先处理所接收结构化查询的第一 结构化查询以试图完成第一结构化查询和/或执行由第一结构化查询所表示 的一个或多个任务或动作。在一些示例中,第一结构化查询对应于排名最 高的可执行意图。在其他示例中,第一结构化查询选自基于对应的语音识 别置信度得分和对应的意图置信度得分的组合而接收的结构化查询。在一 些示例中,如果任务流处理模块736在第一结构化查询的处理期间(例 如,由于无法确定必要的参数)遇到错误,任务流处理模块736可继续选 择和处理所接收的结构化查询中与排名较低的可执行意图对应的第二结构 化查询。例如基于对应候选文本表示的语音识别置信度得分、对应候选可 执行意图的意图置信度得分、第一结构化查询中的缺失的必要参数或它们 的任何组合来选择第二结构化查询。
语音合成处理模块740被配置为合成用于呈现给用户的语音输出。语 音合成处理模块740基于数字助理提供的文本来合成语音输出。例如,所 生成的对话响应是文本串的形式。语音合成处理模块740将文本串转换成 可听语音输出。语音合成处理模块740使用任何适当语音合成技术,以便 从文本生成语音输出,包括但不限于:拼接合成、单元选择合成、双音素 合成、特定于域的合成、共振峰合成、发音合成、基于隐马尔可夫模型 (HMM)的合成以及正弦波合成。在一些示例中,语音合成处理模块740被 配置为基于对应于这些字词的音素串来合成各个字词。例如,音素串与所 生成的对话响应中的字词相关联。音素串存储在与字词相关联的元数据 中。语音合成处理模块740被配置为直接处理元数据中的音素串,以合成 语音形式的字词。
在一些示例中,替代使用语音合成处理模块740(或除此之外),在 远程设备(例如,服务器系统108)上执行语音合成,并且将合成的语音发 送至用户设备以输出给用户。例如,这可发生在一些具体实施中,其中在 服务器系统处生成数字助理的输出。而且由于服务器系统通常比用户设备 具有更强的处理能力或更多的资源,其有可能获得比客户端侧合成将实现 的质量更高的语音输出。
有关数字助理的附加细节可见于提交于2011年1月10日的名称为 “IntelligentAutomated Assistant”的美国实用新型专利申请12/987,982和提 交于2011年9月30日的名称为“Generating and Processing Task Items That Represent Tasks to Perform”的美国实用新型专利申请13/251,088中,其全 部公开内容以引用方式并入本文。
4.加速任务执行
图8A至图8AF示出了根据一些实施方案的用于在电子设备(例如, 设备104、设备122、设备200、设备600或设备700)上提供建议的示例 性用户界面。这些附图中的用户界面被用于示出包括图9A至图9B中的过 程的下文描述的过程。
图8A示出了电子设备800(例如,设备104、设备122、设备200、 设备600或设备700)。在图8A至图8AF中示出的非限制性示例性实施方 案中,电子设备800是智能电话。在其他实施方案中,电子设备800可以 是不同类型的电子设备,诸如可穿戴设备(例如,智能手表)。在一些示 例中,电子设备800具有显示器801、一个或多个输入设备(例如,显示器801的触摸屏、按钮、麦克风)和无线通信无线电部件。在一些示例中,电 子设备800包括多个相机。在一些示例中,电子设备包括仅一个相机。在 一些示例中,电子设备包括一个或多个生物识别传感器(例如,生物识别 传感器803),其可选地包括相机,诸如红外相机、热成像相机或其组合。
在图8A中,在电子设备处于锁定状态时,电子设备800在显示器801 上显示锁定屏幕界面诸如锁定屏幕界面804。锁定屏幕界面804包括建议示 能表示806和通知808。如图所示,建议示能表示806与名为“咖啡”的应 用程序相关联,并且通知808是与即时消息应用程序相关联的消息通知, 其指示电子设备已经接收到来自存储在电子设备上的联系人(“John Appleseed”)的新消息。在一些示例中,应用程序(例如,第三方应用程 序)可以指定显示建议示能表示的方式。例如,应用程序可以指定建议示 能表示的颜色。在一些示例中,当处于锁定状态时,电子设备800以安全 方式操作。作为示例,当在锁定状态下操作时,电子设备800不显示与建 议示能表示806相关联的任务建议的内容或与通知808相关联的消息。在 一些实施方案中,锁定状态还对应于对访问其他数据(包括其他应用程 序)的约束和/或对可许可输入的限制。
在一些示例中,以第一方式显示建议示能表示806,并且以第二方式 显示通知808。作为示例,使用第一颜色显示建议示能表示806,并且使用 不同于第一颜色的第二颜色显示通知808。作为另一示例,可以使用第一形 状显示建议示能表示806,并且可以使用与第一形状不同的第二形状显示通 知808。
在一些示例中,当在锁定状态下操作时,电子设备验证电子设备的用 户。例如,可以使用生物识别传感器803(例如,面部识别、指纹识别)通 过生物方式验证用户,或者响应于输入有效密码(例如,密码、数字口 令)验证用户。在一些示例中,响应于验证用户,电子设备800转换到解 锁状态并显示锁定屏幕界面810。在一些示例中,在显示锁定屏幕界面810 时,电子设备800显示动画指示电子设备800正从锁定状态转换到解锁状 态(例如,锁定指示符805从锁定状态转换到解锁状态)。
在一些示例中,当在解锁状态下操作时,电子设备800以不安全的方 式操作(例如,验证的用户能够访问安全数据)。作为示例,如图8B所 示,电子设备800显示与建议示能表示806相关联的任务建议的内容和与 通知808相关联的消息。如图所示,与建议示能表示相关联的任务建议的 内容包括指示符812,该指示符指示与任务建议相关联的任务以及与该任务 相关联的一个或多个参数。
在显示锁定屏幕界面810时,电子设备800检测建议示能表示806的 选择(例如,激活)。例如,如图8C所示,该选择是建议示能表示806上 的轻扫手势816。如下面将更详细地描述的,响应于检测到轻扫手势816, 电子设备800选择性地执行与建议示能表示806相关联的任务。如果任务 是第一类型的任务(例如,后台任务),则电子设备800执行任务而无需进一步的用户输入。电子设备800还可以停止显示建议示能表示806,如图 8H所示。
参考图8D,如果任务是与第一类型不同的第二类型的任务,则电子设 备800显示确认界面诸如确认界面820。确认界面820包括任务内容822、 确认示能表示824和取消示能表示826。在一些示例中,任务内容822包括 应用程序指示符828、应用程序图标830和任务指示符832中的一个或多 个。在一些示例中,应用程序指示符828指示与任务相关联的应用程序。 应用程序指示符828包括应用程序的名称(例如,“咖啡”)和/或与应用 程序相关联的图标。应用程序图标830包括与任务相关联的图标(或其他 图像)和/或与任务相关联的应用程序。任务指示符832指示对应于建议示 能表示的任务(“订单”)和/或与任务相关联的一个或多个参数(小杯, 拿铁咖啡,Homestead Rd.Cupertino CA)。
在一些示例中,响应于取消示能表示826的选择,电子设备800停止 显示确认界面820。在一些示例中,应用程序指示符828被实施为应用程序 示能表示,并且响应于应用程序指示符828的选择,电子设备800打开与 任务相关联的应用程序(例如,“咖啡”)。在一些示例中,应用程序图 标830被实施为应用程序示能表示,并且响应于应用程序图标830的选择,电子设备800打开与任务相关联的应用程序。
在一些示例中,打开应用程序包括用一个或多个参数预加载应用程 序。例如,建议示能表示806与使用咖啡应用程序下订单的任务相关联, 并且与该任务相关联的参数包括咖啡的大小(例如,小杯),咖啡的类型 (例如,拿铁咖啡),以及提取订单的地点(位于Cupertino,CA的 Homestead Rd.)。因此,在一些示例中,以这种方式打开应用程序包括代表用户插入任务的一个或多个参数。作为示例,通过选择应用程序指示符 828或应用程序图标830打开应用程序可以使电子设备打开咖啡应用程序, 并且呈现用户可以通过其确认订单(小杯拿铁咖啡,Homestead Rd.位置) 的界面(例如,购物车界面)。在一些示例中,预加载参数使得电子设备 响应于确认执行任务的意图的输入执行任务。这样,可以减少用户使用应 用程序执行特定任务所需的输入的数量。
在一些示例中,应用程序(例如,第三方应用程序)可以指定显示确 认示能表示的方式。例如,应用程序可以指定确认示能表示的颜色。在一 些示例中,在显示确认界面820时,电子设备800检测确认示能表示824 的选择。例如,如图8E所示,该选择是确认示能表示824上的轻扫手势 836。响应于检测到轻扫手势836,电子设备800执行该任务。在一些示例中,在执行任务时,电子设备800可选地显示过程指示符840,指示正在执 行任务。在一些示例中,过程指示符840的显示替换确认示能表示824的 显示。
一旦执行了任务,电子设备800提供指示任务是否成功执行的输出。 在图8G的示例中,任务成功执行,因此电子设备800显示成功指示符 842,指示任务已成功执行。在一些示例中,成功指示符842的显示替换过 程指示符840的显示。在一些示例中,在任务完成之后的预定时间量,电 子设备用锁定屏幕界面810替换确认界面820的显示。如图所示,由于执 行了与建议示能表示806相关联的任务,因此建议示能表示806不包括在 图8H中的锁定屏幕界面810中。
在图8I的示例中,该任务未成功执行,因此电子设备800显示失败界 面844。失败界面844包括重试示能表示846、取消示能表示848和应用程 序示能表示850。失败界面还包括内容852。在一些示例中,响应于重试示 能表示846的选择,电子设备800再次执行任务。在一些示例中,响应于 取消示能表示的选择,电子设备800停止显示失败界面844。在一些示例 中,响应于应用程序示能表示850的选择,电子设备800打开与该任务相 关联的应用程序。内容852可以包括针对任务的信息,例如用于执行任务 的一个或多个参数。在一些示例中,内容852还指定任务是否成功执行。 例如,内容852可指示电子设备未能成功执行任务(例如,“存在问题。 请重新尝试。”)。
在图8J中,建议示能表示806的选择是在建议示能表示806上的轻扫 手势854。响应于检测到轻扫手势854,电子设备800沿着向左方向移位 (例如,滑动)建议示能表示806,以显示(例如,显示出)观看示能表示 856和清除示能表示858,如图8K所示。在一些示例中,响应于查看示能 表示856的选择,电子设备800显示确认界面诸如确认界面820(图 8D)。在一些示例中,响应于清除示能表示858的选择,电子设备800停 止显示建议示能表示806。
在图8L中,建议示能表示806的选择是在建议示能表示806上的轻扫 手势860。响应于检测到轻扫手势860,电子设备800沿着向右方向移位 (例如,滑动)建议示能表示806,以显示(例如,显示出)打开示能表示 862,如图8M所示。在一些示例中,响应于打开示能表示862的选择,电 子设备打开与建议示能表示的任务相关联的应用程序(例如,“咖 啡”)。
在图8N中,电子设备800在显示器801上显示搜索屏幕界面诸如搜索 屏幕界面866。搜索屏幕界面866包括建议的应用程序868和建议示能表示 870、872、874。如图所示,建议示能表示870与即时消息应用程序相关 联,建议示能表示872与电话应用程序相关联,并且建议示能表示874与 媒体回放应用程序相关联。
在一些示例中,建议示能表示可选地包括指示与建议示能表示相关联 的任务的类别的标志符号(例如,标志符号876、878、880)。在一些示例 中,以这种方式指定的类别可包括“货币”、“消息”、“电话”、“视 频”和“媒体”。例如,如果建议示能表示的任务不对应于任务类别,则 可以在没有标志符号的情况下显示建议示能表示(例如,图8A的建议示能 表示806)。在图8N中所示的示例中,建议示能表示870与用于发送文本 消息的任务相关联,并且因此包括指示任务与文本即时消息相关联的即时 消息标志符号876。作为另一示例,建议示能表示872与用于发起电话呼叫 的任务相关联,并且因此包括指示该任务与电话功能相关联的电话标志符 号878。作为又一示例,建议示能表示874与用于回放视频的任务相关联, 并且因此包括指示任务与媒体回放相关联的回放标志符号880。应当理解, 可以使用任意数量类型的标志符号,对应于任意数量的相应任务类别。
图8N至图8P示出了建议的应用程序和建议示能表示可以显示在搜索 屏幕界面中的各种方式。如图8N中所示,在至少一个示例中,建议的应用 程序和建议示能表示可以显示在搜索屏幕界面的相应部分中(例如,部分 882、884)。如图8O中所示,在至少一个示例中,建议的应用程序和建议 示能表示可以显示在搜索屏幕界面的相同部分(例如,部分886)中。如图 8P中所示,在至少一个示例中,建议的应用程序和建议示能表示可以显示 在搜索屏幕界面的相应部分中(例如,部分888、890、892、894)。
在一些示例中,在显示搜索屏幕界面866时,电子设备800检测建议 示能表示例如建议示能表示870的选择。在一些示例中,由于与建议示能 表示870相关联的任务是预先确定类型的任务(例如,后台任务),电子 设备响应于通过第一类型输入(例如,轻击手势)选择建议示能表示870, 执行(例如,自动执行)与建议示能表示870相关联的任务。除此之外或 另选地,响应于通过不同于第一类型的第二类型输入选择示能表示870,电 子设备800显示确认界面请求来自用户的任务确认。
例如,如图8Q所示,该选择是确认示能表示824上的触摸手势896。 在一些示例中,触摸手势896是满足阈值强度和/或阈值持续时间的触摸输 入,使得触摸手势896可以与轻击手势区分开。如图8R所示,响应于检测 到触摸手势896,电子设备800显示确认界面898。确认界面898包括确认 示能表示802A、取消示能表示804A、应用程序指示符806A和内容808A。在一些示例中,取消示能表示804A的选择使得电子设备800停止 显示确认界面898,并且/或者放弃执行与建议示能表示870相关联的任 务。在一些示例中,应用程序指示符806A指示与任务相关联的应用程序。 应用程序指示符806A可包括应用程序的名称(例如,“消息”)和/或与 应用程序相关联的图标。内容808A可以包括针对任务的信息,例如用于执行任务的一个或多个参数。例如,内容808A可以指定文本消息的接收人是 联系人“妈妈”,并且文本消息的文本是“早上好”。在一些示例中,内 容808A可以实施为示能表示。
在显示确认界面898时,电子设备800检测确认示能表示802A的选 择。例如,如图8S所示,该选择是确认示能表示824上的轻击手势 810A。响应于检测到轻击手势810A,电子设备800执行与建议示能表示 870相关联的任务。如图8T所示,在一些示例中,在执行任务时,电子设 备800可选地显示过程指示符812A,指示正在执行任务。在一些示例中, 过程指示符812A的显示替换确认示能表示802A和取消示能表示804A的 显示。
一旦执行了任务,电子设备800提供指示任务是否成功执行的输出。 在图8U的示例中,任务成功执行,因此电子设备800显示成功指示符 814A,指示任务已成功执行(例如,成功发送消息到“妈妈”)。在一些 示例中,成功指示符814A的显示替换过程指示符812A的显示。在一些示 例中,在任务完成之后的预定时间量,电子设备用搜索屏幕界面866替换确认界面898的显示。如图8V所示,由于执行了与建议示能表示870相关 联的任务,因此建议示能表示870不包括在搜索屏幕界面866中。
在一些示例中,在显示确认界面898时,电子设备800检测内容808A 的选择。例如,在图8W中,该选择是内容808A上的轻击手势816A。响 应于检测到轻击手势816A,电子设备800打开与建议示能表示870相关联 的应用程序,如图8X所示。
在一些示例中,以这种方式打开应用程序包括使用与任务相关联的一 个或多个参数预加载应用程序。这样,用户可以使用减少数量的输入在应 用程序内执行任务。作为示例,响应于与建议示能表示870相关联的内容 808A的选择,电子设备800打开即时消息应用程序并使用由建议示能表示 870指定的参数预加载即时消息应用程序。具体地讲,即时消息应用程序可 指向即时消息界面817A,用于向接收人“妈妈”提供消息,并且输入字符串“早上好”可被插入到即时消息应用程序的消息编写字段818A中。
在显示即时消息界面817A时,电子设备800检测发送示能表示820A 的选择。例如,如图8Y所示,该选择是发送示能表示820A上的轻击手势 822A。在图8Z中,响应于检测到轻击手势822A,电子设备800将预加载 的消息(例如,“早上好”)发送给接收人“妈妈”。通过以这种方式预 加载参数,用户可以使用建议示能表示打开应用程序并且以比否则可能情 况更少的输入执行任务。例如,在上述示例中,用户发送文本消息而不必 选择接收人或为该接收人输入消息。
在一些示例中,可以在没有预加载参数的情况下打开应用程序。在图 8AA中,电子设备800在显示器801上显示搜索屏幕界面诸如搜索屏幕界 面826A。搜索屏幕界面826A包括建议的应用程序282A和建议示能表示 830A、832A。如图所示,建议示能表示830A与记事本应用程序相关联, 并且建议示能表示832A与视频电话应用程序相关联。此外,建议示能表示 830A与用于打开记事本应用程序的任务相关联。在一些示例中,对应于记 事本应用程序的任务可能不对应于任务类别,并且因此建议示能表示830A 不包括标志符号。建议示能表示832A与用于发起视频通话(例如,Skype 呼叫)的任务相关联,并且因此包括指示该任务与视频通话功能相关联的 视频标志符号836A。
在显示搜索屏幕界面826A时,电子设备800检测建议示能表示834A 的选择。例如,如图8AA所示,该选择是建议示能表示834A上的轻击手 势834A。在图8AB中,响应于检测到轻击手势834A,电子设备800打开 与建议示能表示830A相关联的记事本应用程序。
在一些示例中,如本文所述,电子设备显示界面的方式取决于电子设 备的类型。在一些示例中,例如,电子设备800可被实施为具有相对小的 显示器的设备,使得界面诸如锁定屏幕界面804或搜索屏幕界面866可能 不适用于显示。因此,在一些示例中,电子设备800可显示先前描述的那 些界面的替代界面。
参考图8AC,例如,电子设备800在显示器801上显示home屏幕界 面850A。Home屏幕界面850A包括建议示能表示852A和通知854A。如 图所示,建议示能表示852A与名为“咖啡”的应用程序相关联,并且通知854A是与日历应用程序相关联的日历通知,其指示用户具有即将发生的事 件(“会议”)。
应当理解,虽然home屏幕界面850A被示出为包括建议示能表示 852A,但是在一些示例中,home屏幕界面850A包括多个建议示能表示 852A。例如,响应于用户输入诸如轻扫手势(例如,向上轻扫手势、向下 轻扫手势),电子设备可显示(例如,显示出)一个或多个附加建议示能 表示。
在显示home屏幕界面850A时,电子设备800检测建议示能表示 852A的选择。例如,如图8AD所示,该选择是建议示能表示858A上的轻 击手势852A。如下面将更详细描述的,响应于检测到轻击手势858A,电 子设备800显示确认界面诸如确认界面820。确认界面820包括应用程序指 示符861A、任务指示符862A、确认示能表示864A和取消示能表示 866A。在一些示例中,应用程序指示符861A指示与任务相关联的应用程 序。应用程序指示符861A可包括应用程序的名称(例如,“咖啡”)和/ 或与应用程序相关联的图标。任务指示符862A指示与应用程序相关联的任 务以及与任务相关联的一个或多个参数(小杯,拿铁咖啡,燕麦奶)。
在一些示例中,响应于取消示能表示866A的选择,电子设备800停止 显示确认界面860A。在一些示例中,在显示确认界面860A时,电子设备 800检测确认示能表示864A的选择。例如,如图8AE所示,该选择是确认 示能表示864A上的轻击手势868A。响应于检测到轻扫手势868A,电子设 备800选择性地执行任务。如果任务是第一类型的任务,电子设备800在 没有进一步用户输入的情况下执行任务,并且可选地,用home屏幕界面 850A替换确认界面860A的显示,如图8AF所示。由于执行了与建议示能 表示852A相关联的任务,因此在home屏幕界面850A中未显示建议界面 852A。如果任务是第二类型的任务,则电子设备800可以在执行任务之前 请求用户确认任务,如所描述的。
图9A至图9B是示出根据一些实施方案的用于提供建议的方法900的 流程图。方法900在具有显示器、一个或多个输入设备(例如,触摸屏、 麦克风、相机)和无线通信无线电(例如,蓝牙连接、WiFi连接、移动宽 带连接诸如4G LTE连接)的设备(例如,设备104、设备122、设备 200、设备600、设备700、设备800)处执行。在一些实施方案中,显示器 是触敏显示器。在一些实施方案中,显示器不是触敏显示器。在一些实施 方案中,电子设备包括多个相机。在一些实施方案中,电子设备包括仅一 个相机。在一些实施方案中,该设备包括一个或多个生物识别传感器,其 可选地包括相机,诸如红外相机、热成像相机或其组合。方法900中的一 些操作可选地被组合,一些操作的次序可选地被改变,并且一些操作可选 地被省略。
如下所述,显示包括建议示能表示的用户界面并且响应于建议示能表 示的选择从而选择性地要求确认以执行任务,这为用户提供了用于在电子 设备上执行任务的易于识别和直观的方法,从而减少了否则执行此类任务 所需的用户输入的数量。因此,以这种方式显示用户界面增强了设备的可 操作性,并且使用户设备界面更高效(例如,通过帮助用户提供适当的输 入并减少操作设备/与设备交互时的用户错误),这又通过使用户能够更快 速且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
在一些示例中,电子设备确定第一组候选任务(902),并且从第一组候 选任务中识别任务(904)。在一些示例中,基于确定电子设备的上下文满足 任务建议标准来识别任务。
在一些示例中,在显示器上显示用户界面之前,电子设备基于电子设 备的第一上下文(例如,描述电子设备的先前使用的上下文数据)确定上 下文标准(例如,任务建议标准)是否已得到满足。在一些示例中,电子 设备确定任务建议是否满足用于显示建议的置信度阈值。在一些示例中, 根据确定已经满足上下文标准(例如,一个或多个任务建议满足置信度阈 值),电子设备确定第一组候选任务。在一些示例中,电子设备基于电子 设备的第二上下文确定是否已经满足启发式标准。在一些示例中,电子设 备的第二上下文指示设备的先前使用和/或与用户相关联的上下文数据(例 如,联系人、日历、位置)。在一些示例中,确定是否已满足启发式标准 包括确定是否已满足用于启发式任务建议的一组条件,使得提供启发式任 务建议来代替建议的任务。在一些示例中,电子设备确定是否已满足上下文标准,然后确定是否已满足启发式标准。在一些示例中,电子设备确定 是否已经满足启发式标准,然后确定是否已满足上下文标准。在一些示例 中,电子设备同时确定是否已满足上下文标准和启发式标准。在一些示例 中,根据确定已经满足启发式标准,电子设备确定与第一组候选任务不同 的第二组候选任务,并从第二组候选任务中识别任务。在一些示例中,根 据确定尚未满足启发式标准并且已满足上下文标准,电子设备从第一组候 选任务中识别任务。在一些示例中,根据确定尚未满足启发式标准并且尚 未满足上下文标准,电子设备放弃确定第一组候选任务并放弃确定第二组 候选任务。
以这种方式提供启发式任务建议允许电子设备除了基于电子设备的上 下文数据之外还基于用户特定的上下文数据(例如,根据如下所述的相应 各组条件)提供任务建议。这允许电子设备向用户提供用于在电子设备上 执行任务的突出任务建议,从而减少以其他方式执行这些任务所需的用户 输入的数量。因此,以这种方式提供启发式任务建议增强了设备的可操作 性,并且使电子设备的使用更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),这又通过使用户能够更快速 且高效地使用设备进一步减少了电力使用并且延长了设备的电池寿命。
在一些示例中,电子设备确定任务是否是第一类型的任务(906)。在一 些示例中,确定任务是否是第一类型的任务包括确定任务是否是后台任务 (例如,可以在没有用户确认和/或附加用户输入的情况下执行的任务)。
在一些示例中,确定任务是否是第一类型的任务包括确定与该任务相 关联的一个或多个参数是否有效。在一些示例中,当任务所需的每个参数 分配有在允许范围内或该参数的值集内的某个值时,并且可选地,任务的 每个可选参数具有在允许范围或参数的集合内的某个值时,或者未赋值 时,任务的参数是有效的。
在一些示例中,电子设备(104、200、600、700、800)在电子设备的 显示器上显示包括与任务相关联的建议示能表示(806、870、872、874、 834A、854A)的用户界面(804、810、866、826A、850A)(908)。在一些 示例中,用户界面是锁定屏幕界面(804、810)。在一些示例中,用户界 面是搜索屏幕界面(866、826A)。在一些示例中,用户界面是用于用户和 数字助理之间的对话的数字助理界面。在一些示例中,建议示能表示是与 电子设备(并且在一些情况下,对应于电子设备的数字助理)提供的任务 建议对应的示能表示。在一些示例中,建议是任务特定的和/或参数特定 的。在一些示例中,基于电子设备的上下文(例如,位置、WiFi连接、 WiFi网络标识符(例如,SSID)、使用历史、时间/日期、耳机连接等)提 供任务建议。在一些示例中,任务建议在视觉上可与电子设备在用户界面 中显示的其他通知区分开。
基于电子设备的上下文提供任务建议允许电子设备根据用户之前对电 子设备的使用和/或电子设备的当前状态提供突出任务建议。因此,减少了 在电子设备上执行任务所需的输入数量和时间量,从而加速了用户与电子 设备的交互。这继而又降低了电力使用并延长了设备的电池寿命。
在一些示例中,在显示器上显示包括与任务相关联的建议示能表示的 用户界面包括:根据任务是第一类型的任务,显示具有标志符号的建议示 能表示;并且根据任务是第二类型的任务,显示不具有标志符号的建议示 能表示。在一些示例中,标志符号指示任务的类型(例如,后台与非后 台,任务是否需要用户确认)。在一些示例中,标志符号是指示任务需要 用户确认的箭头。在一些示例中,标志符号是指示任务是交易的美元符号 (或其他货币符号)。在一些示例中,标志符号由圆圈限定。
在一些示例中,在显示器上显示包括与任务相关联的建议示能表示的 用户界面包括:根据确定任务对应于第一组任务,显示具有第一类型的标 志符号的建议示能表示(910)。在一些示例中,该组任务是一种类别的任 务。在一些示例中,任务类别包括消息任务、电话任务、视频电话任务和 媒体任务。在一些示例中,每组任务对应于一个或多个相应的第一方应用 程序。在一些示例中,每组任务还包括与一个或多个第三方应用程序相对应的任务。在一些示例中,如果任务是对应于特定类别的任务的任务,则 对应于该任务的建议示能表示包括标识该类别的标志符号(876、878、 880、836A)。在一些示例中,在显示器上显示包括与任务相关联的建议示 能表示的用户界面还包括:根据确定任务对应于不同于第一组任务的第二 组任务,显示具有不同于第一类型的第二类型的标志符号的建议示能表示 (912)。在一些示例中,在显示器上显示包括与任务相关联的建议示能表示 的用户界面还包括:根据确定该任务不对应于第一组任务并且不对应于第 二组任务,显示不具有标志符号的建议示能表示(830A)。在一些示例中, 如果任务不对应于一个或多个预定类别的任务,则显示对应于该任务的建 议示能表示不具有标志符号(914)。
在一些示例中,用户界面(804、810)包括通知(808)。通知可以是事 件诸如接收文本消息的通知。在一些示例中,以第一方式显示建议示能表 示(806),并且以不同于第一方式的第二方式显示通知(808)。例如,在一些 示例中,建议示能表示和通知对应于不同的颜色、配色方案和/或图案。在 一些示例中,建议示能表示和通知具有不同的形状和/或尺寸。
如本文所述,以不同方式显示通知和建议示能表示允许用户容易地区 分电子设备显示器上的通知和建议示能表示,从而减少执行任务所需的时 间量。以这种方式减少时间增强了设备的可操作性,并且使用户设备界面 更高效(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互 时的用户错误),这又通过使用户能够更快速且高效地使用设备进一步减 少了电力使用并且延长了设备的电池寿命。
在一些示例中,显示用户界面包括,根据确定电子设备处于锁定状 态,在第一视觉状态下显示建议示能表示。在一些示例中,如果设备被锁 定,电子设备显示与建议示能表示对应的减少量的信息。在一些示例中, 显示用户界面还包括:根据确定电子设备未处于锁定状态,在不同于第一 视觉状态的第二视觉状态下显示建议示能表示。在一些示例中,如果设备 被解锁,则电子设备显示与建议示能表示对应的内容。以这种方式显示的 内容包括但不限于与建议示能表示相关联的应用程序的名称和/或图标,与 建议示能表示的任务相关联的一个或多个参数,以及可选地,指示建议示 能表示的任务类别的标志符号。
在一些示例中,电子设备经由一个或多个输入设备检测对应于建议示 能表示的选择的第一用户输入(816、834A、858A)(916)。在一些示例 中,使用触摸输入、手势或其组合选择建议示能表示。在一些示例中,使 用语音输入选择建议示能表示。在一些示例中,触摸输入是第一类型的输 入,诸如持续时间相对较短或强度相对较低的按压。
在一些示例中,响应于检测到第一用户输入(918),该电子设备根据确 定所述任务是第一类型的任务,执行所述任务(920)。在一些示例中,执行 任务包括使任务由另一电子设备执行。在一些示例中,电子设备是第一类 型的设备(例如,智能手表)并且使得任务在第二类型的设备(例如,移 动电话)上执行。
在一些示例中,进一步响应于检测到第一用户输入(918),根据确定任 务是不同于第一类型的第二类型的任务,电子设备显示包括确认示能表示 的确认界面(820、898、860A)(922)。在一些示例中,第二类型的任务是 在执行任务之前需要用户确认和/或来自用户的附加信息的任务,诸如对应 于交易的任务。在一些示例中,第二类型的任务是由特定类型的设备诸如 智能手表执行的任务。在一些示例中,确认界面与用户界面同时显示。例 如,确认界面可以覆盖在用户界面上。在一些示例中,确认界面显示在用 户界面的第一部分上,并且用户界面的第二部分在视觉上被遮挡(例如, 变暗、模糊)。
响应于建议示能表示的选择从而选择性地要求确认以执行任务,这允 许电子设备快速执行第一类型的任务,并且在执行第二类型的任务之前确 认用户意图。因此,为用户提供了用于在电子设备上快速可靠地执行任务 的直观且可靠的方法,从而减少了执行这些任务所需的用户输入的数量并 加速了任务执行。此类优势继而又减少了执行任务所需的时间量并且使电 子设备的使用更加高效,这又通过使用户能够更快速且有效地使用设备而 减少了电力使用并且延长了设备的电池寿命。
在一些示例中,在显示确认界面(926)时,电子设备检测对应于确认示 能表示(824、802A、864A)的选择的第二用户输入(836、810A、 868A)(928)。在一些示例中,使用触摸输入、手势或其组合选择确认示能 表示。在一些示例中,使用语音输入选择确认示能表示。在一些示例中, 响应于检测到第二用户输入,电子设备执行任务(930)。在一些示例中,在 执行任务时,电子设备显示第一进度指示符(840、812A)以指示电子设备 正在执行任务。在一些示例中,如果电子设备成功执行了任务,则电子设 备显示第二进度指示符(842、814A)以指示任务已成功执行。在一些示例 中,在执行任务和/或显示第二进度指示符之后,电子设备显示包括由应用 程序指定的一个或多个视觉对象的界面(例如,叙述“谢谢您的订单”的 消息或图像))。在一些示例中,如果电子设备未成功执行任务,则电子 设备向用户提供自然语言输出,指示任务未被成功执行(例如,“存在问 题。重新尝试。”并且可选地,显示示能表示(846),用户可以通过该示能 表示发起执行任务的附加尝试。
在一些示例中,确认界面包括应用程序示能表示(828、850)。在一 些示例中,应用程序示能表示是指示(例如,标识)与建议示能表示相关 联的应用程序和/或任务的示能表示。在一些示例中,应用程序示能表示是 除了确认示能表示和/或取消示能表示以外的确认界面的任何部分。在一些 示例中,电子设备检测对应于应用程序示能表示的选择的第三用户输入 (932)。在一些示例中,使用触摸输入、手势或它们的组合来选择应用程序 示能表示。在一些示例中,使用语音输入来选择应用程序示能表示。在一 些示例中,响应于检测到第三用户输入,电子设备执行(例如,启动、发 起)与任务相关联的应用程序(934)。在一些示例中,用户选择应用程序的 显示的图标和/或名称以启动对应于选择示能表示的任务的应用程序。在一 些示例中,应用程序可选地预先加载一个或多个参数(例如,电子邮件的主题和/或正文)。
在一些示例中,建议示能表示包括影响任务执行的参数的视觉指示。 在一些示例中,建议示能表示对应于要使用一个或多个指定参数执行的任 务(例如,使用Starbucks应用订购特定咖啡大小和类型,发送具有特定消 息的文本)。在一些示例中,执行与任务相关联的应用程序包括使用参数 预加载应用程序。在一些示例中,执行应用程序使得代表用户输入任务的 参数(例如,已经在购物车中的订单,并且用户仅需要指示订购意图;消 息被插入到消息编写字段中,并且用户仅需要指示发送意图)。
在一些示例中,确认界面包括取消示能表示。在一些示例中,电子设 备检测对应于取消示能表示的选择的第四用户输入。在一些示例中,使用 触摸输入、手势或其组合选择取消示能表示。在一些示例中,使用语音输 入选择取消示能表示。在一些示例中,响应于检测到第四用户输入,电子 设备放弃执行任务。在一些示例中,电子设备还响应于检测到第四用户输 入停止显示确认界面。
在一些示例中,第一用户输入是第一类型的输入。在一些示例中,电 子设备在显示用户界面时,检测对应于建议示能表示的选择的第二类型的 用户输入。在一些示例中,使用触摸输入、手势或其组合选择建议示能表 示。在一些示例中,使用语音输入选择建议示能表示。在一些示例中,触 摸输入是第二类型的输入,诸如持续时间相对较长或强度相对较高的按 压。在一些示例中,第二类型的输入不同于第一类型的输入。在一些示例 中,响应于检测到第二类型的用户输入,电子设备显示确认界面。
需注意,上面相对于方法900(例如,图9A至图9B)所述过程的详 情也以类似方式适用于下文所述的方法。例如,方法900可选地包括参考 方法1100、1300、1500、1700和1900所述的各种方法的一个或多个特 征。
上述方法中的操作可选地通过运行信息处理装置中的一个或多个功能 模块来实现,该信息处理装置诸如为通用处理器(例如,如相对于图2A、 图4和图6A所述)或特定于应用的芯片。此外,上文参考图8A至图8AF 描述的操作可选地由图2A至图2B中所描绘的部件来实现。例如,显示操 作908、检测操作916、执行操作920和显示操作922可选地由事件分类器 270、事件识别器280和事件处理程序290来实施。事件分类器270中的事 件监视器271检测触敏表面604上的接触(图6A),并且事件分配器模块 274将事件信息递送到应用程序236-1(图2B)。应用程序236-1的相应事 件识别器280将事件信息与相应事件定义286进行比较,并且确定触敏表 面上第一位置处的第一接触是否与预定义的事件或子事件对应,预定义的 事件或子事件诸如为对用户界面上的对象的选择。当检测到相应的预定义 的事件或子事件时,事件识别器280激活与对该事件或子事件的检测相关 联的事件处理程序290。事件处理程序290可选地利用或调用数据更新器 276或对象更新器277来更新应用内部状态292。在一些实施方案中,事件 处理程序290访问相应GUI更新器278来更新应用程序所显示的内容。类 似地,本领域的技术人员会清楚地知道可如何基于图2A至图2B中描绘的 部件来实现其他过程。
图10A至图10AJ示出了根据一些实施方案的用于在电子设备(例 如,设备104、设备122、设备200、设备600或设备700)上提供语音快 捷方式的示例性用户界面。这些附图中的用户界面被用于示出包括图11A 至图11B中的过程的下文描述的过程。
通常,可以采用参考图10A至图10AJ描述的用户界面,使得用户可 以将任务与相应的用户特定短语相关联。这些短语继而可以用于使电子设 备执行相关任务。
图10A示出了电子设备1000(例如,设备104、设备122、设备 200、设备600或设备700)。在图10A至图10AJ中示出的非限制性示例 性实施方案中,电子设备1000是智能电话。在其他实施方案中,电子设备 1000可以是不同类型的电子设备,诸如可穿戴设备(例如,智能手表)。 在一些示例中,电子设备1000具有显示器1001、一个或多个输入设备(例 如,显示器1001的触摸屏、按钮、麦克风)和无线通信无线电部件。在一 些示例中,电子设备1000包括多个相机。在一些示例中,该电子设备仅包 括一个相机。在一些示例中,电子设备包括一个或多个生物识别传感器 (例如,生物识别传感器1003),其可选地包括相机,诸如红外相机、热 成像相机或其组合。
在图10A中,电子设备1000在显示器1001上显示设置界面1004。设 置界面1004包括候选任务部分1006和附加任务示能表示1014。候选任务 部分1006包括候选任务示能表示1008、1010和1012。在一些示例中,响 应于附加任务示能表示1014的选择,电子设备1000显示全局任务界面诸 如全局任务界面1018A,如关于图10S所描述的。
在一些示例中,响应于候选任务示能表示的选择,电子设备1000显示 任务特定的界面。在一些示例中,任务特定界面与候选任务示能表示的任 务相关联。作为示例,在显示设置界面1004时,电子设备1000检测候选 任务示能表示1008的选择。在一些示例中,选择是候选任务示能表示1008 上的轻击手势1016。如图10B所示,响应于检测到轻击手势1016,电子设 备1000显示任务特定界面1018。任务特定界面1018可以与候选任务示能 表示1008的任务(例如,查看侧方房屋相机)相关联。在一些示例中,选 择候选任务示能表示发起对应于候选任务示能表示的任务的语音快捷方式 生成过程。因此,候选任务示能表示1008的选择可以发起候选任务示能表 示1008的任务的语音快捷方式生成过程。
任务特定界面1018包括任务图标1020、任务指示符1022、任务描述 符1024、应用程序指示符1026、候选短语1028和记录示能表示1030。在 一些示例中,任务图标1020包括对应于任务的图标或图像。在一些示例 中,任务指示符1022指示任务的名称和/或类型。在一些示例中,任务描述 符1024包括任务的描述并且/或者指示用户可以记录要与任务链接的命令或 短语。在一些示例中,应用程序指示符1026标识对应于任务的应用程序。 例如,应用程序指示符1026可包括应用程序的名称和/或与应用程序相关联 的图标。候选短语1028包括用户可以选择与任务相关联的建议短语。
在显示任务特定界面1018时,电子设备1000检测记录示能表示1030 的选择。如图10C中所示,记录示能表示1030的选择是轻击手势1032。 响应于记录示能表示1030的选择,电子设备在显示器1001上显示记录界 面1034(例如,替换任务特定界面1018的显示)。
参考图10D,记录界面1034包括取消示能表示1036、返回示能表示 1038、预览1042和停止示能表示1044。在一些示例中,响应于取消示能表 示1036的选择,电子设备停止显示记录界面1034,并且可选地,终止语音 快捷方式生成过程。在一些示例中,响应于返回示能表示的选择,电子设 备显示任务特定界面1018(例如,替换记录界面1038的显示)。
在一些示例中,在显示记录界面1034时,电子设备1000使用电子设 备1000的音频输入设备(例如,麦克风)接收来自用户的自然语言语音输 入。在一些示例中,在接收自然语言语音输入时,电子设备1000提供自然 语言语音输入的实时预览诸如实时预览1042。如图10D所示,在一些示例 中,实时预览1042是指示自然语言语音输入的一个或多个听觉特征的视觉 波形。
参考图10E,如果在初始显示记录界面1034之后,用户在预先确定的 时间量内未提供自然语言语音输入,电子设备1000可以可选地向用户显示 提示,包括候选短语诸如候选短语1046(例如,“查看房屋实况流的侧 面”)。在一些示例中,候选短语1046与候选短语1028(图10D)相同。 在其他示例中,候选短语1046与候选短语1028不同。
在一些示例中,在接收自然语言语音输入时,电子设备1000对自然语 言语音输入执行语音到文本转换(例如,自然语言语音处理)以提供候选 短语1048。如图10F至图10G所示,由于在接收自然语言语音输入的时执 行语音到文本转换,因此可在接收自然语言语音输入的同时迭代和/或连续 地更新候选短语1048。
在一些示例中,电子设备1000确保候选短语不同于一个或多个预先确 定的短语(例如,“呼叫911”)。作为示例,电子设备1000确定候选短 语与一个或多个预先确定的短语中的每一个之间的相似度是否超过相似度 阈值。如果不满足相似度阈值,电子设备1000将通知用户所提供的候选短 语不充分和/或不被允许。电子设备1000还可请求用户提供另一个自然语言 语音输入。
在显示记录界面1034时,电子设备1000检测停止示能表示1044的选 择。如图10G中所示,记录示能表示1044的选择是轻击手势1050。响应 于停止示能表示1050的选择,电子设备1000在显示器1001上显示完成界 面1052(例如,替换记录界面1034的显示),如图10H所示。
完成界面1052包括完成示能表示1054、取消示能表示1056、任务图 标1058、任务指示符1060、应用程序指示符1062、候选短语1064和编辑 示能表示1066。在一些示例中,响应于取消示能表示1056的选择,电子设 备1000停止显示完成界面1052,并且可选地,终止语音快捷方式生成过 程。在一些示例中,任务图标1058包括对应于任务的图标或图像。在一些 示例中,任务指示符1060指示任务的名称和/或类型。在一些示例中,应用 程序指示符1062标识对应于任务的应用程序。例如,应用程序指示符可包 括应用程序的名称和/或与应用程序相关联的图标。候选短语1028是用户可 以选择与任务相关联的建议短语。
在一些示例中,在显示完成界面1052时,电子设备1000检测编辑示 能表示1066的选择。如图10I中所示,编辑示能表示1066的选择是轻击手 势1068。响应于编辑示能表示1068的选择,电子设备1000在显示器1001 上显示编辑界面1070(例如,替换完成界面1052的显示),如图10J所 示。
编辑界面1070包括完成示能表示1072、取消示能表示1074、任务图 标1076、任务指示符1078、候选短语排序1080和重新记录示能表示 1088。在一些示例中,响应于取消示能表示1056的选择,电子设备1000 停止显示编辑界面1070,并且可选地,终止语音快捷方式生成过程。在一 些示例中,任务图标1076包括对应于任务的图标或图像。在一些示例中,任务指示符1078指示任务的名称和/或类型。
如所描述的,在一些示例中,电子设备1000基于用户提供的自然语言 语音输入提供候选短语(例如,候选短语1048)。在一些示例中,以这种 方式提供候选短语包括生成多个候选短语(例如,候选短语1082、1084、 1086),并且选择与最高得分(例如,文本表示置信度得分)相关联的候 选短语。在一些示例中,候选短语排序1080包括在选择与最高得分相关联 的候选短语之前由电子设备1000生成的多个候选短语。在一些示例中,候 选短语排序1080包括一组(例如,3个)最高级的候选短语,其可选地根 据每个候选短语的相应得分列出。例如,如图10J所示,候选短语排序1080包括候选短语1082、1084和1086。在一些示例中,候选短语1082可 对应于候选短语1064。
在一些示例中,用户可从候选短语排序1080的候选短语1082、 1084、1086中选择新的(或相同的)候选短语。例如,如图10K所示,电 子设备1000在显示编辑界面1070时检测候选短语1080的选择。候选短语 1080的选择是轻击手势1090。在一些示例中,响应于候选短语1080的选 择,电子设备1000选择候选短语1080作为新的(或相同的)候选短语。 在一些示例中,响应于候选短语1080和完成示能表示1072两者的选择, 电子设备选择候选短语1080作为新的(或相同的)候选短语。
在一些示例中,候选短语排序可不包括用户意图或优选的短语。因 此,在一些示例中,响应于重新记录示能表示1088的选择,电子设备1000 显示记录界面诸如记录界面1034(例如,替换编辑界面1070的显示),以 允许用户如上所述提供新的自然语言语音输入。
在一些示例中,在显示完成界面1052时,电子设备1000检测完成示 能表示1054的选择。如图10L所示,完成示能表示1054的选择是轻击手 势1092。响应于完成示能表示1054的选择,电子设备1000将候选短语与 候选任务示能表示1008的任务相关联。通过以这种方式将候选短语与任务 相关联,用户可将候选短语提供(例如,念出)给电子设备的数字助理, 以使设备执行与候选短语相关联的任务。与相应任务相关联的候选短语在 本文中可称为语音快捷方式。在一些示例中,进一步响应于完成示能表示 1054的选择,电子设备1000在显示器1001上显示设置界面1004(例如, 替换完成界面1052的显示),如图10M所示。
在一些示例中,由于候选任务示能表示1008的任务被分配给任务,因 此候选任务部分1006中不包括候选任务示能表示1008。在一些示例中,候 选任务部分1006替代地包括候选任务建议1094,使得候选任务部分1006 包括至少阈值数量的候选任务示能表示。
在一些示例中,如果一个或多个候选任务示能表示与相应任务相关 联,设置界面1004包括用户快捷方式示能表示1096。在一些示例中,在显 示设置界面1004时,电子设备1000检测用户快捷方式示能表示1096的选 择。如图10N所示,用户快捷方式示能表示1096的选择是轻击手势 1098。在一些示例中,响应于用户快捷方式示能表示1096的选择,电子设 备1000在显示器1001上显示用户快捷方式界面1002A(例如,替换设置 界面1004的显示),如图10O所示。
用户快捷方式界面1002A包括编辑示能表示1004A、返回示能表示 1006A、快捷方式示能表示1008A和附加任务示能表示1010A。在一些示 例中,响应于返回示能表示1006A的选择,电子设备1000显示设置界面 1004(图10N)。在一些示例中,响应于编辑示能表示1004A的选择,电 子设备1000显示通过其可以删除与快捷方式示能表示1008A相关联的语音 快捷方式的界面。在一些示例中,响应于附加任务示能表示1010A的选 择,电子设备1000显示包括一个或多个候选任务示能表示诸如图10S的全 局任务界面1018A的界面,如将在下文中进一步详细描述的。
在一些示例中,在显示用户快捷方式界面1002A时,电子设备1000检 测快捷方式示能表示1008A的选择。如图10P所示,快捷方式示能表示 1008A的选择是轻击手势1004A。在一些示例中,响应于快捷方式示能表 示1008A的选择,电子设备1000在显示器1001上显示快捷方式示能表示 1008A的完成界面1054(例如,替换用户快捷方式界面1002A的显示),如图10Q所示。完成界面1054可以包括删除示能表示1014A。响应于删除 示能表示1014A的选择,电子设备1000删除与任务相关联的语音快捷方 式。以这种方式删除快捷方式可包括将语音快捷方式与任务解除关联,使 得向电子设备1000的数字助理提供语音快捷方式不会使电子设备1000执 行任务。
在一些示例中,在显示设置界面1004时,电子设备1000检测附加任 务示能表示1014的选择。如图10R所示,附加任务示能表示1014的选择 是轻击手势1016A。在一些示例中,响应于快捷方式示能表示1014的选 择,电子设备1000在显示器1001上显示全局任务界面1018A(例如,替 换设置界面1004的显示),如图10S所示。
对于多个应用程序中的每一个应用程序,全局任务界面1018A包括相 应的一组候选任务示能表示。作为示例,全局任务界面1018A包括与活动 应用程序相关联的一组候选任务示能表示1020A、与日历应用程序相关联 的一组候选任务示能表示1026A,以及与音乐应用程序相关联的一组候选 任务示能表示1036A。该组候选任务示能表示1020A可以可选地包括“开 始健身”候选任务示能表示1022A和“查看每日进度”候选任务示能表示1024A。该组候选任务示能表示1026A可以可选地包括“发送午餐邀请” 候选任务示能表示1028A、“安排会议”候选任务示能表示1030A,以及 “清除一天的活动”候选任务示能表示1032A。该组候选任务示能表示 1036A可以可选地包括“播放健身播放列表”候选任务示能表示1038A和 “启动R&B广播”候选任务示能表示1040A。
在一些示例中,全局任务界面1018A的候选任务示能表示是可搜索 的。作为示例,在显示全局任务界面1018A时,电子设备检测显示器1001 上的轻扫手势,诸如图10T的轻扫手势1046A。响应于轻扫手势1046A, 电子设备沿向下方向滑动全局任务界面1018A以显示(例如,显示出)搜 索字段1048A,该字段可用于搜索全局任务界面1018A的候选任务示能表示,如图10U所示。
在一些示例中,由电子设备1000显示的每组候选任务示能表示可以是 相应应用程序的所有可用候选任务示能表示的子集。因此,用户可以选择 应用程序任务列表示能表示诸如应用程序特定的任务列表示能表示 1034A、1042A,以显示对应于应用程序任务列表示能表示的应用程序的一 个或多个附加候选任务示能表示。例如,在显示全局任务界面1018A时, 电子设备1000检测应用程序任务列表示能表示1042A的选择。如图10V所 示,应用程序任务列表示能表示1042A的选择是轻击手势1050A。在一些 示例中,响应于应用程序任务列表示能表示1042A的选择,电子设备1000 在显示器1001上显示应用程序任务界面1052A(例如,替换全局任务界面 1018A的显示),如图10W所示。如图所示,应用程序任务界面1052A包 括返回示能表示和候选任务示能表示1054A至1070A,所述返回示能表示 在被选择时,使得电子设备1000显示全局任务界面1018A。
在一些示例中,在显示设置界面1004时,电子设备1000检测显示器 1001上的轻扫手势诸如图10X的轻扫手势1074A。如图10Y所示,响应于 轻扫手势1074A,电子设备1000沿向上方向滑动设置界面1004以显示 (例如,显示出)各种设置。当启用时,该设置调整电子设备1000显示候 选任务示能表示和建议示能表示的方式,诸如参考图8A至图8AF描述的那些。例如,设置界面1004包括快捷启用设置1076A,当启用该设置时允 许电子设备1000显示候选任务示能表示,如本文所述。作为另一示例,设 置界面1004包括搜索建议启用设置1078A,当启用该设置时允许电子设备1000在搜索屏幕界面上显示建议示能表示。作为另一示例,设置界面1004 包括查找建议启用设置1080A,当启用该设置时允许电子设备1000在查找 结果屏幕界面上显示建议示能表示。作为又一示例,设置界面1004包括锁 定屏幕建议启用设置1082A,当启用该设置时允许电子设备1000在锁定屏 幕界面上显示建议示能表示。
设置界面1004还包括应用程序示能表示1084A和1086A,每个与相应 的应用程序相关联。在一些示例中,在显示设置界面1004时,电子设备 1000检测应用程序示能表示1086A的选择。如图10Y所示,应用程序示能 表示1086A的选择是轻击手势1088A。在一些示例中,响应于应用程序示 能表示1086A的选择,电子设备1000在显示器1001上显示应用程序设置 界面1090A(例如,替换设置界面1004的显示),如图10Z所示。
在一些示例中,应用程序设置界面1090A包括应用程序用户快捷方式 示能表示1092A,该示能表示可对应于先前由用户例如使用本文描述的语 音快捷方式生成过程生成的语音快捷方式。应用程序设置界面1090A还可 包括候选任务示能表示1094A至1098A,其中每个可对应于与应用程序设 置界面1090A的应用程序相关联的相应任务。在一些示例中,应用程序设 置界面1090A还包括应用程序任务列表示能表示1002B。在一些示例中, 响应于应用程序任务列表示能表示1002B的选择,电子设备1000在显示器 1001上显示应用程序任务界面诸如应用程序任务界面1052A(图10W) (例如,替换应用程序设置界面1090A的显示)。在一些示例中,应用程 序设置界面1090A还包括应用程序建议启用设置1004B,当启用该设置时 允许电子设备1000显示与搜索屏幕界面、查找结果屏幕界面和/或键盘界面上的应用程序相关联的建议示能表示。在一些示例中,应用程序设置界面 1090A还包括应用程序建议启用设置1006B,当启用该设置时允许电子设 备1000在锁定屏幕界面上显示与应用程序相关联的建议示能表示。
在一些示例中,应用程序设置界面1090A还包括编辑示能表示 1010B。在一些示例中,在显示应用程序设置界面1090A时,电子设备 1000检测编辑示能表示1010B的选择。如图10AA所示,编辑示能表示 1010B的选择是轻击手势1012B。在一些示例中,响应于对编辑示能表示 1010B的选择,电子设备1000在显示器1090A上显示(例如,将应用程序 设置界面1001的显示替换为)特定于应用程序的编辑界面1014B,如图10AB所示。在一些示例中,特定于应用程序的编辑界面1014B显示在应用 程序设置界面1090A的的第一部分上方,并且应用程序设置界面1090A的 第二部分在视觉上是模糊的(例如,变暗、迷离)。
在一些示例中,显示应用程序设置界面1090A包括显示应用程序设置 界面1090A的每个应用程序用户快捷方式示能表示(例如,应用程序用户 快捷方式示能表示1092A)的选择示能表示(例如,选择示能表示 1020B)。在示例操作中,电子设备1000检测选择示能表示1020B的选 择,指示对应的应用程序用户快捷方式示能表示1092A的选择以及用户删 除应用程序用户快捷方式示能表示1092A的意图。在一些示例中,用户可 通过选择确认示能表示1018B确认删除,或者通过选择取消示能表示 1016B放弃删除。
在图10AC中,电子设备1000显示特定应用程序的应用程序许可界面 1022B。应用程序许可界面1022包括建议许可示能表示1026B。在显示应 用程序许可界面1022时,电子设备1000检测建议许可示能表示1026B的 选择。如图10AC所示,建议许可示能表示1026B的选择是轻击手势 1032B。在一些示例中,响应于建议许可示能表示1026B的选择,电子设备1000在显示器1001上显示应用程序设置界面诸如图10AD的应用程序设置 界面1034B(例如,替换应用程序特定的许可界面1022B的显示)。
在一些示例中,可以使用应用程序特定的设置界面发起语音快捷方式 生成过程。因此,在一些示例中,应用程序设置界面1034B可包括候选任 务示能表示1038B。在一些示例中,在显示应用程序设置界面1034B时, 电子设备1000检测候选任务示能表示1038B的选择。如图10AE所示,候 选任务示能表示1038B的选择是轻击手势1050B。响应于候选建议示能表 示1038B的选择,电子设备1000显示与候选任务示能表示1038B的任务相 关联的任务特定界面1054B,如图10AF所示。
参考图AF至图AH,如上所述,用户此后可以通过向电子设备提供自 然语言语音输入(例如,“来杯咖啡”)生成语音快捷方式,并且电子设 备继而提供候选短语用于与候选任务示能表示1038B的任务相关联(例 如,从附近的咖啡店订购加燕麦奶的大杯拿铁咖啡)。一旦生成了任务的 语音快捷方式,电子设备1000即显示应用程序设置界面1034B。如图10AI 所示,应用程序设置界面1034B包括应用程序用户快捷方式示能表示1036B。在一些示例中,响应于应用程序特定的用户快捷方式示能表示 1036B的选择,电子设备显示与应用程序的任务相关联的语音快捷方式。
在一些示例中,可以使用应用程序界面诸如第三方应用程序界面发起 语音快捷方式生成过程。例如,如图10AJ所示,用户可以使用应用程序完 成任务(例如,订购咖啡)。作为响应,应用程序可以显示包括候选任务 建议示能表示1062B的任务完成界面1060B。在一些示例中,响应于候选 任务建议示能表示1062B的选择,电子设备发起语音快捷方式生成过程。
图11A至图11B是示出了根据一些实施方案的用于提供语音快捷方式 的方法的流程图。方法1100在具有显示器、一个或多个输入设备(例如, 触摸屏、麦克风、相机)和无线通信无线电(例如,蓝牙连接、WiFi连 接、移动宽带连接诸如4G LTE连接)的设备(例如,设备104、设备 122、设备200、设备600、设备700、设备1000)处执行。在一些实施方 案中,显示器是触敏显示器。在一些实施方案中,显示器不是触敏显示 器。在一些实施方案中,电子设备包括多个相机。在一些实施方案中,电 子设备包括仅一个相机。在一些实施方案中,该设备包括一个或多个生物 识别传感器,其可选地包括相机,诸如红外相机、热成像相机或其组合。 方法1100中的一些操作可选地被组合,一些操作的次序可选地被改变,并 且一些操作可选地被省略。
如下所述,基于自然语言语音输入提供候选短语并将候选短语与相应 任务相关联,这允许用户准确且有效地生成可用于在电子设备上执行任务 的用户特定的语音快捷方式。例如,允许用户以这种方式将语音快捷方式 与任务相关联允许用户在视觉上确认已经选择了所需的语音快捷方式并将 其分配给正确的任务,从而降低了不正确或不需要的关联的可能性。因此 以所描述的方式提供候选短语使电子设备的使用更加高效(例如,通过帮 助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),这又 通过使用户能够更快速且高效地使用设备进一步减少了电力使用并且延长 了设备的电池寿命。
在一些示例中,电子设备(104、200、600、700、1000)显示多个候 选任务示能表示(1008、1010、1012、1038B),包括与任务(1102)相关联 的候选任务示能表示(1008、1038B)。在一些示例中,多个任务显示在设 置界面或应用程序界面中。在一些示例中,多个任务中的每个任务是例如 基于电子设备的上下文建议的任务。
在一些示例中,电子设备显示包括与任务相关联的候选任务示能表示 的多个候选任务示能表示,包括显示包括多个候选任务示能表示的应用程 序界面(1034B)。在一些示例中,应用程序界面是第三方应用程序(1062B)的 界面,该界面包括一个或多个示能表示(对应于相应的一个或多个候选任 务),用户可以选择所述示能表示以使得显示第一用户界面并由此创建所 选任务的语音快捷方式。在一些示例中,第一用户界面(1018)覆盖在应用程 序界面上。在一些示例中,第一用户界面覆盖在应用程序界面的一部分 上。在一些示例中,第一用户界面覆盖在整个应用程序界面上。在一些示 例中,所述一个或多个示能表示对应于一个或多个相应任务,并且响应于 一个或多个任务的完成而显示。
在一些示例中,电子设备检测包括第一用户输入(1016)的一组输入 (1016、1032),该第一用户输入对应于与任务(1104)相关联的候选任务示 能表示的选择。
在一些示例中,响应于第一用户输入,电子设备显示与任务相关联的 第四界面(1018)。在一些示例中,第四用户界面是用于生成语音快捷方式的 初始任务特定界面。在一些示例中,该界面指定与语音快捷方式(1022)相关 联的任务,并且还包括相关应用程序的指示(例如,应用程序的名称) (1026)和/或与应用程序(1020、1026)相关联(例如,捐赠)的图标。在 一些示例中,该界面包括取消示能表示。响应于取消示能表示的选择,电 子设备返回到紧接之前的界面。在一些示例中,该界面包括记录示能表示 (1030)。响应于记录示能表示的选择,电子设备在显示语音记录界面(1034) 时记录语音输入。在一些示例中,第四界面包括第一建议语音快捷方式短 语(1028)。在一些示例中,电子设备显示建议的语音快捷方式,用户可以采 用该快捷方式作为相关任务的语音快捷方式。
在一些示例中,响应于检测到该组用户输入,电子设备显示用于生成 与任务(1106)相关联的语音快捷方式的第一界面(1034)。在一些示例中,第 一界面是语音记录界面。在一些示例中,语音记录界面包括用于用户记录 短语的提示(1046),该短语将用作用于发起任务的语音快捷方式。在一些示 例中,语音记录界面包括由用户提供的自然语言语音输入的实时预览 (1042)。在一些示例中,实时预览是音频波形。
在一些示例中,在显示第一界面(1108)时,电子设备通过音频输入设 备接收(例如,采样、获取、捕获)自然语言语音输入(1110)。在一些示例 中,自然语言语音输入是由设备的用户念出的短语。在一些示例中,电子 设备接收语音输入持续预先确定的时间,并且/或者直到用户选择停止示能 表示(1044)。
在一些示例中,在接收自然语言语音输入时,电子设备提供(例如, 显示)自然语言语音输入的实时(例如,即时)预览。在一些示例中,实 时预览是自然语言输入的波形和/或自然语言输入的语音到文本转换的即时 显示。在一些示例中,自然语言语音输入的实时预览是自然语言语音输入 的视觉波形。
在一些示例中,响应于接收到自然语言语音输入,电子设备基于自然 语言语音输入确定候选短语。在一些示例中,基于自然语言语音输入确定 候选短语包括使用自然语言处理确定候选短语。在一些示例中,在用户提 供自然语言语音输入时,电子设备使用自然语言处理将自然语言语音输入 转换成文本。
在一些示例中,基于自然语言语音输入确定候选短语包括将自然语言 语音输入提供给另一电子设备,并且从另一电子设备接收候选短语的表示 (例如,文本表示、向量表示)。在一些示例中,电子设备向服务器提供 自然语言语音输入和/或NL语音输入的表示,并且服务器返回一个或多个 候选短语。
在一些示例中,基于自然语言语音输入确定候选短语包括确定自然语 言语音输入是否满足短语相似度标准。根据确定自然语言语音输入满足短 语相似度标准,电子设备指示(例如,显示指示)自然语言语音输入满足 相似度标准。在一些示例中,电子设备确保自然语言语音输入不同于一个 或多个预先确定的短语(例如,“呼叫911”)。在一些示例中,电子设备 确保自然语言语音输入与一个或多个预先确定的短语充分不同。作为示 例,电子设备可以确保自然语言语音输入的表示与所述一个或多个预先确 定的短语中的每一者的相似度不超过相似度阈值。在一些示例中,如果自 然语言语音输入不满足相似度标准,则电子设备将通知用户所提供的语音 输入不充分和/或不被允许。电子设备还可以请求用户提供新的自然语言语 音输入。在一些示例中,电子设备还将自然语言输入与与一个或多个存储 的语音快捷方式相关联的短语进行比较。在一些示例中,电子设备指示用 户提供新的自然语言语音输入和/或用户意图该自然语言语音输入替换一个 或多个其他类似措辞的语音快捷方式的请求确认。在一些示例中,删除替 换的语音快捷方式。
在一些示例中,电子设备在显示第一界面(1034)时,确定是否在阈值 时间量内接收到自然语言语音输入。在一些示例中,根据确定在阈值时间 量内未接收到自然语言语音输入,电子设备在第一界面上显示第二建议的 语音快捷方式短语(1046)(“您可以说‘给我看侧方相机’之类的”)。在 一些示例中,在第一界面(1034)上提供的建议语音快捷方式与在第二界面 (1028)上提供的建议语音快捷方式相同。在一些示例中,第一界面和第二界面的建议的语音快捷方式是不同的。
在一些示例中,进一步在显示第一界面时,电子设备在第一界面(1034) 中显示候选短语(1046),其中该候选短语基于自然语言语音输入(1120)。在 一些示例中,候选短语是自然语言语音输入的语音到文本转换,并且在电 子设备接收自然语言输入时显示。在一些示例中,电子设备响应于自然语 言输入显示候选短语,并且/或者实时地将自然语言语音输入转换成文本。 因此,在一些示例中,电子设备在电子设备接收到自然语言的同时连续更 新候选短语的显示。
在一些示例中,在显示候选短语之后,电子设备经由触敏表面检测第 二用户输入(1092)(1122)。在一些示例中,第二用户输入是完成示能表示 (1072)的选择。在一些示例中,第二用户输入是示能表示诸如完成界面 (1054)的确认示能表示的选择。
在一些示例中,响应于检测到第二用户输入,电子设备将候选短语与 任务(1124)相关联。在一些示例中,电子设备生成语音快捷方式,使得用户 向数字助理叙述候选短语导致任务的执行。
在一些示例中,将候选短语与任务相关联包括将候选短语与第一动作 相关联并且将候选短语与第二动作相关联。在一些示例中,语音快捷方式 对应于多个任务。在一些示例中,数字助理建议任务的组合,并且用户可 以分配短语以发起任务组合的执行。作为示例,语音快捷方式“安全住 宅”可对应于用于关闭灯并锁上门的任务。
在一些示例中,电子设备通过音频输入设备接收用户语音输入(例 如,自然语言语音输入)。在一些示例中,电子设备确定用户语音输入是 否包括候选短语。在一些示例中,根据确定用户语音输入包括候选短语, 电子设备执行任务。在一些示例中,根据确定用户语音输入不包括候选短 语,电子设备放弃执行任务。
在一些示例中,在将候选短语与任务相关联之后,电子设备显示包括 编辑示能表示的第二界面。在一些示例中,电子设备在语音快捷方式生成 过程结束时显示第二界面。在一些示例中,用户可以在列出一个或多个存 储的语音快捷方式(1008A)的界面(1004A)中导航到语音快捷方式,并且选择 语音快捷方式以显示第二界面。在一些示例中,第二用户界面(1054)包括任 务的文本表示(1060),任务的指示(1058),候选短语(1064),选择时使得显 示候选快捷方式的编辑示能表示(1066),选择时使得设备取消语音快捷方式 生成过程的取消示能表示(1056),以及完成示能表示(1054),所述完成示能 表示在被选择时,使得电子设备将候选短语与任务相关联或者保持候选短 语与任务的关联(如果已经关联)。
在一些示例中,电子设备检测指示编辑示能表示(1068)的选择的第三 用户输入。在一些示例中,响应于检测到第三用户输入,电子设备显示多 个候选短语示能表示(1082、1084、1086),所述示能表示包括对应于候 选短语的第一候选短语示能表示和对应于另一候选短语的第二候选短语示 能表示。在一些示例中,另一候选短语基于自然语言语音输入。在一些示 例中,响应于编辑示能表示的选择,电子设备显示包括多个候选短语的编 辑界面(1070)。在一些示例中,用户可以选择候选短语中的一个以与任务相 关联。在一些示例中,所述多个候选短语中的每一个是使用一种或多种 NLP方法基于自然语言语音输入生成的语音到文本候选项。在一些示例 中,NL语音输入被提供给另一设备(例如,后端服务器),该服务器将一 个或多个候选短语返回到电子设备。在一些示例中,在电子设备和后端服 务器两者上生成候选短语,并且电子设备选择一个或多个“最佳”候选短 语(例如,与最高相应置信度得分相关联的候选短语)。
在一些示例中,电子设备检测另一组输入(1090、1092),该组输入 包括指示第二候选短语示能表示的选择的第四用户输入。在一些示例中, 响应于检测到另一组输入,电子设备将另一候选短语与任务相关联。在一 些示例中,用户选择新的候选短语以与任务相关联,使得提供新的候选短 语导致任务的执行。在一些示例中,关联新候选任务使得电子设备将先前 关联的候选短语与该任务解除关联。
在一些示例中,在将候选短语与任务相关联之后,电子设备检测第五 输入(1092)。在一些示例中,响应于检测到第五用户输入,电子设备显示另 一多个候选任务示能表示,其中所述另一多个候选任务示能表示不包括与 该任务相关联的候选任务示能表示。在一些示例中,在创建语音快捷方式 之后,电子设备显示设置界面(1004),其列出由数字助理和/或一个或多个 应用程序建议的候选任务。在一些示例中,如果先前建议了任务并且用户 为该任务创建了快捷方式,则从建议任务列表中移除该任务。
在一些示例中,电子设备将候选短语提供给另一电子设备。在一些示 例中,生成的语音快捷方式被提供给后端服务器以用于后续语音输入匹 配。在一些示例中,将生成的语音快捷方式和关联的任务提供给后端服务 器。在一些示例中,从电子设备向后端服务器提供输入,并且后端服务器 确定该输入是否对应于语音快捷方式。如果后端服务器确定输入对应于语 音快捷方式,则电子设备执行该任务。在一些示例中,以这种方式向服务 器提供快捷方式和任务的每一个还允许使用相同的快捷方式在其他电子设 备上随后执行任务。
需注意,上面相对于方法1100(例如,图11A至图11B)所述过程的 详情也以类似方式适用于下文所述的方法。例如,方法1100可选地包括参 考方法900、1300、1500、1700和1900所述的各种方法的一个或多个特 征。例如,如方法1200中所述,提供语音快捷方式可应用于生成语音快捷 方式以供按照方法1300所描述的使用。为了简明起见,这些详情在下文中 不再重复。
上述方法中的操作可选地通过运行信息处理装置中的一个或多个功能 模块来实现,该信息处理装置诸如为通用处理器(例如,如相对于图2A、 图4和图6A所述)或特定于应用的芯片。此外,上面参考图10A至图 10AJ描述的操作可选地由图2A至图2B中描绘的组件实施。例如,显示操 作1102、检测操作1104、显示操作1106、接收操作1110、显示操作 1120、检测操作1122和关联操作1124可选地由事件分类器270、事件识别 器280和事件处理程序290实施。事件分类器270中的事件监视器271检测 触敏表面604上的接触(图6A),并且事件分配器模块274将事件信息递 送到应用程序236-1(图2B)。应用程序236-1的相应事件识别器280将事 件信息与相应事件定义286进行比较,并且确定触敏表面上第一位置处的 第一接触是否与预定义的事件或子事件对应,预定义的事件或子事件诸如 为对用户界面上的对象的选择。当检测到相应的预定义的事件或子事件 时,事件识别器280激活与对该事件或子事件的检测相关联的事件处理程 序290。事件处理程序290可选地利用或调用数据更新器276或对象更新器 277来更新应用内部状态292。在一些实施方案中,事件处理程序290访问 相应GUI更新器278来更新应用程序所显示的内容。类似地,本领域的技 术人员会清楚地知道可如何基于图2A至图2B中描绘的部件来实现其他过 程。
图12是根据各种示例的任务建议系统1200的框图。图12还用于示出 下面描述的一个或多个过程,包括图13的方法1300。
图12示出了任务建议系统1200,其可以例如在本文描述的电子设备 包括但不限于设备104、200、400和600(图1、图2A、图4和图6A至图 6B)上实施。应当理解,虽然本文将任务建议系统1200描述为在移动设备 上实施,但是任务建议系统1200可以在任何类型的设备诸如电话、膝上型 计算机、台式计算机、平板电脑、可穿戴设备(例如,智能手表)、机顶盒、电视、家用自动化设备(例如,恒温器)或其任何组合或子组合上实 施。
通常,任务建议系统1200基于电子设备的上下文数据提供任务建议。 由任务建议系统1200提供的任务建议继而可以用于提供建议示能表示,诸 如关于图8A至图8AF描述的那些。在一些示例中,任务建议系统1200被 实施为概率模型。该模型可以包括一个或多个阶段,包括但不限于第一阶 段1210、第二阶段1220和第三阶段1230,其中的每个阶段在下面进一步 详细描述。在一些示例中,第一阶段1210、第二阶段1220和第三阶段 1230中的一个或多个可以组合成单个阶段并且/或者分成多个阶段。作为示 例,在另选具体实施中,任务建议系统1200可包括第一阶段和第二阶段, 其中第一阶段实施第一阶段1210和第二阶段1220两者的功能。
在一些示例中,电子设备的上下文数据指示电子设备的状态或上下 文。作为示例,上下文数据可以指示在执行特定任务的时间期间电子设备 的各种特性。例如,对于由电子设备执行的每个任务,上下文数据可以指 示电子设备的位置、电子设备是否连接到网络(例如,WiFi网络)、电子 设备是否连接到一个或多个其他设备(例如,耳机),以及/或者执行任务 的时间、日期和/或工作日。如果在执行任务期间电子设备连接到网络或设 备,则上下文数据可以进一步分别指示网络或设备的名称和/或类型。上下 文数据还可以指示先前是否向用户呈现了与任务相关联的建议示能表示以 及用户对建议示能表示的响应方式。例如,上下文数据可以指示用户是否 忽略了任务建议或使用任务建议来执行对应的任务。
在一些示例中,电子设备在电子设备的操作期间从应用程序接收上下 文数据。在一些示例中,应用程序在执行任务时或在执行任务之后为任务 提供上下文数据。以这种方式提供的上下文数据可以指示任务,并且可选 地,指示与任务相关联的一个或多个参数。在一些示例中,应用程序提供 的上下文数据还包括指示在执行任务时电子设备的状态的数据,如上所述 (例如,电子设备的位置,电子设备是否连接到网络等)。在其他示例 中,由应用程序提供的上下文数据不包括指示在执行任务时电子设备的状 态的数据,并且响应于从应用程序接收上下文数据,电子设备获得指示电 子设备状态的数据。
在一些示例中,上下文数据由应用程序使用多个上下文数据捐赠机制 中的任何一个提供。在至少一个示例中,响应于API调用从应用程序接收 上下文数据,该API调用使应用程序返回关于应用程序的执行的信息。作 为示例,文字处理应用程序(例如,记事本、Word)可以返回用户访问的 文字处理文档的标识符(例如,数字ID、名称)。作为另一示例,媒体回 放应用程序(例如,音乐,Spotify)可以返回当前媒体项(例如,歌 曲)、专辑、播放列表、集合以及媒体回放应用程序建议给用户的一个或 多个媒体项的标识符。
在一些示例中,响应于API调用从应用程序接收上下文数据,该API 调用使得应用程序提供指示(例如,识别)由应用程序执行的任务的数据 结构。例如,数据结构可以包括与任务相关联的一个或多个参数的值。在 一些示例中,数据结构被实施为意图对象数据结构。在2016年9月18日 提交的美国专利申请15/269,728“APPLICATION INTEGRATION WITHA DIGITAL ASSISTANT”中可以找到关于意图对象数据结构的操作的另外的 示例性描述,该申请通过引用方式整体并入本文。
在一些示例中,响应于API调用从应用程序接收上下文数据,该API 调用使得应用程序提供指示由应用程序执行的任务的应用程序特定的(例 如,第三方应用程序)数据结构。例如,应用程序特定的数据结构可以包 括与任务相关联的一个或多个参数的值。应用程序特定的数据结构可以可 选地进一步指示在提供任务建议时可以指定任务的哪些参数值以及参数值 的哪些组合。因此,虽然具有M个参数的任务可以具有多达2M-1个允许的 参数组合,但是应用程序特定的数据结构可以明确地减少允许的组合的数 量。在一些示例中,应用程序特定的数据结构指示任务是后台任务还是需 要确认的任务,如先前关于图8A至图8AF所描述的。
在一些示例中,每当在电子设备上执行任务时,由应用程序提供上下 文数据。例如,可以在执行任务时或在执行任务之后提供上下文数据。例 如,在一些示例中,电子设备检测到应用程序已经关闭,并且作为响应, 采用一个或多个上下文数据捐赠机制从应用程序请求上下文数据。
在一些示例中,基于任务类型选择性地提供上下文数据。作为示例, 可以响应于用户发送文本消息或发出呼叫而提供上下文数据,而不是响应 于用户使用浏览器导航到网页或解锁电子设备而提供。在一些示例中,基 于电子设备的上下文选择性地提供上下文数据。例如,如果电子设备的电 池的充电水平低于阈值充电水平,则可以不提供上下文数据。
在一些示例中,每种类型的上下文数据(例如,电子设备的位置、电 子设备是否连接到网络等)与相应的上下文权重相关联。例如,可以使用 上下文权重影响使用上下文数据确定概率的方式。作为示例,被确定为用 户行为的更强预测器的上下文类型可以与相对较大的权重相关联,并且/或 者被确定为用户行为的较弱预测器的上下文类型可以与相对较小的权重相 关联。作为示例,当电子设备处于特定位置时由用户执行的任务可以是比用户在特定工作日执行的任务更佳的用户行为指示项。因此,位置上下文 数据可以与相对较大的权重相关联,并且工作日上下文数据可以与相对较 小的权重相关联。作为另一示例,用户是否针对任务选择了建议示能表示 可以与相对较大的权重相关联,因为这样的上下文数据可以强烈地指示用 户是否可能为该任务选择后续的建议示能表示。
在一些示例中,上下文权重由电子设备确定。在其他示例中,权重由 另一设备使用聚合数据确定。例如,在一些示例中,匿名上下文数据可以 由电子设备和/或一个或多个其他设备提供给数据聚合服务器。继而,数据 聚合服务器可以确定哪种类型的上下文数据是更具有判别性,并且/或者是 更强的用户行为预测器。在一些示例中,数据聚合服务器采用一种或多种 机器学习技术确定哪种类型的上下文数据是相对具有判别性的,并且/或者是更强的用户行为预测器。基于该确定,数据聚合服务器可以确定每种类 型的上下文数据的权重,并且将权重提供给电子设备。在一些示例中,用 户可以选择放弃(例如,选择退出)向另一设备提供匿名数据以确定上下 文权重。
通过确保数据聚合服务器使用的上下文数据是匿名的,可以保护电子 设备的用户的隐私。匿名上下文数据可以包括移除用户的名称、由电子设 备记录的特定位置、WiFi网络的名称,以及任何其他用户特定信息。例 如,匿名上下文数据可以指定用户在相同位置时20%的时间是执行某项任 务,但是不指定哪个任务或位置。
在示例操作中,第一阶段1210基于电子设备的上下文数据执行任务特 定的建模。在一些示例中,执行任务特定的建模包括确定多个任务(例 如,先前由电子设备执行的一个或多个任务和/或可由电子设备执行的一个 或多个任务)中的每一者的一个或多个概率(例如,任务概率)。以这种 方式确定的每个任务概率指示用户将在给定电子设备的上下文的情况下执 行任务的可能性。
在一些示例中,以这种方式确定任务概率包括基于上下文数据生成和/ 或更新一个或多个直方图。例如,第一阶段1210可以为每个任务生成相应 的一组直方图,指示用户在给定电子设备的各种上下文的情况下执行任务 的概率。在一些示例中,与任务相关联的每个直方图对应于单个类型的上 下文。作为示例,与用于启用恒温器的任务相关联的第一直方图可以是位 置上下文直方图。针对用户先前在其中启用恒温器的多个位置中的每一个,位置上下文直方图可以指示用户在该位置处启用恒温器的概率。与用 于启用恒温器的任务相关联的第二直方图可以是WiFi上下文直方图。针对 电子设备先前连接到的多个WiFi网络中的每一个,WiFi上下文直方图可以 指示当电子设备连接到WiFi网络时用户启用恒温器的概率。应当理解,电 子设备的上下文数据可以包括任何数量的上下文类型。因此,任务可以与 任何数量的直方图相关联。
在一些示例中,为了确定给定特定上下文情况下的任务的任务概率, 第一阶段1210可以在给定上下文的情况下确定每个上下文类型的相应概率 (例如,如与任务相关联的每个直方图所指示的)并且基于上下文类型的 概率确定任务概率。
在一些示例中,确定任务概率还可包括使用上下文权重调整上下文数 据。如所描述的,每个上下文类型可以与权重相关联。因此,在基于上下 文概率确定任务概率之前,可以通过对应的上下文权重调整(例如,乘 以)每个上下文概率。
在一些示例中,由第一阶段1210提供的任务概率是独立于参数的。也 就是说,可以针对每个任务确定任务概率(例如,生成的直方图),而无 需考虑用于执行任务的特定参数值。作为示例,第一阶段1210可以确定用 户在给定特定上下文情况下(例如,在特定时间)发送文本消息的概率, 但是可以放弃确定指向文本消息的接收人或文本消息内容的概率(例如, 文本、图像)。作为另一示例,第一阶段1210可以确定用户在到达家中时 将启用恒温器的概率,但是放弃确定指向恒温器的温度阈值的任何概率。
在一些示例中,第一阶段1210响应于任务的执行更新上下文数据。在 一些示例中,以这种方式更新上下文数据包括更新所执行任务的一个或多 个直方图。
通常,第二阶段1220基于电子设备的上下文数据执行参数特定的建 模。在一些示例中,执行参数特定的建模包括确定一组参数的概率(例 如,参数概率),所述概率指示用户在给定任务(例如,先前由电子设备 执行的任务)的情况下针对该组参数的每个参数选择特定值的可能性。参 数概率可以指示用户针对单个参数选择特定值(并且没有其他值)的可能 性,并且/或者可以指示用户针对多个参数(例如,组合)选择特定值的可 能性。
例如,在操作期间,第二阶段1220基于上下文数据提供一组任务。在 一些示例中,为了提供该组任务,第二阶段1220识别多个任务并根据它们 相应的任务概率对任务进行排序。在一些示例中,第二阶段1220识别先前 由电子设备执行的一个或多个任务。在一些示例中,第二阶段1220可以省 略以一定频率发生的任务类型,所述频率超过频率阈值。
此后,第二阶段1220确定识别的任务中的哪些与N(例如,N=10) 个最高相应任务概率相关联(由第一阶段1210确定),并且将与该N个最 高排序任务概率相关联的N个任务提供为任务集。在一些示例中,确定识 别的任务中的哪个与N个最高任务概率相关联包括确定在给定电子设备的 任何上下文情况下哪些任务与N个最高任务概率相关联。在其他示例中, 确定识别的任务中的哪个与N个最高任务概率相关联包括确定在电子设备 的当前上下文情况下哪些任务与N个最高任务概率相关联。
在一些示例中,一旦第二阶段1220识别出一组任务,第二阶段1220 基于上下文数据确定该组任务中的每个任务的参数概率。在一些示例中, 第二阶段1220使用电子设备的上下文数据的子集确定参数概率。作为示 例,第二阶段1220可以使用在阈值时间量(例如,在前30天)内接收的 上下文数据确定参数概率。作为另一示例,第二阶段1220可以使用与在其 中执行该组任务中的每个任务的最近N个(例如,N=100)实例对应的上 下文数据确定给定任务的参数概率。例如,在其中第二阶段1220针对指向 发送文本消息的任务确定参数概率的示例中,第二阶段1220使用与电子设 备发送消息的最后N个实例相对应的上下文数据确定任务的参数概率。
在一些示例中,确定参数概率包括基于上下文例如实时生成和/或更新 一个或多个直方图。例如,第二阶段1220可以为每个任务生成相应的一组 直方图,指示用户在给定任务情况下针对该参数选择特定参数值的概率。 在一些示例中,与任务相关联的每个直方图对应于单个参数。因此,每个 直方图可以表示用于执行任务的参数的值随时间的分布。
在一些示例中,第二阶段1220基于电子设备的当前上下文确定参数概 率。例如,这可以降低提供参数概率所需的计算复杂性。作为示例,在操 作期间,第二阶段1220可以确定电子设备处于特定位置。因此,在确定参 数概率时,第二阶段1220可以确定当设备在确定位置时先前所使用参数值 的概率。
在示例操作中,第二阶段1220可以基于上下文数据确定可用于发送文 本消息的一个或多个参数值的概率。例如,第二阶段1220可以基于上下文 数据(例如,电子设备的先前使用)确定文本消息的接收人是第一联系人 的概率为20%,并且文本消息的接收人是第二联系人的概率为30%。第二 阶段1220还可确定文本消息包括第一有效载荷(例如,字符串、图像)的 概率为40%,并且文本消息包括第二有效载荷的概率为55%。在一些示例 中,第二阶段1220可以进一步确定参数值的一个或多个组合的概率。第二 阶段1220可以确定文本消息的接收人是第一联系人并且文本消息包括第一 有效载荷的可能性为20%。第二阶段1220可以进一步确定文本消息的接收 人是第一联系人并且文本消息包括第二有效载荷的可能性为15%。应当理 解,该示例不旨在是限制性的,并且第二阶段1220可以确定任何数量和/或 组合的参数值的概率。
在一些示例中,第二阶段1220周期性地(例如,每7.5分钟)并且/或 者响应于事件(例如,电子设备的上下文的改变)确定参数概率。作为示 例,可以响应于电子设备的位置或环境的改变(例如,电子设备从房屋移 动到汽车)、电子设备的电池的充电水平的改变、电子设备的配置的改变 (例如,应用程序的安装或删除),以及/或者电子设备的连接的改变(例 如,连接或断开与网络的连接)确定可能性。
在一些示例中,一旦第一阶段1210和第二阶段1220分别确定了任务 概率和参数概率,第三阶段1230可选地调整一个或多个概率。在一些示例 中,第三阶段1230调整任务概率。例如,可以基于与任务概率相关联的任 务的类型调整任务概率。除此之外或另选地,在一些示例中,第三阶段 1230调整(例如,增加、减小)参数概率。作为示例,可以增加与相对较 高数量的参数(例如,3个或更多个)相关联的参数概率,并且/或者可以 减小具有相对较少数量的参数(例如,2个或更少)的任务的参数概率。作 为另一示例,可以增加第一类型的参数的参数概率,并且/或者可以减小不 具有指定的一个或多个特定类型的参数的第二类型参数的参数概率。具体 地讲,可以增加相对具有判别性的参数类型诸如字符串的参数概率,并且/ 或者可以减小相对非判别性参数类型诸如布尔值的参数概率。作为又一示例,可以增加由上下文数据指示的具有相对较高的熵(例如,值的变化) 的参数的参数概率,并且/或者可以减小由上下文数据指示的具有相对较低 的熵的参数的参数概率。
一旦调整了概率,第三阶段1220确定每个任务的任务概率和参数概 率。在一些示例中,第三阶段1220识别每个任务的最高参数概率。在其他 示例中,第三阶段1220识别任务的若干参数概率。在一些示例中,出于提 供任务建议的目的,如下所述,具有多个参数概率的任务可被视为针对每 个参数概率的单独任务(例如,具有第一组参数值的任务被视为不同于具 有第二组参数值的任务)。如所描述的,每个参数概率可以对应于单个参 数值并且/或者可以对应于多个参数值。
在一些示例中,在已经(可选地)调整概率之后,第三阶段1230基于 任务概率和与任务相关联的参数概率针对每个任务确定任务是否满足建议 标准。
在一些示例中,确定任务是否满足建议标准包括基于任务概率和任务 的参数概率提供任务的联合概率,并且确定联合概率是否超过概率阈值。 在一些示例中,通过将任务概率与参数概率相乘提供联合概率。在一些示 例中,如果第三阶段1230确定联合概率超过概率阈值,则第三阶段1230 确定与联合概率相关联的任务满足建议标准。
在一些示例中,一旦第三阶段1230确定(例如,识别)满足建议标准 的任务,第三阶段1230即将与该任务相关联的任务(以及对应的参数值) 提供为任务建议。在一些示例中,第三阶段1230将满足建议标准的所有任 务提供为任务建议。在其他示例中,第三阶段1230提供满足建议标准的任 务的子集作为任务建议。例如,第三阶段1230可提供与相应最高联合概率 相关联的任务作为任务建议。
继而,电子设备针对每个任务建议确定是否显示与任务建议相对应的 建议示能表示。在一些示例中,这包括确定任务建议是否满足第一建议标 准和/或第二建议标准。在一些示例中,确定任务建议是否满足第一建议标 准和/或第二建议标准包括确定与任务建议相关联的联合概率是否分别满足 第一显示阈值和第二显示阈值。
例如,如果任务建议的联合概率满足第一显示阈值,则在第一用户界 面(例如,图8N的搜索屏幕界面866)中显示对应于任务建议的建议示能 表示。如果对应于任务建议的联合概率满足第二显示阈值,则附加地或另 选地在第二用户界面(例如,图8B的锁定屏幕界面810)中显示对应于任 务建议的建议示能表示。在一些示例中,第一显示阈值与概率阈值相同。 在一些示例中,第二显示阈值大于第一显示阈值。
如果用户随后选择建议示能表示,则电子设备响应于建议示能表示的 选择选择性地执行任务,如参考图8A至图8AF所描述的。如果任务是后 台任务(例如,不需要用户确认的任务),则电子设备执行任务,如所描 述的。如果任务不是后台任务(例如,在任务执行之前要求用户确认和/或 附加用户输入的任务),则电子设备显示请求确认和/或来自用户的附加输 入的界面。在一些示例中,用户可以通过选择确认界面的确认示能表示确 认任务的执行。
在一些示例中,可以响应于电子设备的上下文的改变(例如,电子设 备的位置的改变,用户将设备连接到耳机或者从耳机断开设备的连接)修 改建议示能表示的显示。作为示例,响应于上下文的改变,电子设备可以 停止显示一个或多个显示的建议示能表示,而是显示一个或多个新建议示 能表示,并且/或者以新顺序显示建议示能表示。以这种方式修改建议示能 表示的显示可包括使用电子设备的当前上下文(例如,响应于检测到电子设备的上下文的改变)确定一组新的建议,并且显示那些满足建议标准和/ 或显示标准的任务建议的一个或多个建议示能表示,如所描述的(回想在 一些示例中,仅使用最高得分的任务建议显示建议示能表示)。修改建议 示能表示的显示还可包括根据上下文停止显示不满足建议标准和/或显示标 准的任务建议的建议示能表示。在一些示例中,以对应于电子设备的上下 文的顺序,以及/或者对应于与建议示能表示相关联的相应联合概率排序的顺序显示建议示能表示。因此,电子设备的上下文的改变可以使电子设备 改变显示建议示能表示的顺序。
在一些示例中,确定任务是否满足建议标准还包括确定是否已经满足 启发式标准。例如,第三阶段1230(或任务建议系统1200的任何其他阶 段)可确定是否已经满足一组或多组预先确定的条件。如果是,第三阶段 1230为对应于已经满足的每组预先确定条件的任务提供任务建议(例如, 启发式任务建议)。作为示例,电子设备可基于用户的位置和用户的日历 确定用户将要迟到会议(例如,用户将不能准时到达)。因此,电子设备 可以为用户提供启发式任务建议,以向会议组织者发送文本消息告知用户 将要迟到。电子设备可以依次显示与启发式任务建议相对应的建议示能表 示。
在一些示例中,以这种方式提供的任务建议具有100%的联合概率,使 得任务建议总是满足用于显示的阈值。在一些示例中,如果用户未能选择 先前由电子设备显示的相同类型的任务建议,则以这种方式提供的任务建 议可具有小于100%的联合概率。因此,以这种方式提供的任务建议的联合 概率可根据用户行为增加或减少(例如,衰减)。
在一些示例中,启发式任务建议的建议示能表示结合任务建议的示能 表示显示。在其他示例中,启发式任务建议的建议示能表示不与任务建议 的建议示能表示一起显示。例如,在一些示例中,启发式任务建议的建议 示能表示的显示覆盖(例如,排除)任务建议的建议示能表示的显示。
在一些示例中,在给定时间可以仅满足单组预先确定的条件,使得在 任何给定时间仅提供单个启发式任务建议。因为,在一些示例中,基于除 了上下文数据之外的一组条件(例如,一组硬编码规则)提供启发式任务 建议,启发式任务建议可允许电子设备针对任务提供电子设备先前未提供 的建议。
下表列出了可用于提供启发式任务建议的各组示例性预先确定的条 件。应当理解,这些组不是限制性的。另外,该表列出了使电子设备停止 显示对应于启发式任务建议的建议示能表示的条件。在一些示例中,电子 设备响应于满足所有条件而停止显示建议示能表示。在一些示例中,电子 设备响应于满足任何数量的条件停止显示建议示能表示。
Figure BDA0002431894650000991
Figure BDA0002431894650001001
Figure BDA0002431894650001011
图13示出了根据各种示例的用于提供建议的方法1300。例如,使用 实施任务建议系统诸如图12的任务建议系统1200的一个或多个电子设备 执行方法1300。在一些示例中,使用客户端-服务器系统(例如,系统 100)来执行方法1300,并且在服务器(例如,DA服务器106)和客户端 设备之间以任何方式来划分方法1300的框。在其他示例中,在服务器和多个客户端设备(例如,移动电话和智能手表)之间划分方法1300的框。因 此,虽然方法1300的部分在本文中被描述为由客户端-服务器系统的特定设 备执行,但应当理解,方法1300不限于此。在其他示例中,利用仅客户端 设备(例如,用户设备104)或仅多个客户端设备来执行方法1300。在方法 1300中,一些框被可选地组合,一些框的次序被可选地改变,并且一些框 被可选地省略。在一些示例中,可结合方法1300来执行附加步骤。
如本文所述,选择性地提供与任务相关联的建议示能表示允许用户有 效且方便地在电子设备上执行与用户相关的任务。作为示例,由电子设备 显示的建议示能表示可对应于基于电子设备的上下文数据(诸如指示用户 先前使用电子设备的上下文数据)识别的任务。因此,以这种方式选择性 地提供建议减少了用户操作电子设备所需的输入数量和时间量(例如,通 过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),这又降低了电力使用并延长了设备的电池寿命。
在一些示例中,电子设备包括键盘、鼠标、麦克风、显示器和触敏表 面中的一者或多者。在一些示例中,显示器是触敏显示器。在其他示例 中,显示器不是触敏显示器。
在框1305处,电子设备(例如,设备104、200、400、600或实施任 务建议系统1200的另一设备)接收与电子设备相关联的上下文数据。在一 些示例中,接收上下文数据包括在执行任务时确定电子设备的上下文(例 如,确定设备的位置,设备是否连接到WiFi网络等)。在一些示例中,上 下文数据指示给定一个或多个条件下的电子设备的状态。在一些示例中, 上下文数据指示当执行多个任务中的每个任务时电子设备的各种上下文方 面。在一些示例中,上下文数据指示电子设备的位置,设备是否连接到网 络(例如,WiFi网络),并且如果是,指示网络的名称(例如,SSID), 执行任务的时间和/或日期,以及耳机是否已连接。在一些示例中,确定电 子设备的上下文包括确定电子设备的位置,确定电子设备是否连接到网 络,确定一天中的时间或其任何组合。在一些示例中,如果任务先前已经 作为建议任务呈现给用户(例如,使用建议示能表示),则上下文数据指 示用户对建议做出响应的方式(例如,用户是否与建议进行交互、删除建 议、忽略建议等)。
在一些示例中,根据相应的权重(例如,使用点乘法)为每种类型的 上下文数据分配得分。在一些示例中,以这种方式利用的权重的相应量值 由服务器使用匿名聚合数据确定,使得数据以隐私保护方式被利用。
在一些示例中,在使用电子设备期间例如使用多个数据捐赠机制从应 用程序获得上下文数据。在一些示例中,使用API调用从应用程序获得上 下文数据,该API调用使应用程序指示用户在API调用时正在执行的操作 (例如,如果用户在“记事本”应用程序中,则调用返回记事本的ID和/或 记事本的名称)。在一些示例中,接收上下文数据包括接收对应于任务的 数据结构(例如,标准化的意图对象,第三方应用程序意图对象)以及与 该任务相关联的一个或多个参数。在一些示例中,使用API调用从应用程 序获得上下文数据,该API调用使应用程序捐赠指示由应用程序执行的任 务的标准化数据结构。在一些示例中,该数据结构是意图对象。在一些示 例中,使用指示由应用程序执行的任务的应用程序特定(例如,第三方应 用程序)数据结构从应用程序获得上下文数据。在一些示例中,第三方数据结构还指示任务的哪些参数可以一起预测以及/或者任务是否是后台任务 (例如,执行任务之前无需附加输入的任务)。在一些示例中,应用程序 在每次用户执行任务时捐赠上下文数据。在一些示例中,应用程序例如基 于电子设备的上下文选择性地捐赠上下文数据(例如,如果设备的电池电 量水平低于阈值,应用程序可以放弃提供上下文数据)。
在框1310处,电子设备基于上下文数据确定任务的任务概率。在一些 示例中,使用上下文数据,电子设备采用多阶段模型提供建议。在一些示 例中,在模型的第一阶段(1210),电子设备确定多个任务中每个任务的概 率,该概率指示用户在给定特定上下文的情况下执行任务的可能性。在一 些示例中,确定任务的任务概率包括基于上下文数据并针对多种类型的上 下文中的每一种生成对应于任务的直方图。在一些示例中,识别任务概率包括使用在电子设备的使用期间由应用程序提供的数据提供(例如,生 成)一个或多个直方图。在一些示例中,以这种方式提供的直方图指示用 户行为的模式。作为示例,每个直方图可指示用户在给定特定上下文情况 下采取特定动作的概率(例如,当连接到特定WiFi网络时,用户选择特定 音乐应用的概率是80%))。在一些示例中,任务概率是独立于参数的。也就是说,在一些示例中,电子设备使用与任务相关联的上下文数据确定 任务概率,而不管用于执行任务的参数如何。在一些示例中,以这种方式 确定的任务概率是参数特定的。
在框1315处,电子设备基于上下文数据确定参数的参数概率,其中参 数与任务相关联。在一些示例中,在模型的第二阶段(1220),电子设备确定 多个任务的每一者的概率(例如,条件概率),其指示用户使用每个任务 的特定参数的可能性。在一些示例中,基于上下文数据确定参数的参数概 率包括确定电子设备的当前上下文,并且基于电子设备的当前上下文确定 参数概率(例如,确定电子设备的上下文并根据电子设备的上下文确定参数概率(例如,确定电子设备的位置并确定关于确定位置的参数概 率))。在一些示例中,电子设备保持每个任务类型的最近N个(例如, 100)任务的列表。例如,电子设备可跟踪哪些参数先前用于执行紧接先前 的N个任务中的每一个。在一些示例中,电子设备仅跟踪特定类型的任务 (例如,不跟踪易于访问的功能,以便确保由电子设备最终提供的建议具 有相对较高的判别性和/或加速性)。在一些示例中,电子设备识别在第一 阶段(1210)评估的多个任务的子集,并且仅确定任务子集中的任务的概率。 在一些示例中,由电子设备识别的子集包括与在第一阶段确定的最高概率 相关联的任务。在一些示例中,电子设备仅使用当前相关的上下文数据计 算条件概率(即针对当前由电子设备的上下文满足的上下文信号(例如, 设备的当前位置而非其他位置))。这样,减少了实施模型第二阶段所需 的计算需求—仅考虑来自第一阶段的高得分任务,并且仅针对当前应用的 上下文信号。因此,设备的使用可以更有效,从而减少提供任务建议所需 的时间和功率。在一些示例中,电子设备周期性地以这种方式确定概率。 在一些示例中,电子设备响应于特定事件(例如,删除电子设备上的应用 程序)以这种方式确定概率。
基于电子设备的上下文确定概率(例如,任务概率、参数概率)确保 了基于用户先前对电子设备的使用情况提供由电子设备提供的任务建议, 如本文所述。这继而确保了向用户提供对应于电子设备的典型使用的突出 任务建议,并且因此向用户提供具有相对较高可能性加速用户行为的建 议。因此,以这种方式提供建议减少了用户操作电子设备所需的输入数量 和时间量(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交 互时的用户错误),这又降低了电力使用并延长了设备的电池寿命。
在框1320处,电子设备基于任务概率和参数概率确定任务是否满足建 议标准。在一些示例中,在模型的第三阶段(1230),电子设备在给定上下文 数据和电子设备的当前上下文情况下确定是否有任何识别的任务满足概率 阈值,使得电子设备应提供任务的一个或多个作为建议。在一些示例中, 如果多于一个任务满足阈值,则电子设备仅选择最高得分任务。在一些示 例中,使用第一阶段和第二阶段的概率的每一者对任务进行评分。在一些 示例中,以这种方式确定概率包括乘以概率。作为示例,电子设备可以将 任务的概率(即使用模型的第一阶段确定的)与给定相应参数或参数组合 的任务的每个概率(即使用模型的第二阶段确定的)相乘。在一些示例 中,实施附加的评分调整以调整概率。此类调整基于参数数量(例如,更 多数量的参数导致更高的得分)、参数类型(例如,更具判别性的参数诸 如字符串而非布尔值导致更高的得分),以及由上下文数据指示的事件历 史过程中的参数熵(例如,更高的熵(即更高的变化)导致更高的得 分)。在一些示例中,不同的阈值用于在电子设备的不同界面上显示。如 果满足第一阈值,电子设备可在搜索用户界面(866)上显示建议;并且如果 满足第二阈值,电子设备可附加地或另选地在锁定屏幕界面上显示建议 (810)。
在框1325处,根据确定任务满足建议标准,电子设备在电子设备的显 示器上显示与任务和参数对应的建议示能表示。在一些示例中,如果满足 概率阈值,则电子设备在显示器上显示一个或多个建议示能表示。在一些 示例中,建议示能表示可以在多个界面中显示-锁定屏幕UI(810)、搜索屏 幕UI(866)和/或数字助理UI(1604)。在一些示例中,显示对应于任务和参 数的建议示能表示包括:根据确定任务满足第一组建议标准(例如,第一 概率阈值),在第一用户界面上显示建议示能表示(810);并且根据确定任 务满足第二组建议标准(例如,第二概率阈值),在不同于第一用户界面 的第二用户界面上显示建议示能表示(866、1604)。
在框1330处,根据确定任务不满足建议标准,电子设备放弃显示建议 示能表示。
在一些示例中,任务概率是第一任务概率,任务是第一任务,参数概 率是第一参数概率,并且参数是第一参数。在一些示例中,电子设备基于 上下文数据确定第二任务的第二任务概率;基于上下文数据确定第二参数 的参数概率,其中第二参数与第二任务相关联;并且基于第二任务概率和 第二参数概率确定第二任务是否满足建议标准。
在一些示例中,选择示能表示是第一选择示能表示,并且确定任务是 否满足建议标准包括确定是否已经满足启发式标准。在一些示例中,根据 确定已经满足启发式标准,电子设备显示对应于另一个任务的第二选择示 能表示。在一些示例中,可以根据一个或多个启发法覆盖建议。在一些示 例中,每个启发法是一条规则(例如,脚本和/或硬编码规则),其指示一 组条件,当满足时,使得电子设备指定对应于条件的建议。在一些示例 中,每个启发式建议被认为具有最大概率(例如,100%),使得启发法被 自动视为最佳结果,而不管电子设备评估的任何其他建议。在一些示例 中,如果向用户呈现启发法的建议并且用户拒绝执行与该建议相关联的任 务,则启发法的概率衰减。在一些示例中,启发法被配置为使得不能同时 满足两组条件。在一些示例中,启发法是未由电子设备执行的任务的建议,并且/或者依赖于电子设备的上下文(例如,文本会议的组织者,基于 交通状况用户将迟到)。
在一些示例中,在显示建议示能表示之后,电子设备检测对应于建议 示能表示的选择的第一用户输入,并且响应于检测到第一用户输入,选择 性地执行任务。在一些示例中,使用触摸输入(816)、手势或其组合选择建 议示能表示(806)。在一些示例中,使用语音输入选择建议示能表示。在一 些示例中,响应于建议示能表示的选择,电子设备自动执行任务,电子设 备启动与任务相关联的应用程序,并且/或者电子设备显示用户界面,用户可以通过该用户界面确认任务。在一些示例中,选择性地执行任务包括: 根据确定任务是第一类型的任务,执行任务;并且根据确定任务是第二类 型的任务,显示包括确认示能表示(824)的确认界面(820)。
以上参考图13描述的操作可选地由图1至图4、图6A至图6B和图 7A至图7C描绘的部件来实现。例如,方法1900的操作可由本文所述的任 何设备或其部件实现,包括但不限于设备104、200、400、600和1200。本 领域的普通技术人员会清楚地知道如何基于在图1至图4、图6A至图6B 和图7A至图7C中所描绘的部件来实现其他过程。
图14示出了根据各种示例的用于执行任务的序列1400。图14还用于 示出下面描述的一个或多个过程,包括图15的方法1500。在一些示例中, 可选地组合序列1400的一个或多个操作,可选地改变操作的顺序,并且/或 者可选地省略一些操作。在一些示例中,附加步骤可与序列1400结合执 行。此外,除非另有说明,否则“序列”的使用并不旨在要求特定的相互 作用顺序。
如本文所述,可以使用电子设备1404和服务器1406执行序列1400的 操作。电子设备1404可以是设备104、200、400和600(图1、图2A、图 4和图6A至图6B)中的任何一个,并且服务器1406可以是DA服务器106(图1)。应当理解,在一些示例中,可以使用一个或多个替代或附加 设备执行序列1400的操作。作为示例,可以使用多个电子设备执行被描述 为由电子设备1404执行的序列1400的一个或多个操作。
通常,可以例如响应于自然语言语音输入实施过程1400的操作以执行 任务。如下面进一步详细描述的,可以将自然语言语音输入提供给电子设 备,并且具体地,提供给电子设备的数字助理。作为响应,确定自然语言 语音输入是否包括预先确定的短语(例如,语音快捷方式)。该确定可以 由电子设备和/或另一设备进行。如果确定自然语言语音输入包括预先确定 的短语,电子设备执行与预先确定的短语相关联的任务。如果不包括,则 使用自然语言处理来处理自然语言语音输入以确定与自然语言语音输入相 关联的任务,并且电子设备执行使用自然语言处理确定的任务。
在操作1410处,电子设备1404接收(例如,经由麦克风)自然语言 语音输入。在一些示例中,电子设备1404接收指示指向电子设备1404的 数字助理的请求的自然语言语音输入。例如,自然语言语音输入可以包括 语音触发,其可以例如激活数字助理。在一些示例中,自然语言语音输入 可以包括可以指向数字助理的任何请求。作为示例,自然语言输入“提供 到星巴克的路线”可以请求电子设备1404的数字助理提供从电子设备的位 置到最近的星巴克位置的驾驶路线。
在一些示例中,从另一设备诸如通信地耦接到电子设备的设备(例 如,智能手表)接收自然语言语音输入。在一些示例中,通过电子设备和 另一设备之间的自组织连接提供自然语言语音输入。在其他示例中,通过 多跳网络诸如互联网提供自然语言语音输入。
在一些示例中,自然语言语音输入包括预先确定的短语(例如,语音 快捷方式),诸如参考图10A至图10AF描述的那些。如所描述的,预先 确定的短语可以与一个或多个任务相关联,当被提供给电子设备的数字助 理时,使得电子设备执行与该短语相关联的一个或多个任务。
在操作1415,电子设备1404将自然语言语音输入提供给服务器 1406。在一些示例中,向服务器1406提供自然语言语音输入包括向服务器 1406提供自然语言语音输入的表示(例如,文本表示、空间表示、音频表 示)。例如,可以使用语音到文本处理模块诸如在一些示例中的STT处理 模块730提供文本表示。
在操作1420,服务器1406接收从电子设备1404输入的自然语言语 音,并且确定自然语言语音输入是否满足语音快捷方式标准。在一些示例 中,确定自然语言语音输入是否满足语音快捷方式标准包括:确定自然语 言语音输入或自然语言语音输入的文本表示是否匹配与电子设备用户相关 联的一个或多个预先确定的短语(例如,语音快捷方式)中的任何一个。 在一些示例中,确定自然语言语音输入是否匹配预先确定的短语包括确定 自然语言语音输入是否与一个或多个预先确定的短语完全匹配。在其他示 例中,确定自然语言语音输入是否与预先确定的短语匹配包括确定自然语 言语音输入与每个预先确定的短语之间的相似度是否超过相似度阈值。
如果服务器1406确定自然语言语音输入满足语音快捷方式标准(例 如,服务器1406确定自然语言语音输入与预先确定的短语匹配),服务器 1406识别与匹配的预先确定的短语相关联的任务。在一些示例中,以这种 方式识别任务包括确定任务的一个或多个参数的值。作为示例,对于对应 于订购咖啡任务的短语“咖啡时间”,服务器1406可以确定咖啡的大小、 咖啡的类型和/或交易的支付方式。参数值可以由用户指定(例如,在将短 语与任务相关联时),基于电子设备的上下文(例如,电子设备的位置) 确定,并且/或者分配默认参数值。
如果服务器1406确定自然语言语音输入不满足语音快捷方式标准,服 务器1406可选地使用自然语言处理模块诸如自然语言处理模块732处理自 然语言语音输入(或其文本表示)。在一些示例中,电子设备1404提供自 然语言语音输入的音频表示,并且使用自然语言语音处理来处理自然语言 语音输入以确定任务包括例如使用STT处理模块730提供自然语言语音输 入的一个或多个候选文本表示(例如,文本串)。每个候选文本表示可与 语音识别置信度得分相关联,并且可对候选文本表示进行排序。在其他示 例中,电子设备1404提供自然语言语音输入的文本表示,并且该文本表示 被提供为候选文本表示,其中n=1。以这种方式提供作为候选文本表示的 文本表示可被分配以最大的语音识别置信度得分,或任何其他语音识别置 信度得分。
确定任务可进一步包括基于n最佳(例如,最高排序)候选文本表 示,例如使用自然语言处理模块732提供一个或多个候选意图。候选意图 中的每一个可与意图置信度得分相关联,并且候选意图可进行相应地排 名。在一些示例中,针对每个候选文本表示识别多个候选意图。另外,在 一些示例中,针对每个识别的候选意图生成结构化查询(部分地或全部 地)。之后,基于m最佳(例如,最高排名)候选意图,例如使用任务流 处理模块736来确定候选任务。在一些示例中,基于针对m个最佳(例 如,最高排序)候选意图的每一者的结构化查询来识别候选任务。例如, 如上所述,可以根据一项或多项任务流,诸如任务流754来实现结构化查 询,以确定与候选意图相关联的任务。例如,可以基于置信度得分和/或电 子设备的上下文将关联得分分配给每个候选任务,并且可以选择具有最高 得分的任务作为任务。
在操作1425,电子设备1404从服务器1406接收任务。如所描述的, 该任务可以是与用户的一个或多个预先确定的短语相关联的任务,或者可 以使用自然语言处理识别。在一些示例中,电子设备还接收要在执行接收 的任务中使用的一个或多个参数值。
在操作1430,电子设备执行任务;并且可选地,在操作1435,提供指 示任务是否成功执行的输出(例如,自然语言输出)。在一些示例中,该 输出可以由电子设备的数字助理提供。
在一些示例中,执行任务包括使另一设备执行任务。例如,电子设备 可以确定任务更适合于在另一设备上执行,并且/或者确定该任务必须在另 一设备上执行(例如,电子设备没有显示器并且不能执行需要显示界面的 任务)。因此,电子设备可以将任务提供给另一设备并且/或者使另一设备 执行任务。
在一些示例中,执行任务包括使第三方应用程序执行任务。作为示 例,语音快捷方式“关闭车库”可以使第三方家庭自动化应用程序关闭车 库门。在一些示例中,第三方应用程序提供指示任务是否成功执行的响 应。
在一些示例中,由第三方设备的数字助理提供的输出基于应用程序提 供的响应。作为示例,由应用程序提供的响应可以包括自然语言表达,诸 如“车库门成功关闭”。电子设备,并且更具体地,电子设备的数字助理 可以接收响应并且基于响应的自然语言表达提供自然语言输出。在一些示 例中,自然语言输出可以是音频输出。例如,电子设备可以提供自然语言 输出,陈述“家庭自动化指示‘车库门成功关闭’”。应用程序以这种方 式提供的响应可以指示任务是否成功执行,并且/或者向用户提供其他信息 (例如,响应于对公交时刻表的请求的当前公交时间)。
在一些示例中,执行由服务器1406提供的任务包括执行多个任务。作 为示例,执行任务可包括使第一应用程序执行第一任务,并且使第二应用 程序执行与第一任务不同的第二任务。
虽然这里关于提供给服务器1406的自然语言语音输入进行了描述(操 作1415),但是在一些示例中,电子设备确定自然语言语音输入是否满足 代替或与服务器1406并行的语音快捷方式标准。
图15示出了根据各种示例的用于执行任务的方法1500。例如使用实 施数字助理的一个或多个电子设备来执行方法1500。在一些示例中,使用 客户端-服务器系统(例如,系统100)来执行方法1500,并且在服务器 (例如,DA服务器106)和客户端设备之间以任何方式来划分方法1500 的框。在其他示例中,在服务器和多个客户端设备(例如,移动电话和智 能手表)之间划分方法1500的框。因此,虽然方法1500的部分在本文中 被描述为由客户端-服务器系统的特定设备执行,但应当理解,方法1500不 限于此。在其他示例中,利用仅客户端设备(例如,用户设备104)或仅多个 客户端设备来执行方法1500。在方法1500中,一些框被可选地组合,一些 框的次序被可选地改变,并且一些框被可选地省略。在一些示例中,可结 合方法1500来执行附加步骤。
如下所述,如本文所述响应于自然语言语音输入(例如,语音快捷方 式)执行任务提供了用于在电子设备上执行任务的直观且有效的方法。作 为示例,可以响应于自然语言语音输入执行一个或多个任务,而无需来自 用户的任何附加输入。因此,以这种方式响应于自然语言语音输入执行任 务减少了用户操作电子设备所需的输入数量和时间量(例如,通过帮助用 户提供适当的输入并减少操作设备/与设备交互时的用户错误),这又降低 了电力使用并延长了设备的电池寿命。
在一些示例中,电子设备包括键盘、鼠标、麦克风、显示器和触敏表 面中的一者或多者。在一些示例中,显示器是触敏显示器。在其他示例 中,显示器不是触敏显示器。
在框1505,电子设备接收自然语言语音输入(例如,口头话语, 1606)(1410)。在一些示例中,接收自然语言语音输入包括从第二电子设备(例如,智能手表)接收自然语言语音输入的表示。在一些示例中,从第 二电子设备接收自然语言语音输入的表示包括通过多跳网络接收自然语言 语音输入的表示。在一些示例中,例如通过WiFi连接和/或互联网从远程设 备接收表示。在一些示例中,自然语言语音输入包括语音触发(例如, “嘿,Siri”)。
在框1510处,电子设备确定自然语言语音输入是否满足语音快捷方式 标准。在一些示例中,电子设备确定自然语言语音输入是否匹配与电子设 备的用户相关联的一个或多个语音快捷方式。在一些示例中,以这种方式 确定匹配是否存在包括确定本地和/或远程是否存在匹配。例如,在某些情 况下,电子设备确定是否存在匹配。在另一示例中,电子设备将自然语言 语音输入或其表示提供给后端服务器(1406)(1415),并且后端服务器确定是 否存在匹配(1420)。在一些示例中,确定自然语言语音输入是否满足语音快 捷方式标准包括向另一电子设备(例如,后端服务器,诸如后端自然语言 处理服务器)提供自然语言语音输入的表示(例如,文本表示、空间表 示、音频表示),并且从另一电子设备接收语音快捷方式或任务中的至少 一者(1425)。在一些示例中,电子设备和后端服务器两者都确定是否存在匹 配,并且电子设备评估两个结果以确定是否存在匹配。
在框1515处,根据确定自然语言语音输入满足语音快捷方式标准(例 如,如果自然语言语音输入与语音快捷方式匹配),电子设备识别与语音 快捷方式相关联的任务并执行与语音快捷方式相关联的任务(例如,电子 设备或另一设备(例如,后端服务器)确定与语音快捷方式相关联的任 务)(1430)。在一些示例中,执行与语音快捷方式相关联的任务包括使第一 应用程序执行第一任务,并且使第二应用程序执行不同于第一任务的第二 任务。在一些示例中,如果电子设备确定自然语言语音输入与语音快捷方 式之间存在匹配,则电子设备识别与语音快捷方式相关联的任务并执行该 任务。在一些示例中,语音快捷方式与多个任务(例如,一系列任务)相 关联,并且电子设备执行多个任务中的每个任务。在一些示例中,执行与 语音快捷方式相关联的任务包括确定与语音快捷方式相关联的任务是否是 第一类型的任务;根据确定所述语音快捷方式是所述第一类型的任务,使 用所述电子设备执行所述任务;并且根据确定语音快捷方式是与第一类型 不同的第二类型的任务,使得使用第三电子设备执行任务。在一些示例 中,电子设备通过确定任务是由电子设备执行还是由另一设备执行,从而 确定任务是否为第一类型的任务。
在框1520处,根据确定自然语言语音输入不满足语音快捷方式标准 (例如,如果自然语言语音输入与语音快捷方式不匹配),电子设备识别 与自然语言语音输入相关联的任务并执行与自然语言语音输入相关联的任 务(1430)。在一些示例中,电子设备执行自然语言处理以确定意图和/或任 务。在一些示例中,后端服务器执行自然语言处理并将任务提供给电子设 备。在一些示例中,非第一类型任务的任务是“更适合”另一设备的任 务,并且/或者不能由电子设备执行。作为示例,用户可向电话提供语音快 捷方式“播放权力的游戏”,并且电话继而使电视执行该语音快捷方式的 任务。
在语音输入不满足语音快捷方式标准的情况下对自然语言语音输入执 行自然语言处理,这确保即使语音输入不对应于语音快捷方式,仍然处理 由用户提供给电子设备的命令。这样,电子设备可以处理由用户指定的更 宽范围的命令和/或意图。因此,以这种方式执行任务减少了用户操作电子 设备所需的输入数量和时间量(例如,通过帮助用户提供适当的输入并减 少操作设备/与设备交互时的用户错误),这又降低了电力使用并延长了设 备的电池寿命。
在一些示例中,电子设备提供指示任务是否成功的自然语言输出(1435) (1616、1630、1662、1676)。在一些示例中,执行任务包括使第三方应 用程序执行任务,并且提供自然语言输出包括从第三方应用程序接收响 应,并且基于从第三方应用程序接收的响应生成自然语言输出。在一些示 例中,当使用第三方应用程序执行任务时,第三方应用程序提供指示任务 是否成功的响应。在一些示例中,该响应明确指示任务已成功执行或失 败。在一些示例中,响应包括请求的信息(例如,任务是响应于对公交时 刻表的请求检索公交时刻表)(1688),并且请求信息的返回隐式地指示任务 是成功的。在一些示例中,自然语言输出是音频语音输出。在一些示例 中,电子设备,并且更具体地电子设备的数字助理,基于应用程序的响应 生成自然语言输入,并且将生成的自然语言输出提供给用户。
以上参考图15描述的操作可选地由图1至图4、图6A至图6B和图 7A至图7C描绘的部件来实现。例如,方法1900的操作可由本文所述的任 何设备或其部件实现,包括但不限于设备104、200、400、600和1400。本 领域的普通技术人员会清楚地知道如何基于在图1至图4、图6A至图6B 和图7A至图7C中所描绘的部件来实现其他过程。
图16A至图16S示出了根据一些实施方案的用于在电子设备(例如, 设备104、设备122、设备200、设备600或设备700)上执行任务的示例 性用户界面。这些附图中的用户界面用于示出下文所述的包括图17中的过 程的过程。
图16A示出了电子设备1600(例如,设备104、设备122、设备 200、设备600或设备700)。在图16A至图16S中示出的非限制性示例性 实施方案中,电子设备1600是智能电话。在其他实施方案中,电子设备 1600可以是不同类型的电子设备,诸如可穿戴设备(例如,智能手表)。 在一些示例中,电子设备1600具有显示器1601、一个或多个输入设备(例 如,显示器1601的触摸屏、按钮、麦克风)和无线通信无线电部件。在一 些示例中,电子设备1600包括多个相机。在一些示例中,电子设备包括仅 一个相机。在一些示例中,电子设备包括一个或多个生物识别传感器(例 如,生物识别传感器1603),其可选地包括相机,诸如红外相机、热成像 相机或其组合。
在图16A中,电子设备1600在显示器1601上显示数字助理界面(例 如,会话界面),诸如数字助理界面1604。在显示数字助理界面1604时, 电子设备1600接收(例如,获取、捕获)自然语言输入1606(例如, “嘿,Siri,帮我订购日用品。”)。在一些示例中,自然语言输入1606 是例如使用电子设备的输入设备(例如,麦克风)接收的自然语言语音输 入。如图16A所示,在其中自然语言输入1606是自然语言语音输入的一些 示例中,数字助理界面可选地包括自然语言输入1606的预览1608(例如, 实时预览)。
在一些示例中,响应于自然语言输入,电子设备1600执行任务。作为 示例,如参考图14所描述的,电子设备1600可以确定自然语言输入是否 匹配预先确定的短语,并且如果匹配,则执行对应于该短语的任务。如果 任务不对应于短语,则可以使用自然语言处理确定与自然语言输入相关联 的任务,并且电子设备1600可以执行该任务。
在一些示例中,在执行任务之前,电子设备从用户请求任务的确认。 例如,如图16B所示,一旦电子设备1600识别出与自然语言输入相对应的 任务,电子设备1600可以显示确认界面,诸如确认界面1610。确认界面 1610包括确认示能表示1612、取消示能表示1614和应用程序示能表示 1616。确认界面还可以包括与任务相关联的内容1618。在一些示例中,取 消示能表示1614的选择使得电子设备1600停止显示确认界面1610,并且/ 或者放弃执行识别的任务。在一些示例中,应用程序示能表示1616的选择 使得电子设备1600打开与任务相关联的应用程序。如所描述的,以这种方 式打开应用程序可以使应用程序预加载与任务相关联的一个或多个参数。 内容1618可以包括针对任务的信息,诸如要用于执行任务的一个或多个参 数。如图16B中所示,内容1618可指定任务指向订购包括在“我的日用品清单”组中的一组日用品项目、要订购的日用品的数量、投递地址和进行 投递的时间窗口。可选地,确认界面1610包括与任务的应用程序相关联的 图标(例如,图像、GIF),以帮助用户更容易地识别执行任务的应用程 序。
在一些示例中,响应于例如通过用户输入1620选择确认示能表示 1612,电子设备1600执行该任务。如图16C中所示,在一些示例中,在电 子设备执行任务时,电子设备1600可选地显示指示正在执行任务的过程指 示符1615。在一些示例中,过程指示符1615的显示替换确认示能表示 1612和取消示能表示1614的显示。
一旦执行了任务,电子设备1600提供指示任务是否成功执行的输出。 在图16D的示例中,任务成功执行,因此电子设备1600显示成功指示符 1616,指示任务已成功执行。在一些示例中,成功指示符1616的显示替换 过程指示符1615的显示。
在图16E的示例中,该任务未成功执行,因此电子设备显示失败界面 1621。失败界面1621包括重试示能表示1622、取消示能表示1624和应用 程序示能表示1626、1628。失败界面还包括内容1630。在一些示例中,重 试示能表示1622的选择使得电子设备1600再次执行任务。在一些示例 中,取消示能表示的选择使得电子设备1600停止显示失败界面1620。在一 些示例中,选择应用程序示能表示1626或应用程序示能表示1628的任一 者使得电子设备1600打开与该任务相关联的应用程序。如所描述的,以这 种方式打开应用程序可以使应用程序预加载与任务相关联的一个或多个参 数。内容1630可以包括针对任务的信息,例如用于执行任务的一个或多个 参数。在一些示例中,内容1630是与内容1618相同的内容。在一些示例 中,内容1630不同于内容1618。例如,内容1630可指示电子设备未能成 功执行任务(例如,“存在问题。请重新尝试。”)。
在一些示例中,执行任务可包括使应用程序执行任务,并且可选地, 从应用程序接收指示任务是否成功执行的响应。在一些示例中,如下文中 的图16F至图16L所示,应用程序提供的响应包括自然语言表达,该自然 语言表达继而可以由电子设备1600使用以指示任务是否成功执行,并且/或 者从应用程序向用户提供附加信息。
参考图16F,电子设备1600在显示器1601上显示数字助理界面(例 如,会话界面),诸如数字助理界面1654。在显示数字助理界面1654时, 电子设备1600接收(例如,获取、捕获)自然语言输入1656(例如, “嘿,Siri,来杯咖啡。”)。在一些示例中,自然语言输入是例如使用电 子设备的输入设备(例如,麦克风)接收的自然语言语音输入。如图16F 所示,在其中自然语言输入是自然语言语音输入的一些示例中,数字助理 界面可选地包括自然语言输入的预览1658(例如,实时预览)。
响应于自然语言输入1656,电子设备1600根据描述执行任务(回想 电子设备可以在一些示例中通过用户确认任务的执行)。例如,如果自然 语言输入对应于(例如,包括)预先确定的短语,则电子设备1600可以执 行与短语相关联的任务;或者如果自然语言输入不对应于预先确定的短 语,则电子设备1600可以执行与通过自然语言处理确定的自然语言输入相 关联的任务。
在一些示例中,一旦执行了任务,电子设备1600从用于执行任务的应 用程序接收响应,并且基于该响应,提供指示任务是否成功执行的输出。 在图16G的示例中,任务成功执行。因此,电子设备1600显示成功界面 1660。成功界面1660包括输出1662以及应用程序示能表示1670,输出继 而包括数字助理响应1664和应用程序响应1666。在一些示例中,应用程序 响应1666是在执行任务之后由应用程序提供的响应的至少一部分。在一些 示例中,应用程序响应1666包括内容和/或一个或多个自然语言表达。如图 16G中所示,例如,应用程序响应1666包括自然语言表达1668(例如, “您的拿铁咖啡将在20分钟内准备好”),指示任务成功执行并且/或者提 供与任务相关的信息。应用程序响应的内容诸如内容1670可包括任何类型 的内容,诸如图像、视频和/或交互式内容(例如,交互式地图)。这样, 应用程序可以指定与任务相关的附加信息。在一些示例中,数字助理响应 1664指示任务是否成功执行(例如,“好的,已订购。”)。在一些示例 中,数字助理响应1664可以例如用于向用户阐明应用程序响应1666包括 由应用程序提供的信息(例如,“咖啡应用程序指示”)。在一些示例 中,内容1670的选择使得电子设备1600打开与任务相关联的应用程序。 如所描述的,以这种方式打开应用程序可以使应用程序预加载与任务相关 联的一个或多个参数。
在图16H的示例中,任务未成功执行(例如,电子设备1600未能执行 任务)。因此,电子设备显示失败界面1674。失败界面1674包括输出 1676以及应用程序示能表示1682,输出继而包括数字助理响应1678和应 用程序响应1680。在一些示例中,应用程序响应1680是在执行任务之后由 应用程序提供的响应的至少一部分。在一些示例中,应用程序响应1680包 括内容和/或一个或多个自然语言表达。如图16H所示,例如,应用程序响 应1680包括自然语言表达1682(例如,“您的卡余额不足。打开应用以继 续。”)指示任务未成功执行,并且/或者进一步提供与任务相关的其他信 息。在一些示例中,数字助理响应1664指示任务是否成功执行(例如, “出错了。”)。在一些示例中,数字助理响应1664可以例如用于向用户阐明应用程序响应1666包括由应用程序提供的信息(例如,“咖啡应用程 序指示”)。在一些示例中,应用程序示能表示1682的选择使得电子设备 1600打开与任务相关联的应用程序。如所描述的,以这种方式打开应用程 序可以使应用程序预加载与任务相关联的一个或多个参数。
在一些示例中,以这种方式提供从应用程序接收的响应允许数字助理 在应用程序和用户之间提供通信,而无需用户打开应用程序。例如,在一 些示例中,用户可以请求来自电子设备的信息,否则用户可能必须打开应 用程序以进行检索。
例如,参考图16I,用户可以向电子设备1600提供自然语言输入,请 求关于公交时刻表的信息。继而,电子设备1600可以使对应于该任务的应 用程序检索该信息并且作为响应返回该信息,如图16J所示。如所描述 的,由电子设备1600提供的输出(例如,输出1688)可包括数字助理响应 和应用程序响应,诸如数字助理响应1690和应用程序响应1692。
在一些示例中,用户可以在电子设备1600提供对应于任务输出的时间 之前退出数字助理界面。因此,在一些示例中,电子设备1600提供的输出 可以显示在锁定屏幕界面上。参考图16K至图16L,当电子设备1600分别 处于锁定状态(图16K)或解锁状态(图16L)时,电子设备1600可以显 示对应于锁定屏界面上的任务的输出。如所描述的,当电子设备1600处于 锁定状态时,电子设备1600可以放弃显示内容。
在一些示例中,如本文所述,电子设备显示界面的方式取决于电子设 备的类型。在一些示例中,例如,电子设备1600可以实施为具有相对小的 显示器的设备,使得界面诸如数字助理界面1604或数字助理界面1654可 能不适用于显示。因此,在一些示例中,电子设备1600可显示先前描述的 那些界面的替代界面。
例如,参考图16M,电子设备1600在显示器1601上显示数字助理界 面(例如,会话界面),诸如数字助理界面1604A。在显示数字助理界面 1604A时,电子设备1600接收(例如,获取、捕获)自然语言输入1606A (例如,“嘿,Siri,来杯咖啡。”)。在一些示例中,自然语言输入 1606A是例如使用电子设备的输入设备(例如,麦克风)接收的自然语言 语音输入。如图16M所示,在其中自然语言输入1608A是自然语言语音输 入的一些示例中,数字助理界面可选地包括自然语言输入1606A的预览 1608A(例如,实时预览)。
在图16N中,响应于自然语言输入1606A,电子设备1600显示请求确 认与自然语言输入1606A相关联的任务的确认界面1610A。确认界面 1610A包括确认示能表示1612A和取消示能表示1614A。确认界面还可以 包括与任务相关联的内容1618A。在一些示例中,取消示能表示1614A的 选择使得电子设备1600停止显示确认界面1610A,并且/或者放弃执行识别 的任务(回想在一些示例中,执行任务可包括使另一设备执行任务)。内 容1618A可以包括针对任务的信息,诸如要用于执行任务的一个或多个参 数。例如,如图16B所示,内容1618A可以指定该任务针对从位于 Homestead Rd的商业场所订购大杯拿铁咖啡。
在一些示例中,响应于例如通过用户输入1620A选择确认示能表示 1612A,电子设备1600执行该任务。如图16O中所示,在一些示例中,在 电子设备1600执行任务时,电子设备1600显示指示正在执行任务的过程 指示符1614A。在一些示例中,过程指示符1615A的显示替换确认示能表 示1612A和取消示能表示1614A的显示。
一旦执行了任务,电子设备1600提供指示任务是否成功执行的输出。 在图16P的示例中,任务成功执行,因此电子设备1600显示成功指示符 1616A,指示任务已成功执行。在一些示例中,成功指示符1616A的显示 替换过程指示符1615A的显示。
在图16Q的示例中,该任务未成功执行,因此电子设备显示失败界面 1620A。失败界面1620A包括重试示能表示1622和取消示能表示1624A。 失败界面还包括内容1630A。在一些示例中,重试示能表示1622A的选择 使得电子设备1600再次执行任务。在一些示例中,取消示能表示1624A的 选择使得电子设备1600停止显示失败界面1620A。内容1630A可以包括针 对任务的信息,例如用于执行任务的一个或多个参数。在一些示例中,内 容1630A是与内容1618A相同的内容。在一些示例中,内容1630A不同于 内容1618A。例如,内容1630A可指示电子设备未能成功执行任务(例 如,“存在错误。请重新尝试。”)。
在图16R中描绘的示例中,电子设备1600接收自然语言输入(例如, “嘿,Siri,来杯咖啡。”),成功执行对应于自然语言输入的任务,并且 作为响应,显示成功界面1660A。成功界面1660A包括输出1662A,该输 出继而又包括数字助理响应1664A和应用程序响应1666A。在一些示例 中,应用程序响应1666A是在执行任务之后由应用程序提供的响应的至少 一部分。在一些示例中,应用程序响应1666A包括内容和/或一个或多个自 然语言表达。如图16R中所示,例如,应用程序响应1666A包括自然语言 表达1668A(例如,“大杯拿铁咖啡还有20分钟就好”),指示任务成功 执行并且/或者提供与任务相关的附加信息。应用程序响应的内容诸如内容 1670A可包括任何类型的内容,诸如图像、视频和/或交互式内容(例如, 交互式地图)。这样,应用程序可以进一步指定与任务相关的附加信息。 在一些示例中,数字助理响应1664A指示任务是否成功执行(例如,“好 的,已订购。”)。在一些示例中,数字助理响应1664A可以例如用于向 用户阐明应用程序响应1666A包括由应用程序提供的信息(例如,“咖啡 应用程序指示”)。
在图16S的示例中,任务未成功执行(例如,电子设备1600未能执行 任务)。因此,电子设备显示失败界面1674A。失败界面1674A包括输出 1676A,该输出继而又包括数字助理响应1678A和应用程序响应1680A。 在一些示例中,应用程序响应1680A是在执行任务之后由应用程序提供的 响应的至少一部分。在一些示例中,应用程序响应1680A包括内容和/或一 个或多个自然语言表达。如图16S所示,例如,应用程序响应1680A包括 自然语言表达1682A(例如,“不要挂断”),指示任务未被成功执行并 且/或者进一步提供与任务相关的附加信息(例如,当前设备无法打开执行 任务的应用程序)。在一些示例中,数字助理响应1664A指示任务是否成 功执行(例如,“呃,出错了。”)。在一些示例中,数字助理响应 1664A可以例如用于阐明应用程序响应1666A包括由应用程序提供的信息 (例如,“咖啡应用程序指示”)。
图17示出了根据各种示例的使用数字助理执行任务的方法1700。例 如使用实施数字助理的一个或多个电子设备来执行方法1700。在一些示例 中,使用客户端-服务器系统(例如,系统100)来执行方法1700,并且在 服务器(例如,DA服务器106)和客户端设备之间以任何方式来划分方法 1700的框。在其他示例中,在服务器和多个客户端设备(例如,移动电话 和智能手表)之间划分方法1700的框。因此,虽然方法1700的部分在本 文中被描述为由客户端-服务器系统的特定设备执行,但应当理解,方法 1700不限于此。在其他示例中,利用仅客户端设备(例如,用户设备 104)或仅多个客户端设备来执行方法1700。在方法1700中,一些框被可 选地组合,一些框的次序被可选地改变,并且一些框被可选地省略。在一 些示例中,可结合方法1700来执行附加步骤。
如本文所述,执行任务并从应用程序提供响应,这允许数字助理执行 任务并向用户提供任务反馈,而无需打开应用程序。因此,用户可以与应 用程序交互而无需打开或以其他方式直接访问应用程序。因此,减少了用 户操作电子设备所需的输入数量和时间量(例如,通过帮助用户提供适当 的输入并减少操作设备/与设备交互时的用户错误),这又降低了电力使用 并延长了设备的电池寿命。
在一些示例中,电子设备包括键盘、鼠标、麦克风、显示器和触敏表 面中的一者或多者。在一些示例中,显示器是触敏显示器。在其他示例 中,显示器不是触敏显示器。
在框1705处,电子设备利用数字助理接收自然语言语音输入(例如, 口头话语)(1606)。
在框1710处,电子设备确定与自然语言语音输入相关联的语音快捷方 式。
在框1715处,电子设备确定对应于语音快捷方式的任务。在一些示例 中,该任务是对来自第三方服务的信息的请求。在一些示例中,电子设备 确定自然语言语音输入与语音快捷方式相关联并且确定与语音快捷方式相 关联的任务。
在框1720处,电子设备使应用程序(例如,第一方应用程序、第三方 应用程序)发起任务的执行。在一些示例中,使应用程序(例如,第一方 应用程序、第三方应用程序)发起任务的执行包括显示任务执行动画。在 一些示例中,任务执行动画包括旋转圆形对象(1615)以指示任务的执行正在 发生。在一些示例中,使应用程序(例如,第一方应用程序、第三方应用 程序)发起任务的执行包括提示用户确认任务的执行。在一些示例中,一 旦确定了任务,电子设备即显示请求用户确认任务执行的确认界面 (1610、1610A)。在一些示例中,确认界面包括用户可通过其进行确认的 示能表示(1612、1612A),并且可选地,还包括取消示能表示(1614、 1614A),用户可以通过该取消示能表示使电子设备停止显示确认界面并放 弃执行任务。
在框1725处,电子设备从应用程序接收响应,其中该响应与任务相关 联。在一些示例中,当使用应用程序诸如第三方应用程序执行任务时,应 用程序提供指示任务是否成功的响应(1666、1680、1692)。在一些示例 中,该响应明确指示任务已成功执行或失败。在一些示例中,响应包括请 求的信息(例如,任务是响应于对公交时刻表的请求检索公交时刻表), 并且请求信息的返回隐式地指示任务是成功的。
在一些示例中,在接收到响应之后,电子设备显示与应用程序相关联 的应用程序用户界面(1660)。在一些示例中,在使应用程序执行任务之后, 电子设备显示与应用程序相关联的信息,并且可选地显示与任务相关联的 信息。作为示例,对于检索到特定位置的任务,电子设备显示地图,该地 图在被选择时导致相关地图应用程序的执行。在一些示例中,用户界面的 一个或多个方面由应用程序指定。在一些示例中,用户界面是字符串、图形、动画或其组合。在一些示例中,应用程序诸如第三方应用程序提供用 于在应用程序用户界面中显示的内容(例如,响应于成功交易而陈述“谢 谢”的图形)。在一些示例中,应用程序用户界面包括指示任务是否被成 功执行的输出。在一些示例中,应用程序用户界面与输出同时显示。
在框1730处,电子设备基于响应确定任务是否成功执行。
在框1735处,电子设备提供指示任务是否成功执行的输出。在一些示 例中,提供指示任务是否成功执行的输出包括,根据确定任务成功执行, 显示任务成功执行的指示,并且根据确定任务未成功执行,显示任务未成 功执行的指示。在一些示例中,电子设备显示指示任务是否成功执行的符 号(例如,对勾表示成功,“X”表示失败)。在一些示例中,电子设备显 示对勾(1616)以指示任务已成功执行。在一些示例中,电子设备显示“X” 指示任务失败。在一些示例中,电子设备显示指示任务失败的消息(例 如,“存在问题。请重新尝试。”)。在一些示例中,电子设备基于响应 生成自然语言输出,并且利用数字助理提供(例如,输出、显示)自然语 言输出。在一些示例中,进一步根据确定未成功执行任务,电子设备显示 失败用户界面(1620)。
在一些示例中,提供输出包括基于响应生成自然语言输出(1662、 1676),并且利用数字助理提供自然语言输出。在一些示例中,提供(例 如,输出、显示)自然语言输出包括提供音频语音输出。在一些示例中, 提供自然语言输出包括显示自然语言输出。在一些示例中,自然语言输出 包括对应用程序的参考。在一些示例中,自然语言输出包括应用程序的名 称或昵称。在一些示例中,响应包括自然语言表达,并且自然语言输出包 括第三方自然语言表达(例如,1666,“好的,已订购。Starbucks指示 ‘您的订单将在5分钟内准备好’)。在一些示例中,该响应包括自然语 言表达(1668、1682),并且自然语言输出包括自然语言表达的至少一部 分。在一些示例中,自然语言输出指示应用程序未成功执行任务(例如,“出错了。Starbucks指示‘您的资金不足。'”)。在一些示例中,自然语 言输出指示应用程序成功执行了任务。
如本文所述,提供输出允许数字助理例如在用户和数字助理之间的对 话(例如,会话式对话)的过程中,以直观且灵活的方式从应用程序提供 反馈和/或其他信息。作为示例,数字助理可以从应用程序向用户提供(例 如,中继)自然语言表达,使得用户可以与应用程序交互而无需打开或以 其他方式直接访问应用程序。因此,以这种方式提供自然语言输出减少了 用户操作电子设备所需的输入数量和时间量(例如,通过帮助用户提供适 当的输入并减少操作设备/与设备交互时的用户错误),这又降低了电力使 用并延长了设备的电池寿命。
在一些示例中,失败用户界面包括重试示能表示(1622)。在一些示例 中,电子设备检测对应于重试示能表示的选择的用户输入,并且响应于检 测到对应于重试示能表示的选择的用户输入,使应用程序发起任务的执 行。
在一些示例中,失败用户界面包括取消示能表示(1624)。在一些示例 中,电子设备检测对应于取消示能表示的选择的用户输入,并且响应于对 应于取消示能表示的选择的用户输入,停止显示失败用户界面。
在一些示例中,故障用户界面包括应用程序启动示能表示(1626、 1628)。在一些示例中,电子设备检测对应于应用程序启动示能表示的选 择的用户输入,并且响应于对应于应用程序启动示能表示的选择的用户输 入,启动(例如,执行、打开)应用程序。在一些示例中,用户选择(1)应 用程序启动示能表示或(2)与应用程序相关联的图标以启动应用程序。
在一些示例中,进一步根据确定任务被成功执行,电子设备显示任务 成功动画。在一些示例中,任务成功动画包括“打钩”的形状(例如,正 方形、圆形)(1616)。
以上参考图17描述的操作可选地由图1至图4、图6A至图6B和图 7A至图7C描绘的部件来实现。例如,方法1900的操作可由本文所述的任 何设备或其部件实现,包括但不限于设备104、200、400、600和1600。本 领域的普通技术人员会清楚地知道如何基于在图1至图4、图6A至图6B 和图7A至图7C中所描绘的部件来实现其他过程。
如关于图12所描述的,电子设备可基于电子设备的上下文提供建议。 然而,在某些情况下,可能还希望使用其他类型的信息(例如,用户特定 信息)提供任务建议。作为示例,指示用户在队列中的进度(例如,电视 节目剧集播放列表)的信息可以与上下文数据结合使用以提供任务建议, 如下面进一步详细描述的。
在示例操作中,电子设备可以从应用程序(例如,媒体流应用程序) 接收信息(例如,用户特定信息),诸如由应用程序针对用户识别的一组 媒体项(例如,诸如歌曲、视频、专辑、播放列表的内容)。例如,响应 于提供给应用程序的API调用,可以接收该信息。在一些示例中,该应用 程序是第三方应用程序(例如,Netflix)。在一些示例中,应用程序是远程应用程序,诸如通过网络诸如互联网通信地耦接到电子设备的远程媒体 预测服务。可以在预测任务建议之前的任何时间接收信息。
在一些示例中,该组媒体项包括由应用程序推荐给用户的媒体项。可 以基于用户访问的先前媒体项推荐项目。作为示例,应用程序可以推荐用 户访问的播放列表中的当前或下一首歌曲。在另一示例中,应用程序可以 推荐与先前访问的媒体项有关的项目,诸如与先前访问的媒体项共享相同 类别的媒体项。类别可以包括例如流派(例如,嘻哈)、年代(例如,90 年代)、活动(例如,学习、健身)、情绪(例如,快乐)、假日(例 如,圣诞节)。
在一些示例中,该组媒体项被提供为媒体项列表。在一些示例中,该 组媒体项被提供为向量。在一些示例中,该组媒体项与描述该组媒体项中 的一个或多个媒体项的回放数据组合提供。回放数据可以可选地指定用于 回放媒体项的一个或多个方面。作为示例,回放数据可以指定媒体项中的 一个或多个的特定时间(例如,用户停止回放媒体项的时间)。作为另一 示例,回放数据可以指定用于回放的语言和/或是否显示字幕。作为又一示例,回放数据可以指示用于回放媒体项的分辨率和/或比特率。
虽然这里关于从应用程序接收一组媒体项的电子设备进行描述,但是 应当理解,电子设备可以从任何数量的应用程序接收任意数量的媒体项 组。可以周期性地并且/或者响应于某个事件接收以所描述的方式(例如, 响应于API调用)接收的各组媒体项。在一些示例中,电子设备在选择性 地提供任务建议之前请求一组或多组媒体项。
在一些示例中,一旦电子设备已经接收到该组媒体项,电子设备基于 该组电子设备的媒体项和/或上下文数据确定是否提供一个或多个任务建 议,如参考图12所描述的。
作为示例,除了接收该组媒体项之外,电子设备还接收与电子设备相 关联的上下文数据,并且基于该组媒体项和上下文数据确定一个或多个任 务。例如,一个或多个任务中的至少一者可对应于该组媒体项中的媒体项 的回放。在一些示例中,对应于媒体项的回放的任务的一个或多个参数可 以基于回放数据。作为示例,任务可以对应于特定时间的媒体项的回放。
此后,如所描述的,电子设备确定一个或多个任务中的任何一个是否 满足建议标准。对于满足建议标准的一个或多个任务中的每一者,电子设 备提供任务建议并且在电子设备的显示器上显示对应于该任务建议的建议 示能表示,如所描述的。
作为另一示例,电子设备确定任务并且使用一个或多个媒体项选择性 地修改任务。例如,除了接收该组媒体项之外,电子设备还接收上下文数 据并基于上下文数据确定任务。如果任务对应于媒体项的回放,则可以修 改任务以包括该组媒体项中的某个媒体项以及/或者多个媒体项中某个媒体 项的参数。在一些示例中,在确定任务是否满足建议标准之前修改任务。 在一些示例中,在确定任务是否满足建议标准之后修改任务。
图18A至图18D示出了根据一些实施方案的用于在电子设备(例如, 设备104、设备122、设备200、设备600或设备700)上提供媒体项建议 示能表示的示例性用户界面。这些附图中的用户界面用于示出下文所述的 包括图19中的过程的过程。
图18A示出了电子设备1800(例如,设备104、设备122、设备 200、设备600或设备700)。在图18A至图18D中示出的非限制性示例性 实施方案中,电子设备1800是智能电话。在其他实施方案中,电子设备 1800可以是不同类型的电子设备,诸如可穿戴设备(例如,智能手表)。 在一些示例中,电子设备1800具有显示器1801、一个或多个输入设备(例 如,显示器1801的触摸屏、按钮、麦克风)和无线通信无线电部件。在一 些示例中,电子设备1800包括多个相机。在一些示例中,电子设备包括仅 一个相机。在一些示例中,电子设备包括一个或多个生物识别传感器(例 如,生物识别传感器1803),其可选地包括相机,诸如红外相机、热成像 相机或其组合。
在图18A中,在电子设备处于解锁状态时,电子设备1800在显示器 1801上显示锁定屏幕界面诸如锁定屏幕界面1804。锁定屏幕界面1804包 括建议示能表示1806和通知1808。在一些示例中,选择示能表示1806的 选择使得电子设备1800选择性地执行与建议示能表示相关联的任务,如关 于图8A至图8AF所描述的。建议示能表示1806对应于在媒体回放应用程 序(例如,电视应用)中回放媒体项(例如,硅谷第2季第3集)的任 务。在一些示例中,通知1808的选择使得电子设备打开与通知相关联的应 用程序。
在一些示例中,响应于例如通过用户输入1814选择建议示能表示 1806,电子设备1800执行该任务。如图16B所示,电子设备1800发起与 建议示能表示1806相关联的媒体项的回放(例如,硅谷第2季第3集)。
在一些示例中,建议示能表示可以显示在搜索屏幕上并且/或者使用电 子设备的搜索功能进行搜索。在图18C中,电子设备1800显示搜索界面 1820。在显示搜索界面1820时,响应于搜索字符串(例如,“S”)的输 入,电子设备1800返回搜索结果,包括建议示能表示1822、1828、1832, 联系人结果1834和邮件结果1836。在一些示例中,建议示能表示被呈现在 所有其他结果之上。因此,在搜索界面1820中,建议示能表示1822、1828 和1832和联系人结果1834呈现在邮件结果1836之上。
在一些示例中,以不同于其他建议示能表示的方式显示对应于回放媒 体项的任务的建议示能表示。例如,如图18C所示,建议示能表示1822包 括媒体图标1824和回放标志符号1826。在一些示例中,图标1824相对于 其他建议示能表示的图标(例如,建议示能表示1828的图标1830、建议示 能表示1832的图标1834)可相对较大。图标1824还可包括与媒体项相关 联的图像,诸如视频帧。回放标志符号1826可指示建议示能表示1822对 应于与媒体任务类别相对应的任务。
在一些示例中,响应于例如通过用户输入1836选择建议示能表示 1822,电子设备1800显示与建议示能表示1822相关联的扩展界面1850。 在一些示例中,用户输入1836是预先确定类型的触摸输入(例如,满足阈 值强度或持续时间的触摸输入)。参考图18D,扩展界面1850包括建议示 能表示1838,其在一些示例中对应于建议界面1822。在一些示例中,建议 示能表示1838包括对应于图标1824的图标1840和对应于图标1826的回放 标志符号1842。在一些示例中,图标1840包括与媒体项相关联的图像,诸 如视频帧。在一些示例中,图标1822和1840包括相同的图像。在一些示 例中,建议示能表示1838的图标1840大于图标1824。在一些示例中,扩 展视图界面1850的显示使得电子设备1800的显示器的一个或多个部分模 糊、变暗和/或以其他方式遮隐。
图19示出了根据各种示例的用于提供媒体项建议的方法1900。例如 使用实施数字助理的一个或多个电子设备来执行方法1900。在一些示例 中,使用客户端-服务器系统(例如,系统100)来执行方法1900,并且在 服务器(例如,DA服务器106)和客户端设备之间以任何方式来划分方法 1900的框。在其他示例中,在服务器和多个客户端设备(例如,移动电话 和智能手表)之间划分方法1900的框。因此,虽然方法1900的部分在本 文中被描述为由客户端-服务器系统的特定设备执行,但应当理解,方法 1900不限于此。在其他示例中,利用仅客户端设备(例如,用户设备104)或 仅多个客户端设备来执行方法1900。在方法1900中,一些框被可选地组 合,一些框的次序被可选地改变,并且一些框被可选地省略。在一些示例 中,可结合方法1900来执行附加步骤。
如本文所述,选择性地提供对应于任务的建议示能表示允许用户有效 且方便地在电子设备上执行与用户相关的任务。作为示例,由电子设备显 示的建议示能表示可对应于基于媒体消费和/或用户的确定的媒体偏好识别 的任务。因此,以这种方式选择性地提供建议减少了用户操作电子设备所 需的输入数量和时间量(例如,通过帮助用户提供适当的输入并减少操作 设备/与设备交互时的用户错误),这又降低了电力使用并延长了设备的电 池寿命。
在一些示例中,电子设备包括键盘、鼠标、麦克风、显示器和触敏表 面中的一者或多者。在一些示例中,显示器是触敏显示器。在其他示例 中,显示器不是触敏显示器。
在框1905处,电子设备从应用程序接收多个媒体项。在一些示例中, 电子设备使用API调用从应用程序(例如,第三方应用程序)请求多个媒 体项。在一些示例中,响应于API调用,应用程序返回由应用程序为用户 推荐的即将到来的媒体项列表(例如,向量)。在一些示例中,以这种方 式接收的媒体项可包括专辑、歌曲、电视节目、剧集(或其任何组合的播 放列表)。在一些示例中,从应用程序接收多个媒体项包括从应用程序接 收包括多个媒体项的向量。在一些示例中,每个媒体项是包括关于相应媒 体项或媒体项组的信息的容器。在一些示例中,从应用程序接收多个媒体 项包括在显示不同于该应用程序的另一应用程序时,接收多个媒体项。在 一些示例中,在从应用程序接收多个媒体项之前,电子设备从应用程序请 求多个媒体项。在一些示例中,在预测建议时请求/接收媒体项。在一些示 例中,当用户打开和/或关闭应用程序时,请求/接收媒体项。在一些示例 中,从远程应用程序(例如,远程媒体预测服务)接收多个媒体项。在一 些示例中,在某个事件之前接收多个媒体项,使得电子设备选择性地提供 预测。
在框1910处,电子设备接收与电子设备相关联的上下文数据。在一些 示例中,电子设备接收电子设备的上下文信息。以这种方式接收的上下文 信息可以包括电子的位置、一天中的时间、星期几等。
在框1915处,电子设备基于多个媒体项和上下文数据确定任务。在一 些示例中,任务是用于回放所述多个媒体项中某个媒体项的任务。在一些 示例中,任务指定特定回放时间。在一些示例中,任务可以指定在媒体项 中的特定点(例如,1:02)发起媒体项的回放。在一些示例中,如所描述 的,电子设备生成多个建议。如果建议的任务中的一个或多个对应于请求 列表中的媒体项,则提供用于回放相应媒体项的一个或多个任务。
如本文所述,基于电子设备的上下文和多个媒体项确定任务(例如, 任务概率、参数概率)确保由电子设备提供的任务建议不仅基于用户对电 子设备的先前使用而提供,而且还基于对媒体域中的未来行为的直观和相 关预测而提供。这继而确保向用户提供具有加速用户行为的相对较高可能 性的突出任务建议。因此,以这种方式提供建议减少了用户操作电子设备 所需的输入数量和时间量(例如,通过帮助用户提供适当的输入并减少操作设备/与设备交互时的用户错误),这又降低了电力使用并延长了设备的 电池寿命。
在框1920处,电子设备确定任务是否满足建议标准。在一些示例中, 电子设备在给定上下文数据和电子设备的当前上下文情况下确定是否有任 何识别的任务满足概率阈值,使得电子设备应提供任务的一个或多个作为 建议。
在框1925处,根据确定任务满足建议标准,电子设备在电子设备的显 示器上显示对应于该任务的建议示能表示(1806)。
在框1930处,根据确定任务不满足建议标准,电子设备放弃显示建议 示能表示。
在一些示例中,任务是第一任务,并且建议示能表示是第一建议示能 表示。在一些示例中,电子设备基于上下文数据确定第二任务,确定第二 任务是否满足建议标准,根据确定第二任务满足建议标准,在显示器上显 示对应于第二任务的第二建议示能表示,并且根据确定第二任务不满足建 议标准,放弃显示第二建议示能表示。
在一些示例中,应用程序是第一应用程序,并且任务与第一应用程序 相关联,并且建议示能表示与不同于第一应用程序的第二应用程序相关 联。在一些示例中,当生成针对媒体项的任务建议时,电子设备模拟用于 建议示能表示的应用程序的副本。这样,电子设备可以显示回放控件和/或 用于建议的播放列表,而不覆写当前正在播放的项目和/或应用程序队列。 在一些示例中,如果用户选择建议,则电子设备将使用建议的媒体项发起应用程序的回放。
在一些示例中,第二电子设备利用应用程序(例如,远程媒体预测服 务)确定先前在电子设备上播放的一个或多个媒体项,并且基于确定的一 个或多个媒体项生成多个媒体项。在一些示例中,电子设备确定在例如与 相同用户相关联的任何数量的设备上回放的一个或多个媒体项。这样,用 于提出建议的媒体在用户的所有设备上都是一致的。在一些示例中,从通 信地耦接到电子设备的后端服务器接收媒体项。在一些示例中,生成多个 媒体项包括识别先前在电子设备上播放的一个或多个媒体项中的至少一个 的类别(例如,流派、年代、活动、心情、假日),并且识别与确定的类 别关联的媒体项。
以上参考图19描述的操作可选地由图1至图4、图6A至图6B和图 7A至图7C描绘的部件来实现。例如,方法1900的操作可由本文所述的任 何设备或其部件实现,包括但不限于设备104、200、400、600和1800。本 领域的普通技术人员会清楚地知道如何基于在图1至图4、图6A至图6B 和图7A至图7C中所描绘的部件来实现其他过程。
根据一些具体实施,提供一种计算机可读存储介质(例如,非暂态计 算机可读存储介质),该计算机可读存储介质存储供电子设备的一个或多 个处理器执行的一个或多个程序,该一个或多个程序包括用于执行本文所 述方法或过程中的任一个的指令。
根据一些具体实施,提供了一种电子设备(例如,便携式电子设 备),该电子设备包括用于执行本文所述的方法和过程中的任一者的装 置。
根据一些具体实施,提供了一种电子设备(例如,便携式电子设 备),该电子设备包括处理单元,该处理单元被配置为执行本文所述的方 法和过程中的任一者。
根据一些具体实施,提供了一种电子设备(例如,便携式电子设 备),该电子设备包括一个或多个处理器和存储用以由一个或多个处理器 执行的一个或多个程序的存储器,该一个或多个程序包括用于执行本文所 描述的方法和过程中的任一者的指令。
出于解释的目的,前面的描述是通过参考具体实施方案来描述的。然 而,上面的例示性论述并非旨在是穷尽的或将本发明限制为所公开的精确 形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择并 描述这些实施方案是为了最好地解释这些技术的原理及其实际应用程序。 本领域的其他技术人员由此能够最好地利用这些技术以及具有适合于所预 期的特定用途的各种修改的各种实施方案。
虽然参照附图对本公开以及示例进行了全面的描述,但应当注意,各 种变化和修改对于本领域内的技术人员而言将变得显而易见。应当理解, 此类变化和修改被认为被包括在由权利要求书所限定的本公开和示例的范 围内。
如上所述,本技术的一个方面在于收集和使用得自各种来源的数据, 以使用任务建议加速用户行为。本公开预期,在一些实例中,这些所采集 的数据可包括唯一地识别或可用于联系或定位特定人员的个人信息数据。 此类个人信息数据可以包括人口统计数据、基于位置的数据、电话号码、 电子邮件地址、推特ID、家庭地址、与用户的健康或健康水平有关的数据 或记录(例如,生命体征测量、药物信息、锻炼信息)、出生日期或任何 其他识别或个人信息。
本公开认识到在本公开技术中使用此类个人信息数据可用于使用户受 益。例如,该个人信息数据可用于递送用户较感兴趣的任务建议。因此, 使用此类个人信息数据允许用户加速和更有效地使用电子设备。此外,本 公开还预期个人信息数据有益于用户的其他用途。例如,健康和健身数据 可用于向用户的总体健康状况提供见解,或者可用作使用技术来追求健康 目标的个人的积极反馈。
本公开设想负责采集、分析、公开、传输、存储或其他使用此类个人 信息数据的实体将遵守既定的隐私政策和/或隐私实践。具体地,此类实体 应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和 安全性的行业或政府要求的隐私政策和实践。此类政策应该能被用户方便 地访问,并应随着数据的采集和/或使用变化而被更新。来自用户的个人信 息应当被收集用于实体的合法且合理的用途,并且不在这些合法使用之外 共享或出售。此外,应在收到用户知情同意后进行此类采集/共享。此外, 此类实体应考虑采取任何必要步骤,保卫和保障对此类个人信息数据的访 问,并确保有权访问个人信息数据的其他人遵守其隐私政策和流程。另 外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政 策和实践。此外,应当调整政策和实践,以便采集和/或访问的特定类型的 个人信息数据,并适用于包括管辖范围的具体考虑的适用法律和标准。例 如,在美国,对某些健康数据的收集或获取可能受联邦和/或州法律的管 辖,诸如健康保险流通和责任法案(HIPAA);而其他国家的健康数据可能受 到其他法规和政策的约束并应相应处理。因此,在每个国家应为不同的个 人数据类型保持不同的隐私实践。
不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人 信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防 止或阻止对此类个人信息数据的访问。例如,在由电子设备接收的上下文 数据的情况下(诸如参考图12描述的上下文数据),本公开的技术可被配 置为在注册服务期间或其后的任何时间允许用户选择“选择加入”或“选 择退出”参与对个人信息数据的收集。除了提供“选择加入”和“选择退出”选项外,本公开设想提供与访问或使用个人信息相关的通知。例如, 用户可在下载应用程序时通知用户,其个人信息数据将被访问,然后在个 人信息数据被应用程序访问之前再次提醒用户。
此外,本公开的目的是应管理和处理个人信息数据以最小化无意或未 经授权访问或使用的风险。一旦不再需要数据,通过限制数据收集和删除 数据可最小化风险。此外,并且当适用时,包括在某些健康相关应用中, 数据去标识可用于保护用户的隐私。在适当的情况下,可以通过移除特定 标识符(例如,出生日期等)、控制存储的数据的量或特征(例如,在城 市级而非地址级收集位置数据)、控制数据的存储方式(例如,在用户之 间聚合数据)和/或其他方法来促进去标识。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个 各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此 类个人信息数据的情况下被实现。即,本公开技术的各种实施方案不会由 于缺少此类个人信息数据的全部或一部分而无法正常进行。例如,可通过 基于非个人信息数据或绝对最低限度的个人信息(例如,与用户相关联的 设备所请求的内容、对电子设备可用的其他非个人信息或公开可用信息)来推断电子设备可能的先前使用情况,从而向用户提供任务建议。

Claims (27)

1.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令在由电子设备的一个或多个处理器执行时,使所述电子设备:
接收自然语言语音输入;
响应于确定所述自然语言语音输入包括语音触发,并且在没有接收到任何附加输入的情况下:
确定所述自然语言语音输入是否满足语音快捷方式标准;
如果确定所述自然语言语音输入满足所述语音快捷方式标准:
识别与所述自然语言语音输入的语音快捷方式相关联的至少两个任务,其中所述语音快捷方式是与所述电子设备的用户相关联的用户生成的短语;
识别用于执行所述至少两个任务中的第一任务的第一参数,其中用于执行所述第一任务的所述第一参数的值已在所述语音快捷方式的创建期间由所述用户指定;
使第一软件应用程序使用所述第一参数执行所述第一任务;以及
使第二软件应用程序执行所述至少两个任务中的第二任务,其中所述第二任务不同于所述第一任务;以及
如果确定所述自然语言语音输入不满足所述语音快捷方式标准:
识别与所述自然语言语音输入相关联的任务;以及
执行与所述自然语言语音输入相关联的所述任务。
2.根据权利要求1所述的计算机可读存储介质,其中确定所述自然语言语音输入是否满足语音快捷方式标准包括:
向另一电子设备提供所述自然语言语音输入的表示;以及
从所述另一电子设备接收语音快捷方式或任务中的至少一者。
3.根据权利要求1所述的计算机可读存储介质,还包括:
提供自然语言输出,所述自然语言输出指示与所述语音快捷方式相关联的所述至少两个任务中的至少一个任务是否成功。
4.根据权利要求3所述的计算机可读存储介质,其中:
执行与所述语音快捷方式相关联的所述第一任务包括使第三方应用程序执行所述第一任务;以及
提供所述自然语言输出包括:
从所述第三方应用程序接收响应;以及
基于从所述第三方接收到的所述响应生成所述自然语言输出。
5.根据权利要求3所述的计算机可读存储介质,其中所述自然语言输出是音频语音输出。
6.根据权利要求1所述的计算机可读存储介质,其中:
接收自然语言语音输入包括从第二电子设备接收所述自然语言语音输入的表示。
7.根据权利要求6所述的计算机可读存储介质,其中从第二电子设备接收所述自然语言语音输入的表示包括通过多跳网络接收所述自然语言语音输入的所述表示。
8.根据权利要求1所述的计算机可读存储介质,其中执行与所述语音快捷方式相关联的所述第一任务包括:
确定与所述语音快捷方式相关联的所述第一任务是否是第一类型的任务;
如果确定所述第一任务是所述第一类型的任务,使用所述电子设备执行所述第一任务;以及
如果确定所述第一任务是不同于所述第一类型的第二类型的任务,使得使用第三电子设备执行所述第一任务。
9.根据权利要求1所述的计算机可读存储介质,其中当所述第一参数的所述值在针对所述第一参数的允许值集内时,所述第一参数是有效的。
10.一种方法,包括:
在具有显示器和触敏表面的电子设备处:
接收自然语言语音输入;
响应于确定所述自然语言语音输入包括语音触发,并且在没有接收到任何附加输入的情况下:
确定所述自然语言语音输入是否满足语音快捷方式标准;
如果确定所述自然语言语音输入满足所述语音快捷方式标准:
识别与所述自然语言语音输入的语音快捷方式相关联的至少两个任务,其中所述语音快捷方式是与所述方法的用户相关联的用户生成的短语;
识别用于执行所述至少两个任务中的第一任务的第一参数,其中用于执行所述第一任务的所述第一参数的值已在所述语音快捷方式的创建期间由所述用户指定;
使第一软件应用程序使用所述第一参数执行所述第一任务;以及
使第二软件应用程序执行所述至少两个任务中的第二任务,其中所述第二任务不同于所述第一任务;以及
如果确定所述自然语言语音输入不满足所述语音快捷方式标准:
识别与所述自然语言语音输入相关联的任务;以及
执行与所述自然语言语音输入相关联的所述任务。
11.根据权利要求10所述的方法,其中确定所述自然语言语音输入是否满足语音快捷方式标准包括:
向另一电子设备提供所述自然语言语音输入的表示;以及
从所述另一电子设备接收语音快捷方式或任务中的至少一者。
12.根据权利要求10所述的方法,还包括:
提供自然语言输出,所述自然语言输出指示与所述语音快捷方式相关联的所述至少两个任务中的至少一个任务是否成功。
13.根据权利要求12所述的方法,其中:
执行与所述语音快捷方式相关联的所述第一任务包括使第三方应用程序执行所述第一任务;以及
提供所述自然语言输出包括:
从所述第三方应用程序接收响应;以及
基于从所述第三方接收到的所述响应生成所述自然语言输出。
14.根据权利要求12所述的方法,其中所述自然语言输出是音频语音输出。
15.根据权利要求10所述的方法,其中:
接收自然语言语音输入包括从第二电子设备接收所述自然语言语音输入的表示。
16.根据权利要求15所述的方法,其中从第二电子设备接收所述自然语言语音输入的表示包括通过多跳网络接收所述自然语言语音输入的所述表示。
17.根据权利要求10所述的方法,其中执行与所述语音快捷方式相关联的所述第一任务包括:
确定与所述语音快捷方式相关联的所述第一任务是否是第一类型的任务;
如果确定所述第一任务是所述第一类型的任务,使用所述方法执行所述第一任务;以及
如果确定所述第一任务是不同于所述第一类型的第二类型的任务,使得使用第三方法执行所述第一任务。
18.根据权利要求10所述的方法,其中当所述第一参数的所述值在针对所述第一参数的允许值集内时,所述第一参数是有效的。
19.一种电子设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于如下操作的指令:
接收自然语言语音输入;
响应于确定所述自然语言语音输入包括语音触发,并且在没有接收到任何附加输入的情况下:
确定所述自然语言语音输入是否满足语音快捷方式标准;
如果确定所述自然语言语音输入满足所述语音快捷方式标准:
识别与所述自然语言语音输入的语音快捷方式相关联的至少两个任务,其中所述语音快捷方式是与所述电子设备的用户相关联的用户生成的短语;
识别用于执行所述至少两个任务中的第一任务的第一参数,其中用于执行所述第一任务的所述第一参数的值已在所述语音快捷方式的创建期间由所述用户指定;
使第一软件应用程序使用所述第一参数执行所述第一任务;以及
使第二软件应用程序执行所述至少两个任务中的第二任务,其中所述第二任务不同于所述第一任务;以及
如果确定所述自然语言语音输入不满足所述语音快捷方式标准:
识别与所述自然语言语音输入相关联的任务;以及
执行与所述自然语言语音输入相关联的所述任务。
20.根据权利要求19所述的电子设备,其中确定所述自然语言语音输入是否满足语音快捷方式标准包括:
向另一电子设备提供所述自然语言语音输入的表示;以及
从所述另一电子设备接收语音快捷方式或任务中的至少一者。
21.根据权利要求19所述的电子设备,还包括:
提供自然语言输出,所述自然语言输出指示与所述语音快捷方式相关联的所述至少两个任务中的至少一个任务是否成功。
22.根据权利要求21所述的电子设备,其中:
执行与所述语音快捷方式相关联的所述第一任务包括使第三方应用程序执行所述第一任务;以及
提供所述自然语言输出包括:
从所述第三方应用程序接收响应;以及
基于从所述第三方接收到的所述响应生成所述自然语言输出。
23.根据权利要求21所述的电子设备,其中所述自然语言输出是音频语音输出。
24.根据权利要求19所述的电子设备,其中:
接收自然语言语音输入包括从第二电子设备接收所述自然语言语音输入的表示。
25.根据权利要求24所述的电子设备,其中从第二电子设备接收所述自然语言语音输入的表示包括通过多跳网络接收所述自然语言语音输入的所述表示。
26.根据权利要求19所述的电子设备,其中执行与所述语音快捷方式相关联的所述第一任务包括:
确定与所述语音快捷方式相关联的所述第一任务是否是第一类型的任务;
如果确定所述第一任务是所述第一类型的任务,使用所述电子设备执行所述第一任务;以及
如果确定所述第一任务是不同于所述第一类型的第二类型的任务,使得使用第三电子设备执行所述第一任务。
27.根据权利要求19所述的电子设备,其中当所述第一参数的所述值在针对所述第一参数的允许值集内时,所述第一参数是有效的。
CN202010238871.2A 2018-06-03 2019-05-31 加速任务执行 Active CN112416484B (zh)

Applications Claiming Priority (20)

Application Number Priority Date Filing Date Title
US201862679972P 2018-06-03 2018-06-03
US62/679,972 2018-06-03
DKPA201870359 2018-06-11
DKPA201870360A DK201870360A1 (en) 2018-06-03 2018-06-11 ACCELERATED TASK PERFORMANCE
DKPA201870359A DK180091B1 (en) 2018-06-03 2018-06-11 ACCELERATED TASK PERFORMANCE
DKPA201870357A DK201870357A1 (en) 2018-06-03 2018-06-11 ACCELERATED TASK PERFORMANCE
DKPA201870358A DK201870358A1 (en) 2018-06-03 2018-06-11 ACCELERATED TASK PERFORMANCE
DKPA201870360 2018-06-11
DKPA201870357 2018-06-11
DKPA201870358 2018-06-11
US16/146,963 US10496705B1 (en) 2018-06-03 2018-09-28 Accelerated task performance
US16/146,381 2018-09-28
US16/146,978 2018-09-28
US16/146,883 US11076039B2 (en) 2018-06-03 2018-09-28 Accelerated task performance
US16/146,978 US10504518B1 (en) 2018-06-03 2018-09-28 Accelerated task performance
US16/146,883 2018-09-28
US16/146,381 US10944859B2 (en) 2018-06-03 2018-09-28 Accelerated task performance
US16/146,963 2018-09-28
CN201980003806.7A CN111527491A (zh) 2018-06-03 2019-05-31 加速任务执行
PCT/US2019/030244 WO2019236217A1 (en) 2018-06-03 2019-05-31 Accelerated task performance

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980003806.7A Division CN111527491A (zh) 2018-06-03 2019-05-31 加速任务执行

Publications (2)

Publication Number Publication Date
CN112416484A CN112416484A (zh) 2021-02-26
CN112416484B true CN112416484B (zh) 2023-05-02

Family

ID=68770082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010238871.2A Active CN112416484B (zh) 2018-06-03 2019-05-31 加速任务执行

Country Status (5)

Country Link
EP (3) EP3674922B1 (zh)
KR (3) KR102496452B1 (zh)
CN (1) CN112416484B (zh)
AU (1) AU2019100576C4 (zh)
WO (1) WO2019236217A1 (zh)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
BR112015018905B1 (pt) 2013-02-07 2022-02-22 Apple Inc Método de operação de recurso de ativação por voz, mídia de armazenamento legível por computador e dispositivo eletrônico
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
TWI566107B (zh) 2014-05-30 2017-01-11 蘋果公司 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
WO2020242711A1 (en) * 2019-05-31 2020-12-03 Apple Inc. Voice assistant discoverability through on-device targeting and personalization
DK180649B1 (en) 2019-05-31 2021-11-11 Apple Inc Voice assistant discoverability through on-device targeting and personalization
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
CN111177164B (zh) * 2019-12-17 2023-08-01 陕西天行健车联网信息技术有限公司 一种基于定时任务框架的车辆实时信息调度方法
US11442607B2 (en) 2020-05-11 2022-09-13 Apple Inc. Task shortcut user interface
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11783827B2 (en) 2020-11-06 2023-10-10 Apple Inc. Determining suggested subsequent user actions during digital assistant interaction
KR20220118818A (ko) * 2021-02-19 2022-08-26 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법
WO2022245747A1 (en) * 2021-05-19 2022-11-24 Snap Inc. Shortcuts from scan operation within messaging system
KR20240007255A (ko) * 2021-05-19 2024-01-16 스냅 인코포레이티드 메시징 시스템 내에서 기능들을 숏컷들로 조합
CN114185463B (zh) * 2021-11-17 2023-10-13 北京字跳网络技术有限公司 表格处理方法、装置、电子设备和存储介质
WO2023174200A1 (zh) * 2022-03-14 2023-09-21 华为技术有限公司 界面显示方法及相关装置
US20230393712A1 (en) * 2022-06-03 2023-12-07 Apple Inc. Task execution based on context

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3859005A (en) 1973-08-13 1975-01-07 Albert L Huebner Erosion reduction in wet turbines
US4826405A (en) 1985-10-15 1989-05-02 Aeroquip Corporation Fan blade fabrication system
EP1717677B1 (en) 1998-01-26 2015-06-17 Apple Inc. Method and apparatus for integrating manual input
US7218226B2 (en) 2004-03-01 2007-05-15 Apple Inc. Acceleration-based theft detection system for portable electronic devices
US7688306B2 (en) 2000-10-02 2010-03-30 Apple Inc. Methods and apparatuses for operating a portable device based on an accelerometer
US6677932B1 (en) 2001-01-28 2004-01-13 Finger Works, Inc. System and method for recognizing touch typing under limited tactile feedback conditions
US6570557B1 (en) 2001-02-10 2003-05-27 Finger Works, Inc. Multi-touch system and method for emulating modifier keys via fingertip chords
JP2003295891A (ja) * 2002-02-04 2003-10-15 Matsushita Electric Ind Co Ltd インタフェース装置、動作制御方法、画面表示方法
EP1661122B1 (en) * 2003-08-29 2008-10-08 Johnson Controls Technology Company System and method of operating a speech recognition system in a vehicle
US8069422B2 (en) * 2005-01-10 2011-11-29 Samsung Electronics, Co., Ltd. Contextual task recommendation system and method for determining user's context and suggesting tasks
US8819659B2 (en) * 2005-09-14 2014-08-26 Millennial Media, Inc. Mobile search service instant activation
US7657849B2 (en) 2005-12-23 2010-02-02 Apple Inc. Unlocking a device by performing gestures on an unlock image
US20070276651A1 (en) * 2006-05-23 2007-11-29 Motorola, Inc. Grammar adaptation through cooperative client and server based speech recognition
US8626511B2 (en) * 2010-01-22 2014-01-07 Google Inc. Multi-dimensional disambiguation of voice commands
US9003327B2 (en) * 2011-09-28 2015-04-07 Verizon Patent And Licensing Inc. Proactive user interface
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
WO2014105276A1 (en) 2012-12-29 2014-07-03 Yknots Industries Llc Device, method, and graphical user interface for transitioning between touch input to display output relationships
US9112984B2 (en) * 2013-03-12 2015-08-18 Nuance Communications, Inc. Methods and apparatus for detecting a voice command
US8719039B1 (en) * 2013-12-05 2014-05-06 Google Inc. Promoting voice actions to hotwords
US20170017501A1 (en) * 2013-12-16 2017-01-19 Nuance Communications, Inc. Systems and methods for providing a virtual assistant
US9582246B2 (en) * 2014-03-04 2017-02-28 Microsoft Technology Licensing, Llc Voice-command suggestions based on computer context
US9576575B2 (en) * 2014-10-27 2017-02-21 Toyota Motor Engineering & Manufacturing North America, Inc. Providing voice recognition shortcuts based on user verbal input
US9959129B2 (en) * 2015-01-09 2018-05-01 Microsoft Technology Licensing, Llc Headless task completion within digital personal assistants
US10083688B2 (en) * 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10331399B2 (en) * 2015-06-05 2019-06-25 Apple Inc. Smart audio playback when connecting to an audio output system
DK201670540A1 (en) * 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US10903964B2 (en) 2017-03-24 2021-01-26 Apple Inc. Techniques to enable physical downlink control channel communications
CN110932673A (zh) 2018-09-19 2020-03-27 恩智浦美国有限公司 一种包含并联陷波滤波器的斩波稳定放大器

Also Published As

Publication number Publication date
EP4148596B1 (en) 2023-11-08
KR20230098366A (ko) 2023-07-03
CN112416484A (zh) 2021-02-26
KR102496452B1 (ko) 2023-02-07
AU2019100576C4 (en) 2020-01-30
EP3674922A1 (en) 2020-07-01
EP4057161A1 (en) 2022-09-14
KR20200026974A (ko) 2020-03-11
KR20230022262A (ko) 2023-02-14
AU2019100576A4 (en) 2019-06-27
EP3674922B1 (en) 2022-03-09
EP4148596A1 (en) 2023-03-15
WO2019236217A1 (en) 2019-12-12
KR20220032124A (ko) 2022-03-15
AU2019100576B4 (en) 2020-01-23
KR102370261B1 (ko) 2022-03-07
KR102548419B1 (ko) 2023-06-28

Similar Documents

Publication Publication Date Title
CN112416484B (zh) 加速任务执行
CN112567323B (zh) 用户活动快捷方式建议
US20230388409A1 (en) Accelerated task performance
CN108604449B (zh) 说话者识别
CN113867516B (zh) 加速的任务执行
CN111399714A (zh) 用户活动快捷方式建议
KR102666783B1 (ko) 가속화된 태스크 수행
CN117170536A (zh) 数字助理与系统界面的集成

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant