CN116194880A - 自动化助理训练和/或用户间过程的执行 - Google Patents

自动化助理训练和/或用户间过程的执行 Download PDF

Info

Publication number
CN116194880A
CN116194880A CN202180063886.2A CN202180063886A CN116194880A CN 116194880 A CN116194880 A CN 116194880A CN 202180063886 A CN202180063886 A CN 202180063886A CN 116194880 A CN116194880 A CN 116194880A
Authority
CN
China
Prior art keywords
automated assistant
user
activity
data
execution
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.)
Pending
Application number
CN202180063886.2A
Other languages
English (en)
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
Publication of CN116194880A publication Critical patent/CN116194880A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Acoustics & Sound (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

实现方式涉及能够使重复执行的过程自动化的自动化助理。自动化能够涉及与不同的用户、组织和/或其他自动化助理通信。在具有来自相应用户的先前许可的情况下,自动化助理能够检测特定系列的手动发起的计算动作的重复执行。基于该确定,自动化助理能够确定能够由自动化助理执行的自动化助理计算动作,以便减少执行过程时的延迟,减少执行过程时的传输的量和/或大小,和/或减少执行过程所需的客户端设备资源量。此类动作能够包括与可能与另一用户和/或组织相关联的附加自动化助理通信。以这些和其他方式,能够将包括用户之中的电子通信的手动发起的计算动作转换为自动化助理的实例之中的后端操作,以实现技术益处。

Description

自动化助理训练和/或用户间过程的执行
背景技术
人类可以与在本文中被称为“自动化助理”(也被称为“数字代理”、“聊天机器人”、“交互式个人助理”、“智能个人助理”、“会话代理”等)的交互式软件应用进行人机对话。例如,人类(当他们与自动化助理交互时可以被称为“用户”)可以使用口头自然语言输入(即,话语)和/或通过提供文本(例如,键入的)自然语言输入来提供命令和/或请求,口头自然语言输入在一些情况下可以被转换为文本然后被处理。
组织中的各种人可以在各种不同的场境中访问他们自己相应的自动化助理,诸如当个人用户在家或在工作时。例如,当用户在工作时,他们可以调用自动化助理来设置关于当天晚些时候的会议的提醒。然而,为了完成更多的协作任务,用户可以与各种不同的人和/或应用交互。例如,当特定组织处的任务涉及向另一组织提交请求时,用于编译请求的过程通常可以涉及该特定组织处的人员之间的多个电子通信联系(correspondence)。因为每个通信联系能够涉及在一段时间内访问计算设备,所以作为用户重复执行这样的任务的结果,能够消耗组织的各种计算资源。例如,组织中的每个人可以继续依赖于与组织中的其他人的直接通信联系,诸如电子邮件和电话呼叫,以便完成与组织相关的任务。这可能不必要地导致用户初始化其相应的计算设备以回复消息,从而低效地消耗所涉及的任何设备的功率。
发明内容
本文阐述的实现方式涉及一种自动化助理,该自动化助理能够在相应用户的许可的情况下检测体现各种人和/或信息源以有助于这样的过程的过程。尽管用户明确地指示由用户执行的什么计算动作与该过程相关和/或甚至没有向自动化助理明确地指示正在执行过程,但是能够检测全部或部分地由用户执行的特定过程。此外,尽管不相关的计算动作介于与该过程相关的计算动作之间,但是与该过程相关的计算动作能够和与该过程不相关的计算动作区分开。以这些和其他方式,训练自动化助理以执行某些过程能够在用户无需明确标识该过程的每个部分和/或用户无需特别请求自动化助理学习某些过程的情况下完成。这能够保留当用户直接与自动化助理交互时可能否则消耗的计算资源。这能够附加地或替代地实现由自动化助理对能够被自动化以节省各种计算资源的各种不同过程的自我识别。此外,自动化助理能够自我训练以执行过程的计算动作中的至少一些和/或交替计算上更高效的动作,而不需要组织的用户关于每个特定过程手动训练自动化助理。此外,由于能够在任何给定时间调用自动化助理的若干实例以进行训练,因此能够关于某些候选过程间歇地和/或同时地训练自动化助理。
在一些实现方式中,当自动化助理确定用户已经执行特定过程以完成一次或多次时,能够初始化关于特定过程的自动化助理的训练。例如,过程能够开始于用户接收具有某些内容的传入消息,并且该过程能够结束于用户对具有其他内容的消息进行响应。此外,用户能够在过程的开始和结束之间执行各种其他任务/计算动作,诸如响应其他消息和/或访问各种文档。当自动化助理检测到重复执行过程的开始和结束以及其他中间任务时,自动化助理能够初始化训练以便学习以帮助用户(即,半自动)和/或完全接管执行(即,自动化)过程。在一些实现方式中,当自动化助理确定通过用该特定过程辅助用户,自动化助理能够减少时间量和/或减少否则完成该过程将消耗的资源量时,能够执行对特定过程的训练的初始化。
在一些实现方式中,由自动化助理检测到的特定过程能够具有将经由与多个不同应用、人、组织和/或任何其他装置和/或实体的交互来完成的一个或多个任务。当检测到的过程的特定任务从自动化助理的角度来看是不确定的时,自动化助理能够提示特定用户关于特定任务的清晰性。例如,过程中的特定任务能够包括从动态数据源(诸如提供大量可用项目的网站)检索数据样本。然而,当用户具有在其他常规过程完成期间选择不同项目的历史时,自动化助理能够将过程中的特定任务指定为决策点。这能够允许自动化助理在每次执行过程时进一步训练如何处理决策点和/或提示用户决策点。
在一些情况下,用户能够显式地调用自动化助理以便使自动化助理熟悉过程,使得用户能够采用自动化助理来随后执行过程-并且可选地,无需显式调用。在一些实现方式中,过程能够是指在有或没有一个或多个用户的辅助的情况下,能够由自动化助理执行的一系列任务和/或计算动作。例如,用户能够提供诸如“助理,让我向您展示如何响应包括预订办公室的请求的电子邮件(Assistant,let me show you how to respond to an emailthat includes a request to reserve an office)”的口头话语,以便初始化“预订”过程的训练。此后,自动化助理能够在用户的先前许可的情况下检测由用户完成的各种任务,以及识别标识“预订”过程的结束的推断动作。例如,用户能够通过访问来自用户的请求预订办公空间的电子邮件来开始该过程,并且用户能够通过发送确认某些办公空间的预订的响应消息来结束该过程。
在一些实现方式中,能够由自动化助理使用各种不同的数据来识别过程的起始点。例如,能够处理与用户正在访问的应用相对应的应用数据,以便识别由应用正在执行的一个或多个操作。在一些情况下,用户能够通过提供诸如“助理,我正在开始“预订”过程(Assistant,Iam beginning a‘reservation’procedure)”的口头话语来明确地标识过程的开始。可替代地或附加地,能够处理应用数据和/或场境数据,以便在没有从用户到自动化助理的直接输入的情况下标识过程的起始点。例如,自动化助理能够基于指示电子邮件应用处于图形用户界面(GUI)的前台的场境数据来确定“预订”过程正在开始。可替代地或附加地,自动化助理能够进一步基于指示已经接收到具有诸如短语“办公室预订”和/或任何其他过程相关信息(例如,与开始“预订”过程相关联的任何信息)的内容的电子邮件的应用数据来确定“预订”过程正在开始。可替代地或附加地,能够使用分类模型将用户在一个或多个设备和/或一个或多个应用处的动作与“预订”过程相关联。分类模型能够是经训练的机器学习模型,其基于在“预订”过程的先前执行期间一个或多个用户和/或一个或多个应用之间的先前交互来训练。
在一些实现方式中,用于某些过程任务的参数能够包含在各种信息源之间的交互期间导出的数据。此外,能够从用户执行该过程的先前实例中推断特定源的选择。例如,在用户正在执行“预订”过程的先前场合期间,自动化助理能够确定用户通常在访问电子邮件之后发出通信联系并检查办公室占用数据库(例如,通信联系能够查询不同位置的办公室可用性)。此外,当过程的开始的场境对应于第一场境(例如,数据库指示在第一办公位置处存在可用性)时,能够将通信联系寻址到第一实体(例如,第一办公位置)。然而,当过程的开始的场境对应于第二场境(例如,数据库指示在第一办公位置处没有可用性)时,能够将通信联系寻址到第二实体(例如,第二办公位置)。
基于这些过去的事件,自动化助理能够进一步细化自动化助理过程以合并该决策点和对应的条件决策。例如,当自动化助理确定用户随后已经经由电子邮件接收到附加预订请求时,自动化助理能够初始化“预订”过程的执行。最初,用户能够打开附加预订请求电子邮件,这能够可选地使自动化助理访问办公室占用数据库以解析初始决策点。当自动化助理确定第一办公位置具有可用性时,自动化助理能够通过断定第一场境适用于当前决策点(例如,在第一办公位置处存在可用性)来解析决策点。结果,自动化助理能够识别要由应用和/或自动化助理执行的一个或多个动作,以便使通信联系能够被传送到第一实体。作为响应,第一实体能够提供占用确认,自动化助理能够在用户的先前许可的情况下访问该占用确认,以便生成要执行的一个或多个附加动作以促进该过程。例如,附加动作能够包括回复最初导致执行“预订”过程的电子邮件的发起者。然后能够在有或没有用于完成剩余任务的用户的任何直接参与的情况下完成“预订”过程的剩余任务。
提供以上描述作为本公开的一些实现方式的概述。下面更详细地描述那些实现方式和其他实现方式的进一步描述。
其他实现方式可以包括非暂时性计算机可读存储介质,其存储可由一个或多个处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU))执行的指令,以执行诸如上述和/或本文其他地方描述的一种或多种方法的方法。其他实现方式可以包括一个或多个计算机的系统,计算机包括可操作以执行所存储的指令以执行诸如上述和/或本文其他地方描述的一种或多种方法的方法的一个或多个处理器。
应当意识到,本文更详细描述的前述概念和附加概念的所有组合被认为是本文公开的主题的一部分。例如,出现在本公开结尾处的所要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
图1A、图1B和图1C图示了自动化助理初始化过程的执行的视图,该过程涉及各种应用、用户和/或设备,并且自动化助理已经被训练来执行该过程。
图2图示了用于提供自动化助理的系统,该自动化助理能够处理由一个或多个人和/或应用执行的过程,并且可以将活动切换至其他自动化助理以促进完成这样的过程。
图3图示了用于使自动化助理执行包括自动化助理与附加自动化助理之间的一个或多个交互并且从一个或多个用户的先前活动中学习的过程的方法。
图4图示了用于提供能够被训练以执行涉及一个或多个用户和/或各种活动的一个或多个过程的自动化助理的方法。
图5图示了用于使自动化助理初始化自动化助理已经被训练执行的过程的执行的方法。
图6图示了用于允许应用辅助自动化助理完成一个或多个用户先前已经采用该应用来执行的过程的方法。
图7图示了用于使自动化助理执行特定过程的方法,该特定过程涉及与另一用户的通信以便完成该特定过程。
图8A和图8B图示了使自动化助理同时执行各种不同过程的方法,这些过程能够使自动化助理在执行过程期间与一个或多个用户、应用和/或设备交互。
图9是示例计算机系统的框图。
具体实施方式
图1A、图1B和图1C图示了自动化助理初始化过程的执行的视图100、视图120和视图140,该过程涉及各种应用、用户和/或设备,并且自动化助理已经被训练来执行该过程。为了初始化过程的执行,自动化助理能够处理各种不同的数据,以便识别触发过程初始化的活动。活动能够是例如接收包括订单请求的传入消息。能够在用户110的先前许可的情况下处理传入消息的内容,以便识别传入消息与可用于自动化助理执行的一个或多个过程之间的相关性。例如,能够为能够与某些过程相关联的各种数据生成语义注释。此外,能够从各种注释和/或数据源生成嵌入,以便识别可以与潜在空间中的位置相对应的过程(例如,当嵌入与嵌入空间中的位置相距阈值距离时)。
当自动化助理确定能够响应于某个活动(诸如接收订单请求消息)来执行特定过程时,自动化助理能够提供自然语言输出102。自然语言输出102能够是例如“您具有新的订单请求。你想让我基于你以前收到的类似订单来履行订单吗?(You have a new orderrequest.Would you like me to fulfill the order based on similar orders youpreviously received?)”。作为响应,用户110能够通过提供诸如“当然,谢谢(Sure,thankyou)”的用户输入104来确认允许自动化助理执行履行订单请求的过程。在一些实现方式中,当确定特定过程不涉及敏感数据(例如,个人金融数据、个人消息、非公开可用的信息等)时,自动化助理能够绕过请求用户110允许自动化助理执行过程。
当用户110提供用户输入104或者自动化助理以其他方式发起过程的执行时,作为响应,自动化助理能够识别要执行的一个或多个动作。例如,基于导致执行过程的订单请求的语义理解,自动化助理能够识别具有促进过程朝向完成状态的可能性的一个或多个动作。例如,履行订单的过程的完成状态能够是当自动化助理已经确认已经下订单时。因此,基于订单请求的内容、场境数据和/或执行过程的先前实例,自动化助理能够选择具有导致过程完成的最高概率的候选活动。
例如,当用户110已经确认允许自动化助理继续执行该过程时,自动化助理能够选择:向新订单请求的发起者提供电子邮件响应的候选活动106和向第三方供应商发送材料请求的另一候选活动108。在一些实现方式中,这些候选活动的执行能够导致在计算设备112处没有用户110正在访问的通知。可替代地或附加地,过程的执行能够导致在过程完成时在计算设备112处渲染通知。以这种方式,能够减轻由对用户110的通知引起的时延,以便以最小的用户分心来简化过程的完成。
在一些实现方式中,候选活动的执行能够在过程的不同实例之间变化。例如,用户110手动履行订单请求的多个先前实例能够涉及用户110在提供或不提供补充信息的情况下向订单请求的发起者提供电子邮件。在一些实现方式中,这样的变化能够影响由自动化助理识别的候选活动。例如,能够处理诸如发送者的电子邮件地址的消息相关数据,以便识别用于响应该特定发送者的合适模板。因此,尽管过程的初始动作能够包括提供包括接收确认的消息,但是对于过程的不同实例,也能够将其他补充数据并入消息中。例如,当订单请求来自第一地址时,能够利用某些类型的槽和/或针对某些槽值来选择用于电子邮件确认的模板。此外,当订单请求来自与第一地址不同的第二地址时,能够利用其他类型的槽和/或针对不同的槽值来选择不同的模板。
当候选活动已经由自动化助理执行时,自动化助理能够使得通信联系被传送到附加自动化助理,该附加自动化助理能够经由图1B的视图120中提供的计算设备134访问。当附加自动化助理从与用户110相关联的自动化助理接收到通信联系时,附加自动化助理能够提供自然语言输出122,诸如“您已经接收到材料请求。你想让我检查库存并回复材料请求吗?(You have received a materials request.Would you like me to check theinventory and respond to the materials request?)”。自然语言输出122能够由附加自动化助理基于用户126确认接收到材料请求、检查web应用以验证库存、然后响应材料请求的先前实例来生成。这些动作的特征在于附加自动化助理能够访问的数据,以便附加自动化助理随后执行与图1A中初始化的第一过程不同的第二过程的实例。
当对应的信息与私有和/或非公共数据相关联时,能够要求用户126确认库存检查和基于库存检查的响应。可替代地或附加地,附加自动化助理能够基于用户执行第二过程并花费附加时间查看某些数据和/或草稿消息的先前实例来请求确认。这些实例能够使附加自动化助理为特定动作分配阈值分数,该阈值分数使特定动作经受用户确认。用户126能够提供确认124,诸如“好的,请(Yes,please)”,然后能够使附加自动化助理执行确认来自自动化助理的材料请求的动作128。在一些实现方式中,自动化助理之间的过程切换的这种实例能够导致计算资源的消耗减少。当跨多个组织的用户不再必须在视觉上查看在组织之间常规传送的通信联系时,能够表现出这种消耗减少。
在一些实现方式中,在已经相对于图1A中初始化的第一过程执行从附加自动化助理到自动化助理的“切换”之后,能够继续执行第二过程。例如,第二过程能够进一步包括附加自动化助理打印描述材料请求的细节的收据的最终活动。在一些实现方式中,附加自动化助理能够使IoT设备136执行打印动作132,以便创建用户126、附加自动化助理以及可选地自动化助理之间的通信的记录。可替代地或附加地,附加自动化助理能够提供收据正在被打印的指示130,以及为什么执行某些动作的指示。以这种方式,通过在第二过程期间通知用户126附加自动化助理的活动,用户126能够提供反馈以便影响该过程中涉及的某些活动的权重(即,分数)。当针对该过程的实例的分数或权重不满足针对该过程的活动的特定阈值时,能够绕过针对该过程的实例的活动。
作为示例,当附加自动化助理确认来自图1A的材料请求时,自动化助理能够提供指示142,诸如“供应商说他们的供应量足以满足订单。我已经确认了订单(The vendorsays that their supplies were adequate for the order.I have confirmed theorder)”。这能够指示自动化助理已经从附加自动化助理接收到确认,并且还已经向新订单请求的发起者发送消息。此外,自动化助理能够确定与由自动化助理执行的第一过程相关联的特定候选活动具有不满足特定阈值但仍然与第一过程相关联的分数。因此,自动化助理能够向用户110提供查询144,诸如“您想要我预订附加材料吗?(Would you like me topre-order additional materials?)”以这种方式,自动化助理能够接收能够用于修改第一过程的其他实例的分数的进一步的反馈。
在一些实现方式中,与第一过程的实例的执行相关联的场境数据能够导致候选活动的分数的改变(例如,预订附加材料)。这样的场境数据能够包括与用户110相关联的其他通信联系、自动化助理能够访问的其他数据、能够影响第一过程的公共可用数据和/或能够与过程的场境相关联的任何其他信息。因此,当候选活动的分数被改变使得分数满足查询阈值时,自动化助理能够向用户110查询是否应该执行候选活动。然而,当候选活动的分数被改变使得分数不满足查询阈值或活动阈值时,自动化助理能够绕过向用户110提供查询144。
用户110能够用诸如“不,谢谢(No,thank you)”的响应146对查询144进行响应,该响应146能够由自动化助理用作反馈以调整该过程的候选活动的分数。例如,基于响应146,自动化助理能够执行更新当前过程的“重新订购”候选活动的分数的动作148。此后,在第一过程的后续实例期间,由于对查询144的否定反馈(例如,响应146),自动化助理可以不为用户110提供关于预订材料的查询144。
图2图示了用于提供自动化助理的系统200,该自动化助理能够处理由一个或多个人和/或应用执行的过程,并且能够将活动切换至其他自动化助理以促进完成这样的过程。自动化助理204能够作为在一个或多个计算设备(诸如计算设备202和/或服务器设备)处提供的助理应用的一部分来操作。用户能够经由助理接口220与自动化助理204交互,助理接口220能够是麦克风、相机、触摸屏显示器、用户界面和/或能够在用户和应用之间提供接口的任何其他装置。例如,用户能够通过向助理接口220提供口头、文本和/或图形输入来初始化自动化助理204,以使自动化助理204初始化一个或多个动作(例如,提供数据、控制外围设备、访问代理、生成输入和/或输出等)。可替代地,能够基于使用一个或多个经训练的机器学习模型对场境数据236的处理来初始化自动化助理204。场境数据236能够表征自动化助理204可访问的环境的一个或多个特征,和/或被预测为旨在与自动化助理204交互的用户的一个或多个特征。计算设备202能够包括显示设备,该显示设备能够是包括触摸显示接口的显示面板,该触摸显示接口用于接收触摸输入和/或手势输入,以允许用户经由触摸界面控制计算设备202的应用234。在一些实现方式中,计算设备202能够缺少显示设备,从而提供可听用户接口输出,而不提供图形用户界面输出。此外,计算设备202能够提供用于从用户接收口头自然语言输入的用户接口,诸如麦克风。在一些实现方式中,计算设备202能够包括触摸界面并且能够没有相机,但是能够可选地包括一个或多个其他传感器。
计算设备202和/或其他第三方客户端设备能够通过诸如互联网的网络与服务器设备通信。另外,计算设备202和任何其他计算设备能够通过局域网(LAN)(诸如Wi-Fi网络)彼此通信。计算设备202能够将计算任务卸载到服务器设备,以便节省计算设备202处的计算资源。例如,服务器设备能够托管自动化助理204,和/或计算设备202能够将在一个或多个助理接口220处接收的输入传送到服务器设备。然而,在一些实现方式中,自动化助理204能够被托管在计算设备202处,并且能够在计算设备202处执行能够与自动化助理操作相关联的各种过程。
在各种实现方式中,自动化助理204的所有或少于所有方面能够在计算设备202上实现。在这些实现方式中的一些实现方式中,自动化助理204的方面经由计算设备202来实现,并且能够与服务器设备对接,该服务器设备能够实现自动化助理204的其他方面。服务器设备能够可选地经由多个线程为多个用户及其相关联的助理应用服务。在经由计算设备202实现自动化助理204的所有或少于所有方面的实现方式中,自动化助理204能够是与计算设备202的操作系统分离的(例如,安装在操作系统的“顶上”的)应用-或者能够可替代地由计算设备202的操作系统直接实现(例如,被认为是操作系统的应用,但与操作系统集成)。
在一些实现方式中,自动化助理204能够包括输入处理引擎206,其能够采用多个不同的模块来处理计算设备202和/或服务器设备的输入和/或输出。例如,输入处理引擎206能够包括语音处理引擎208,其能够处理在助理接口220处接收的音频数据以识别在音频数据中体现的文本。音频数据能够从例如计算设备202传送到服务器设备,以便保存计算设备202处的计算资源。附加地或可替代地,能够在计算设备202处专门处理音频数据。
用于将音频数据转换为文本的过程能够包括语音识别算法,其能够采用神经网络和/或统计模型来识别与单词或短语相对应的音频数据组。从音频数据转换的文本能够由数据解析引擎210解析,并且作为文本数据可用于自动化助理204,该文本数据能够被用来生成和/或识别命令短语、意图、动作、槽值和/或由用户指定的任何其他内容。在一些实现方式中,由数据解析引擎210提供的输出数据能够被提供给参数引擎212,以确定用户是否提供了与能够由自动化助理204和/或能够经由自动化助理204访问的应用或代理执行的特定意图、动作和/或例程相对应的输入。例如,助理数据238能够被存储在服务器设备和/或计算设备202处,并且能够包括定义能够由自动化助理204执行的一个或多个动作的数据,以及执行动作所需的参数。参数引擎212能够生成用于意图、动作和/或槽值的一个或多个参数,并且将一个或多个参数提供给输出生成引擎214。输出生成引擎214能够使用一个或多个参数来与助理接口220通信以向用户提供输出,和/或与一个或多个应用234通信以向一个或多个应用234提供输出。
在一些实现方式中,自动化助理204能够是能够安装在计算设备202的操作系统“之上”和/或本身能够形成计算设备202的操作系统的一部分(或全部)的应用。自动化助理应用包括和/或能够访问设备上语音识别、设备上自然语言理解和设备上履行。例如,能够使用设备上语音识别模块来执行设备上语音识别,该设备上语音识别模块使用本地存储在计算设备202处的端到端语音识别机器学习模型来处理(由麦克风检测到的)音频数据。设备上语音识别为音频数据中存在的口头话语(如果有的话)生成所识别的文本。此外,例如,能够使用设备上自然语言理解(NLU)模块来执行设备上NLU,该设备上NLU模块处理使用设备上语音识别生成的所识别的文本以及可选地场境数据,以生成NLU数据。
NLU数据能够包括与口头话语相对应的意图以及可选地用于意图的参数(例如,槽值)。能够使用设备上履行模块来执行设备上履行,该设备上履行模块利用(来自设备上NLU的)NLU数据以及可选地其他本地数据来确定要采取的动作以解析口头话语的意图(以及可选地用于意图的参数)。这能够包括确定对口头话语的本地和/或远程响应(例如,应答)、基于口头话语要执行的与本地安装的应用的交互、基于口头话语要(直接地或经由对应的远程系统)传送到物联网(IoT)设备的命令、和/或基于口头话语要执行的其他解析动作。然后,设备上履行能够发起所确定的动作的本地和/或远程实现/执行以解析口头话语。
在各种实现方式中,能够至少选择性地利用远程语音处理、远程NLU和/或远程履行。例如,所识别的文本能够至少选择性地被传送到远程自动化助理组件以用于远程NLU和/或远程履行。例如,所识别的文本能够可选地与设备上执行并行地或者响应于设备上NLU和/或设备上履行的故障而被传送以用于远程执行。然而,设备上语音处理、设备上NLU、设备上履行和/或设备上执行能够至少由于它们在解析口头话语时提供的时延减少(由于不需要客户端-服务器往返以解析口头话语)而被优先化。此外,设备上功能能够是在没有网络连接或具有有限网络连接的情况下可用的唯一功能。
在一些实现方式中,计算设备202能够包括一个或多个应用234,其能够由与提供计算设备202和/或自动化助理204的实体不同的第三方实体提供。自动化助理204和/或计算设备202的应用状态引擎能够访问应用数据230以确定能够由一个或多个应用234执行的一个或多个动作,以及一个或多个应用234中的每个应用的状态和/或与计算设备202相关联的相应设备的状态。自动化助理204和/或计算设备202的设备状态引擎能够访问设备数据232以确定能够由计算设备202和/或与计算设备202相关联的一个或多个设备执行的一个或多个动作。此外,应用数据230和/或任何其他数据(例如,设备数据232)能够由自动化助理204访问以生成场境数据236,其能够表征特定应用234和/或设备正在执行的场境,和/或特定用户正在访问计算设备202、访问应用234和/或任何其他设备或模块的场境。
当一个或多个应用234正在计算设备202处执行时,设备数据232能够表征在计算设备202处执行的每个应用234的当前操作状态。此外,应用数据230能够表征正在执行的应用234的一个或多个特征,诸如在一个或多个应用234的方向处渲染的一个或多个图形用户界面的内容。可替代地或附加地,应用数据230能够表征动作模式,该动作模式可由相应的应用和/或由自动化助理204基于相应的应用的当前操作状态来更新。可替代地或附加地,用于一个或多个应用234的一个或多个动作模式能够保持静态,但是能够由应用状态引擎访问,以便确定要经由自动化助理204初始化的合适动作。
计算设备202还能够包括助理调用引擎222,其能够使用一个或多个经训练的机器学习模型来处理应用数据230、设备数据232、场境数据236和/或计算设备202可访问的任何其他数据。助理调用引擎222能够处理该数据以便确定是否等待用户明确地说出调用短语以调用自动化助理204,或者认为该数据指示用户调用自动化助理的意图,而不是要求用户明确地说出调用短语。例如,能够使用训练数据的实例来训练一个或多个经训练的机器学习模型,所述训练数据的实例基于用户处于多个设备和/或应用展现各种操作状态的环境中的场景。能够生成训练数据的实例,以便捕获表征用户调用自动化助理的场境和用户不调用自动化助理的其他场境的训练数据。当根据训练数据的这些实例训练一个或多个经训练的机器学习模型时,助理调用引擎222能够使自动化助理204基于场境和/或环境的特征来检测或限制检测来自用户的口头调用短语。附加地或替代地,助理调用引擎222能够使自动化助理204基于场境和/或环境的特征来检测或限制检测来自用户的一个或多个助理命令。在一些实现方式中,能够基于计算设备202检测到来自另一计算设备的助理抑制输出来禁用或限制助理调用引擎222。以这种方式,当计算设备202正在检测助理抑制输出时,将不基于场境数据236调用自动化助理204,如果没有检测到助理抑制输出,则场境数据236否则将使得自动化助理204被调用。
在一些实现方式中,自动化助理204能够可选地包括过程检测引擎216。过程检测引擎216能够处理应用数据230、设备数据232、场境数据236、助理数据238和/或任何其他数据,以便确定一个或多个用户的活动是否与重复执行的过程相关联。当已经识别出这样的过程时,自动化助理204能够确定是否生成进一步的数据,以便允许自动化助理204自主地执行过程的至少一些部分。例如,过程检测引擎216能够确定在没有用户参与的情况下进行过程是否将导致计算资源消耗的减少。当自动化助理204确定该过程应当由自动化助理204执行以减少计算资源的浪费时,自动化助理204能够识别在完成该过程中可能涉及的各种活动。
在一些实现方式中,系统200能够包括过程训练引擎242,以便自动化助理204确定一个或多个用户、设备和/或应用的某些活动是否是过程的一部分。例如,过程训练引擎242能够初始地识别分别对应于过程的开始和结束的初始活动和最终活动。此外,过程训练引擎242能够识别在特定过程的初始活动和最终活动之间发生的各种不同活动。随着时间的推移,过程训练引擎242能够进一步细化该过程,以便清楚地表征作为该过程的一部分或关于过程无关的活动。例如,能够在用户活动期间生成各种数据,这样的注释由过程注释引擎244创建,以便提供对某些活动的语义理解。能够处理注释的内容,以便确定某些活动与已经由自动化助理204识别的一个或多个过程的相关性。当自动化助理204确定特定活动(例如,访问电影博客)与特定活动(例如,编辑和共享照片)无关时,自动化助理204可以不在过程的后续实例期间执行特定活动。此外,如果在由自动化助理204执行过程之前、期间和/或之后检测到特定活动,则自动化助理204能够绕过允许特定活动以影响过程。
在一些实现方式中,系统200能够可选地包括用于识别和初始化与过程相关联的动作的活动执行引擎218。活动执行引擎218还能够识别特定动作的一个或多个槽值的一个或多个参数。例如,尽管过程的一个或多个动作对于过程的各种实例能够保持静态,但是动作的某些参数和/或槽值能够是动态的。例如,代表用户发送回复消息的自动化助理204的活动能够是作为过程的一部分的活动,但是回复消息的内容能够根据各种不同的因素而变化。在一些实现方式中,过程的执行的场境(例如,用户的位置)能够是自动化助理能够从中选择作为过程的一部分的动作的某些参数的基础。
在一些实现方式中,系统200能够包括活动评分引擎226,其能够确定过程的每个活动和/或在执行过程期间发生的任何其他活动的分数。以这种方式,当特定活动的分数满足阈值或未能满足阈值时,自动化助理204能够相应地修改包括特定活动的过程。在一些实现方式中,能够处理表征活动的数据以生成嵌入,该嵌入能够与潜在空间中的其他嵌入进行比较以确定活动与过程的分数和/或相关性。
在一些实现方式中,活动能够与多个分数相关联,并且每个分数能够对应于不同的过程。以这种方式,当自动化助理204执行各种过程并接收关于特定活动的反馈时,能够调整特定活动的分数,使得活动的第一分数可以满足第一过程的阈值,但是特定活动的第二分数可能不满足第二过程的另一阈值。结果,第一过程可以继续并入特定活动,但是第二过程可以不再并入特定活动。
在一些实现方式中,系统200能够包括助理通信联系引擎228,其能够辅助自动化助理204与其他自动化助理通信。例如,助理通信联系引擎228能够采用多个不同的API,以便与可以由与自动化助理204不同的实体提供的其他自动化助理通信。此外,助理通信联系引擎228能够生成用于表征自动化助理204正在协助的过程的状态的数据。当过程涉及另一自动化助理时,自动化助理能够采用助理通信联系引擎228以便传送过程的状态和/或接收关于在不同自动化助理处执行的不同过程的状态数据。
图3图示了用于使自动化助理执行包括自动化助理与附加自动化助理之间的一个或多个交互并且从一个或多个用户的先前活动中学习的过程的方法300。方法300能够由一个或多个应用、计算设备和/或能够提供对自动化助理的访问的任何其他装置或模块来执行。方法300能够包括确定与过程相关联的活动是否已经被初始化的操作302。该过程能够是一个或多个用户过去常规执行的一系列任务,但是能够通过一个或多个用户可访问的自动化助理得以学习。在一些实现方式中,过程能够涉及由不同用户执行的各种任务,并且每个用户能够训练他们自己相应的自动化助理以自主地完成他们相应的任务。
例如,涉及多个用户和/或自动化助理的多个实例的过程能够是当第一用户(例如,组织的支持人员)检查其传入消息以查看服务中的任何参与者是否具有关于服务的任何问题时。当第一用户识别出正在询问关于服务的最终可用日期的特定消息时,第一用户能够联系第二用户(例如,服务管理者)以便确认服务的最终日期,该最终日期能够是动态变量。该第二用户能够检查组织的内联网站点,以便验证服务的最终日期,然后用验证来响应第一用户。然后,第一用户能够根据来自第二用户的响应,利用对服务的最终日期的确认和/或修改来响应特定消息。涉及第一用户和第二用户的该过程能够由自动化助理分析,以便生成表征在某些情况下能够由自动化助理初始化的过程的数据。此外,第一用户和第二用户能够训练他们自己相应的自动化助理以在过程中充分处理他们相应的任务。
当与过程相关联的活动已经被初始化和/或以其他方式被执行时,方法300能够从操作302进行到操作304。否则,自动化助理能够继续以确定与一个或多个过程相关联的活动是否已经被初始化。在一些实现方式中,当与自动化助理分开的应用指示某些数据(诸如特定类型的消息)可用时,能够初始化活动。例如,当消息传递应用接收到具有包括术语“最终日期”或与术语“最终日期”同义的内容的消息时,自动化助理能够确定与上述过程相关联的活动已经被初始化。
操作304能够包括使自动化助理初始化涉及附加自动化助理的初始动作的执行,以促进完成过程的实例。例如,与过程相关联的活动与一定量的初始数据相关联,自动化助理能够使用初始数据来生成能够被提供给附加自动化助理的通信联系。例如,并且根据上述场景,与第一用户相关联的自动化助理能够基于消息传递应用接收到特定消息来生成通信联系。然后能够将通信联系和/或过程状态提供给与第二用户相关联的附加自动化助理,以便附加自动化助理确认如在特定消息中请求的服务的“最终日期”。
在一些实现方式中,能够通过由第二用户响应于从第一用户接收到某些消息而执行的动作来明确地或隐含地训练附加自动化助理。例如,第二用户能够指示附加自动化助理使用来自另一应用(例如,内联网网站)的信息来响应某些类型的消息。例如,第二用户能够向附加自动化助理提供诸如“助理,当我接收到关于确认服务的“最终日期”的消息时,从内联网站点检索“最终日期”条目,并用“最终日期”条目值回复消息(Assistant,when Ireceive a message regarding confirming a‘final date’of a service,retrieve the‘final date’entry from the intranet site,and reply to the message with the‘final date’entry value.)”的口头话语。可替代地或附加地,第二用户能够向自动化助理提供处理第二用户的重复动作的许可,以便自动化助理能够处理重复动作以确定自动化助理是否能够在执行那些动作期间节省用户时间和/或资源。当附加自动化助理确定动作能够由附加自动化助理处理时,附加自动化助理能够向第二用户提供附加自动化助理将接管执行动作的通知。
方法300能够从操作304进行到操作306,操作306能够包括接收表征附加自动化助理对执行初始动作的响应的响应数据。例如,响应于从与第一用户相关联的自动化助理接收到通信联系,附加自动化助理能够提供响应数据,该响应数据能够被体现在另一通信联系中。响应数据能够包括当第一用户向第二用户提供初始消息时,第二用户将以其他方式在附加消息中向第一用户提供的信息。例如,代替第二用户访问其相应的消息传递应用以响应来自第一用户的消息,附加自动化助理能够生成用于与自动化助理对接的应用编程接口(API)命令。API命令能够体现传送到自动化助理的响应数据,并且能够确认例如服务的“最终日期”,如内联网站点中所阐述的。
方法300能够从操作306进行到操作308,操作308能够包括基于响应数据来识别要执行的一个或多个候选活动并且促进完成过程的实例。在一些实现方式中,取决于从附加自动化助理接收的响应数据和/或更新的过程状态,自动化助理能够识别一个或多个候选活动以初始化以促进完成过程或根据操作310的另一过程。例如,并且根据上述场景,附加自动化助理能够确认最初在由第一用户接收的特定消息中识别的“最终日期”。基于该确认,自动化助理能够识别候选活动,诸如用诸如“谢谢您的消息,我们确认[特定消息中标识的日期]是服务的最终日期(Thank you for your message.We confirm that[dateidentified in the particular message]is the final date for the service.)”的确认消息来响应特定消息。
可替代地,当响应数据对应于不同的候选活动时,自动化助理能够根据操作310初始化其他候选活动的执行。例如,能够将响应数据和/或其他活动数据与自动化助理数据进行比较,以便确定表现出与响应数据和/或其他活动数据的阈值相似性的过程。当另一过程被识别为具有与响应数据和/或其他活动数据(例如,表征第一用户可能涉及的其他活动的数据)的阈值相似性时,自动化助理能够选择暂停和/或绕过继续正在进行的过程,而是执行该另一过程。
例如,当响应数据没有确认来自特定消息的“最终日期”时,针对处理非确认,能够存在另一过程。因此,能够从该另一过程中选择候选活动,诸如生成非确认消息。在这种情况下,操作310能够包括使自动化助理初始化所选候选活动的执行。根据前述示例,自动化助理能够用确认消息或非确认消息回复特定消息。此后,和/或与操作308同时,方法300能够进行到确定过程的实例是否完成的操作312。当过程的实例完成时,方法300能够返回到操作302。否则,方法300能够返回到操作308以识别要初始化的另一候选活动,以便使过程的实例进一步完成。
在一些实现方式中,过程能够包括提供自动化助理和附加自动化助理之间的交互的报告。报告能够允许第一用户和/或第二用户查看在自动化助理和附加自动化助理之间发生的通信联系。可替代地或附加地,当第一用户和/或第二用户在该过程期间明确确认数据和/或活动时,自动化助理能够使报告包括明确确认的数据和/或活动的指示。例如,附加自动化助理能够要求第二用户确认“最终日期”值是正确的(例如,“8月21日是服务的正确最终日期吗?(Is August 21the correct final date for the service?)”),并且第二用户能够利用用户输入确认(例如,“是,该日期是正确的(Yes,that date is correct.)”)。基于来自第二用户的这种明确确认,自动化助理能够在报告中提供第二用户确认数据和/或活动的指示(例如,以粗体字母渲染“最终日期”)。
图4图示了用于提供自动化助理的方法400,该自动化助理能够被训练以执行涉及一个或多个用户和/或各种活动的一个或多个过程。方法400能够由一个或多个应用、计算设备和/或能够提供对自动化助理的访问的任何其他装置或模块来执行。方法400能够包括确定与过程相关联的活动是否已经被初始化的操作402。如本文所讨论的,该过程能够是一系列任务,并且能够涉及由不同用户执行的各种任务。在一些实现方式中,为了建立能够由自动化助理的指导专门执行的特定过程,自动化助理能够由一个或多个用户隐式地和/或明确地训练。例如,并且在每个用户的先前许可的情况下,自动化助理能够使用一个或多个经训练的机器学习模型,以便对可能与过程相关联地发生的应用活动进行分类。这样的活动能够包括打开应用、关闭应用、选择一个或多个GUI元素、向字段提供输入、向计算设备的接口提供输入、从屏幕提取信息、收听音频、检查视频和/或能够在计算设备处和/或由计算设备执行的任何其他动作。
当可能与过程相关联的活动发生时,方法400能够包括操作404,操作404包括生成动作数据,该动作数据表征当在过程的后续实例期间执行初始活动时要由自动化助理执行的一个或多个初始动作。初始动作能够对应于可以指示用户可能在过去频繁执行的过程的初始开始的活动。例如,并且基于处理活动数据,自动化助理能够确定当特定报告由在与用户相关联的计算设备处可用的应用生成时,通常初始化特定过程。此外,自动化助理能够确定用户周期性地将来自报告的信息发送给另一用户。基于这样的发生,自动化助理能够生成动作数据以表征一个或多个命令,该一个或多个命令在被执行时使自动化助理检测报告何时被生成并将报告信息转发给该另一用户。
方法400还能够包括操作406,其涉及在用户初始化初始活动的执行之后,确定用户已经初始化了过程中的附加活动的执行。附加活动能够由用户或另一用户在计算设备或提供对自动化助理的访问的另一计算设备处被执行。在一些实现方式中,能够使用经训练的机器学习模型来处理活动数据,以便确定附加活动与在操作402处检测到的活动的相似性。当活动和附加活动满足相似性阈值时,活动和附加活动能够被确定为相同过程的一部分。例如,经训练的机器学习模型能够被用来在潜在空间中生成活动的嵌入或嵌入序列,以及在潜在空间中生成附加活动的另一嵌入。当每个嵌入之间的潜在空间的距离满足相似性阈值时,活动和附加活动能够被认为是相同过程的一部分。然而,当每个嵌入之间的潜在空间的距离不满足相似性阈值时,附加活动能够被认为是相对于活动所对应的过程的无关活动。因此,当附加活动不满足活动和/或过程的相似性阈值时,自动化助理可以不生成附加活动的任何动作数据。
方法400还能够包括操作408,其涉及生成附加动作数据,该附加动作数据表征当在过程的后续实例期间执行附加活动时要由自动化助理执行的一个或多个附加动作。在一些实现方式中,附加动作数据能够表征一个或多个命令,该一个或多个命令在被执行时使自动化助理执行在操作406处识别的附加活动。例如,附加动作数据能够表征将某些报告信息转发给另一用户的一个或多个动作。方法400还能够包括确定过程是否完成的操作410。当确定过程完成时,方法400能够进行到操作412。否则,当确定操作未完成和/或应当执行一个或多个其他动作以便完成该过程时,方法400能够返回到操作406。
操作412能够可选地包括基于动作数据和附加动作数据来生成表征过程的助理数据。在一些实现方式中,助理数据、动作数据和/或附加动作数据能够被存储为过程的语义理解、表征过程的数据类、表示过程的嵌入和/或能够与过程相关联地存储的任何其他类型的信息。然后能够处理助理数据以确定用户是否随后参与正在执行以促进完成过程的活动。
可替代地或附加地,自动化助理能够确定用户何时参与寻求修改由助理数据表征的过程的另一活动。例如,自动化助理能够使用经训练的机器学习模型来确定特定活动(例如,修改报告中的某些信息)与现有过程相关,然后确定是否修改特定过程以并入特定活动。当自动化助理确定修改特定过程时,能够更新助理数据以便识别要由自动化助理执行以便完成特定过程的一个或多个附加动作(例如,提示用户关于如何修改报告,然后根据用户如何响应自动化助理来修改报告)。
图5图示了用于使自动化助理初始化自动化助理已经被训练进行的过程的执行的方法500。方法500可由一个或多个应用、计算设备和/或能够提供对自动化助理的访问的任何其他装置或模块来执行。方法500能够包括确定与过程相关联的活动是否已经被初始化的操作502。如本文所讨论的,该过程能够是一系列任务,并且能够涉及由各种不同的应用执行的各种任务。在一些实现方式中,过程能够涉及一个或多个决策点,其能够基于在执行过程之前和/或期间可用的数据来识别。当自动化助理确定与过程相关联的活动已经被初始化时,方法500能够从操作502进行到操作504。否则,自动化助理能够继续以确定与过程相关联的活动是否已经被初始化。
操作504能够包括使自动化助理初始化过程的实例的初始动作的执行。例如,活动能够包括用户到达其车辆中的特定位置,这能够提供对自动化助理的访问。另外,自动化助理能够响应于确定该活动正在发生而初始化初始动作的执行。例如,基于第一用户执行该特定过程的先前实例,自动化助理能够代表第一用户生成消息并将该消息传送给第二用户。该消息能够询问第二用户是否接收到关于第一用户和第二用户是其一部分的组织的任何电话呼叫。尽管这能够由用户经由他们的便携式电子设备和/或从他们的车辆执行,但是自动化助理能够使该过程自动化。以这种方式,自动化助理随后能够基于与第一用户执行该过程的先前实例相关的某些场境特征(例如,第一用户到达其车辆中的工作地址)来触发该过程。
方法500还能够包括操作506,其涉及基于与一个或多个用户相关联的过程的先前实例和/或活动数据来识别要由自动化助理初始化的候选活动。例如,能够基于第一用户执行过程和/或一个或多个其他用户执行过程的一个或多个先前实例来识别候选活动。基于该过程的过去发生,自动化助理能够确定与过程的当前执行最相关的候选活动。能够生成过程的当前执行与过程的一个或多个先前执行之间的相似度,以识别具有最高相似度的特定候选活动。
在一些实现方式中,当确定是否执行所识别的候选活动时,能够考虑其他活动数据。例如,在上述场景中,当自动化助理使得执行初始动作时,作为结果,能够向自动化助理提供响应数据。响应数据能够指示第一用户没有接收到与组织相关的任何电话呼叫。在该过程的一些先前实例中,第一用户可能已经从第二用户接收到第一用户没有接收到任何相关电话呼叫的指示,然后第一用户可能已经用后续消息回复第二用户。后续消息可能已经包括请求第二用户提供第二用户何时能够参加会议的指示的内容。可替代地,在先前实例中,当第一用户从第二用户接收到指示接收到一个或多个电话呼叫的消息时,第一用户能够向第二用户提供消息,要求生成识别电话呼叫及其目的的报告。
方法500还能够包括操作508,其涉及由自动化助理确定是否初始化候选活动的执行。在一些实现方式中,自动化助理能够绕过候选活动的执行,直到过程的当前执行的某些场境特征变得明显。在一些实现方式中,为了确定是否执行候选活动,自动化助理能够采用序列模型、递归神经网络和/或适合于选择要执行的动作的任何其他神经网络或模型。可替代地或附加地,能够从过程中的先前实例和/或变化来训练所选择的模型。该决策点的场境的其他特征能够影响是否执行候选活动,并且还能够使用经训练的机器学习模型来处理表征这些特征的数据。例如,能够处理用户来上班的时间以及第二用户是否指示接收到电话呼叫,以便确定是否进行请求第二用户生成报告或设置会议的候选活动。
方法500还能够包括基于本文所讨论的处理来选择是否执行候选活动的操作508。当自动化助理确定以初始化候选活动的执行时,方法500能够进行到使自动化助理初始化候选活动的执行的操作512。否则,方法500能够进行到使自动化助理绕过初始化候选活动的执行的操作510。在一些实现方式中,基于活动数据和/或场境数据的处理,自动化助理能够暂停候选活动的执行,直到场境的一个或多个特征改变和/或一个或多个用户和/或应用的活动改变。此后,方法500能够返回到操作502。
图6图示了用于允许应用帮助自动化助理完成一个或多个用户先前已经采用该应用来执行的过程的方法600。方法600能够由一个或多个应用、计算设备和/或能够提供对自动化助理的访问的任何其他装置或模块来执行。方法600能够包括操作602,其涉及由应用接收来自经由提供对自动化助理的访问的计算设备访问应用的用户的用户输入。能够将用户输入直接提供给应用的接口,以促进用户完成过程的实例。可替代地或附加地,能够从一个或多个用户和与应用相关联的计算设备之间的交互隐含地暗示用户输入。该用户输入能够向自动化助理指示应当由自动化助理初始化特定过程。
方法600还能够包括操作604,其涉及从自动化助理接收对应用向自动化助理传送应用数据的请求。在一些实现方式中,响应于自动化助理确定用户正在访问应用以促进完成过程的实例,能够由自动化助理提供请求。例如,应用能够是浏览器应用、消息传递应用、文档编辑应用、IoT应用和/或能够经由计算设备访问的任何其他应用。
方法600还能够包括操作606,其涉及向自动化助理并且基于用户输入向自动化助理提供应用数据。在一些实现方式中,应用响应于来自用户的用户输入而访问应用数据。因此,基于来自自动化助理的请求和用户输入,应用能够使自动化助理可访问应用数据。例如,在一些实现方式中,来自自动化助理的请求能够作为API请求提供,并且提供回自动化助理的数据也能够被提供作为API命令。可替代地或附加地,应用能够基于由自动化助理提供的请求和/或其他许可来提供对自动化助理的临时访问。
方法600还能够包括操作608,其涉及基于自动化助理接收到应用数据而使自动化助理初始化动作的执行以促进完成过程的实例。在一些实现方式中,当应用是web应用时,自动化助理能够处理GUI数据,以便识别自动化助理能够如何与web应用交互以便完成该过程。例如,能够使用一个或多个经训练的机器学习模型来处理表征一个或多个屏幕截图的数据、web应用输入和/或与用户和web应用之间的交互相关联的其他信息。基于该处理,自动化助理能够识别要执行的一个或多个动作,以便实现已经使用应用完成的过程的执行,如本文所讨论的。
在一些实现方式中,方法600能够包括使自动化助理将应用数据传送到附加应用和/或另一用户的可选操作。例如,自动化助理能够从应用接收应用数据,并且为了促进完成该过程,向另一应用和/或另一用户提供对应用数据的访问。在一些实现方式中,自动化助理能够向附加自动化助理提供对应用数据和/或应用数据的派生物的访问。以这种方式,该另一用户不一定需要访问应用数据和/或查看应用数据,而是能够依赖于附加自动化助理来处理能够来自与正在执行的过程相关联的自动化助理的任何请求。
图7图示了用于使自动化助理执行特定过程的方法700,该特定过程涉及与另一用户的通信以便完成该特定过程。方法700能够由一个或多个应用、计算设备和/或能够提供对自动化助理的访问的任何其他装置或模块来执行。方法700能够包括确定与过程相关联的活动是否已经被初始化的操作702。如本文所讨论的,该过程能够是一系列任务,并且能够涉及由不同用户执行的各种任务。例如,该过程能够包括涉及确定特定产品是否可从第三方个人获得的动作。当确定与过程相关联的活动已经被初始化时,方法700能够进行到操作704。否则,自动化助理能够继续以确定与过程相关联的任何活动是否已经被初始化。
操作704能够包括基于用户参与与过程相关联的活动,使自动化助理初始化过程的实例的初始动作的执行。在一些实现方式中,过程的初始动作能够包括使得初始数据被提供给另一用户。初始数据能够对应于从用户到另一用户的通信联系,以便请求该另一用户提供或存储的产品的可用性。在用户每周向该另一用户提供同义请求的先前实例期间,自动化助理能够通过该过程得以学习。当自动化助理检测到过程的多个实例时,自动化助理能够确定通过自动执行过程而无需用户直接参与每个步骤,自动化助理能够为所涉及的用户和/或任何设备保留各种资源。
方法700还能够包括操作706,其涉及由自动化助理接收表征该另一用户对接收初始数据的响应的响应数据。在一些情况下,该另一用户能够提供使自动化助理执行第一动作的第一指示和/或使自动化助理执行第二动作的第二指示。在一些实现方式中,能够基于先前实例来训练经训练的机器学习模型,在先前实例中,该另一用户向用户在先前实例中执行的初始动作(例如,或类似动作)提供各种不同的反馈。
方法700还能够包括基于该另一用户的响应来确定是否初始化候选活动的执行的操作708。例如,在一些实现方式中,能够采用神经网络来处理来自该另一用户和/或与该另一用户相关联的另一应用的响应数据。因此,能够基于使用神经网络对响应数据的处理从各种不同的候选活动中选择候选活动。在一些实现方式中,当过程与产品的可用性相关,并且响应数据指示产品不可用时,自动化助理能够绕过执行任何候选活动并返回到操作702。然而,当处理响应数据返回应该执行候选活动的指示时,方法700能够进行到操作710。
操作710能够包括基于响应数据和/或场境数据使自动化助理初始化候选活动的执行。在一些情况下,当过程与产品可用性相关并且响应数据是来自该另一用户的产品可用的指示时,自动化助理能够执行候选活动。在这种情况下,候选活动能够是例如与可经由另一设备访问的自动化助理的另一实例通信。可替代地或附加地,候选活动能够是例如使自动化助理生成对要从该另一用户订购的产品的请求。在一些实现方式中,该过程能够在候选活动完成时暂停,并且能够在某些场境数据可用时恢复。例如,在完成候选活动之后,自动化助理能够确定某些场境数据是否可用于触发用于完成该过程的下一个或最终活动的初始化。场境数据能够包括例如来自第三方实体的由用户接收并指示产品已经到达的通信。响应于该通信,自动化助理能够认为过程完成,并且能够确定何时从一开始重新初始化过程的执行(例如,当用户开始起草用于联系该另一用户的消息并且草稿消息包含与术语“库存”相关联的内容时)。
图8A和图8B图示了使自动化助理同时执行各种不同过程的方法800,这些过程能够使自动化助理在执行过程期间与一个或多个用户、应用和/或设备交互。方法800能够由一个或多个应用、计算设备和/或能够提供对自动化助理的访问的任何其他装置或模块来执行。首先参考图8A,方法800能够包括操作802,该操作涉及由自动化助理确定与正在执行或已经执行的第一过程相关联的活动。能够基于在提供对自动化助理的访问的一个或多个计算设备处被执行第一过程的先前实例来确定活动与第一过程相关联。
例如,组织内正在执行任务的用户能够依赖于他们各自的自动化助理来帮助各种周期性任务。在执行此类任务期间,自动化助理能够在用户的先前许可的情况下访问表征正在执行以促进某些过程的各种动作的数据。当自动化助理识别能够在自动化助理的帮助下更有效地执行的过程时,自动化助理能够建立用于初始化过程的执行的触发点。作为示例,在特定应用处接收某些信息能够是触发自动化助理初始化第一过程的执行的活动。当确定已经执行和/或初始化活动时,方法800能够进行到操作804。否则,自动化助理能够继续以确定是否已经执行了与第一过程相关联的活动。
方法800还能够包括操作804,其涉及基于用户参与与过程相关联的活动,使自动化助理初始化第一过程的实例的执行。第一过程能够是例如帮助用户为用户每月进行的旅行创建行程的过程。此外,活动能够涉及用户从他们的电话访问旅行计划应用。响应于检测到该活动,自动化助理能够通过将某些日期输入到旅行计划应用的GUI中并选择在GUI处渲染的GUI元素来初始化第一过程的执行,以便使旅行计划应用为用户返回某些航班选项。
方法800还能够包括操作806,其涉及由自动化助理并且在第一过程完成之前确定用户或另一用户正在参与与第二过程相关联的附加活动。自动化助理能够通过处理自动化助理和/或组织可用的其他数据来执行该操作806。能够基于在提供对自动化助理的访问的一个或多个计算设备处被执行第二过程的其他先前实例来确定附加活动与第二过程相关联。与第二过程相关联的附加活动能够由另一用户初始化,例如,当第二用户正从他们的计算机访问会计应用时。因此,第二过程能够是用于检索估计数字以便生成报告的过程。然而,当确定尚未检测到附加活动时,方法800能够经由继续元素“A”进行到图8B的方法820中提供的操作812。
当在操作806处检测到附加活动时,方法800能够进行到操作808,其涉及基于用户或另一用户参与与第二过程相关联的附加活动,使自动化助理初始化第二过程的实例的执行。在一些实现方式中,第二过程的实例能够被初始化并使自动化助理向会计应用提交API请求,以便检索第二用户通常访问的数据,以便完成第二过程。方法800能够从操作808经由继续元素“B”进行到如图8B中提供的操作810。
操作810能够包括由自动化助理处理与第一过程的实例和第二过程的另一实例相关联的应用数据。在一些实现方式中,应用数据能够影响如何经由自动化助理执行第一过程和/或第二过程。例如,当自动化助理已经初始化第二过程时,自动化助理能够选择修改所采取的一个或多个动作以促进完成第一过程。修改一个或多个动作的决策点能够基于一个或多个用户正在执行第一过程和第二过程的先前实例,并且过程的执行影响他们的一个或多个结果。例如,基于与行程计划应用和会计应用相关联的应用数据的处理,自动化助理能够生成能够在确定如何执行第一过程和/或第二过程的后续实例时使用的嵌入。以这种方式,当行程计划应用和/或会计应用在这些过程的后续实例期间渲染信息时,自动化助理能够在处理信息时参考嵌入。基于该处理,能够识别到潜在空间中的其他嵌入的距离,以便确定如何继续执行过程。此后,方法800能够从操作810进行到操作814。
操作814能够包括基于处理应用数据来识别要执行的候选活动以促进完成第一过程或第二过程。例如,基于经由会计应用生成的信息,自动化助理能够确定执行候选活动,以便预订特定目的地的航班以及某种类型的租赁汽车。然而,当来自会计应用的信息不同时,自动化助理能够确定执行不同的候选活动以便预订不同的航班和/或不同的租赁汽车。
方法800能够从操作814进行到操作816,该操作816通过自动化助理并且基于处理应用数据来使得候选活动的执行被初始化。然而,当方法800和方法820导致执行操作812时,操作812能够包括识别要执行的候选活动以促进完成第一过程。例如,候选活动能够包括绕过预订当前时间段的行程,但是选择随后的时间段以预订行程。该决定能够基于会计应用未提供某些信息,从而绕过使自动化助理初始化第二过程的执行。
图9是示例计算机系统910的框图900。计算机系统910通常包括经由总线子系统912与多个外围设备通信的至少一个处理器914。这些外围设备可以包括存储子系统924(包括例如存储器925和文件存储子系统924)、用户接口输出设备920、用户接口输入设备922和网络接口子系统916。输入和输出设备允许用户与计算机系统910交互。网络接口子系统916提供到外部网络的接口,并且耦合到其他计算机系统中的相应接口设备。
用户接口输入设备922可以包括键盘、指示设备(诸如鼠标、轨迹球、触摸板或图形输入板)、扫描仪、并入显示器中的触摸屏、音频输入设备(诸如语音识别系统、麦克风)和/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算机系统910中或通信网络上的所有可能类型的设备和方式。
用户接口输出设备920可以包括显示子系统、打印机、传真机或诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或用于创建可见图像的一些其他机构。显示子系统还可以诸如经由音频输出设备提供非视觉显示。通常,术语“输出设备”的使用旨在包括将信息从计算机系统910输出到用户或另一机器或计算机系统的所有可能类型的设备和方式。
存储子系统924存储提供本文描述的一些或所有模块的功能的编程和数据结构。例如,存储子系统924可以包括执行方法300、方法400、方法500、方法600、方法700、方法800的所选方面和/或它们相应的操作的任何组合,和/或实现系统200、计算设备112、计算设备134、IoT设备136和/或本文讨论的任何其他应用、设备、装置和/或模块中的一个或多个的逻辑。
这些软件模块通常由处理器914单独执行或与其他处理器组合执行。在存储子系统924中使用的存储器925能够包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)930和存储固定指令的只读存储器(ROM)932。文件存储子系统926能够为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质盒。实现某些实现方式的功能的模块可以由文件存储子系统926存储在存储子系统924中,或者存储在可由处理器914访问的其他机器中。
总线子系统912提供用于使计算机系统910的各种组件和子系统按预期彼此通信的机制。尽管总线子系统912被示意性地示出为单个总线,但是总线子系统的替代实现方式可以使用多个总线。
计算机系统910能够是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器群或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,为说明一些实现方式的目的,图9中描绘的计算机系统910的描述仅旨在作为具体示例。计算机系统910的许多其他配置可能具有比图9中描绘的计算机系统更多或更少的组件。
在本文描述的系统收集关于用户(或者本文通常称为“参与者”)的个人信息或者可以利用个人信息的情况下,可以向用户提供控制程序或功能部件是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前地理位置的信息)或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。此外,某些数据可以在其被存储或使用之前以一种或多种方式被处理,使得个人可识别信息被移除。例如,可以处理用户的身份,使得不能确定用户的个人身份信息,或者可以概括获得地理位置信息的用户的地理位置(诸如到城市、邮政编码或州级别),使得不能确定用户的特定地理位置。因此,用户可以控制如何收集和/或使用关于用户的信息。
虽然本文已经描述和图示了若干实现方式,但是可以利用用于执行功能和/或获得结果和/或本文描述的一个或多个优点的各种其他装置和/或结构,并且这些变化和/或修改中的每一个被认为是在本文描述的实现方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置旨在是示例性的,并且实际参数、尺寸、材料和/或配置将取决于使用教导的一个或多个具体应用。本领域技术人员将认识到或能够使用不超过常规实验来确定本文描述的具体实现方式的许多等同物。因此,应当理解到,前述实现方式仅作为示例呈现,并且在所附权利要求及其等同物的范围内,可以以不同于具体描述和要求保护的方式来实践实现方式。本公开的实现方式涉及本文描述的每个个体的特征、系统、制品、材料、套件和/或方法。另外,如果这样的特征、系统、制品、材料、套件和/或方法不相互矛盾,则两个或更多个这样的特征、系统、制品、材料、套件和/或方法的任何组合被包括在本公开的范围内。
在一些实现方式中,由一个或多个处理器实现的方法被阐述为包括诸如由自动化助理确定过程的实例的初始活动的执行已经发生的操作。所述初始活动在提供对所述自动化助理的访问的计算设备处被执行。所述方法能够进一步包括基于所述初始活动的执行,使得所述自动化助理生成第一动作数据的操作,其中,所述第一动作数据表征当在所述过程的后续实例期间执行所述初始活动时要由所述自动化助理初始化的一个或多个初始动作。所述方法能够进一步包括在执行所述初始活动之后,确定在所述过程的实例中的最终活动的执行已经发生的操作,其中,所述最终活动在所述计算设备或提供对所述自动化助理的访问的另一计算设备处被执行。所述方法能够进一步包括基于所述最终活动的执行,使得所述自动化助理生成第二动作数据的操作,其中,所述第二动作数据表征当在所述过程的后续实例期间执行所述最终活动时要由所述自动化助理初始化的一个或多个最终动作。所述方法能够进一步包括在生成所述第一动作数据和所述第二动作数据之后:使所述自动化助理使用所述第一动作数据和所述第二动作数据来初始化所述过程的后续实例的执行的操作。
在一些实现方式中,所述过程的后续实例在用户没有直接指令所述自动化助理执行所述过程的后续实例的情况下被执行。在一些实现方式中,所述方法能够进一步包括在确定所述过程的实例的初始活动的执行已经发生之后,确定用户已经执行了相对于所述过程无关的特定活动的操作,其中,在生成所述第一动作数据和所述第二动作数据之后,并且基于确定所述特定活动是无关的,所述自动化助理执行所述过程的后续实例而不执行所述特定活动。在一些实现方式中,其中,确定所述用户已经执行了无关的特定活动包括:使用分类模型来处理应用数据,其中,基于所述用户与经由所述计算设备可访问的应用之间的先前交互来训练所述分类模型,以及其中,所述应用数据表征当所述用户正在执行所述特定活动时提供给所述应用的一个或多个输入。
在一些实现方式中,确定所述用户已经执行了无关的特定活动包括:使用分类模型来处理活动数据,其中,基于所述用户与经由所述计算设备可访问的应用之间的先前交互来训练所述分类模型,并且其中,所述活动数据表征当所述用户正在执行所述特定活动时的计算设备的一个或多个特征。在一些实现方式中,先前已经经由一个或多个用户与一个或多个计算设备之间的交互执行了所述过程的一个或多个先前实例,以及确定所述用户已经执行了无关的特定活动包括:确定所述过程的一个或多个先前实例缺少满足与所述特定活动的阈值相似性的任何活动。在一些实现方式中,确定用户已经执行了无关的特定活动包括:确定已经从过程的一个或多个先前实例中省略了无关活动。在一些实现方式中,确定用户已经执行了无关的特定活动包括:确定无关活动导致执行延迟过程的执行和/或影响另一过程的执行的动作。
在一些实现方式中,确定所述过程的实例的初始活动的执行已经发生包括:使用分类模型来处理应用数据,其中,基于用户与经由所述计算设备可访问的应用之间的先前交互来训练所述分类模型,以及其中,所述应用数据表征当所述用户正在执行所述初始活动时提供给所述应用的一个或多个输入。在一些实现方式中,所述应用数据表征在对所述应用的一个或多个输入中体现的自然语言内容。在一些实现方式中,所述应用数据表征在所述应用的图形用户界面中渲染的自然语言内容,以及所述第一动作数据表征在所述过程的后续实例期间要提供给所述应用的图形用户界面的一个或多个输入。
在一些实现方式中,提供给所述应用的图形用户界面的一个或多个输入包括对所述计算设备的触摸显示接口的手势输入。在一些实现方式中,确定所述过程的实例的初始活动的执行已经发生包括:使用分类模型来处理应用数据,其中,基于用户与一个或多个应用之间的先前交互来训练所述分类模型,以及其中,所述一个或多个初始动作包括从所述一个或多个应用中的第一应用检索动态数据,以及将所述动态数据输入到所述一个或多个应用中的第二应用的接口。在一些实现方式中,确定所述过程的实例的最终活动的执行已经发生包括:使用分类模型来处理应用数据,其中,基于所述用户与另一用户之间经由应用的先前交互来训练所述分类模型,以及其中,所述应用数据表征所述用户经由所述应用向所述另一用户提供数据。在一些实现方式中,所述数据与在所述先前交互期间由所述用户先前提供给所述另一用户的其他数据不同。
在一些实现方式中,由一个或多个处理器实现的方法被阐述为包括诸如由自动化助理确定用户参与与过程相关联的活动的操作,其中,所述活动包括与计算设备交互而不直接与所述自动化助理交互。所述方法能够进一步包括基于所述用户参与与所述过程相关联的活动,使得所述自动化助理初始化所述过程的实例的初始动作的执行的操作,其中,所述初始动作的完成使得初始数据对于所述自动化助理可访问。所述方法能够进一步包括基于所述初始数据识别要由所述自动化助理初始化的候选活动的操作,其中,基于所述过程的涉及所述候选活动的执行的先前实例来识别所述候选活动。所述方法能够进一步包括由所述自动化助理确定是否初始化所述候选活动的执行的操作,其中,所述自动化助理基于所述初始数据和与所述用户的活动相关联的活动数据来确定是否初始化所述候选活动的执行。所述方法能够进一步包括当所述自动化助理确定以初始化所述候选活动的执行时:使得所述自动化助理初始化所述候选活动的执行的操作。
在一些实现方式中,所述方法能够进一步包括当所述自动化助理确定绕过初始化所述候选活动的执行时:使得所述自动化助理初始化另一候选活动的执行的操作。在一些实现方式中,所述候选活动包括:使得所述计算设备的接口为所述用户提供提示以确认所述自动化助理被允许初始化附加动作的执行,以促进完成所述过程。在一些实现方式中,所述候选活动包括:使得所述自动化助理在不向用户提供确认允许自动化助理初始化附加动作的执行的情况下,初始化附加动作的执行。在一些实现方式中,使得所述自动化助理初始化所述候选活动的执行包括:使得所述自动化助理将初始数据传送到另一用户。
在一些实现方式中,确定是否初始化所述候选活动的执行包括:使用经训练的机器学习模型来处理所述活动数据,所述经训练的机器学习模型是使用基于涉及所述候选活动的执行的过程的先前实例而生成的训练数据来训练的。在一些实现方式中,所述初始活动包括由所述用户访问来自另一用户的消息,以及其中,所述过程的实例的初始动作包括向所述另一用户提供响应消息。在一些实现方式中,识别所述候选活动包括:使用一个或多个经训练的机器学习模型处理初始数据,所述经训练的机器学习模型基于所述另一用户向所述用户提供信息的过程的先前执行来训练。
在一些实现方式中,由一个或多个处理器实施的方法被阐述为包括诸如由应用接收来自经由提供对自动化助理的访问的计算设备访问应用的用户的用户输入的操作,其中,用户输入被直接提供给应用的接口以促进用户完成过程的实例。该方法还能够包括从自动化助理接收对应用向自动化助理传送应用数据的请求的操作,其中,该请求是由自动化助理响应于自动化助理确定用户正在访问应用以促进完成过程的实例而提供的。该方法还能够包括基于请求向自动化助理提供应用数据的操作,其中应用数据由应用响应于来自用户的用户输入而访问。该方法还能够包括以下操作:基于自动化助理接收到应用数据,使得自动化助理初始化动作的执行以促进完成过程的实例。
在一些实现方式中,使自动化助理初始化动作的执行包括:使自动化助理将应用数据传送到与该应用不同的附加应用和自动化助理。在一些实现方式中,使自动化助理初始化动作的执行包括:使自动化助理向与用户不同的另一用户传送消息,其中该消息包括基于由应用提供的应用数据的自然语言内容。在一些实现方式中,该方法还能够包括从该另一用户接收响应于由自动化助理提供的消息的附加消息,其中附加消息基于:该另一用户与自动化助理的另一实例之间的交互,或该另一用户与不同的自动化助理之间的另一交互。
在一些实现方式中,该方法还能够包括基于附加消息使自动化助理初始化附加动作的执行以促进完成过程的实例的操作,其中自动化助理基于用户在过程的一个或多个先前实例期间与该另一用户交互来识别要执行的附加动作。在一些实现方式中,使自动化助理初始化附加动作的执行包括:使自动化助理基于其他自然语言内容与用户通信。
在一些实现方式中,由一个或多个处理器实施的方法被阐述为包括诸如由自动化助理确定用户正在参与与过程相关联的活动的操作,其中活动包括与计算设备交互而不直接与自动化助理交互。该方法还能够包括基于用户参与与过程相关联的活动,使得自动化助理初始化过程的实例的初始动作的执行,其中初始动作的执行使得初始数据可用于另一用户。该方法还能够包括由自动化助理接收表征该另一用户对接收初始数据的响应的响应数据的操作,其中响应数据基于:该另一用户与自动化助理的另一实例之间的交互,或该另一用户与不同的自动化助理之间的另一交互。该方法还能够包括基于响应数据来确定是否初始化候选活动的执行的操作,其中自动化助理还基于与用户的活动相关联的活动数据来初始化候选活动的执行。该方法还能够包括基于响应数据和活动数据使自动化助理初始化候选活动的执行的操作。
在一些实现方式中,确定是否初始化候选活动的执行包括:基于涉及候选活动的过程的先前实例来识别候选活动。在一些实现方式中,候选活动包括:使计算设备的接口为用户提供提示以确认自动化助理被允许初始化候选活动的执行以促进完成过程。在一些实现方式中,候选活动包括:使自动化助理初始化附加动作的执行,而不向用户提供提示以确认允许自动化助理初始化动作的执行以促进完成过程。在一些实现方式中,确定是否初始化候选活动的执行包括:使用经训练的机器学习模型来处理活动数据,该经训练的机器学习模型是使用基于涉及候选活动的过程的先前实例生成的训练数据来训练的。
在一些实现方式中,使自动化助理初始化候选活动的执行包括:使自动化助理向与该用户和该另一用户不同的另外一个用户传送附加数据。在一些实现方式中,初始活动包括由用户从该另一用户接收包括初始数据的消息,并且过程的实例的初始动作包括经由消息传递应用向该另一用户提供另一消息。
在一些实现方式中,由一个或多个处理器实施的方法被阐述为包括诸如由自动化助理确定用户正在参与与第一过程相关联的活动的操作,其中基于在提供对自动化助理的访问的一个或多个计算设备处被执行第一过程的先前实例,确定活动与第一过程相关联。该方法还能够包括基于用户正在参与与过程相关联的活动而使自动化助理初始化第一过程的实例的执行的操作。该方法还能够包括由自动化助理在第一过程完成之前确定用户或另一用户正在参与与第二过程相关联的附加活动的操作,其中基于在提供对自动化助理的访问的一个或多个计算设备处被执行第二过程的其他先前实例,确定附加活动与第二过程相关联。该方法还能够包括以下操作:基于用户或另一用户正在参与与第二过程相关联的附加活动,使得自动化助理在完成第一过程的实例之前初始化第二过程的其他实例的执行。该方法还能够包括由自动化助理处理与第一过程的实例和第二过程的另一实例相关联的应用数据的操作。该方法还能够包括以下操作:基于处理应用数据来识别将被执行以促进完成第一过程或第二过程的候选活动。该方法还能够包括由自动化助理基于处理应用数据来使得候选活动的执行被初始化的操作。
在一些实现方式中,使用一个或多个经训练的机器学习模型来处理应用数据,并且基于完成第一过程和第二过程的先前实例来训练一个或多个经训练的机器学习模型。在一些实现方式中,应用数据由与自动化助理分开的一个或多个应用提供,并且活动和附加活动包括与一个或多个应用交互。在一些实现方式中,候选活动包括:使一个或多个计算设备的接口为用户或另一用户提供提示以确认自动化助理被允许初始化动作的执行以促进完成第一过程或第二过程。
在一些实现方式中,候选活动包括:使自动化助理初始化动作的执行,而不向用户或另一用户提供提示以确认允许自动化助理初始化动作的执行以促进完成第一过程或第二过程。在一些实现方式中,该方法能够包括以下操作:在使候选活动的执行被初始化之前:存储第一过程的实例的第一状态和第二过程的另一实例的第二状态。在一些实现方式中,该方法还能够包括由自动化助理将第一过程的实例的第一状态和第二过程的第二状态传送到:自动化助理的另一实例或不同的自动化助理。
在一些实现方式中,该方法还能够包括从自动化助理的该另一实例或从该不同的自动化助理接收应用数据。在一些实现方式中,应用数据表征基于以下各项的信息:另一用户与自动化助理的该另一实例之间的交互,或该另一用户与该不同的自动化助理之间的另一交互。在一些实现方式中,活动包括由该用户从该另一用户接收消息,并且附加活动包括由该用户或其他用户从该另一用户接收另一消息。
在一些实现方式中,由一个或多个处理器实施的方法被阐述为包括诸如由自动化助理确定与过程相关联的活动已经被初始化的操作,其中活动在提供对自动化助理的访问的计算设备处被执行。该方法还能够包括以下操作:基于与过程相关联的活动被初始化,使得自动化助理初始化过程的实例的初始动作的执行,其中初始动作的执行使得初始数据被提供给附加自动化助理,并且其中附加自动化助理是自动化助理的另一实例或者是不同的自动化助理。该方法还能够包括由自动化助理接收响应数据的操作,该响应数据表征另一自动化助理或附加自动化助理对初始数据的响应。该方法还能够包括基于响应数据来确定是否初始化候选活动的执行的操作,其中自动化助理还基于与活动相关联的活动数据来初始化候选活动的执行。该方法还能够包括基于响应数据和活动数据使自动化助理初始化候选活动的执行的操作。
在一些实现方式中,确定是否初始化候选活动的执行包括:基于涉及候选活动的过程的先前实例来识别候选活动。在一些实现方式中,候选活动包括:使计算设备的接口为用户提供提示以确认自动化助理被允许初始化候选活动的执行以促进完成过程。在一些实现方式中,候选活动包括:使自动化助理初始化附加动作的执行,而不向用户提供提示以确认允许自动化助理初始化附加动作的执行以促进完成过程。
在一些实现方式中,确定是否初始化候选活动的执行包括:使用经训练的机器学习模型来处理活动数据,该经训练的机器学习模型是使用基于涉及候选活动的过程的先前实例生成的训练数据来训练的。在一些实现方式中,使自动化助理初始化候选活动的执行包括:使自动化助理经由附加自动化助理向另一用户传送附加数据。在一些实现方式中,初始活动包括由自动化助理的用户接收包括初始数据的消息,并且过程的实例的初始动作包括经由自动化助理向该另一用户提供另一消息。
在一些实现方式中,使自动化助理初始化过程的实例的初始动作的执行包括:生成应用编程接口(API)命令,该API命令在被执行时使初始数据被从自动化助理传送到附加自动化助理。在一些实现方式中,该方法还能够包括在使自动化助理初始化候选活动的执行之后:生成表征在自动化助理和附加自动化助理之间的一个或多个交互的交互数据;以及使自动化助理在计算设备或另一计算设备的接口处为用户渲染交互数据。在一些实现方式中,该方法还能够包括:在使自动化助理初始化候选活动的执行之后:生成表征在候选活动的执行期间在自动化助理和附加自动化助理之间传送的信息的交互数据;以及使自动化助理在计算设备或另一计算设备的接口处为用户渲染交互数据。

Claims (22)

1.一种由一个或多个处理器实现的方法,所述方法包括:
由自动化助理确定过程的实例的初始活动的执行已经发生,
其中,所述初始活动在提供对所述自动化助理的访问的计算设备处被执行;
基于所述初始活动的执行,使得所述自动化助理生成第一动作数据,
其中,所述第一动作数据表征当在所述过程的后续实例期间执行所述初始活动时要由所述自动化助理初始化的一个或多个初始动作;
在执行所述初始活动之后,确定在所述过程的实例中的最终活动的执行已经发生,
其中,所述最终活动在所述计算设备或提供对所述自动化助理的访问的另一计算设备处被执行;
基于所述最终活动的执行,使得所述自动化助理生成第二动作数据,
其中,所述第二动作数据表征当在所述过程的后续实例期间执行所述最终活动时要由所述自动化助理初始化的一个或多个最终动作;以及
在生成所述第一动作数据和所述第二动作数据之后:
使所述自动化助理使用所述第一动作数据和所述第二动作数据来初始化所述过程的后续实例的执行。
2.根据权利要求1所述的方法,其中,所述过程的后续实例在用户没有直接指令所述自动化助理执行所述过程的后续实例的情况下被执行。
3.根据权利要求1或权利要求2所述的方法,进一步包括:
在确定所述过程的实例的初始活动的执行已经发生之后,确定用户已经执行了相对于所述过程无关的特定活动,
其中,在生成所述第一动作数据和所述第二动作数据之后,并且基于确定所述特定活动是无关的,所述自动化助理执行所述过程的后续实例而不执行所述特定活动。
4.根据权利要求3所述的方法,其中,确定所述用户已经执行了无关的所述特定活动包括:
使用分类模型来处理应用数据,
其中,所述分类模型基于所述用户与经由所述计算设备可访问的应用之间的先前交互来训练,以及
其中,所述应用数据表征当所述用户正在执行所述特定活动时提供给所述应用的一个或多个输入。
5.根据权利要求3所述的方法,其中,确定所述用户已经执行了无关的所述特定活动包括:
使用分类模型来处理活动数据,
其中,所述分类模型基于所述用户与经由所述计算设备可访问的应用之间的先前交互来训练,并且
其中,所述活动数据表征当所述用户正在执行所述特定活动时的所述计算设备的一个或多个特征。
6.根据权利要求3至5中的任一项所述的方法,
其中,先前已经经由一个或多个用户与一个或多个计算设备之间的交互执行了所述过程的一个或多个先前实例,以及
其中,确定所述用户已经执行了无关的所述特定活动包括:
确定所述过程的一个或多个先前实例缺少满足与所述特定活动的阈值相似性的任何活动。
7.根据任一前述权利要求所述的方法,其中,确定所述过程的实例的初始活动的执行已经发生包括:
使用分类模型来处理应用数据,
其中,所述分类模型基于用户与经由所述计算设备可访问的应用之间的先前交互来训练,以及
其中,所述应用数据表征当所述用户正在执行所述初始活动时提供给所述应用的一个或多个输入。
8.根据权利要求7所述的方法,其中,所述应用数据表征在对所述应用的所述一个或多个输入中体现的自然语言内容。
9.根据权利要求7所述的方法,
其中,所述应用数据表征在所述应用的图形用户界面中渲染的自然语言内容,以及
其中,所述第一动作数据表征在所述过程的后续实例期间要提供给所述应用的图形用户界面的一个或多个输入。
10.根据权利要求9所述的方法,其中,提供给所述应用的图形用户界面的所述一个或多个输入包括对所述计算设备的触摸显示接口的手势输入。
11.根据任一前述权利要求所述的方法,其中,确定所述过程的实例的初始活动的执行已经发生包括:
使用分类模型来处理应用数据,
其中,所述分类模型基于用户与一个或多个应用之间的先前交互来训练,以及
其中,所述一个或多个初始动作包括从所述一个或多个应用中的第一应用检索动态数据,以及将所述动态数据输入到所述一个或多个应用中的第二应用的接口。
12.根据权利要求1所述的方法,其中,确定所述过程的所述实例的所述最终活动的执行已经发生包括:
使用分类模型来处理应用数据,
其中,所述分类模型基于所述用户与另一用户之间经由应用的先前交互来训练,以及
其中,所述应用数据表征所述用户经由所述应用向所述另一用户提供数据。
13.根据权利要求12所述的方法,其中,所述数据与在所述先前交互期间由所述用户先前提供给所述另一用户的其他数据不同。
14.一种由一个或多个处理器实现的方法,所述方法包括:
由自动化助理确定用户参与与过程相关联的活动,
其中,所述活动包括与计算设备交互而不直接与所述自动化助理交互;
基于所述用户参与与所述过程相关联的所述活动,使得所述自动化助理初始化所述过程的实例的初始动作的执行,
其中,所述初始动作的完成使得初始数据对于所述自动化助理可访问;
基于所述初始数据识别要由所述自动化助理初始化的候选活动,
其中,所述候选活动基于所述过程的涉及所述候选活动的执行的先前实例来识别;
由所述自动化助理确定是否初始化所述候选活动的执行,
其中,所述自动化助理基于所述初始数据和与所述用户的活动相关联的活动数据来确定是否初始化所述候选活动的执行;以及
当所述自动化助理确定初始化所述候选活动的执行时:
使得所述自动化助理初始化所述候选活动的执行。
15.根据权利要求14所述的方法,进一步包括:
当所述自动化助理确定绕过初始化所述候选活动的执行时:
使得所述自动化助理初始化另一候选活动的执行。
16.根据权利要求14或权利要求15所述的方法,其中,所述候选活动包括:
使得所述计算设备的接口为所述用户提供提示以:
确认所述自动化助理被允许初始化附加动作的执行,以促进完成所述过程,或者
提供与所述附加动作的参数相对应的输入,以促进完成所述过程。
17.根据权利要求14或权利要求15所述的方法,其中,所述候选活动包括:
使得所述自动化助理初始化附加动作的执行,而不向所述用户提供提示以确认所述自动化助理被允许初始化所述附加动作的执行。
18.根据权利要求14至17中的任一项所述的方法,其中,使得所述自动化助理初始化所述候选活动的执行包括:
使得所述自动化助理将所述初始数据传送给另一用户。
19.根据权利要求18所述的方法,其中,确定是否初始化所述候选活动的执行包括:
使用经训练的机器学习模型来处理所述活动数据,所述经训练的机器学习模型是使用基于涉及所述候选活动的执行的过程的先前实例而生成的训练数据来训练的。
20.根据权利要求14至19中的任一项所述的方法,
其中,所述初始活动包括由所述用户访问来自另一用户的消息,以及
其中,所述过程的实例的初始动作或最终动作包括向所述另一用户提供响应消息。
21.一种系统,包括:
至少一个处理器;以及
存储指令的存储器,所述指令在被执行时使所述至少一个处理器执行根据权利要求1至20中的任一项所述的操作。
22.一种存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使至少一个处理器执行根据权利要求1至20中的任一项所述的操作。
CN202180063886.2A 2020-09-17 2021-09-15 自动化助理训练和/或用户间过程的执行 Pending CN116194880A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063079811P 2020-09-17 2020-09-17
US63/079,811 2020-09-17
US17/028,262 US11748660B2 (en) 2020-09-17 2020-09-22 Automated assistant training and/or execution of inter-user procedures
US17/028,262 2020-09-22
PCT/US2021/050388 WO2022060784A1 (en) 2020-09-17 2021-09-15 Automated assistant training and/or execution of inter-user procedures

Publications (1)

Publication Number Publication Date
CN116194880A true CN116194880A (zh) 2023-05-30

Family

ID=80626778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180063886.2A Pending CN116194880A (zh) 2020-09-17 2021-09-15 自动化助理训练和/或用户间过程的执行

Country Status (4)

Country Link
US (2) US11748660B2 (zh)
EP (1) EP4007953A1 (zh)
CN (1) CN116194880A (zh)
WO (1) WO2022060784A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11558546B2 (en) 2020-11-24 2023-01-17 Google Llc Conditional camera control via automated assistant commands
WO2024015114A1 (en) * 2022-07-12 2024-01-18 Google Llc Assistant adaptation of graphical user interface to guide interaction with user in fulfilling user request

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040143628A1 (en) * 2001-04-20 2004-07-22 Bradford Jonathan D. Systems and methods that discover and configure non-TCP/IP networks and devices residing therein
US7483692B2 (en) * 2004-12-28 2009-01-27 Sony Ericsson Mobile Communications Ab System and method of predicting user input to a mobile terminal
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
EP3165012A1 (en) * 2014-07-03 2017-05-10 Nuance Communications, Inc. System and method for suggesting actions based upon incoming messages
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
KR20180060328A (ko) * 2016-11-28 2018-06-07 삼성전자주식회사 멀티 모달 입력을 처리하는 전자 장치, 멀티 모달 입력을 처리하는 방법 및 멀티 모달 입력을 처리하는 서버
US11237696B2 (en) 2016-12-19 2022-02-01 Google Llc Smart assist for repeated actions
US11100384B2 (en) * 2017-02-14 2021-08-24 Microsoft Technology Licensing, Llc Intelligent device user interactions
US10269351B2 (en) * 2017-05-16 2019-04-23 Google Llc Systems, methods, and apparatuses for resuming dialog sessions via automated assistant
WO2019040591A1 (en) * 2017-08-22 2019-02-28 Google Llc FACILITATION OF USER DEVICE ACTIONS AND / OR AGENT DEVICE DURING A COMMUNICATION SESSION
US10366291B2 (en) * 2017-09-09 2019-07-30 Google Llc Systems, methods, and apparatus for providing image shortcuts for an assistant application
US11132612B2 (en) * 2017-09-30 2021-09-28 Oracle International Corporation Event recommendation system
US10453456B2 (en) * 2017-10-03 2019-10-22 Google Llc Tailoring an interactive dialog application based on creator provided content
US10431219B2 (en) * 2017-10-03 2019-10-01 Google Llc User-programmable automated assistant
US10740568B2 (en) * 2018-01-24 2020-08-11 Servicenow, Inc. Contextual communication and service interface
CN112867985A (zh) * 2018-05-07 2021-05-28 谷歌有限责任公司 确定在中断第二会话的中止后是否自动恢复第一自动助理会话
JP7012883B2 (ja) 2018-05-07 2022-01-28 グーグル エルエルシー 自動化されたアシスタントルーチン内に含めるための自動化されたアシスタントアクションを推奨すること
WO2020040753A1 (en) * 2018-08-21 2020-02-27 Google Llc Automated assistant invocation of second interactive module using supplemental data provided by first interactive module
US10878805B2 (en) * 2018-12-06 2020-12-29 Microsoft Technology Licensing, Llc Expediting interaction with a digital assistant by predicting user responses
DK180129B1 (en) * 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
WO2021173127A1 (en) * 2020-02-26 2021-09-02 Google Llc Pre-emptively limiting responsiveness of various assistant devices in an environment using an inaudible tone or other rendered output
WO2022047695A1 (en) * 2020-09-03 2022-03-10 Citrix Systems, Inc. Next action recommendation system
US11924149B2 (en) * 2020-10-15 2024-03-05 Google Llc Composition of complex content via user interaction with an automated assistant

Also Published As

Publication number Publication date
US20230409973A1 (en) 2023-12-21
WO2022060784A1 (en) 2022-03-24
EP4007953A1 (en) 2022-06-08
US20220083908A1 (en) 2022-03-17
US11748660B2 (en) 2023-09-05

Similar Documents

Publication Publication Date Title
US10685187B2 (en) Providing access to user-controlled resources by automated assistants
CN110753908B (zh) 在通信会话期间促进用户设备和/或代理设备动作
CN109074292B (zh) 适当的代理的自动化助理调用
US20230409973A1 (en) Automated assistant training and/or execution of inter-user procedures
US11823676B2 (en) Systems, methods, and apparatuses for managing incomplete automated assistant actions
US20210335356A1 (en) Dynamically delaying execution of automated assistant actions and/or background application requests
US20230267922A1 (en) Meeting speech biasing and/or document generation based on meeting content and/or related data
US20240087568A1 (en) Automated assistant for facilitating communications through dissimilar messaging features of different applications
US11885632B2 (en) Conditional preparation for automated assistant input from a user in a vehicle
US20240172304A1 (en) Connection sequencing involving automated assistants and peripheral devices
WO2023158460A1 (en) Meeting speech biasing and/or document generation based on meeting content and/or related data
WO2024112346A1 (en) Connection sequencing involving automated assistants and peripheral devices
CN115668140A (zh) 当使用默认建议模型不合理时使用临时机器学习模型生成能够选择的建议
CN116802597A (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