CN110720090B - 通过个体命令调用自动化助理来执行多个任务 - Google Patents
通过个体命令调用自动化助理来执行多个任务 Download PDFInfo
- Publication number
- CN110720090B CN110720090B CN201880038386.1A CN201880038386A CN110720090B CN 110720090 B CN110720090 B CN 110720090B CN 201880038386 A CN201880038386 A CN 201880038386A CN 110720090 B CN110720090 B CN 110720090B
- Authority
- CN
- China
- Prior art keywords
- automated assistant
- user
- agent
- proxy
- module
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 60
- 230000004044 response Effects 0.000 claims description 58
- 230000003993 interaction Effects 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 230000015654 memory Effects 0.000 claims description 6
- 230000002123 temporal effect Effects 0.000 claims 5
- 239000003795 chemical substances by application Substances 0.000 description 169
- 239000004615 ingredient Substances 0.000 description 22
- 238000010586 diagram Methods 0.000 description 7
- 235000013312 flour Nutrition 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 235000013599 spices Nutrition 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 235000017060 Arachis glabrata Nutrition 0.000 description 1
- 244000105624 Arachis hypogaea Species 0.000 description 1
- 235000010777 Arachis hypogaea Nutrition 0.000 description 1
- 235000018262 Arachis monticola Nutrition 0.000 description 1
- 235000010676 Ocimum basilicum Nutrition 0.000 description 1
- 240000007926 Ocimum gratissimum Species 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000796 flavoring agent Substances 0.000 description 1
- 235000019634 flavors Nutrition 0.000 description 1
- 235000012041 food component Nutrition 0.000 description 1
- 239000005417 food ingredient Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 235000020232 peanut Nutrition 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000000843 powder Substances 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 235000013555 soy sauce Nutrition 0.000 description 1
- 235000021419 vinegar Nutrition 0.000 description 1
- 239000000052 vinegar Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/02—Reservations, e.g. for tickets, services or events
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
- G06F9/4862—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/16—Sound input; Sound output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Tourism & Hospitality (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- Computational Linguistics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Acoustics & Sound (AREA)
- Development Economics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
用于接洽自动化助理以通过多任务命令来执行多个任务的方法、装置、系统和计算机可读介质。所述多任务命令可以是当由用户提供时使所述自动化助理调用多个不同的代理模块以用于执行任务来完成所述多任务命令的命令。在所述多任务命令的执行期间,用户可提供可由一个或多个代理模块使用来执行其相应任务的输入。此外,来自一个或多个代理模块的反馈可由所述自动化助理使用来动态地更改任务,以便更有效地使用在完成所述多任务命令期间可用的资源。
Description
背景技术
自动化助理(也称为“个人助理模块”、“移动助理”或“聊天机器人”)可以由用户经由各种计算设备(诸如智能电话、平板计算机、可穿戴设备、汽车系统、独立个人助理设备等)与之交互。自动化助理接收来自用户的输入(例如,键入和/或说出的自然语言输入)并且用响应内容(例如,可视和/或可听的自然语言输出)进行响应。
自动化助理可以通过与各种本地和/或第三方代理的交互来提供各种功能性。为让用户利用自动化助理来执行特定功能,时常用户必须调用自动化助理(例如,通过特定口头短语和/或特定硬件输入),然后提供与该特定功能相关联的多个调用短语。在一些情况下,可能要求大量对话轮次以便用户最终使得自动化助理执行特定任务。这可能例如在用来接收用户输入的设备与本地或第三方代理的一个或多个分离的计算系统之间导致不希望有的大量网络业务。因为自动化助理必须处理来自用户的每个输入并对其做出响应,所以这还可导致用户的时间浪费以及对用于自动化助理的计算资源的低效使用。
发明内容
本公开一般地涉及用于接洽自动化助理以通过单个命令来执行多个任务的方法、装置和计算机可读介质(暂时性的和非暂时性的)。自动化助理可以是在客户端设备和/或服务器设备处操作并且具有解析来自用户的输入以确定用户正在请求执行什么动作的能力的应用。在一些实施方式中,自动化助理可将某些输入解释为与多个不同的任务相关联。多个不同的任务中的每个任务可与可完成任务并且/或者提供用于完成分离的任务的信息的应用或代理相关联。取决于来自用户的输入,可串行地、并行地或其组合执行任务。通常,通过经由较少的命令促进多个任务的执行,本文描述的实施方式与先前的系统相比较减少对自动化助理的用户输入的数目,并且在这样做时,减少例如至少在提供自动化助理时涉及的客户端设备和数据网络的资源上的负担。这至少是因为客户端设备不需要处理和先前一样多的用户输入,这可以允许客户端设备在实现助理时除了使用更少的计算资源之外还花费更少的电池电力。对于数据网络,由于在客户端设备处接收较少的命令,所以可以通过客户端设备与在促进任务的执行时涉及的其它计算系统之间的网络通信的较少实例化来减少网络负载。
在一些情况下,用户可请求自动化助理控制其家中的各种装置以便在用户到达之前使家准备好。用户可以通过例如对助理说出诸如“助理,请使我的家准备好”这样的输入来做这个。自动化助理可经由客户端设备的自动化助理接口接收输入并解析该输入以确定应该对输入做出响应的代理。使用户的家准备好的具体输入可使自动化助理并行地查询家用气候控制代理和天气代理。天气代理可例如由自动化助理使用来确定接下来若干小时的当前和/或预报天气。家用气候控制代理可由自动化助理使用来使用家内部的智能恒温器来识别例如家内部的当前温度。自动化助理可以可选地使用房屋内部的当前天气和温度来选择如何控制家的智能气候控制系统(例如,考虑到当前或预报天气,基于家的温度是否会保持在所需温度范围内),助理可以使气候控制系统将热或冷空气输入到家中以便确保当用户到达家时家的温度在所述范围内。
在一些情况下,用户可通过说出诸如例如“助理,请计划约会夜”这样的输入来请求自动化助理为用户及其重要他人计划约会夜。自动化助理可经由客户端设备的自动化助理接口接收输入并解析该输入以确定应该对该输入做出响应的代理。计划约会夜的具体输入可使自动化助理并行地查询日历代理和餐馆选择代理。日历代理可由自动化助理使用来确定用户空闲有约会夜的可用夜数。餐馆选择代理可由自动化助理使用来识别适合于约会夜的餐馆。自动化助理可以可选地使用来自日历代理的可用夜来选择餐馆(例如,基于在可用夜时开放的餐馆)。
例如,作为对餐馆选择代理的请求的一部分,自动化助理可提供定义可用夜的值以从而滤出可能无法在可用夜期间招待用户的特定餐馆。自动化助理然后可识别可被利用来针对可用夜对于所选餐馆中的一个进行预约的预约代理。以这种方式,自动化助理正在使用并行任务(例如,接洽日历代理和餐馆选择代理参与)以获得进一步信息以供由分离的代理模块(例如,预约代理)使用来执行预订餐馆的后续任务,从而最终完成计划约会夜的原始命令。在一些实施方式中,可串行地执行用于执行计划约会夜的命令的子任务,从而允许每个代理有机会串行地从前一个代理接收信息。
在一些实施方式中,自动化助理可接收与多个不同的子任务相关联的输入,并且在多个不同的子任务的执行期间向用户查询反馈。例如,用户可通过说出诸如“助理,请计划露营旅行”这样的输入来请求自动化助理为用户计划露营旅行。自动化助理可解析来自用户的输入并确定应该对该输入做出响应的代理。例如,计划露营旅行可至少涉及识别空闲周末、预订露营地并且获得露营装备的子任务。识别空闲周末并预订露营地的子任务可涉及自动化助理调用日历代理和与旅行网站相关联的旅行代理。来自日历代理的数据可由自动化助理使用来确定用于预订露营地的有空周末。与旅行网站相关联的旅行代理可用于识别可针对通过日历代理识别的有空周末预订的露营场所。响应于适合的露营场所被识别,自动化助理可识别与所识别的露营场所相关联的露营场所代理。自动化助理可经由来自露营场所代理的输出确定露营场所提供露营装备租赁。自动化助理可将来自露营场所代理的输出与关联于计划露营旅行的初始请求的子任务相比较。如果基于比较,在来自露营场所代理的输出与至少一个子任务之间存在相关性,则自动化助理为用户生成查询。例如,查询可以是要提供来自用户的反馈的请求。
对反馈的请求可帮助自动化助理完成既预订露营地又获得露营装备的子任务。例如,自动化助理可使用诸如“好的,你愿意租用露营装备吗?”这样的输出来通过客户端设备的自动化助理接口请求反馈。如果用户选择租用露营装备,则自动化助理可使用日历代理的数据以及要租借露营装备的请求来继续通过露营场所代理预订露营地。以这种方式,自动化助理能够使用来自用户的反馈和来自第一子任务的数据两者来完成第二子任务。替换地,露营场所代理可经由自动化助理接口请求来自用户的反馈,其中自动化助理作为中介,所述中介例如为对反馈的请求提供GUI或者提供与对反馈的请求相对应的音频。如果无法租用露营装备,则露营场所代理可将反馈提供回给自动化助理,并且自动化助理可查询日历代理以便识别另一空闲周末来预订露营地。
响应于接收到来自用户的反馈,自动化助理可与露营场所代理交互以在所标识的其它空闲周末预订露营地。此后,自动化助理可向用户提供诸如例如“好的,我完成预订你的露营旅行”这样的输出。如果用户选择不租用露营装备,则自动化助理可能使用日历代理的数据来完成露营地的预订并且识别用于帮助用户购买露营装备的购物代理。如果用户通过购物代理来购买露营装备,则自动化助理可认为预订露营地并获得露营装备的子任务完成了,并且向用户指示露营旅行已被预订。以这种方式,由自动化助理执行的多个子任务可能受到在子任务的执行期间来自用户的输入动态地影响。
自动化助理可根据各种不同的方法来确定来自用户的初始输入与多个不同的子任务相关联。例如,用户可通过用于控制自动化助理的图形用户界面(GUI)来按多个子任务而配置命令。例如,如果用户想自动化助理知道用户通过“使我的家准备好”或“计划约会夜”意指什么,则用户可打开自动化助理GUI并且从许多子任务中选择命令“使我的家准备好”或“计划约会夜”所涉及的子任务。替换地,用户可参与自动化助理的人机对话以便定义应该如何执行命令。例如,用户可提供输入“助理,当我说‘计划约会夜’时我想要你做...”并且此后描述计划约会夜所涉及的子任务(例如,识别有空夜、预订餐馆,并且发送邀请)。
在一些实施方式中,自动化助理可关于配置多个子任务命令自动地向用户查询。换句话说,自动化助理可询问用户他们是否愿意将来响应于单个命令而执行作为用户与自动化助理之间的先前交互的结果而执行的动作。先前交互可由自动化助理根据与先前交互相关联的一个或多个常见条件来识别和分组。在一些实施方式中,自动化助理可基于交互在彼此的阈值时间段内(例如,第一交互、第二交互和第三交互中的每一个均在少于彼此的阈值时间段内被初始化)来确定交互之间的相关性。在其它实施方式中,自动化助理可基于交互在阈值会话时间段内完成(例如,第一交互、第二交互和第三交互全部都在少于阈值会话时间段内完成)来确定交互之间的相关性。例如,在星期五下班后,用户可查询其车辆中的自动化助理接口以了解周末发生的事情。具体地,用户可问一系列查询,诸如例如“助理,能请你检查我的社交网络并告诉我我的朋友这个周末在做什么...你能检查城市网站并告诉我今晚怎么回事…你能检查我的联网应用并告诉我这个周末是否有人聚会?”
在从用户接收到一系列查询并且识别每个查询例如和周末事件有关时,自动化助理可询问用户他们是否愿意使一系列查询与单个命令相关联。例如,在用户已提供一系列查询之后,自动化助理可提供响应输出,诸如“将来,你是否响应于诸如‘助理,这个周末跟我聊聊’这样的单个命令而想要此信息”。如果用户选择使自动化助理创建单个命令,则自动化助理可将该单个命令与一组子任务关联地存储,每个子任务对应于来自用户的一系列查询。此后,当用户提供输入“助理,这个周末跟我聊聊”时,自动化助理将从社交网络、与城市网站相关联的代理模块和联网应用中的每一个收集周末信息,并且将所收集的周末信息作为响应输出提供给用户。这省去用户重复一系列查询的麻烦,并且保存网络和处理资源,因为自动化助理将不再必须单独地解析一系列查询或者针对一系列查询中的每一个发起通过网络与另外的计算系统进行的通信的实例。通过促进用单个查询替换一系列查询,本文描述的实施方式与先前系统相比较减少对自动化助理的用户输入的数目,并且在这样做时,减少例如至少在提供自动化助理时涉及的客户端设备和数据网络的资源上的负担。
在一些实施方式中,一种由一个或多个处理器实现的方法被阐述为包括以下步骤:确定提供给自动化助理接口的自然语言输入的内容包括对应于要由对自动化助理应用可访问的分离的代理模块执行的多个子任务的命令。自动化助理应用可被配置成经由自动化助理接口与用户交互。所述方法可进一步包括:调用所述代理模块中的第一代理模块来执行所述多个子任务中的第一子任务;以及响应于调用所述第一代理模块,接收来自所述第一代理模块的第一代理输出。所述方法可进一步包括:利用基于所述第一代理输出的参数调用所述代理模块中的第二代理模块来执行所述多个子任务中的第二子任务。在一些实施方式中,第二子任务涉及处理参数。所述方法可进一步包括:响应于调用所述第二代理模块,接收来自所述第二代理模块的第二代理输出;以及基于所述第一代理输出和所述第二代理输出经由所述自动化助理接口向所述用户提供响应输出。在一些实施方式中,确定所述自然语言输入的内容包括所述命令可包括:将所述内容与将存储的命令指定为多任务命令的索引中的条目相比较。
在一些实施方式中,所述第一代理模块和所述第二代理模块中的每一个均可以是由对应的第三方控制的第三方代理模块,第三方区别于控制所述自动化助理应用的一方。在仍然其它的实施方式中,按基于所述第一代理输出的所述参数而调用所述第二代理模块可包括将所述第一代理输出中的至少一些并入到所述参数中的一个或多个中并且通过所述自动化助理应用来将所述参数提供给所述第二代理模块。
在一些实施方式中,所述响应输出可对应于对所述用户的查询并且所述方法可进一步包括:在所述自动化助理接口处接收响应于所述查询的来自所述用户的输入,并且使所述第二代理模块处理来自所述用户的所述输入。所述第二代理模块可响应于处理来自所述用户的所述输入而向所述自动化助理应用提供反馈。响应于所述反馈满足一个或多个准则,可调用第三代理模块来使用基于所述反馈的参数来执行所述多个子任务中的第三子任务。
在一些实施方式中,所述自然语言输入是单个自然语言输入,并且所述单个自然语言输入的内容与并入所述第一代理输出中的至少一些的所述参数不同。响应于接收到所述单个自然语言输入,自动化助理应用可在不必要求来自所述用户的附加输入的情况下调用多个不同的代理模块。例如,响应于接收到与多任务命令相对应的单个自然语言输入,所述自动化助理可并行地或串行地调用第一代理模块和第二模块,而无需接收来自用户的除与多任务命令相对应的单个自然语言输入之外的附加输入。在一些实施方式中,调用所述代理模块中的第一代理模块来执行所述多个任务中的第一任务包括与远程服务器进行通信,该远程服务器与包括所述自动化助理接口的客户端设备分离。此外,在一些实施方式中,调用所述代理模块中的第二代理模块来执行所述多个任务中的第二任务包括与不同的远程服务器进行通信,该不同的远程服务器与所述客户端设备分离。在一些实施方式中,所述命令是响应于所述自动化助理应用先前从所述用户接收到一系列输入而先前存储的预配置多任务命令。
在一些实施方式中,一种系统被阐述为包括:一个或多个处理器;以及存储指令的存储器,所述指令当由所述处理器中的一个或多个执行时,使所述处理器中的一个或多个执行包括以下各项的步骤:确定提供给自动化助理接口的自然语言输入的内容包括对应于要由分离的代理模块执行的多个子任务的命令。这些步骤可进一步包括:调用第一代理模块来执行第一子任务并且调用第二代理模块来执行第二子任务;以及响应于所述第一代理模块执行所述第一子任务而接收来自所述第一代理模块的输出。这些步骤还可包括:将与来自所述第一代理模块的所述输出相关联的参数提供给所述第二代理模块;以及使所述第二代理模块利用所述参数执行所述第二子任务。这些步骤可进一步包括,响应于至少所述第一子任务和所述第二子任务被执行,经由所述自动化助理接口向所述用户提供响应输出。
在一些实施方式中,所述第一子任务或所述第二子任务可与为所述用户预订预约相关联。在其它实施方式中,所述命令可以是响应于所述用户经由所述自动化助理接口的先前交互而先前存储的预配置多任务命令。在其它实施方式中,所述第一代理模块和所述第二代理模块与分离的第三方相关联。
在一些实施方式中,这些步骤可进一步包括:经由所述自动化助理接口向所述用户提供有关所述输出的查询;以及从所述用户接收后续用户输入。此外,提供给所述第二代理模块的所述参数中的一个或多个可至少部分地基于从所述用户接收到的所述后续用户输入。
在仍然其它的实施方式中,一种非暂时性计算机可读介质被阐述为存储指令,所述指令当由一个或多个处理器执行时,使所述一个或多个处理器执行包括以下各项的步骤:确定提供给自动化助理接口的自然语言输入的内容包括对应于要由对自动化助理应用可访问的分离的代理模块执行的多个子任务的命令。所述自动化助理应用可被配置成经由所述自动化助理接口与用户对接。这些步骤可进一步包括:调用所述代理模块中的第一代理模块来执行所述多个子任务中的第一子任务;以及响应于调用所述第一代理模块,接收来自所述第一代理模块的第一代理输出。这些步骤可进一步包括:利用基于所述第一代理输出的参数调用所述代理模块中的第二代理模块来执行所述多个子任务中的第二子任务。所述第二子任务可涉及处理所述参数。
在一些实施方式中,确定所述自然语言输入的内容包括所述命令可包括将所述内容与将存储的命令指定为多任务命令的索引中的条目相比较。在其它实施方式中,所述第一代理模块和所述第二代理模块中的每一个均是由对应的第三方控制的第三方代理模块,第三方区别于控制所述自动化助理应用的一方。
在一些实施方式中,按所述参数而调用所述第二代理模块包括通过所述自动化助理应用来将所述参数提供给所述第二代理模块。在一些实施方式中,所述第二子任务可包括购买物品。在一些实施方式中,这些步骤可包括基于所述自然语言输入的内容经由索引识别所述第一代理模块和所述第二代理模块,所述索引使所述第一代理模块和所述第二代理模块与所述子任务相关联。所述多个子任务可与由所述用户先前提供并由所述自动化助理应用存储的个别短语相关联。
其它实施方式可以包括一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储可由处理器(例如,中央处理单元(CPU)或图形处理单元(GPU))执行以执行诸如在上面和/或在本文中别处描述的方法中的一种或多种这样的方法的指令。另一个实施方式可以包括一个或多个计算机和/或一个或多个机器人的系统,所述一个或多个计算机和/或一个或多个机器人包括一个或多个处理器,所述一个或多个处理器可操作来执行存储的指令以执行诸如在下面和/或在本文中别处描述的方法中的一种或多种这样的方法。
应该领会的是,在本文中更详细地描述的前面的构思和附加构思的所有组合被设想为是本文公开的主题的一部分。例如,在本公开的结尾处出现的要求保护的主题的所有组合被设想为是本文公开的主题的一部分。
附图说明
图1图示包括能够响应于来自用户的命令而调用多个不同的代理模块的自动化助理的系统图。
图2图示用于向自动化助理提供命令的方法,该方法使自动化助理调用多个不同的代理模块来执行不同的任务以便完成命令。
图3图示用于基于从用户或代理模块接收的反馈来动态地修改要派发给一个或多个代理模块的任务的方法。
图4图示用于配置用于经由自动化助理调用多个不同的代理模块的多任务命令的方法。
图5提供图示用户按与多个不同的代理模块相关联的多任务命令而调用自动化助理的示例的图。
图6是示例计算机系统的框图。
具体实施方式
图1图示包括能够响应于来自用户的命令而调用多个不同的代理模块的自动化助理104的系统图100。自动化助理104可由用户通过连接到远程设备116(诸如服务器设备)的客户端设备102来访问,所述远程设备116可托管自动化助理104。自动化助理104可从客户端设备102接收文本或音频输入并且解释这些输入以便执行动作来帮助用户。自动化助理104可将语音至文本引擎106用于将音频输入转换成可由自动化助理104进一步处理的文本或其它媒体。自动化助理104可进一步包括文本解析器引擎108,所述文本解析器引擎108可处理文本输入或从音频输入转换的文本,并且将输入转换成指令以供自动化助理104和/或一个或多个代理模块执行。
在一些实施方式中,文本解析器引擎108可确定输入是否对应于多任务命令。当文本解析器引擎108确定输入对应于多任务命令时,可采用代理选择引擎110来识别应该被调用以便完成在执行命令时涉及的多个任务的代理模块。代理模块可以是客户端设备102可通过网络访问并且与客户端设备102上的本机应用相关联的应用,或客户端设备102可访问的网站。在一些实施方式中,代理模块可以是由与提供客户端设备102的操作系统或客户端设备102上的其它软件的实体不同的实体提供的第三方应用。替换地,代理模块可以是由同样为客户端设备102提供操作系统或其它软件的实体提供的第一方应用。自动化助理104可访问使代理模块与各种功能相关联的索引,并且使用该索引来确定适合于完成由用户提供的多任务命令的代理模块。
代理模块可由分离的远程服务器管理,并且自动化助理104可通过网络130访问远程服务器。当自动化助理104识别适合完成多任务命令的代理模块时,代理交互引擎112可将任务派发给每个识别的代理模块。自动化助理104可通过经由网络130向托管代理模块的每个服务器设备发送信号来调用每个代理模块,以执行所派发的任务中的一个或多个任务。例如,自动化助理104可访问分别各自托管第一代理模块124、第二代理模块126和第N代理模块128的第一服务器118、第二服务器120和第N服务器122。
取决于从用户提供给自动化助理104的多任务命令,代理交互引擎112可将任务串行地或并行地派发给代理模块。例如,代理交互引擎112可通过首先将第一任务派发给第一代理模块124来串行地提供任务。响应于第一代理模块124向自动化助理104提供输出,自动化助理104可向第二代理模块126提供第二任务。此后,响应于第二代理模块向自动化助理104提供输出,自动化助理104可向第N代理模块128提供第N任务。此过程可继续直到与来自用户的输入命令相对应的多个任务中的每个任务完成为止。
代理交互引擎112可通过将多个任务同时地指派给多个不同的代理模块(例如,第一代理模块124和第二代理模块126)来并行地派发任务。例如,可解析由用户提供的多任务命令以确定用于完成该多任务命令的具体任务,并且可将这些任务中的至少两个同时地派发给分离的代理模块。在一些实施方式中,可从分离的代理模块接收输出并且使用这些输出来向另一代理模块派发另一任务。
在一些实施方式中,输出可从这些代理模块中的一个或多个提供并由代理交互引擎112处理。输出可对应于任务完成指示符,所述任务完成指示符包括与任务有关的信息或对用于完成任务的更多信息的请求。例如,已被派发了任务的代理模块可查询自动化助理104以获得附加信息,并且自动化助理104可确定是从用户还是从分离的代理模块获得附加信息。如果自动化助理104确定应该从用户获得附加信息,则自动化助理104可使请求被提供在客户端设备102的自动化助理接口114处。请求可以是向用户查询附加信息的可听输出或文本输出。当用户向自动化助理104提供附加信息时,自动化助理104可将该附加信息视为输入,所述输入被处理并此后提供给请求了该信息的代理模块和/或可能需要该信息的任何其它代理模块。在一些实施方式中,代理模块可接收来自自动化助理或另一代理模块的输入,并且利用用于完成特定子任务的参数调用分离的代理模块。以这种方式,代理模块可至少临时地“引导”交互,而自动化助理作为中介。
在一些实施方式中,自动化助理104可确定分离的代理模块更适合于向请求附加信息的代理模块提供附加信息。在这样的情况下,代理选择引擎110可识别最适合于从其获得附加信息的代理模块。所识别的代理模块然后可由自动化助理104查询以得到附加信息,并且使所识别的代理模块将附加信息发送到自动化助理104和/或请求代理模块。
图2图示用于向自动化助理提供命令的方法200,该方法200使自动化助理调用多个不同的代理模块来执行不同的任务以便完成命令。方法200可由客户端设备、服务器设备和/或适合于控制自动化助理的任何其它装置执行。方法200可包括确定提供给自动化助理接口的自然语言输入的内容包括多任务命令的块202。例如,命令可以是用于订购配料的请求,诸如“助理,请为我的泰式炒粉食谱订购配料”。命令可由自动化助理解析并且短语“订购配料”可被识别为多任务命令。多任务命令可以是由用户在自动化助理接口处配置,或者由自动化助理基于用户与自动化助理之间的先前交互来配置的命令。在一些实施方式中,可基于另一用户与自动化助理或多个用户与多个自动化助理之间的交互来预配置多任务命令。例如,自动化助理可访问另一用户与另一自动化助理之间的历史交互以识别该用户可能感兴趣的多任务命令。自动化助理然后可使多任务命令与用户相关联并且允许用户在接收到多任务命令时调用自动化助理来执行各种任务。
响应于接收到多任务命令,自动化助理可在块204处识别适合于执行与多任务命令相关联的多个任务的一个或多个代理模块。例如,“订购配料”的多任务命令可与香料订购代理模块、产品订购代理模块和餐馆代理模块相关。可在索引中识别代理模块中的每一个,所述索引可被自动化助理访问并且包括多任务命令与代理模块之间的相关性。每当用户做出选择使一组命令被存储作为被自动化助理理解的单个多任务命令时,自动化助理就可管理索引并添加多任务命令。
在块206处,可调用至少一个代理模块以用于执行多个任务中的至少一个任务。例如,可与用于订购香料的网站相关联的香料订购代理可被自动化助理调用并查询以识别可通过香料订购代理模块获得的食物配料。代理模块可以利用某些配料(例如,醋和酱油)可用的指示对自动化助理做出响应,并且自动化助理可对要订购配料的请求进行响应。这些配料的订购可标记多个任务中的至少一些的完成,并且自动化助理然后可在块208处识别用于完成的任何剩余任务。如果没有剩余任务,则在块210处,自动化助理可提供指示多任务命令已由自动化助理完成的输出(例如,“你的泰式炒粉配料已被订购”)。
如果有要完成的多任务命令的剩余任务,则可重复块206并且可调用另一代理模块以用于执行多任务命令的剩余任务中的一个或多个。例如,自动化助理可确定有要订购的剩余配料(例如罗勒、米粉、花生等),并且调用产品订购代理模块以用于订购剩余配料。这可以是代理模块被一个接一个地调用的系列调用过程。
在一些实施方式中,可同时地调用每个代理模块,并且来自代理模块的响应可用于确定如何继续与用户和/或代理模块交互。例如,香料订购代理模块、产品订购代理模块和餐馆代理模块中的每一个均可被同时地调用并且被分派报告它们是否可提供所有配料的任务。如果代理模块可协作地提供所有泰式炒粉配料,则每个代理模块可被分派提供某些配料的任务。然而,如果代理模块不能完成一个或多个任务(例如,配料订单),则自动化助理可向用户查询如何继续进行,或者动态地更改任务。
任务可由自动化助理响应于来自代理模块和/或用户的反馈而动态地更改。例如,如果配料中的至少一种对代理模块不可用,则自动化助理可将任务从订购个体配料更改为从餐馆代理模块订购外卖订单。由自动化助理进行的此决定可由用户预配置,或者基于用户的过去活动(例如,用户先前试图经由自动化助理订购泰式炒粉配料,但是然后默认为订购泰式炒粉外卖)。应该注意的是,在一些实施方式和/或情形下,任务更改和派发通过自动化助理和/或由自动化助理调用的任何代理模块在后台中执行。以这种方式,用户可以仅提供命令“助理,订购泰式炒粉配料”,并且接收来自自动化助理的输出,诸如“好的,配料被订购”或“好的,我给你订购了泰式炒粉外卖,因为配料不可用”。这使用户不必复述每种配料并防止自动化助理必须针对每种配料处理多个不同的命令,从而保存计算资源。
图3图示用于基于从用户或代理模块接收的反馈来动态地修改要派发给一个或多个代理模块的任务的方法300。方法300可由客户端设备、服务器设备和/或适合于控制自动化助理的任何其它设备执行。方法300可包括确定由自动化助理提供的自然语言输入的内容包括多任务命令的块302。例如,自然语言输入可以是来自用户的口语短语,诸如“助理,请计划与我的朋友一起夜出。”自动化助理可将该自然语言输入转换成文本并在文本内识别多任务命令。多任务命令(例如,“计划与我的朋友一起夜出”)可以是由用户和自动化助理协作地配置的命令。
在块304处,自动化助理可识别适合于执行与多任务命令关联的多个任务的代理模块。代理模块可以是加载到与用户相关联的客户端设备上或者自动化助理通过网络(例如,互联网)以其它方式可访问的应用。代理模块中的每一个均可与要执行以便完成多任务命令的任务相关联。例如,多任务命令“计划与我的朋友一起夜出”可与社交网络代理模块、日历代理模块和/或餐馆代理模块相关联。社交网络代理模块可与至少识别用户的朋友的任务相关联;日历代理模块可与至少识别朋友何时空闲的任务相关联;并且餐馆代理模块可与至少识别要外出去的餐馆的任务相关联。
在块306处,可调用这些代理模块中的至少一个代理模块以用于执行多个任务中的至少一个任务。例如,可调用社交网络代理模块,并且自动化助理可使用该代理模块来识别要邀请参加由自动化助理计划的夜出的朋友。自动化助理可向社交网络代理模块查询例如用户的多少朋友在用户的同一城市内生活。作为响应,代理模块可提供用户的在与用户相同的城市里生活的朋友的列表。在块308处,做出从代理模块接收的输出是否是反馈的确定。如果输出(例如,朋友的列表)不是反馈,则方法300可进行到块318。在块318处,做出是否有要执行以完成多任务命令的其它任务的确定。如果没有其它任务要完成,则方法300可进行到块320,其中确认任务完成的输出由自动化助理提供给用户。然而,如果其它任务有待完成,则可重复块306。
可重复块306以便执行与由用户提供的多个任务(例如,计划与朋友一起夜出)相关联的多个任务中的另一任务(例如,识别朋友何时空闲)。例如,当日历代理模块执行识别朋友何时空闲的任务时,日历代理模块可提供指示在即将到来的周末期间除一个朋友外所有朋友都有空的反馈。在块308处,做出从代理模块(例如,日历代理模块)提供了反馈的确定。可将反馈提供给自动化助理并且自动化助理可确定是否应该从用户或另一代理向代理模块提供响应。例如,当日历代理模块向自动化助理传达来自由社交网络代理模块识别的朋友的群组的一个朋友不空闲时,则自动化助理可在块312处向用户查询反馈。具体地,自动化助理可向用户查询是否可以继续进行在不包括没空的朋友的情况下计划夜出。
此后,在块314处,可从用户接收响应。用户可在响应中指示不可以在不邀请朋友的情况下继续进行,并且在块316处,可识别用于执行与用户响应相关联的任务的代理模块(例如,日历代理模块)。例如,自动化助理可接收来自用户的响应并且向日历代理模块提供补充任务以便识别至少没空朋友将空闲时的时间。如果日历代理模块提供与反馈相对应的输出,则可重复块310。否则,方法300可进行到块318以确定是否要执行其它任务。如果没有其它任务要执行,则在块320处,可由自动化助理提供输出以确认命令的完成。
如果存在其它任务(例如,使用餐馆代理模块来识别要去的餐馆),则方法300可进行到块306。在块306处,可在由日历代理模块提供的日期为朋友进行餐馆预约。此后,方法300可进行到308。如果没有提供其它反馈并且没有其它任务要执行,则方法300可在块320处终止,在块320处向用户提供确认命令的完成的输出。
在一些实施方式中,方法300使得用户和/或代理模块能够在多任务命令的执行期间向自动化助理提供反馈。可从代理模块向自动化助理提供反馈,并且自动化助理可向相同或分离的代理模块提供回响应。替换地,可从代理模块向自动化助理提供反馈,并且自动化助理可向用户查询响应,所述响应可被提供回给相同的代理模块或分离的代理模块。以这种方式,用户不必亲自向自动化助理识别每个适合的代理模块并且/或者单独地控制每个代理模块。相反,这些步骤可由自动化助理执行,考虑到当用户正在提供较少的命令时需要较少的语音至文本处理,这可保存计算资源。
图4图示用于配置用于经由自动化助理调用多个不同的代理模块的多任务命令的方法400。方法400可由客户端设备、服务器设备和/或适合于控制自动化助理的任何其它装置执行。方法400可包括识别由至少一个自动化助理接口接收的多个不同的自然语言命令的块402。例如,可说出自然语言命令或文本命令,诸如“预约附近餐馆的桌子”、“找晚餐之喝酒的地方”和“向我的女朋友发送邀请”。这些自然语言输入中的每一个均可与由自动化助理承担的具体任务相关联,所述自动化助理可将每个任务派发给适合的代理模块。
在块404处,向用户提供有关是否使多个不同的自然语言命令与多任务命令相关联的查询。多任务命令可以是可被提供给自动化助理接口以便执行多个不同的任务的自然语言输入,诸如可听或文本单词或短语。多任务命令可由用户提供或者由自动化助理生成。例如,用户可能正在操作与自动化助理接口相对应的图形用户界面(GUI),并且键入多个不同的自然语言命令中的每一个。自动化助理可向用户提供有关用户是否愿意使多个不同的自然语言命令与多任务命令相关联的查询,所述多任务命令也可由用户在GUI处提供。还可通过自动化助理与用户之间的语言交互来配置多任务命令。例如,在一星期的过程中,用户可提供与用户正在计划的约会夜相关联的各种不同的自然语言命令。自动化助理可识别不同的自然语言命令之间的共性,并且作为响应,向用户提供有关使不同的自然语言命令与多任务命令相关联的查询。共性可以是自然语言命令的内容(例如,在每个命令中提及约会夜)、与自然语言命令相关的时间或位置(例如,在每个命令中提及事件时间或位置)、当提供命令时与用户相关联的时间或位置(例如,每个星期一下班后用户计划约会夜)和/或可与自然语言命令相关联的任何其它共性。例如,共性可以是每个自然语言命令是在彼此的阈值时间内提供的。替换地,共性可以是在总阈值时间段内提供并解析所有自然语言命令。
在块406处,可从用户接收确认多个不同的自然语言命令应该与多任务命令相关联的响应。用户可通过GUI(例如,通过键入多任务命令“计划约会夜”)或者通过给自动化助理的口语命令来提供这种确认。例如,用户可通过说“助理,请将约会夜任务与命令:‘计划约会夜’相关联”来将多任务命令传达给自动化助理。作为响应,在块408处,自动化助理可确定要响应于接收到多任务命令而调用来执行任务的、与多个不同的自然语言命令相关联的代理模块。例如,先前用户可能已提供命令“预约附近餐馆的桌子”。命令可由自动化助理处理并转换成被派发给餐馆代理模块的任务。以类似的方式,自动化助理可从多个不同的自然语言命令编译任务的列表。此后,在块410处,自动化助理可与多任务命令(例如,“计划约会夜”)关联地存储用于代理模块和/或任务的标识符。以这种方式,用户能够经由自动化助理调用多个代理模块来执行不同的任务。这可使用户与自动化助理之间的各种交互合理化,从而节约用户时间以及保存可被自动化助理利用的计算资源。
图5提供图示用户502利用与多个不同的代理模块相关联的多任务命令调用自动化助理的示例的图示500。具体地,图500图示用户502使用多任务命令“助理,计划我的商务旅行”来请求自动化助理计划商务旅行的示例。可将多任务命令作为口语用户输入508提供给客户端设备(诸如移动设备504或助理设备506),并且客户端设备可通过网络512将口语用户输入508发送到托管自动化助理应用的远程服务器。自动化助理应用可确定短语“计划我的商务旅行”对应于多任务命令并且识别与完成多任务命令相关联的代理模块。
自动化助理可访问存储装置,该存储装置包括提供多任务命令与可用于完成多任务命令的代理模块之间的相关性的索引。例如,索引可包括识别多任务命令“计划我的商务旅行”的条目以及识别可被采用来完成多任务命令的子任务的代理模块的对应条目。代理模块可包括日历代理模块516、租车代理模块520和酒店代理模块524。自动化助理可进一步根据索引识别完成多任务命令所涉及的任务。此类任务可包括:在由用户管理的日历中提供商务旅行的细节、预订租车并且预订酒店。
在一些实施方式中,每个任务可被并行地、串行地或其组合派发给代理模块中的每一个。例如,自动化助理可与第一远程服务器514进行通信以便派发使用日历代理模块来查找商务旅行的细节的任务。响应于从日历代理模块516接收到商务旅行的细节,自动化助理可派发预订租车并预订酒店的任务。具体地,自动化助理可与第二远程服务器518进行通信以便将预订租车的任务派发给租车代理模块520,并且与第三远程服务器522进行通信以便派发预订酒店的任务。可同时做由租车代理商模块520和酒店代理商模块524所执行的任务中的每一个以便节约时间。
在一些实施方式中,自动化助理可从一个代理模块收集信息并且将该信息提供给另一代理模块。例如,日历代理模块可完成提供商务旅行的细节的任务并且将细节提供给自动化助理。自动化助理可解析细节并识别将与剩余任务相关的细节。细节可包括商务旅行的目的地和商务旅行的日期。当自动化助理将任务派发给租车代理模块520和酒店代理模块524时,自动化助理可包括位置和日期。以这种方式,不必询问用户502以提供此类细节,并且自动化助理可通过不必处理来自用户502的不必要的自然语言输入来保存计算资源。
在一些实施方式中,自动化助理可使用环境数据(诸如用户502的当前位置)来修改要派发给代理模块的任务。例如,自动化助理可确定用户502的当前位置与商务旅行的目的地之间的距离。租车代理模块520可从自动化助理接收距离信息,并且因为距离低于特定阈值所以向自动化助理查询用户是否愿意预约一辆电动汽车。作为响应,自动化助理可生成查询作为针对用户502的输出510(例如,你愿意租一辆电动汽车吗?)。替换地,自动化助理可将查询从租车代理模块520传递给用户,从而允许自动化助理作为用户与租车代理模块520之间的中介。如果用户502提供确认电动汽车预约(例如,“是,请便。”)的响应,则自动化助理可向租车代理模块520传达用户502想要一辆电动汽车。租车代理模块520然后可为用户502预约第一类型的电动汽车以行驶到商务旅行的目的地。
在一些实施方式中,来自代理模块的反馈可由自动化助理提供并使用来确定是否应该重复先前执行的任务。例如,自动化助理可向酒店代理模块524传达用户502已预订了第一类型的电动汽车。第一类型的电动汽车可包括由酒店代理商模块524预订的酒店处的充电站不支持的充电插座。响应于酒店代理商模块524确定这种不兼容性,酒店代理商模块524可向自动化助理104提供将第一类型的电动汽车识别为酒店处的充电器不支持的第一类型的指示。作为响应,自动化助理104可向租车代理模块520派发补充任务以便修改要预约酒店处的充电站支持的第二类型的电动汽车的预约。响应于租车代理商模块520预约第二类型的电动汽车,自动化助理可指示酒店代理商模块524预订酒店并向用户502提供指示旅行已被预订的输出510。此过程允许由代理模块在与用户502很少或没有交互的情况下执行代理之间的冲突的解决。以这种方式,用户502能够在自动化助理在后台中协调任务的完成的同时执行其它动作。
图6是示例计算机系统610的框图600。计算机系统610通常包括经由总线子系统612与许多外围设备进行通信的至少一个处理器614。这些外围设备可以包括存储子系统624(包括例如存储器子系统625和文件存储子系统626)、用户接口输出设备620、用户接口输入设备622和网络接口子系统616。输入和输出设备允许用户与计算机系统610交互。网络接口子系统616提供到外部网络的接口并耦合到其它计算机系统中的对应接口设备。
用户接口输入设备622可以包括键盘、诸如鼠标、轨迹球、触摸板或图形平板这样的指点设备、扫描器、并入到显示器中的触摸屏、诸如语音辨识系统、麦克风这样的音频输入设备和/或其它类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入计算机系统610中或到通信网络上的所有可能类型的设备和方式。
用户接口输出设备620可以包括显示子系统、打印机、传真机或诸如音频输出设备这样的非可视显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)这样的平板设备、投影设备或用于创建可见图像的某种其它机制。显示子系统还可以例如经由音频输出设备提供非可视显示。通常,术语“输出设备”的使用旨在包括用于从计算机系统610向用户或者向另一机器或计算机系统输出信息的所有可能类型的设备和方式。
存储子系统624存储提供本文描述的模块中的一些或全部的功能性的编程和数据构造。例如,存储子系统624可以包括用于执行方法200、300和/或400的所选方面并且/或者实现自动化助理104、语音至文本引擎106、文本解析器引擎108、代理选择引擎110、代理交互引擎1 12、客户端设备、服务器设备、远程设备和/或本文讨论的任何其它装置或过程中的一个或多个的逻辑。
这些软件模块通常由处理器614单独或者与其它处理器相结合地执行。在存储子系统624中使用的存储器625可包括许多存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)630以及存储有固定指令的只读存储器(ROM)632。文件存储子系统626可为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及关联的可移动介质、CD-ROM驱动器、光驱或可移动介质盒。实现某些实施方式的功能性的模块可以由文件存储子系统626存储在存储子系统624中,或者存储在可由处理器614访问的其它机器中。
总线子系统612提供用于让计算机系统610的各种组件和子系统按预期彼此通信的机制。尽管总线子系统612被示意性地示出为单条总线,但是总线子系统的替代实施方式可以使用多条总线。
计算机系统610可具有各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其它数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图6中描绘的计算机系统610的描述仅作为具体示例意在供图示一些实施方式的目的使用。与图6中描绘的计算机系统相比,计算机系统610的许多其它配置可以具有更多或更少的组件。
在本文描述的系统收集关于用户(或在本文中常常称为“参与者”)的个人信息或者可以利用个人信息的情形下,可以给用户提供用于控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前地理位置的信息)或者用于控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。另外,某些数据可以在它被存储或者使用之前被以一种或多种方式处理,使得个人可识别的信息被去除。例如,可以处理用户的身份,使得对该用户来说不能确定个人可识别的信息,或者可在获得地理位置信息的情况下使用户的地理位置一般化(诸如到城市、邮政编码或州级别),使得不能确定用户的特定地理位置。因此,用户可以控制信息如何关于用户被收集和/或使用。
虽然已在本文中描述并图示了若干实施方式,但是可以利用用于执行功能并且/或者获得结果和/或本文描述的优点中的一个或多个的各种其它手段和/或结构,并且这样的变化和/或修改中的每一个均被视为在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置都意在为示例性的,并且实际的参数、尺寸、材料和/或配置将取决于教导被用于的一个或多个具体应用。本领域的技术人员将认识到或者能够使用不超过例行实验来探知本文描述的具体实施方式的许多等同物。因此应当理解的是,前面的实施方式仅作为示例被呈现,并且在所附权利要求及其等同物的范围内,可以以不同于具体地描述和要求保护的方式实践实施方式。本公开的实施方式致力于本文描述的每个单独的特征、系统、物品、材料、套件和/或方法。此外,如果这样的特征、系统、物品、材料、套件和/或方法不是相互不一致的,则两个或更多个这样的特征、系统、物品、材料、套件和/或方法的任意组合被包括在本公开的范围内。
Claims (22)
1.一种由一个或多个处理器实现的方法,所述方法包括:
确定用户与自动化助理之间的、经由自动化助理接口的先前交互期间的第一口语话语与第二口语话语之间的相关性,
其中确定所述相关性是基于所述先前交互中的每一个中的第一口语话语与第二口语话语之间的时间关系,
其中所述第一口语话语使得所述自动化助理发起由分离的代理模块执行的多个任务的执行,所述分离的代理模块包括第一代理模块和第二代理模块,并且
其中所述第二口语话语使得所述自动化助理发起由附加代理模块执行的附加任务的执行;
基于确定所述第一口语话语与所述第二口语话语之间的所述相关性,关于预配置多任务命令来提示所述用户,
其中所述预配置多任务命令对应于所述多个任务和所述附加任务,并且
其中所述提示是在无需所述用户向所述自动化助理明确请求发起所述预配置多任务命令的生成的情况下执行的;以及
在关于所述预配置多任务命令来提示所述用户之后:
确定提供给所述自动化助理接口的自然语言输入的内容识别所述预配置多任务命令;
调用所述分离的代理模块中的所述第一代理模块来执行所述多个任务中的第一任务以及调用所述附加代理模块来执行所述附加任务;
响应于调用所述第一代理模块和所述附加代理模块,接收来自所述第一代理模块的第一代理输出和来自所述附加代理模块的附加代理输出;
利用基于所述第一代理输出的参数来调用所述分离的代理模块中的所述第二代理模块以执行所述多个任务中的第二任务,其中,所述第二任务涉及处理所述参数,
其中利用基于所述第一代理输出的所述参数来调用所述第二代理模块包括:将所述第一代理输出中的至少一些并入到所述参数中的一个或多个中并且由所述自动化助理将所述参数提供给所述第二代理模块;
响应于调用所述第二代理模块,接收来自所述第二代理模块的第二代理输出;以及
基于所述第一代理输出、所述第二代理输出和所述附加代理输出,经由所述自动化助理接口向所述用户提供响应输出。
2.根据权利要求1所述的方法,其中,确定所述自然语言输入的内容包括所述预配置多任务命令包括:
将所述内容与将存储的命令关联到所述预配置多任务命令的索引中的条目相比较。
3.根据权利要求1所述的方法,其中,确定所述第一口语话语与所述第二口语话语之间的所述相关性包括:
确定所述第一口语话语与所述第二口语话语之间的所述时间关系指示所述第一口语话语与所述第二口语话语是在阈值时间段内提供的。
4.根据权利要求1所述的方法,其中所述响应输出对应于针对所述用户的查询,并且所述方法还包括:
响应于所述查询,在所述自动化助理接口处接收来自所述用户的输入;以及
使所述第二代理模块处理来自所述用户的所述输入。
5.根据权利要求4所述的方法,其中,所述第二代理模块响应于处理来自所述用户的所述输入而向所述自动化助理提供反馈。
6.根据权利要求5所述的方法,还包括:
响应于所述反馈满足一个或多个准则:
利用基于所述反馈的参数调用第三代理模块来执行所述多个任务中的第三任务。
7.根据权利要求1所述的方法,其中,确定所述第一口语话语与所述第二口语话语之间的所述相关性是在所述用户提供识别所述预配置多任务命令的所述自然语言输入之前执行的。
8.根据权利要求1所述的方法,
其中,所述自然语言输入是单个口语自然语言输入,并且所述单个口语自然语言输入的内容不同于在所述先前交互中的一个或多个期间由所述用户向所述自动化助理以口头方式提供的其他语言内容。
9.根据权利要求8所述的方法,
其中,调用所述分离的代理模块中的所述第一代理模块来执行所述多个任务中的所述第一任务包括:与远程服务器进行通信,所述远程服务器与包括所述自动化助理接口的客户端设备是分离的;并且
其中,调用所述分离的代理模块中的所述第二代理模块来执行所述多个任务中的所述第二任务包括:与不同的远程服务器进行通信,所述不同的远程服务器与所述客户端设备是分离的。
10.根据权利要求8所述的方法,其中,所述第一代理模块和所述第二代理模块二者是至少部分地响应于所述自动化助理接口接收到所述单个口语自然语言输入而被调用的。
11.根据权利要求1-10中的任一项所述的方法,其中,所述预配置多任务命令是响应于所述自动化助理先前生成所述预配置多任务命令而先前存储的。
12.一种用于接洽自动化助理的系统,包括:
一个或多个处理器;以及
存储指令的存储器,所述指令当由所述一个或多个处理器执行时,使所述一个或多个处理器执行操作,所述操作包括:
确定用户与所述自动化助理之间的、经由自动化助理接口的先前交互期间的第一口语话语与第二口语话语之间的相关性,
其中确定所述相关性是基于所述先前交互中的每一个中的第一口语话语与第二口语话语之间的时间关系,
其中所述第一口语话语使得所述自动化助理发起由分离的代理模块执行的多个任务的执行,所述分离的代理模块包括第一代理模块和第二代理模块,并且
其中所述第二口语话语使得所述自动化助理发起由附加代理模块执行的附加任务的执行;
基于确定所述第一口语话语与所述第二口语话语之间的所述相关性,关于预配置多任务命令来提示所述用户,
其中所述预配置多任务命令对应于所述多个任务和所述附加任务,并且
其中所述提示是在无需所述用户向所述自动化助理明确请求发起所述预配置多任务命令的生成的情况下执行的;以及
在关于所述预配置多任务命令来提示所述用户之后:
确定提供给所述自动化助理接口的自然语言输入的内容识别所述预配置多任务命令;
调用所述分离的代理模块中的所述第一代理模块来执行所述多个任务中的第一任务并且调用所述附加代理模块来执行所述附加任务;
响应于调用所述第一代理模块和所述附加代理模块,接收来自所述第一代理模块的第一代理输出和来自所述附加代理模块的附加代理输出;
利用基于所述第一代理输出的参数来调用所述分离的代理模块中的所述第二代理模块以执行所述多个任务中的第二任务,其中所述第二任务涉及处理所述参数,
其中利用基于所述第一代理输出的所述参数来调用所述第二代理模块包括:将所述第一代理输出中的至少一些并入到所述参数中的一个或多个中并且由所述自动化助理将所述参数提供给所述第二代理模块;
响应于调用所述第二代理模块,接收来自所述第二代理模块的第二代理输出;以及
基于所述第一代理输出、所述第二代理输出和所述附加代理输出,经由所述自动化助理接口向所述用户提供响应输出。
13.根据权利要求12所述的系统,其中,所述第一任务或所述第二任务与为所述用户预订预约相关联。
14.根据权利要求12所述的系统,其中,确定所述第一口语话语与所述第二口语话语之间的所述相关性包括:
确定所述第一口语话语与所述第二口语话语之间的所述时间关系指示所述第一口语话语与所述第二口语话语是在阈值时间段内提供的。
15.根据权利要求12所述的系统,其中,所述操作进一步包括:
经由所述自动化助理接口向所述用户提供有关所述输出的查询;以及
从所述用户接收后续用户输入。
16.根据权利要求15所述的系统,其中,提供给所述第二代理模块的所述参数中的一个或多个参数至少部分地基于从所述用户接收到的所述后续用户输入。
17.根据权利要求12所述的系统,其中,确定所述第一口语话语与所述第二口语话语之间的所述相关性是在所述用户提供识别所述预配置多任务命令的所述自然语言输入之前执行的。
18.一种存储指令的非暂时性计算机可读存储介质,所述指令当由一个或多个处理器执行时,使所述一个或多个处理器执行操作,所述操作包括:
确定用户与自动化助理之间的、经由自动化助理接口的先前交互期间的第一口语话语与第二口语话语之间的相关性,
其中确定所述相关性是基于所述先前交互中的每一个中的第一口语话语与第二口语话语之间的时间关系,
其中所述第一口语话语使得所述自动化助理发起由分离的代理模块执行的多个任务的执行,所述分离的代理模块包括第一代理模块和第二代理模块,并且
其中所述第二口语话语使得所述自动化助理发起由附加代理模块执行的附加任务的执行;
基于确定所述第一口语话语与所述第二口语话语之间的所述相关性,关于预配置多任务命令来提示所述用户,
其中所述预配置多任务命令对应于所述多个任务和所述附加任务,并且
其中所述提示是在无需所述用户向所述自动化助理明确请求发起所述预配置多任务命令的生成的情况下执行的;以及
在关于所述预配置多任务命令来提示所述用户之后:
确定提供给所述自动化助理接口的自然语言输入的内容识别所述预配置多任务命令;
调用所述分离的代理模块中的所述第一代理模块来执行所述多个任务中的第一任务以及调用所述附加代理模块来执行所述附加任务;
响应于调用所述第一代理模块和所述附加代理模块,接收来自所述第一代理模块的第一代理输出和来自所述附加代理模块的附加代理输出;以及
利用基于所述第一代理输出的参数来调用所述分离的代理模块中的所述第二代理模块以执行所述多个任务中的第二任务,其中,所述第二任务涉及处理所述参数,
其中利用基于所述第一代理输出的所述参数来调用所述第二代理模块包括:将所述第一代理输出中的至少一些并入到所述参数中的一个或多个中并且由所述自动化助理将所述参数提供给所述第二代理模块;
响应于调用所述第二代理模块,接收来自所述第二代理模块的第二代理输出;以及
基于所述第一代理输出、所述第二代理输出和所述附加代理输出,经由所述自动化助理接口向所述用户提供响应输出。
19.根据权利要求18所述的非暂时性计算机可读存储介质,其中,确定所述自然语言输入的内容包括所述预配置多任务命令包括:
将所述内容与将存储的命令关联到所述预配置多任务命令的索引中的条目相比较。
20.根据权利要求18所述的非暂时性计算机可读存储介质,其中,所述第一代理模块和所述第二代理模块中的每一个是由分离的第三方控制的第三方代理模块,所述第三方区别于控制所述自动化助理的一方。
21.根据权利要求18所述的非暂时性计算机可读存储介质,其中,所述操作进一步包括:
基于所述自然语言输入的内容,经由索引来识别所述第一代理模块和所述第二代理模块,所述索引使所述第一代理模块和所述第二代理模块与所述多个任务相关。
22.根据权利要求18至21中的任一项所述的非暂时性计算机可读存储介质,其中,所述多个任务与由所述用户先前提供并由所述自动化助理存储的个体短语相关联。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310994057.7A CN117130744A (zh) | 2017-07-07 | 2018-07-03 | 通过个体命令调用自动化助理来执行多个任务 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/644,157 | 2017-07-07 | ||
US15/644,157 US10552204B2 (en) | 2017-07-07 | 2017-07-07 | Invoking an automated assistant to perform multiple tasks through an individual command |
PCT/US2018/040808 WO2019010236A1 (en) | 2017-07-07 | 2018-07-03 | INVOICING AUTOMATED ASSISTANT TO PERFORM MULTIPLE TASKS VIA INDIVIDUAL ORDER |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310994057.7A Division CN117130744A (zh) | 2017-07-07 | 2018-07-03 | 通过个体命令调用自动化助理来执行多个任务 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110720090A CN110720090A (zh) | 2020-01-21 |
CN110720090B true CN110720090B (zh) | 2023-08-25 |
Family
ID=63080516
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880038386.1A Active CN110720090B (zh) | 2017-07-07 | 2018-07-03 | 通过个体命令调用自动化助理来执行多个任务 |
CN202310994057.7A Pending CN117130744A (zh) | 2017-07-07 | 2018-07-03 | 通过个体命令调用自动化助理来执行多个任务 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310994057.7A Pending CN117130744A (zh) | 2017-07-07 | 2018-07-03 | 通过个体命令调用自动化助理来执行多个任务 |
Country Status (4)
Country | Link |
---|---|
US (4) | US10552204B2 (zh) |
EP (2) | EP4145285A1 (zh) |
CN (2) | CN110720090B (zh) |
WO (1) | WO2019010236A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10845822B2 (en) * | 2014-10-31 | 2020-11-24 | Clearpath Robotics Inc. | Systems and methods for utilizing fleets of robots |
JP6428954B2 (ja) * | 2016-02-18 | 2018-11-28 | ソニー株式会社 | 情報処理装置、情報処理方法およびプログラム |
US10585440B1 (en) | 2017-01-23 | 2020-03-10 | Clearpath Robotics Inc. | Systems and methods for using human-operated material-transport vehicles with fleet-management systems |
US20210312543A1 (en) | 2017-04-05 | 2021-10-07 | State Farm Mutual Automobile Insurance Company | Systems and methods for analyzing vehicle financing via blockchain |
US10552204B2 (en) | 2017-07-07 | 2020-02-04 | Google Llc | Invoking an automated assistant to perform multiple tasks through an individual command |
US10762161B2 (en) * | 2017-08-08 | 2020-09-01 | Accenture Global Solutions Limited | Intelligent humanoid interactive content recommender |
US11100922B1 (en) * | 2017-09-26 | 2021-08-24 | Amazon Technologies, Inc. | System and methods for triggering sequences of operations based on voice commands |
EP3474160A1 (en) * | 2017-10-17 | 2019-04-24 | Palantir Technologies Inc. | Data analytic systems |
US20190122157A1 (en) * | 2017-10-23 | 2019-04-25 | Clearpath Robotics Inc. | Systems and methods for deploying groups of self-driving material-transport vehicles |
US10546584B2 (en) * | 2017-10-29 | 2020-01-28 | International Business Machines Corporation | Creating modular conversations using implicit routing |
US10802793B2 (en) * | 2017-11-22 | 2020-10-13 | Toyota Motor Engineering & Manufacturing North America, Inc. | Vehicle virtual assistance systems for expediting a meal preparing process |
US11348576B1 (en) * | 2017-12-06 | 2022-05-31 | Amazon Technologies, Inc. | Universal and user-specific command processing |
US11200760B2 (en) | 2018-01-22 | 2021-12-14 | Clearpath Robotics Inc. | Systems and methods for measuring fleets of self-driving industrial vehicles |
US11235778B2 (en) | 2018-01-24 | 2022-02-01 | Clearpath Robotics Inc. | Systems and methods for maintaining vehicle state information |
US11256270B2 (en) | 2018-02-07 | 2022-02-22 | Clearpath Robotics Inc. | Communication systems for self-driving vehicles, and methods of providing thereof |
US10832002B2 (en) * | 2018-05-08 | 2020-11-10 | International Business Machines Corporation | System and method for scoring performance of chatbots |
US20190348033A1 (en) * | 2018-05-10 | 2019-11-14 | Fujitsu Limited | Generating a command for a voice assistant using vocal input |
EP3682345B1 (en) * | 2018-08-07 | 2021-11-24 | Google LLC | Assembling and evaluating automated assistant responses for privacy concerns |
US10629191B1 (en) * | 2019-06-16 | 2020-04-21 | Linc Global, Inc. | Methods and systems for deploying and managing scalable multi-service virtual assistant platform |
EP4037328A4 (en) * | 2019-09-27 | 2023-08-30 | LG Electronics Inc. | ARTIFICIAL INTELLIGENCE DISPLAY DEVICE AND SYSTEM |
US11567788B1 (en) | 2019-10-18 | 2023-01-31 | Meta Platforms, Inc. | Generating proactive reminders for assistant systems |
US11308284B2 (en) | 2019-10-18 | 2022-04-19 | Facebook Technologies, Llc. | Smart cameras enabled by assistant systems |
KR20210059978A (ko) * | 2019-11-18 | 2021-05-26 | 엘지전자 주식회사 | 음성 어시스턴트의 사용자 입력 처리방법 |
JP7287333B2 (ja) * | 2020-04-06 | 2023-06-06 | トヨタ自動車株式会社 | 制御装置、プログラム、及び情報処理方法 |
US11416290B2 (en) | 2020-05-28 | 2022-08-16 | Microsoft Technology Licensing, Llc | Semi-autonomous intelligent task hub |
US11488597B2 (en) * | 2020-09-08 | 2022-11-01 | Google Llc | Document creation and editing via automated assistant interactions |
CN113192490A (zh) * | 2021-04-14 | 2021-07-30 | 维沃移动通信有限公司 | 语音处理方法、装置和电子设备 |
US11995457B2 (en) * | 2022-06-03 | 2024-05-28 | Apple Inc. | Digital assistant integration with system interface |
US20240020091A1 (en) * | 2022-07-12 | 2024-01-18 | Google Llc | Assistant adaptation of graphical user interface to guide interaction with user in fulfilling user request |
CN117112064B (zh) * | 2023-08-30 | 2024-07-12 | 北京百度网讯科技有限公司 | 大模型插件调用方法、装置、设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324436A (zh) * | 2013-05-24 | 2013-09-25 | 东莞宇龙通信科技有限公司 | 一种任务处理方法及装置 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748191A (en) * | 1995-07-31 | 1998-05-05 | Microsoft Corporation | Method and system for creating voice commands using an automatically maintained log interactions performed by a user |
US7447637B1 (en) * | 1998-12-23 | 2008-11-04 | Eastern Investments, Llc | System and method of processing speech within a graphic user interface |
US6816837B1 (en) * | 1999-05-06 | 2004-11-09 | Hewlett-Packard Development Company, L.P. | Voice macros for scanner control |
US6895380B2 (en) * | 2000-03-02 | 2005-05-17 | Electro Standards Laboratories | Voice actuation with contextual learning for intelligent machine control |
US20020191754A1 (en) * | 2001-05-30 | 2002-12-19 | Liu Zhenyu L. | Remote voice interactive computer systems |
WO2005024781A1 (en) * | 2003-08-29 | 2005-03-17 | Johnson Controls Technology Company | System and method of operating a speech recognition system in a vehicle |
US20070124147A1 (en) * | 2005-11-30 | 2007-05-31 | International Business Machines Corporation | Methods and apparatus for use in speech recognition systems for identifying unknown words and for adding previously unknown words to vocabularies and grammars of speech recognition systems |
TWI298844B (en) * | 2005-11-30 | 2008-07-11 | Delta Electronics Inc | User-defines speech-controlled shortcut module and method |
US20080109292A1 (en) | 2006-11-03 | 2008-05-08 | Sap Ag | Voice-enabled workflow item interface |
JP4321633B2 (ja) * | 2007-07-12 | 2009-08-26 | 株式会社デンソー | 衝突緩和装置 |
US8165886B1 (en) * | 2007-10-04 | 2012-04-24 | Great Northern Research LLC | Speech interface system and method for control and interaction with applications on a computing system |
US8046226B2 (en) * | 2008-01-18 | 2011-10-25 | Cyberpulse, L.L.C. | System and methods for reporting |
US20100123834A1 (en) * | 2008-11-14 | 2010-05-20 | Apple Inc. | System and Method for Capturing Remote Control Device Command Signals |
US8407057B2 (en) * | 2009-01-21 | 2013-03-26 | Nuance Communications, Inc. | Machine, system and method for user-guided teaching and modifying of voice commands and actions executed by a conversational learning system |
US8656346B2 (en) | 2009-02-18 | 2014-02-18 | Microsoft Corporation | Converting command units into workflow activities |
US10540976B2 (en) * | 2009-06-05 | 2020-01-21 | Apple Inc. | Contextual voice commands |
US8943094B2 (en) * | 2009-09-22 | 2015-01-27 | Next It Corporation | Apparatus, system, and method for natural language processing |
US8812298B1 (en) * | 2010-07-28 | 2014-08-19 | Wolfram Alpha Llc | Macro replacement of natural language input |
WO2013101051A1 (en) * | 2011-12-29 | 2013-07-04 | Intel Corporation | Speech recognition utilizing a dynamic set of grammar elements |
US8635230B2 (en) * | 2012-01-26 | 2014-01-21 | International Business Machines Corporation | Display of information in computing devices |
US10417037B2 (en) * | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US9809185B2 (en) * | 2012-09-04 | 2017-11-07 | Ford Global Technologies, Llc | Method and apparatus for subjective command control of vehicle systems |
US9659298B2 (en) * | 2012-12-11 | 2017-05-23 | Nuance Communications, Inc. | Systems and methods for informing virtual agent recommendation |
US9922639B1 (en) * | 2013-01-11 | 2018-03-20 | Amazon Technologies, Inc. | User feedback for speech interactions |
US9875494B2 (en) * | 2013-04-16 | 2018-01-23 | Sri International | Using intents to analyze and personalize a user's dialog experience with a virtual personal assistant |
US10162813B2 (en) * | 2013-11-21 | 2018-12-25 | Microsoft Technology Licensing, Llc | Dialogue evaluation via multiple hypothesis ranking |
US20170017501A1 (en) * | 2013-12-16 | 2017-01-19 | Nuance Communications, Inc. | Systems and methods for providing a virtual assistant |
US20150212676A1 (en) * | 2014-01-27 | 2015-07-30 | Amit Khare | Multi-Touch Gesture Sensing and Speech Activated Radiological Device and methods of use |
US9582246B2 (en) * | 2014-03-04 | 2017-02-28 | Microsoft Technology Licensing, Llc | Voice-command suggestions based on computer context |
US9489171B2 (en) * | 2014-03-04 | 2016-11-08 | Microsoft Technology Licensing, Llc | Voice-command suggestions based on user identity |
CN110797019B (zh) * | 2014-05-30 | 2023-08-29 | 苹果公司 | 多命令单一话语输入方法 |
TWI542155B (zh) * | 2014-07-02 | 2016-07-11 | 瑞昱半導體股份有限公司 | 時脈產生器、通訊裝置與循序時脈閘控電路 |
FR3024267B1 (fr) * | 2014-07-25 | 2017-06-02 | Redlime | Procedes de determination et de commande d'un equipement a commander, dispositif, utilisation et systeme mettant en œuvre ces procedes |
US9767794B2 (en) * | 2014-08-11 | 2017-09-19 | Nuance Communications, Inc. | Dialog flow management in hierarchical task dialogs |
US9965464B2 (en) * | 2014-12-05 | 2018-05-08 | Microsoft Technology Licensing, Llc | Automatic process guidance |
US9583097B2 (en) * | 2015-01-30 | 2017-02-28 | Google Inc. | Dynamic inference of voice command for software operation from help information |
WO2016172558A1 (en) * | 2015-04-23 | 2016-10-27 | Fluent Systems, Inc. | Dynamic and customizable user interface platform |
US9674361B2 (en) * | 2015-06-29 | 2017-06-06 | Genesys Telecommunications Laboratories, Inc. | System and method for intelligent task management in a workbin |
KR102429260B1 (ko) * | 2015-10-12 | 2022-08-05 | 삼성전자주식회사 | 음성 에이전트 기반의 제어 명령 처리 장치 및 방법과, 에이전트 장치 |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10552204B2 (en) | 2017-07-07 | 2020-02-04 | Google Llc | Invoking an automated assistant to perform multiple tasks through an individual command |
-
2017
- 2017-07-07 US US15/644,157 patent/US10552204B2/en active Active
-
2018
- 2018-07-03 CN CN201880038386.1A patent/CN110720090B/zh active Active
- 2018-07-03 WO PCT/US2018/040808 patent/WO2019010236A1/en unknown
- 2018-07-03 EP EP22203942.2A patent/EP4145285A1/en active Pending
- 2018-07-03 EP EP18749665.8A patent/EP3519955B1/en active Active
- 2018-07-03 CN CN202310994057.7A patent/CN117130744A/zh active Pending
-
2019
- 2019-12-13 US US16/713,036 patent/US11494225B2/en active Active
-
2022
- 2022-11-02 US US17/979,556 patent/US11861393B2/en active Active
-
2023
- 2023-11-21 US US18/516,290 patent/US20240086230A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324436A (zh) * | 2013-05-24 | 2013-09-25 | 东莞宇龙通信科技有限公司 | 一种任务处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于移动Agent技术的WebGIS模型;赵博等;《兵工自动化》;第26卷(第7期);第86-87页 * |
Also Published As
Publication number | Publication date |
---|---|
US20200117502A1 (en) | 2020-04-16 |
CN117130744A (zh) | 2023-11-28 |
EP3519955B1 (en) | 2022-12-07 |
US11861393B2 (en) | 2024-01-02 |
US20240086230A1 (en) | 2024-03-14 |
EP3519955A1 (en) | 2019-08-07 |
WO2019010236A1 (en) | 2019-01-10 |
US20190012198A1 (en) | 2019-01-10 |
US11494225B2 (en) | 2022-11-08 |
CN110720090A (zh) | 2020-01-21 |
US20230056213A1 (en) | 2023-02-23 |
EP4145285A1 (en) | 2023-03-08 |
US10552204B2 (en) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110720090B (zh) | 通过个体命令调用自动化助理来执行多个任务 | |
JP7183154B2 (ja) | タスク管理アプリケーションにおける効率向上 | |
US9798983B2 (en) | Enterprise resource search and reservation system | |
US11157879B2 (en) | System and methods for facilitating scheduling of event or meeting | |
JP6883050B2 (ja) | アクションのためのエンティティを決定するとともにアクションおよびエンティティに関係する1つまたは複数のコンピューティングアクションを実行するためのプロンプトの自動生成およびプロンプトへのユーザ応答の分析 | |
CN117908735A (zh) | 用于经由自动化助理恢复对话会话的系统、方法和装置 | |
US20240119933A1 (en) | Automated assistant invocation of second interactive module using supplemental data provided by first interactive module | |
CN112136124A (zh) | 用于与计算机实现的自动助理进行人机对话会话的依赖图谈话建模 | |
US20180341533A1 (en) | Method and apparatus for generating workflow | |
US20110320235A1 (en) | Computer controlled meetings calendar scheduler based upon importance of meeting attributes | |
US20130097095A1 (en) | Mobile Transport Tendering | |
US20150199651A1 (en) | Integrated Online Time and Place Management | |
AU2023201871B2 (en) | Automated assistant for generating, in response to a request from a user, application input content using application data from other sources | |
US20240007422A1 (en) | Chat bot control device, chat bot control method, and chat bot control device system | |
US20120185259A1 (en) | Topic-based calendar availability | |
US20240020091A1 (en) | Assistant adaptation of graphical user interface to guide interaction with user in fulfilling user request | |
EP2382590A1 (en) | System for dynamically configuring task-based environment and method of operation thereof | |
Andurkar et al. | Calendar Delegation with Alexa |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |