CN107111516A - 数字个人助理内的无头任务完成 - Google Patents

数字个人助理内的无头任务完成 Download PDF

Info

Publication number
CN107111516A
CN107111516A CN201580072926.4A CN201580072926A CN107111516A CN 107111516 A CN107111516 A CN 107111516A CN 201580072926 A CN201580072926 A CN 201580072926A CN 107111516 A CN107111516 A CN 107111516A
Authority
CN
China
Prior art keywords
application
user
task
voice
personal digital
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.)
Granted
Application number
CN201580072926.4A
Other languages
English (en)
Other versions
CN107111516B (zh
Inventor
V·S·坎南
A·乌瑟拉克
D·J·黄
R·L·钱伯斯
T·索米欧
A·M·特鲁芬尼斯库
K·沙希德
A·艾玛米
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107111516A publication Critical patent/CN107111516A/zh
Application granted granted Critical
Publication of CN107111516B publication Critical patent/CN107111516B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • 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/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Abstract

描述了用于在数字个人助理的后台无头地完成应用的任务的技术。例如,一种方法可包括经由话筒接收语音输入。可以使用该语音输入执行自然语言处理以确定用户语音命令。用户语音命令可包括执行应用的任务的请求。可使得该应用将该任务作为后台进程来执行,而不出现该应用的用户接口。数字个人助理的用户接口可以基于接收到的与该任务相关联的状态向用户提供响应,以使得响应来自数字个人助理的用户接口的上下文内,而不出现该应用的用户接口。

Description

数字个人助理内的无头任务完成
背景
随着计算技术的发展,越来越强大的计算设备已经变得可用。例如,计算设备正越来越多地增加各特征,例如语音识别。对于用户来说,语音可以是一种与计算设备进行通信的有效方式,并且正在开发语音控制应用,诸如语音控制的数字个人助理。
数字个人助理可以被用于执行用于个体的任务或服务。例如,数字个人助理可以是在移动设备或台式计算机上运行的软件模块。可由数字个人助理执行的任务和服务的示例可包括检索天气状况和预报、赛事比分、交通指导和状况、本地和/或国内新闻事件、以及股票价格;通过创建新时间表条目来管理用户的时间表,以及向用户提醒即将到来的事件;以及存储和检索提醒事项。
然而,数字个人助理可能不能执行用户可能想要执行的每一任务。因此,存在足够机会来改进涉及语音控制的数字个人助理的技术。
概述
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
描述了用于在数字个人助理的后台无头地完成应用的任务的技术和工具。例如,一种方法可由包括话筒的计算设备实现。该方法可包括由语音控制的数字个人助理接收由用户生成的数字语音输入。数字语音输入可经由话筒来接收。可以使用该数字语音输入执行自然语言处理以确定用户语音命令。用户语音命令可包括执行第三方启用语音的应用的预定义功能的请求。预定义功能可以使用定义可用第三方启用语音的应用使用语音输入所支持的功能的数据结构来标识。可以使得所述第三方启用语音的应用作为后台进程执行所述预定义功能,而不在所述计算设备的显示器上出现所述第三方启用语音的应用的用户接口;可以接收来自所述第三方启用语音的应用的指示与所述预定义功能相关联的状态的响应。所述语音控制的数字个人助理的用户接口可基于接收到的与所述预定义功能相关联的状态向所述用户提供响应,以使得所述响应来自所述语音控制的数字个人助理的用户接口的上下文内,而不出现所述第三方启用语音的应用的用户接口。
作为另一示例,可提供包括处理单元、存储器以及一个或多个话筒的用于执行本文所述的操作的计算设备。例如,一种由该计算设备执行的方法可包括经由该一个或多个话筒接收用户所生成的语音输入。可使用该语音输入执行语音识别以确定所讲命令。所讲命令可包括执行第三方应用的任务的请求。该任务可以使用定义能由所讲命令调用的第三方应用的任务的数据结构来标识。可以确定所述第三方应用的任务是否能够被无头地执行。在确定所述第三方应用的任务能够被无头地执行时,可使得所述第三方应用作为后台进程执行以无头地执行所述任务。可接收来自所述第三方应用的指示与所述任务相关联的状态的响应。所述语音控制的数字个人助理的用户接口可基于接收到的与所述任务相关联的状态向所述用户提供响应,以使得所述响应来自所述语音控制的数字个人助理的用户接口的上下文内,而不出现所述第三方应用的用户接口。
作为另一示例,可提供包括处理单元和存储器的用于执行本文所述的操作的计算设备。例如,一种计算设备可执行用于在语音控制的数字个人助理的上下文内完成启用语音的应用的任务的操作。所述操作可包括在语音控制的数字个人助理处接收由用户生成的数字语音输入。数字语音输入可经由话筒来接收。可以使用该数字语音输入执行自然语言处理以确定用户语音命令。用户语音命令可包括执行启用语音的应用的任务的请求。任务可使用将用户语音命令映射到启用语音的应用的任务的可扩展数据结构来标识。可以确定所述启用语音的应用的任务是前台任务还是后台任务。在确定所述任务是后台任务时,可使得所述启用语音的应用将所述任务作为后台任务并在所述语音控制的数字个人助理的上下文内执行,而不出现所述启用语音的应用的用户接口。可接收来自启用语音的应用的响应。该响应可指示与该任务相关联的状态。可基于接收到的与该任务相关联的状态来向用户提供响应。在确定任务是后台任务时,响应可以在语音控制的数字个人助理的上下文内提供,而不出现启用语音的应用的用户接口。
如本文所述的,各种其它特征和优点可按照需要被结合到所述技术中。
附图简述
图1是描绘用于在数字个人助理的后台无头地完成应用的任务的系统的示例的示图。
图2是描绘用于在数字个人助理的后台无头地完成应用的任务的示例软件体系结构的示图。
图3是用于与数字个人助理对接的应用的示例状态机的示图。
图4是可被用来创建用于启用应用与数字个人助理之间的接口的数据结构的命令定义的示例。
图5是示出用于从数字个人助理内无头地执行应用的任务的多个线程的通信的示例序列图。
图6是用于在数字个人助理的后台无头地完成应用的任务的示例方法的流程图。
图7是用于确定在用户正向数字个人助理讲话时是否使应用热身的示例方法的流程图。
图8是可用于实现所描述的一些实施例的示例计算系统的图示。
图9是可以结合本文所述的技术来使用的示例移动设备。
图10是可结合本文中描述的技术来使用的示例云支持环境。
详细描述
概览
随着用户对使用数字个人助理变得更加舒适,该用户可能更喜欢在数字个人助理的上下文内执行更多动作。然而,数字个人助理的提供者不能预测或花费时间来开发用户可能想要使用的每一应用。因而,数字个人助理能够调用或启动已由该数字个人助理的提供者以外的实体创建的第三方应用是合乎需要的。
在典型的解决方案中,在数字个人助理启动应用时该应用的用户接口出现,并且程序控制从该数字个人助理传递到该应用。一旦该应用的用户接口出现,用户就可验证该请求的状态并且用户可从该应用内执行附加任务。为返回该数字个人助理的用户接口,用户必须在控制可被返回到该数字个人助理之前退出该应用。
作为使用移动电话的数字个人助理的一个具体示例,用户可请求使用安装在移动电话上的影片应用将影片添加到该用户的队列中。例如,用户可以向该数字个人助理的用户接口说出“影片应用,将影片X添加到我的队列(Movie-Application,add Movie-X to myqueue)”。在该命令被说出并被该助理识别之后,该助理可以启动影片应用,该影片应用将呈现该影片应用的用户接口。影片可被添加到用户的队列并且该队列可被呈现给用户作为影片已被添加的验证。用户可继续使用影片应用或者用户可以关闭影片应用以返回到数字个人助理的用户接口。
在数字个人助理将控制转移到应用时,将该应用以及其用户接口加载到存储器可花费能感知到的时间量。该延迟可潜在地影响用户的生产力,诸如通过延迟用户完成后续任务和/或通过中断用户的思路。例如,用户的注意力可被引导到在返回到数字个人助理的用户接口之前关闭该应用。此外,通过将控制转移到该应用,数字个人助理可用的上下文信息可能对该应用而言是不可用的。例如,数字个人助理可能理解用户的配偶的身份和联系信息、用户住宅或办公室的位置、或者用户的日托提供者的位置,但该应用可能不具有对该上下文信息的访问权。
在本文描述的技术和解决方案中,数字个人助理可以确定第三方应用的任务是否可以在后台执行,以便用于执行该任务读操作在数字个人助理的上下文内执行并且不出现启用语音的应用的用户接口。因而,用户可体验到给定任务集合在数字个人助理的上下文内执行,与正在做用户任务的应用的上下文形成对比。此外,设备的功率可潜在地降低(并且电池寿命延长),因为在该应用的任务在后台执行时该应用的用户接口没有被加载到存储器。
各应用可以向数字个人助理注册以扩展该助理提供的本机能力的列表。各应用可被安装在设备上或通过网络(诸如因特网)作为服务来被调用。模式定义可以使各应用能够注册语音命令,在用户请求该命令/任务时,一请求将被无头地启动。例如,应用可包括可由数字个人助理访问的语音命令定义(VCD)文件,其中VCD文件标识可被无头地启动的任务。该定义可以指定该应用的任务要总是无头地启动,或者该定义可以指定该应用的任务要在特定情形下无头地启动。例如,如果用户正在请求在不具有显示表面的设备(诸如无线健身手环)上执行任务,或者在用户正以免手模式操作时(诸如在用户连接到蓝牙耳机时),应用可选择无头地做一些事。
各应用可提供与所请求的任务的进行中、失败、以及成功完成有关的响应,并且与状态相关的输出可由数字个人助理的用户接口来提供。各应用可以将许多不同类型的数据提供回数字个人助理,包括例如显示文本、可被大声读出的文本、回到该应用的深链接、到网页或网站的链接、以及基于超文本标记语言(HTML)的web内容。从应用到助理的数据可如同来自助理的本机功能一样来经由该助理的用户接口呈现。
如果用户向应用提供可能具有多个含义或结果的请求,则该应用可向数字个人助理提供选择列表并且该助理的用户接口可被用来消除这些选择之间的歧义。如果用户向应用提供可能是破坏性或重要的请求(诸如在用户请求银行应用执行余额代偿),该助理的确认接口可被使用以在完成该破坏性或重要任务之前确认该请求。
随着命令被讲出,应用可被投机地加载或热身。例如,在用户完成来自命令“影片应用,将影片X添加到我的队列”的短语“影片应用(Movie-Application)”时,可分配存储器并且可从存储中检索已安装影片应用的各个子例程并将其加载到所分配的存储器中以准备该命令变完整时使用这些子例程。当应用是web服务时,热身可包括例如建立通信会话并从远程服务器处的数据库检索用户专用信息。通过将应用热身,对用户作出响应的时间可潜在地被降低,使得交互更加自然并且使得用户可更快地移至下一任务,从而使得用户更具生产力。
使用本文的技术,希望使用影片应用来将影片添加到用户的队列的用户可具有与在使用启动影片应用并将控制传递给该应用的典型解决方案时不同的体验。在这一示例中,影片应用的将影片添加到队列命令可在命令数据结构(诸如VCD文件)中被定义为是无头的。当用户说出来自命令“影片应用,将影片X添加到我的队列”的“影片应用”时,该影片应用可被热身以使得对用户的响应时间可被降低。在该命令变完整时,可使用影片应用将影片添加到用户的队列,但没有出现该影片应用的用户接口。影片可被添加到用户的队列并且数字个人助理可(使用该助理的用户接口)确认影片已被添加。用户可体验到更快的响应时间并可执行更少步骤来完成任务(例如,影片应用不必被关闭)。
包括数字个人助理的示例系统
图1是描绘用于在数字个人助理120的后台无头地完成启用语音的应用110的任务112的系统100的示例的系统图。启用语音的应用110和数字个人助理120可以是安装在计算设备130上的软件模块。计算设备130可以是例如台式计算机、膝上型设备、移动电话、智能电话、可穿戴设备(诸如手表或无线电子手环)、或平板计算机。计算设备130可包括用于标识可由数字个人助理120启动的应用和应用的任务的命令数据结构140。应用可由数字个人助理120在前台(诸如在该应用被启用时该应用的用户接口出现的情形中)和/或在后台(诸如在该应用被启动时该应用的用户接口不出现的情形中)启动。例如,应用的一些任务可以在前台启动且同一应用的不同任务可以在后台启动。命令数据结构140可以定义该应用和/或该应用的任务应当如何从数字个人助理120启动。
计算设备130可包括用于将声音转换成电信号的话筒150。话筒150可以是分别使用电磁感应、电容或压电中的相应改变从气压变化中产生电子信号的动态的电容器或压电话筒。话筒150可以包括放大器、一个或多个模拟或数字滤波器和/或模-数转换器以产生数字声音输入。数字声音输入可以包括用户语音的再现,诸如在用户正命令数字个人助理120完成任务时。计算设备130可包括用于允许用户录入文本输入的触摸屏或键盘(未示出)。
数字声音输入和/或文本输入可由数字个人助理120的自然语言处理模块122来处理。例如,自然语言处理模块122可以接收数字声音输入并将用户所说的词语转换成文本。所提取的文本可以被语义分析以确定用户语音命令。通过分析数字声音输入并响应于所说出的命令来采取动作,数字个人助理120可以是语音控制的。例如,数字个人助理120可以将所提取的文本与可能用户命令的列表相比较以确定最可能匹配用户意图的命令。该匹配可以是基于统计或概率方法、决策树或其它规则、其它合适的匹配准则或其组合。可能用户命令可以是数字个人助理120的本机命令和/或在命令数据结构140中所定义的命令。因而,通过在命令数据结构140中定义命令,可以代表用户由数字个人助理120所执行的任务的范围可被扩展。可能命令可包括执行启用语音的应用110的任务112,这可在命令数据结构140中被定义为无头或后台任务。
自然语言处理模块122可以在处理语音时生成文本流,以使得中间文本串可在用户话语完成之前被分析。因而,如果用户以应用的名称来开始命令,则该应用可在话语中提早标识,并且该应用可在用户说完命令之前被热身。使应用热身可包括从相对较慢的非易失性存储器(诸如硬盘驱动器或闪存)检索该应用的各指令并将这些指令存储在相对较快的易失性存储器(诸如主存储器或高速缓存存储器)中。
在数字个人助理120确定命令与应用的任务相关联时,该应用的任务可被执行。如果数字个人助理120确定该应用的任务要作为后台进程来执行(诸如通过分析命令数据结构140中的定义),则该应用可以在后台执行。该应用(诸如启用语音的应用110)可以与数字个人助理120通信。例如,该应用可以顺序通过与任务的完成相关联的状态集,并且该应用的状态可被传递给数字个人助理120。例如,该应用能以“初始”状态开始,在正在执行任务时转移到“进行中”状态,并随后在完成任务时转移到“最终”状态。
数字个人助理120可经由用户接口124报告任务的进度。用户接口124可以按各种方式向用户传递信息,诸如通过在计算设备130的显示器上呈现文本、图形或超链接,从计算设备130的扬声器生成音频输出,或者生成其他传感输出,诸如来自连接到计算设备130的离心重量的电机的振动。例如,用户接口124可以使得在任务处于进行中状态时在计算设备130的显示屏上呈现转轮。作为另一示例,用户接口124可以在任务处于最终状态并且任务被成功完成时生成指示任务的成功完成的仿真语音。通过使用数字个人助理120的用户接口124来报告任务的状态,响应可来自用户接口124的上下文内而不出现该应用的用户接口。
应当注意,启用语音的应用110可由数字个人助理120的生产者或与该生产者不同的第三方来创建。数字个人助理120与启用语音的应用110的互操作可通过符合应用-到-应用软件合同并通过在命令数据结构140中定义功能性来实现。启用语音的应用110可能够作为独立应用或只做为数字个人助理120的组件来操作。作为独立应用,启用语音的应用110可作为前台进程在数字个人助理120外部启动,诸如通过轻击或双击与启用语音的应用110相关联且显示在计算设备130的显示屏上的图标。启用语音的应用110可以在被启动时呈现用户接口并且用户可与该用户接口交互以执行任务。交互可以只使用语音输入,或者也可使用其他输入模式,诸如文本输入或做姿势。由数字个人助理120调用的应用可被安装在计算设备130上或者可以是web服务。
数字个人助理120可以调用web服务,诸如在远程服务器计算机160上执行的web服务162。web服务是在网络(诸如网络170)上的网络地址处提供的软件功能。网络170可包括局域网(LAN)、广域网(WAN)、因特网、内联网、有线网络、无线网络、蜂窝网络、其组合、或适用于提供在计算设备130和远程服务器计算机160之间进行通信的信道的任何网络。应当明白,图1所示的网络拓扑结构已经被简化,并且可利用多个网络和联网设备来互连此处所公开的各种计算系统。web服务162可作为数字个人助理120的内核的一部分或主要部分来被调用。例如,web服务162可作为自然语言处理模块122的子例程来被调用。作为补充或替换,web服务162可以是命令数据结构140中定义的应用且可能够从数字个人助理120无头地启动。
包括数字个人助理的示例软件体系结构
图2是描绘用于在数字个人助理120的后台无头地完成应用的任务的示例软件体系结构200的示图。在无头地执行应用的任务时,该任务可以在后台执行并且该应用的用户接口不作为该任务被执行的结果而出现。相反,数字个人助理120的用户接口可被用来提供输出给用户和/或来自用户的输入,以使得用户在数字个人助理120的上下文内而非该应用的上下文内进行交互。因而,无头地执行的应用的任务可以在后台执行达该任务的执行历时,并且该应用的用户接口从不出现。计算设备(诸如计算设备130)可以执行根据体系结构200来组织的数字个人助理120、操作系统(OS)内核210以及应用230的软件。
OS内核210一般提供计算设备130的软件组件和硬件组件之间的接口。OS内核210可包括用于渲染的组件(例如,渲染给显示器的视觉输出、生成用于扬声器的音频输出和其他声音、以及生成用于电机的振动输出)、用于联网的组件、用于进程管理的组件、用于存储器管理的组件、用于位置跟踪的组件、以及用于语音识别和其他输入处理的组件。OS内核210可以管理计算设备130的用户输入功能、输出功能、存储访问功能、网络通信功能、存储器管理功能、进程管理功能、以及其他功能。OS内核210可以向数字个人助理120和应用230提供对这样的功能的访问,诸如通过各种系统调用。
用户可以生成用户输入(诸如语音、触觉以及运动)来与数字个人助理120交互。可经由OS内核210(它可包括响应于用户输入来创建消息的功能性)使得数字个人助理120知晓用户输入。该消息可由数字个人助理120或其他软件使用。用户输入可包括触觉输入(诸如触摸屏输入)、按钮按压或按键按压。OS内核210可包括用于识别来自触觉输入的对触摸屏的轻击、手指姿势等、按钮输入、或按键按压输入的功能性。OS内核210可以接收来自话筒150的输入并可包括用于识别来自语音输入的所讲命令和/或词语的功能性。OS内核210可以接收来自加速度计的输入并可包括用于识别取向或运动(诸如摇动)的功能性。
数字个人助理120的用户接口(UI)输入处理引擎222可等待来自OS内核210的用户输入事件消息。UI事件消息可指示来自语音输入的所识别的词语、平移姿势、轻拂姿势、拖动姿势、或设备的触摸屏上的其他姿势、触摸屏上的轻击、键击输入、摇动姿势、或其他UI事件(例如,方向按钮或跟踪球输入)。UI输入处理引擎222可以将来自OS内核210的UI事件消息转换成发送给数字个人助理120的控制逻辑224的信息。例如,UI输入处理引擎222可包括自然语言处理能力并可指示特定应用名称已被讲出或键入或者用户已给出语音命令。或者,自然语言处理能力可被包括在控制逻辑224中。
控制逻辑224可以接收来自数字个人助理120的各模块的信息,诸如UI输入处理引擎222、个性化信息存储226、以及命令数据结构140,并且控制逻辑224可以基于接收到的信息来作出决策并执行操作。例如,控制逻辑224可以确定数字个人助理120是否应当代表用户执行任务,诸如通过解析所讲文本流来确定是否已给出语音命令。
控制逻辑224可在按命令来行动之前等待整个用户命令被讲出,或者控制逻辑224可以在命令仍然正被讲出且在它被讲完之前就开始按该命令来行动。例如,控制逻辑224可以分析所讲命令的中间串并尝试将这些串与命令数据结构140中定义的一个或多个应用相匹配。在应用将被调用的概率超出阈值时,该应用可被热身以使得该应用可更及时地对用户作出响应。可在多个应用和/或功能预期到被调用时投机性地被热身,并且如果确定应用将不被调用则可中止该应用。例如,在用户以特定应用的名称来开始所讲命令时,有很高概率该特定应用将被调用,并且所以该应用可被热身。作为另一示例,一些部分命令串可被限于命令数据结构140中定义的一小组应用,并且当存在与该部分命令串的匹配时,该组应用可被并行地热身。具体而言,命令数据结构140可只具有带词语“take”的命令的两个应用,诸如具有命令“take a picture(拍摄图片)”的相机应用和具有命令“take a memo(记录备忘)”的备忘应用。控制逻辑224可在词语“take”被识别时开始热身相机应用和备忘应用两者,并且随后在完整命令“take a picture”被识别时可中止备忘应用。将应用热身可包括分配存储器、预取指令、建立通信会话、从数据库检索信息、启动新执行线程、唤起中断、或其他合适的因应用而异的操作。OS内核210的服务可在热身期间被调用,诸如例如进程管理服务、存储器管理服务、以及网络服务。
所讲文本可包括上下文信息且控制逻辑224可以解析该上下文信息以使得用户语音命令是上下文无关的。上下文信息可包括计算设备130的当前位置、当前时间、取向以及个性化信息存储226中存储的个人信息。个人信息可包括:用户关系,诸如用户的、配偶的或孩子的名字;因用户而异的位置,诸如住宅、工作、学校、日托、或医生地址;来自用户联系人列表或日历的信息,;用户最喜欢的颜色、餐馆、或交通方法;重要生日、周年纪念、或其他日期;以及其他因用户而异的信息。用户可以给出具有上下文信息的命令且控制逻辑224可以将该命令转换成上下文无关的命令。例如,用户可以给出命令“Bus-app,tell me thebusses home within the next hour(公交应用,告诉我下一小时内回家的公交)”。在这一示例中,该命令中的上下文信息是当前日期和时间、当前位置以及用户住宅的位置。
控制逻辑224可以从维护实时时钟或具有对实时时钟的访问权的OS内核210获得当前时间。控制逻辑224可从OS内核210得到计算设备130的当前位置数据,而OS内核210可从计算设备130的本地组件获得当前位置数据。例如,位置数据可基于来自全球定位系统(GPS)的数据、通过蜂窝网络的蜂窝塔之间的三角测量、通过参考附近Wi-Fi路由器的物理位置、或者通过另一机制来确定。控制逻辑224可以从个性化信息存储226得到用户住宅的位置。个性化信息存储226可被存储在计算设备130的辅助或其他非易失性存储中。因而,控制逻辑224可以经由可访问存储资源(例如,个性化信息存储226)的OS内核210接收个性化信息。在上下文信息可被解析时,该命令可被转换成上下文无关的命令。例如,如果是星期五下午6点,用户在Main Street 444,并且用户的住宅是Pleasant Drive 123,则上下文无关命令可以是“Bus-app,tell me the busses arriving near 444Main Street andpassing near 123Pleasant Drive between 6:00and 7:00p.m.on Fridays(公交应用,告诉我星期五下午6点和7点之间到达Main Street 444附近且经过Pleasant Drive 123附近的公交)”。
该用户命令可由控制逻辑224(诸如在该命令是数字个人助理120的本机命令时)、安装在计算设备130上的应用230(诸如在该命令与应用230相关联时)、或者web服务162(诸如在该命令与web服务162相关联时)执行。命令数据结构140可以指定哪些命令与哪些应用相关联以及该命令可以在前台还是后台执行。例如,命令数据结构140可以将用户语音命令映射到由可用第三方启用语音的应用所支持的功能。
在控制逻辑224确定用户命令与应用230的预定义的功能232相关联时,控制逻辑224可以使得应用230的预定义的功能232被执行。如果控制逻辑224确定应用230的预定义的功能232要作为后台进程来执行,则预定义的功能232可以在后台执行。例如,控制逻辑224可以通过唤起中断、写到共享存储器、写到消息队列、传递消息、或启动新执行线程(诸如经由OS内核210的进程管理组件)来向预定义的功能232发送请求240。应用230可以执行预定义的功能232并通过唤起中断、写到共享存储器、写到消息队列或传递消息来向控制逻辑224返回响应242。该响应可包括应用230的状态和/或对用户命令作出响应的其他信息。
在控制逻辑224确定该命令与web服务162相关联时,控制逻辑224可以使web服务162被调用。例如,请求260可通过OS内核210的联网组件被发送给web服务162。联网组件可以格式化该请求并通过网络170将该请求转发(诸如通过根据网络170的协议将该请求封装在网络分组中)到web服务162以执行该用户命令。请求260可包括多个步骤,诸如打开控制逻辑224与web服务162之间的通信信道(例如,套接字)以及发送与用户命令相关的信息。web服务162可以用能通过网络170传送并由联网组件作为回复262来转发到控制逻辑224的响应来对请求260作出响应。来自web服务162的响应可包括web服务162的状态以及对用户命令作出响应的其他信息。
控制逻辑224可以(在UI输出渲染引擎228和OS内核210的渲染组件的辅助下)基于来自各应用的响应生成要呈现给用户的输出。例如,命令数据结构140可以将从各功能接收到的状态映射到来自语音控制的数字个人助理120的提供给用户的响应。一般而言,控制逻辑224可以将高级输出命令提供给UI输出渲染引擎228,UI输出渲染引擎228可产生送给OS内核210的渲染组件的较低级输出原语以用于显示器上的视觉输出、通过扬声器或耳机的音频和/或语音输出、以及来自电机的振动输出。例如,控制逻辑224可以将具有文本串的文本-到-语音命令发送给可生成模拟所讲语音的数字音频数据的UI输出渲染引擎228。
控制逻辑224可以基于应用的状态来确定什么信息要提供给用户。各状态可对应于用户命令的开始、处理、确认、消歧、或完成。命令数据结构140可将应用的状态映射到要提供给用户的不同响应。可被提供的信息的类型包括例如显示文本、仿真语音、回到应用的深链接、到网页或网站的链接、以及基于超文本标记语言(HTML)的web内容。
示例应用状态
图3是用于以无头方式与数字个人助理120对接的应用的示例状态机300的示图。该应用可以在热身状态310或初始状态320中开始。在数字个人助理120使得该应用热身时可进入热身状态310,诸如在知晓应用名称但所讲命令尚未讲完时。该应用将保持在热身状态310,直至热身操作完成。在热身操作完成时,该应用可转移到初始状态320。
在热身状态310完成之后或在数字个人助理120提供了对该应用的用户命令之后,可进入初始状态320。在初始状态320期间,用户命令被该应用处理。如果命令是没有歧义的但将花费比预定时间量更多的时间来完成(诸如5秒),则在命令正被执行时,状态可被转移到进行中状态330。如果命令是没有歧义的且可导致重要的或破坏性的操作被执行,则状态可转移到确认状态340。如果命令有点歧义,但歧义可通过在几个选项之间作出选择来澄清,则状态可转移到消歧状态350。如果命令是有歧义的且不能用几个选项来消歧,则状态可转移到最终状态360,诸如失败状态或重定向状态。如果命令不能被执行,则状态可转移到最终状态360,诸如失败状态。如果命令能在少于预定时间量的时间内完成且不需要请求来自用户的确认,则状态可转移到最终状态360,诸如成功状态。应当注意,最终状态360可以是具有多个条件的单个状态(诸如其中这些条件是成功、失败、重定向以及超时)或一群最终状态(诸如其中各状态是成功、失败、重定向以及超时)。
进行中状态330可指示用户命令的操作正被执行或正被尝试。应用可在进行中状态330期间通过向数字个人助理120发送文本-到-语音(TTS)串或图形用户界面(GUI)串以使得信息可使用数字个人助理120的用户接口而被呈现给用户,来向用户提供信息。作为补充或替换,默认信息(诸如转轮、沙漏、和/或取消按钮)可在进行中状态330期间使用数字个人助理120的用户接口被呈现给用户。
在进行中状态330期间,应用可以监视各操作的进度并确定该应用是可停留在进行中状态330中还是转移到最终状态360。在一个实施例中,该应用可以启动定时器(诸如达5秒),并且如果该应用在定时器期满之前没有做出足够进展,则状态可转移到最终状态360,诸如超时状态。如果该应用作出了足够进展,则定时器可被重启并且可在下一定时器期满时再次检查进度。应用可具有停留在进行中状态330中的最大时限,并且如果超过该最大时限,状态可转移到最终状态360,诸如超时状态。与用户命令相关联的操作可以完成(成功或不成功地)并且状态可转移到适当的最终状态360。当应用处于进行中状态330中时,用户可以通过向数字个人助理120的用户接口给出命令来终止该应用。例如,用户可以按下或点击显示器上的“取消”或“后退”按钮或者说出“取消”。取消该命令可以使得数字个人助理120停止该应用,并且显示数字个人助理120的主屏幕或者退出。
确认状态340可以指示该应用在完成任务之前正等待来自用户的确认。在数字个人助理120检测到应用处于确认状态340时,可使用数字个人助理120的用户接口向用户呈现用于是/否响应的提示。该应用可以向数字个人助理120提供作为具有是或否回答的问题的TTS串。数字个人助理120可以说出该应用所提供的TTS串并且可监听“是/否”回答。如果用户响应没有决定是或否回答,则数字个人助理120可继续询问用户该问题直至预定义次数(诸如三次)。如果所有尝试已被耗尽,则数字个人助理120可以说出默认短语,诸如“I’msorry,I don’t understand.Tap below to choose an answer(对不起,我不明白。轻击下方来选择回答)”并且数字个人助理120可以停止监听。如果用户轻击是或否,则数字个人助理120可以将该用户的选择发送给应用。如果用户轻击话筒图标,则数字个人助理120可再次尝试识别所讲回答(诸如通过复位对口头回答的尝试的次数进行计数的计数器)。数字个人助理120可以循环,直至存在匹配或者用户取消或点击显示屏上的后退按钮。如果应用接收到来自数字个人助理120的肯定响应,则该应用可以尝试完成任务。如果任务成功完成,则状态可转移到具有成功条件的最终状态360。如果任务未能成功完成或者该应用被取消,则状态可转移到具有失败条件的最终状态360。如果任务将花费高于预定时间量的时间才能完成,则状态可转移到进行中状态330,同时任务正被执行。
消歧状态350可以指示应用在完成任务之前正等待用户在有限数目(诸如10个或更少)的选项之间进行澄清。应用可以向数字个人助理120提供TTS串、GUI串和/或用户从中选择的项列表。项列表可作为具有针对每一项提供给用户的一个或多个信息段(诸如标题、描述、和/或图标)的模板来提供。数字个人助理120可以使用该应用所提供的信息来向用户呈现项列表。数字个人助理120可以提示并监听来自用户的选择。用户可以使用灵活或非灵活选择来从列表中进行选择。非灵活选择意指用户只能以一种方式从列表选择,而灵活选择意指用户能以多种不同的方式从列表中进行选择。例如,用户可以基于各项被列出的数字次序来从列表中进行选择,诸如通过说出“第一”或“第二”以分别选择第一项或第二项。作为另一示例,用户可以基于各项之间的空间关系从列表进行选择,诸如“底部那个”、“顶部那个”、“右边那个”或者“从底部开始第二个”。作为另一示例,用户可以通过说出项的标题来从列表进行选择。
作为消歧的具体示例,用户可以向数字个人助理120说出“影片应用,将影片X添加到我的队列(Movie-Application,add Movie-X to my queue)”。然而,可存在影片X(Movie-X)的三个版本,诸如原始版本以及两个续集:影片-X I、影片-X II、以及影片-XIII。响应于该所讲命令,数字个人助理120可以在后台使用将影片X添加到队列的命令来启动影片应用。影片应用可搜索影片X并确定存在三个版本。因而,影片应用可转移到消歧状态350并且将这三个备选选择发送给数字个人助理120。数字个人助理120可通过其用户接口向用户呈现这三个选择并且可以可从列表选择一个。在用户作出正确选择时,数字个人助理120可以将该响应发送给影片应用并且正确的影片可被添加到队列。
如果用户响应不能被决定到列表上的项,则数字个人助理120可继续询问用户该问题直至预定义次数。如果所有尝试已被耗尽,则数字个人助理120可以说出默认短语,诸如“I’m sorry,I don’t understand.Tap below to choose an answer(对不起,我不明白。轻击下方来选择回答)”并且数字个人助理120可以停止监听。如果用户轻击所显示的列表上的各项之一,则数字个人助理120可以将该用户的选择发送给应用。如果用户轻击话筒图标,则数字个人助理120可再次尝试识别所讲回答(诸如通过复位对口头回答的尝试的次数进行计数的计数器)。数字个人助理120可以循环,直至存在匹配或者用户取消或点击显示屏上的后退按钮。如果应用接收到来自数字个人助理120的有效响应,则该应用可以尝试完成任务。如果任务在采取动作之前需要用户确认,则状态可转移到确认状态340。如果任务成功完成,则状态可转移到具有成功条件的最终状态360。如果任务未能成功完成或者该应用被取消,则状态可转移到具有失败条件的最终状态360。如果任务将花费高于预定时间量的时间才能完成,则状态可转移到进行中状态330,同时任务正被执行。
应当理解,示例状态机300可以用附加或另选状态来扩展以启用用户与应用之间的各种多轮对话。消歧(经由消歧状态350)和确认(经由确认状态340)是多轮对话的具体示例。一般而言,在多轮对话中,无头应用可向用户请求附加信息而不使其用户接口出现。相反,可以通过代表该应用的数字个人助理120从用户获得信息。因而,数字个人助理120可充当用户与应用之间的管道。
最终状态360可以指示该应用已经成功完成任务、未能完成任务、已超时、或正指出该应用应当在前台启动(重定向)。如上所述,最终状态360可以是具有多个条件的单个状态(例如,成功、失败、重定向以及超时)或一群最终状态(例如,成功、失败、重定向以及超时)应用可以向数字个人助理120提供TTS串、GUI串、项列表(经由模板提供)和/或启动参数。数字个人助理120可以使用数字个人助理120的用户接口向用户呈现由该应用提供的信息。作为补充或替换,数字个人助理120可以呈现与不同条件相关联地预定义或录制响应。例如,如果发生超时或任务失败,则数字个人助理120可以说出“Sorry!I couldn’t getthat done for you.Can you please try again later?(对不起!我不能为你完成。能请您稍候重试吗?)”。作为另一示例,如果应用正请求重定向,则数字个人助理120可以说出“Sorry.<appName>is not responding.Launching<appName>(对不起。<应用名>没有响应。正启动<应用名>)”并且数字个人助理120可尝试用初始语音命令和启动参数(如果该应用提供了启动参数的话)在前台启动该应用。作为另一示例,如果应用成功完成任务,则数字个人助理120可以说出“I’ve done that for you(我已为你完成)”。
示例命令定义
图4是符合一模式的命令定义400的示例,它可被用来创建用于允许第三方应用与数字个人助理120之间的对接的数据结构(诸如命令数据结构140)。命令定义400可以用各种语言来编写,诸如由模式定义的可扩展标记语言(XML)或XML子集。例如,该模式可以定义命令定义的结构,诸如法定元素、元素的分层结构、每一元素的法定和可任选属性、以及其他合适的准则。命令定义400可由数字个人助理120用来辅助将用户话语解析成不同分量,诸如应用、命令或任务、以及数据项或时隙,其中数据项是可任选的。例如,命令“MovieAppService,add MovieX to my queue(影片应用服务,将影片X添加到我的队列)”可被解析成应用(“MovieAppService(影片应用服务)”、命令(“Add(添加)”以及数据项(“MovieX(影片X)”)。命令定义400可包括用于定义应用名、该应用的任务或命令、用于自然语言处理的备选短语、以及与不同应用状态相关联的响应的各元素。
一个或多个应用可被定义在命令定义400中。应用可以是安装在该计算设备上或是web服务的第三方或其他应用。与该应用相关的信息可以用定义该应用的元素来界定。例如,应用名可以由<AppName>元素来定义,并且<AppName>元素之间的元素可以与开头<AppName>元素相关联。在命令定义400中,应用名是“MovieAppService(影片应用服务)”,且<AppName>元素之后的元素与“MovieAppService”应用相关联。
应用名之后的命令是该应用的命令。命令可以用<Command>(命令)元素来标识。命令元素的属性可包括该命令的名称(例如,“Name”)和该命令的激活类型(例如,“ActivationType”)。例如,对于要在前台启动的命令,激活类型可以是“前台”,且对于要在后台启动的命令,激活类型可以是“后台”。“ActivationType”属性可以是可任选的,其中默认激活类型是前台。
<ListenFor>(监听)元素可被嵌套在<Command>元素内并且可被用来定义可讲出该命令的一种或多种方式。在执行自然语言处理时,可任选或载体词语可作为提示被提供给数字个人助理120。载体词语可被标识在方括号:[]内。数据项可被标识在花括号:{}内。在命令定义400中,一般存在调用“Add(添加)”命令的两种备选方式,如两个<ListenFor>元素所定义的。例如,说出“add MovieX to my queue(将影片X添加到我的队列)”或“addMovieX to my MovieAppService queue(将影片X添加到我的影片应用服务队列)”可被用来使数字个人助理120在后台启动MovieAppService(影片应用服务)的“Add”命令。应当注意,预定义短语可以用一组括号内的关键字“builtIn:(内置)”来标识:{builtIn:<phraseidentifier>}(内置:<短语标识符>)。
<Feedback>(反馈)元素可被嵌套在<Command>元素内并且可被用来定义在数字个人助理120已成功识别出来自用户的所讲命令时要向用户说出的短语。作为补充或替换,<Feedback>元素可以定义在所讲命令正被数字个人助理120解析时要显示给用户的文本串。
<Response>(响应)元素可被嵌套在<Command>元素内且可被用来定义由数字个人助理120提供给用户的一个或多个响应。每一响应与由“State(状态)”属性所定义的应用状态相关联。状态可以用于最终状态(诸如成功和失败)或用于中间状态(诸如进行中)。可定义多种类型的响应,诸如例如用于将文本显示在屏幕上的<DisplayString>(显示串)、用于将被说给用户的文本的<TTSString>、用于到网站的深链接的<AppDeepLink>、以及用于到网站的较不深的链接的<WebLink>。由<Response>元素定义的响应可以用由该应用提供的附加响应信息来扩充。
示例序列图
图5是解说用于从数字个人助理120内无头地执行第三方应用的功能的多个执行线程(510、520以及530)的通信的示例序列图500。UI线程510和控制线程520可以是数字个人助理120的多线程实施例的并行线程。UI线程510可主要负责捕捉来自数字个人助理120的用户接口的输入并将输出显示到该用户接口。例如,语音输入、触觉输入、和/或文本输入可由UI线程510捕捉。在一个实施例中,UI线程510可以对该输入执行自然语言处理并可以将用户所讲的命令与命令数据结构140中的命令相匹配。在所讲命令被确定与命令数据结构140中的命令相匹配时,该命令可被传递到控制线程520以供进一步处理。在一替换实施例中,UI线程510可以捕捉语音到文本输入,并且各单独词语可被传递给控制线程520,控制线程520可对该输入执行自然语言处理并可将用户所讲的命令与命令数据结构140中的命令相匹配。
控制线程520可主要负责与应用进行通信并跟踪应用的进度并且与UI线程510对接。例如,UI线程510可以向控制线程520通知用户已向数字个人助理120的用户接口讲话。词语或命令可由控制线程520接收并且控制线程520可以向UI线程510通知用户命令何时已被控制线程520识别。UI线程510可以经由数字个人助理120的用户接口向用户指示对该命令作出的进度。UI线程510或控制线程520可以通过检索来自命令数据结构140的命令的属性来确定该命令要被无头地启动。在命令要被无头地启动时,控制线程520可以开始新线程或与现有线程(诸如AppService(应用服务)线程530)通信。为降低对用户的响应时间,AppService线程530是现有线程可以是合乎需要的,而非使控制线程520开始新线程。例如,AppService线程530可以在使应用热身时或者在计算设备130的引导期间被启动。
AppService线程530可以在计算设备130上执行或可以在远程服务器(诸如远程服务器计算机160)上执行。AppService线程530可主要负责完成由用户命令指定的功能。AppService线程530可维持状态机(诸如状态机300)来跟踪该功能的执行进度,并且可以向控制线程520提供与状态有关的更新。通过向控制线程520提供状态更新,AppService线程530可以是无头的,其中给用户的输出由数字个人助理120提供而非AppService线程530的用户接口。
控制线程520可以通过接收来自应用的状态更新并检查该应用是否有进展来跟踪该应用(例如,AppService线程530)的进度。例如,控制线程520可以每次它与AppService线程530通信(发送信息给AppService线程530或从AppService线程530接收信息)时就启动预定义历时(诸如5秒)的定时器。如果定时器在AppService线程530作出响应之前期满,则控制线程520可以向UI线程510指示该应用未能作出响应并且UI线程510可以经由数字个人助理120的用户接口向用户呈现失败消息。在定时器期满之后,AppService线程530可被控制线程520终止或忽略。或者,如果AppService线程530在定时器期满之前作出响应,则在预期来自该应用的另一响应的情况下(诸如在应用以进行中状态来作出响应时),定时器可被复位,或者定时器可被取消(诸如在该应用已完成功能(最终状态)时或在请求用户响应时(确认或消歧状态))。
在控制线程520从AppService线程530接收到确认或消歧状态时,控制线程520可以向UI线程510指示向用户请求确认或消歧。UI线程510可以经由数字个人助理120的用户接口将该确认或消歧选择呈现给用户。在用户作出响应或未能作出响应时,UI线程510可以向控制线程520提供该用户响应或者确定没有响应。控制线程520可将用户响应传递给AppService线程530以使得AppService线程530可以执行功能。如果用户未能作出响应,则控制线程520可以终止AppService线程530。
UI线程510可以经由数字个人助理120的用户接口显示各种类型的输出。例如,UI线程510可以生成音频输出,诸如来自文本的数字仿真语音输出。数字仿真语音可被发送给可将该数字仿真语音转换成模拟信号(诸如使用数模转换器)的音频处理芯片,该模拟信号可经由扬声器或耳机被输出为声音。作为另一示例,UI线程510可以提供视觉输出,诸如用于由用户在计算设备130的显示屏上查看的图像、动画、文本输出、以及超链接。如果超链接被轻击或点击,UI线程510可启动浏览器应用以查看与所选超链接相对应的网站。作为另一示例,UI线程510可以生成触觉输出,诸如通过向可使得计算设备130振动的电机发送振动信号。
用于无头任务完成的示例方法
图6是用于在数字个人助理120的后台无头地完成应用的任务的示例方法600的流程图。在610,可由数字个人助理120接收由用户生成的语音输入。语音输入可在计算设备130本地捕捉或从计算设备130远程地捕捉。作为一个示例,由用户生成的语音输入可由计算设备130的话筒150在本地捕捉并由模数转换器来数字化。作为另一示例,由用户生成的语音输入可由无线地连接到计算设备130的话筒(诸如由蓝牙伴随设备)远程地捕捉。数字个人助理120可通过在数字个人助理120的用户接口处录入的语音和/或文本来控制。
在620,可以执行对语音输入的自然语言处理以确定用户语音命令。用户语音命令可包括执行应用(诸如第三方启用语音的应用)的预定义功能的请求。预定义功能可以使用数据结构来标识,该数据结构定义由数字个人助理120支持的应用和应用的功能。例如,兼容应用可被标识在命令定义文件中,诸如命令定义400。通过使用可扩展命令定义文件来定义可由数字个人助理120无头地执行的第三方应用的功能,数字个人助理120可以使用户能够使用数字个人助理120的用户接口执行更多任务。
在630,数字个人助理120可以使该应用无头地执行预定义功能,而不使得该应用的用户接口出现在计算设备130的显示器上。数字个人助理120可以确定无头地执行该应用,因为该应用在命令数据结构140中被定义为无头的或者因为用户正以免手模式使用计算设备且在前台执行应用可能潜在地使用户分心。例如,数字个人助理120可以调用web服务来执行该应用的预定义功能。作为另一示例,数字个人助理120可以在确定了用户命令之后在计算设备130上启动新线程来执行该应用的预定义功能。作为又一示例,数字个人助理120可以与现有线程(诸如在该应用的热身期间启动的线程)通信,以执行该应用的预定义功能。预定义功能可作为后台进程来执行。应用可以监视预定义功能的进度,诸如通过跟踪预定义功能的状态。
在640,可以从应用接收指示与预定义功能相关联的状态的响应。例如,状态可包括热身、初始、进行中、确认、消歧以及最终状态。响应可包括附加信息,诸如模板化列表、文本串、文本-到-语音串、图像、超链接、或可经由数字个人助理120的用户接口显示给用户的其他合适信息。
在650,数字个人助理120的用户接口可以基于接收到的与预定义功能相关联的状态来向用户提供响应。以此方式,响应可来自数字个人助理120的用户接口的上下文内,而不出现该应用的用户接口。此外,数字个人助理120的确认和消歧能力可被用来确认和/或澄清针对该应用的用户命令。
用于确定是否使应用热身的示例方法
图7是用于确定在用户正向数字个人助理120讲话时是否使应用热身的示例方法700的流程图。在710,用户可以向数字个人助理120键入、发声或讲话。可使用自然语言处理技术来分析用户的文本或语音并且可以从该语音识别出各单独词语。各单独词语可被分开地且在它们正被讲出的中间阶段中分析。例如,用户可以说出“hey Assistant,MyApp,do...(嗨助理,我的应用,做……)”。词语“hey”可以是载体词并且被丢弃。词语“Assistant”可被用来使数字个人助理120知晓用户正请求它执行动作。词语“MyApp”可被解释为应用。
在720,所键入或讲出的词语可以与数字个人助理120的本机功能以及可扩展命令定义中提供的功能相比较。本机功能和命令定义文件中定义的功能可被统称为“已知AppService(应用服务)”。所讲词语可在各词语正被说出时被分析并与已知AppService相比较。换言之,对语音的分析可以发生在整个短语被用户讲出或键入之前。如果没有已知AppService是匹配的,则在730,数字个人助理120可打开web浏览器以使用与未被识别的所讲短语相对应的搜索串来检索搜索引擎网页。程序控制可被转移到web浏览器以使得用户可以细化web搜索和/或查看结果。然而,如果已知AppService是匹配的,则方法700可在740继续。
在740,可以确定AppService应用是前台还是后台任务。例如,命令定义可包括将AppService应用定义为前台或后台应用的属性。如果AppService应用是前台任务,则在750,AppService应用可以在前台启动并且控制可被转移到AppService应用以完成该命令。如果AppService应用是后台任务,则方法700可以用并行步骤760和770继续。
在760,数字个人助理120可以向用户提供与语音分析有关的信息。具体而言,数字个人助理120可以生成用于数字个人助理120的用户接口的进行中屏幕的输出。输出可被定义在例如命令定义的嵌套在<Command>元素内的<Feedback>元素中。输出可以是文本串且可以随着用户继续讲话而持续更新。
在770,数字个人助理120可以使AppService应用热身而不等待用户话语结束。使AppService应用热身可包括分配存储器、预取指令、建立通信会话、从数据库检索信息、启动新执行线程、唤起中断、或其他合适的因应用而异的操作。该应用可基于投机性功能来热身。例如,与投机性功能相对应的指令可被获取,即使不确信该功能是所知道的。通过在用户完成所讲命令之前使应用热身,对用户作出响应的时间可潜在地降低。
在780,数字个人助理120可继续解析部分语音识别结果,直至话语完成。可基于被解析的命令和/或基于来自用户的暂停达预定时间量以上,来检测话语的结束。例如,可在识别出词语“queue(队列)”时检测到命令“MovieAppService,add MovieX to my queue”的结束。作为另一示例,命令“TextApp,text my wife that I will be home late fordinner(文本应用,用文本通知我妻子我将晚回家吃饭)”的结束可能更难以检测,因为该命令以未知长度的数据项结束。因而,暂停可被使用以向数字个人助理120指示该命令完成。
在790,所讲命令的结束可被检测到且最终语音识别结果可被传递给该应用。该应用和数字个人助理120可彼此通信以完成所讲命令,如参考在前附图所描述的。
计算系统
图8描绘了其中可实现所描述的创新的合适的计算系统800的一般化示例。计算系统800并不旨对使用范围或功能提出任何限制,因为这些创新可以在不同的通用或专用计算系统中实现。
参考图8,计算系统800包括一个或多个处理单元810、815和存储器820、825。在图8中,该基本配置830被包括在虚线内。处理单元810、815执行计算机可执行的指令。处理单元可以是通用中央处理单元(CPU)、专用集成电路(ASIC)中的处理器或任意其它类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。例如,图8示出中央处理单元810以及图形处理单元或协处理单元815。有形存储器820、825可以是可由(诸)处理单元存取的易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存等)或者两者的某一组合。存储器820、825以适合被(诸)处理单元执行的计算机可执行指令的形式,存储实现此处描述的一个或多个发明的软件880。
计算系统可具有附加的特征。例如,计算系统800包括存储840、一个或多个输入设备850、一个或多个输出设备860以及一个或多个通信连接870。诸如总线、控制器或网络之类的互连机制(未示出)将计算系统800的各组件互连。通常,操作系统软件(未示出)为在计算系统800中执行的其它软件提供操作环境,并协调计算系统800的各组件的活动。
有形存储840可以是可移动或不可移动的,并包括磁盘、磁带或磁带盒、CD-ROM、DVD或可用于储存信息并可在计算系统800内访问的任何其他介质。存储器840存储用于软件880的指令,所述软件880实现此处描述的一个或多个发明。
(诸)输入设备850可以是触摸输入设备(诸如键盘、鼠标、笔或跟踪球)、语音输入设备、扫描设备或向计算系统800提供输入的另一设备。对于视频编码,(诸)输入设备850可以是相机、视频卡、TV调谐卡或接受模拟或数字形式的视频输入的类似设备,或将视频样本读入计算系统800的CD-ROM或CD-RW。(诸)输出设备860可以是显示器、打印机、扬声器、CD刻录机或提供来自计算系统800的输出的另一设备。
(诸)通信连接870允许在通信介质上到另一计算实体的通信。通信介质传达诸如计算机可执行指令、音频或视频输入或输出、或已调制数据信号中的其他数据之类的信息。已调制数据信号是使其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例而非限制,通信介质可以使用电的、光学的、RF或其它载体。
各创新可在计算机可执行指令(诸如包括在程序模块中的在目标现实或虚拟处理器上在计算系统中执行的那些计算机可执行指令)的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。如各实施例中描述的,这些程序模块的功能可以被组合,或者在这些程序模块之间拆分。针对各程序模块的计算机可执行指令可以在本地或分布式计算系统中执行。
术语“系统”和“设备”在此被互换地使用。除非上下文明确指示,否则,术语并不暗示对计算系统或计算设备的类型的任何限制。一般说来,计算系统或计算设备可以是本地的或分布式的,并且可以包括具有实现本文中描述的功能的软件的专用硬件和/或通用硬件的任意组合。
为了呈现起见,本详细描述使用了如“确定”和“使用”等术语来描述计算系统中的计算机操作。这些术语是对由计算机执行的操作的高级抽象,且不应与人类所执行的动作混淆。对应于这些术语的实际的计算机操作取决于实现而不同。
移动设备
图9是描述一示例移动设备900的系统示意图,该示例移动设备900包括在902概括示出的各种任选的硬件和软件组件。移动设备中的任何组件902可以与任何其他组件通信,然而为容易说明未示出所有连接。该移动设备可以是各种计算设备(例如,蜂窝电话、智能电话、手持式计算机、个人数字助理(PDA)等)中的任一个,并且可允许与诸如蜂窝、卫星或其他网络的一个或多个移动通信网络904进行无线双向通信。
图示的移动设备900可以包括用于执行任务的控制器或处理器910(例如,信号处理器、微处理器、ASIC或者其他控制和处理逻辑电路),所述任务诸如信号编码、数据处理、输入/输出处理、功率控制、和/或其他功能。操作系统912可以控制各组件902的分配和使用,并且支持数字个人助理120和一个或多个应用程序914。应用程序可以包括常见的移动计算应用(例如,电子邮件应用、日历、联系人管理器、web浏览器、消息收发应用、影片应用、银行应用)、或者任何其他计算应用。应用程序914可包括具有可以由数字个人助理120无头地执行的任务的应用。例如,任务可被定义在命令数据结构140中。用于访问应用存储的功能913还可以用于获取和更新应用程序914。
图示的移动设备900可以包括存储器920。存储器920可以包括不可移动存储器922和/或可移动存储器924。不可移动存储器922可以包括RAM、ROM、闪存、硬盘或者其他公知的存储器存储技术。可移动存储器924可以包括闪存或订户身份模块(SIM)卡,这在GSM通信系统或者其他公知的存储器存储技术中是公知的,诸如“智能卡”。存储器920可用于存储运行操作系统912和应用914的数据和/或代码。示例数据可以包括要经由一个或多个有线或无线网络被发送至和/或接收自一个或多个网络服务器或其他设备的网页、文本、图像、声音文件、视频数据或者其他数据集。存储器920可用于存储订户标识符和设备标识符,所述订户标识符诸如国际移动订户身份(IMSI),所述设备标识符诸如国际移动设备标识符(IMEI)。这种标识符可以被发射至网络服务器以标识用户和设备。
移动设备900可以支持一个或多个输入设备930以及一个或多个输出设备950,所述输入设备诸如触摸屏932、话筒934、相机936、物理键盘938和/或轨迹球940,所述输出设备诸如扬声器952和显示器954。其他可能的输出设备(未示出)可以包括压电或其他触觉输出设备。一些设备可以用于多于一个输入/输出功能。例如,触摸屏932和显示器954可以在单个输入/输出设备内被组合。
输入设备930可以包括自然用户界面(NUI)。NUI是使用户能以“自然”方式与设备交互、免受诸如鼠标、键盘、远程控件等输入设备所施加的人工约束的任一界面技术。NUI方法的示例包括依赖于语音识别、触摸和触笔识别、屏上及邻近屏的姿势识别、空中姿势、头部和眼部跟踪、说话和语音、视觉、触摸、姿势以及机器智能的那些方法。NUI的其他示例包括使用加速度计/陀螺仪、面部识别、3D显示器、头部、眼部和凝视跟踪的运动手势检测、沉浸式增强的现实和虚拟现实系统,这些中的全部都提供更自然的界面,还包括使用电场传感电极(EEG及相关方法)来感测脑部活动的技术。因此,在一个具体示例中,操作系统912或应用914可以包括语音识别软件作为语音用户界面的一部分,该语音用户界面允许用户经由语音命令来操作设备900。而且,设备900可以包括允许经由用户的空间手势进行用户交互的输入设备和软件,诸如检测和解释手势以便向游戏应用提供输入。
无线调制解调器960可被耦合到天线(未示出),并可支持处理器910和外部设备之间的双向通信,如本领域中清楚理解的。调制解调器960被一般性地示出,并且可以包括用于与移动通信网络904的蜂窝调制解调器和/或其它基于无线电的调制解调器(例如蓝牙964或Wi-Fi 962)。无线调制解调器960一般被配置成与一个或多个蜂窝网络(诸如GSM网络)通信,用于单个蜂窝网络内、多个蜂窝网络之间、或者在移动设备和公共交换电话网(PSTN)之间的数据和语音通信。
移动设备还可以包括至少一个输入/输出端口980、电源982、卫星导航系统接收机984(诸如全球定位系统(GPS)接收机)、加速度计986、和/或物理连接器990,物理连接器990可以是USB端口、IEEE 1394(火线)端口和/或RS-232端口。图示的组件902不是必须的或全包含的,因为任何组件可以被删除且其他组件可以被添加。
云支持环境
图10示出了其中可实现所描述的实施例、技巧和技术的合适的云支持环境1000的一般化示例。在示例环境1000中,由云1010提供各种类型的服务(例如,计算服务)。例如,云1010可以包括多个计算设备的集合,多个计算设备可以是中央式或分布式定位的,所述多个计算设备向经由诸如互联网这样的网络连接的各类用户和设备提供基于云的服务。实现方式环境1000可以不同方式被用来完成计算任务。例如,一些任务(例如,处理用户输入和呈现用户界面)可以在本地计算设备(例如,所连接的设备1030、1040、1050)上执行,而其他任务(例如,要在后续处理中使用的数据的存储)可以在云1010中执行。
在示例环境1000中,云1010为具有各种屏幕能力的所连接的设备1030、1040、1050提供服务。所连接的设备1030代表具有计算机屏幕1035(例如,中等尺寸屏幕)的设备。例如,所连接的设备1030可以是诸如台式计算机、膝上型电脑、笔记本、上网本等个人计算机。所连接的设备1040代表具有移动设备屏幕1045(例如,小尺寸屏幕)的设备。例如,连接的设备1040可以是移动电话、智能电话、个人数字助理、平板计算机等。所连接的设备1050代表具有大屏幕1055的设备。例如,所连接的设备1050可以是电视机屏幕(例如,智能电视机)或连至电视机的另一设备(例如,机顶盒或游戏控制台)等等。所连接的设备1030、1040、1050中的一者或多者可以包括触摸屏能力。触摸屏可以以不同方式接受输入。例如,电容式触摸屏在对象(例如,指尖或触笔)跨表面上流动的电流扭曲或中断时检测到触摸输入。举另一个示例,触摸屏可以使用光学传感器在来自光学传感器的波束被中断时检测到触摸输入。对于一些触摸屏所检测的输入而言,与屏幕表面的物理接触不是必要的。在示例环境1000中也可以使用没有屏幕能力的设备。例如,云1010可以为没有显示器的一个或多个计算机(例如,服务器计算机)提供服务。
服务可由云1010通过服务提供者1020提供、或通过其他在线服务提供者(未图示)而提供。例如,云服务可以被定制为特定的所连接设备(例如,所连接的设备1030、1040、1050)的屏幕大小、显示器能力和/或触摸屏能力。
在示例环境1000中,云1010至少部分使用服务提供者1020,将此处所述的技术和解决方案提供给各种所连接的设备1030、1040、1050。例如,服务提供者1020可以为各种基于云的服务提供集中式解决方案。服务提供者1020可以管理对于各用户和/或设备(例如,对于所连接的设备1030、1040、1050和/或它们相应的用户)的服务预订。
示例实现
尽管以特定的顺序次序描述所公开方法的一些的操作以便于方便呈现,但应当理解,这一描述方式包含重排,除非以下提出的具体语言要求特定的次序。例如,顺序描述的操作可以在一些情况下并行地重排或同时执行。此外,为简洁起见,附图可能不示出所公开的方法可以结合其他方法使用的各种方式。
所公开的方法中的任何方法可被实现为被存储在一个或多个计算机可读存储介质上并在计算设备(例如任何可用计算设备,包括智能电话或其他包括计算硬件的移动设备)上执行的计算机可执行指令或计算机程序产品。计算机可读存储介质是在计算环境内可访问的任何可用的有形介质(例如,诸如DVD或CD之类的一个或多个光学介质盘、易失性存储器组件(诸如DRAM或SRAM)或非易失性存储器组件(诸如闪存或硬件驱动器))。作为示例并参考图8,计算机可读存储介质包括存储器820和825以及存储840。作为示例并参考图9,计算机可读存储介质包括存储器以及存储920、922和924。术语计算机可读存储介质不包括信号和载波。此外,术语计算机可读存储介质不包括通信连接(例如,870、960、962和964)。
用于实现所公开技术的计算机可执行指令中的任一个以及在实现所公开的实施例期间创建和使用的任何数据可以被存储在一个或多个计算机可读存储介质上。计算机可执行指令可以是例如专用软件应用或者经由web浏览器或其他软件应用(诸如远程计算应用)访问和下载的软件应用的一部分。这种软件可以例如在单个本地计算机(例如,任何适当的商业可购买计算机)上或者使用一个或多个网络计算机在网络环境(例如,经由互联网、广域网、局域网、客户端-服务器网络(诸如云计算网络)、或者其他这样的网络)中执行。
为清楚起见,仅描述了基于软件的实现方式的特定所选方面。省略了本领域公知的其他细节。例如,应当理解,所公开的技术不限于任何具体的计算机语言或程序。例如,所公开的技术可以通过以C++、Java、Perl、JavaScript、Adobe Flash或者任何其他适当的编程语言编写的软件来实现。同样,所公开的技术不限于任何特定的计算机或硬件类型。适当计算机和硬件的特定细节是公知的,并且不需要在本公开中详细提出。
而且,基于软件的实施例(包括例如用于使计算机执行所公开方法的任一种的计算机可执行指令)中的任一者可以通过适当的通信手段被上载、下载或远程地访问。这种适当的通信手段包括例如互联网、万维网、内联网、软件应用、电缆(包括光纤电缆)、磁通信、电磁通信(包括RF、微波和红外通信)、电子通信或者其他这样的通信手段。
所公开的方法、装置和系统不应以任何方式被限制。相反,本公开针对各种公开的实施例(单独和彼此的各种组合和子组合)的所有新颖和非显而易见的特征和方面。所公开的方法、装置和系统不限于任何具体方面或特征或它们的组合,所公开的实施例也不要求存在任一个或多个具体优点或者解决问题。
来自任何示例的技术可以与在任何一个或多个其他示例中所描述的技术相组合。鉴于可应用所公开的本技术的原理的许多可能的实施例,应当认识到,所示实施例仅是所公开的技术的示例,并且不应被用作是对所公开的技术的范围的限制。

Claims (15)

1.一种计算设备,包括:
处理单元;
存储器;以及
一个或多个话筒;
所述计算设备配置有语音控制的数字个人助理,各操作包括:
经由所述一个或多个话筒接收用户所生成的语音输入;
使用所述语音输入执行语音识别以确定所讲命令,其中所讲命令包括执行第三方应用的任务的请求,并且其中所述任务是使用定义能由所讲命令调用的第三方应用的任务的数据结构来标识的;
确定所述第三方应用的任务是否能够被无头地执行;
在确定所述第三方应用的任务能够被无头地执行时,使得所述第三方应用作为后台进程执行以无头地执行所述任务;
接收来自所述第三方应用的指示与所述任务相关联的状态的响应;以及
通过所述语音控制的数字个人助理的用户接口基于接收到的与所述任务相关联的状态来向所述用户提供响应,以使得所述响应来自所述语音控制的数字个人助理的用户接口的上下文内,而不出现所述第三方应用的用户接口。
2.如权利要求1所述的计算设备,其特征在于,确定所述第三方应用的任务能够被无头地执行包括确定所述数据结构将所述任务定义为后台任务。
3.如权利要求1所述的计算设备,其特征在于,确定所述第三方应用的任务能够被无头地执行包括确定所述用户正以免手模式使用所述计算设备。
4.如权利要求1所述的计算设备,其特征在于,所述操作进一步包括在执行语音识别的同时以及在确定所讲命令的完成之前发起所述第三方应用的热身序列。
5.如权利要求4所述的计算设备,其特征在于,所述热身序列包括分配所述存储器的一部分、预取指令、建立通信会话、从数据库检索信息、启动新执行线程、或唤起中断。
6.如权利要求1所述的计算设备,其特征在于,定义能由所讲命令调用的第三方应用的任务的所述数据结构包括与所述任务相关联的状态到对所述用户的响应之间的映射。
7.如权利要求1所述的计算设备,其特征在于,所述操作还包括:
在使得所述第三方应用作为后台进程来执行时,启动定时器;以及
如果所述定时器期满则终止所述后台进程。
8.如权利要求1所述的计算设备,其特征在于,来自所述第三方应用的响应指示确认状态,并且基于所述确认状态的给所述用户的响应提示所述用户以是或否回答来作出响应。
9.一种由包括话筒的计算设备实现的方法,所述方法包括:
由语音控制的数字个人助理接收由用户生成的数字语音输入,其中所述数字语音输入是经由所述话筒来接收的;
使用所述数字语音输入执行自然语言处理以确定用户语音命令,其中所述用户语音命令包括执行第三方启用语音的应用的预定义功能的请求,并且其中所述预定义功能是使用定义可用的第三方启用语音的应用使用语音输入所支持的功能的数据结构来标识的;
使得所述第三方启用语音的应用作为后台进程执行所述预定义功能,而不在所述计算设备的显示器上出现所述第三方启用语音的应用的用户接口;
接收来自所述第三方启用语音的应用的指示与所述预定义功能相关联的状态的响应;以及
通过所述语音控制的数字个人助理的用户接口基于接收到的与所述预定义功能相关联的状态来向所述用户提供响应,以使得所述响应来自所述语音控制的数字个人助理的用户接口的上下文内,而不出现所述第三方启用语音的应用的用户接口。
10.如权利要求9所述的方法,其特征在于,还包括在执行自然语言处理的同时以及在确定所述用户语音命令的完成之前发起所述第三方启用语音的应用的热身序列。
11.如权利要求10所述的方法,其特征在于,发起所述热身序列包括将投机性功能发送给所述第三方启用语音的应用。
12.如权利要求9所述的方法,其特征在于,所述数据结构是能经由命令模式来扩展的,所述命令模式能用于将来自所述用户的请求关联到一个或多个第三方启用语音的应用的预定义功能。
13.如权利要求9所述的方法,其特征在于,所述数据结构包括:
语音命令到可用第三方启用语音的应用所支持的功能的第一映射;以及
从功能接收到的状态到从所述语音控制的数字个人助理提供给所述用户的响应的第二映射。
14.一种存储计算机可执行指令的计算机可读存储介质,所述计算机可执行指令使得计算设备执行用于在语音控制的数字个人助理的上下文内完成启用语音的应用的任务的操作,所述操作包括:
由所述语音控制的数字个人助理接收由用户生成的数字语音输入,其中所述数字语音输入是经由话筒来接收的;
使用所述数字语音输入执行自然语言处理以确定用户语音命令,其中所述用户语音命令包括执行启用语音的应用的任务的请求,并且其中所述任务是使用将用户语音命令映射到启用语音的应用的任务的可扩展数据结构来标识的;
确定所述启用语音的应用的任务是前台任务还是后台任务;
在确定所述任务是后台任务时,使得所述启用语音的应用将所述任务作为后台任务并在所述语音控制的数字个人助理的上下文内执行,而不出现所述启用语音的应用的用户接口;
接收来自所述启用语音的应用的指示与所述任务相关联的状态的响应;以及
基于接收到的与所述任务相关联的状态向所述用户提供响应,在确定所述任务是后台任务时,所述响应是在所述语音控制的数字个人助理的上下文内提供的,而没有出现所述启用语音的应用的用户接口。
15.如权利要求14所述的计算机可读存储介质,其特征在于,所述操作还包括在执行自然语言处理的同时以及在确定所述用户语音命令的完成之前发起所述启用语音的应用的热身序列。
CN201580072926.4A 2015-01-09 2015-12-29 数字个人助理内的无头任务完成 Active CN107111516B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/593,584 2015-01-09
US14/593,584 US9959129B2 (en) 2015-01-09 2015-01-09 Headless task completion within digital personal assistants
PCT/US2015/067759 WO2016111881A1 (en) 2015-01-09 2015-12-29 Headless task completion within digital personal assistants

Publications (2)

Publication Number Publication Date
CN107111516A true CN107111516A (zh) 2017-08-29
CN107111516B CN107111516B (zh) 2021-07-30

Family

ID=55305053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580072926.4A Active CN107111516B (zh) 2015-01-09 2015-12-29 数字个人助理内的无头任务完成

Country Status (18)

Country Link
US (1) US9959129B2 (zh)
EP (2) EP3584787B1 (zh)
JP (1) JP6666920B2 (zh)
KR (1) KR102490776B1 (zh)
CN (1) CN107111516B (zh)
AU (1) AU2015375326B2 (zh)
BR (1) BR112017013524B1 (zh)
CA (2) CA2970725C (zh)
CL (1) CL2017001755A1 (zh)
CO (1) CO2017007028A2 (zh)
IL (1) IL252458B (zh)
MX (1) MX2017008926A (zh)
MY (1) MY186956A (zh)
NZ (2) NZ770836A (zh)
PH (1) PH12017550012A1 (zh)
RU (1) RU2710984C2 (zh)
SG (1) SG11201705282XA (zh)
WO (1) WO2016111881A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110400561A (zh) * 2018-04-16 2019-11-01 松下航空电子公司 用于交通工具的方法和系统
CN111258529A (zh) * 2018-12-03 2020-06-09 三星电子株式会社 电子设备及其控制方法
CN111602160A (zh) * 2018-01-10 2020-08-28 微软技术许可有限责任公司 数字助理任务管理
CN112334871A (zh) * 2019-06-05 2021-02-05 谷歌有限责任公司 用于基于数字助理的应用的动作验证
CN112543910A (zh) * 2018-08-08 2021-03-23 三星电子株式会社 用于确认用户的意图的电子装置的反馈方法和设备
CN113168305A (zh) * 2018-12-06 2021-07-23 微软技术许可有限责任公司 通过预测用户响应来加快与数字助理的交互
CN113330512A (zh) * 2018-12-28 2021-08-31 谷歌有限责任公司 根据选择的建议向自动化助理补充语音输入
CN114041283A (zh) * 2019-02-20 2022-02-11 谷歌有限责任公司 利用事件前和事件后输入流来接洽自动化助理
CN116888663A (zh) * 2020-12-08 2023-10-13 谷歌有限责任公司 基于部分假设的流式动作实施
US11935536B2 (en) 2019-06-05 2024-03-19 Google Llc Action validation for digital assistant-based applications

Families Citing this family (176)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
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
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US10972530B2 (en) * 2016-12-30 2021-04-06 Google Llc Audio-based data structure generation
US8688514B1 (en) 2011-06-24 2014-04-01 Google Inc. Ad selection using image data
US11087424B1 (en) 2011-06-24 2021-08-10 Google Llc Image recognition-based content item selection
US10956485B2 (en) 2011-08-31 2021-03-23 Google Llc Retargeting in a search environment
US10630751B2 (en) * 2016-12-30 2020-04-21 Google Llc Sequence dependent data message consolidation in a voice activated computer network environment
US11093692B2 (en) 2011-11-14 2021-08-17 Google Llc Extracting audiovisual features from digital components
US10586127B1 (en) 2011-11-14 2020-03-10 Google Llc Extracting audiovisual features from content elements on online documents
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
CN104969289B (zh) 2013-02-07 2021-05-28 苹果公司 数字助理的语音触发器
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
US11030239B2 (en) 2013-05-31 2021-06-08 Google Llc Audio based entity-action pair based selection
KR101959188B1 (ko) 2013-06-09 2019-07-02 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US9703757B2 (en) 2013-09-30 2017-07-11 Google Inc. Automatically determining a size for a content item for a web page
US10614153B2 (en) 2013-09-30 2020-04-07 Google Llc Resource size-based content item selection
US10431209B2 (en) 2016-12-30 2019-10-01 Google Llc Feedback controller for data transmissions
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9898170B2 (en) 2014-12-10 2018-02-20 International Business Machines Corporation Establishing user specified interaction modes in a question answering dialogue
US11127055B1 (en) * 2015-02-27 2021-09-21 State Farm Mutual Automobile Insurance Company System and method for navigating an automated process using audio and tactile feedback
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
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
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10650067B2 (en) 2015-08-13 2020-05-12 Samsung Electronics Co., Ltd. Cloud-enabled architecture for on-demand native application crawling
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
KR20170072652A (ko) * 2015-12-17 2017-06-27 삼성전자주식회사 디스플레이 장치 및 디스플레이 방법
US10079021B1 (en) * 2015-12-18 2018-09-18 Amazon Technologies, Inc. Low latency audio interface
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10120954B2 (en) 2015-12-31 2018-11-06 Samsung Electronics Co., Ltd. Transformation and presentation of on-demand native application crawling results
US10229677B2 (en) * 2016-04-19 2019-03-12 International Business Machines Corporation Smart launching mobile applications with preferred user interface (UI) languages
US10783178B2 (en) 2016-05-17 2020-09-22 Google Llc Generating a personal database entry for a user based on natural language user interface input of the user and generating output based on the entry in response to further natural language user interface input of the user
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US11093834B2 (en) * 2016-07-06 2021-08-17 Palo Alto Research Center Incorporated Computer-implemented system and method for predicting activity outcome based on user attention
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10395652B2 (en) * 2016-09-20 2019-08-27 Allstate Insurance Company Personal information assistant computing system
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10467509B2 (en) 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Computationally-efficient human-identifying smart assistant computer
US11100384B2 (en) 2017-02-14 2021-08-24 Microsoft Technology Licensing, Llc Intelligent device user interactions
US11010601B2 (en) 2017-02-14 2021-05-18 Microsoft Technology Licensing, Llc Intelligent assistant device communicating non-verbal cues
US10574825B2 (en) * 2017-02-15 2020-02-25 Microsoft Technology Licensing, Llc Assisted-communication with intelligent personal assistant
US11323665B2 (en) * 2017-03-31 2022-05-03 Ecolink Intelligent Technology, Inc. Method and apparatus for interaction with an intelligent personal assistant
KR102339819B1 (ko) * 2017-04-05 2021-12-15 삼성전자주식회사 프레임워크를 이용한 자연어 표현 생성 방법 및 장치
US10726056B2 (en) * 2017-04-10 2020-07-28 Sap Se Speech-based database access
US11170768B2 (en) * 2017-04-17 2021-11-09 Samsung Electronics Co., Ltd Device for performing task corresponding to user utterance
KR102414122B1 (ko) * 2017-04-19 2022-06-29 삼성전자주식회사 사용자 발화를 처리하는 전자 장치 및 그 동작 방법
US20180316634A1 (en) * 2017-04-26 2018-11-01 Microsoft Technology Licensing, Llc Extending application functionality via conversational interfaces
KR102298947B1 (ko) 2017-04-28 2021-09-08 삼성전자주식회사 음성 데이터 처리 방법 및 이를 지원하는 전자 장치
KR102380717B1 (ko) * 2017-04-30 2022-03-31 삼성전자주식회사 사용자 발화를 처리하는 전자 장치 및 이 전자 장치의 제어 방법
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US10127227B1 (en) * 2017-05-15 2018-11-13 Google Llc Providing access to user-controlled resources by automated assistants
US11436417B2 (en) 2017-05-15 2022-09-06 Google Llc Providing access to user-controlled resources by automated assistants
US11048995B2 (en) * 2017-05-16 2021-06-29 Google Llc Delayed responses by computational assistant
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10303715B2 (en) 2017-05-16 2019-05-28 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
US10679192B2 (en) 2017-05-25 2020-06-09 Microsoft Technology Licensing, Llc Assigning tasks and monitoring task performance based on context extracted from a shared contextual graph
US10769138B2 (en) 2017-06-13 2020-09-08 International Business Machines Corporation Processing context-based inquiries for knowledge retrieval
KR102365649B1 (ko) 2017-06-28 2022-02-22 삼성전자주식회사 화면 제어 방법 및 이를 지원하는 전자 장치
US10449440B2 (en) * 2017-06-30 2019-10-22 Electronic Arts Inc. Interactive voice-controlled companion application for a video game
US10366691B2 (en) * 2017-07-11 2019-07-30 Samsung Electronics Co., Ltd. System and method for voice command context
US11004444B2 (en) * 2017-09-08 2021-05-11 Amazon Technologies, Inc. Systems and methods for enhancing user experience by communicating transient errors
US10621317B1 (en) 2017-09-14 2020-04-14 Electronic Arts Inc. Audio-based device authentication system
US10423873B2 (en) * 2017-12-01 2019-09-24 International Business Machines Corporation Information flow analysis for conversational agents
US11113026B2 (en) * 2017-12-08 2021-09-07 Toonimo, Inc. System and method for voice-directed website walk-through
US10629192B1 (en) 2018-01-09 2020-04-21 Electronic Arts Inc. Intelligent personalized speech recognition
US10643632B2 (en) * 2018-01-12 2020-05-05 Wells Fargo Bank, N.A. Automated voice assistant personality selector
WO2019139604A1 (en) * 2018-01-12 2019-07-18 Google Llc Systems, methods, and apparatuses for pausing and resuming a virtual assistant
US20210064640A1 (en) * 2018-01-17 2021-03-04 Sony Corporation Information processing apparatus and information processing method
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
KR102617265B1 (ko) * 2018-03-13 2023-12-26 삼성전자주식회사 사용자 음성 입력을 처리하는 장치
CN108521500A (zh) * 2018-03-13 2018-09-11 努比亚技术有限公司 一种语音场景控制方法、设备及计算机可读存储介质
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
CN110321201A (zh) * 2018-03-29 2019-10-11 努比亚技术有限公司 一种后台程序处理方法、终端及计算机可读存储介质
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US10782986B2 (en) 2018-04-20 2020-09-22 Facebook, Inc. Assisting users with personalized and contextual communication content
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11307880B2 (en) 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
US10824432B2 (en) * 2018-04-30 2020-11-03 Servicenow, Inc. Systems and methods for providing multiple console sessions that enable line-by-line execution of scripts on a server application
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
KR20230037704A (ko) * 2018-05-07 2023-03-16 구글 엘엘씨 연결 디바이스를 제어하기 위한 복합 그래픽 어시스턴트 인터페이스를 제공하는 방법, 시스템, 및 장치
US11087761B2 (en) 2018-05-07 2021-08-10 Google Llc Platform selection for performing requested actions in audio-based computing environments
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
CN117061495A (zh) 2018-05-07 2023-11-14 谷歌有限责任公司 在基于音频的计算环境中执行请求的动作的平台选择
US11487501B2 (en) * 2018-05-16 2022-11-01 Snap Inc. Device control using audio data
KR20190136832A (ko) * 2018-05-31 2019-12-10 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 음성 명령을 프린팅 서비스를 지원하는 텍스트 코드 블록들로 변환
DK201870355A1 (en) * 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
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
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
DK201870358A1 (en) * 2018-06-03 2020-01-03 Apple Inc. ACCELERATED TASK PERFORMANCE
AU2019100576C4 (en) * 2018-06-03 2020-01-30 Apple Inc. Accelerated task performance
EP3682345B1 (en) 2018-08-07 2021-11-24 Google LLC Assembling and evaluating automated assistant responses for privacy concerns
CN110858481B (zh) 2018-08-07 2024-04-30 三星电子株式会社 用于处理用户语音话语的系统和用于操作该系统的方法
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11205422B2 (en) 2018-10-02 2021-12-21 International Business Machines Corporation Methods and systems for managing chatbots with data access
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
WO2020106314A1 (en) 2018-11-21 2020-05-28 Google Llc Consolidation of responses from queries to disparate data sources
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11380214B2 (en) * 2019-02-19 2022-07-05 International Business Machines Corporation Memory retention enhancement for electronic text
JP7280066B2 (ja) * 2019-03-07 2023-05-23 本田技研工業株式会社 エージェント装置、エージェント装置の制御方法、およびプログラム
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
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
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11360738B2 (en) 2019-05-06 2022-06-14 Google Llc Rendering visual components on applications in response to voice commands
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
CN113841172A (zh) * 2019-05-28 2021-12-24 瑞典爱立信有限公司 用于处置消息的网络节点以及在其中执行的方法
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US10926173B2 (en) 2019-06-10 2021-02-23 Electronic Arts Inc. Custom voice control of video game character
US10901689B1 (en) * 2019-07-11 2021-01-26 International Business Machines Corporation Dynamic augmented reality interface creation
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11567788B1 (en) 2019-10-18 2023-01-31 Meta Platforms, Inc. Generating proactive reminders for assistant systems
US11636438B1 (en) 2019-10-18 2023-04-25 Meta Platforms Technologies, Llc Generating smart reminders by assistant systems
US11574634B2 (en) * 2019-11-27 2023-02-07 Google Llc Interfacing with applications via dynamically updating natural language processing
KR20220062360A (ko) * 2019-11-27 2022-05-16 구글 엘엘씨 동적으로 업데이트되는 자연어 처리를 통한 애플리케이션과의 인터페이스
CN111261156A (zh) * 2019-12-30 2020-06-09 北京梧桐车联科技有限责任公司 语音采集方法、装置及计算机可读存储介质
US11907298B2 (en) * 2020-02-04 2024-02-20 Intuition Robotics, Ltd. System and method thereof for automatically updating a decision-making model of an electronic social agent by actively collecting at least a user response
US11782986B2 (en) 2020-03-27 2023-10-10 Trushant Mehta Interactive query based network communication through a media device
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11043220B1 (en) 2020-05-11 2021-06-22 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11556707B2 (en) 2020-06-18 2023-01-17 Google Llc Fulfillment of actionable requests ahead of a user selecting a particular autocomplete suggestion for completing a current user input
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
CN112698872A (zh) * 2020-12-21 2021-04-23 北京百度网讯科技有限公司 语音数据处理的方法、装置、设备及存储介质
US11947783B2 (en) * 2021-01-25 2024-04-02 Google Llc Undoing application operation(s) via user interaction(s) with an automated assistant
US11978449B2 (en) 2021-03-02 2024-05-07 Samsung Electronics Co., Ltd. Electronic device for processing user utterance and operation method therefor
US20220293128A1 (en) * 2021-03-10 2022-09-15 Comcast Cable Communications, Llc Systems and methods for improved speech and command detection
US20220366338A1 (en) * 2021-05-13 2022-11-17 At&T Intellectual Property I, L.P. Contextual presentation of multiple steps in performing a task

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130176328A1 (en) * 2009-12-25 2013-07-11 Nokia Corporation Method and apparatus for persistent display of navigation content
US8595642B1 (en) * 2007-10-04 2013-11-26 Great Northern Research, LLC Multiple shell multi faceted graphical user interface
US20140278419A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Voice command definitions used in launching application with a command
US20140365227A1 (en) * 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3725566B2 (ja) * 1992-12-28 2005-12-14 株式会社東芝 音声認識インターフェース
US6791529B2 (en) * 2001-12-13 2004-09-14 Koninklijke Philips Electronics N.V. UI with graphics-assisted voice control system
US7003464B2 (en) * 2003-01-09 2006-02-21 Motorola, Inc. Dialog recognition and control in a voice browser
DE102005016853A1 (de) * 2005-04-12 2006-10-19 Siemens Ag Verfahren zur Kontrolle von sprachgesteuerten Applikationen und zugehöriges Kontrollsystem
WO2008072093A2 (en) * 2006-12-13 2008-06-19 Quickplay Media Inc. Mobile media platform
US10631246B2 (en) 2011-02-14 2020-04-21 Microsoft Technology Licensing, Llc Task switching on mobile devices
US9063629B2 (en) * 2011-10-31 2015-06-23 Nokia Technologies Oy Responding to a received message in a locked user interaction mode
CN102510426A (zh) 2011-11-29 2012-06-20 安徽科大讯飞信息科技股份有限公司 个人助理应用访问方法及系统
US9052197B2 (en) 2012-06-05 2015-06-09 Apple Inc. Providing navigation instructions while device is in locked mode
CN103593230B (zh) 2012-08-13 2017-05-10 百度在线网络技术(北京)有限公司 移动终端的后台任务控制方法及移动终端
US10276157B2 (en) * 2012-10-01 2019-04-30 Nuance Communications, Inc. Systems and methods for providing a voice agent user interface
US9658740B2 (en) * 2013-03-15 2017-05-23 Apple Inc. Device, method, and graphical user interface for managing concurrently open software applications
US9386152B2 (en) * 2013-03-15 2016-07-05 Genesys Telecommunications Laboratories, Inc. Intelligent automated agent and interactive voice response for a contact center
KR101505127B1 (ko) * 2013-03-15 2015-03-26 주식회사 팬택 음성 명령에 의한 오브젝트 실행 장치 및 방법
CN103257787B (zh) 2013-05-16 2016-07-13 小米科技有限责任公司 一种语音助手应用的开启方法和装置
US9749209B2 (en) * 2013-11-01 2017-08-29 The Nielsen Company (Us), Llc Methods and apparatus to credit background applications
US9741343B1 (en) * 2013-12-19 2017-08-22 Amazon Technologies, Inc. Voice interaction application selection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595642B1 (en) * 2007-10-04 2013-11-26 Great Northern Research, LLC Multiple shell multi faceted graphical user interface
US20130176328A1 (en) * 2009-12-25 2013-07-11 Nokia Corporation Method and apparatus for persistent display of navigation content
US20140278419A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Voice command definitions used in launching application with a command
US20140365227A1 (en) * 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111602160A (zh) * 2018-01-10 2020-08-28 微软技术许可有限责任公司 数字助理任务管理
CN110400561A (zh) * 2018-04-16 2019-11-01 松下航空电子公司 用于交通工具的方法和系统
CN112543910A (zh) * 2018-08-08 2021-03-23 三星电子株式会社 用于确认用户的意图的电子装置的反馈方法和设备
CN111258529A (zh) * 2018-12-03 2020-06-09 三星电子株式会社 电子设备及其控制方法
CN111258529B (zh) * 2018-12-03 2023-10-20 三星电子株式会社 电子设备及其控制方法
CN113168305A (zh) * 2018-12-06 2021-07-23 微软技术许可有限责任公司 通过预测用户响应来加快与数字助理的交互
CN113168305B (zh) * 2018-12-06 2024-01-09 微软技术许可有限责任公司 通过预测用户响应来加快与数字助理的交互
CN113330512A (zh) * 2018-12-28 2021-08-31 谷歌有限责任公司 根据选择的建议向自动化助理补充语音输入
CN114041283A (zh) * 2019-02-20 2022-02-11 谷歌有限责任公司 利用事件前和事件后输入流来接洽自动化助理
CN112334871A (zh) * 2019-06-05 2021-02-05 谷歌有限责任公司 用于基于数字助理的应用的动作验证
US11935536B2 (en) 2019-06-05 2024-03-19 Google Llc Action validation for digital assistant-based applications
CN116888663A (zh) * 2020-12-08 2023-10-13 谷歌有限责任公司 基于部分假设的流式动作实施

Also Published As

Publication number Publication date
AU2015375326B2 (en) 2020-08-27
NZ770836A (en) 2022-10-28
CA3158979A1 (en) 2016-07-14
RU2017124103A (ru) 2019-01-09
IL252458A0 (en) 2017-07-31
KR20170103801A (ko) 2017-09-13
AU2015375326A1 (en) 2017-06-15
NZ732357A (en) 2022-10-28
US20160203002A1 (en) 2016-07-14
CO2017007028A2 (es) 2017-09-29
JP2018511095A (ja) 2018-04-19
EP3584787A1 (en) 2019-12-25
BR112017013524A2 (pt) 2018-01-02
EP3243199B1 (en) 2019-06-19
RU2710984C2 (ru) 2020-01-14
SG11201705282XA (en) 2017-07-28
CL2017001755A1 (es) 2018-02-16
BR112017013524B1 (pt) 2023-03-07
EP3584787B1 (en) 2022-02-23
MX2017008926A (es) 2017-10-11
WO2016111881A1 (en) 2016-07-14
KR102490776B1 (ko) 2023-01-19
PH12017550012A1 (en) 2017-10-18
CN107111516B (zh) 2021-07-30
CA2970725C (en) 2023-05-23
US9959129B2 (en) 2018-05-01
MY186956A (en) 2021-08-26
IL252458B (en) 2019-11-28
CA2970725A1 (en) 2016-07-14
JP6666920B2 (ja) 2020-03-18
RU2017124103A3 (zh) 2019-07-17
EP3243199A1 (en) 2017-11-15

Similar Documents

Publication Publication Date Title
CN107111516A (zh) 数字个人助理内的无头任务完成
US11582337B2 (en) Electronic device and method of executing function of electronic device
US10944859B2 (en) Accelerated task performance
KR102030784B1 (ko) 디지털 어시스턴트와의 애플리케이션 통합
EP3436970B1 (en) Application integration with a digital assistant
CN105264485B (zh) 在多个设备上提供内容
CN107112015A (zh) 发现第三方启用语音的资源的能力
CN107924313A (zh) 分布式个人助理
CN109564530A (zh) 提供具有可选择的可遍历的状态机的个人辅助模块
CN107210033A (zh) 基于众包来更新用于数字个人助理的语言理解分类器模型
CN107615276A (zh) 用于媒体回放的虚拟助理
KR102343084B1 (ko) 전자 장치 및 전자 장치의 기능 실행 방법
CN109254718A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1240350

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant