CN117061495A - 在基于音频的计算环境中执行请求的动作的平台选择 - Google Patents
在基于音频的计算环境中执行请求的动作的平台选择 Download PDFInfo
- Publication number
- CN117061495A CN117061495A CN202310904057.3A CN202310904057A CN117061495A CN 117061495 A CN117061495 A CN 117061495A CN 202310904057 A CN202310904057 A CN 202310904057A CN 117061495 A CN117061495 A CN 117061495A
- Authority
- CN
- China
- Prior art keywords
- platform
- action
- data processing
- processing system
- service
- 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
Links
- 230000009471 action Effects 0.000 title claims abstract description 291
- 238000000034 method Methods 0.000 claims abstract description 92
- 230000005236 sound signal Effects 0.000 claims abstract description 82
- 230000004044 response Effects 0.000 claims abstract description 36
- 230000002452 interceptive effect Effects 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims description 369
- 238000004590 computer program Methods 0.000 claims description 16
- 230000000977 initiatory effect Effects 0.000 claims description 6
- 239000003550 marker Substances 0.000 claims description 5
- 230000000875 corresponding effect Effects 0.000 description 43
- 238000004891 communication Methods 0.000 description 29
- 230000008569 process Effects 0.000 description 11
- 239000008186 active pharmaceutical agent Substances 0.000 description 8
- 238000005108 dry cleaning Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000013515 script Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000029305 taxis Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- IRLPACMLTUPBCL-KQYNXXCUSA-N 5'-adenylyl sulfate Chemical compound C1=NC=2C(N)=NC=NC=2N1[C@@H]1O[C@H](COP(O)(=O)OS(O)(=O)=O)[C@@H](O)[C@H]1O IRLPACMLTUPBCL-KQYNXXCUSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000010200 validation analysis Methods 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- 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
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- 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/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- 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)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了在基于音频的计算环境中执行请求的动作的平台选择。提供了一种选择用于执行基于语音的命令的数字平台的系统和方法。该系统接收经由数字平台执行与服务相关联的动作的应用。该系统对应用进行调试以验证数字平台中的至少两个平台上的动作的参数。该系统接收包括由客户端设备的传感器检测到的输入音频信号的数据分组,并且对输入音频信号进行解析以识别动作和服务。该系统从数字平台中选择第一平台以执行动作。响应于对第一平台的选择,该系统发起交互式数据交换以填充与动作相对应的动作数据结构的参数。该系统使用动作数据结构经由所选择的平台执行动作。
Description
分案说明
本申请属于申请日为2019年05月06日的中国发明专利申请201980002144.1的分案申请。
对相关申请的交叉引用
本申请根据35USC§119要求享有于2018年5月7日提交的标题为“PLATFORMSELECTION FOR PERFORMING REQUESTED ACTIONS IN AUDIO-BASED COMPUTINGENVIRONMENTS”的美国临时专利申请No.62/668,207的优先权,通过引用将其全文合并于此。
背景技术
基于语音的计算环境可与各种其它计算平台接合(interface)。例如,服务提供者可以经由包括移动应用、桌面应用以及基于web的应用的平台而提供服务。用户可以通过基于语音的计算环境与服务进行交互。然而,选择用于实现通过基于语音的计算环境所接收的用户请求的平台可能具有挑战性。
发明内容
至少一个方面涉及一种选择用于执行基于语音的命令的数字平台的系统。该系统可包括数据处理系统,该数据处理系统包括至少一个处理器和存储器。数据处理系统可从服务提供者设备接收经由多个数字平台来执行与服务相关联的动作的应用。数据处理系统可调试应用以验证多个数字平台中的至少两个平台上的动作的参数。数据处理系统可经由数据处理系统的接口接收包括由客户端设备的传感器检测到的输入音频信号的数据分组。数据处理系统可对输入音频信号进行解析以识别动作和服务。数据处理系统可基于策略和输入音频信号或历史执行信息中的至少一个来选择多个数字平台中的第一平台以执行动作。响应于对第一平台的选择,数据处理系统可发起交互式数据交换以填充与动作相对应的动作数据结构的参数。数据处理系统可使用动作数据结构经由所选择的平台执行动作。
多个数字平台可包括以下中的至少一个:服务的基于web的应用平台、服务的移动应用平台以及服务的对话平台。数据处理系统可针对动作识别指示多个数字平台中的第一平台的第一参数的第一标记信息。数据处理系统可针对动作识别指示多个数字平台中的第二平台的第二参数的第二标记信息。数据处理系统可基于对第一标记信息与第二标记信息的比较来确定第一参数与第二参数之间的冲突。数据处理系统可向服务提供者设备提供对冲突的指示。
数据处理系统可针对动作识别多个数字平台中的第一平台的第一参数以及指示多个数字平台中的第二平台的第二参数的第二标记信息。数据处理系统可基于比较来确定第一参数与第二参数之间的冲突。数据处理系统可向服务提供者设备传输用于解决冲突的提示。数据处理系统可确定与基于web的应用平台相比更少的参数针对对话平台被配置。第一平台可是服务的基于web的应用平台,并且第二平台是服务的对话平台。
数据处理系统可识别在多个数字平台中的至少两个上的动作的参数内的冲突。数据处理系统可基于由数据处理系统存储的至少一个策略来自动地解决冲突。
数据处理系统可识别在多个数字平台中的至少两个上的动作的参数内的冲突。数据处理系统可通过移除与多个数字平台中的至少两个中的一个上的动作相关联的至少一个参数来自动地解决冲突。
数据处理系统可针对动作识别多个数字平台中的第一平台的第一参数以及指示多个数字平台中的第二平台的第二参数的第二标记信息。数据处理系统可基于比较来确定第一参数与第二参数之间的不一致性。数据处理系统可响应于对不一致性的确定而检索服务提供者设备的解决策略。数据处理系统可基于解决策略解决不一致性。数据处理系统可确定与第二平台相比第一平台与最新版本更新相关联。数据处理系统可响应于确定第一平台与最新版本更新相关联而通过更新第二参数以与第一参数匹配来解决不一致性。
数据处理系统可基于排名策略来选择多个数字平台中的第一平台。历史执行信息可包括对先前平台的指示,所述先前平台被执行以响应于来自客户端设备的请求而执行服务的动作。数据处理系统可基于执行动作的先前平台是第一平台而选择第一平台。
数据处理系统可基于确定与经由多个数字平台中的第二平台执行动作相比经由第一平台执行动作利用更少的计算资源而选择第一平台。
至少一个方面涉及一种选择用于执行基于语音的命令的数字平台的方法。该方法可由包括至少一个处理器和存储器的数据处理系统来执行。该方法可包括数据处理系统从服务提供者设备接收经由多个数字平台执行与服务相关联的动作的应用。该方法可包括数据处理系统调试应用以验证多个数字平台中的至少两个平台上的动作的参数。该方法可包括数据处理系统经由数据处理系统的接口接收包括由客户端设备的传感器检测到的输入音频信号的数据分组。该方法可包括数据处理系统对输入音频信号进行解析以识别动作和服务。该方法可包括:数据处理系统基于策略和输入音频信号或历史执行信息中的至少一个来选择多个数字平台中的第一平台以执行动作。该方法可包括响应于对第一平台的选择,数据处理系统发起交互式数据交换以填充与动作相对应的动作数据结构的参数。该方法可包括数据处理系统使用动作数据结构经由所选择的平台执行动作。
本公开的至少一个方面涉及一种用于在基于语音的计算环境中实现请求的系统。该系统可包括数据处理系统以接收与服务的多个平台相对应的计算机指令。该系统可包括数据处理系统的调试器组件以执行对计算机指令的调试以验证多个平台中的至少两个平台上的动作的参数。该系统可包括数据处理系统的自然语言处理器组件以经由数据处理系统的接口接收包括由客户端设备的传感器检测到的输入音频信号的数据分组。该系统可包括自然语言处理器组件以对输入音频信号进行解析以识别动作。该系统可包括数据处理系统的策略引擎以选择多个平台中的第一平台以用于执行动作。数据处理系统可发起交互式数据交换以填充与动作相对应的动作数据结构的参数。数据处理系统可使用动作数据结构经由所选择的平台执行动作。数据处理系统可通过接收服务的基于web的应用平台、服务的移动应用平台以及服务的对话平台中的至少一个的计算机指令来接收与服务的多个平台相对应的计算机指令。调试器组件可执行对计算机指令的调试以通过对包含在至少两个平台中的标记信息进行比较来验证至少两个平台上的动作的参数以识别至少两个平台上的动作的参数内的冲突。调试器组件可识别至少两个平台上的动作的参数内的冲突;并且可基于由数据处理系统存储的至少一个策略来自动地解决冲突。
本公开的至少一个方面涉及一种在基于语音的计算环境中实现请求的方法。该方法可包括由数据处理系统来接收与服务的多个平台相对应的计算机指令。该方法可包括由被数据处理系统执行的调试器组件执行对计算机指令的调试以验证多个平台中的至少两个平台上的动作的参数。该方法可包括由被数据处理系统执行的自然语言处理器组件经由数据处理系统的接口接收包括由客户端设备的传感器检测到的输入音频信号的数据分组。该方法可包括由自然语言处理器组件对输入音频信号进行解析以识别动作。该方法可包括由数据处理系统选择多个平台中的第一平台以用于执行动作。该方法可包括由数据处理系统来发起交互式数据交换以填充与动作相对应的动作数据结构的参数。该方法可包括由数据处理系统使用动作数据结构经由所选择的平台执行动作。该方法可包括通过接收服务的基于web的应用平台、服务的移动应用平台以及服务的对话平台中的至少一个的计算机指令来接收与服务的多个平台相对应的计算机指令。该方法可包括执行对计算机指令的调试以通过对包含在至少两个平台中的标记信息进行比较来验证至少两个平台上的动作的参数以识别至少两个平台上的动作的参数内的冲突。该方法可包括识别至少两个平台上的动作的参数内的冲突;并且可基于由数据处理系统存储的至少一个策略来自动地解决冲突。
上文根据本公开的任何方面或下文关于本公开的任何特定实施例所定义的单个特征和/或特征的组合可以在本公开的任何其它方面或实施例中独立地、各自地、单独地或者与任何其它所定义的特征组合地使用。
此外,本公开旨在覆盖被配置为执行本文所述的与方法和/或使用或产生、使用或制造本文所述的任何装置特征的方法有关的任何特征的装置。所
在下面详细地讨论这些和其它方面及实施方式。前述信息和以下详细描述包括对各个方面和实施方式的说明性示例,并且提供了用于理解所要求保护的方面及实施方式的性质和特性的概述或框架。附图提供了对各个方面和实施方式的说明和进一步理解,并且被并入在本说明书的一部分并构成了本说明书的一部分。
附图说明
附图不旨在按比例绘制。在各个附图中相同附图标记和标号指示相同元件。为了清楚起见,并非每个组件都在每个附图中标记。在附图中:
图1是用于选择用于执行基于语音的命令的数字平台并在基于语音的计算环境中实现请求的系统的图示。
图2是用于选择用于执行基于语音的命令的数字平台并在基于语音的计算环境中实现请求的方法的图示。
图3是用于对可用于实施本文所描述和图示的系统和方法的元件的计算机系统的总体架构进行说明的方框图。
具体实施方式
以下是与选择用于执行基于语音的命令的数字平台并在基于语音的计算环境中实现请求的方法、装置以及系统有关的各种概念及用于执行基于语音的命令的数字平台并在基于语音的计算环境中实现请求的方法、装置以及系统的实施方式的更详细描述。可以以许多方式中的任何一个来实施在上面介绍的且在下面更详细讨论的各种概念。
本公开通常涉及选择用于执行基于语音的命令并在基于语音的计算环境中实现请求的数字平台。例如,应用开发人员或服务提供者可为单独的数字平台提供单独的应用,诸如基于web的应用、移动应用以及诸如数字助理平台的基于对话的应用。然而,当调用服务提供者所提供的服务时,计算设备或系统要确定选择哪个平台以执行服务或者提供统一且一致的数据处理流可能具有挑战性,因为每个平台的每个应用可是独特的、可包含不同的代码格式、可执行不同类型的处理或者可访问不同的数据源。最终,这可能会妨碍计算设备或系统执行特定动作。由于针对不同数字平台配置的不同版本的应用以及每个数字平台可用的不同界面,因此跨不同数字平台针对相同动作或服务提供一致的用户界面和数据处理也可能具有挑战性。此外,服务提供者或应用开发人员跨不同数字平台维护、管理并且调试不同版本的应用可能具有挑战性。例如,不同的开发人员团队可创建针对不同数字平台配置的应用。每个数字平台具有单独版本的应用可增大服务器上的电子存储利用并且在每个应用上需要不同的标记或标签。
因而,不同的计算资源在基于语音的计算环境中有效地处理指令可能具有挑战性。例如,开发人员可以能够经由在本文中可以称为平台的不同计算资源使服务被传递给用户。用于服务的平台可包括在诸如蜂窝电话的移动设备上执行的应用、在膝上型计算机或台式计算机上执行的应用、经由计算设备上的web浏览器应用可访问的基于web的应用或者在基于语音的计算环境中所提供的对话应用。
可经由多个平台访问单个服务。因此,当用户例如在基于语音的计算环境中经由基于音频的指令请求与服务有关的内容时,基于语音的计算环境的数据处理系统必须选择可用平台中的一个以用于实现请求。然而,确定哪个平台最适合实现特定请求可能具有挑战性。例如,对特定平台的选择可以取决于多个因素,所述因素包括用户偏好、提出请求时用户可用的计算设备的类型、请求所调用的服务类型以及其它因素。另外,跨实施服务的平台范围为特定服务提供统一的用户体验可能很有用。例如,用户可能期望经由不同平台所实现的相似请求通常会产生相似结果并且无论选择哪种特定平台,这种交互将以相似方式进行。
本技术方案总体上涉及提高不同计算资源上的信息处理效率。本技术方案的系统和方法总体上涉及选择用于执行基于语音的命令的数字平台并且在基于语音的计算环境中实现请求。基于语音的计算环境可包括数据处理系统。数据处理系统可接收或访问包含与服务的多个平台相对应的计算机指令的应用。例如,服务可以涉及通过乘车共享服务来请求乘车、购买电影票、在餐厅订桌、预订酒店房间、播放音乐等。应用可包括例如与服务的移动应用相对应的计算机指令、与服务的基于web的应用相对应的指令或者与对话平台相对应的指令。数据处理系统可确定服务的动作以及该动作的多个参数。例如,动作可以包括购买电影票,并且参数可以包括时间、电影标题以及电影院位置。数据处理系统可被配置为提取与动作和参数有关的计算机指令中的标签或其它形式的标记。数据处理系统可确定标签或标记信息是否彼此冲突(例如为服务的基于Web的实施方式所定义的动作的参数是否与为服务的基于移动应用的实施方式所定义的对应动作的参数不同)。数据处理系统可验证标记是否与相同动作或服务相对应。数据处理系统可自动调和会导致冲突的差异或者可提示计算机指令的开发人员解决冲突。
数据处理系统可对基于语音的输入进行处理以确定与基于语音的输入相对应的动作。该动作可与跨多个平台实施的服务相关联。基于规则或策略集,数据处理系统可选择要用于执行动作的平台中的一个。数据处理系统可发起数据交换以填充动作的动作数据结构的参数。例如,数据交换可以响应于数据处理系统所生成的对话音频提示而经由来自用户的对话音频输入发生。此后数据处理系统可使用动作数据结构经由所选择的平台执行动作。
例如,音乐服务提供者可将其音乐应用与基于语音的计算环境或数字助理集成在一起。音乐服务提供者可能已经具有音乐服务的移动应用,但是可能尚未为数字助理平台创建应用的版本。音乐服务提供者可将包括深层链接和动作的头文件添加到其移动应用。深层链接可是指链接到特定web内容、网页或应用内的状态(例如艺术家页面或专辑的特定页面)的超链接。音乐服务提供者可将具有该头文件的移动应用提供给本技术方案的数据处理系统。数据处理系统可摄取头文件并将头文件导入数字助理平台。数据处理系统可使用所摄取的头文件执行查找以识别动作。例如,数据处理系统可接收请求歌曲的用户语音输入,确定用户是否可以访问音乐服务应用以播放歌曲并且然后生成用于访问已安装的音乐服务的应用上的歌曲的深层链接。因而,数据处理系统可连接或合并多个数字表面或数字平台以提供统一且无缝的用户界面或流。
数据处理系统可确定多个数字平台或表面被配置为提供对请求的响应(例如响应于对歌曲的请求而播放歌曲)。数据处理系统可识别多个数字平台,对数字平台进行排名并且然后选择排名最高的平台。数据处理系统可使用包含对歌曲以及可提供对歌曲的访问的所有数字平台的指示的索引以便生成可用数字平台的列表。然后数据处理系统可基于各种因素对可用数字平台的列表进行排名,所述因素诸如与数字平台相关联的计算资源消耗、电池消耗、网络利用、成本、应用是否被安装在客户端设备上或者与用于实现请求动作的应用或者数字平台类型有关的历史偏好。
图1图示了用于选择用于执行基于语音的命令的数字平台并在基于语音的计算环境中实现请求的示例性系统100。系统100可包括数据处理系统102。数据处理系统102可经由网络105与以下内容提供者计算设备106、服务提供者计算设备108或客户端计算设备104中的一个或多个进行通信。网络105可包括诸如互联网、局域网、广域网、城域网或其它区域网络、内联网、卫星网络以及诸如语音或数据移动电话网络的其它通信网络的计算机网络。网络105可用于访问诸如可在诸如膝上型计算机、台式机、平板电脑、个人数字助理、智能手机、便携式计算机或扬声器的至少一个计算设备104上呈现、输出、渲染或者显示的网页、网站、域名或统一资源定位符的信息资源。例如,经由网络105,计算设备104的用户可访问服务提供者108或内容提供者设备106所提供的信息或数据,诸如可跨一个或多个平台提供的一个或多个服务。平台可以与计算设备104的类型有关。例如,如果计算设备104是移动计算设备,则平台可以包括在计算设备104上执行的移动应用。如果计算设备104是台式计算设备,则平台可以包括经由在计算设备104上执行的web浏览器可访问的基于web的应用。计算设备104可以包括或可以不包括显示器。例如,计算设备可以包括诸如麦克风和扬声器这样的有限类型的用户接口。在一些情况下,计算设备104的主要用户接口可以是麦克风和扬声器。
网络105可包括或构成显示网络,例如在互联网上可用的与内容放置或搜索引擎结果系统相关联或者有资格包括第三方内容项以作为内容项放置活动的一部分的信息资源的子集。网络105可由数据处理系统102使用以访问诸如可由客户端计算设备104呈现、输出、渲染或显示的应用、网页、网站、域名或统一资源定位符的信息资源。例如,经由网络105,客户端计算设备104的用户可访问内容提供者计算设备106或服务提供者计算设备108所提供的信息或数据。
网络105可以是任何类型或形式的网络并且可以包括如下中的任何一个:点对点网络、广播网络、广域网、局域网、电信网络、数据通信网络、计算机网络、ATM(异步传输模式)网络、SONET(同步光网络)网络、SDH(同步数字体系)网络、无线网络以及有线网络。网络105可以包括诸如红外信道或卫星频带的无线链路。网络105的拓扑可以包括总线、星形或环形网络拓扑。网络可以包括使用用于在移动设备当中进行通信的任何一个协议或多个协议的移动电话网络,所述协议包括高级移动电话协议(“AMPS”)、时分多址(“TDMA”)、码分多址(“CDMA”)、全球移动通信系统(“GSM”)、通用分组无线服务(“GPRS”)或通用移动电信系统(“UMTS”)。可以经由不同协议传输不同类型的数据,或者可以经由不同协议传输相同类型的数据。
系统100可包括至少一个数据处理系统102。数据处理系统102可包括诸如具有处理器的计算设备的至少一个逻辑设备以经由网络105与例如计算设备104、内容提供者设备106(内容提供者106)或者服务提供者设备108(或服务提供者108)进行通信。数据处理系统102可包括至少一个计算资源、服务器、处理器或存储器。例如,数据处理系统102可包括位于至少一个数据中心中的多个计算资源或服务器。数据处理系统102可包括多个、逻辑分组的服务器并且有助于分布式计算技术。可以将服务器的逻辑组称为数据中心、服务器场或机器场。服务器也可在地理位置上是分散的。数据中心或机器场可以作为单个实体进行管理,或者机器场可包括多个机器场。每个机器场中的服务器可是异构的——服务器或机器中的一个或多个可根据一种或多种类型的操作系统平台进行操作。
机器场中的服务器可与相关联的存储系统一起被存储在高密度机架系统中并且位于企业数据中心中。例如,按照这种方式整合服务器可以通过使服务器和高性能存储系统位于本地化的高性能网络上来改进系统可管理性、数据安全性、系统的物理安全性以及系统性能。使包括服务器和存储系统的数据处理系统102组件中的所有或一些集中化并且使数据处理系统102组件中的所有或一些与高级系统管理工具相耦合允许更有效地使用服务器资源,这节省了电力和处理需求并降低了带宽使用。
系统100可包括、可访问至少一个服务提供者设备108或以其它方式与至少一个服务提供者设备108交互。服务提供者设备108可包括诸如具有处理器的计算设备的至少一个逻辑设备以经由网络105与例如计算设备104、数据处理系统102或内容提供者106进行通信。服务提供者设备108可包括至少一个计算资源、服务器、处理器或存储器。例如,服务提供者设备108可包括位于至少一个数据中心中的多个计算资源或服务器。服务提供者设备108可包括数据处理系统102的一个或多个组件或功能性。
内容提供者计算设备106可提供内容项以由客户端计算设备104显示为音频输出内容项。内容项可包括提供商品或服务,诸如陈述“Would you like me to order you ataxi?(要我为你预订出租车吗?)”的基于语音的消息。例如,内容提供者计算设备155可包括存储器以存储可响应于基于语音的查询而提供的一系列音频内容项。内容提供者计算设备106还可将基于音频的内容项(或其它内容项)提供给数据处理系统102,其中基于音频的内容项(或其它内容项)可存储在数据存储库124中。数据处理系统102可选择音频内容项并将音频内容项提供给客户端计算设备104(或指示内容提供者计算设备106以将音频内容项提供给客户端计算设备104)。基于音频的内容项可仅是音频或者可与文本、图像或视频数据相组合。
服务提供者设备108可包括至少一个服务提供者自然语言处理器组件142和服务提供者接口144、与至少一个服务提供者自然语言处理器组件142和服务提供者接口144接合或者以其它方式与至少一个服务提供者自然语言处理器组件142和服务提供者接口144进行通信。服务提供者计算设备108可包括至少一个服务提供者自然语言处理器(NLP)组件142或至少一个服务提供者接口144。服务提供者NLP组件142(或者其它组件,诸如服务提供者计算设备108的直接动作API)可(经由数据处理系统102或绕过数据处理系统102)使用客户端计算设备104以在客户端计算设备104与服务提供者计算设备108之间创建基于来回实时语音或音频的对话(例如会话)。服务提供者NLP 142可包括数据处理系统102的NLP组件112的一个或多个功能或特征。例如,服务提供者接口144可接收数据消息或向数据处理系统102的直接策略引擎116提供数据消息。服务提供者计算设备108和内容提供者计算设备106可与同一实体相关联。例如,内容提供者计算设备106可创建内容项、存储内容项或者使内容项可用于汽车共享服务,并且服务提供者计算设备108可与客户端计算设备104建立会话以安排汽车共享服务的出租车或汽车的运送以接取客户端计算设备104的终端用户。经由NLP组件112或其它组件,数据处理系统102还可与客户端计算设备建立会话,其包括或绕过服务提供者计算设备104以例如安排汽车共享服务的出租车或汽车的运送。
计算设备104可包括至少一个传感器134、换能器136、音频驱动器138或预处理器140、与至少一个传感器134、换能器136、音频驱动器138或预处理器140接合或以其它方式与至少一个传感器134、换能器136、音频驱动器138或预处理器140进行通信。传感器134可包括例如环境光传感器、接近传感器、温度传感器、加速度计、陀螺仪、运动检测器、GPS传感器、位置传感器、麦克风或触摸传感器。换能器136可包括扬声器或麦克风。音频驱动器138可向硬件换能器136提供软件接口。音频驱动器可执行数据处理系统102所提供的音频文件或其它指令以控制换能器136以生成对应的声波或音波。预处理器140可被配置为检测关键字并基于该关键字执行动作。预处理器140可在将词项传输到数据处理系统102以进行进一步处理之前过滤掉一个或多个词项或修改词项。预处理器140可将麦克风所检测到的模拟音频信号转换为数字音频信号,并且经由网络105将携带数字音频信号的一个或多个数据分组传输到数据处理系统102。在一些情况下,预处理器140可响应于检测到用于执行这种传输的指令来传输携带输入音频信号中的一些或全部的数据分组。该指令可包括例如触发关键字或其它关键字或批准以将包括输入音频信号的数据分组传输到数据处理系统102。
客户端计算设备104可与终端用户相关联,该终端用户将语音查询作为音频输入(经由传感器134)输入到客户端计算设备104中并接收从换能器136(例如扬声器)输出的可从数据处理系统102(或内容提供者计算设备106或服务提供者计算设备108)提供给客户端计算设备104的计算机生成的语音形式的音频输出。计算机生成的语音可包括来自真实人的录音或计算机生成的语言。语音查询可以对应于经由例如由服务提供者设备108提供的服务的对内容的请求。
数据存储库124可包括一个或多个本地或分布式数据库并且可包括数据库管理系统。数据存储库124可包括计算机数据存储或存储器并且可存储一个或多个参数126、一个或多个策略128、平台数据130或模板132以及其它数据。参数126、策略128以及模板132可包括诸如与客户端计算设备104与数据处理系统102(或服务提供者计算设备108)之间的基于语音的会话有关的规则的信息。平台数据130可包括与各种平台的服务相对应的计算机指令。例如,平台数据130可包括服务的移动应用的可执行代码、服务的桌面应用的可执行代码、服务的基于web的应用的可执行代码等。
数据处理系统102可包括具有至少一个计算资源或服务器的内容放置系统。数据处理系统102可包括至少一个接口110、与至少一个接口110接合或以其它方式与至少一个接口110进行通信。数据处理系统102可包括至少一个自然语言处理器组件112、与至少一个自然语言处理器组件112接合或以其它方式与至少一个自然语言处理器组件112进行通信。数据处理系统102可包括至少一个策略引擎116、与至少一个策略引擎116接合或以其它方式与至少一个策略引擎116进行通信。数据处理系统102可包括至少一个会话处置器114、与至少一个会话处置器114接合或以其它方式与至少一个会话处置器114进行通信。数据处理系统102可包括至少一个调试器组件118、与至少一个调试器组件118接合或以其它方式与至少一个调试器组件118进行通信。数据处理系统102可包括至少一个音频信号发生器122、与至少一个音频信号发生器122接合或以其它方式与至少一个音频信号发生器122进行通信。数据处理系统102可包括至少一个数据存储库124、与至少一个数据存储库124接合或以其它方式与至少一个数据存储库124进行通信。至少一个数据存储库124可将参数126、策略128、平台数据130或模板132存储在一个或多个数据结构或数据库中。参数126可包括例如阈值、距离、时间间隔、持续时间、得分或权重。策略128可包括例如用于解决不一致性或冲突的排名策略、选择策略或解决策略。
接口110、自然语言处理器组件112、会话处置器114、策略引擎116、调试器组件118或音频信号发生器组件122均可包括至少一个处理单元或诸如可编程逻辑阵列引擎的其它逻辑设备,或被配置为与数据库存储库或者数据库124进行通信的模块。接口110、自然语言处理器组件112、会话处置器114、策略引擎116、调试器组件118、音频信号发生器组件122以及数据存储库124可是单独的组件、单个组件或者数据处理系统102的一部分。系统100及其诸如数据处理系统102的组件可包括诸如一个或多个处理器、逻辑设备或电路的硬件元件。
数据处理系统102可获得与多个计算设备104相关联的匿名计算机网络活动信息。计算设备104的用户可肯定地授权数据处理系统102以获得与用户的计算设备104相对应的网络活动信息。例如,数据处理系统102可提示计算设备104的用户以得到同意以获得一种或多种类型的网络活动信息。计算设备104的用户的身份可保持匿名并且计算设备104可与唯一标识符(例如由数据处理系统或计算设备的用户所提供的用户或者计算设备的唯一标识符)相关联。数据处理系统可使每个观察与对应的唯一标识符相关联。
数据处理系统102可包括被设计、配置、构造或操作为使用例如数据分组来接收和传输信息的接口组件110。接口110可使用诸如网络协议的一个或多个协议来接收和传输信息。接口110可包括硬件接口、软件接口、有线接口或无线接口。接口110可便于将数据从一种格式转换或格式化为另一种格式。例如,接口110可包括应用编程接口,该应用编程接口包括用于在诸如软件组件的各种组件之间进行通信的限定。
数据处理系统102可接收来自服务提供者设备108的应用。可由与服务提供者设备108相关联的服务提供者来开发应用。可使用服务提供者设备108来开发应用,或者可使用服务提供者设备108将应用传输到数据处理系统102。应用可包括被配置为提供服务或执行动作以提供服务的应用。应用可包括用于提供对由服务提供者设备108所提供的服务的访问的应用。例如,应用可包括音乐服务应用、乘车共享应用、食物配送应用或物联网应用。
可针对数字平台配置应用。服务提供者设备108可针对特定数字平台开发、设计或配置应用。服务提供者设备108可将应用开发为移动应用,诸如被配置为在移动计算设备(例如智能手机、智能手表、平板电脑或可穿戴设备)上执行的应用。移动应用可是指在计算设备104上执行的本机应用。其它数字平台可包括基于web的应用。基于web的应用可以指可至少部分地在web浏览器中执行的应用。基于web的应用可以指可使用HTTP通过网络连接访问的程序。web应用可以指客户端计算设备可在web浏览器内运行或执行的客户端-服务器计算机程序。
从服务提供设备108所接收到的应用可执行或有助于与服务相关联的动作的执行。例如,诸如音乐服务或乘车共享服务的服务可与多个数字平台相关联。诸如音乐服务的服务可经由更多个数字平台来提供。例如,音乐服务可经由移动应用数字平台以及web应用数字平台提供要在计算设备104上播放的音乐。音乐服务还可例如经由使用对话语音计算环境经由数字助理平台来提供。因而,可经由多个数字平台来提供服务提供者的服务。
数据处理系统102可包括策略引擎116以确定跨多种平台实施的(例如由服务提供者设备108提供的)一个或多个服务的上下文。上下文可以指服务的动作及对应的参数。例如,平台数据130可包括经由多个平台实施服务的程序或应用的计算机代码。因而,在一个示例中,平台数据130可包括服务的移动应用、服务的桌面应用以及服务的基于web的应用。服务可以是例如被配置为允许用户请求汽车来接取用户并将用户带到指定目的地的乘车共享服务。策略引擎116可被配置为基于平台数据130识别或生成将由数据处理系统102实施的对话平台的上下文(即动作和参数集)。平台数据130可以包括与服务的其它平台有关的数据,但是可能不包括对话平台的数据。
为了便于服务的对应对话平台的创建,策略引擎116可从在其上实施服务的其它平台的平台数据130提取信息。数据处理系统102可在向平台数据130搜索(scan)与动作和参数有关的标签或其它标记信息。标签和标记信息可包括任何类型的信息,该信息提供用于平台数据130的可执行部分的上下文,但是本身不是可执行的。例如,标签和标记信息可以以在包含在平台数据130中的程序被编译时被编译器忽略但是出于提取关于与特定平台上的特定服务相关联的动作和参数的上下文信息的目的可由数据处理系统102读取的格式提供。
标签和标记信息可以包括识别移动应用所使用的网页或屏幕、用户在其中提供所需信息的输入域、诸如可选择的按钮的用户界面元素或者服务的任何其它形式的动作或参数的信息。在服务是乘车共享服务的示例中,平台数据130可存储与乘车共享服务的移动应用相对应的计算机代码。计算机代码可包括用于要求用户输入用户位置的指令以及用于指示输入域与用户的当前位置相对应的标签或其它标记信息。类似地,计算机代码可包括用于提示用户输入针对目的地、时间、车辆规模或车辆舒适性的输入的指令以及与这些输入中的每一个有关的标签或标记信息。策略引擎116可向计算机代码搜索标签并且可确定动作(例如请求乘车)以及该动作的参数集(例如当前位置、目的地、时间、车辆规模以及车辆舒适性)。标签和标记数据还可包括第一平台上的服务的功能性到第二平台上的服务的功能性的映射。例如,标签和标记信息可包括移动应用的屏幕到基于web的应用的网页的映射。标签和标记信息还可以包括一个或多个链接。例如,基于web的应用的标签和标记信息可以包括到移动应用的一个或多个“深层链接”。深层链接可是对诸如移动应用的图形用户界面的用户界面的任何引用或指针。因而,基于web的应用可以包括将基于web的应用的功能性映射到实施对应的功能性的移动应用的特定显示屏、输入域或其它用户界面的深层链接。
数据处理系统102可使用通过标签或标记信息收集的上下文信息以通过对话平台来实施服务。例如,数据处理系统102可将与移动应用的参数的文本域相对应的音频输出(例如经由音频信号发生器组件122)传递到计算设备104,并且可接收来自计算设备104的音频响应(例如经由自然语言处理器组件112)来确定参数的值。因而,数据处理系统102可通过从包含在平台数据130中的移动应用数据提取标签或标记信息并使用音频信号发生器组件122和自然语言处理器组件112以将信息发送到计算设备104以及接收来自计算设备104的信息来以对话方式实施与移动应用所提供的功能性类似的功能性。
调试器组件118可被配置为检测并解决包含在平台数据130中的标签或标记信息之间的差异。例如,平台数据130可包括服务的移动应用的可执行代码以及服务的桌面应用的可执行代码。然而,对于通过服务所提供的给定动作(例如请求汽车),移动应用可以具有与桌面应用不同的参数集。例如,移动应用可以包括仅与当前位置和目的地相对应的参数,而桌面应用包括与当前位置、目的地以及车辆类型相对应的参数。因而,在第一平台的动作的参数与第二平台的相同动作的参数之间可能存在不一致性或不匹配。调试器组件118可确定该不一致性或不匹配并且可尝试通过调试处理来解决它。调试在本文也可被称为验证。调试器组件118可对从服务提供者设备108接收的应用进行调试以验证多个数字平台上的动作的参数。
例如,数据处理系统102(例如经由调试器组件118)可针对动作识别指示多个数字平台中的第一平台(例如基于web的应用平台)的第一参数的第一标记信息。数据处理系统102可针对动作识别指示多个数字平台中的第二平台(例如对话平台)的第二参数的第二标记信息。数据处理系统102可基于对第一标记信息与第二标记信息的比较来确定第一参数与第二参数之间的冲突。数据处理系统102可基于与第二数字平台相比更少的参数或不同的参数针对第一数字平台被配置来确定存在冲突。例如,数据处理系统102可基于与基于web的应用程序平台相比更少的参数针对对话平台被配置来确定存在冲突。数据处理系统102可基于参数不同、不同数量的参数、参数的不同格式或者参数的不同输入类型(例如通过纬度和经度提供的地址对比街道地址)来确定在第一参数与第二参数之间存在冲突。数据处理系统102可确定参数中的一个与平台不兼容。例如,其输入为纬度和经度坐标的参数可能与对话平台不兼容,因为用户可能不提供纬度和经度坐标作为地理位置的地址,而是可能提供街道地址或实体名称(例如,Brand_A Coffee Shop on Main Street in Anytown(任何城镇中的主街上的品牌A咖啡店))。
数据处理系统102可基于策略自动解决冲突或者请求服务提供者解决冲突。例如,数据处理系统102可向服务提供者设备提供对冲突的指示。数据处理系统102可向服务提供者设备传输提示以解决冲突。
在示例中,调试器组件118可通过向服务提供者设备108传输指示存在不匹配的信息并且请求用户通过更新桌面应用和移动应用中的任一个或两者的代码解决不匹配来提示桌面应用和移动应用的开发人员(例如服务提供者设备108的用户)手动地解决不匹配。在另一示例中,调试器组件118可自动地解决冲突。自动解决可以基于存储在平台数据130中的桌面应用或移动应用的安装状态或版本而发生。例如,如果桌面应用的最近安装版本比移动应用的最近安装版本更新,则调试器组件118可选择桌面应用的参数并且忽略移动应用的参数。在另一示例中,调试器组件118可以选择作为桌面应用的参数集和移动应用的参数集的“并集”的参数集。如上所述,在调试器组件118已(自动地或通过提示服务提供者设备108以解决任何冲突而手动地)针对动作选择了适当的参数集之后,数据处理系统102可使用与所选择的参数相对应的标签或标记信息以通过对话平台来实施服务。
数据处理系统102可自动解决冲突。数据处理系统102可基于存储在数据存储库124中的策略数据结构128中的至少一个策略来自动解决冲突。例如,数据处理系统102可通过移除参数、对参数重新格式化或者对参数应用预处理规则来解决冲突。数据处理系统102可通过从平台中的一个移除与动作相关联的参数中的至少一个来自动解决冲突。
由数据处理系统102用于自动解决不一致性的策略可包括存储在数据存储库中的策略数据结构128中的解决策略或冲突解决策略或不一致解决策略。例如,数据处理系统102可针对动作识别多个数字平台中的第一平台的第一参数以及指示多个数字平台中的第二平台的第二参数的第二标记信息。数据处理系统102可提取标记信息,该标记信息可以指使用诸如声明性语言或描述性标记语言的标记语言编码的信息。示例性标记语言可包括可扩展标记语言(“XML”)、超文本标记语言(“HTML”)或其它标记语言。数据处理系统102可提取标记语言以识别应用实行或执行动作所使用的参数的标签或其它指示。
一旦识别出与第一平台相关联的第一参数和与第二平台相关联的第二参数,数据处理系统102可基于比较来确定第一参数与第二参数之间的不一致。数据处理系统102可对第一参数与第二参数进行比较。数据处理系统102可对参数的数量、参数的类型、输入值的类型或参数的其它方面进行比较以识别差异、增量或不一致。响应于对不一致的确定,数据处理系统可检索服务提供者设备的解决策略。数据处理系统102可在策略数据结构128中执行查找以获得解决策略。每个服务提供者可提供解决策略或与解决策略相关联,或者数据处理系统102可使用针对多个服务提供者或者服务提供者的类型、数字平台的类型、参数的类型或者动作的类型所配置的解决策略。解决策略可指示如何解决不一致。例如,不一致可是位置参数的输入类型。第一数字平台可请求位置输入为街道地址,而第二数字平台可请求位置输入为纬度和经度坐标。解决策略可通过对数字平台中的一个上的参数中的一个的输入类型进行调整来解决不一致,因此该输入类型与其它数字平台匹配。例如,为了提供一致操作和数据处理,数据处理系统102可确定将参数调整到它可采用第一和第二数字平台上的街道地址作为输入。在另一示例中,数据处理系统102可提供对输入的预处理以将输入转换为数字平台所使用的格式。
数据处理系统102可确定选择格式中的一个以供经由对话平台进行处理。数据处理系统102可使用从策略数据结构128所检索到的策略来确定对对话平台优化的或更有效的参数。例如,数据处理系统102可确定使用街道地址或商业实体的名称作为对话平台的输入。
数据处理系统102可确定不同数字平台上的动作或服务的参数之间的不一致性可与针对数字平台所配置的应用的版本相关联。例如,与第二数字平台相比,数据处理系统102可确定第一平台与最新版本更新相关联。数据处理系统102可基于发布版本的日期、顺序版本号或版本名称来确定版本。响应于确定第一平台与最新版本更新相关联,数据处理系统102可通过更新第二参数以与第一参数匹配来解决不一致性。
策略引擎116还可被配置为基于从计算设备104所接收到的音频输入来确定可能动作的排名。例如,用户可将语音命令从计算设备104传输到数据处理系统102。自然语言处理器组件112可被配置为对语音命令进行解析以确定与语音命令相对应的多个可能动作。例如,语音命令可是服务提供者设备108所提供的服务的名称,并且可能的动作可是可以通过该服务调用的任何动作。另外,策略引擎116还可确定用于执行动作的平台。为了确定执行哪个动作以及使用哪个平台,策略引擎116可确定可能动作和平台的排名,并且可选择具有最高排名的动作和平台。排名可基于用户的先前选择、计算设备104的类型或用户当前正在与其交互的平台。排名还可基于用户可能可用的其它类型的计算设备。例如,策略引擎116可确定用户不可以访问移动设备,并且可以排除移动应用作为用于执行动作的潜在平台。
数据处理系统102可包括安装在客户端计算设备104上的应用、脚本或程序,诸如用于将输入音频信号传送到数据处理系统102的接口110并驱动客户端计算设备的组件以渲染输出音频信号的app。数据处理系统102可接收包括或识别音频输入信号的数据分组或其它信号。例如,数据处理系统102可执行或运行NLP组件112以接收或获得音频信号并对音频信号进行解析。例如,NLP组件112可提供人与计算机之间的交互。NLP组件112可被配置有用于理解自然语言并允许数据处理系统102从人类或自然语言输入中取得含义的技术。NLP组件112可包括或被配置有基于诸如统计机器学习的机器学习的技术。NLP组件112可利用决策树、统计模型或概率模型来对输入音频信号进行解析。NLP组件112例如可执行如下功能,诸如:命名实体识别(例如在给定文本流的情况下,确定文本中的哪些词项映射到诸如人或地点的专有名称以及每个这样的名称的类型是什么,该类型诸如人、位置或组织)、自然语言生成(例如将来自计算机数据库的信息或语义意图转换为可理解的人类语言)、自然语言理解(例如将文本转换为诸如计算机模块可操纵的一阶逻辑结构的更形式化的表示)、机器翻译(例如自动将文本从一种人类语言翻译成另一种人类语言)、词素切分(例如将词分成单个词素并识别词素的类别,基于正在被考虑的语言的词的词素或结构的复杂性这可能具有挑战性)、问题回答(例如确定对人类语言问题的答案,这可是特定的或开放式的)、语义处理(例如可在识别词并对其含义进行编码后发生的处理,以便使所识别的词与具有相似含义的其它词相关联)。
NLP组件112通过对输入信号与(例如在数据存储库124中的)存储的、代表性的音频波形集进行比较并选择最接近的匹配来将音频输入信号转换为识别的文本。可将音频波形集存储在数据存储库124或数据处理系统102可访问的其它数据库中。代表性的波形是跨大的用户集生成的,并且然后可以使用来自用户的话音样本来增强。在将音频信号转换成识别的文本之后,NLP组件112使文本与词匹配,所述词例如经由跨用户的训练或通过手动指定而与数据处理系统102可服务的动作相关联。
音频输入信号可由客户端计算设备104的传感器134或换能器136(例如麦克风)检测。经由换能器136、音频驱动器138或其它组件,客户端计算设备104可(例如经由网络105)将音频输入信号提供给数据处理系统102,在数据处理系统102中音频输入信号可(例如通过接口110)被接收并被提供给NLP组件112或存储在数据存储库124中。
NLP组件112可获得输入音频信号。根据输入音频信号,NLP组件112可识别出至少一个请求或与请求相对应的至少一个触发关键字。请求可指示输入音频信号的意图或主题。触发关键字可指示可能采取的动作类型或者应通过其实现请求的平台。例如,NLP组件112可对输入音频信号进行解析以识别用于晚上离开家去参加晚餐和看电影的至少一个请求。触发关键字可包括指示要采取的动作的至少一个词、短语、词根或部分词或者派生词。例如,来自输入音频信号的触发关键字“go(去)”或“to go to(去)”可指示对交通的需要。在该示例中,输入音频信号(或所识别的请求)未直接表达对交通的意图,然而触发关键字指示交通是该请求所指示的至少一个其它动作的辅助动作。
NLP组件112可对输入音频信号进行解析以识别、确定、检索或以其它方式获得请求和触发关键字。例如,NLP组件112可将语义处理技术应用于输入音频信号以识别触发关键字或请求。NLP组件112可将语义处理技术应用于输入音频信号以识别包括诸如第一触发关键字和第二触发关键字的一个或多个触发关键字的触发短语。例如,输入音频信号可包括句子“I need someone to do my laundry and mydry cleaning(我需要有人为我洗衣和干洗)”。NLP组件112可将语义处理技术或其它自然语言处理技术应用于包括该句子的数据分组以识别触发短语“do my laundry(为我洗衣)”和“my dry cleaning(干洗)”。NLP组件112可进一步识别诸如洗衣和干洗的多个触发关键字。例如,NLP组件112可确定出触发短语包括触发关键字和第二触发关键字。
NLP组件112可对输入音频信号进行过滤以识别触发关键字。例如,携带输入音频信号的数据包可包括“It would be great if I could get someone that could helpme go to the airport(如果我能找到可以帮助我去机场的人,那将是非常棒的)”,在这种情况下NLP组件112可过滤掉如下一个或多个词项:“It”、“would”、“be”、“great”、“if”、“I”、“could”、“get”、“someone”、“that”、“could”、或“help”。通过过滤掉这些词项,NLP组件112可以更准确且可靠地识别诸如“go to the airport(去机场)”这样的触发关键字并确定这是对出租车或乘车共享服务的请求。
在一些情况下,NLP组件可确定携带输入音频信号的数据分组包括一个或多个请求。例如,输入音频信号可包括句子“I need someone to do my laundry and my drycleaning(我需要有人为我洗衣和干洗)”。NLP组件112可确定这是对洗衣服务和干洗服务的请求。NLP组件112可确定这是对可提供洗衣服务和干洗服务两者的服务提供者的单个请求。NLP组件112可确定这是两个请求:对执行洗衣服务的服务提供者的第一请求以及对提供干洗服务的服务提供者的第二请求。在一些情况下,NLP组件112可将多个所确定的请求组合成单个请求,并将该单个请求传输到服务提供者设备108。在一些情况下,NLP组件112可将单独的请求传输到相应的服务提供者设备108,或将这两个请求单独地传送到同一服务提供者设备108。
在已识别出要执行的动作之后,数据处理系统102可获取要完成该动作所需的任何其它信息。例如,如上所述,动作可以与任何数量的参数相关联。数据处理系统102可被配置为例如通过发起与计算设备104的数据交换来收集与参数值相对应的信息。数据交换可经由对话平台来实施,其中数据处理系统102将基于音频的提示(例如与话音或自然语言相对应的音频)提供给计算设备104,并且计算设备104的用户通过提供与回答相对应的输入音频信号进行响应。数据处理系统102的自然语言处理器组件112可以被配置为对所接收的音频信号进行处理以确定可被存储为对应参数的值的相应词或多个词。
数据处理系统102可被配置为基于动作和参数值响应地生成动作数据结构。数据处理系统102的处理器可执行生成数据结构的脚本以向服务提供者设备108请求或预定服务或产品,诸如向汽车共享服务请求或预定汽车。策略引擎116可从数据存储库124获得数据以及在终端用户同意的情况下从客户端计算设备104所接收的数据以确定位置、时间、用户账户、运送或其它信息以允许服务提供者设备108执行诸如向汽车共享服务预订汽车的操作。数据处理系统102可与服务提供者设备108通信以通过在该示例中进行汽车共享接送预订来完成转换。
数据处理系统102可执行指定动作以满足如由数据处理系统102所确定的那样的终端用户的意图。根据在其输入中所指定的动作,数据处理系统102可执行识别用于实现用户请求的参数的代码或对话脚本。这样的代码可例如在数据存储库124中查找诸如家庭自动化服务的名称的附加信息,或者它可提供用于在客户端计算设备104处渲染的音频输出以询问终端用户问题,诸如所请求的出租车的意指的目的地。数据处理系统102可确定必需的参数并且可将信息打包到动作数据结构中,然后可将所述动作数据结构发送到另一组件发送到服务提供者计算设备108以被实现。动作数据结构还可包括对要用于实现用户请求的平台的指示。例如,动作数据结构可指示应通过移动应用执行动作,并且然后服务提供者设备108可将与动作相对应的信息传输到在计算设备104上执行的移动应用。因而,如果用户请求汽车并且数据处理系统102确定应通过移动应用来实现该请求,则数据处理系统102可生成数据结构以包括对要通过移动应用执行的动作的指示,并且服务提供者设备108可将对乘车的确认传输到在计算设备104上执行的移动应用。
动作数据结构可基于模板数据结构,该模板数据结构可包含在存储在数据存储库124中的模板132中。数据处理系统102可确定动作的类型以便从存储在数据存储库124中的模板存储库132选择模板。动作的类型可包括例如服务、产品、预订或票务。动作类型可进一步包括服务或产品的类型。例如,服务的类型可包括汽车共享服务、食物配送服务、洗衣服务、清洁服务、维修服务或家政服务。产品类型可包括例如衣服、鞋子、玩具、电子器件、计算机、书籍或珠宝。预订的类型可包括例如晚餐预订或美发沙龙预约。票务的类型可包括例如电影票、运动场馆票或机票。在一些情况下,可基于价格、位置、运输类型、可用性或其它属性来对服务、产品、预订或票务的类型进行分类。
一旦识别了请求的类型,策略引擎116可从模板存储库132访问对应的模板。模板可在结构化数据集中包括字段,该字段可由策略引擎116填充以促进服务提供者设备108的被请求的操作(诸如派遣出租车以在接取地点接取终端用户并将终端用户运送到目的地位置的操作)。策略引擎116可在模板存储库132中执行查找以选择与触发关键字和请求的一个或多个特性或参数相匹配的模板。例如,如果请求与对汽车或乘车到目的地的请求相对应,则数据处理系统102可选择汽车共享服务模板。汽车共享服务模板可包括由策略引擎116识别为与请求乘车的动作相对应的参数,诸如以下字段中的任何一个或多个:设备标识符、接取位置、目的地位置、乘客数量或服务类型。策略引擎116可使用值填充字段。为了使用值来填充字段,策略引擎116可对来自计算设备104的一个或多个传感器134或者设备104的用户界面的信息进行查验、轮询或以其它方式获得信息。如上所述,可经由数据处理系统102与计算设备104之间的交互式数据交换来获得参数的值中的至少一些,所述交互式数据交换可以经由对话平台来执行。数据处理系统102还可使用诸如GPS传感器的位置传感器来检测计算设备104的源位置。因而,数据处理系统102可基于触发关键字或请求选择动作数据结构的模板,使用由一个或多个传感器134所检测的或经由用户界面所获得的信息来填充模板中的一个或多个参数或字段并且生成、创建或以其它方式构造动作数据结构以便于服务提供者设备108执行操作。
为了构造或生成动作数据结构,数据处理系统102可以识别所选模板中的一个或多个字段以使用值进行填充。可使用数字值、字符串、Unicode值、布尔逻辑、二进制值、十六进制值、标识符、位置坐标、地理区域、时间戳或其它值来填充字段。可对字段或数据结构本身进行加密或掩码以保持数据安全性。
一旦确定了模板中的字段,数据处理系统102可识别字段的值以填充模板的字段以创建动作数据结构。数据处理系统102可通过在数据存储库124上执行查找或其它查询操作来获取、检索、确定或以其它方式识别字段的值。
因而,一旦接收到包括由客户端计算设备104的传感器134所检测的输入音频信号的数据分组,数据处理系统102可对输入音频信号进行解析或以其它方式进行处理以识别动作和服务。动作可以指或对应于动作数据结构。动作可包括动作数据结构。服务可以指与服务提供者设备108相关联的服务提供者或实体的名称。动作可以指例如“play Song_1byArtist_A(播放艺术家_A的歌曲_1)”,并且服务可以指例如“Music Service_A(音乐服务_A)”。在另一示例中,动作可是“book a ride from location_A to location_B(预约从位置_A到位置_B的乘车)”并且服务可是“Ridesharing Company A(乘车共享公司A)”。
数据处理系统102可基于策略和输入音频信号或历史执行信息中的至少一个来选择多个数字平台中的第一平台以执行动作。例如,从输入音频信号所识别的服务提供者可能已配置了诸如基于Web的应用、本机移动应用或对话数字助理平台的一个或多个应用以用于经由两个或多个数字平台执行。在一些情况下,数据处理系统102可能已通过自动识别并解决任何不一致性而自动配置了应用以用于经由多个数字平台执行。
数据处理系统102可基于排名策略从多个数字平台选择数字平台。数据处理系统102可从策略数据结构128检索排名策略。数据处理系统102可使用可确定多个数字平台中的每一个的排名的排名策略。数据处理系统102可使用排名策略来确定多个数字平台中的每一个的得分,并且然后选择最高得分(或最低得分,这取决于分数类型)数字平台来执行动作。数据处理系统102可使用排名策略以基于诸如历史执行、历史执行的频率、数字平台的计算资源利用、计算设备104的类型、偏好信息、服务提供者偏好信息或其它因素的一个或多个因素来对数字平台进行排名或得分。
数据处理系统102可使用排名策略以基于历史执行来选择数字平台。例如,数据处理系统102可使用排名策略来确定计算设备104使用哪个数字平台先前执行动作、执行该类型的动作或者执行与服务提供者设备108相关联的动作或服务。数据处理系统102可选择最近用于执行动作、执行该类型的动作或执行与服务提供者设备相关联的动作或服务的数字平台。数据处理系统102可获得对响应于来自计算设备104的请求而被执行以执行服务的动作的先前平台的指示,并且然后数据处理系统102基于执行动作的先前平台来选择平台。
数据处理系统102可使用排名策略以基于历史执行的频率来选择数字平台。例如,数据处理系统102可确定用户或者其它用户最常选择哪个数字平台来执行服务或服务上的动作。执行频率可是在诸如最近24小时、48小时、72小时、1周、2周或30天的一个时间段期间的执行次数。
数据处理系统102可使用排名策略以基于计算资源利用来选择数字平台。数据处理系统102可基于计算资源利用来确定选择数字平台。数据处理系统102可基于计算设备104的类型或计算设备104的状态来确定使用计算资源利用作为选择数字平台的因素。例如,如果计算设备104是正在使用电池电力且未与电源相连的移动设备,则数据处理系统102可确定使用计算资源利用作为因素。然而,如果计算设备104是与诸如壁装电源插座的电源相连的移动设备,则数据处理系统102可能不使用计算资源利用作为因素,因为当前不使用电池。
数据处理系统102可确定哪个数字平台利用客户端计算设备104的最少计算资源。计算资源可包括例如电池消耗、网络带宽利用或处理器消耗。例如,与本机移动应用相比,web应用可以使用更少的计算设备104的计算资源,因为web应用的功能性存在于与服务提供者设备108相关联的服务器上,而本机移动应用是使用移动计算设备(例如计算设备104)的处理器和存储器利用在计算设备104上执行的。然而,与本机移动应用相比,web应用可能利用更多的网络带宽,因为web应用可能使用网络来传输用于处理的输入和输出。对话数字助理平台可能利用基于语音的用户界面,该用户界面不使用显示设备或者键盘或者触摸输入或输出。因而,与web应用和本机移动应用相比,对话数字助理平台可能不利用显示资源并且从而降低了电池消耗。此外,大多数数据处理可由数据处理系统102或服务提供者设备108(例如服务提供者的服务器)执行。然而,对话数字助理平台可以利用网络带宽以传输包含音频信号的数据分组,并且由于获得并提供可包括多个查询和响应的信息的对话性质而可以使用多个数据传输。
为了选择可以利用本地计算设备的最少计算资源的数字平台,数据处理系统102可保持与不同数字平台相关联的计算资源利用的历史、记录或日志。例如,数据处理系统102可将对与每个数字平台的服务或动作的类型相关联的计算资源利用量的指示保持在数据存储库124或平台数据结构130中。此后,数据处理系统102选择与客户端计算设备104的最少历史计算资源利用相关联的数字平台。因而,数据处理系统102可基于确定与经由多个数字平台中的第二平台执行动作相比经由该平台执行动作利用更少的计算资源来选择平台。
数据处理系统102可基于计算设备104的类型来确定选择哪个数字平台。计算设备104可指接收输入音频信号的设备。计算设备104可指有助于执行动作或服务的设备。计算设备104的类型可包括例如移动计算设备、膝上型计算机、台式计算机、智能手机、智能手表、可穿戴计算设备、平板计算设备、智能扬声器或智能电视。计算设备104的类型也可指可用接口的类型。例如,计算设备104的类型可包括仅语音计算设备、音频和视觉计算设备、仅视觉计算设备或触摸屏输入计算设备。
数据处理系统102可基于与计算设备104或其用户相关联的偏好信息来选择数字平台。数据处理系统102可访问与计算设备104的用户相关联的账户或简档以确定偏好信息。可将偏好信息存储在计算设备104的存储器中或数据存储库124中。偏好信息可在输入音频信号中被指示。例如,用户可在初始输入音频信号中指示动作、服务以及用于执行动作的数字平台。数据处理系统102可基于对输入音频信号进行解析或者在数据存储库124中执行对偏好信息的查找来确定偏好。偏好信息可包括对动作类型、服务类型的偏好或一般偏好。
数据处理系统102可基于由服务提供者设备108提供的或与服务提供者设备108相关联的偏好信息来选择要使用的数字平台。例如,服务提供者108可指示对要用于一种类型的动作或服务的一种类型的数字平台的偏好。
因而,数据处理系统102可使用一个或多个排名策略来选择数字平台。数据处理系统102对排名策略的结果进行加权以便选择数字平台。例如,数据处理系统102可对用户偏好加权最高、对服务提供者偏好加权第二高、对历史执行加权第三高并且对计算资源利用加权第四高。如果用户或服务提供者偏好信息不存在,则数据处理系统102可使用历史执行信息或计算资源利用信息来选择数字平台。
响应于对数字平台的选择,数据处理系统102可发起交互式数据交换以填充与动作相对应的动作数据结构的参数。交互式数据交换可指或包括提供对信息的查询或请求以获得用于填充动作数据结构中的参数的数据。初始输入音频信号可能不包括足以生成或执行动作数据结构的信息;然而,初始输入音频信号可以包括足以识别动作和服务提供者的信息。然后数据处理系统可根据需要向计算设备查询附加信息以填充动作数据结构。例如,乘车共享请求的动作数据结构可包括诸如当前位置、目的地、乘客数量以及时间的参数。然而,输入音频信号可以仅包括对乘车的请求和目的地。然后数据处理系统可向计算设备查询当前位置。计算设备可以包括位置模块或传感器,该位置模块或传感器被配置为确定计算设备的位置并将该位置信息自动地提供给数据处理系统或服务提供者。数据处理系统可使得计算设备输出向计算设备的用户请求接取位置的音频提示。数据处理系统可传输或提供对信息的附加提示,并且计算设备或其用户可输入用于填充动作数据结构的附加信息。查询和响应的类型、格式或数量可基于数字平台的类型而变化。例如,本机应用可以自动地提供位置信息,而对话应用可以请求用户指示接取位置。因而,交互式数据交换可包括自动地来自计算设备或来自计算设备的用户的多个查询和响应,以便填充动作数据结构以使用所选择的数字平台对所请求的服务执行所请求的动作。
数据处理系统102可使用动作数据结构来经由所选择的平台执行动作。数据处理系统102可将动作数据结构传输到第三方提供者设备(例如服务提供者设备108),以使得第三方提供者设备(例如服务提供者设备108)调用对话应用编程接口(例如服务提供者NLP组件142)并在第三方提供者设备(例如服务提供者设备108)与客户端计算设备104之间建立通信会话。动作数据结构还可使得服务提供者设备108经由不同平台在服务提供者设备108与计算设备104之间建立通信会话。响应于在服务提供者设备108与客户端计算设备104之间建立通信会话,服务提供者设备108可经由网络105将数据分组直接传输到客户端计算设备104。在一些情况下,服务提供者设备108可经由数据处理系统102和网络105将数据分组传输到客户端计算设备104。
在一些情况下,第三方提供者设备(例如服务提供者设备108)可执行对话API的至少一部分。例如,第三方提供者设备(例如服务提供者设备108)可处置通信会话或查询类型的某些方面。第三方提供者设备(例如服务提供者设备108)可以利用由数据处理系统102执行的NLP组件112以便于对与通信会话相关联的音频信号进行处理并生成对查询的响应。在一些情况下,数据处理系统102可包括针对第三方提供者(例如服务提供者设备108)所配置的对话API。在一些情况下,数据处理系统在客户端计算设备与第三方提供者设备之间路由数据分组以建立通信会话。数据处理系统102可从第三方提供者设备(例如服务提供者设备108)接收对第三方提供者设备建立了与客户端设备(例如计算设备104)的通信会话的指示。指示可包括客户端计算设备104的标识符、与建立通信会话的时间相对应的时间戳或者与通信会话相关联的其它信息,诸如与通信会话相关联的动作数据结构。
在一些情况下,对话API可是包括第一NLP 112的一个或多个组件或功能的第二NLP。第二NLP 142可与第一NLP 112交互或利用第一NLP 112。在一些情况下,系统100可包括由数据处理系统102执行的单个NLP 112。单个NLP 112可支持数据处理系统102和第三方服务提供者设备108两者。在一些情况下,策略引擎116生成或构造动作数据结构以便于执行服务,并且对话API生成响应或查询以进一步与终端用户进行通信会话或者获得附加信息以改进或增强终端用户的体验或服务的性能。
数据处理系统102可包括、执行、访问对话处置器组件114或者以其它方式与对话处置器组件114进行通信以在客户端设备(例如计算设备104)与数据处理系统102之间建立通信会话。通信会话可以指客户端设备(例如计算设备104)与数据处理系统102之间的一个或多个数据传输,该一个或多个数据传输包括由客户端设备(例如计算设备104)的传感器134所检测的输入音频信号以及由数据处理系统102传输到客户端设备(例如计算设备104)的输出信号。数据处理系统102(例如经由会话处置器组件114)可响应于接收到输入音频信号而建立通信会话。数据处理系统102可设置通信会话的持续时间。数据处理系统102可为针对通信会话所设置的持续时间设置定时器或计数器。响应于定时器到期,数据处理系统102可终止通信会话。
图2是用于对分组的音频信号执行动态调制的示例性方法的图示。方法200可由系统100或以下结合图3所描述的系统300的一个或多个组件、系统或元件执行。例如,方法200可以由数据处理系统102、计算设备104或服务提供者设备108执行。在ACT 205,方法200可包括数据处理系统从服务提供者设备接收经由多个数字平台执行与服务相关联的动作的应用。例如,数据处理系统可接收与服务的多个平台相对应的计算机指令。计算机指令可包括任何类型或形式的计算机逻辑或可执行代码以在两个或更多平台上实施服务。例如,计算机指令可包括服务的移动应用、服务的桌面应用以及服务的基于web的应用。通常,应用可被配置为跨不同的平台提供相似或相同的功能性。
在ACT 210,方法200可包括数据处理系统调试应用以验证多个数字平台中的至少两个平台上的动作的参数。方法200可包括执行对计算机指令的调试以验证至少两个平台上的动作的参数。每个平台的计算机指令可包括与每个平台的至少一个动作有关的指令。动作可具有多个相关联的参数。例如,动作可以对应于进行餐厅预订,并且参数可包括时间、聚会规模以及餐厅名称。参数可由计算机指令中的标签或其它标记来指示。在一些情况下,第一平台(例如移动应用)上的服务的参数可以不同于第二平台(例如基于web的应用)上的相同服务的参数。这可是由于两个应用的版本差异或开发人员的无意错误。为了改进服务的跨平台的一致性,数据处理系统可确定跨至少两个平台的动作的参数之间是否存在冲突(ACT 215)。如果存在冲突,则数据处理系统可解决冲突(ACT 220)。例如,数据处理系统102的组件(诸如调试器组件118)可通过向服务提供者设备108传输指示存在不一致性或不匹配的信息并请求用户通过更新服务的不同平台的计算机指令解决不一致性或不匹配来提示应用的开发人员手动地解决不一致性或不匹配。数据处理系统102还可实施可允许这种冲突的自动解决的规则或策略集。例如,如果移动应用的最近安装版本比基于web的应用的最近安装版本更新,则数据处理系统102可选择移动应用的参数并且忽略基于web的应用的参数。
在ACT 225,该方法可包括数据处理系统经由接口接收包括由客户端设备的传感器所检测的输入音频信号的数据分组。数据处理系统102可接收来自诸如计算设备104的客户端计算设备的输入音频信号。例如,由数据处理系统102执行的自然语言处理器组件可经由数据处理系统的接口接收来自客户端计算设备的输入音频信号。数据处理系统可接收携带或包括由客户端计算设备(或客户端设备)的传感器检测到的输入音频信号的数据分组。
在ACT 230,方法200可包括数据处理系统对输入音频信号进行解析以识别动作和服务。自然语言处理器组件可对输入音频信号进行解析以识别请求以及与请求相对应的触发关键字。例如,由客户端设备所检测的音频信号可包括“Okay device,I need a ridefrom Taxi Service Company A to go to 1234Main Street(好的设备,我需要乘车从出租车服务公司A去1234主街)”。在该音频信号中,初始触发关键字可包括“okay device(好的设备)”,其可指示客户端设备将输入音频信号传输到数据处理系统。客户端设备的预处理器可在将剩余音频信号发送到数据处理系统之前过滤掉词项“okay device(好的设备)”。在一些情况下,客户端设备可过滤掉附加词项或生成关键字以传输到数据处理系统以进行进一步处理。
数据处理系统可识别输入音频信号中的触发关键字。触发关键字可包括例如“togo to(去)”或“ride(乘车)”或这些词项的变化。触发关键字可指示服务或产品的类型。数据处理系统可识别输入音频信号中的请求。可基于词项“I need(我需要)”来确定请求。可使用语义处理技术或其它自然语言处理技术来确定触发关键字和请求。识别动作可指确定将要执行什么。识别服务可指诸如音乐流服务的执行动作的服务类型或者诸如音乐流公司A的执行动作的特定服务提供者。数据处理系统可识别诸如“ride(乘车)”的动作以及诸如“Ride Sharing Company(乘车共享公司)”的服务。在另一示例中,动作可是“play Song_1by Artist_A(播放艺术家_A的歌曲_1)”并且服务可是“Music Streaming Service A(音乐流服务A)”。为了识别动作和服务,数据处理系统102可利用自然语言处理、语义分析或其它处理技术来识别输入音频信号中的关键字或实体。为了确认对服务的识别,数据处理系统可在数据存储库中执行查找以确认所指示的服务是已验证的服务提供者。
在ACT 235,方法200可包括数据处理系统基于策略和输入音频信号或历史执行信息中的至少一个来选择多个数字平台中的第一平台来执行动作。方法200可包括从多个平台中选择第一平台以用于执行动作。可基于诸如排名策略的与动作有关的规则或策略集以及从计算设备104所接收的音频输入来选择平台。规则或策略可被配置为降低资源计算、资源消耗或者例如通过允许通过对用户最方便的平台来执行动作而为用户提供改进的体验。例如,数据处理系统102可确定用于执行动作的可能平台的排名。排名可基于用户的先前选择、计算设备104的类型或者用户当前正在与其交互的平台。排名还可基于用户可能可用的其它类型的计算设备。排名还可基于与动作有关的要提供给用户的信息的类型或量。例如,如果用户正在请求诸如当前天气状况的少量信息,则数据处理系统102可确定要使用的平台应是对话平台。如果用户正在请求诸如用户可能在以后需要其交易记录的旅馆预订的更复杂信息,则数据处理系统102可确定平台应是例如移动应用平台或基于Web的应用程序,而不是对话平台。
在ACT 240,方法200可包括数据处理系统102发起数据交换以填充动作数据结构的参数。响应于对第一平台的选择,数据处理系统可发起交互式数据交换以填充与动作相对应的动作数据结构的参数。动作数据结构可响应于请求。例如,如果客户端计算设备的终端用户向出租车服务公司A请求出租车,则动作数据结构可包括向出租车服务公司A请求出租车服务的信息。数据处理系统可选择出租车服务公司A的模板并使用值填充模板中的字段以允许出租车服务公司A向客户端计算设备的用户派遣出租车以接取用户并将用户运送到所请求的目的地。数据处理系统102可通过向计算设备104提供提示并从计算设备104接收响应于提示的输入来填充动作数据结构。例如,数据交换可是对话数据交换,在该对话数据交换中数据处理系统102传输与对数据处理系统102不知道的动作数据结构的参数中的任何一个的请求相对应的音频信号。
数据处理系统102可以能够例如基于计算设备104的134自动提供给数据处理系统102的信息来自动填充动作数据结构的参数中的至少一些。此类信息可以包括计算设备104的设备标识符或基于GPS数据的计算设备104的地理位置。可经由对话数据交换或其它形式的数据交换来获得其它信息。例如,数据处理系统102可提示计算设备104的用户使用诸如键盘的基于文本的界面而不是使用对话界面来输入与动作数据结构的参数值相对应的输入。动作数据结构还可包括对应该通过其执行动作的平台的指示。例如,平台可是在方法200的ACT 235中所选择的平台。
在ACT 245,方法200可包括数据处理系统经由所选择的平台执行与动作数据结构相对应的动作。数据处理系统可使用动作数据结构经由所选择的平台执行动作。例如,数据处理系统102可以将动作数据结构传输到第三方提供者设备(例如服务提供者设备108)以使得第三方服务提供者设备108经由所选择的平台执行动作的至少一部分。服务提供者设备108可对所接收的动作数据结构进行解析或处理并确定调用诸如对话API的API,并在服务提供者设备108与客户端计算设备104之间建立通信会话。服务提供者设备108可基于动作数据结构的内容来确定调用或以其它方式执行或利用对话API。例如,服务提供者设备108可对与动作数据结构相关联的交易(例如将付款传输给乘车共享公司、旅馆、餐厅等)进行处理并且可将对交易的确认传输到计算设备104。可经由在ACT 235中所选择的平台来传输确认。例如,如果所选择的平台是基于Web的应用,则服务提供者设备108可向计算设备104传输信息,使得计算设备104启动web浏览器并加载所选择的基于web的应用的网页。
图3是示例性计算机系统300的方框图。计算机系统或计算设备300可包括或用于实施系统100或诸如数据处理系统102的系统100的组件。数据处理系统102可包括智能个人助理或基于语音的数字助理。计算系统300包括用于传送信息的总线305或者其它通信组件以及与总线305相耦合的用于处理信息的处理器310或处理电路。计算系统300还可包括与总线相耦合的用于处理信息的一个或多个处理器310或处理电路。计算系统300还包括诸如随机存取存储器(RAM)的与总线305相耦合的用于存储信息以及将由处理器310执行的指令的主存储器315或其它动态存储设备。主存储器315可是或包括数据存储库124。主存储器315还可用于在处理器310执行指令期间存储位置信息、临时变量或其它中间信息。计算系统300可以进一步包括与总线305相耦合的用于存储处理器310的静态信息和指令的只读存储器(ROM)320或者其它静态存储设备。诸如固态设备、磁盘或光盘的存贮设备325可与总线305相耦合以持久地存储信息和指令。存贮设备325可包括数据存储库124或者是数据存储库124的一部分。
计算系统300可以经由总线305与诸如液晶显示器或有源矩阵显示器的用于向用户显示信息的显示器335相耦合。诸如包括字母数字和其它键的键盘的输入设备330可以与总线305相耦合以用于将信息和命令选择传送到处理器310。输入设备330可包括触摸屏显示器335。输入设备330还可包括诸如鼠标、轨迹球或光标方向键的用于将方向信息和命令选择传送给处理器310并对显示器335上的光标移动进行控制的光标控件。显示器335可是例如数据处理系统102、客户端计算设备104或者图1的其它组件的一部分。
本文所述的处理、系统以及方法可由计算系统300响应于处理器310执行包含在主存储器315中的指令布置而实施。这种指令可从诸如存储设备325的另一计算机可读介质读入到主存储器315中。包含在主存储器315之中的指令布置的执行使得计算系统300执行本文所述的说明性处理。还可以采用多处理布置中的一个或多个处理器来执行包含在主存储器315中的指令。硬连线电路可以代替软件指令或者与软件指令组合与本文所述的系统和方法一起被使用。本文所述的系统和方法不限于硬件电路与软件的任何特定组合。
虽然在图3中已描述了示例性计算系统,但是包括在本说明书中所描述的操作的主题可在其他类型的数字电子电路中、或者在包括在本说明书中所公开的结构及其结构等同物的计算机软件、固件或硬件中、或者它们中的一个或多个的组合中实施。
对于本文所讨论的系统收集与用户有关的个人信息或者可以利用个人信息的情况,可以向用户提供用于控制程序或特征是否收集用户信息(例如与用户的社交网络有关的信息、社交动作或活动、用户的偏好或用户的位置)或者控制是否或如何从内容服务器或其它数据处理系统接收可能与用户更相关的内容的机会。另外,可以在存储或使用某些数据之前按照一个或多个方式对其进行匿名化,以便在生成参数时除去个人可识别信息。例如,可以对用户身份进行匿名化以便不可针对用户确定个人可识别信息,或者在可获得位置信息的情况下将用户地理位置一般化(诸如一般化到城市、邮政编码或者州级),使得无法确定用户的特定位置。因而,用户可以控制如何收集与他或她有关的信息以及如何由内容服务器使用。
在本说明书中所描述的主题和操作可在数字电子电路中或者在包括在本说明书中所公开的结构及其结构等同物的计算机软件、固件、或硬件中或者在它们中的一个或多个的组合中实施。在本说明书中所描述的主题可作为被编码在一个或多个计算机存储介质上以由数据处理装置执行或者对数据处理装置的操作进行控制的一个或多个计算机程序产品实施,所述一个或多个计算机程序产品例如是计算机程序指令的一个或多个电路。替选地或另外,程序指令可被编码在例如机器生成的电、光或电磁信号的人工产生的传播信号上,所述信号被生成以对信息进行编码以传输到适当接收器装置以由数据处理装置执行。计算机存储介质可以是下述或包含在以下中:计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备或者它们中的一个或多个的组合。虽然计算机存储介质不是传播信号,但是计算机存储介质可是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质还可是一个或多个单独的组件或介质(例如多个CD、盘或者其它存储设备)或者包含在一个或多个单独的组件或介质中。在本说明书中所描述的操作可被实施为由数据处理设备对存储在一个或多个计算机可读存储设备上的或从其它源所接收的数据执行的操作。
术语“数据处理系统”、“计算设备”、“组件”或“数据处理装置”包含用于处理数据的各种装置、设备以及机器,其包括例如可编程处理器、计算机、芯片上系统或前述的组合。装置可包括例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)的专用逻辑电路。除了硬件之外,装置还可包括为讨论中的计算机程序创建执行环境的代码,例如构成了处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时间环境、虚拟机或者它们中一个或多个的组合的代码。装置和执行环境可实现诸如web服务、分布式计算以及网格计算基础结构的各种不同的计算模型基础结构。例如,策略引擎116、调试器组件118或NLP组件112以及其它数据处理系统102组件可包括或共享一个或多个数据处理装置、系统、计算设备或处理器。
计算机程序(也称为程序、软件、软件应用、app、脚本或者代码)可以包括编译或解释语言、说明性或过程语言的任何形式的编程语言来编写,并且可以任何形式部署,所述形式包括作为独立程序或作为模块、组件、子例程、对象或者适合于在计算环境中使用的其它单元。计算机程序可与文件系统中的文件相对应。可将程序存储在保持其它程序或数据的文件(例如存储在标记语言文档中的一个或多个脚本)的一部分中、存储在专用于讨论中的程序的单个文件中或者存储在多个协调文件(例如用于存储一个或多个模块、子程序或者代码的部分的文件)中。可将计算机程序部署为在一个计算机上或者在位于一个地点或跨多个地点分布且通过通信网络互连的多个计算机上执行。
在本说明书中所描述的处理和逻辑流可由用于执行一个或多个计算机程序的一个或多个可编程处理器(例如数据处理系统102的组件)执行以通过对输入数据进行操作并生成输出来执行动作。所述处理和逻辑流还可由专用逻辑电路来执行,并且装置还可作为所述专用逻辑电路来实施,所述专用逻辑电路例如是FPGA(可编程门阵列)或ASIC(专用集成电路)。适于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质以及存储器设备,其包括例如:半导体存储器设备,例如EPROM、EEPROM以及闪速存储器设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
本文所描述的主题可在计算系统中实施,所述计算系统包括:后端组件,例如作为数据服务器;或者中间件组件,例如应用服务器;或者前端组件,例如具有用户通过其可与在本说明书中所描述的主题的实施方式交互的图形用户界面或web浏览器的客户端计算机;或者一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可通过例如通信网络的任何形式或介质的数字数据通信互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网络(例如好了)以及对等网络(例如ad hoc对等网络)。
诸如系统100或系统300的计算系统可包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络(例如网络165)进行交互。客户端与服务器的关系借助于在相应计算机上运行的并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施方式中,服务器将数据(例如表示内容项的数据分组)传输到客户端设备(例如为了向与客户端设备相交互的用户显示数据并且接收来自所述用户的用户输入)。可在服务器处从客户端设备接收(例如由数据处理系统102从计算设备104或内容提供者计算设备106或服务提供者计算设备108接收)在客户端设备上所生成的数据(例如用户交互的结果)。
虽然在附图中以特定顺序描绘了操作,但是不需要以所示的特定顺序或者以连续顺序执行这样的操作,并且不需要执行所有说明的操作。本文所述的动作可以不同的顺序执行。
各种系统组件的分离不是在所有实施方式中均需要分离,并且所述的程序组件可包含在单个硬件或软件产品中。例如,NLP组件112或调试器组件118可是单个组件、app或程序、或具有一个或多个处理电路的逻辑设备或数据处理系统102的一个或多个服务器的一部分。
现在已经描述了一些说明性的实施方式,很明显的是前述是说明性的而不是限制性的,已通过示例的方式给出。特别地,虽然本文所呈现的许多示例涉及方法动作或系统元件的特定组合,但是可以以其它方式对那些动作和那些元件进行组合以实现相同目标。结合一个实施方式所讨论的动作、元件以及特征不旨在被排除在其它实施方式中的类似作用或实施方式外。
本文所使用的措词和术语是出于描述的目的并且不应被视为限制性的。在本文“包括(including)”、“包括(comprising)”、“具有(having)”、“包含(containing)”、“涉及(involving)”、“特征在于(characterized by)”、“特征在于(characterized in that)”及其变化的使用意在包含其后所列的项、其等同物和附加项以及排他地由其后所列的项组成的替代实施方式。在一个实施方式中,本文所述的系统和方法由所描述的元件、动作或组件中的一个、多于一个的每个组合或所有组成。
对本文以单数形式提及的系统或方法的实施方式或要素或动作的任何提及也可以涵盖包括多个这些要素的实施方式,并且本文对任何实施方式或要素或动作的复数形式的任何提及也可以涵盖仅包含单个要素的实施方式。单数或复数形式的提及不是旨在将当前公开的系统或方法、它们的组件、动作或要素限制为单个或多个配置。对基于任何信息、动作或要素的任何动作或要素的提及可以包括在其中该动作或要素至少部分地基于任何信息、动作或要素的实施方式。
本文所公开的任何实施方式可以与任何其它实施方式或实施例结合,并且对“实施方式”、“一些实施方式”、“一个实施方式”等的提及不一定是互斥的并且旨在指示出结合实施方式所描述的特定特征、结构或特性可以包含在至少一个实施方式或实施例中。如本文所使用的术语不一定全部指代相同实施方式。任何实施方式可以以与本文所公开的方面和实施方式相一致的任何方式包含地或排他地与任何其它实施方式相结合。
可以将对“或”的提及解释为包括性的,以便使用“或”所描述的任何术语可以指示出术语中的单个、多于一个以及所有中的任何一个。例如,对“‘A’和‘B’中的至少一个”的提及可以包括仅‘A’、仅‘B’以及‘A’和‘B’两者。结合“包括”或其它开放式术语所使用的这种提及可包括附加项。
在附图、详细描述或任何权利要求中的技术特征之后是附图标记的情况下,已包括了附图标记以提高对附图、详细描述以及权利要求的可理解性。因此,附图标记或它们的不存在对任何权利要求要素的范围没有任何限制作用。
本文描述的系统和方法可以按照其他特定形式来体现而不背离其特性。例如,数据处理系统的功能性可至少部分地在客户端计算设备或服务提供者设备上执行。
Claims (40)
1.一种用于选择用于执行基于语音的命令的数字平台的系统,包括:
数据处理系统,所述数据处理系统包括至少一个处理器和存储器,用于:
经由所述数据处理系统的接口接收包括由客户端设备的传感器检测到的输入音频信号的数据分组;
解析所述输入音频信号以识别动作和与所述动作相关联的服务;
基于策略以及所述输入音频信号或历史执行信息中的至少一个,选择与所述服务相关联的多个数字平台中的第一平台来执行所述动作;
响应于对所述第一平台的选择,发起交互式数据交换以填充与所述动作相对应的动作数据结构的参数;以及
使用所述动作数据结构经由所述第一平台来执行所述动作。
2.根据权利要求1所述的系统,其中,所述多个数字平台包括所述服务的基于web的应用平台、所述服务的移动应用平台以及所述服务的对话平台中的至少一个。
3.根据权利要求1所述的系统,包括所述数据处理系统用于:
针对所述动作识别指示所述多个数字平台中的所述第一平台的第一参数的第一标记信息;
针对所述动作识别指示所述多个数字平台中的第二平台的第二参数的第二标记信息;
基于对所述第一标记信息与所述第二标记信息的比较,确定所述第一参数与所述第二参数之间的冲突;以及
向服务提供者设备提供对所述冲突的指示。
4.根据权利要求1所述的系统,包括所述数据处理系统用于:
针对所述动作识别所述多个数字平台中的所述第一平台的第一参数以及指示所述多个数字平台中的第二平台的第二参数的第二标记信息;
基于比较,确定所述第一参数与所述第二参数之间的冲突;以及
向服务提供者设备传输用于解决所述冲突的提示。
5.根据权利要求4所述的系统,包括所述数据处理系统用于:
确定与基于web的应用平台相比,更少的参数针对所述对话平台被配置;
其中,所述第一平台是所述服务的基于web的应用平台,并且所述第二平台是所述服务的对话平台。
6.根据权利要求1所述的系统,包括所述数据处理系统用于:
识别在所述多个数字平台中的至少两个上的所述动作的所述参数内的冲突;以及
基于由所述数据处理系统存储的至少一个策略,自动地解决所述冲突。
7.根据权利要求1所述的系统,包括所述数据处理系统用于:
识别在所述多个数字平台中的至少两个上的所述动作的所述参数内的冲突;以及
通过移除与所述多个数字平台中的所述至少两个中的一个数字平台上的所述动作相关联的至少一个参数,自动地解决所述冲突。
8.根据权利要求1所述的系统,包括所述数据处理系统用于:
针对所述动作识别所述多个数字平台中的所述第一平台的第一参数以及指示所述多个数字平台中的第二平台的第二参数的第二标记信息;
基于比较,确定所述第一参数与所述第二参数之间的不一致性;
响应于对所述不一致性的确定,检索服务提供者设备的解决策略;以及
基于所述解决策略,解决所述不一致性。
9.根据权利要求8所述的系统,包括所述数据处理系统用于:
确定与所述第二平台相比所述第一平台与最新版本更新相关联;以及
响应于确定所述第一平台与所述最新版本更新相关联,通过更新所述第二参数以与所述第一参数匹配来解决所述不一致性。
10.根据权利要求1所述的系统,包括:
所述数据处理系统用于:基于排名策略选择所述多个数字平台中的所述第一平台。
11.根据权利要求1所述的系统,其中,所述历史执行信息包括响应于来自所述客户端设备的请求先前平台被执行以执行所述服务的所述动作的指示,包括:
所述数据处理系统用于:基于执行所述动作的所述先前平台是所述第一平台而选择所述第一平台。
12.根据权利要求1所述的系统,包括:
所述数据处理系统用于:基于确定与经由所述多个数字平台中的第二平台执行所述动作相比经由所述第一平台执行所述动作利用更少的计算资源而选择所述第一平台。
13.一种选择用于执行基于语音的命令的数字平台的方法,包括:
经由数据处理系统的接口,接收包括由客户端设备的传感器检测到的输入音频信号的数据分组;
由所述数据处理系统,解析所述输入音频信号以识别动作和与所述动作相关联的服务;
由所述数据处理系统,基于策略以及所述输入音频信号或历史执行信息中的至少一个,选择与所述服务相关联的多个数字平台中的第一平台来执行所述动作;
由所述数据处理系统,响应于对所述第一平台的选择,发起交互式数据交换以填充与所述动作相对应的动作数据结构的参数;以及
由所述数据处理系统,使用所述动作数据结构经由所述第一平台来执行所述动作。
14.根据权利要求13所述的方法,其中,所述多个数字平台包括所述服务的基于web的应用平台、所述服务的移动应用平台以及所述服务的对话平台中的至少一个。
15.根据权利要求13所述的方法,包括:
针对所述动作识别指示所述多个数字平台中的所述第一平台的第一参数的第一标记信息;
针对所述动作识别指示所述多个数字平台中的第二平台的第二参数的第二标记信息;
基于对所述第一标记信息与所述第二标记信息的比较,确定所述第一参数与所述第二参数之间的冲突;以及
向服务提供者设备提供对所述冲突的指示。
16.根据权利要求13所述的方法,包括:
针对所述动作识别所述多个数字平台中的所述第一平台的第一参数以及指示所述多个数字平台中的第二平台的第二参数的第二标记信息;
基于比较,确定所述第一参数与所述第二参数之间的冲突;以及
向服务提供者设备传输用于解决所述冲突的提示。
17.根据权利要求16所述的方法,其中,所述第一平台是基于web的应用平台并且所述第二平台是所述服务的对话平台,所述方法包括:
确定与所述基于web的应用平台相比,更少的参数针对所述对话平台被配置。
18.根据权利要求13所述的方法,包括:
识别在所述多个数字平台中的至少两个上的所述动作的所述参数内的冲突;以及
基于由所述数据处理系统存储的至少一个策略,自动地解决所述冲突。
19.根据权利要求13所述的方法,包括:
针对所述动作识别所述多个数字平台中的所述第一平台的第一参数以及指示所述多个数字平台中的第二平台的第二参数的第二标记信息;
基于比较,确定所述第一参数与所述第二参数之间的不一致性;
响应于对所述不一致性的确定,检索服务提供者设备的解决策略;以及
基于所述解决策略,解决所述不一致性。
20.根据权利要求13所述的方法,包括:
基于排名策略选择所述多个数字平台中的所述第一平台。
21.一种由一个或多个处理器实现的方法,所述方法包括:
由数据处理系统接收来自客户端设备的查询;
由所述数据处理系统基于所述查询来识别动作以及与所述动作相对应的服务类型;
由所述数据处理系统基于策略以及所述查询或历史执行信息中的至少一个,选择与所述服务类型相对应的多个数字平台中的第一平台来执行所述动作;
响应于对所述第一平台的选择,由所述数据处理系统识别与所述动作相对应的参数;以及
由所述数据处理系统使用与所述动作相对应的所述参数使得所述动作经由所述第一平台被执行。
22.根据权利要求21所述的方法,其中,识别与所述动作相对应的所述参数包括:由所述数据处理系统发起交互式数据交换以识别与所述动作相对应的所述参数。
23.根据权利要求21所述的方法,其中,使用与所述动作相对应的所述参数使得所述动作经由所述第一平台被执行包括:使用与所述动作相对应的所述参数调用与所述第一平台相对应的应用编程接口。
24.根据权利要求21所述的方法,其中,所述多个数字平台至少包括所述服务类型的第一服务的第一平台和所述服务类型的第二服务的第二平台。
25.根据权利要求21所述的方法,其中,所述多个数字平台包括所述服务类型的服务的基于web的应用平台、所述服务类型的所述服务的移动应用平台以及所述服务类型的所述服务的对话平台中的至少一个。
26.根据权利要求21所述的方法,进一步包括:
针对所述动作识别指示所述多个数字平台中的所述第一平台的第一参数的第一标记信息;
针对所述动作识别指示所述多个数字平台中的第二平台的第二参数的第二标记信息;
基于对所述第一标记信息与所述第二标记信息的比较,确定所述第一参数与所述第二参数之间的冲突;以及
向服务提供者设备提供对所述冲突的指示。
27.根据权利要求21所述的方法,进一步包括:
针对所述动作识别指示所述多个数字平台中的所述第一平台的第一参数的第一标记信息以及指示所述多个数字平台中的第二平台的第二参数的第二标记信息;
基于比较,确定所述第一参数与所述第二参数之间的冲突;以及
向服务提供者设备传输用于解决所述冲突的提示。
28.根据权利要求27所述的方法,其中,所述第一平台是基于web的应用平台并且所述第二平台是所述服务的对话平台,所述方法进一步包括:
确定与所述基于web的应用平台相比,更少的参数针对所述对话平台被配置。
29.根据权利要求21所述的方法,进一步包括:
识别在所述多个数字平台中的至少两个上的与所述动作相对应的所述参数内的冲突;以及
基于由所述数据处理系统存储的至少一个策略,自动地解决所述冲突。
30.根据权利要求21所述的方法,进一步包括:
针对所述动作识别指示所述多个数字平台中的所述第一平台的第一参数的第一标记信息以及指示所述多个数字平台中的第二平台的第二参数的第二标记信息;
基于比较,确定所述第一参数与所述第二参数之间的不一致性;
响应于对所述不一致性的确定,检索服务提供者设备的解决策略;以及
基于所述解决策略,解决所述不一致性。
31.根据权利要求21所述的方法,进一步包括基于排名策略选择所述多个数字平台中的所述第一平台。
32.一种计算机程序产品,包括一个或多个计算机可读存储介质,所述一个或多个计算机可读存储介质具有共同存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令可执行用于:
由数据处理系统接收来自客户端设备的查询;
由所述数据处理系统基于所述查询来识别动作以及与所述动作相对应的服务类型;
由所述数据处理系统基于策略以及所述查询或历史执行信息中的至少一个,选择与所述服务类型相对应的多个数字平台中的第一平台来执行所述动作;
响应于对所述第一平台的选择,由所述数据处理系统识别与所述动作相对应的参数;以及
由所述数据处理系统使用与所述动作相对应的所述参数使得所述动作经由所述第一平台被执行。
33.根据权利要求32所述的计算机程序产品,其中,识别与所述动作相对应的所述参数包括:由所述数据处理系统发起交互式数据交换以识别与所述动作相对应的所述参数。
34.根据权利要求32所述的计算机程序产品,其中,使用与所述动作相对应的所述参数使得所述动作经由所述第一平台被执行包括:使用与所述动作相对应的所述参数调用与所述第一平台相对应的应用编程接口。
35.根据权利要求32所述的计算机程序产品,其中,所述多个数字平台至少包括所述服务类型的第一服务的第一平台和所述服务类型的第二服务的第二平台。
36.根据权利要求32所述的计算机程序产品,其中,所述多个数字平台包括所述服务类型的服务的基于web的应用平台、所述服务类型的所述服务的移动应用平台以及所述服务类型的所述服务的对话平台中的至少一个。
37.一种系统,包括:
处理器、计算机可读存储器、一个或多个计算机可读存储介质、以及共同存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令可执行用于:
由数据处理系统接收来自客户端设备的查询;
由所述数据处理系统基于所述查询来识别动作以及与所述动作相对应的服务类型;
由所述数据处理系统基于策略以及所述查询或历史执行信息中的至少一个,选择与所述服务类型相对应的多个数字平台中的第一平台来执行所述动作;
响应于对所述第一平台的选择,由所述数据处理系统识别与所述动作相对应的参数;以及
由所述数据处理系统使用与所述动作相对应的所述参数使得所述动作经由所述第一平台被执行。
38.根据权利要求37所述的系统,其中,识别与所述动作相对应的所述参数包括:由所述数据处理系统发起交互式数据交换以识别与所述动作相对应的所述参数。
39.根据权利要求37所述的系统,其中,使用与所述动作相对应的所述参数使得所述动作经由所述第一平台被执行包括:使用与所述动作相对应的所述参数调用与所述第一平台相对应的应用编程接口。
40.根据权利要求37所述的系统,其中,所述多个数字平台至少包括所述服务类型的第一服务的第一平台和所述服务类型的第二服务的第二平台。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862668207P | 2018-05-07 | 2018-05-07 | |
US62/668,207 | 2018-05-07 | ||
PCT/US2019/030809 WO2019217256A1 (en) | 2018-05-07 | 2019-05-06 | Platform selection for performing requested actions in audio-based computing environments |
CN201980002144.1A CN110692042B (zh) | 2018-05-07 | 2019-05-06 | 在基于音频的计算环境中执行请求的动作的平台选择 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980002144.1A Division CN110692042B (zh) | 2018-05-07 | 2019-05-06 | 在基于音频的计算环境中执行请求的动作的平台选择 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117061495A true CN117061495A (zh) | 2023-11-14 |
Family
ID=66770555
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980002144.1A Active CN110692042B (zh) | 2018-05-07 | 2019-05-06 | 在基于音频的计算环境中执行请求的动作的平台选择 |
CN202310904057.3A Pending CN117061495A (zh) | 2018-05-07 | 2019-05-06 | 在基于音频的计算环境中执行请求的动作的平台选择 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980002144.1A Active CN110692042B (zh) | 2018-05-07 | 2019-05-06 | 在基于音频的计算环境中执行请求的动作的平台选择 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11107470B2 (zh) |
EP (2) | EP3610375B1 (zh) |
CN (2) | CN110692042B (zh) |
WO (1) | WO2019217256A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11645467B2 (en) * | 2018-08-06 | 2023-05-09 | Functionize, Inc. | Training a system to perform a task with multiple specific steps given a general natural language command |
GB2577879B (en) | 2018-10-08 | 2022-08-24 | B & W Group Ltd | Content playback system |
GB2579554A (en) * | 2018-12-03 | 2020-07-01 | Audiogum Uk Ltd | Content playback system |
JP7414617B2 (ja) * | 2020-03-31 | 2024-01-16 | キヤノン株式会社 | システム、サーバー装置、および方法 |
CN113535144A (zh) * | 2021-06-15 | 2021-10-22 | 北京彩彻区明科技有限公司 | 自然语言编程方法、装置、设备及存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6636590B1 (en) * | 2000-10-30 | 2003-10-21 | Ingenio, Inc. | Apparatus and method for specifying and obtaining services through voice commands |
FR2858154B1 (fr) * | 2003-07-23 | 2005-09-02 | France Telecom | Plate-forme de services vocaux interactifs pour appels sortants crees, declenches et surveilles via internet |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
KR101263217B1 (ko) * | 2009-10-15 | 2013-05-10 | 한국전자통신연구원 | 모바일 클라우드 서비스 제공을 위한 모바일 단말 및 그의 동작 방법 |
WO2013155619A1 (en) * | 2012-04-20 | 2013-10-24 | Sam Pasupalak | Conversational agent |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US10078489B2 (en) * | 2013-12-30 | 2018-09-18 | Microsoft Technology Licensing, Llc | Voice interface to a social networking service |
WO2015164697A1 (en) * | 2014-04-24 | 2015-10-29 | Evershare, Llc | Provisioning an interactive feedback service via a network |
US9959129B2 (en) | 2015-01-09 | 2018-05-01 | Microsoft Technology Licensing, Llc | Headless task completion within digital personal assistants |
CN112527353B (zh) * | 2015-05-27 | 2024-09-13 | 谷歌有限责任公司 | 用于增强对话系统的插件的在线市场 |
US20180039478A1 (en) * | 2016-08-02 | 2018-02-08 | Google Inc. | Voice interaction services |
CN109844855B (zh) * | 2016-10-03 | 2023-12-05 | 谷歌有限责任公司 | 任务的多重计算代理执行 |
EP3312722A1 (en) * | 2016-10-21 | 2018-04-25 | Fujitsu Limited | Data processing apparatus, method, and program |
-
2019
- 2019-05-06 EP EP19728789.9A patent/EP3610375B1/en active Active
- 2019-05-06 CN CN201980002144.1A patent/CN110692042B/zh active Active
- 2019-05-06 CN CN202310904057.3A patent/CN117061495A/zh active Pending
- 2019-05-06 WO PCT/US2019/030809 patent/WO2019217256A1/en unknown
- 2019-05-06 US US16/466,248 patent/US11107470B2/en active Active
- 2019-05-06 EP EP24163356.9A patent/EP4361810A3/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4361810A3 (en) | 2024-07-03 |
US11107470B2 (en) | 2021-08-31 |
WO2019217256A1 (en) | 2019-11-14 |
CN110692042B (zh) | 2023-08-08 |
EP4361810A2 (en) | 2024-05-01 |
US20210050008A1 (en) | 2021-02-18 |
CN110692042A (zh) | 2020-01-14 |
EP3610375B1 (en) | 2024-04-10 |
EP3610375A1 (en) | 2020-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6629882B2 (ja) | 選択的センサポーリング | |
CN110692042B (zh) | 在基于音频的计算环境中执行请求的动作的平台选择 | |
US11893993B2 (en) | Interfacing with applications via dynamically updating natural language processing | |
US11694688B2 (en) | Platform selection for performing requested actions in audio-based computing environments | |
CN113646742B (zh) | 使用应用模板生成和更新基于语音的软件应用 | |
CN114600081B (zh) | 经由动态更新自然语言处理与应用交互 | |
JP6968897B2 (ja) | 登録されていないリソースによるオーディオベースのネットワークセッションの確立 | |
CN111465932B (zh) | 将来自查询的响应整合到异构数据源 | |
JP2021515256A (ja) | セキュアな処理環境内のデータ転送 | |
US20210374024A1 (en) | Immersive web-based simulator for digital assistant-based applications | |
US20210326238A1 (en) | Immersive web-based simulator for digital assistant-based applications | |
JP7339310B2 (ja) | 登録されていないリソースによるオーディオベースのネットワークセッションの確立 |
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 |