CN111771189B - 提供在调解助理应用处的动态自动响应的系统、方法和装置 - Google Patents

提供在调解助理应用处的动态自动响应的系统、方法和装置 Download PDF

Info

Publication number
CN111771189B
CN111771189B CN201980014410.2A CN201980014410A CN111771189B CN 111771189 B CN111771189 B CN 111771189B CN 201980014410 A CN201980014410 A CN 201980014410A CN 111771189 B CN111771189 B CN 111771189B
Authority
CN
China
Prior art keywords
application
automated assistant
context
architecture file
request
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
CN201980014410.2A
Other languages
English (en)
Other versions
CN111771189A (zh
Inventor
贾斯汀·刘易斯
斯科特·戴维斯
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Priority to CN202410592279.0A priority Critical patent/CN118426897A/zh
Publication of CN111771189A publication Critical patent/CN111771189A/zh
Application granted granted Critical
Publication of CN111771189B publication Critical patent/CN111771189B/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • 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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D1/00Steering controls, i.e. means for initiating a change of direction of the vehicle
    • B62D1/02Steering controls, i.e. means for initiating a change of direction of the vehicle vehicle-mounted
    • B62D1/16Steering columns
    • B62D1/18Steering columns yieldable or adjustable, e.g. tiltable
    • B62D1/184Mechanisms for locking columns at selected positions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D1/00Steering controls, i.e. means for initiating a change of direction of the vehicle
    • B62D1/02Steering controls, i.e. means for initiating a change of direction of the vehicle vehicle-mounted
    • B62D1/16Steering columns
    • B62D1/18Steering columns yieldable or adjustable, e.g. tiltable
    • B62D1/185Steering columns yieldable or adjustable, e.g. tiltable adjustable by axial displacement, e.g. telescopically
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D1/00Steering controls, i.e. means for initiating a change of direction of the vehicle
    • B62D1/02Steering controls, i.e. means for initiating a change of direction of the vehicle vehicle-mounted
    • B62D1/16Steering columns
    • B62D1/18Steering columns yieldable or adjustable, e.g. tiltable
    • B62D1/19Steering columns yieldable or adjustable, e.g. tiltable incorporating energy-absorbing arrangements, e.g. by being yieldable or collapsible
    • B62D1/195Yieldable supports for the steering column
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • G06F16/3323Query formulation using system suggestions using document space presentation or visualization, e.g. category, hierarchy or range presentation and selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3325Reformulation based on results of preceding query
    • G06F16/3326Reformulation based on results of preceding query using relevance feedback from the user, e.g. relevance feedback on documents, documents sets, document terms or passages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/383Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/387Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供了用于提供场境特定的架构文件的方法、装置、系统和计算机可读介质,该场境特定的架构文件允许自动助理在用户和与该自动助理分离的应用之间协商(broker)人机对话。场境特定的架构文件可以给自动助理提供要响应用户查询的足够数据,而不必与诸如服务器的远程设备进行通信。根据其中用户正在与自动助理进行交互的场境,可以使多个不同的场境特定的架构文件对自动助理可用。以这种方式,可以通过向自动助理提供响应用户所需要的信息而无需通过网络连续检索该信息来减轻自动助理以其它方式表现出的延迟。

Description

提供在调解助理应用处的动态自动响应的系统、方法和装置
背景技术
人们可以使用此处称为“自动助理”(也称为“数字代理”、“聊天机器人”、“交互式个人助理”、“智能个人助理”、“会话式代理”等)的交互式软件应用参与人机对话。例如,人类(当他们与自动助理交互时可以被称为“用户”)可以使用口说自然语言输入(即,话语)和/或通过提供文本(例如,键入的)自然语言输入来提供命令和/或请求,在一些情况下所述口说自然语言输入可以被转换成文本并且然后被处理。
一些自动助理可以充当用户与用户打算控制的应用之间的接口。例如,用户可以提供命令来初始化与自动助理分离的应用。自动助理可以将命令传达给应用,并且其后从应用接收响应,然后可以将其提供返回给用户。但是,当多个应用可供自动助理选择时,自动助理在搜索要调用(invoke)的合适应用时可能表现出延迟。此外,当自动助理调用不正确的应用时,可能会浪费计算资源和网络资源。为了解决这样的问题,可以向自动助理预加载有用户更容易接收到的响应。不幸的是,托管自动助理的设备在一次被加载有大量响应时,可能无法高效操作。此外,每当用户查询自动助理时,当自动助理被委派有通过网络重复访问内容的任务时,自动助理就会表现出延迟。
发明内容
本公开总体上针对用于提供场境特定的架构文件的方法、装置和计算机可读介质(暂时性和非暂时性),该场境特定的架构文件允许自动助理促进用户与和自动助理分离的应用(有时称为“第三方应用”)之间的人机对话。可以将场境特定的架构文件提供给指导自动助理的活动的一个或多个设备。场境特定的架构文件可以标识入口点,用户可以通过这些入口点通过自动助理访问应用。入口点可以包括用户向自动助理指定的一个或多个动作。例如,拼车应用可以与标识订购便车到目的地的动作的场境特定的架构文件相关联。因此,通过自动助理到应用的入口点可以包括用户使用诸如“助理,请为我订购前往机场的便车”的命令订购到目的地的便车。在一些实施方式中,可以取决于用户、自动助理和/或应用的场境被调用,场境特定的架构文件是临时活动的。例如,自动助理可以根据自动助理在其中操作的场境在任何给定时间访问一个或多个场境特定的架构文件。
每个场境特定的架构文件可以包括根据场境提供的一个或多个不同入口点。例如,如果用户正在使用拼车应用订购便车并且用户已经订购便车,则自动助理在便车未决期间可以访问场境特定的架构文件。在这种情况下,场境特定的架构文件可以标识到对应于订购的便车的应用的入口点,以及用于响应于从用户到自动助理的查询的参数。例如,场境特定的架构文件可以标识用于确定便车到达时间的入口点或动作,和/或诸如估计的到达时间的参数。通过这种方式,用户可以通过询问自动助理便车将会何时到达(例如,“助理,我的便车将会何时到达”)来经由自动助理从应用访问信息,并且自动助理可以使用在场境特定的架构文件中的参数提供响应同时无需明确调用应用。
在一些实施方式中,场境特定的架构可以标识动作、意图、参数以及可选的触发,以使自动助理调用应用。触发可以标识用户可以提供的一个或多个查询或查询模式,以便于使自动助理调用或以其他方式访问应用。例如,触发可以对应于应用与其相关联的主题,诸如可以描述应用名称、应用功能、应用可以处理的数据和/或可以与应用相关联的任何其他词项的单词或短语。例如,拼车应用可以对应于场境特定的架构文件,其标识诸如词项“便车”、“目的地”、“汽车”和/或“到达”的触发。
在一些实施方式中,可以使用一个或多个触发来调用自动助理,并使自动助理访问包括一个或多个触发的场境特定的架构文件。以这样的方式,自动助理可以不一定响应于接收到标识触发的查询而调用应用,而是可以访问与应用相关联的一个或多个场境特定的架构文件。如果用于响应用户的这样的信息在场境特定的架构文件中可用,则自动助理可以向用户提供响应。作为示例,当用户通过调用自动助理与拼车应用交互来订购便车时,拼车应用可以响应于便车的订购向自动助理提供场境特定的架构文件。当用户等待便车到达时,用户可以提供诸如“助理,我的便车将会何时到达?”的查询。作为响应,自动助理可以访问拼车应用提供的场境特定的架构文件,以便于标识对用户的适当响应。例如,场境特定的架构文件可以包括关于便车的估计到达时间的信息。因此,自动助理可以向用户提供响应,而不必与拼车应用进行通信。
在一些实施方式中,至少根据自动助理,可以将多个不同的场境特定的架构文件视为在给定时间是活动的。这样,提供场境特定的架构文件的应用将不限于自动助理可以操作的单个架构文件。而是,自动助理和/或应用可以基于各种不同因素来激活和/或禁用多个不同的场境特定的架构文件中的每个场境特定的架构文件。例如,用户可以调用自动助理以便于初始化应用,并且自动助理可以基于用户提供的调用短语的内容来过滤与该应用相关联的场境特定的架构文件。每个场境特定的架构文件可以包括触发词或短语,其可以允许搜索和/或过滤场境特定的架构文件,以便于自动助理标识从其操作的一个或多个场境特定的架构文件。
例如,当用户调用自动助理从外卖应用订购食物时,外卖应用可以向自动化助理提供可以包括触发词的场境特定的架构文件。第一架构文件可以包括诸如“订购”的触发词,而第二架构文件可以包括诸如“状态”的触发词。当调用自动助理以最初向外卖应用提供食物订单时,自动助理可以至少基于触发词“订购”来标识第一架构文件。因此,当用户通过自动助理向外卖应用发出食物订单时,自动助理可以将第一架构文件视为活动的。然而,一旦食物订单已经被发出,用户可以调用自动助理来检查他们的食物订单的状态,以找出何时将交付食物。例如,用户可以提供自然语言输入,诸如“助理,食物订单的状态如何?”。作为响应,自动助理可以在可用的场境特定的架构文件中搜索与自然语言输入具有一些对应关系的触发词或短语。当自动助理将第二架构文件标识为与自然语言输入具有对应关系时,自动助理可以停用第一架构文件并激活第二架构文件。可替选地,当第二架构文件已被标识为与自然语言输入具有对应关系时,应用可以停用第一架构文件并激活第二架构文件。通过允许某些架构文件被激活和停用,可以减少来自自动助理的延迟,因为在响应于用户之前可以更容易地标识或过滤架构文件。此外,可以保存诸如内存、处理和带宽的计算资源,因为针对特定的响应和/或场境自动助理将需要管理数量减少的架构文件。
在一些实施方式中,应用可以指代部分安装的应用,其包括比对应应用的完整安装更少的功能。例如,用户可以在计算设备上安装部分安装的应用,以便于确定他们想要购买相应应用的完整安装。完整安装可以与多个不同的场境特定的架构文件相关联,而与完整安装相比部分安装的应用可以与较少数量的场境特定的架构文件相关联。用这种方式,用户将能够经由自动助理与部分安装的应用进行交互,而不必购买应用的完整安装。此外,因为场境特定的架构文件的激活是动态的,所以该应用或与该应用相关联的服务器可以基于用户已安装或以其它方式访问的应用版本将场境特定的架构文件提供给自动助理。例如,当用户访问部分安装的应用时,可以给自动助理提供第一数量的场境特定的架构文件。此外,当用户访问应用的完整安装时,可以给自动助理提供第二数量的场境特定的架构文件,该第二数量大于场境特定的架构文件的第一数量。然而,在一些实施方式中,自动助理可用的场境特定的架构文件的数量可以基于与用户和自动助理之间的交互相关联的数据。
提供以上描述作为本公开的一些实施方式的概述。这些实施方式和其他实施方式的进一步描述在下面更详细地描述。
在一些实施方式中,由一个或多个处理器实现的方法被阐述为包括诸如确定应用在计算设备处可用的操作。该计算设备可以包括自动助理,该自动助理被配置成调解通过应用执行动作。该方法可以进一步包括:响应于确定应用在计算设备处可用,向计算设备提供第一场境特定的架构文件。第一场境特定的架构文件可以包括在自动助理接收到对应用执行动作的请求的预期中所提供的响应内容。该方法还可以包括,确定自动助理已经接收到应用执行动作的请求,以及响应于确定自动助理已经接收到该请求而向计算设备提供第二场境特定的架构文件。第二场境特定的架构文件可以包括在自动助理接收与应用正在执行的动作相关联的单独请求的预期中所提供的其他内容。
计算设备可以包括自动助理接口,并且响应内容包括自动助理可采用的自然语言数据。第一场境特定的架构文件可以标识能够由应用执行并经由自动助理初始化的多个不同动作。该方法还可以包括修改状态标识符以指示自动助理可访问至少第一场境特定的架构文件和第二场境特定的架构文件。状态标识符可以进一步指示从计算设备不可访问与该应用相关联的另一场境特定的架构文件。自动助理可以被配置成响应于接收到单独的请求而绕过与应用相关联的远程设备的联系,并根据第二场境特定的架构文件提供对单独请求的响应。
在其他实施方式中,由一个或多个处理器实现的方法被阐述为包括诸如下述的操作:在自动助理接口处接收对自动助理通过与自动助理分离的应用来调解动作的执行的第一请求;由自动助理确定是否场境特定的架构文件对自动助理可访问并且包括对应于应用要执行的动作的内容。场境特定的架构文件可以配置成使自动助理能够代表应用提供响应。该方法还可以包括,当自动助理确定场境特定的架构文件是可访问的并且提供对应于要由应用执行的动作的内容时:使应用初始化动作的执行;在自动助理接口处,接收对自动助理提供与应用正在执行的动作相关联的响应的第二请求;由自动助理确定场境特定的架构文件的内容是否能够满足第二请求。该方法可以进一步包括,当自动助理确定场境特定的架构文件的内容能够满足第二请求时:根据场境特定的架构文件的内容生成响应。在一些实施方式中,该方法可以包括:当自动助理确定场境特定的架构文件的内容不能满足第二请求时:生成架构文件请求,其中该架构文件请求对应于用于检索另一场境特定的架构的文件以履行第二请求的查询。在一些实施方式中,该方法可以包括,当自动助理确定场境特定的架构文件的内容不能满足第二请求时:接收其它场境特定的架构文件,和根据在其他场境特定的架构文件中提供的其他内容生成单独的响应。
架构文件请求可以包括场境数据,该场境数据标识其中自动助理接收到第一请求的场境。该方法还可以包括:当自动助理确定场境特定的架构文件的内容缺乏对应于应用要执行的动作的内容时:生成架构文件请求。架构文件请求可以对应于用于检索包括与要由应用执行的动作相对应的内容的另一场境特定的架构文件的查询。该方法可以进一步包括,当自动助理确定场境特定的架构文件的内容缺乏对应于要通过应用执行的动作的内容时:接收其它场境特定的架构文件,以及使应用至少基于其他场境特定的架构文件中提供的其他内容初始化动作的执行。确定自动助理是否可访问场境特定的架构文件可以包括:访问包括一个或多个场境特定的架构文件的文件存储,以及将来自第一请求的请求内容与来自一个或多个场境特定的架构文件内容进行比较。
在其他实施方式中,由一个或多个处理器实现的方法被阐述为包括诸如接收对自动助理初始化通过客户端设备可访问的应用执行动作的第一请求。客户端设备可以包括架构文件,该架构文件被配置成提供响应内容,该响应内容允许自动助理代表应用响应于请求;确定与第一请求相关联的动作与架构文件之间是否存在对应关系;基于存在确定动作与架构文件之间的对应关系,使应用初始化动作的执行;接收对自动助理代表应用提供与该动作相关联的响应的第二请求;以及确定架构文件是否包括与第二请求相关的响应内容;并且基于确定架构文件包括与第二请求相关的响应内容,经由客户端设备的自动助理接口提供与动作相关联的响应。在一些实施方式中,该方法可以包括基于确定架构文件缺乏与第一请求的对应关系,使自动助理或应用请求将对应关系提供给第一请求的不同的架构文件。在其他实施方式中,该方法可以包括基于确定架构文件缺乏与第二请求相关的响应内容,使自动助理或应用请求提供与第二请求相关的其他响应内容的不同的架构文件。提供与动作相关联的响应可以包括:生成基于架构文件中提供的响应内容的自然语言响应。确定与第一请求相关联的动作与架构文件之间是否存在对应关系可以包括:从计算设备处可用的多个架构文件中标识包括标识该动作的意图数据的架构文件。该方法还可以包括响应于接收到第一请求而将场境数据提供给与该应用相关联的远程设备,其中场境数据可以标识该动作。该方法可以进一步包括从远程设备接收单独的架构文件,该架构文件包括补充内容,当应用正在执行动作时,该补充内容允许自动助理代表该应用响应于用户。
其他实施方式可以包括非暂时性计算机可读存储介质,其存储可由一个或多个处理器(例如,中央处理器(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU))可执行的指令,以执行诸如在上面和/或本文其它地方描述的一种或者多种方法的方法。其他实施方式可能包括一个或多个计算机和/或一个或多个机器人的系统,其包括一个或多个处理器,可操作来执行存储的指令以执行诸如在上面和/或本文其他地方所描述的一种或者多种方法的方法。
应理解,本文中更详细描述的前述概念和附加概念的所有组合被认为是本文公开的主题的一部分。例如,出现在本公开的结尾处的要求保护的主题的所有组合被设想为是本文公开的主题的一部分。
附图说明
图1图示用于向自动助理提供场境特定的架构文件以允许自动助理更容易地调解用户与应用之间的交互的系统。
图2提供图示自动助理如何能够管理多个场境特定的架构文件以使自动助理能够调解用户与应用之间的交互的示意图。
图3图示用于基于自动助理可访问的架构文件向自动助理的用户提供响应的方法。
图4图示根据在客户端设备处正在访问应用的场境提供场境特定的架构文件的方法。
图5是示例计算机系统的框图。
具体实施方式
图1图示用于向自动助理104提供场境特定的架构文件以允许自动助理104更容易地促进用户与应用138之间的交互的系统100。自动助理104可以作为在诸如客户端设备116(例如,蜂窝电话或独立扬声器设备)和/或诸如服务器设备102的远程计算设备112的一个或多个计算设备处所提供的助理应用的一部分进行操作。用户可以经由助理接口与自动助理104交互,所述自动接口能够是麦克风、相机、触摸屏显示器、用户接口和/或能够在用户和应用之间提供接口的任何其他装置。例如,用户可以通过向助理接口提供语音、文本或图形输入来初始化自动助理104,以使自动助理104执行功能(例如,提供数据,控制外围设备,访问代理)等)。客户端设备116可以包括显示设备,该显示设备可以是包括触摸接口的显示面板,该触摸接口用于接收触摸输入和/或手势,以允许用户经由触摸接口来控制客户端设备116的应用。
客户端设备116可以通过诸如互联网的一个或多个网络114与远程计算设备112通信。客户端设备116可以将计算任务卸载到远程计算设备112,以便节约客户端设备116处的计算资源。例如,远程计算设备112可以托管自动助理104,并且客户端设备116可以将在一个或多个助理接口处接收到的输入发送到远程计算设备112。但是,在一些实施方式中,自动助理104可以托管在客户端设备116上。在各种实施方式中,可以在客户端设备116上实现自动助理104的所有方面或少于所有方面。在那些实施方式中的一些中,自动助理104的各方面经由客户端设备116的本地助理应用实现并且与实现自动助理104的其他方面的远程计算设备112对接。远程计算设备112可以可选地经由多个线程服务于多个用户及其相关联的助理应用。在经由客户端设备116的本地助理应用来实现自动助理104的所有方面或少于所有方面的一些实施方式中,本地助理应用可以是与客户端设备116的操作系统分离的应用(例如,“安装”在操作系统“顶部”)-或可以替代地由第一客户端设备116的操作系统直接实现(例如,被认为是操作系统的应用,但与操作系统集成在一起)。
在一些实施方式中,远程计算设备112可以包括语音至文本引擎120,该语音至文本引擎120可以处理在助理接口处接收到的音频数据以标识体现在音频数据中的文本。用于将音频数据转换为文本的过程可以包括语音识别算法,该语音识别算法可以采用神经网络、word2vec算法和/或统计模型来标识与单词或短语相对应的音频数据组。从音频数据转换的文本可以由文本解析器引擎108解析,并使自动助理104将其可用作为文本数据,该文本数据可用于生成和/或标识来自于用户和/或托管在远程计算设备136处的应用138的命令短语。
在一些实施方式中,自动助理104可以调解(mediate)用户与客户端设备116和自动助理104可以访问的应用138之间的交互。调解交互可以包括但不限于在自动助理104处从用户设备接收命令,其用于调用应用138来履行或响应命令。在用户和自动助理104之间的交互期间,可以在客户端设备116、服务器设备102和/或可以与用户相关联的任何其他设备处收集用户数据106和/或场境数据122。用户数据106和/或场境数据122可以由与客户端设备116集成在一起或客户端设备116可访问的一个或多个应用或设备收集。例如,场境数据122可以包括与时间数据、位置数据、事件数据、社交网络数据、媒体数据和/或与用户和自动助理104之间的交互有关的任何其他数据相对应的数据。此外,用户数据106可以包括账户信息、消息信息、日历信息、用户偏好、用户和自动助理104之间的历史交互数据、与客户端设备116可访问的应用相关联的应用数据和/或可以与用户相关联的任何其他数据。
为了使自动助理104调解用户与应用138之间的交互,用户可以通过向客户端设备116处的助理接口118提供自然语言输入来调用自动助理104。自然语言输入可以包括“助理,打开我的游戏应用使得我可以玩游戏”。自然语言输入可以指代应用138,该应用可以是由与提供自动助理104的实体不同的实体提供的第三方应用。可替选地,应用138可以由提供自动助理104的同一实体提供。为了确定或标识用户正在参考的应用,自动助理104可以使用应用引擎126。应用引擎126可以使用或访问用户数据106和/或场境数据122,以便于搜索、过滤和/或排名客户端设备116和/或自动助理104可访问的应用。例如,场境数据122可以标识用户最近访问的特定游戏应用,因此,自动助理104可以响应于接收到自然语言输入来标识特定游戏应用。
当自动助理104已经标识出应用138时,自动助理104可以确定是否存在自动助理104可用并与标识出的应用138相关联的任何缓存的或接收到的架构文件110。在一些实施方式中,应用引擎126可以管理架构文件110的存储或表以及一个或多个架构文件110的状态。例如,取决于各种因素,架构文件110可以被视为活动或不活动。这样的因素可以包括安装在客户端设备116上或客户端设备116可访问的应用138的版本、与应用138相关联的场境数据122和/或用户数据106、来自托管应用138的远程设备136的数据、架构文件110的内容、和/或可以与应用138相关联的任何其他信息。在一些实施方式中,自动助理104可以在应用138或远程设备136处访问架构文件140。可以通过应用138将架构文件140提供给自动助理104和/或客户端设备116。当用户在客户端设备116处下载应用138的版本时,可以将架构文件提供给自动助理104和/或客户端116。可替选地,或者另外,可以响应于来自客户端设备116和/或自动助理104的对架构文件140的一个或多个请求,将架构文件140提供给客户端设备116和/或自动助理104。在一些实施方式中,自动助理104可以访问与应用138相关联的场境特定的架构文件110,并使用场境特定的架构文件110来确定对来自用户的输入的响应。在一些实施方式中,自动助理104可以访问与该应用相关联的多个联系人特定的架构文件110,并且搜索架构文件110以标识与来自用户的输入最相关的架构文件110。例如,搜索架构文件110可以包括将来自用户的输入的内容与架构文件110中提供的触发数据132进行比较。因此,可以将与来自于用户的输入最相关的触发数据132用于选择相应的架构文件110。例如,来自用户的输入和架构文件110中的触发数据132之间的相关性(correlation)可以基于从来自用户的输入生成的文本与触发数据132中提供的文本之间的比较。
在一些实施方式中,可以将从在助理接口118处接收到的输入生成的数据提供给应用138,其可以基于接收到的数据来标识提供给自动助理104的一个或多个架构文件140。以这种方式,应用138可以基于接收到的数据来搜索或过滤架构文件140,以便于标识可以被自动助理104认为是活动的数量减少的架构文件140。例如,来自自动助理104的数据可以用于在架构文件中搜索触发数据132和/或意图数据134。意图数据134可以对应于应用138可以执行的一个或多个命令或动作。因此,在助理接口118处接收到的输入中由用户指定的任何动作和命令可以用于标识特定架构文件140。应用138和/或远程设备136可以通过网络114将标识出的架构文件140发送到服务器设备102,以允许自动助理104访问标识出的架构文件140。可替选地或另外,自动助理104可以从应用138请求标识出的架构文件140。
在一些实施方式中,当自动助理104已经从应用138接收到一个或多个架构文件140时,自动助理104可以确定要提供给用户的响应。该响应可以基于触发数据132,该触发数据可以对应于要供应给以由应用138执行的功能的数据。例如,当自动助理104接收到与用户输入“助理,打开我的游戏应用使得我可以玩游戏”相对应的输入数据时,自动助理104可以标识应由来自用户的补充数据填充的一个或多个插槽(slot)。例如,当触发数据132指示用户需要选择一种类型的游戏时,自动助理可以生成请求补充数据的响应,例如“好的,您想玩哪种类型的游戏?”。作为响应,用户可以提供补充数据(例如,“我想下棋”,其可以被转换为一个或多个插槽值。自动助理104可以将插槽值提供返回给应用138,以便于使应用138完成用户打算调用的动作的执行。
在一些实施方式中,触发数据132可以包括要被合并到来自自动助理104的响应中的数据。例如,当自动助理104从应用138接收场境特定的架构文件140时,自动助理104可以在架构文件140中搜索与用户输入相关联的触发数据132。响应于用户输入“助理,打开我的游戏应用使得我可以玩游戏”,自动助理可以使用接收到的架构文件140并标识可以使用该游戏应用玩的游戏的类型。然后,可以在助理接口118处提供返回给用户的响应中标识游戏的类型(例如,您想下棋吗,围棋还是跳棋?)。
在一些实施方式中,基于自动助理104和/或应用138的状态或情形,自动助理104可以访问一个或多个架构文件140,或存储一个或多个架构文件110。例如,应用138可以存储或管理一个或多个状态标识符142,其可以对应于自动助理104可访问的多个活动的场境特定的架构文件140和/或架构文件110。换句话说,取决于在用户和自动助理104之间的交互,不同的场境特定的架构文件140可以是活动的或不活动的,并且因此与场境特定的架构文件140相关联的状态可以改变。例如,当用户调用自动助理104以访问应用138时,第一状态可以与应用138相关联,并且第一架构文件集可以是活动的,或者自动助理104可以以其他方式访问。当应用138响应于自动助理104访问了初始操作而已经执行初始操作时,与应用138相关联的状态可以改变为第二状态。第二状态可以与第二架构文件集相关联,该第二架构文件集可以是活动的,或者在继应用138执行初始操作之后自动助理104以其它方式可访问。例如,初始操作可以是处理对用户通过应用138玩的游戏类型的选择。一旦已经选择了游戏类型,第二架构文件集可以包括一个或多个架构文件140,其包括意图数据134,该意图数据134用于诸如初始化所选游戏类型的游戏玩法的动作。在一些实施方式中,第一架构文件集可以包括第二架构文件集中不包括的至少一个架构文件。每个架构文件可以是JSON文件和/或任何其他文件,其可以包括在响应用户时自动助理104可以使用的数据的列表或表格。此外,应用138可以是游戏应用、导航应用、拼车应用、社交网络应用、媒体应用、购物应用、搜索应用、通信应用和/或可以由自动助理访问的任何其他应用。
图2提供图示自动助理206可以如何管理多个场境特定的架构文件以使自动助理206能够调解用户202与应用之间的交互的示意图200。在一些实施方式中,自动助理206可以对应于自动助理104,服务器应用210可以对应于应用138,并且本地应用208可以对应于与应用138相关联并且被加载到客户端设备116上的应用。场境特定的架构文件可以起源于本地应用208和/或诸如托管本地应用208可访问的服务器应用210的服务器设备的远程设备212。在一些实施方式中,场境特定的架构文件可以存储在计算设备204中,该计算设备可以由用户202和/或远程设备212来操作。本地应用208可以对应于应用的至少部分安装。应用的部分安装可能需要管理第一架构文件214。第一架构文件可以包括触发、意图、插槽数据、履行数据和/或自动助理可以用来与其他应用交互的任何其他数据。与应用的完整安装相比,应用的部分安装可以允许用户202执行数量减少的功能。此外,为了允许自动助理206调解用户与应用的部分安装之间的交互,可以使第一架构文件在计算设备204处自动助理206可访问。通过这种方式,自动助理206将能够与本地应用208交互而不必联系服务器应用210。这可以减少在自动助理206和/或本地应用208与非本地设备通信时在计算设备204上以其它方式表现出的延迟以便于响应来自于用户202的请求。在一些实施方式中,与图2相对应的应用可以指代应用的完整或完全安装。
当本地应用208已安装在计算设备204上时,用户202可以在计算设备204处经由助理接口向自动助理206提供第一输入命令216。例如,本地应用208可以对应于拼车应用的部分安装。因此,第一输入命令216可以是“助理,为我订购便车”。响应于接收到第一输入命令216,自动助理206可以访问计算设备204可用的存储设备以确定在计算设备204处是否有任何架构文件是活动的。因为第一架构文件214被提供有本地应用208,所以自动助理206可以将第一架构文件214标识为活动的架构文件。在一些实施方式中,计算设备204可以存储与多个不同应用相关联的多个不同架构文件。因此,为了使自动助理206标识与第一输入命令216相对应的架构文件,自动助理206可以将第一输入命令216的内容与可用架构文件的内容进行比较。此后,可以根据架构文件的内容与第一输入命令216的内容有多相似其后对架构文件进行排名或过滤。可以访问排名最高或与过滤过程隔离的架构文件,以标识可用于响应用户的插槽值和/或细丝(filament)数据。
当自动助理206已经标识出活动的架构文件和/或从多个架构文件隔离的架构文件时,自动助理206可以使用该架构文件生成对用户202的响应。例如,如果自动助理206标识第一架构文件214,则第一架构文件214的内容可以用于生成第一架构文件响应220,该第一架构文件响应220可以被提供返回给用户202。例如,第一架构文件214的内容可以包括可以用作调用本地应用208的入口点的意图数据,以及可以提供从其自动助理206可以响应来自用户202的查询信息的履行数据。意图数据可以包括例如与本地应用208可以执行的动作相对应的意图标识符的列表(例如,“意图:‘注册’;‘订购’;‘位置’;‘目的地’)。此外,履行数据可以包括对应于可以经由自动助理206提供返回给用户的响应内容的单词或短语的列表(例如,“履行:‘注册’:‘提供邮件地址’;‘订购’:‘选择便车的类型’;‘位置’:‘提供你的位置;‘目的地’:‘提供你的目的地”;)。通过这种方式,自动助理206可以使第一输入命令216与第一架构文件214相关,以标识在第一架构文件214中提供的动作,和/或可用于为用户202生成响应的响应内容。
当自动助理206已经标识出满足第一输入命令216的响应内容时,自动助理206可以将第一架构文件响应220提供返回给用户202。第一架构文件响应220可以是通过自动助理接口发送的响应,该自动助理接口具有基于来自第一架构文件214的内容的响应的内容。例如,响应于用户202提供诸如“助理,为我订购便车”的自然语言输入命令,自动助理206可以提供诸如“好的,选择便车的类型’”的第一架构文件响应220。以这种方式,自动助理206能够在不调用服务器应用210和/或与计算设备204分离的任何其他设备的情况下编译来自于架构文件的响应内容。这可以减少自动助理206在通过网络与诸如远程设备212的一个或者多个其它网络设备进行通信时会以其它方式表现出的延迟。
为了促进使本地应用208经由自动助理206执行一个或多个动作,用户202可以向自动助理206提供第二输入命令222。例如,继提供第一输入命令216之后,用户202可以提供本地应用208执行在第一架构文件214中标识的动作所必需的细节。这些细节可以包括例如要接载的用户202的位置、中途下车的用户202的目的地和/或本地应用208可能需要以执行动作的任何其他信息。因此,在用户202提供第二输入命令222时,本地应用208和/或自动助理206可以在不同的场境中操作。例如,不同的场境可以对应于便车已经被订购并且在去往用户202以接载用户202的路上的等待时段。
在一些实施方式中,自动助理206和/或本地应用208可以生成其中本地应用208和/或自动助理206正在操作的场境的标识符。标识符可以被发送到服务器应用210,并且/或者由本地应用208使用,以便于标识对应于场境的架构文件。可替选地或另外,自动助理206和/或本地应用208可以搜索存储在计算设备204处的一个或多个架构文件,以标识与自动助理206和/或位置应用208正在操作的场境最相关的架构文件。
在一些实施方式中,自动助理206可以将第二输入命令222的内容与第一架构文件214的内容进行比较,以便于确定是否访问不同的架构文件。例如,第二输入命令222可以包括自然语言输入,诸如,“助理,我的便车的状态是什么?”。响应于接收到第二输入命令222,自动助理206和/或本地应用208可以访问第一架构文件224以确定第一架构文件是否包括将满足第二输入命令222的响应内容。如果第一架构文件214包括满足第二输入命令222的响应内容,则自动助理206可以基于第一架构文件214的响应内容为用户202生成响应。但是,如果第一架构文件214不包括能够满足第二输入命令222的响应内容,则自动助理和/或本地应用208可以检索用于提供响应内容的不同架构文件。
在一些实施方式中,自动助理206和/或本地应用208可以将命令数据226传达到服务器应用210。命令数据226可以与第二和输入命令222相关联,并因此标识用户202正在请求本地应用208执行的一个或多个动作。可替选地,和/或另外,命令数据226可以标识自动助理206和/或本地应用208正在其中操作的场境。通过将命令数据226提供给服务器应用210,服务器应用210可以标识一个或多个架构文件以提供给自动助理206和/或本地应用208。提供给自动助理206和/或者本地应用208的任何后续架构文件可以进一步促进用户202与本地应用208之间的交互,而不必立即与远程设备通信。例如,基于命令数据226,服务器应用210可以标识和/或发送第二架构文件228,该第二架构文件228可以被提供给自动助理206和/或本地应用208。第一架构文件214和/或者第二架构文件228可以包括至少一定数量的不同内容。例如,第二架构文件228可以标识第一架构文件214缺乏或在其内没有以其它方式标识的至少一个动作。
响应于在204中在计算设备处接收到第二架构文件228,本地应用208可以管理第二架构文件230。为了提供对第二输入命令222的响应,自动助理可以比较来自于第二输入命令222的内容与来自于第二架构文件228的内容。例如,第二输入命令222可以是“助理,我的便车的状态是什么”,并且第二架构文件228可以标识与即将到来的便车的状态检查相对应的动作。第二架构文件228可以包括与本地应用208可以执行的动作相对应的意图数据(例如,“意图:‘状态’;‘价格’;‘驾驶员’;”)以及可以包括可以用来响应第二输入命令222的单词或短语的列表的履行数据(例如,“履行:‘状态’:‘你的便车将在5:42PM到达’;‘价格’:‘你的便车将花费$14.04’;‘驾驶员’:‘你的驾驶员是Alfred’;)。
自动助理206可以访问第二架构文件228,以便于标识第二输入命令222的内容(例如“状态”)与第二架构文件228的内容(例如,“履行:‘状态’”)之间的对应关系。该对应关系可以用于生成响应内容,该响应内容可以用于提供对第二输入命令222的响应。例如,履行数据“您的便车将在5:42PM到达”可以对应于可以在第二架构文件228中标识出的意图数据“动作”。因此,自动助理206可以基于对应关系提供第二架构文件响应232。例如,由自动助理206提供的第二架构文件响应232可以是“好吧,您的便车将在5:42PM到达。”假如用户202决定提供对应于在第二架构文件228中标识出的意图的后续输入命令,自动助理206可以向用户202提供响应而无需联系服务器应用210。结果,自动助理206和/或本地应用208表现出的延迟可以通过提供可以基于用户202和自动助理206之间的交互场境而被动态地更新的一个或多个架构文件来缓解或消除。
图3图示用于基于自动助理可访问的架构文件向自动助理的用户提供响应的方法300。方法300可以由适合于与自动助理交互的一个或多个应用和/或设备执行。方法300可以包括在自动助理接口处接收命令的操作302。该命令可以对应于对自动助理发起与应用相关联的动作的执行的请求。自动助理接口可以位于计算设备处,并且包括麦克风、触摸显示器、相机、传感器和/或能够从用户接收输入的任何其他应用或设备中的一个或多个。例如,命令可以对应于在计算设备的麦克风处接收到的口头自然语言输入。口头自然语言输入可以例如是“助理,请订购更多办公用品”。该命令可以预期用于自动助理或计算设备可访问的应用。该应用可以是能够由自动助理或其他应用控制的任何应用。例如,该应用可以是能够由在用户的指导下操作的自动助理控制的购物应用。
该应用可以与可以使自动助理可访问的一个或多个场境特定的架构文件相关联。场境特定的架构文件可以标识触发词或短语,用户可以使用所述触发词或短语来调用自动助理与应用进行交互。场境特定的架构文件还可以包括与内容相对应的响应数据,该内容可以由自动助理用来代表应用对用户做出响应。可选地,场境特定的架构文件还可以包括意图数据,该意图数据可以标识可以在自动助理的请求下由应用执行的动作。为了使自动助理与应用交互,用户提供的命令可以包括与场境特定的架构文件相对应的内容,该场境特定的架构文件与应用相关联并且对于自动助理可用。
方法300进一步包括确定是否存在可用的架构文件的操作304,该可用的架构文件包括对用户提供的命令的对应响应。在操作304处做出的确定可以由自动助理或由应用执行。例如,自动助理可以访问自动助理可用的存储,以确定是否存在与应用相关联的任何场境特定的架构文件。可替选地,自动助理可以访问多个不同的文件存储位置,以便于确定是否任何场境特定的架构文件与该应用相关联。如果存在与该应用相关联的场境特定的架构文件,则方法300可以进入操作310,在操作310中,基于场境特定的架构文件中可用的数据向用户提供响应。但是,如果不存在与该应用相关联并且当前自动助理可访问的场境特定的数据文件,则方法300可以进入操作306。
在方法300的操作306处,将对场境特定的架构文件的请求提供给应用或与该应用关联的实体。例如,响应于确定不存在当前没有活动的和/或自动助理可访问的场境特定的架构文件,自动助理可以生成接收至少一个场境特定的架构文件的请求。该请求可以包括基于从用户接收到的命令的数据。例如,请求可以从命令、命令的主题、与命令相关联的动作和/或可用于标识适当的场境特定的架构文件的任何其他数据中标识单词或短语。在一些实施方式中,该请求可以包括可以基于用户已经将命令提供给自动助理接口的场境的场境数据。该场境数据可以包括用户账户信息、时间数据、地理数据、历史命令数据、设备描述数据、时间表或日历数据、搜索历史数据和/或应用可以使用的任何其他场境数据。响应于接收到场境数据以及请求,应用可以标识一个或多个合适的场境特定的架构文件以提供给自动助理。
在方法300的操作310处,自动助理可以基于在来自应用的场境特定的架构文件中提供的数据提供对来自于用户的命令的响应。在一些实施方式中,场境特定的架构文件可以包括与提供给自动助理的命令和/或用户与自动助理进行交互的场境相关联的响应列表。在一些实施方式中,响应可以是自然语言输出,诸如由自动助理生成的可听单词和/或短语、在计算设备的显示器处呈现的文本、和/或可以由计算设备提供的任何其他输出。在一些实施方式中,响应可以标识将由应用执行的动作和/或由从用户向自动助理和/或应用的后续输入的内容填充的插槽值。
图4图示用于根据在客户端设备上正在访问应用的场境来提供场境特定的架构文件的方法400。方法400可以由一个或多个计算设备和/或适合与自动助理或任何其他应用进行通信的一个或多个应用执行。方法400可以包括确定应用是否在客户端设备处可访问的操作402。在操作402处的确定可以包括,确认下载应用的请求;确认注册用户使用该应用的请求;提供用于至少部分地安装应用的数据;和/或从与客户端设备相关联或包括客户端设备的设备接收或访问任何其他通信。该应用可以是可以在计算设备上操作并且可以使用自动助理来控制的任何程序或脚本,该自动助理可以在计算设备的自动助理接口上从用户接收自然语言输入。例如,该应用可以是被加载到位于用户的家中的IOT设备或机器人设备上的物联网(IOT)应用。在一些实施方式中,该应用可以对应于应用的部分安装或应用的试用版,这允许用户控制具有至少有限数量的功能的应用。但是,在其他实施方式中,应用可以是应用的完整安装,这允许用户控制具有完整功能的应用。例如,该应用可以是被加载到用户的家中的电器或机器人硬件上的应用,并且该应用可以允许用户经由该应用控制电器。此外,自动助理可以充当用户和应用之间的调解者,从而允许自动助理根据用户的请求来初始化应用的动作。
方法400可以进一步包括操作404,当操作402肯定地确定客户端设备可访问应用时,可以执行该操作404。具体地,操作404可以包括将架构文件提供给客户端设备。在一些实施方式中,可以将架构文件作为应用的一部分或与应用分离提供给客户端设备。架构文件可以定义入口点,自动助理和/或用户可以通过入口点来访问应用。例如,架构文件可以标识用户可以请求应用执行的意图或动作。自动助理可以访问架构文件以确定入口点,并因此将来自用户的自然语言输入与架构文件的内容关联,以便于确定用户是否正在寻求调用或初始化应用。例如,当客户端设备是IOT设备(诸如用户在家中的电器)时,用户可以提供口头自然语言输入,诸如“助理,请启动我的电器”。输入可以使自动助理初始化通过应用或IOT设备执行一个或多个动作。
方法400还可以包括确定是否在客户端设备处经由自动助理已经初始化动作的操作406。可以在与客户端设备处的应用相关联的远程设备上执行操作406。例如,远程设备可以是托管与应用和/或用户相对应的数据的服务器。当用户经由自动助理初始化通过应用执行动作时,自动助理和/或客户端设备可以将数据发送到远程设备,其指示已请求初始化通过应用执行动作。此外,或者可选地,自动助理可以访问在客户端设备处提供的架构文件,以确定自动助理是否需要在客户端设备处不可用的任何其他数据。换句话说,自动助理可以将用户请求的动作与架构文件中提供的意图数据进行比较,以确定在客户端设备上加载的应用是否可以执行动作。替选地或可选地,远程设备可以接收从客户端设备发送的数据,并确定客户端设备是否具有向用户所请求的动作提供一些对应关系的架构文件。例如,由客户端设备发送的数据可以标识用户请求的动作,并且远程设备可以处理该数据以确定客户端设备上的架构文件是否标识用户请求的动作。
方法400可以进一步包括用于确定在所提供的架构文件中是否标识动作的操作408。例如,当来自用户的输入包括“助理,请启动我的电器”时,可以将输入的内容与提供给客户端设备的架构文件的内容进行比较。架构文件可以包括例如诸如“意图:‘启动;’‘停止;’‘暂停;”的意图数据,因此内容可以包括与意图数据的一些对应关系。例如,用户请求“启动”电器,并且因此该请求对应于架构文件,该架构文件标识在意图数据中的动作“启动”。
当架构文件包括与用户请求的动作相对应的内容数据时,方法400可以进行至操作406以确定用户或自动助理是否已请求任何其他动作。换句话说,因为架构文件标识用户请求的动作,所以客户端设备和/或自动助理将具有满足与该动作相关联的请求所需的信息。例如,提供的架构文件可以包括履行数据,诸如“履行:“开始:”“请建议何时停止或暂停”,自动助理可以将其用作对初始化动作的请求的响应。例如,对该请求的响应可以包括“好的,请建议何时停止或暂停”,从而使用户注意到在初始化的开始动作的当前场境内可以执行的其他动作(例如“停止”和“暂停”)。
当客户端设备不包括或具有对标识动作的架构文件的立刻访问时,方法400可以进入操作410。操作410可以包括标识与该动作相对应的单独的架构文件。为了标识与该动作相对应的单独的架构文件,可以使用基于来自用户的请求的数据来搜索一个或多个不同的架构文件。例如,数据可以标识请求由用户执行的动作,并且可以搜索不同的架构文件中的一个以确定一个或多个架构文件是否包括标识该动作的意图数据。在一些实施方式中,客户端设备和/或自动助理可以提供场境数据,该场境数据标识其中用户向自动助理提供请求的场境。场境数据可以用于对不同的架构文件进行排名和/或过滤,以便于标识要提供给客户端设备的一个或多个架构文件。可以将场境数据与意图数据、履行数据、插槽数据和/或可以合并到架构文件中的任何其他数据进行比较。例如,如果请求包括标识与架构文件的履行数据中提供的词项相似或同义的词项的内容,则该架构文件的排名可以高于不包括相似或者同义的词项的另一个架构文件。
当已经选择单独的架构文件时,方法400可以进入操作412,在操作412中,将单独的架构文件提供给客户端设备。在一些实施方式中,单独的架构文件可以通过网络从远程设备发送到客户端设备。可替选地或可选地,自动助理可以从远程设备请求单独的架构文件,或者从远程设备复制单独的架构文件。单独的架构文件可以包括先前提供的架构文件缺乏的意图数据和/或履行数据。此外,单独的架构文件可以标识可以由应用执行的多个不同动作以及可以由自动助理采用以响应用户的各种响应内容。以这样的方式,当应用正在执行与提供给客户端设备的架构文件相关联的动作或任何其他功能时,自动助理不一定需要与远程设备进行通信以便于向用户提供响应。结果,可以将延迟、计算资源和/或功率保存在计算设备以及可以被委派有执行用户所请求的动作的任务的任何其他设备处。
图5是示例计算机系统510的框图。该计算机系统510通常包括至少一个处理器514,其经由总线子系统512与多个外围设备通信。这些外围设备可以包括存储子系统524,包括例如,存储器525和文件存储子系统526;接口输出设备520;用户接口输入设备522以及网络接口子系统516。输入和输出设备允许用户与计算机系统510交互。网络接口子系统516提供到外部网络的接口,并耦合到其他计算机系统中的相应接口设备。
用户接口输入设备522可以包括键盘;诸如鼠标、轨迹球、触摸板或图形输入板的指向设备;扫描仪;并入到显示器的触摸屏;诸如语音识别系统的音频输入设备;麦克风;以及/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括所有可能类型的设备以及将信息输入到计算机系统510或通信网络中的方式。
用户接口输出设备520可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或其他用于创建可视图像的机制。显示子系统还可以诸如经由音频输出设备来提供非视觉显示。通常,术语“输出设备”的使用旨在包括所有可能类型的设备以及从计算机系统510向用户或另一台机器或计算机系统输出信息的方式。
存储子系统524存储提供本文所述的一些或全部模块的功能的编程和数据构造。例如,存储子系统524可以包括执行方法300、方法400的选定方面和/或实现客户端设备116、服务器设备102、远程计算设备112、远程设备136、架构文件140、应用138、计算设备204、远程设备212、自动助理104、自动助理206、本地应用208和/或服务器应用210中的一个或者多个的逻辑。
这些软件模块通常由处理器514单独或与其他处理器结合执行。存储子系统524中使用的存储器525可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)530以及存储固定指令的只读存储器(ROM)532。文件存储子系统526可以提供用于程序和数据文件的持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质盒。实现某些实施方式的功能的模块可以由文件存储子系统526存储在存储子系统524中,或者存储在处理器514可访问的其他机器中。
总线子系统512提供一种机制,其用于使计算机系统510的各种组件和子系统按照预期相互通信。尽管总线子系统512被示意性地示出为单个总线,但是总线子系统的替代实施方式可以使用多个总线。
计算机系统510能够是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器群、或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图5中描绘的计算机系统510的描述仅旨在作为用于说明一些实施方式的目的的特定示例。计算机系统510的许多其他配置可能具有比图5中描绘的计算机系统更多或更少的组件。
在此处描述的系统收集关于用户(或者在此经常被称为“参与者”)的个人信息或可以使用个人信息的情况下,可以向用户提供机会来控制是否程序或者特征收集用户信息(例如,关于用户的社交网络、社会行为或者活动、职业、用户的偏好、或者用户的当前地理位置的信息),或者控制是否和/或如何从可能与用户更加相关的内容服务器接收内容。另外,某些数据在存储或使用之前可以用一种或多种方式处理,使得个人可识别信息被移除。例如,可以对待用户的身份,使得无法为该用户确定任何个人可识别信息,或者可以概括获得地理位置信息的用户的地理位置(诸如城市、邮政编码或州级别),使得无法确定用户的特定地理位置。因此,用户可以控制如何收集有关用户的信息和/或已使用的信息。
虽然本文已经描述和说明若干实施方式,但是可以利用用于执行功能和/或获得结果和/或本文描述的一个或多个优点的各种其他手段和/或结构,并且这些变化和/或修改中的每一个被认为是在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置旨在是示例性的,并且实际参数、尺寸、材料和/或配置将取决于使用教导的特定应用或应用。本领域的技术人员将认识到或者能够使用不超过常规的实验确定本文所述具体实施方式的许多等同物。因此,要理解,前述实施方式仅作为示例呈现,并且在所附权利要求及其等同物的范围内,可以以不同于具体描述和要求保护的方式实施实施方式。本公开的实施方式涉及本文描述的每个单独的特征、系统、物品、材料、套件和/或方法。此外,如果这些特征、系统、物品、材料、套件和/或方法不相互矛盾,则两个或更多个这样的特征、系统、物品、材料、套件和/或方法的任何组合被包括在本公开的范围内。

Claims (19)

1.一种由一个或多个处理器实现的方法,所述方法包括:
确定应用在计算设备处可用,其中,所述计算设备包括自动助理,所述自动助理被配置成调解通过所述应用执行动作;和
响应于确定所述应用在所述计算设备处可用,向所述计算设备提供第一场境特定的架构文件,其中,所述第一场境特定的架构文件包括在所述自动助理接收对所述应用执行所述动作的请求的预期中所提供的响应内容;
确定所述自动助理已经接收到对所述应用执行所述动作的所述请求;
响应于确定所述自动助理已经接收到所述请求,向所述计算设备提供第二场境特定的架构文件,其中,所述第二场境特定的架构文件包括在所述自动助理接收与所述应用正在执行的所述动作相关联的单独请求的预期中所提供的其他内容;以及
修改状态标识符以指示至少所述第一场境特定的架构文件和所述第二场境特定的架构文件对所述自动助理是可访问的。
2.根据权利要求1所述的方法,其中,所述计算设备包括自动助理接口,并且所述响应内容包括所述自动助理能够采用的自然语言数据。
3.根据权利要求1所述的方法,其中,所述第一场境特定的架构文件标识能够由所述应用执行并经由所述自动助理初始化的多个不同动作。
4.根据权利要求1所述的方法,其中,所述状态标识符进一步指示与所述应用相关联的另一场境特定的架构文件从所述计算设备是不可访问的。
5.根据权利要求1所述的方法,其中,所述自动助理被配置成响应于接收到所述单独的请求而绕过联系与所述应用相关联的远程设备,并根据所述第二场境特定的架构文件来提供对所述单独的请求的响应。
6.一种由一个或多个处理器实现的方法,所述方法包括:
在自动助理接口处接收对自动助理调解通过与所述自动助理分离的应用执行动作的第一请求;
由所述自动助理查阅状态标识符以确定场境特定的架构文件是否对所述自动助理是可访问的并且包括与所述应用要执行的所述动作对应的内容,其中,所述场境特定的架构文件被配置成使所述自动助理能够代表所述应用提供响应;
当所述自动助理确定所述场境特定的架构文件是可访问的并提供与所述应用要执行的所述动作对应的内容时:
使所述应用初始化执行所述动作;
在所述自动助理接口处接收对所述自动助理提供与通过所述应用正在执行的所述动作相关联的响应的第二请求;
通过所述自动助理确定所述场境特定的架构文件的内容是否能够满足所述第二请求;以及
当所述自动助理确定所述场境特定的架构文件的内容能够满足所述第二请求时:
根据所述场境特定的架构文件的内容生成所述响应。
7.根据权利要求6所述的方法,当所述自动助理确定所述场境特定的架构文件的所述内容不能满足所述第二请求时:
生成架构文件请求,其中,所述架构文件请求与用于检索另一场境特定的架构文件以履行所述第二请求的查询对应。
8.根据权利要求7所述的方法,当所述自动助理确定所述场境特定的架构文件的所述内容不能满足所述第二请求时:
接收所述另一场境特定的架构文件,并且
根据在所述另一场境特定的架构文件中提供的其他内容,生成单独的响应。
9.根据权利要求7所述的方法,其中,所述架构文件请求包括场境数据,所述场境数据标识其中所述自动助理接收到所述第一请求的场境。
10.根据权利要求6所述的方法,当所述自动助理确定所述场境特定的架构文件的所述内容缺乏与所述应用要执行的所述动作对应的内容时:
生成架构文件请求,其中,所述架构文件请求与用于检索包括与所述应用要执行的动作相对应的内容的另一场境特定的架构文件的查询对应。
11.根据权利要求10所述的方法,当所述自动助理确定所述场境特定的架构文件的内容缺乏与所述应用要执行的所述动作对应的内容时:
接收所述另一场境特定的架构文件,并且
使所述应用至少基于所述另一场境特定的架构文件中提供的其他内容来初始化执行所述动作。
12.根据权利要求6所述的方法,其中,确定所述场境特定的架构文件是否对所述自动助理是可访问的包括:
访问包括一个或多个场境特定的架构文件的文件存储,以及
将来自所述第一请求的请求内容与来自所述一个或多个场境特定的架构文件的架构文件内容进行比较。
13.一种由一个或多个处理器实现的方法,所述方法包括:
接收对自动助理初始化通过客户端设备可访问的应用执行动作的第一请求;
查阅状态标识符以确定存储在所述客户端设备上的架构文件是否对所述自动助理是可访问的,其中,所述架构文件被配置成提供响应内容,所述响应内容允许所述自动助理代表所述应用对请求进行响应;
确定与所述第一请求相关联的所述动作与所述架构文件之间是否存在对应关系;
基于确定存在所述动作与所述架构文件之间的所述对应关系,使所述应用初始化执行所述动作;
接收对所述自动助理代表所述应用提供与所述动作相关联的响应的第二请求;
确定所述架构文件是否包括与所述第二请求相关的响应内容;以及
基于确定所述架构文件包括与所述第二请求相关的响应内容,经由所述客户端设备的自动助理接口提供与所述动作相关联的所述响应。
14.根据权利要求13所述的方法,进一步包括:
基于确定所述架构文件缺乏与所述第一请求的对应关系,使所述自动助理或所述应用请求提供与所述第一请求的对应关系的不同的架构文件。
15.根据权利要求13所述的方法,进一步包括:
基于确定所述架构文件缺乏与所述第二请求相关的响应内容,使所述自动助理或所述应用请求提供与所述第二请求相关的其他响应内容的不同的架构文件。
16.根据权利要求13所述的方法,其中,提供与所述动作相关联的所述响应包括:
生成基于所述架构文件中提供的所述响应内容的自然语言响应。
17.根据权利要求13所述的方法,其中,确定与所述第一请求相关联的所述动作与所述架构文件之间是否存在所述对应关系包括:
从所述客户端设备处可用的多个架构文件中标识包括标识所述动作的意图数据的所述架构文件。
18.根据权利要求13所述的方法,进一步包括:
响应于接收到所述第一请求,使场境数据被提供给与所述应用相关联的远程设备,其中,所述场境数据标识所述动作。
19.根据权利要求18所述的方法,进一步包括:
从所述远程设备接收单独的架构文件,所述单独的架构文件包括补充内容,当所述应用执行所述动作时,所述补充内容允许所述自动助理代表所述应用响应于用户。
CN201980014410.2A 2018-01-24 2019-01-23 提供在调解助理应用处的动态自动响应的系统、方法和装置 Active CN111771189B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410592279.0A CN118426897A (zh) 2018-01-24 2019-01-23 提供在调解助理应用处的动态自动响应的系统、方法和装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862621431P 2018-01-24 2018-01-24
US62/621,431 2018-01-24
PCT/US2019/014745 WO2019147667A1 (en) 2018-01-24 2019-01-23 Systems, methods, and apparatus for providing dynamic auto-responses at a mediating assistant application

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202410592279.0A Division CN118426897A (zh) 2018-01-24 2019-01-23 提供在调解助理应用处的动态自动响应的系统、方法和装置

Publications (2)

Publication Number Publication Date
CN111771189A CN111771189A (zh) 2020-10-13
CN111771189B true CN111771189B (zh) 2024-06-07

Family

ID=65576645

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202410592279.0A Pending CN118426897A (zh) 2018-01-24 2019-01-23 提供在调解助理应用处的动态自动响应的系统、方法和装置
CN201980014410.2A Active CN111771189B (zh) 2018-01-24 2019-01-23 提供在调解助理应用处的动态自动响应的系统、方法和装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202410592279.0A Pending CN118426897A (zh) 2018-01-24 2019-01-23 提供在调解助理应用处的动态自动响应的系统、方法和装置

Country Status (4)

Country Link
US (3) US11474841B2 (zh)
EP (1) EP3602288A1 (zh)
CN (2) CN118426897A (zh)
WO (1) WO2019147667A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118426897A (zh) 2018-01-24 2024-08-02 谷歌有限责任公司 提供在调解助理应用处的动态自动响应的系统、方法和装置
US11762937B2 (en) * 2019-11-29 2023-09-19 Ricoh Company, Ltd. Information processing apparatus, information processing system, and method of processing information

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102792320A (zh) * 2010-01-18 2012-11-21 苹果公司 智能自动化助理

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10679605B2 (en) * 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10223411B2 (en) 2013-03-06 2019-03-05 Nuance Communications, Inc. Task assistant utilizing context for improved interaction
US10108603B2 (en) * 2015-06-01 2018-10-23 Nuance Communications, Inc. Processing natural language text with context-specific linguistic model
US10884503B2 (en) * 2015-12-07 2021-01-05 Sri International VPA with integrated object recognition and facial expression recognition
CN109074292B (zh) 2016-04-18 2021-12-14 谷歌有限责任公司 适当的代理的自动化助理调用
US20180129484A1 (en) * 2016-11-04 2018-05-10 Microsoft Technology Licensing, Llc Conversational user interface agent development environment
CN118426897A (zh) 2018-01-24 2024-08-02 谷歌有限责任公司 提供在调解助理应用处的动态自动响应的系统、方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102792320A (zh) * 2010-01-18 2012-11-21 苹果公司 智能自动化助理

Also Published As

Publication number Publication date
CN118426897A (zh) 2024-08-02
US20240111554A1 (en) 2024-04-04
US20230029783A1 (en) 2023-02-02
CN111771189A (zh) 2020-10-13
US11875165B2 (en) 2024-01-16
EP3602288A1 (en) 2020-02-05
US20210342168A1 (en) 2021-11-04
WO2019147667A1 (en) 2019-08-01
US11474841B2 (en) 2022-10-18

Similar Documents

Publication Publication Date Title
KR102313474B1 (ko) 자동화된 어시스턴트를 통해 대화 세션 재개를 위한 시스템, 방법 및 장치
JP6733063B2 (ja) 選択可能なグラフィカル要素を介する自動化エージェントとの会話の初期化
US11790004B2 (en) Systems, methods, and apparatuses for providing assistant deep links to effectuate third-party dialog session transfers
US11875165B2 (en) Systems, methods, and apparatus for providing dynamic auto-responses at a mediating assistant application
US11823676B2 (en) Systems, methods, and apparatuses for managing incomplete automated assistant actions
US20240037330A1 (en) Fulfillment of actionable requests ahead of a user selecting a particular autocomplete suggestion for completing a current user input
US11848013B2 (en) Automated assistant invocation of second interactive module using supplemental data provided by first interactive module
EP3915105A1 (en) Initializing non-assistant background actions, via an automated assistant, while accessing a non-assistant application
CN111699473B (zh) 用于暂停和恢复虚拟助理的系统、方法以及装置
CN114586007A (zh) 用于维护应用内容的隐私的自动助理架构
CN114675773B (zh) 来自车辆中的用户的自动助理输入的条件准备
US12131180B2 (en) Systems, methods, and apparatuses for processing routine interruption requests

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