用于响应于来自用户的请求而使用来自其它源的应用数据生成应用输入内容的自动化助理

文档序号:1966932 发布日期:2021-12-14 浏览:12次 >En<

阅读说明:本技术 用于响应于来自用户的请求而使用来自其它源的应用数据生成应用输入内容的自动化助理 (Automated assistant for generating application input content using application data from other sources in response to requests from a user ) 是由 博赫丹·弗拉修克 贝沙德·贝扎迪 马里奥·贝奇勒 丹尼斯·布拉科夫 丹尼尔·科廷 迈克尔· 于 2019-08-06 设计创作,主要内容包括:本文所给出的实施方式涉及一种自动化助理,其能够在用户与前台应用交互的同时被调用以便从一个或多个不同应用获取数据,并且随后将所获取到的数据提供给该前台应用。用户可以在操作该前台应用的同时通过提供口述话语来调用该自动化助理,并且该自动化助理可以基于该口述话语的内容选择一个或多个其它应用以进行查询。该自动化助理从该一个或多个其它应用所收集的应用数据随后可以被用来向该前台应用提供输入。以这种方式,用户可以避免为了获取已经由其它应用所生成的数据而在前台中的应用之间切换。(Embodiments presented herein relate to an automated assistant that can be invoked while a user interacts with a foreground application to retrieve data from one or more different applications and then provide the retrieved data to the foreground application. The user can invoke the automated assistant by providing a spoken utterance while operating the foreground application, and the automated assistant can select one or more other applications to query based on content of the spoken utterance. Application data collected by the automated assistant from the one or more other applications can then be used to provide input to the foreground application. In this way, the user may avoid switching between applications in the foreground in order to retrieve data that has been generated by other applications.)

用于响应于来自用户的请求而使用来自其它源的应用数据生 成应用输入内容的自动化助理

背景技术

人类可以利用交互式软件应用参与人机对话,上述交互式软件应用在本文被称作“自动化助理”(也称作“数字代理”、“聊天机器人”、“交互式个人助理”、“智能个人助理”、“助理应用”、“对话代理”等)。例如,人类(当他们与自动化助理交互时也可以被称作“用户”)可以使用口述自然语言输入(即,话语)和/或通过提供文本(例如,打字的)自然语言输入来提供命令和/或请求,上述自然语言输入在一些情况下可以被转换为文本并且随后被处理。

在许多实例中,用户可以调用自动化助理以初始化诸如音乐流传输应用的应用,以便节约原本可能由于经前景中的应用转移而被浪费的计算资源。然而,这样的交互可能被限制为从用户经由自动化助理到应用的单向通信。通过以该方式限制这些交互,用户可能发现他们自己为了向不同应用传递相似信息而重复对自动化助理的输入。由于许多自动化助理输入是经由口述话语所提供的,所以这可能导致自动化助理反复且不必要地处理相似的口述话语——考虑重复的口述话语可能已经被处理过的实例。这可能消耗处理器资源,以及在这样的口述话语是在远程服务器设备被处理时消耗网络带宽。

发明内容

本文所阐述的一些实施方式涉及到能够履行命令的客户端设备的自动化助理,上述命令针对在该客户端设备处安装的特定应用,但是能够由该自动化助理使用来自在该客户端设备处安装的一个或多个其它应用的应用程序所履行。作为示例,用户可以在该用户与诸如恒温器应用的特定应用交互的同时向自动化助理提供查询。该用户可以与该恒温器应用交互以便安排恒温器在该用户在接下来的月份外出度假时的操作。在与该恒温器应用交互的同时,该用户可以到达请求该用户提供该用户将离家的具体日期和/或时间的图形用户界面。该恒温器应用可以使用该日期和/或时间作为控制数据的部分以便在用户离开时限制该用户家中的HVAC系统或者另一加热和/或制冷系统的输出。

为了快速提供该日期和时间,用户可以调用自动化助理以便该自动化助理可以从一个或多个源获取到该数据。例如,在用户与该恒温器应用交互之前,该用户可能已向其它应用提供了日期和/或时间以用于预定其假期。例如,该用户可能已经使用其它应用来预定其假期的各个方面,并且作为结果,该其它应用可能已经拥有了与该日期和/或时间相关的本地可访问数据(例如,本地存储的所预定方面的确认或概要),该数据例如存储在该恒温器应用安装于其上的设备的存储器中。该其它应用可以包括用户从那里预定其航班的航班应用,以及该用户从那里预定其往来于机场的行程的行程共享应用。虽然用户可以具有安装在他们各自的计算设备上的各种不同的应用,但是该自动化助理可以接收来自该用户的获取与其假期相关联的日期和时间的请求,并且基于来自其它应用的应用数据而生成响应数据。例如,当用户正在访问请求用于控制恒温器的具体日期和时间的图形用户界面时,该用户可以提供诸如“Assistant,use my San Francisco vacation dates and times(助理,使用我的旧金山假期的日期和时间)”的口述话语。

响应于接收到该口述话语,自动化助理可以经由各种不同应用访问应用数据,并且特别地获取与来自用户的该口述话语的内容相关联的数据。该自动化助理可以在应用数据中搜索诸如“San Francisco(旧金山)”和“vacation(假期)”之类的特定项,以便识别与该项相关的数据。在一些实施方式中,该自动化助理可以提供向安装在该计算设备处的一个或多个应用中的每个应用提供请求,以便使得该一个或多个应用响应于相应命令而生成相关内容。例如,来自自动化助理的请求可以包括诸如“Assistant_Request{Terms(‘SanFrancisco’,‘vacation’);Type(‘Date’)}”的内容。响应于特定应用接收到该命令,该特定应用可以识别格式为“Date(日期)”并且与项“San Francisco(旧金山)”和“vacation(假期)”相关联的数据。当该特定应用识别出响应于该请求的内容时,该特定应用可以向该自动化助理提供表征该特定应用所识别内容的数据。

在一些实施方式中,该应用数据可以包括与项“vacation(假期)”对应的各种数据,诸如各种应用所提供的图像文件夹和其它内容。为了对这样的应用数据进行过滤,自动化助理可以使用用户与之交互的特定应用(例如,恒温器应用)所提供的内容作为进一步过滤该应用数据的基础。例如,包括用于具体日期和时间的字段的图形用户界面可以包括表征恒温器应用趋向于如何使用该日期和时间的自然语言内容。例如,该图形用户界面可以将用于日期和时间的字段标示为该用户将要离家的“即将到来的”日期和时间。因此,基于在该图形用户界面处提供的一个或多个时间修饰语(例如,“即将到来的”),该自动化助理可以进一步过滤应用数据以识别出与未来(即,即将到来的)日期和时间相关联的某些内容。

当该自动化助理已经完成过滤应用数据并且已经从中识别出适当数据以便渲染响应内容时,该自动化助理可以生成基于经过滤的应用数据的响应数据。该响应数据可以包括来自诸如航班应用和行程共享应用的多个不同应用的应用数据。该响应数据可以识别用户将使用该行程共享应用往返于机场的日期和时间,以及该用户将乘坐其航班离开和返回的日期和时间。在一些实施方式中,在自动化助理将响应数据输入到图形用户界面的适当字段中之前,该用户可以被提示以确认该响应数据。附加地或可选地,在自动化助理将响应数据输入到该字段中之前,该用户可以被提供以编辑该响应数据的选项。在一些实施方式中,自动化助理可以响应于用户提供口述话语而将响应数据输入到图形用户界面的字段中。该用户随后可以对自动化助理输入到图形用户界面的字段中的任何内容进行编辑。

当自动化助理已经将响应数据输入到字段中时该用户和/或自动化助理可以使得该应用提交该响应数据来促进该应用执行一个或多个动作。例如,使用自动化助理所提供的日期和时间,该应用可以存储供HVAC系统(或其它加热/制冷系统)进行操作的操作安排,以便在用户外出度假时降低功耗。以这种方式,用户可以精简与应用的交互以便完成这样的效率,而不必在各种不同应用之间切换。换句话说,响应于口述话语,自动化助理可以从各种应用(直接地和/或经由客户端设备的操作系统)请求被确定为与该口述话语相关的应用数据,并且在履行该口述话语的意图时利用所返回的应用数据。与用户必须另外开启各种应用中的每个并且手工导航至那些应用中的相关应用数据的情况相比,这可以利用更少的屏幕时间和/或利用较少的处理资源而更快地被实行。该履行的更快执行可以缩短在履行该意图时用户-客户端交互的总体时长。此外,通过在用户和机载自动化助理之间实施这些交互,作为计算设备和单独服务器设备之间更少的(或者甚至没有)通信的结果,可以节约网络带宽。

在一些实施方式中,自动化助理可以向多个不同应用查询响应数据以便向已经提供了针对某些数据的特定请求的用户提供内容。例如,用户可以提供诸如“Assistant,showme statuses of my current home devices(助理,向我显示我的当前家用设备的状态)”的请求。响应于在包括自动化助理的计算设备处接收到该请求,该计算设备可以生成要被提供至安装在该计算设备处的多个不同应用的一个或多个请求。在一些实施方式中,该自动化助理可以基于口述话语的内容或者来自用户的针对自动化助理的其它输入而生成一个或多个请求。例如,计算设备处的自然语言理解引擎可以被用来处理来自用户的口述话语(例如,机载话音辩别引擎所生成的其转译),并且生成相对应的自然语言理解数据。基于该自然语言理解数据,计算设备可以生成能够被传送至应用子集的请求,上述应用子集是安装在该计算设备处的应用的群组的子集。

在一些实施方式中,该请求可以识别在该计算设备处安装的应用的群组中的应用子群组的类型。例如,响应于上述口述话语,该自动化助理可以生成请求,诸如

ASSISTANT_QUERY(application_type{home_control};data_type{status})。该请求可以识别出:应当从自动化助理接收该请求的应用的类型,以及接收该请求的应用所应当提供的特定类型的数据。在一些实施方式中,该自动化助理可以访问应用的列表,其可以包括针对每个应用的指定以及针对应用的相对应类型。例如,该应用列表中的一些应用可以与社交媒体类型的应用相关,并且该应用列表中的其它应用可以与健康和健身类型的应用相关。因此,如该示例中所提供的,自动化助理可以识别该应用列表中与“家居控制”相关的应用类型。这些类型的应用可以包括能够与连接至用户家中网络的IoT设备进行通信的应用。

一旦自动化助理已经识别了在计算设备处安装的应用的群组中的应用子群组,该自动化助理可以使得该请求被传送至该应用子群组中的每个应用(而该请求并不被传输至不在该子群组中的任何应用)。例如,该应用子群组中的每个家居控制类型的应用都可以被提供以上述请求,其寻求从每个家居控制类型的应用获取到状态数据。每个家居控制类型的应用可以经由应用编程接口(API)与自动化助理进行通信。该通信可选地可以经由客户端设备的操作系统,其可以例如利用各自的验证秘钥来验证来自自动化助理的请求和/或验证该应用。因此,当每个家居控制类型的应用接收到它们各自的请求时,每个家居控制类型的应用就能够准确地提供响应数据。例如,响应于恒温器应用接收到来自自动化助理的请求,该恒温器应用可以生成表征位于用户家中的恒温器的当前状态的响应数据。在一些实施方式中,响应数据的内容可以与所接收到的请求相关。例如,该响应数据可以包括诸如“ASSISTANT_RESPONSE(status{“Heat on at 72degrees.”}”的内容。在一些实施方式中,当应用接收到该应用无法作出响应的请求时,该应用可以提供知识响应于接收到该请求而发生了一个或多个错误的错误数据。此外,在一些实施方式中,当应用接收到针对响应数据的请求但是却没有适当响应数据提供时,该应用可以提供该应用没有相对应数据要响应于该请求提供的指示。

响应于从该应用子群组中的多个不同应用接收到响应数据,自动化助理可以将所有响应数据组织为能够向用户呈现的格式。例如,响应于用户提供了口述话语“Assistant,show me statuses of my home devices(助理,向我显示我的当前家用设备的状态)”,自动化助理可以渲染整合了该应用子群组中的每个应用所提供的响应数据的至少一部分的图形内容。例如,自动化助理可以使得计算设备的显示面板渲染表征来自不同应用的响应数据的内容列表的自然语言内容。该内容列表例如可以是“恒温器:加热到72度;除湿机:低功率模式;警报系统:外出防护”。以这种方式,用户能够看到来自不同应用的数据的各种组合,而并不要求各个应用持续和/或定期地向计算设备的操作系统自行报告信息,由此浪费计算设备处的存储器和/或其它存储资源。相反地,每个应用可以对来自自动化助理的结构化请求作出响应,以便以最低的资源利用向用户提供最新信息。因此,在各个实施方式中,可以按需地从对应应用请求口述话语的相关数据,这使得对应应用能够利用来自它们自己在机载存储的数据(以及可选地通过与相对应的远程服务器通信)而作出响应,上述数据可以被限制为仅能够被对应应用所访问。与实际上重复了已有数据的维持对来自多个应用的数据先行整理的单独本地存储相比,这可能是更加有效、存储有益和/或处理器要求有益的。本文所公开技术提供的这样的存储和/或处理器效率对于实施该技术的客户端设备可能是有利的,因为这样的客户端设备经常具有相对有限的存储和/或处理器能力。

以上描述作为本公开的一些实施方式的概述而被提供。下文更详细地描述对那些实施方式以及其它实施方式的进一步描述。

其它实施方式可以包括存储指令的非瞬态计算机可读存储介质,所述指令能够被一个或多个处理器(例如,中央处理器(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU))所执行以执行诸如上文和/或本文其它地方所描述的一个或多个方法的方法。再其它的实施方式可以包括一种一个或多个计算机的系统,所述计算机包括一个或多个处理器,其能够执行所存储的指令以执行诸如上文和/或本文其它地方所描述的一种或多种方法的方法。

应当意识到的是,上述概念以及本文更详细描述的附加概念的所有组合都被预期作为本文所公开主题的一部分。例如,出现在本公开结尾处的所请求保护主题的所有组合都被预期作为本文所公开主题的一部分。

附图说明

图1A和图1B图示了被采用以使用来自安装在客户端设备处的一个或多个其它应用的应用数据为应用提供数据的自动化助理。

图2A和图2B图示了被调用以便从一个或多个应用提供数据并且由此帮助用户为前台应用生成输入的自动化助理。

图3图示了用于提供自动化助理的系统,上述自动化助理可以使用来自计算设备处可用的多个其它应用的内容帮助用户向前台应用提供输入。

图4图示了用于调用自动化助理以从一个或多个不同应用获取数据并且随后将所获取的数据提供至用户与之交互的应用的方法。

图5是示例计算机系统的框图。

具体实施方式

图1A和图1B分别图示了被采用以使用来自安装在客户端设备104处的一个或多个其它应用的应用数据为应用提供数据的自动化助理130的视图100和视图140。用户102可以与可以包括图形用户界面106的恒温器应用108进行交互,上述图形用户界面106在计算设备104的显示面板114处被渲染。用户102可以与恒温器应用108进行交互以便安排恒温器应用108应当在其中根据低功率模式对用户102家中的HVAC系统或另一加热/制冷系统进行操作的时段。为了安排恒温器应用108以这种方式进行操作,用户102可以导航至恒温器应用108的日程110界面。日程110界面可以为用户提供一个或多个字段以便输入该HVAC或其它加热/制冷系统应当以低功率模式操作时的日期和时间。

在与恒温器应用108交互以便安排低功率模式的同时,用户102可以提供诸如“Assistant,input my Egypt vacation dates and times(助理,输入我的埃及假期的日期和时间)”的口述话语116。在一些实施方式中,在用户102提供口述话语116时,用户102可以与恒温器应用108的另一界面112进行交互,例如通过用他们的手118经由显示面板114处的触摸输入来修改温度设置。响应于接收到口述话语116,计算设备104可以处理与该口述话语116相对应的音频数据并且(例如,使用自然语言理解(NLU)过程)确定用户102正在请求自动化助理130填写日程110的一个或多个字段。

基于确定用户102已经请求自动化助理130填写日程110的数据,自动化助理130可以生成一个或多个请求以获得适于整合到日程110的字段中的数据。例如,自动化助理130可以使得数据引擎126访问助理数据120和/或与安装在计算设备104处的一个或多个应用128相关联的应用数据124。数据引擎126响应于特定请求而可以请求一个或多个应用128提供数据,上述特定请求基于:口述话语116和/或恒温器应用108所提供的内容。例如,数据引擎126可以请求可以在计算设备104处本地安装的一个或多个应用128提供被格式化日期并且与特定位置和活动类型——诸如项“San Francisco(旧金山)”和“假期”——相关联的数据。

数据引擎126可以接收来自能够对该请求作出响应的一个或多个应用128的响应。例如,在一些实施方式中,一个或多个应用128可能并不用对应数据对该请求作出响应,因为这样的对应数据并非由该应用所生成和/或最近尚未经由该应用被访问。然而,没有对应数据的一个或多个应用128可以对该请求作出响应。数据引擎126可以处理来自应用128的响应以便将包括条目134的应用数据132编译在一起,上述条目134可以经由操作142而被整合到恒温器应用108的日程110中。例如,对应于一个或多个应用128中的日历应用的应用数据132可以经由自动化助理130而被处理以便生成数据条目134。日历应用可以提供表征详述在San Francisco的多个事件的位置的日历条目的数据。响应于从日历应用接收到数据,数据引擎126可以选择该数据的多个部分以便生成可以被输入到日程110中的一个或多个数据条目134。例如,数据引擎126可以识别被格式化为日期和时间的数据部分以便生成条目134。

当数据引擎126已经编译了对来自数据引擎126的请求作出响应的一个或多个不同应用的应用数据132时,数据引擎126可以向恒温器应用108提供响应数据144。例如,诸如日历应用的第一应用可以指示用户102在6月18日出席诸如San Francisco的特定位置的事件。此外,诸如应用128中的旅行应用的第二应用可以指示用户102已经预定的航班在6月18日的特定时间——诸如8:00A.M.——离开。附加地,诸如应用128中的租车应用的第三应用可以指示用户102在诸如从6月18日至6月25日的两个特定日期之间租了车。因此,数据引擎126可以生成表征从6月18日至6月25日的时间范围的响应数据144。此外,旅行应用还可以指示用户102已经预定的另一航班在6月25日的特定时间——诸如7:00P.M——返回用户102的居住城市。该数据可以被响应数据144所表征并且被提供至恒温器应用108。在一些实施方式中,响应数据144的布置可以基于用于在自动化助理130和恒温器应用108之间进行通信的应用编程接口(API)。附加地或可选地,响应数据144的布置可以基于一个或多个API,和/或用于辅助应用间通信的任何其它数据组织协议。在一些实施方式中,响应数据144的格式可以基于图形用户界面106的内容,诸如但并不局限于能够被输入到图形用户界面106中的数据的类型、图形用户界面106处呈现的自然语言内容、恒温器应用108的元数据、用户102和自动化助理之间的历史交互数据、和/或可以被用作生成数据的基础的任何其它数据。

图2A和图2B分别图示了被调用以便从一个或多个应用提供数据并且由此帮助用户为前台应用生成输入的自动化助理230的视图200和视图240。例如,用户202可以正在消息传达应用208中查看新的消息210,上述消息传达应用208可以包括用于提供对该新消息210进行响应的文本输入的空白字段236。用户202可以用他们的手218经由触摸输入选择空白字段236,并且使用口述话语216调用自动化助理230以便请求帮助填写该空白字段。例如,用户202可以提供诸如“Assistant,use my recent vehicle parts purchases(助理,使用我近期的车辆部件采购)”的口述话语216。

响应于口述话语216,自动化助理230可以在计算设备204处使用话音至文本处理和/或自然语言理解处理来处理与口述话语216对应的音频数据。基于处理与口述话语216对应的音频数据,自动化助理230可以采用数据引擎226以便编译可以被消息传达应用208所使用的数据。具体地,数据引擎226可以访问助理数据220和/或可经由计算设备204获得的一个或多个应用228所提供的应用数据224。例如,助理数据220可以包括表征自动化助理230和用户202之间的一个或多个先前交互的数据。此外,应用数据224可以对应于由一个或多个应用228基于来自用户202的输入和/或一个或多个应用228所执行的其它操作而生成的数据。

数据引擎226可以处理助理数据220以识别与来自用户202的经由口述话语216所提供的请求相关联的数据。具体地,数据引擎226可以查询自动化助理230以提供与近期车辆部件采购相关联的助理数据。响应于提供该查询,数据引擎226可以接收到与先前交互对应的某些助理数据,用户202在上述先前交互中请求自动化助理230从汽车部件网站订购新的车灯(例如,“Assistant,order car lights for my 2012EV(助理,为我的2012EV订购车灯)”)。此外,数据引擎可以向一个或多个应用228提供一个或多个请求以便获取到与近期车辆部件采购相关联的应用数据224。例如,一个或多个应用228可以包括购物应用和车辆维护应用。响应于每个应用接收到来自数据引擎226的相应查询,购物应用可以提供与采购“车辆部件”相关联的订单的订单细节。此外,车辆维护应用可以提供与用户202所拥有的车辆的部件相关的部件细节。例如,车辆维护应用所提供的数据可以识别需要在用户202的车辆上更换的滤油器类型。

使用来自助理数据220和应用数据224的数据,数据引擎226可以生成包括条目234的应用数据232,上述数据条目234可以基于数据引擎226响应于向自动化助理230和应用228发送查询而接收到的数据。在一些实施方式中,数据引擎226可以进一步处理应用数据232以便根据应用数据232与口述话语216和/或计算设备204的显示面板214处渲染的图形用户界面206的内容的相关度对应用数据232进行过滤和/或排名。基于应用数据232的相关度和/或排名,自动化助理230可以识别要依赖的一个或多个应用数据来源以便提供给消息传达应用208。例如,数据条目234可以从一个或多个排名最高和/或最相关的应用数据来源进行选择。可选地或附加地,应用数据232可以根据数据条目234与口述话语216的内容和/或在图形用户界面206渲染的其它内容的相关度而被排名和/或优先化。例如,来自应用228的子集的数据——诸如来自购物应用的数据以及来自车辆维护应用的数据——可以被认为比一个或多个应用228所提供的任何其它数据更加相关。基于该确定,数据引擎226可以生成响应数据244并且将该响应数据228提供至消息传达应用208,如图2B的视图240中所示。

响应数据244可以被提供至消息传达应用208并且在图形用户界面206被渲染。在一些实施方式中,响应数据244可以作为消息传达应用208的一个或多个字段246中的自然语言内容被渲染。例如,用于向新消息210提供响应的字段246可以整合基于响应数据244的内容。消息传达应用28可以使用响应数据244以便将内容整合到新消息210的字段246中。例如,消息可以包括两个内容项,诸如“滤油器和车灯”,其可以对应于两个不同应用响应于来自数据引擎226的请求而提供的数据。通过将该内容提供至新消息210的字段中,用户202可以得到编辑内容和/或添加内容或者从字段246去除内容的机会。在一些实施方式中,提供到相应字段中的内容可以被标记以识别相应内容的来源。例如,短语“滤油器”可以用将车辆维护应用识别为该内容的来源的标识符进行标记,并且短语“车灯”可以用将自动化助理和/或汽车部件网站识别为该内容的来源的标识符进行标记。以这种方式,如果自动化助理230整合可能似乎与来自用户的口述话语相关但是却是由并非与该口述话语特别相关的应用(例如,约会应用)所提供的内容,则用户可以快速识别该内容的来源以便去除和/或修改该内容。这可以改进各种应用的鲁棒性,因为机载许多应用经由自动化助理230与其它应用协同操作。此外,这可以节约否则可能由于在应用间切换和/或否则在该信息可能已经能够被单独应用使用时向应用提供重复信息而被浪费的计算资源。

图3图示了用于提供自动化助理的系统300,上述自动化助理可以使用来自计算设备302处可用的多个其它应用的内容帮助用户向前台应用提供输入。自动化助理304可以作为在一个或多个计算设备——诸如计算设备302和/或服务器设备——处提供的助理应用的一部分进行操作。用户可以经由助理界面320与自动化助理304交互,助理界面可以是麦克风、相机、触摸屏显示器、用户界面和/或能够在用户和应用之间提供界面的任何其他装置。例如,用户可以通过向助理界面320提供语言、文本和/或图形输入来初始化自动化助理304,以使自动化助理304执行功能(例如,提供数据、控制外围设备、访问代理,生成输入和/或输出等)。计算设备302可以包括显示设备,该显示设备可以是包括用于接收触摸输入和/或手势的触摸界面的显示面板,以允许用户经由触摸界面控制计算设备302的应用334。在一些实施方式中,计算设备302可以没有显示设备,从而提供可听的用户界面输出,而不提供图形用户界面输出。此外,计算设备302可以提供诸如麦克风的用于从用户接收口述自然语言输入的用户界面。在一些实施方式中,计算设备302可以包括触摸界面并且可以没有相机,但是可以可选地包括一个或多个其他传感器。

计算设备302和/或其它第三方客户端设备可以通过诸如互联网的网络与服务器设备进行通信。附加地,计算设备302以及任何其它计算设备可以通过诸如Wi-Fi网络的局域网(LAN)互相通信。计算设备302可以将计算任务卸载至服务器设备以便节约计算设备302处的计算资源。例如,服务器设备可以托管自动化助理304,和/或计算设备302可以将在一个或多个助理接口320处接收的输入传送至服务器设备。然而,在一些实施方式中,自动化助理304可以托管在计算设备302处,并且可能与自动化助理操作相关联的各种处理都可以在计算设备302处执行。

在各种实施方式中,可以在计算设备302上实施自动化助理304的全部方面或少于全部的方面。在那些实施方式的一些中,自动化助理304的多方面经由计算设备302来实施并且可以与服务器设备接口,上述服务器设备可以实施自动化助理304的其它方面。该服务器设备可选地可以经由多个线程服务多个用户以及他们相关联的助理应用。在其中自动化助理304的全部方面或少于全部的方面经由计算设备302实施的实施方式中,自动化助理304可以是独立于计算设备302的操作系统的应用(例如,安装在操作系统“顶端”)——或者可以可选地可以直接由计算设备302的操作系统来实施(例如,被认为是操作系统的一个应用但是并不与之集成)。

在一些实施方式中,自动化助理304可以包括输入处理引擎306,其可以采用多个不同模块以针对计算设备302和/或服务器设备处理输入和/或输出。例如,输入处理引擎306可以包括话音处理引擎308,其可以处理在助理接口320处所接收的音频数据以识别嵌入在该音频数据中的文本。该音频数据例如可以从计算设备302传送至服务器设备以便节约计算设备302处的计算资源。附加地或可选地,该音频数据可以完全在计算设备302处被处理。

用于将该音频数据转换为文本的过程可以包括话音辨别算法,其可以采用神经网络和/或统计模型以识别对应于单词或短语的音频数据群组。转换自音频数据的文本可以被数据解析引擎310所解析并且能够被自动化助理304用作文本数据,其能够被用来生成和/或识别命令短语、意图、动作、间隙值和/或用户所指定的任何其它内容。在一些实施方式中,数据解析引擎310所提供的输出数据可以被提供至参数引擎312以确定用户是否提供了与特定意图、动作和/或能够由自动化助理304和/或能够经由自动化助理访问的应用或代理所执行的例程对应的输入。例如,助理数据338可以被存储在服务器设备和/或计算设备302处,并且可以包括定义能够由自动化助理304所执行的一个或多个动作的数据以及执行该动作所必需的参数。参数引擎312可以针对意图、动作和/或间隙值生成一个或多个参数,并且将该一个或多个参数提供至输出生成引擎314。输出生成引擎314可以使用该一个或多个参数与助理接口320进行通信以向用户提供输出,和/或与一个或多个应用334通信以向一个或多个应用334提供输出。

在一些实施方式中,自动化助理304可以是能够被安装在计算设备302的操作系统“顶端”的应用和/或其自身可以形成计算设备302的操作系统(或者其实体)的一部分。该自动化助理应用包括和/或有权访问机载话音辨别、机载自然语言理解以及机载履行。例如,机载话音辨别可以使用机载话音识别模块来执行,上述话音识别模块使用存储在计算设备302本地的端对端话音辨别机器学习模型来处理(麦克风所检测到的)音频数据。机载话音辨别生成音频数据中出现的口述话语(如果有)的辨别文本。而且,例如,机载自然语言理解(NLU)可以使用NLU模块来执行,上述NLU模块处理使用机载话音识别所生成的识别文本以及可选地场境数据以生成NLU数据。NLU数据可以包括与该口述话语对应的意图以及可选地该意图的参数(例如,间隙值)。机载履行可以使用机载履行模块来执行,上述履行模块利用(来自机载NLU的)NLU数据以及可选地其它本地数据来确定为了解析该口述话语的意图(以及可选地该意图的参数)所要采取的动作。这可以包括确定对该口述话语的本地和/或远程响应(例如,应答),要基于该口述话语而执行的与本地安装的应用的交互,要基于该口述话语传送至物联网(IoT)设备(直接地或者经由远程系统)的命令,和/或要基于该口述话语而执行的其它解析动作。机载履行随后可以发起所确定的动作的本地和/或远程实行/执行从而解析该口述话语。

在各种实施方式中,至少可以有选择地利用远程话音处理、远程NLU和/或远程履行。例如,辨别文本可以至少有选择地被传送至远程自动化助理部件以用于远程NLU和/或远程履行。例如,辩别文本可选地可以被传送以便与机载履行并行地或者响应于机载NLU和/或机载履行失败而远程执行。然而,机载话音处理、机载NLU、机载履行和/或机载执行可以至少由于它们在解析口述话语时提供的延时减少(由于没有解析该口述话语所需的(多个)客户端-服务器往返)而被优先考虑。进一步地,机载功能可以是在没有网络连接或网络连接受限的情形中可用的仅有功能。

在一些实施方式中,计算设备302可以包括可以由第三方实体所提供的一个或多个应用334,上述第三方实体不同于提供计算设备302和/或自动化助理304的实体。自动化助理304和/或计算设备302的应用状态引擎316可以访问应用数据330以确定能够由一个或多个应用334所执行的一个或多个动作,以及一个或多个应用334中的每个应用的状态。此外,应用数据330和/或任何其它数据(例如,设备数据332)可以由自动化助理334所访问以生成场境数据336,上述场境数据336可以表征特定应用334于其中在计算设备302处执行和/或特定用户于其中访问计算设备302的场境。

虽然一个或多个应用在计算设备302处执行,但是设备数据332可以表征在计算设备302处执行的每个应用334的当前操作状况。此外,应用数据330可以表征正在执行的应用334的一个或多个特征,诸如在一个或多个应用334的指引下所渲染的一个或多个图形用户界面的内容。可选地或附加地,应用数据330可以基于相应应用的当前操作状况而表征动作图解(schema),其可以被相应应用和/或被自动化助理304更新。可选地或附加地,一个或多个应用334的一个或多个动作图解可以保持静态,但是可以被应用状态引擎316所访问以便确定要经由自动化助理304初始化的适当动作。

在一些实施方式中,自动化助理304能够初始化应用334的一个或多个动作的执行,而无论该一个或多个动作的特定图形控件是否已经在计算设备302的图形用户界面上被渲染。在一些实施方式中,应用状态引擎316可以响应于来自用户的针对自动化助理304的输入而确定应用334的状态。例如,用户可以向自动化助理304提供输入以便就向用户正在与之交互的应用334提供输入数据请求帮助。例如,在使用消息传达应用的同时,该用户可以在对来自于朋友的诸如“Hey,what have you been up to today?(嘿,你今天忙什么了?)”的消息作出响应时提供诸如“Assistant,use my recent map data(助理,使用我的近期地图数据)”的口述话语。响应于接收到该口述话语,自动化助理304可以采用应用状态引擎316来确定该消息传达应用的状态。该消息传达应用的状态可以表征用户正在观看的图形用户界面的内容和/或用户正在观看的图形用户界面中的一个或多个字段。

基于识别应用状态以及处理来自用户的口述话语,自动化助理304可以确定用户正在请求帮助填写消息传达应用中的一个或多个字段。在一些实施方式中,为了提供该帮助,自动化助理304可以采用应用选择引擎318。应用选择引擎318可以识别为了帮助用户填写该一个或多个字段而要从其请求应用数据330的一个或多个应用334。例如,应用选择引擎318可以使用口述话语的内容、应用状态引擎316所确定的图形用户界面的内容、场境数据336、助理数据338,和/或为了识别适于从其请求响应数据以便帮助用户填写该一个或多个字段的一个或多个应用334的任何其它数据。

当一个或多个应用334已经被选择用于帮助用户填写消息传达应用中的一个或多个字段时,自动化助理304可以采用数据选择引擎322从应用选择引擎318所选择的应用请求数据。例如,数据选择引擎322可以生成要被提供至应用选择引擎318所选择的第一应用和第二应用的一个或多个请求。在一些实施方式中,数据选择引擎322所生成的请求可以基于由消息传达应用在图形用户界面处渲染的内容和/或用户所提供的口述话语的内容。例如,该请求可以包括诸如位置数据的数据类型标识符和/或用于识别距离相关数据的距离类型标识符。自动化助理304可以将该请求提供至所选择的应用,并且作为响应从所选择的应用接收响应数据。

当自动化助理304从所选择应用接收到响应数据时,自动化助理304可以采用字段引擎324用于生成指令以便消息传达应用使用响应数据而将内容整合到该消息传达应用的一个或多个字段中。例如,该响应数据可以由诸如GPS应用的第一应用以及诸如健身应用的第二应用所提供。自动化助理304可以被调用以便将内容提供至在消息传达应用的图形用户界面处渲染的“消息主体字段”。因此,为了生成指令以便消息传达应用将响应数据整合到该“消息主体字段”中,自动化助理304可以采用字段引擎324来生成适当指令以便指引消息传达应用将该响应数据整合到消息传达应用的该“消息主体字段”中。例如,该指令可以对应于命令,诸如

“{EDIT_MESSAGE(Body_Field:“Home and University”&&“6,218steps”)},

其可以使得消息传达应用编辑消息主体字段以包括诸如“Home and University,and 6,218steps(家和大学,以及6218步)”的自然语言内容。自动化助理304可以将该命令提供至消息传达应用,上述消息传达应用可以将该自然语言内容整合到该消息主体字段中。

在一些实施方式中,在用户的请求下被整合到前台应用的一个或多个字段中的内容可以在该前台应用使用该内容执行一个或多个动作之前被修改。例如,当该自然语言内容被消息传达应用整合到“消息主体字段”中时,该用户可以被提供以访问该自然语言内容以便编辑、增加和/或去除任何内容的机会。在一些实施方式中,当用户编辑与特定应用来源对应的某些内容时,可以生成场境数据336以反映出该用户请求帮助填写特定前台应用的字段但是对另一应用来源所提供的内容进行了编辑。以这种方式,可以基于场境数据336对一个或多个机器学习模型进行训练,以便自动化助理304所提供的后续帮助可以基于经训练的机器学习模型以及用户与自动化助理304之间的先前交互。

此外,在一些实施方式中,自动化助理304可以提供用于将内容整合到特定字段的建议,并且该建议中的每个建议可以被选择或不被选择,以便指示用户是否想要该内容被整合到特定字段中。例如,自动化助理304可以生成与基于第一应用数据(在这种情况下是GPS应用数据)的“Home and University(家和大学)”内容对应的图形建议要素,以及与基于第二应用数据(在这种情况下是健身应用数据)的“6218步”内容对应的另一图形建议要素。每个图形建议元素可以包括复选框或其它可选择元素,其可以被切换以便指示用户是否想要他们相应的内容被整合到相应字段之中。因此,如果用户选择了两个复选框,则来自第一和第二应用(在这种情况下是GPS应用和健身应用)的内容就都可以被整合到“消息主体字段”中。然而,当用户仅选择了对应于第一“GPS”应用数据的复选框时,“Home andUniversity(家和大学)”内容可以被整合到“消息主体字段”中,而没有来自第二(健身)应用的“6218步”内容。这可以实质性地减少为了将内容整合到字段中而将被处理的输入的数量,由此节约了计算设备302处的计算资源。此外,这可以减少以处理针对字段或应用的冗余输入为任务的自动化助理原本可能表现出的延时,诸如如果用户之前向GPS应用的字段中键入了“University(大学)”,并且随后同样向消息传达应用的字段中键入“University(大学)”。

图4图示了用于调用自动化助理以从一个或多个不同应用获取数据并且随后将所获取的数据提供至用户与之交互的应用的方法400。方法400可以由一个或多个计算设备、应用和/或可以与自动化助理相关联的任何其他装置或模块执行。方法400可以包括操作402,其从用户接收口述话语而促进使得自动化助理为该用户正在访问的应用提供内容。该应用例如可以是该用户正在其中与家庭成员发消息的消息传达应用,并且该家庭成员例如已经询问了该用户诸如“What are your plans for next weekend?(你下周末有什么计划?)”的问题。响应于经由该消息传达应用中的消息接收到该问题,该用户可以调用自动化助理以提供内容以便在响应中使用。例如,该用户可以提供诸如“Assistant,provide myplans for next weekend(助理,提供我下周末的计划)”的口述话语。

方法400可以进一步包括操作404,基于该口述话语识别与要提供至该应用的内容相关联的一个或多个其它应用。该自动化助理可以访问可经由计算设备访问的(例如,在该计算设备上本地安装的)应用的索引,并且识别与该口述话语的内容和/或在该应用的图形用户界面处渲染的内容(例如,从家庭成员所接收的消息)最相关的一个或多个其它应用。例如,该自动化助理可以将另一消息传达应用和日历应用识别为与该应用的内容和/或该口述话语相关。其它消息传达应用可以被认为与该口述话语和/或应用内容相关,因为该其它消息传达应用中的另一消息包括含有文本“Saturday morning I’m grabbing coffeewith Sam(星期六早上我要与Sam一起喝咖啡)”的消息。此外,该日历应用可以被认为与该口述话语和/或应用内容相关,因为经由该日历应用存储的多个不同条目详细记载了下个周末的至少一个即将到来的事件(例如,“Dinner on the dock on Friday(星期五在码头吃晚餐)”)。

方法400可以进一步包括操作406,其访问从一个或多个其它应用所生成的应用数据而促进获取用于提供至该应用的内容。在有用户的先前许可的情况下,该自动化助理所访问的应用数据可以包括消息传达应用的一个或多个消息的文本,以及经由日历应用所存储的一个或多个事件的细节。在一些实施方式中,一个或多个其它应用所提供的应用数据可以根据某些应用数据和口述话语的内容和/或用户正在与之交互的应用的内容之间的关联而被过滤和/或排名。以这种方式,可以向用户和/或应用提供最相关的应用数据以提供给该应用来促进应用使用最相关的应用数据来执行一个或多个动作。

方法400可以进一步包括操作408,其基于应用数据生成响应数据以便在向用户正在访问的应用提供内容时使用。在一些实施方式中,生成响应数据可以包括使用应用编程接口(API)针对应用生成一个或多个请求。在一些实施方式中,在生成该响应数据时使用的应用数据可以包括结构化和/或非结构化数据。例如,至少一些数量的应用数据可以根据用于以其能够更轻易地被各种不同应用解析的方式来组织数据的方案而被结构化。此外,至少一些数量的数据可以未被结构化,并且因此该非结构化数据可以被进一步处理以便从该非结构化数据提供适当的响应数据。例如,日历应用可以提供根据方案被布置的结构化数据,而消息传达应用则可以提供非结构化数据,在有用户的先前许可的情况下,上述非结构化数据详述最近所接收的消息。该非结构化数据可以根据自然语言理解过程而被处理,该非结构化数据经由该处理而被转换为能够被提供至该应用和/或以其它方式满足来自用户的命令的结构化数据。

方法400可以进一步包括操作410,其使得应用使用响应数据而执行一个或多个动作。例如,响应于接收到来自用户的口述话语,自动化助理可以基于响应数据而将内容整合到应用的图形用户界面中。例如,提供至应用的接口的内容可以包括被整合到“ResponseMessage(应消息)响”的“Body(主体)”字段中的自然语言内容以便对来自家庭成员的消息作出响应。例如,自动化助理可以生成内容,诸如“{Body:(“Saturday morning I’mgrabbing coffee with Sam,and Dinner on the dock on Friday(星期六早上我要与Sam一起喝咖啡,以及星期五在码头吃晚餐)”)}”。该内容可以在图形用户界面的body(主体)字段内被渲染以便用户能够在发送响应消息之前确认和/或编辑该内容。附加地或可选地,自动助理可以响应于接收到来自用户的口述话语而发送消息。以这种方式,用户可以缓解否则当用户在应用间切换以收集他们已经向一个或多个不同应用提供过的信息时可能被浪费的计算资源的浪费。

图5是示例计算机系统510的框图。计算机系统510通常包括至少一个处理器514,其经由总线子系统512与多个外围设备进行通信。这些外围设备可以包括例如包括存储器子系统525和文件存储子系统526的存储子系统524、用户接口输出设备520、用户接口输入设备522和网络接口子系统516。输入和输出设备允许用户与计算机系统510的交互。网络接口子系统516提供到外部网络的接口并且被耦合至其它计算机系统中的相对应接口设备。

用户接口输入设备522可以包括键盘、诸如鼠标、轨迹球、触摸板或图形板的指示设备、扫描仪、整合到显示器中的触摸屏、诸如语音辨识系统、麦克风的输入设备,和/或其它类型的输入设备。通常,术语“输入设备”的使用旨在包括用于向计算机系统510中或通信网络上输入信息的所有可能类型的设备和方式。

用户接口输出设备520可以包括显示子系统、打印机、传真机,或者诸如音频输出设备的非视觉显示器。该显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备,或者用于创建可视图像的一些其它机制。该显示子系统还可以诸如经由音频输出设备提供非视觉显示器。通常,术语“输出设备”的使用意在包括用于从计算机系统510向用户或者向另一机器或计算机系统输出信息的所有可能类型的设备和方式。

存储子系统524存储提供本文所描述的一些或全部模块的功能的编程和数据构造。例如,存储子系统524可以包括用于执行方法400的所选择方面和/或用于实施系统300、计算设备104、计算设备302、自动化助理和/或本文所讨论的任何其它应用、设备、装置和/或模块中的一个或多个的逻辑。

这些软件模块通常由处理器514单独地或者结合其它处理器来执行。存储子系统524中使用的存储器525可以包括多个存储器,其包括用于在程序执行期间的指令和数据的存储的主要随机访问存储器(RAM)530以及其中存储固定指令的只读存储器(ROM)532。文件存储子系统526可以为程序和数据文件提供永久存储,并且可以包括硬盘驱动器、连同相关联的可移除介质的软盘驱动器、CD-ROM驱动器、光驱或可移除介质卡盒。实施某些实施方式的功能的模块可以由文件存储子系统526存储在存储子系统524或者能够由处理器514所访问的其它机器中。

总线子系统512提供用于使得计算机系统510的各个组件和子系统如所期望的互相通信的机制。虽然总线子系统512被示意性地示出为单个总线,但是总线子系统的可选实施方式可以使用多个总线。

计算机系统510可以是变化的类型,其包括工作站、服务器、计算集群、刀锋服务器、服务器厂,或者任何其它的数据处理系统或计算设备。由于计算机和网络的不断变换的本质,图5中所描绘的计算机系统510的描述仅旨在出于说明一些实施方式的目的而作为具体的示例。具有与图5中所描绘的计算机系统相比更多或更少组件的计算机系统510的许多其它配置是可能的。

在本文所描述的系统收集有关用户(或者如本文经常所提到的“参与者”)的个人信息或者可以对个人信息进行使用的情况下,用户可以被提供以对程序或特征是否收集用户信息(例如,有关用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前地理位置的信息),或者对是否和/或如何从内容服务器接收可能与用户更为相关的内容进行控制的机会。而且,某些数据可以在其被存储或使用之前以一个或多个方式被加以处理,而使得个人可识别信息得以被去除。例如,用户的身份可以被处理而使得无法针对用户确定个人可识别信息,或者可以在获得位置信息的情况下对用户的地理位置进行一般化处理(诸如处理为城市、邮政编码或州的级别),而使得用户的特定位置无法被确定。因此,用户可以对如何收集和/或使用有关该用户的信息进行控制。

虽然本文已经描述和图示了若干实施方式,但是用于执行本文所描述的功能和/或获得本文所描述的结果和/或一个或多个优势的各种其它手段和/或结构可以被利用,并且这样的变化和/或修改均被认为处于如本文所描述的实施方式的范围之内。更一般地,本文所描述的所有参数、尺寸、材料和配置都意在是示例性的,并且实际的参数、尺寸、材料和/或配置将取决于针对其使用本技术的一个或多个具体应用。本领域技术人员仅使用常规实验就将会认识到或者能够确认本文所描述的具体实施方式的许多等同形式。因此,所要理解的是,以上实施例仅通过示例而给出,并且在所附权利要求及其等同形式的范围内,可以实践与具体描述和请求保护的有所不同的实施方式。本公开的实施方式针对于本文所描述的每个单独特征、系统、物品、材料、装备和/或方法。此外,如果这样的特征、系统、物品、材料、装备和/或方法并不互相矛盾,则两个或更多这样的特征、系统、物品、材料、装备和/或方法的任意组合被包括于本公开的范围之内。

在一些实施方式中,一种由一个或多个处理器实施的方法被阐述为包括诸如由计算设备的自动化助理应用接收该计算设备的一个或多个麦克风所捕捉的音频数据的操作,其中该音频数据捕捉正在访问该计算设备处的给定应用的用户的口述话语,该给定应用能够独立于该自动化助理应用而被访问。该操作可以进一步包括由该自动化助理应用使用机载话音辨别引擎处理该音频数据以生成对应于该口述话语的文本数据。该操作可以进一步包括由该自动化助理应用使用机载自然语言理解(NLU)引擎处理该文本数据以生成NLU数据,所述NLU数据指示该口述话语对应于针对该自动化助理应用使用由不同于该给定应用和不同于该自动化助理应用的一个或多个应用所提供的内容与该给定应用进行交互的请求。该操作可以进一步包括响应于该NLU数据指示该口述话语对应于针对该自动化助理应用使用该一个或多个其它应用所提供的内容与该给定应用进行交互的请求:基于该文本数据和/或该NLU数据生成从该一个或多个其它应用获取内容的应用数据请求。该操作可以进一步包括将该应用数据请求提供至该一个或多个其它应用,其中该一个或多个其它应用是安装在该计算设备上的应用群组的子集。该操作就可以进一步包括从该一个或多个其它应用接收响应于该应用数据请求的对应响应数据,并且由该自动化助理应用以及基于来自该一个或多个其它应用的该响应数据生成用于与该给定应用交互的内容。该操作可以进一步包括由该自动化助理应用向该给定应用提供应用命令,该应用命令包括该内容并且使得该给定应用基于该内容执行一个或多个动作。

在一些实施方式中,该一个或多个动作包括将该内容整合到在该给定应用的图形用户界面处渲染的一个或多个可编辑字段中。在一些实施方式中,该方法可以进一步包括在将该应用命令提供至该给定应用之后接收用于对整合到在该给定应用的图形用户界面处渲染的输入字段中的字段内容的一部分进行修改的用户输入。在一些实施方式中,被该用户输入修改的该字段内容的部分对应于该一个或多个其它应用中的多个不同应用所提供的应用数据的部分。在一些实施方式中,该音频数据捕捉与该用户访问在连接至该计算设备的显示面板的前景中渲染的图形用户界面同时被接收的口述话语。

在一些实施方式中,该一个或多个应用包括能够从该自动化助理应用和该给定应用单独访问的第一应用和第二应用。在一些实施方式中,该内容基于由该第一应用所提供并且根据数据组织协议格式化的第一应用数据,并且该内容还基于由该第二应用所提供并且未根据该数据组织协议格式化的第二应用数据。在一些实施方式中,生成用于与该给定应用交互的内容进一步基于表征用户和自动化助理之间的先前交互的助理数据,和/或基于表征用户在其中向自动化助理提供该口述话语的当前场境的场境数据。在一些实施方式中,该给定应用由不同于提供该自动化助理的另一实体的实体提供,或者该给定应用由不同于提供该自动化助理的单独实体的第三方实体提供。

在其它实施方式中,一种由一个或多个处理器实施的方法被阐述为包括诸如经由计算设备的自动化助理接口接收来自经由该计算设备访问应用的用户的口述话语的操作。该口述话语可以对应于来自用户的用于自动化助理将字段内容插入到在该应用的图形用户界面处渲染的一个或多个应用字段中的请求。在一些实施方式中,该方法可以进一步包括响应于接收到该口述话语经由该自动化助理接口访问应用数据来促进获取该一个或多个应用字段的字段内容,其中该应用数据由该计算设备的一个或多个其它应用提供。在一些实施方式中,该方法可以进一步包括基于访问该应用数据生成用于为一个或多个应用字段提供内容的响应数据,其中生成该响应数据包括获取与在该应用的图形用户界面处渲染的应用内容以及该口述话语所体现的自然语言内容相关联的应用数据的数据。在一些实施方式中,该方法可以进一步包括基于生成该响应数据将该字段内容提供至该应用的一个或多个字段中;并且在将该字段内容提供至该应用的一个或多个字段中之后使得该应用使用该字段内容执行一个或多个动作。

在一些实施方式中,该应用数据由该一个或多个应用中的第一应用以及该一个或多个应用中不同于该第一应用的第二应用提供。在一些实施方式中,该应用数据包括由该一个或多个应用中的第一应用所提供并且根据数据组织协议格式化的第一应用数据,并且该应用数据包括由该一个或多个应用中的第二应用所提供并且未根据该数据组织协议格式化的第二应用数据。在一些实施方式中,该一个或多个字段是可编辑的并且在该字段内容被整合到该应用的一个或多个字段中时为用户提供针对该字段内容的访问。在一些实施方式中,在将该字段内容提供至该应用的一个或多个字段中之后接收用于对被整合到该一个或多个字段中的一个字段中字段内容的一部分进行修改的用户输入,其中被该用户输入修改的该字段内容的部分对应于该一个或多个其它应用中的多个不同应用所提供的应用数据的部分。在一些实施方式中,该应用由不同于提供该自动化助理的另一实体的实体提供,或者该应用由不同于提供该自动化助理的单独实体的第三方实体提供。

在再其它的实施方式中,一种由一个或多个处理器实施的方法被阐述为包括操作,诸如从在计算设备处提供的自动化助理在所选择应用处接收请求以提供响应数据而促进辅助该自动化助理向在该计算设备处执行的前台应用提供内容,其中该请求识别该自动化助理所请求的内容的类型。在一些实施方式中,该操作可以进一步包括响应于接收到该提供响应数据的请求确定对应于该所选择应用的应用数据是否与该自动化助理所请求的内容的类型相关。在一些实施方式中,该方法可以进一步包括当对应于该所选择应用的应用数据被确定为与该内容的类型相关时:基于对应于该内容的类型的应用数据生成响应数据以供该自动化助理在向该前台应用提供内容时使用,响应于该自动化助理向该所选择应用提供该请求将该响应数据提供至该自动化助理,其中该响应数据识别该自动化助理所请求的内容的类型,并且基于该自动化助理接收到该响应数据而使得该自动化助理至少使用该响应数据向该前台应用提供内容。在一些实施方式中,该前台应用响应于接收到来自该自动化助理的内容而使用来自该自动化助理的该内容执行一个或多个动作。

在一些实施方式中,该请求进一步识别在该前台应用的图形用户界面处渲染的自然语言内容,并且该方法进一步包括:响应于接收到提供响应数据的请求确定对应于该所选择应用的应用数据是否与在该前台应用的该图形用户界面处渲染的该自然语言内容相关联。在一些实施方式中,该请求进一步识别一个或多个字段中被用户所选择并且在该前台应用的图形用户界面处渲染的至少一个字段,并且该方法进一步包括:响应于接收到提供响应数据的请求而确定对应于该所选择应用的应用数据是否与一个或多个字段中被用户所选择的该至少一个字段相关联。在一些实施方式中,该自动化助理所请求的内容的类型表征该一个或多个字段中的至少一个字段被配置为作为输入接收的某些内容。在一些实施方式中,该所选择应用由不同于提供该自动化助理的另一个实体的实体所提供,或者该所选择应用由不同于提供该自动化助理的单独实体的第三方实体所提供。在一些实施方式中,该响应数据在该计算设备处生成并且该响应数据经由该计算设备被提供至该自动化助理。

在再其它的实施方式中,一种由客户端设备的一个或多个处理器实施的方法被阐述为包括诸如由客户端设备的自动化助理应用接收该客户端设备的一个或多个麦克风所捕捉的音频数据的操作,其中该音频数据捕捉用户的口述话语。该操作可以进一步包括由该自动化助理应用使用机载话音辨别引擎处理该音频数据以生成对应于该口述话语的文本数据。该操作可以进一步包括由该自动化助理应用使用机载自然语言理解(NLU)音频处理该文本数据以生成NLU数据,该NLU数据指示该口述话语对应于针对不同于该自动化助理应用的一个或多个应用所提供的内容的请求。该操作可以进一步包括响应于该NLU数据指示该口述话语对应于该自动化助理应用使用该一个或多个其它应用所提供的内容与给定应用进行交互的请求:选择安装在该客户端设备上的应用的子群组,选择该子群组基于本地存储的该应用属性与该文本数据和/或该NLU数据的比较,基于该文本数据和/或该NLU数据生成用于从该子群组中的应用获取内容的应用数据请求。该操作可以进一步包括将该应用数据请求仅提供至该子群组中的应用,从该子群组中的两个或更多个应用接收响应于该应用数据请求的相对应响应数据,并且由该自动化助理应用渲染基于该响应数据的图形和/或可听输出。

28页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于步进工作流的方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类