CN112885349A - 选择性传感器轮询 - Google Patents
选择性传感器轮询 Download PDFInfo
- Publication number
- CN112885349A CN112885349A CN202110121741.5A CN202110121741A CN112885349A CN 112885349 A CN112885349 A CN 112885349A CN 202110121741 A CN202110121741 A CN 202110121741A CN 112885349 A CN112885349 A CN 112885349A
- Authority
- CN
- China
- Prior art keywords
- processing system
- sensor
- data processing
- data
- available sensors
- 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 claims abstract description 148
- 230000005236 sound signal Effects 0.000 claims abstract description 83
- 230000015654 memory Effects 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims description 296
- 238000000034 method Methods 0.000 claims description 82
- 230000008569 process Effects 0.000 claims description 28
- 230000033001 locomotion Effects 0.000 abstract description 8
- 238000007726 management method Methods 0.000 description 90
- 238000004891 communication Methods 0.000 description 41
- 230000004044 response Effects 0.000 description 31
- 230000000694 effects Effects 0.000 description 23
- 238000005070 sampling Methods 0.000 description 17
- 238000003860 storage Methods 0.000 description 17
- 238000012384 transportation and delivery Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 11
- 238000005108 dry cleaning Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000013515 script Methods 0.000 description 6
- 230000007613 environmental effect Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000002405 diagnostic procedure Methods 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000029305 taxis Effects 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 235000013305 food Nutrition 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005259 measurement 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
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004900 laundering Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 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
- 230000008901 benefit Effects 0.000 description 1
- 238000009529 body temperature measurement Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 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
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000013021 overheating Methods 0.000 description 1
- 230000037081 physical activity Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 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
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/683—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- 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/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- 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
-
- 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
-
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0212—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
-
- 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
- G10L2015/088—Word spotting
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/103—Active monitoring, e.g. heartbeat, ping or trace-route with adaptive polling, i.e. dynamically adapting the polling rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Acoustics & Sound (AREA)
- Artificial Intelligence (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Cardiology (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
- User Interface Of Digital Computer (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Selective Calling Equipment (AREA)
Abstract
本发明涉及选择性传感器轮询。提供了一种用于基于语音激活的数据分组的计算机网络环境的选择性传感器轮询系统。一种系统可接收由设备的麦克风检测到的音频信号。所述系统可解析所述音频信号以识别触发关键词和请求。所述系统可为具有多个字段的动作数据结构选择模板。所述系统可确定要针对所述第一字段的数据而轮询第一传感器。所述系统可确定要获得由所述第二传感器先前收集到的存储器中的数据。所述系统可利用来自所述传感器和存储器的所述数据生成和传送所述动作数据结构,并且将所述动作数据结构传送到第三方设备。
Description
相关申请的交叉引用
本申请要求于2016年12月30日提交的并且标题为“SELECTIVE SENSOR POLLING”的美国专利申请No.15/395,715的权益和优先权,其全部内容出于所有目的通过引用合并于此。
分案说明
本申请属于申请日为2017年8月31日的中国发明专利申请No.201780001587.X的分案申请。
背景技术
计算设备之间的网络业务数据的过度网络传输(基于分组或其它的)可防止计算设备适当地处理网络业务数据、完成与网络业务数据有关的操作或者及时对网络业务数据做出响应。如果响应计算设备处于或超过其处理能力则网络业务数据的过度网络传输也可使数据路由复杂化或者使响应的质量降级,这可以导致低效率的带宽利用。对与内容项对象相对应的网络传输的控制可能由于可在计算设备之间发起网络业务数据的网络传输的大量内容项对象而变得复杂。
发明内容
本公开一般地涉及通过计算机网络选择性地轮询传感器。例如,计算系统可以能够访问在多个计算设备上配置的可检测相同或类似类型的信息的多个传感器。然而,以下步骤可能是资源密集的:从在相同计算设备或彼此极为接近的一组计算设备上配置的多个传感器请求相同或类似类型的信息使得所检测到的信息为类似的。此外,与其它传感器或计算设备相比,某些传感器或配置有该传感器的计算设备可以消耗更多的资源(例如,能量、电池电力、处理器利用或带宽)。因此,本公开的系统和方法可选择性地轮询一个或多个传感器以按照减少资源消耗的方式获得信息。
本公开的系统和方法一般地涉及通过计算机网络选择性地轮询传感器的数据处理系统。所述数据处理系统可使用在聚合语音输入上训练的并用终端用户语音输入扩增的语音模型来处理基于语音的输入。所述数据处理系统可基于所述语音输入中的请求和触发关键词来识别动作数据结构的模板。所述数据处理系统可确定要填充所述模板中的一个或多个字段以生成所述动作数据结构。为了填充所述字段,所述数据处理系统可与传感器管理组件对接以选择性地轮询与提供了所述语音输入的所述终端用户相关联的一个或多个计算设备的传感器。所述传感器管理组件可应用策略或规则集来识别可用的一个或多个传感器并且可提供用于填充所述模板的所述字段以生成所述动作数据结构的值。所述数据处理系统可从所选择的传感器接收所述值,生成所述动作数据结构,并且将所述数据结构传送到第三方提供者设备。所述数据处理系统然后可从所述第三方提供者设备接收与所述动作数据结构相对应的操作已被发起的指示。
至少一个方面涉及选择性地轮询传感器的系统。所述系统可包括数据处理系统。所述数据处理系统可执行自然语言处理器(“NLP”)组件、直接动作应用编程接口(“API”)和传感器管理组件。所述NLP组件可经由所述数据处理系统的接口接收包括由客户端设备的麦克风检测到的输入音频信号的数据分组。所述NLP可解析所述输入音频信号以识别请求和与所述请求相对应的触发关键词。所述直接动作API可基于所述触发关键词为响应于所述请求的动作数据结构选择模板。所述模板可包括第一字段。所述传感器管理组件可识别被配置成获得所述第一字段的信息的多个可用的传感器。所述多个可用的传感器可包括第一传感器和第二传感器。所述传感器管理组件可确定所述多个传感器中的每一个传感器的状态。所述传感器管理组件可基于所述状态选择所述多个传感器中的所述第一传感器。所述传感器管理组件可针对与所述第一字段相对应的数据而轮询所述第一传感器。所述直接动作API可用由所述传感器管理组件响应于对所述第一传感器的所述轮询而接收到的所述数据填充所述第一字段。所述直接动作API可基于所述模板的所述第一字段生成所述动作数据结构。所述直接动作API可将所述动作数据结构传送到第三方提供者设备以使所述第三方提供者设备调用所述第三方提供者设备与所述客户端设备之间的操作会话。所述数据处理系统可从所述第三方提供者设备接收所述第三方提供者设备与所述客户端设备建立了所述操作会话的指示。
至少一个方面涉及选择性地轮询传感器的方法。所述方法可包括所述数据处理系统经由接口接收包括由客户端设备的麦克风检测到的输入音频信号的数据分组。所述方法可包括所述数据处理系统解析所述输入音频信号以识别请求和与所述请求相对应的触发关键词。所述方法可包括所述数据处理系统基于所述触发关键词为响应于所述请求的动作数据结构选择模板。所述模板可包括第一字段。所述方法可包括所述数据处理系统识别被配置成获得所述第一字段的信息的多个可用的传感器。所述多个可用的传感器可包括第一传感器和第二传感器。所述方法可包括所述数据处理系统确定所述多个传感器中的每一个传感器的状态。所述方法可包括基于所述状态选择所述多个传感器中的所述第一传感器。所述方法可包括所述数据处理系统针对与所述第一字段对应的数据而轮询所述第一传感器。所述方法可包括所述数据处理系统基于由所述传感器管理组件响应于对所述第一传感器的所述轮询而接收到的所述数据来填充所述第一字段。所述方法可包括所述数据处理系统通过所述直接动作API来基于所述模板的所述第一字段生成所述动作数据结构。所述方法可包括所述数据处理系统将所述动作数据结构传送到第三方提供者设备。所述方法可包括所述数据处理系统从所述第三方提供者设备接收所述第三方提供者设备与所述客户端设备建立了所述操作会话的指示。
在下面详细地讨论这些及其它方面和实施方式。上述信息和以下详细描述包括各个方面和实施方式的说明性示例,并且提供用于理解所要求保护的方面和实施方式的性质和特征的概要或框架。附图提供各个方面和实施方式的图示和进一步理解,并且被并入本说明书并构成本说明书的一部分。
附图说明
附图不旨在按比例绘制。在各个附图中相同的附图标记和名称指示相同的元件。出于清楚的目的,可以不在每一附图中标记每一组件。在附图中:
图1是经由计算机网络选择性地轮询传感器的系统的图示。
图2是系统经由计算机网络选择性地轮询传感器的操作的图示。
图3是通过计算机网络选择性地轮询传感器的方法的图示。
图4是图示可被采用来实现本文所描述和图示的系统和方法的元件的计算机系统的一般架构的框图。
具体实施方式
下文是与通过计算机网络选择性地轮询传感器的方法、装置和系统有关的各种概念以及这些方法、装置和系统的实施方式的更详细描述。可以以许多方式中的任一种实现在上面介绍的并在下面更详细地讨论的各种概念。
本公开一般地涉及通过计算机网络选择性地轮询传感器。例如,计算系统可以能够访问在多个计算设备上配置的可检测相同或类似类型的信息的多个传感器。然而,从在相同计算设备或彼此极为接近的一组计算设备上配置的多个传感器请求相同或类似类型的信息使得所检测到的信息为类似的可能是资源密集的。此外,与其它传感器或计算设备相比,某些传感器或配置有该传感器的计算设备可以消耗更多的资源(例如,能量、电池电力、处理器利用或带宽)。因此,本公开的系统和方法可选择性地轮询一个或多个传感器以按照减少资源消耗的方式获得信息。
本公开的系统和方法一般地涉及通过计算机网络选择性地轮询传感器的数据处理系统。所述数据处理系统可使用在聚合语音输入上训练的并用终端用户语音输入扩增的语音模型来处理基于语音的输入。所述数据处理系统可基于所述语音输入中的请求和触发关键词来识别动作数据结构的模板。所述数据处理系统可确定要填充所述模板中的一个或多个字段以生成所述动作数据结构。为了填充所述字段,所述数据处理系统可与传感器管理组件对接以选择性地轮询与提供了所述语音输入的所述终端用户相关联的一个或多个计算设备的传感器。所述传感器管理组件可应用策略或规则集来识别可用的一个或多个传感器并且可提供用于填充所述模板的所述字段以生成所述动作数据结构的值。所述数据处理系统可从所选择的传感器接收所述值、生成所述动作数据结构、并且将所述数据结构传送到第三方提供者设备。所述数据处理系统然后可从所述第三方提供者设备接收与所述动作数据结构相对应的操作已被发起的指示。
例如,所述数据处理系统通常可改进传感器选择并优化传感器配置以用于收集数据以供由基于语音的系统使用。当设备从离线状态进入在线状态时,所述数据处理系统可执行数据同步或批量上传。所述数据处理系统可基于与正在收集的数据、用户或任务相关联的特性来启用或者禁用传感器。所述数据处理系统可基于在减少资源利用的同时改进数据质量的策略选择性地启用传感器。例如,所述数据处理系统可确定所述用户正携带具有位置传感器的多个设备。所述数据处理系统可确定哪些设备具有最大的电力剩余,并且仅从该设备请求位置。在另一示例中,所述数据处理系统可确定第一设备已经在获得位置信息(例如,经由导航应用)并且捎带回(piggy-back off)该位置数据。
图1图示经由计算机网络选择性地轮询传感器的示例系统100。系统100可包括内容选择基础设施。系统100可包括数据处理系统102。数据处理系统102可经由网络105与内容提供者计算设备106、服务提供者计算设备108或客户端计算设备104中的一个或多个进行通信。网络105可包括诸如互联网、局域网、广域网、城域网或其它区域网络、内部网、卫星网络的计算机网络,以及诸如语音或数据移动电话网络的其它通信网络。网络105可用于访问信息资源,诸如可以在至少一个计算设备104(诸如膝上型计算机、台式机、平板、个人数字助理、智能电话、便携式计算机或扬声器)上呈现、输出、渲染或者显示的web页面、web站点、域名或统一资源定位符。例如,计算设备104的用户可经由网络105访问由服务提供者108或内容提供者106提供的信息或数据。
网络105可包括或者构成显示网络,例如,互联网上可得到的与内容投放(contentplacement)或搜索引擎结果系统相关联或者有资格包括第三方内容项作为内容项投放活动的一部分的信息资源的子集。网络105可由数据处理系统102使用来访问信息资源,诸如可由客户端计算设备104呈现、输出、渲染或者显示的web页面、web站点、域名或统一资源定位符。例如,客户端计算设备104的用户可经由网络105访问由内容提供者计算设备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组件(包括服务器和存储系统)中的全部或一些的集中化并且将它们与高级系统管理工具耦合允许更高效地使用服务器资源,这节省电力和处理需求并减少带宽使用。
系统100可包括、访问或者以其它方式与至少一个服务提供者设备108交互。服务提供者设备108可包括至少一个逻辑设备,诸如具有处理器以经由网络105例如与计算设备104、数据处理系统102或内容提供者106进行通信的计算设备。服务提供者设备108可包括至少一个计算资源、服务器、处理器或存储器。例如,服务提供者设备108可包括位于至少一个数据中心中的多个计算资源或服务器。服务提供者设备108可包括数据处理系统102的一个或多个组件或功能性。
内容提供者计算设备106可提供基于音频的内容项以供由客户端计算设备104作为音频输出内容项来显示。内容项可包括对商品或服务的提供,诸如陈述:“您希望我为您订出租车吗?”的基于语音的消息。例如,内容提供者计算设备155可包括用于存储可响应于基于语音的查询而提供的一系列音频内容项的存储器。内容提供者计算设备106也可向数据处理系统102提供基于音频的内容项(或其它内容项),其中它们可被存储在数据储存库124中。数据处理系统102可选择音频内容项并且将这些音频内容项提供(或者指示内容提供者计算设备104将这些音频内容项提供)给客户端计算设备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的直接动作API 116。服务提供者计算设备108和内容提供者计算设备106可与相同实体相关联。例如,内容提供者计算设备106可以为汽车共享服务创建、存储或者制作可用的内容项,并且服务提供者计算设备108可与客户端计算设备106建立会话来为汽车共享服务而安排出租车或汽车的配送以接客户端计算设备104的终端用户。数据处理系统102经由直接动作API 116、NLP组件112或其它组件也可与客户端计算设备建立会话,包括或者绕过服务提供者计算设备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可以或者可以不包括显示器;例如,计算设备可以包括有限类型的用户接口,诸如麦克风和扬声器。在一些情况下,计算设备104的主用户接口可以是麦克风和扬声器。
客户端计算设备104可与终端用户相关联,所述终端用户(经由传感器134)将语音查询作为音频输入录入到客户端计算设备104中并且接收从转换器136(例如,扬声器)输出的形式为可从数据处理系统102(或内容提供者计算设备106或服务提供者计算设备108)提供给客户端计算设备104的计算机生成的语音的音频输出。计算机生成的语音可包括来自真人或计算机生成的语言的录音。
数据储存库124可包括一个或多个本地或分布式数据库,并且可包括数据库管理系统。数据储存库124可包括计算机数据存储部或存储器并且可存储除数据之外的一个或多个参数126、一个或多个策略128、内容数据130或模板132。参数126、策略128和模板132可包括诸如关于客户端计算设备104与数据处理系统102(或服务提供者计算设备108)之间的基于语音的会话的规则的信息。内容数据130可包括音频输出或相关元数据的内容项,以及可以为与客户端计算设备104的一个或多个通信会话的一部分的输入音频消息。通信会话可包括或者被称为操作会话。在一些情况下,操作会话可指代一个或多个操作由第三方提供者设备108、客户端计算设备、内容提供者设备106、数据处理系统102或其它组件或实体来执行的通信会话。
数据处理系统102可包括具有至少一个计算资源或服务器的内容投放系统。数据处理系统102可包括至少一个接口110,与至少一个接口110对接,或者以其它方式与至少一个接口110进行通信。数据处理系统102可包括至少一个自然语言处理器组件112,与至少一个自然语言处理器组件112对接,或者以其它方式与至少一个自然语言处理器组件112进行通信。数据处理系统102可包括至少一个直接动作应用编程接口(“API”)116,与至少一个直接动作应用编程接口(“API”)116对接,或者以其它方式与至少一个直接动作应用编程接口(“API”)116进行通信。数据处理系统102可包括至少一个会话处理机114,与至少一个会话处理机114对接,或者以其它方式与至少一个会话处理机114进行通信。数据处理系统102可包括至少一个内容选择器组件118,与至少一个内容选择器组件118对接,或者以其它方式与至少一个内容选择器组件118进行通信。数据处理系统102可包括至少一个传感器管理组件120,与至少一个传感器管理组件120对接,或者以其它方式与至少一个传感器管理组件120进行通信。数据处理系统102可包括至少一个音频信号生成器122,与至少一个音频信号生成器122对接,或者以其它方式与至少一个音频信号生成器122进行通信。数据处理系统102可包括至少一个数据储存库124,与至少一个数据储存库124对接,或者以其它方式与至少一个数据储存库124进行通信。至少一个数据储存库124可包括或者在一个或多个数据结构或数据库中存储参数126、策略128、内容数据130或模板132。参数126可包括例如阈值、距离、时间间隔、持续时间、分数或权重。内容数据130可包括例如内容活动信息、内容组、内容选择准则、内容项对象或由内容提供者106提供或者由数据处理系统获得或者确定以促进内容选择的其它信息。内容数据130可包括例如内容活动的历史表现。
接口110、自然语言处理器组件112、会话处理机114、直接动作API 116、内容选择器组件118、传感器管理组件120或音频信号生成器组件122可各自包括至少一个处理单元或其它逻辑设备,诸如可编程逻辑阵列引擎或被配置成与数据库储存库或数据库124进行通信的模块。接口110、自然语言处理器组件112、会话处理机114、直接动作API 116、内容选择器组件118、传感器管理组件120、音频信号生成器组件122和数据储存库124可以是单独的组件、单个组件或数据处理系统102的一部分。系统100及其组件(诸如数据处理系统102)可包括硬件元件,诸如一个或多个处理器、逻辑设备或电路。
数据处理系统102可获得与多个计算设备104相关联的匿名计算机网络活动信息。计算设备104的用户可肯定地授权数据处理系统102以获得与该用户的计算设备104相对应的网络活动信息。例如,数据处理系统102可提示计算设备104的用户以同意获得一个或多个类型的网络活动信息。计算设备104的用户的身份可保持匿名并且计算设备104可与唯一标识符(例如,由数据处理系统或计算机的用户提供的用户或计算设备的唯一标识符)相关联。数据处理系统可使每个观察结果(observation)与对应的唯一标识符相关联。
内容提供者106可建立电子内容活动。可将电子内容活动作为内容数据130存储在数据储存库124中。电子内容活动可指代对应于公共题材的一个或多个内容组。内容活动可包括层次数据结构,所述层次数据结构包括内容组、内容项数据对象和内容选择准则。为了创建内容活动,内容提供者106可为该内容活动的活动水平参数指定值。活动水平参数可包括例如活动名称、用于投放内容项对象的优选内容网络、待用于内容活动的资源的值、内容活动的开始和结束日期、内容活动的持续时间、内容项对象投放的时间表、语言、地理位置、在上面提供内容项对象的计算设备的类型。在一些情况下,印象可指代内容项对象何时被从其源(例如,数据处理系统102或内容提供者106)预取,并且是可计数的。在一些情况下,由于点击欺骗的可能性,机器人活动可作为印象被过滤和排除。因此,在一些情况下,印象可指代来自Web服务器的对来自浏览器的页面请求的响应的测量,其被从机器人活动和错误代码中过滤,并且在尽可能接近于渲染内容项对象以供显示在计算设备104上的机会的点被记录。在一些情况下,印象可指代看得见或听得见印象;例如,内容项对象至少部分地(例如,20%、30%、30%、40%、50%、60%、70%或更多)在客户端计算设备104的显示设备上看得见,或者经由计算设备104的扬声器136听得见。点击或选择可指代与内容项对象的用户交互,诸如对听得见印象、鼠标点击、触摸交互、手势、摇动、音频交互或键盘点击的语音响应。转换可指代用户对于内容项异议采取期望的动作;例如,购买产品或服务、完成调查、访问与内容项相对应的物理商店或者完成电子交易。
内容提供者106进一步可为内容活动建立一个或多个内容组。内容组包括一个或多个内容项对象和对应的内容选择准则,诸如关键词、单词、术语、短语、地理位置、计算设备的类型、时刻、兴趣、主题或垂直。在相同的内容活动下的内容组可共享相同的活动水平参数,但是对于特定内容组水平参数(诸如关键词、否定关键词(例如,在否定关键词存在于主要内容上的情况下阻止内容项的投放)、对关键词的出价或者与出价或内容活动相关联的参数)具有定制规格。
为了创建新内容组,内容提供者可为内容组的内容组水平参数提供值。内容组水平参数包括例如内容组名称或内容组题材以及对不同的内容投放机会(例如,自动投放或受管理投放)或结果(例如,点击、印象或转换)的出价。内容组名称或内容组题材可以是内容提供者106可使用来捕获内容组的内容项对象将被选择以供显示的论题或主题的一个或多个术语。例如,汽车经销商可为它运送的车辆的每个型号创建不同的内容组,并且还可以为它运送的车辆的每个品牌创建不同的内容组。汽车经销商可使用的内容组题材的示例包括例如“制造A跑车”、“制造B跑车”、“制造C轿车”、“制造C卡车”、“制造C混合动力车”或“制造D混合动力车”。例如,示例内容活动题材可以是“混合动力车”并且包括针对“制造C混合动力车”和“制造D混合动力车”两者的内容组。
内容提供者106可向每个内容组提供一个或多个关键词和内容项对象。关键词可包括和与内容项对象相关联或者由内容项对象识别的产品或服务相关的术语。关键词可包括一个或多个术语或短语。例如,汽车经销商可包括“跑车”、“V-6发动机”、“四轮驱动”、“燃料效率”作为内容组或内容活动的关键词。在一些情况下,内容提供者可指定否定关键词以在特定术语或关键词上避免、防止、阻止或者禁用内容投放。内容提供者可指定用于选择内容项对象的匹配的类型,例如确切匹配、短语匹配或广泛匹配。
内容提供者106可提供待由数据处理系统102使用来选择由内容提供者106提供的内容项对象的一个或多个关键词。内容提供者106可识别要出价的一个或多个关键词,并且为各种关键词进一步提供出价金额。内容提供者106可提供待由数据处理系统102使用来选择内容项对象的附加内容选择准则。多个内容提供者106可对相同或不同的关键词出价,并且数据处理系统102可响应于接收到电子消息的关键词的指示而运行内容选择过程或广告拍卖。
内容提供者106可提供一个或多个内容项对象以供由数据处理系统102选择。当与为内容组所指定的资源分配、内容时间表、最大出价、关键词和其它选择准则匹配的内容投放机会变得可用时,数据处理系统102(例如,经由内容选择器组件118)可选择内容项对象。可将不同类型的内容项对象包括在内容组中,所述内容组诸如语音内容项、音频内容项、文本内容项、图像内容项、视频内容项、多媒体内容项或内容项链接。在选择内容项时,数据处理系统102可传送用于在计算设备104或计算设备104的显示设备上渲染的内容项对象。渲染可包括将内容项显示在显示设备上或者经由计算设备104的扬声器播放内容项。数据处理系统102可向计算设备104提供用于渲染内容项对象的指令。数据处理系统102可指示计算设备104或计算设备104的音频驱动器138生成音频信号或声波。
数据处理系统102可包括被设计、配置、构造或者可操作来使用例如数据分组来接收和传送信息的接口组件110。接口110可使用一个或多个协议(诸如网络协议)来接收和传送信息。接口110可包括硬件接口、软件接口、有线接口或无线接口。接口110可促进将数据从一个格式转化或者格式化为另一格式。例如,接口110可包括应用编程接口,所述应用编程接口包括用于在各种组件(诸如软件组件)之间进行通信的定义。
数据处理系统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可将音频输入信号提供给数据处理系统102(例如,经由网络105),其中它可被接收(例如,由接口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 my dry cleaning(我需要某人洗衣服和干洗)”。NLP组件112可对包括该句子的数据分组应用语义处理技术或其它自然语言处理技术以识别触发短语“do my laundry”和“do 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可包括被设计和构造来基于触发关键词生成响应于请求的动作数据结构的直接动作API 116。数据处理系统102的处理器可调用直接动作API 116来执行生成数据结构给服务提供者设备108的脚本以请求或者订购服务或产品,诸如来自汽车共享服务的汽车。直接动作API 116可获得来自数据储存库124的数据,以及在终端用户同意情况下从客户端计算设备104接收来确定位置、时间、用户账户、逻辑或其它信息以允许服务提供者设备108执行操作的数据,诸如从汽车共享服务预订车辆。使用直接动作API 116,数据处理系统102也可与服务提供者设备108进行通信以通过在此示例中进行汽车共享提取预订来完成转换。
直接动作API 116可执行指定的动作以满足如由数据处理系统102所确定的终端用户的意图。取决于其输入中指定的动作,直接动作API 116可执行识别履行用户请求所需要的参数的代码或对话脚本。这种代码可例如在数据储存库124中查找附加信息,诸如家庭自动化服务的名称,或者它可提供用于在客户端计算设备104处渲染以问终端用户诸如请求的出租车的预定目的地的问题的音频输出。直接动作API 116可确定必要的参数并且可将信息封装到动作数据结构中,所述动作数据结构然后可被发送到另一组件(诸如内容选择器组件118)或者到服务提供者计算设备108以被履行。
直接动作API 116可从数据处理系统102的NLP组件112或其它组件接收指令或命令,以生成或者构造动作数据结构。直接动作API 116可确定动作的类型以便从存储在数据储存库124中的模板储存库132中选择模板。动作的类型可包括例如服务、产品、预订或门票。动作的类型还可包括服务或产品的类型。例如,服务的类型可包括汽车共享服务、食物配送服务、洗衣服务、女仆服务、维修服务或家政服务。产品的类型可包括例如衣服、鞋子、玩具、电子设备、计算机、书籍或首饰。预订的类型可包括例如晚餐预订或美发沙龙预约。门票的类型可包括例如电影票、体育场馆门票或机票。在一些情况下,可基于价格、位置、送货类型、可用性或其它属性对服务、产品、预订或门票的类型进行分类。
直接动作API 116在识别请求的类型时,可从模板储存库132访问所对应的模板。模板可包括可通过直接动作API 116填充的结构化数据集合中的字段以进一步进行服务提供者设备108请求的操作(诸如派出租车在搭车位置处接终端用户并将该终端用户运送到目的地位置的操作)。直接动作API 116可在模板储存库132中执行查找以选择与触发关键词和请求的一个或多个特性匹配的模板。例如,如果请求对应于对汽车或乘车到目的地的请求,则数据处理系统102可选择汽车共享服务模板。汽车共享服务模板可包括以下字段中的一个或多个:设备标识符、搭车位置、目的地位置、乘客人数或服务的类型。直接动作API116可用值填充字段。为了用值填充字段,直接动作API 116可以从计算设备104的一个或多个传感器134或设备104的用户接口查验(ping)、轮询或者以其它方式获得信息。
轮询可指代由数据处理系统102或由计算设备104响应于来自数据处理系统102的指令而主动地对外部设备(诸如传感器134)的信息进行采样。轮询可以是同步活动。在轮询期间,数据处理系统102可等待传感器134以检查其准备情况、状态,检测环境条件,或者执行传感器134被配置成执行的任何其它功能或活动(例如,收集并记录温度读数;检测环境光水平;确定位置;确定压力;确定高度;确定运动的速度;或者确定运动的方向)。在一些情况下,轮询可指代从计算设备104请求至少部分地通过使用一个或多个传感器134来收集、测量、检测或者以其它方式确定的数据。
例如,直接动作API 116可使用位置传感器(诸如GPS传感器)来检测源位置。直接动作API 116可通过向计算设备104的终端用户提交调查、提示或查询来获得进一步信息。直接动作API可经由数据处理系统102的接口110和计算设备104的用户接口(例如,音频接口、基于语音的用户接口、显示器或触摸屏)提交调查、提示或查询。因此,直接动作API 116可基于触发关键词或请求为动作数据结构选择模板,用由一个或多个传感器134检测到的或者经由用户接口获得的信息填充模板中的一个或多个字段,并且生成、创建或者以其它方式构造动作数据结构以促进由服务提供者设备108执行操作。
数据处理系统102可基于各种因素选择基于模板数据结构的模板132,所述各种因素包括例如触发关键词、请求、第三方提供者设备108、第三方提供者设备108的类型、第三方提供者设备108落入的类别(例如,出租车服务、洗衣服务、花卉服务或食物配送)、位置或其它传感器信息中的一个或多个。
为了基于触发关键词选择模板,数据处理系统102(例如,经由直接动作API 116)可使用触发关键词来对模板数据库132执行查找或其它查询操作以识别映射到或者以其它方式对应于触发关键词的模板数据结构。例如,模板数据库132中的每个模板可与一个或多个触发关键词相关联以指示该模板被配置成响应于第三方提供者设备108可处理来建立通信会话的触发关键词而生成动作数据结构。
在一些情况下,数据处理系统102可基于触发关键词识别第三方提供者设备108。为了基于触发关键词识别第三方提供者设备108,数据处理系统102可在数据储存库124中执行查找以识别映射到触发关键词的第三方提供者设备108。例如,如果触发关键词包括“ride”或“to got to”,则数据处理系统102(例如,经由直接动作API 116)可将第三方提供者设备108识别为对应于出租车服务公司A。数据处理系统102可使用所识别的第三方提供者设备108来从模板数据库132中选择模板。例如,模板数据库132可将第三方提供者设备108或实体之间的映射或相关性包括到被配置成响应于第三方提供者设备108可处理来建立通信会话的触发关键词而生成动作数据结构的模板。在一些情况下,可为第三方提供者设备108或者为第三方提供者设备108的类别定制模板。数据处理系统102可基于针对第三方提供者108的模板来生成动作数据结构。
为了构造或者生成动作数据结构,数据处理系统102可识别在所选择的模板中要用值填充的一个或多个字段。字段可用数值、字符串、Unicode值、布尔逻辑、二进制值、十六进制值、标识符、位置坐标、地理区域、时间戳或其它值填充。可对字段或数据结构它本身进行加密或者掩码处理以维护数据安全性。
在确定模板中的字段时,数据处理系统102可识别字段的值以填充模板的字段来创建动作数据结构。数据处理系统102可通过对数据储存库124执行查找或其它查询操作来获得、检索、确定或者以其它方式识别字段的值。
在一些情况下,数据处理系统102可确定数据储存库124中不存在字段的信息或值。数据处理系统102可确定存储在数据储存库124中的信息或值是过时的、陈旧的或者以其它方式不适合于响应于由NLP组件112识别的触发关键词和请求而构造动作数据结构的目的(例如,客户端计算设备104的位置可以是旧位置而不是当前位置;账户可过期;目的地餐厅可能已移动到新位置;身体活动信息;或交通方式)。
如果数据处理系统102确定它在数据处理系统102的存储器中当前不能够访问模板的字段的值或信息,则数据处理系统102可获取这些值或信息。数据处理系统102可通过查询或者轮询客户端计算设备104的一个或多个可用的传感器、就信息而提示客户端计算设备104的终端用户或者使用HTTP协议来访问基于在线web的资源来获取或者获得信息。例如,数据处理系统102可确定它不具有客户端计算设备104的当前位置,其可以是模板的所需字段。数据处理系统102可以向客户端计算设备104查询位置信息。数据处理系统102可请求客户端计算设备104使用一个或多个位置传感器134(诸如全球定位系统传感器)、WIFI三角测量、手机信号塔三角测量、蓝牙信标、IP地址或其它位置感测技术来提供位置信息。
在一些情况下,直接动作API 116可从传感器管理组件120请求传感器信息。数据处理系统102可包括传感器管理组件120。传感器管理组件120可在与客户端计算设备104分开或者独立于客户端计算设备104的数据处理系统102上执行。在一些情况下,传感器管理组件120可包括被配置在计算设备104上以与在数据处理系统102上执行的传感器管理组件120对接的一个或多个代理、脚本、可执行程序。
传感器管理组件120可包括用于测量通信会话的特性的硬件或软件。例如,直接动作API 116可基于触发关键词选择对应于请求或者响应于请求的动作数据结构的模板。该模板可包括待填充的一个或多个字段,诸如第一字段和第二字段。为了填充这些字段,直接动作API 116可查询传感器管理组件120,从传感器管理组件120请求,调用传感器管理组件120,或者以其它方式与传感器管理组件120对接。传感器管理组件120可通过减少由传感器134或与传感器134相关联的计算设备104进行的资源利用来获得字段的信息。例如,传感器管理组件120可识别被配置成获得第一字段的信息的多个可用的传感器134。所述多个可用的传感器可包括第一传感器和第二传感器。传感器管理组件120可确定所述多个传感器中的每一个的状态。传感器管理组件120可基于状态选择所述多个传感器中的第一传感器。传感器管理组件120可针对与第一字段相对应的数据而轮询第一传感器。直接动作API 116可用由传感器管理组件响应于对第一传感器的轮询而接收到的数据填充第一字段。
传感器管理组件120可识别多个可用的传感器134。传感器管理组件120可在数据储存库124中存储可被与计算设备104相关联的终端用户账户利用的传感器134的列表。传感器134可以具有可用的状态。可用的可指代传感器在线、活动、待机模式或处于低功率模式。如果传感器通过诊断测试或过程则它可以是可用的。在一些情况下,如果可指示计算设备104使传感器134在线,则即使传感器134离线它也可以是可用的。如果传感器134离线、未及时对查验做出响应、正发生故障、提供错误或不一致的值或者诊断测试或过程失败,则传感器134的状态可以是不可用的。
在一些情况下,客户端计算设备104可在建立通信会话时向传感器管理组件120推送传感器状态信息。在一些情况下,传感器管理组件120可向客户端计算设备104或与账户标识符相关联的一个或多个客户端计算设备104发送对可用的传感器134的列表的请求。传感器管理组件120可基于计算设备彼此的接近或者基于与一个或多个计算设备104相关联的网络活动(例如,终端用户可能在主动地使用一个或多个计算设备104来与数据处理系统102或其组件交互)来识别一个或多个计算设备104的集合。在一些情况下,数据处理系统102可基于时间间隔轮询由传感器管理组件使用的所有先前已知的传感器134。
因此,数据处理系统102可识别能够提供并可用于提供数据以填充模板的第一字段的多个传感器。数据处理系统然后可选择传感器中的要从其接收数据的一个(或子集)。数据处理系统102可确定要轮询未耦合到提供了输入音频信号的计算设备104的传感器。例如,终端用户可使用第一计算设备104来提供输入音频信号。第一计算设备104可包括耦合到第一计算设备104的第一传感器134。数据处理系统可确定存在也与终端用户账户相关联的第二计算设备104(例如,第一和第二计算设备104皆与数据处理系统102成功地执行了握手过程)。第二计算设备104可接近于第一计算设备104,或者数据处理系统102可以其它方式确定第二计算设备104也可提供足够质量的数据来填充模板的第一字段(例如,将由两个传感器提供的位置信息在公差水平(诸如25米、50米、75米或100米)内)。即使第一计算设备104调用了、发起了或者与数据处理系统102建立了通信,数据处理系统102也可确定要使用耦合到第二计算设备104的第二传感器134而不是耦合到第一计算设备的第一传感器134。数据处理系统102可使用资源减少策略来确定要使用耦合到第二计算设备的第二传感器134而不是耦合到将输入音频信号提供给了NLP组件110的第一计算设备104的第一传感器134。数据处理系统102可确定要使用第二计算设备104,因为它可能具有更多的电池剩余,具有更大的资源可用性,或者被配置成提供更高的质量或更准确的数据,这可导致对传感器信息的更少的后续请求。
在一些情况下,传感器管理组件120可通过在从存储器中检索由第二传感器先前检测到的第二环境条件的同时使第一传感器检测第一环境条件(例如,位置、速度、温度、环境光、环境声音等)来减少资源利用。不是指示第二传感器在线或者激活以检测环境条件,而是传感器管理组件120可从存储器中检索先前检测到的值来减少资源利用。例如,传感器管理组件可就与第一字段相对应的数据而轮询第一传感器,同时从计算设备104的存储器获得与第二字段相对应的数据。第二数据可在数据处理系统102请求第二数据之前被存储在计算设备104的存储器中。响应于从直接动作API 116接收到的对来自第二传感器的数据的请求,传感器管理组件120可以不轮询第二传感器134。传感器管理组件120可确定要就与第一字段相对应的数据而轮询第一传感器,但是不就与第二字段相对应的数据而轮询第二传感器。传感器管理组件120可使用策略、逻辑或规则集来确定是否轮询一个或多个传感器。例如,策略、逻辑或规则集可括或者基于条件规则、如果/则条件、触发事件、容差、阈值、时间间隔、位置、地理围栏或活动的类型。例如,传感器管理组件120可确定要就位置信息而轮询第一传感器,因为由数据处理系统102接收到的最后位置数据可能基于时间间隔(例如,10秒、5秒、20秒、30秒、1分钟或更长)已期满了。数据处理系统102可从第二传感器的存储器获得数据,因为第二传感器可以是温度传感器并且数据处理系统102可确定当最后温度测量结果被检测到并存储在存储器中时的时间戳可以满足时间间隔(例如,1分钟、2分钟、3分钟、5分钟、10分钟、20分钟、30分钟或更长)。
传感器管理组件120可调整传感器的配置以基于数据的类型收集数据。例如,传感器管理组件120可调整传感器的采样速率、采样间隔或采样持续时间。传感器管理组件120可增加或者减小采样速率。采样速率可指代在测量时间间隔期间取得的样本的数目。采样速率可包括例如.005Hz、0.01Hz、0.015Hz、0.02Hz、0.05Hz、0.1Hz、0.2Hz、0.5Hz、0.7Hz、1Hz、2Hz、3Hz、5Hz、10Hz或者提供数据来创建动作数据结构同时优化传感器资源利用(例如,数据在公差水平内以在没有过度数据收集的情况下执行操作)的某个其它采样速率。
传感器管理组件120可调整采样间隔。采样间隔可指代当传感器被打开或者在主动地收集传感器数据时的时间段。采样持续时间可指代传感器被打开来以采样速率主动地收集数据有多久。例如,传感器管理组件120可指示或者命令传感器每5分钟(例如,采样间隔)打开来以1Hz(例如,采样速率)收集传感器数据持续30秒(例如,采样持续时间)的持续时间。存储在策略数据结构128中的策略可包括基于传感器的类型、活动的类型或其它特性的采样速率、采样间隔或持续时间的不同值。
在一些情况下,传感器管理组件120可禁用一个或多个传感器。传感器管理组件120可基于或者响应于由传感器收集到的数据的特性来禁用传感器。传感器管理组件120可暂时地或永久地禁用传感器。禁用传感器134可防止该传感器收集或者检测传感器数据或者进行其它测量。在一些情况下,禁用传感器可指代禁用或者关掉控制传感器或者与传感器对接的电子硬件或API。例如,计算设备102可响应于来自传感器管理组件120的用于禁用传感器134的指令而停止就数据而轮询传感器并且收集和存储数据。
传感器管理组件120可对由第一传感器收集到的数据的特性应用资源利用减少策略以禁用第一传感器。数据的特性可以是包括或者指代数据的质量、数据的量、指示传感器的性能的数据,或指示计算资源或电池电力继续收集数据的可用性的数据。例如,该数据可指示传感器在发生故障、未校准或在以其它方式收集错误数据。为了防止收集进一步的错误数据并防止浪费资源(例如,电池电力、处理能力或带宽),传感器管理组件120可在一定时间段内禁用传感器134。传感器管理组件120可在该时间段之后轮询传感器并且评估那时的数据。如果数据再次令人不满意(例如,与其它传感器收集的数据、历史数据、数据的类型、数据的格式不一致),则传感器管理组件120可再次禁用传感器达一定时间间隔,所述时间间隔可以比第一时间间隔长或者是永久的直到传感器被维修为止。
在一些情况下,从第一传感器收集到的数据可由传感器管理组件120分析以禁用相同计算设备或另一计算设备的第二传感器。例如,电池传感器可指示电池电量低(例如,电量剩余20%),然后禁用设备104的一个或多个传感器。在另一示例中,温度传感器可指示设备过热,响应于此传感器管理组件120可禁用位置传感器或其它传感器。
在一些情况下,数据处理系统可识别被配置成获得相同或类似类型的信息(例如,位置信息、活动信息、速度、温度、环境光或环境声音)的多个可用的传感器134。传感器管理组件120在传感器134正常工作的情况下可确定传感器134是可用的,可对对数据的请求做出响应,或者可将检测到的数据输送到计算设备104,所述计算设备104连接到网络104以将该数据路由到数据处理系统102。传感器管理组件120可确定传感器134在它接近于计算设备104的终端用户或另外处于位置中或者被配置成收集用于生成动作数据结构的相关数据的情况下是可用的。
例如,传感器管理组件120可确定存在被配置成收集都与计算设备104的终端用户的账户相关联的位置信息的两个传感器。传感器管理组件120可基于由两个传感器收集到的数据的比较确定两个传感器接近于终端用户,因为它们都在收集类似的位置信息。传感器管理组件120应用策略可确定要针对位置数据而轮询传感器中的仅一个并且禁用另一个传感器,以便与使两个传感器操作相比减少资源消耗。例如,可以将两个传感器配置在都接近于终端用户的两个不同的计算设备104(诸如智能电话和智能手表)上。传感器管理组件120可确定两个不同的计算设备104的电池状态,并且选择被配置在计算设备104上的两个传感器中的具有更大的剩余电池电力的一个。剩余电池电力可以是剩余电力的百分比、剩余绝对电力,或电池可在当前利用(例如,处理器或存储器利用、传感器利用、网络接口利用)下给计算设备104供电的估计时间量。因此,传感器管理组件120可禁用传感器中的一个以保存电池消耗,并且从活动的传感器请求位置信息。
在一些情况下,传感器管理组件120可捎带回先前收集到的信息。例如,传感器管理组件可确定存在接近于终端用户的被配置成获得位置信息的多个可用的传感器。所述多个可用的传感器可包括第一传感器、第二传感器或第三传感器。传感器管理组件120可确定第一传感器收集到终端用户的当前位置信息(例如,在诸如1秒、2秒、3秒或更长的阈值时间内)。此信息在直接动作API从传感器管理组件120请求传感器信息之前可能已被收集。另外,传感器管理组件120可确定第三传感器处于离线状态并且缺少当前位置信息。因此,不是命令第三传感器进入在线状态并消耗资源,而是传感器管理组件120可确定要使用来自第一传感器的信息或者轮询第一传感器以收集更新的位置信息,同时让第三传感器处于离线或低功率状态下。
在一些情况下,传感器管理组件120可指示客户端设备104执行收集到的传感器数据的批量上传。与单独的上传或随着数据被传感器134而流式传输数据相比,收集到的传感器数据的批量上传可减少资源消耗。客户端设备104可响应于从离线状态进入在线状态(例如,重新连接到网络104;被打开;或者处于GPS卫星的视线内)而执行批量上传。在一些情况下,传感器管理组件120可指示计算设备104基于位置(诸如进入或者退出地理围栏(例如,零售店位置或其它物理位置或区域))来执行批量上传。在一些情况下,计算设备可上传安装在计算设备104上的应用的列表(例如,通过访问计算设备的注册表或存储已安装应用的其它数据库)。
直接动作API 116可响应于对第一传感器的轮询而用由传感器管理组件120接收到的数据填充一个或多个字段(例如,第一字段)。直接动作API 116可用由传感器管理组件120从客户端设备的存储器接收到的数据填充第二字段以减少资源消耗。直接动作API 116然后可基于模板的第一字段和第二字段来生成动作数据结构。
直接动作API 116可将动作数据结构传送到第三方提供者设备(例如,服务提供者设备108)以使该第三方提供者设备108调用操作会话。操作会话可指代或者包括第三方提供者设备108利用或者基于动作数据结构进行操作,诸如执行所请求的服务、购买所请求的产品或者调用对话应用编程接口(例如,服务提供者NLP组件142)以在第三方提供者设备108与客户端计算设备104之间建立操作会话或通信会话。响应于在服务提供者设备108与客户端计算设备104之间建立了操作会话或通信会话,服务提供者设备108可经由网络105直接向客户端计算设备104传送数据分组。在一些情况下,服务提供者设备108可经由数据处理系统102和网络105向客户端计算设备104传送数据分组。
数据处理系统102可从第三方提供者设备108接收第三方提供者设备108与客户端设备104建立了操作会话的指示。例如,该指示可识别正在执行的操作的类型(例如,提供诸如出租车服务的服务;购买产品;对查询做出响应)。数据处理系统102还可接收在操作会话期间执行了操作的指示(例如,出租车接到终端用户并将终端用户运送到目的地位置)。可经由包括例如终端用户的标识符、时间戳、操作的类型、第三方服务提供者108的标识符或价格的操作数据结构来提供操作被执行的指示。可使用来自模板数据结构132的模板来形成操作数据结构。模板可以是所有操作的标准,或者基于操作的类型来定制。
在一些情况下,第三方提供者设备108可执行对话API 142的至少一部分。例如,第三方提供者设备108可处理通信会话的某些方面或某些类型的查询。第三方提供者设备108可以利用由数据处理系统102执行的NLP组件112来促进处理与通信会话相关联的音频信号并且生成对查询的响应。在一些情况下,数据处理系统102可包括为第三方提供者108所配置的对话API 142。在一些情况下,数据处理系统在客户端计算设备与第三方提供者设备之间路由数据分组以建立通信会话。数据处理系统102可从第三方提供者设备108接收该第三方提供者设备与客户端设备104建立了通信会话的指示。该指示可包括客户端计算设备104的标识符、与当通信会话被建立时相对于的时间戳或与通信会话相关联的其它信息,诸如与通信会话相关联的动作数据结构。在一些情况下,数据处理系统102可包括用于管理操作会话或通信会话的会话处理机组件114以及用于管理或者选择从其收集数据的传感器的传感器管理组件120。
数据处理系统102可包括、执行、访问或者以其它方式与会话处理机组件114进行通信以在客户端设备104与数据处理系统102之间建立通信会话。该通信会话可指代客户端设备104与数据处理系统102之间的一个或多个数据传输,其包括由客户端设备104的传感器134所检测到的输入音频信号以及由数据处理系统102传送到客户端设备104的输出信号。数据处理系统102(例如,经由会话处理机组件114)可响应于接收到输入音频信号而建立通信会话(例如,操作会话)。数据处理系统102可为通信会话设定持续时间。数据处理系统102可为针对通信会话设定的持续时间设定定时器或计数器。响应于定时器的期满,数据处理系统102可终止通信会话。
通信会话可指代基于网络的通信会话,其中客户端设备104提供认证信息或凭证来建立该会话。在一些情况下,通信会话指代在会话期间通过数据分组承载的音频信号的主题或场境。例如,第一通信会话可指代在客户端设备104与数据处理系统102之间传送的与出租车服务有关(例如,包括关键词、动作数据结构或内容项对象)的音频信号;而第二通信会话可指代在客户端设备104与数据处理系统102之间传送的与洗衣和干洗服务有关的音频信号。在此示例中,数据处理系统102可确定音频信号的场境是不同的(例如,经由NLP组件112),并且使两组音频信号分成不同的通信会话。会话处理机114可响应于识别与干洗和洗衣服务有关的一个或多个音频信号而终止与乘车服务有关的第一会话。因此,数据处理系统102可响应于检测到音频信号的场境而为与干洗和洗衣服务有关的音频信号发起或者建立第二会话。
数据处理系统102可包括、执行或者以其它方式与内容选择器组件118进行通信以接收由自然语言处理器识别的触发关键词,并且基于触发关键词经由实时内容选择过程选择内容项。在一些情况下,直接动作API 116可以将动作数据结构传送到内容选择器组件118以执行实时内容选择过程并且在内容提供者设备106(或第三方提供者设备108)与客户端计算设备104之间建立通信会话。
内容选择过程可指代或者包括选择由第三方内容提供者106提供的赞助内容项对象。内容选择过程可包括由多个内容提供者提供的内容项被解析、处理、加权或者匹配以便选择一个或多个内容项以提供给计算设备104的服务。可实时地或离线执行内容选择过程。实时地执行内容选择过程可指代响应于对经由客户端计算设备104接收到的内容的请求而执行内容选择过程。可在接收请求的时间间隔(例如,5秒、10秒、20秒、30秒、1分钟、2分钟、3分钟、5分钟、10分钟或20分钟)内执行(例如,发起或者完成)实时内容选择过程。可在与客户端计算设备104的通信会话期间或者在通信会话被终止之后的一定时间间隔内执行实时内容选择过程。
例如,数据处理系统102可包括被设计、构造、配置或者可操作来选择内容项对象的内容选择器组件118。为了选择在基于语音的环境中显示的内容项,数据处理系统102(例如,经由NLP组件112)可解析输入音频信号以识别关键词(例如,触发关键词),并且使用这些关键词来基于广泛匹配、确切匹配或短语匹配来选择匹配内容项。例如,内容选择器组件118可分析、解析或者以其它方式处理候选内容项的主题以确定候选内容项的主题是否与由客户端计算设备104的麦克风检测到的输入音频信号的关键词或短语的主题相对应。内容选择器组件118可以使用图像处理技术、字符识别技术、自然语言处理技术或数据库查找来识别、分析或者识别候选内容项的语音、音频、术语、字符、文本、符号或图像。候选内容项可以包括指示候选内容项的主题的元数据,在此情况下内容选择器组件118可以处理该元数据以确定候选内容项的主题是否对应于输入音频信号。
内容提供者106可以在设置包括内容项的内容活动时提供附加指示符。内容提供者106可以在内容选择器组件118可以通过使用关于候选内容项的信息来执行查找而识别的内容活动或内容组水平下提供信息。例如,候选内容项可以包括可以映射到内容组、内容活动或内容提供者的唯一标识符。内容选择器组件118可基于存储在数据储存库124中的内容活动数据结构中的信息来确定关于内容提供者106的信息。
数据处理系统102可经由计算机网络接收对在计算设备104上呈现的内容的请求。数据处理系统102可通过处理由客户端计算设备104的麦克风检测到的输入音频信号来识别请求。该请求可包括请求的选择准则,诸如设备类型、位置和与该请求相关联的关键词。该请求可包括动作数据结构或动作数据结构。
响应于请求,数据处理系统102可从数据储存库124或与内容提供者106相关联的数据库中选择内容项对象,并且经由网络105提供内容项以供经由计算设备104呈现。内容项对象可由与服务提供者设备108不同的内容提供者设备108来提供。内容项可对应于与动作数据结构的服务的类型不同的服务的类型(例如,出租车服务与食物配送服务的关系)。计算设备104可与内容项对象交互。计算设备104可接收对内容项的音频响应。计算设备104可接收用于选择与内容项对象相关联的超链接或其它按钮的指示,所述指示使得或者允许计算设备104识别服务提供者108,从服务提供者108请求服务,指示服务提供者108执行服务,向服务提供者108传送信息,或者以其它方式查询服务提供者设备108。
数据处理系统102可包括、执行或者与音频信号生成器组件122进行通信以生成输出信号。该输出信号可包括一个或多个部分。例如,该输出信号可包括第一部分和第二部分。该输出信号的第一部分可对应于动作数据结构。该输出信号的第二部分可对应于由内容选择器组件118在实时内容选择过程期间选择的内容项。
音频信号生成器组件122可生成具有与第一数据结构相对应的声音的第一部分的输出信号。例如,音频信号生成器组件122可基于通过直接动作API 116填充到动作数据结构的字段中的一个或多个值来生成输出信号的第一部分。在出租车服务示例中,字段的值可包括例如搭车位置为123大街、目的地位置为1234大街、乘客人数为2和服务水平的经济情况。音频信号生成器组件122可生成输出信号的第一部分以便确认计算设备104的终端用户想要继续将请求传送到服务提供者108。第一部分可以包括以下输出“Would you liketo an economy car from taxi service provider A to pick two people up at 123Main Street and drop off at 1234 Main Street?(您想从出租车服务提供者A订购一辆经济车在123大街接两个人并在1234大街下车吗?)”
在一些情况下,第一部分可包括从服务提供者设备108接收到的信息。可针对动作数据结构定制或者定做从服务提供者设备108接收到的信息。例如,数据处理系统102在指示服务提供者108执行操作之前(例如,经由直接动作API 116)可将动作数据结构传送到服务提供者108。替代地,数据处理系统102可指示服务提供者设备108对动作数据结构执行初始或初步处理以生成关于操作的初步信息。在出租车服务的示例中,对动作数据结构的初步处理可包括识别满足位于搭车位置周围的服务水平要求的可用出租车、估计最近可用出租车到达搭车位置的时间量、估计到达目的地的时间以及估计出租车服务的价格。经估计的初始值可以包括固定值、基于各种条件经受改变的估值或值的范围。服务提供者设备108可经由网络105将初步信息返回给数据处理系统102或者直接给客户端计算设备104。数据处理系统102可将来自服务提供者设备108的初步结果并入到输出信号中,并且将输出信号传送到计算设备104。输出信号可包括例如“Taxi Service Company A can pick you upat 123 Main Street in 10 minutes,and drop you off at 1234 Main Street by 9 AMfor$10.Do you want to order this ride?(出租车服务公司A可在10分钟内在123主街接您,并以10美元让您在上午9点前在1234主街下车。你想订购此旅程吗?)”这可形成输出信号的第一部分。
在一些情况下,数据处理系统102可形成输出信号的第二部分。输出信号的第二部分可包括由内容选择器组件118在实时内容选择过程期间选择的内容项。第一部分可与第二部分不同。例如,第一部分可包括与动作数据结构相对应的直接响应于承载由客户端计算设备104的传感器134检测到的输入音频信号的数据分组的信息,然而第二部分可包括由内容选择器组件104所选择的可与动作数据结构切向相关的内容项,或者包括由内容提供者设备106提供的赞助内容。例如,计算设备104的终端用户可从出租车服务公司A请求出租车。数据处理系统102可生成输出信号的第一部分以包括关于来自出租车服务公司A的出租车的信息。然而,数据处理系统102可生成输出信号的第二部分以包括基于关键词“taxiservice(出租车服务)”和包含在动作数据结构中的终端用户可能感兴趣的信息而选择的内容项。例如,第二部分可包括由不同的出租车服务公司(诸如出租车服务公司B)提供的内容项或信息。虽然用户可能尚未具体地请求出租车服务公司B,但是数据处理系统102仍然可以提供来自出租车服务公司B的内容项,因为用户可以选择与出租车服务公司B一起执行操作。
数据处理系统102可将来自行动数据结构的信息传送到出租车服务公司B以确定乘车时间、到达目的地的时间和旅程价格。数据处理系统102可接收此信息并且生成输出信号的第二部分如下:“Taxi Service Company B can pick you up at 123 Main Streetin 2 minutes,and drop you off at 1234 Main Street by 8:82 AM for$15.Do youwant this ride instead?(出租车服务公司B可在2分钟内在123主街接您,并以15美元让您在上午8:52前在1234主街下车。您替代地想要此旅程吗?)”计算设备104的终端用户然后可选择由出租车服务公司A提供的旅程或由出租车服务公司B提供的旅程。
在输出信号的第二部分中提供与由出租车服务公司B提供的服务相对应的赞助内容项之前,数据处理系统102可通知计算设备的终端用户第二部分对应于(例如,由内容选择器组件118)在实时内容选择过程期间选择的内容项对象。然而,数据处理系统102可具有对不同类型的接口的有限访问以向计算设备104的终端用户提供通知。例如,计算设备104可以不包括显示设备,或者该显示设备可以被禁用或者关掉。与计算设备104的扬声器相比计算设备104的显示设备可以消耗更多的资源,所以与使用计算设备104的扬声器来传达通知相比打开计算设备104的显示设备可能是不太高效的。因此,在一些情况下,数据处理系统102可改进通过一个或多个接口或者一个或多个类型的计算机网络的信息传输的效率和有效性。例如,数据处理系统102(例如,经由音频信号生成器组件122)可使包括内容项的输出音频信号的部分模块化以向终端用户提供输出信号的该部分包括赞助内容项的指示或通知。
数据处理系统102(例如,经由接口110和网络105)可传送包括由音频信号生成器组件122生成的输出信号的数据分组。输出信号可使客户端设备104的音频驱动器组件138或由客户端设备104执行的音频驱动器组件138驱动客户端设备104的扬声器(例如,转换器136)以生成与输出信号相对应的声波。
图2是系统经由计算机网络选择性地轮询传感器的操作的图示。系统可包括图1中所描绘的系统100的一个或多个组件。NLP组件112可接收并解析由计算设备检测到的音频信号。在行为202处NLP组件112可向直接动作API 116传递信息。直接动作API 116可响应于由NLP组件112解析的音频信号而确定要收集传感器信息以填充模板的一个或多个字段来生成动作数据结构。
在行为204处,直接动作API可从传感器管理组件120请求传感器信息。传感器管理组件120可与多个计算设备(例如,第一、第二和第三计算设备104)建立传感器数据收集会话206。在行为206处传感器管理组件120可轮询计算设备104中的一个或多个。传感器管理组件120可确定要就传感器数据而轮询计算设备104中的仅一个以减少与终端用户有关并且提供类似信息的多个计算设备104之间的聚合资源消耗。传感器管理组件120可指示计算设备104中的一个或多个轮询传感器134。
在行为208处,计算设备104中的一个或多个可轮询、启用、激活、调用或者以其它方式使传感器134收集传感器数据并且将该传感器数据提供给计算设备104以提供给传感器管理组件120或数据处理系统102。在行为210处传感器管理组件120可将所收集到的传感器数据提供给直接动作API 116。因此,传感器管理组件120可优化传感器利用以通过选择一个或多个传感器或这些传感器的子集来轮询而减少与终端用户相关联(或者接近于可提供所请求的传感器信息的终端用户)的多个计算设备104当中间的聚合资源利用。
图3是选择性地轮询传感器的示例方法的图示。方法300可由系统100或系统400的一个或多个组件、系统或元件来执行。方法300可包括数据处理系统接收输入音频信号(行为305)。数据处理系统可从客户计算设备接收输入音频信号。例如,由数据处理系统执行的自然语言处理器组件可经由数据处理系统的接口从客户端计算设备接收输入音频信号。数据处理系统可接收承载或者包括由客户端计算设备(或客户端设备)的传感器检测到的输入音频信号的数据分组。
在行为310处,方法300可包括数据处理系统解析输入音频信号。自然语言处理器组件可解析输入音频信号以识别请求和与该请求相对应的触发关键词。例如,由客户端设备检测到的音频信号可包括“Okay device,I need a ride from Taxi Service CompanyA to go to 1234 Main Street(好的设备,我需要从出租车服务公司A乘车去1234主街)”。在此音频信号中,初始触发关键词可包括“okay device”,其可向客户端设备指示要向数据处理系统传送输入音频信号。客户端设备的预处理器在将剩余音频信号发送到数据处理系统之前可滤出术语“okay device”。在一些情况下,客户端设备可滤出附加术语或者生成要传送到数据处理系统以供进一步处理的关键词。
数据处理系统可识别输入音频信号中的触发关键词。触发关键词可包括例如“togo to”或“ride”或这些术语的变化。触发关键词可指示服务或产品的类型。数据处理系统可识别输入音频信号中的请求。可基于术语“I need”确定请求。可使用语义处理技术或其它自然语言处理技术来确定触发关键词和请求。
在行为315处,数据处理系统可选择动作数据结构的模板。该模板可响应于触发关键词、请求或识别的第三方提供者。该模板可包括一个或多个字段,诸如第一字段。
在行为320处,数据处理系统可轮询一个或多个传感器,或者指示计算设备轮询传感器。虽然数据处理系统可识别能够提供数据来填充第一字段的多个传感器,但是数据处理系统可选择一个传感器来轮询。数据处理系统可确定要轮询未耦合到提供了输入音频信号的计算设备104的传感器。例如,终端用户可使用第一计算设备104来提供输入音频信号。第一计算设备104可包括耦合到第一计算设备的第一传感器。数据处理系统可确定存在也与终端用户账户相关联的第二计算设备104。第二计算设备可接近于第一计算设备,或者数据处理系统可以其它方式确定第二计算设备也可提供足够质量的数据来填充模板的第一字段(例如,将由两个传感器提供的位置信息在公差水平(诸如25米、50米、75米或100米)内。即使第一计算设备调用了、发起了或者与数据处理系统102建立了通信,数据处理系统也可确定要使用耦合到第二计算设备104的第二传感器而不是耦合到第一计算设备的第一传感器。数据处理系统可使用资源减少策略来确定要使用耦合到第二计算设备的第二传感器。例如,第二计算设备可具有更多的电池剩余,具有更大的资源可用性,或者连接到电源。
在一些情况下,数据处理系统可确定要从存储器中检索由传感器先前检测到的数据。例如,即使需要来自第二传感器的信息来填充第二字段,数据处理系统也可确定要轮询一个传感器而不轮询第二传感器。例如,数据处理系统可确定要通过使用先前收集的信息(例如,在对传感器数据的请求之前)减少资源消耗。因此,数据处理系统可轮询第一传感器并使用来自第二传感器的存储的数据。数据处理系统可基于规则或策略或者通过分析所存储的数据以确定它满足条件或阈值(例如,在一定时间间隔内收集的)确定要这样做。
在行为325处,数据处理系统可生成具有传感器数据的动作数据结构。数据处理系统可基于触发关键词、请求、第三方提供者设备或其它信息生成动作数据结构。该动作数据结构可响应于请求。例如,如果客户端计算设备的终端用户从出租车服务公司A请求出租车,则该动作数据结构可包括从出租车服务公司A请求出租车服务的信息。数据处理系统可为出租车服务公司A选择模板,并且用从一个或多个传感器或存储器获得的值填充模板中的字段以允许出租车服务公司A向客户端计算设备的用户派出租车以接用户并将该用户运送到所请求的目的地。
在行为330处,数据处理系统可从第三方提供者设备接收第三方提供者设备与客户端设备建立了操作会话的指示。该指示可指示操作被发起了、在待决中、在进行中或完成。该指示可包括具有关于操作的附加信息的数据结构。
图4是示例计算机系统400的框图。计算机系统或计算设备400可包括或者用于实现系统100或其组件,诸如数据处理系统102。数据处理系统102可包括智能个人助理或基于语音的数字助理。计算系统400包括用于传送信息的总线405或其它通信组件以及耦合到总线405以用于处理信息的处理器410或处理电路。计算系统400也可包括耦合到总线以用于处理信息的一个或多个处理器410或处理电路。计算系统400也包括耦合到总线405以用于存储信息和待由处理器410执行的指令的主存储器415,诸如随机存取存储器(RAM)或其它动态存储设备。主存储器415可以是或者包括数据储存库145。主存储器415也可被用于在由处理器410执行指令期间存储位置信息、临时变量或其它中间信息。计算系统400还可以包括耦合到总线405以用于为处理器410存储静态信息和指令的只读存储器(ROM)420或其它静态存储设备。存储设备425(诸如固态设备、磁盘或光盘)可耦合到总线405以持久地存储信息和指令。存储设备425可包括或者是数据储存库145的一部分。
计算系统400可以经由总线405耦合到显示器435,诸如液晶显示器或有源矩阵显示器,用于向用户显示信息。输入设备430(诸如包括字母数字和其它键的键盘)可以耦合到总线405以用于向处理器410传送信息和命令。输入设备430可包括触摸屏显示器435。输入设备430也可包括光标控件,诸如鼠标、轨迹球或光标方向键,用于向处理器410传送方向信息和命令选择并用于控制光标在显示器435上的移动。例如,显示器435可以是图1的数据处理系统102、客户端计算设备150或其它组件的一部分。
本文所描述的过程、系统和方法可由计算系统400响应于处理器410执行包含在主存储器415中的指令的布置来实现。此类指令可被从另一计算机可读介质(诸如存储设备425)读取到主存储器415中。包含在主存储器415中的指令的布置的执行使计算系统400执行本文所描述的说明性过程。也可以采用多处理布置中的一个或多个处理器来执行包含在主存储器415中的指令。可使用硬连线电路代替软件指令或者连同本文所描述的系统和方法一起与软件指令相结合地使用。本文所描述的系统和方法不限于硬件电路和软件的任何特定组合。
尽管已经在图4中描述了示例计算系统,然而包括本说明书中所描述的操作的主题可用其它类型的数字电子电路或者用计算机软件、固件或硬件(包括本说明书所公开的结构及其结构等同物)或者用它们中的一个或多个的组合加以实现。
对于本文所讨论的系统收集关于用户的个人信息或者可以利用个人信息的情形,可以给用户提供控制程序或特征是否可以收集个人信息(例如,关于用户的社交网络、社交动作或活动、用户的偏好或用户的位置的信息)或者控制是否或者如何从内容服务器或其它数据处理系统接收可能与用户更相关的内容的机会。此外,某些数据可以在它被存储或者使用之前被以一个或多个方式匿名化,使得个人可识别的信息在生成参数时被移除。例如,可以使用户的身份匿名化,使得对于该用户来说不可确定个人可识别的信息,或者可以在获得了位置信息的情况下使用户的地理位置泛化(诸如到城市、邮政编码或州级别),使得不可确定用户的特定位置。因此,用户可以控制信息如何关于他或她被收集并由内容服务器使用。
本说明书中所描述的主题和操作可用数字电子电路或者用计算机软件、固件或硬件(包括本说明书所公开的结构及其结构等同物)或者用它们中的一个或多个的组合加以实现。本说明书中所描述的主题可作为在一个或多个计算机存储介质上编码以供由数据处理装置执行或者控制数据处理装置的操作的一个或多个计算机程序(例如,计算机程序指令的一个或多个电路)被实现。可替选地或此外,可在人工生成的传播信号(例如,被生成来对信息进行编码以便传输到适合的接收器设备以供由数据处理装置执行的机器生成的电、光或电磁信号)上对程序指令进行编码。计算机存储介质可以是或者被包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备或者它们中的一个或多个的组合中。虽然计算机存储介质不是传播信号,但是计算机存储介质可以是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质也可以是或者被包括在一个或多个单独的组件或介质(例如,多个CD、磁盘或其它存储设备)中。本说明书中所描述的操作可作为由数据处理装置对存储在一个或多个计算机可读存储设备上或者从其它源接收到的数据执行的操作被实现。
术语“数据处理系统”、“计算设备”、“组件”或“数据处理装置”包含用于对数据进行处理的各种装置、设备和机器,作为示例包括可编程处理器、计算机、片上系统或多个可编程处理器、计算机、片上系统,或者上述的组合。装置可包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。装置除了包括硬件之外还可包括为所述计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们其中的一个或多个的组合的代码。装置和执行环境可实现各种不同的计算模型基础设施,诸如web服务、分布式计算和网格计算基础设施。例如,直接动作API 116、内容选择器组件118或NLP组件112和其它数据处理系统102组件可包括或者共享一个或多个数据处理装置、系统、计算设备或处理器。
计算机程序(也被称为程序、软件、软件应用、app、脚本或代码)可用任何形式的编程语言编写,所述编程语言包括编译或解释型语言、声明性或过程语言,并且可被以任何形式部署,所述任何形式包括作为独立程序或者作为模块、组件、子例程、对象或适合于在计算环境使用的其它单元。计算机程序可对应于文件系统中的文件。可在保持其它程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中、在专用于所述程序的单个文件中或者在多个协同文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中存储计算机程序。可将计算机程序部署成在一个计算机上或者在位于一个站点处或者跨越多个站点分布并由通信网络互连的多个计算机上执行。
本说明书中所描述的过程和逻辑流程可通过一个或多个可编程处理器执行一个或多个计算机程序(例如,数据处理系统102的组件)以通过对输入数据进行操作并生成输出来执行动作而被执行。过程和逻辑流程也可由专用逻辑电路来执行,并且装置也可作为专用逻辑电路被实现,所述专用逻辑电路例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,作为示例包括半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路来补充,或者并入专用逻辑电路。
可在计算系统中实现本文所描述的主题,所述计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有用户可用来与本说明书中所描述的主题的实施方式交互的图形用户接口或web浏览器的客户端计算机),或者一个或多个此类后端、中间件或前端组件的组合。本系统的组件可通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网络(例如,互联网)和对等网络(例如,对等点对点网络)。
诸如系统100或系统400的计算系统可包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络(例如,网络165)交互。客户端和服务器的关系借助于相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施方式中,服务器向客户端设备传送数据(例如,表示内容项的数据分组)(例如,出于向与客户端设备交互的用户显示数据并且从与客户端设备交互的用户接收用户输入的目的)。在客户机设备处生成的数据(例如,用户交互的结果)可在服务器处从客户端设备接收(例如,由数据处理系统102从计算设备150或内容提供者计算设备155或服务提供者计算设备160接收)。
虽然在附图中按照特定次序描绘了操作,但是不要求按照所示特定次序或按照顺序次序执行此类操作,并且不要求执行所有图示的操作。可按照不同的次序执行本文所描述的动作。
各种系统组件的分离在所有实施方式中不要求分离,并且所描述的程序组件可被包括在单个硬件或软件产品中。例如,NLP组件110或内容选择器组件125或传感器管理组件120可以是单个组件、app或程序,或者具有一个或多个处理电路的逻辑设备,或者数据处理系统102的一个或多个服务器的一部分。
在现在已经描述了一些说明性实施方式后,显而易见的是,上文是说明性的而非限制性的,已经通过示例被呈现。特别地,尽管本文所呈现的许多示例涉及方法行为或系统元件的特定组合,但是可以以其它方式组合那些行为和那些元件以实现相同的目标。连同一个实施方式一起讨论的行为、元件和特征在其它实现或实施方式中不旨在被排除在类似的角色之外。
本文所使用的措辞和术语是为了描述的目的,而不应该被认为是限制性的。“包含”、“包括”、“具有”、“包含”、“涉及”、“特征是”、“其特征在于”及其变化的使用意在包含此后列举的项、其等同物和附加目以及由此后排他地列举的项构成的供替换的实施方式。在一个实施方式中,本文所描述的系统和方法由所有所描述的元件、行为或组件中的一个、多于一个的每个组合或全部构成。
对在本文中按照单数引用的系统和方法的实施方式或元件或行为的任何引用也可以包含包括多个这些元素的实施方式,并且在本文中按照复数对任何实施方式或元件或行为的任何引用也可以包含仅包括单个元件的实施方式。单数或复数形式的引用不旨在将目前公开的系统或方法、其组件、行为或元件限于单个或多个配置。对基于任何信息、行为或元件的任何行为或元件的引用可以包括该行为或元件至少部分地基于任何信息、行为或元件的实施方式。
本文所公开的任何实施方式可以与任何其它实施方式或实施例组合,并且对“实施方式”、“一些实施方式”、“一个实施方式”等的引用不一定是相互排斥的,并且旨在指示与该实施方式相结合地描述的特定特征、结构或特性可以被包括在至少一个实施方式或实施例中。如本文所使用的术语不一定全部参考相同实施方式。任何实施方式可以按照与本文所公开的方面和实施方式一致的任何方式包括地或排他地与任何其它实施方式组合。
对“或”的引用可以被解释为包括的,使得使用“或”所描述的任何术语可以指示所描述的术语中的单个、多于一个和全部中的任一个。例如,对“‘A’和‘B’中的至少一个”的引用可包括仅‘A’”、仅‘B’以及‘A’和‘B’两者。与“包括”或其它开放式术语相结合地使用的此类引用可包括附加项。
在附图、具体实施方式或任何权利要求中的技术特征后面有附图标记的情况下,这些附图标记已被包括来增加附图、具体实施方式和权利要求的可理解性。因此,附图标记及其不存在皆不对任何权利要求要素的范围具有任何影响。
本文所述的系统和方法可以在不脱离其特性的情况下被以其它特定形式具体实现。例如,数据处理系统102可部分地基于来自线程200的动作序列中的先前动作的数据(诸如来自第二动作210的指示第二动作210完成或即将开始的数据)来为后续动作(例如,为第三动作215)选择内容项。上述实施方式是说明性的而不限制所描述的系统和方法。本文所描述的系统和方法的范围因此通过所附权利要求而不是上述描述来指示,并且落在权利要求的等同物的含义和范围内的改变被包含在其中。
Claims (20)
1.一种系统,包括:
包括存储器和一个或多个处理器的数据处理系统,用于:
经由所述数据处理系统的接口接收包括由客户端设备的麦克风检测到的输入音频信号的数据分组;
解析所述输入音频信号以识别请求和与所述请求相对应的关键词;
基于所述关键词为响应于所述请求的动作数据结构选择模板,所述动作数据结构用于封装第三方提供者设备使用的一个或多个参数以执行提供服务类型或产品类型的操作,所述模板包括第一字段;
识别被配置成获得所述动作数据结构的所述第一字段的信息的多个可用的传感器,所述多个可用的传感器耦合到与所述客户端设备不同的一个或多个客户端设备,所述一个或多个客户端设备i)均与和所述客户端设备相关联的终端用户账户相关联,ii)均在所述客户端设备的阈值距离内,以及iii)均已使用所述终端用户账户的证书成功地执行了与所述数据处理系统的握手过程并且当前在线;
选择所述一个或多个客户端设备中的第二客户端设备的所述多个可用的传感器中的第一传感器以用于与所述第三方提供者设备用来执行提供所述服务类型或所述产品类型的操作的所述动作数据结构的所述第一字段相对应的数据;
利用从所述第一传感器接收的数据生成所述动作数据结构,以基于所述模板的所述第一字段提供所述服务类型或所述产品类型;以及
将所述动作数据结构传送到所述第三方提供者设备以使所述第三方提供者设备基于封装在所述动作数据结构中的所述一个或多个参数来提供所述服务类型或所述产品类型的一个或多个动作。
2.根据权利要求1所述的系统,包括:
所述数据处理系统用于确定不使用所述客户端设备的传感器,其中为所述数据选择的所述第一传感器不耦合到所述客户端设备。
3.根据权利要求1所述的系统,包括所述数据处理系统用于:
确定所述多个可用的传感器中的每一个的状态;以及
基于所述第一传感器的状态来选择所述第二客户端设备的所述第一传感器。
4.根据权利要求1所述的系统,包括所述数据处理系统用于:
对所述第一传感器轮询与所述动作数据结构的所述第一字段相对应的数据。
5.根据权利要求1所述的系统,包括所述数据处理系统用于:
向所述第三方提供者设备提供所述动作数据结构,以调用所述第三方提供者设备和所述客户端设备之间的操作会话。
6.根据权利要求1所述的系统,包括所述数据处理系统用于:
从所述第三方提供者设备接收所述一个或多个动作的执行的指示。
7.根据权利要求1所述的系统,包括所述数据处理系统用于:
识别被配置为获得位置信息的第二多个可用的传感器,所述第二多个可用的传感器包括所述第一传感器和第二传感器;
确定所述多个可用的传感器中的每一个的电池状态;以及
基于所述多个可用的传感器中的每一个的电池状态来选择所述多个可用的传感器中的所述第一传感器。
8.根据权利要求1所述的系统,包括所述数据处理系统用于:
从所述第一传感器接收包括位置信息的数据;
选择所述多个可用的传感器中的第二传感器;以及
从所述第二传感器接收附加信息。
9.根据权利要求1所述的系统,包括所述数据处理系统用于:
识别被配置成获得位置信息的第二多个可用的传感器,所述第二多个可用的传感器包括所述第一传感器和第二传感器;
在来自所述数据处理系统的对位置信息的请求之前确定所述第一传感器检测到所述客户端设备的当前位置信息;以及
从所述第一传感器获得所述当前位置信息。
10.根据权利要求1所述的系统,包括所述数据处理系统用于:
识别被配置成获得位置信息的第二多个可用的传感器,所述第二多个可用的传感器包括所述第一传感器和第二传感器;
确定所述第二传感器处于离线状态并且缺少当前位置信息;以及
从所述第一传感器获得所述当前位置信息,其中所述第二传感器处于离线状态。
11.一种方法,包括:
由包括一个或多个处理器和存储器的数据处理系统经由所述数据处理系统的接口接收包括由客户端设备的麦克风检测到的输入音频信号的数据分组;
由所述数据处理系统解析所述输入音频信号以识别请求和与所述请求相对应的关键词;
由所述数据处理系统基于所述关键词为响应于所述请求的动作数据结构选择模板,所述动作数据结构用于封装第三方提供者设备使用的一个或多个参数以执行提供服务类型或产品类型的操作,所述模板包括第一字段;
由所述数据处理系统识别被配置成获得所述动作数据结构的所述第一字段的信息的多个可用的传感器,所述多个可用的传感器耦合到与所述客户端设备不同的一个或多个客户端设备,所述一个或多个客户端设备i)均与和所述客户端设备相关联的终端用户账户相关联,ii)均在所述客户端设备的阈值距离内,以及iii)均已使用所述终端用户账户的证书成功地执行了与所述数据处理系统的握手过程并且当前在线;
由所述数据处理系统选择所述一个或多个客户端设备中的第二客户端设备的所述多个可用的传感器中的第一传感器以用于与所述第三方提供者设备用来执行提供所述服务类型或所述产品类型的操作的所述动作数据结构的所述第一字段相对应的数据;
由所述数据处理系统利用从所述第一传感器接收的数据生成所述动作数据结构,以基于所述模板的所述第一字段提供所述服务类型或所述产品类型;以及
由所述数据处理系统将所述动作数据结构传送到所述第三方提供者设备以使所述第三方提供者设备基于封装在所述动作数据结构中的所述一个或多个参数来提供所述服务类型或所述产品类型的一个或多个动作。
12.根据权利要求11所述的方法,包括:
由所述数据处理系统确定不使用所述客户端设备的传感器,其中为所述数据选择的所述第一传感器不耦合到所述客户端设备。
13.根据权利要求11所述的方法,包括:
由所述数据处理系统确定所述多个可用的传感器中的每一个的状态;以及
由所述数据处理系统基于所述第一传感器的状态来选择所述第二客户端设备的所述第一传感器。
14.根据权利要求11所述的方法,包括:
由所述数据处理系统对所述第一传感器轮询与所述动作数据结构的所述第一字段相对应的数据。
15.根据权利要求11所述的方法,包括:
由所述数据处理系统向所述第三方提供者设备提供所述动作数据结构,以调用所述第三方提供者设备和所述客户端设备之间的操作会话。
16.根据权利要求11所述的方法,包括:
由所述数据处理系统从所述第三方提供者设备接收所述一个或多个动作的执行的指示。
17.根据权利要求11所述的方法,包括:
由所述数据处理系统识别被配置为获得位置信息的第二多个可用的传感器,所述第二多个可用的传感器包括所述第一传感器和第二传感器;
由所述数据处理系统确定所述多个可用的传感器中的每一个的电池状态;以及
由所述数据处理系统基于所述多个可用的传感器中的每一个的电池状态来选择所述多个可用的传感器中的所述第一传感器。
18.根据权利要求11所述的方法,包括:
由所述数据处理系统从所述第一传感器接收包括位置信息的数据;
由所述数据处理系统选择所述多个可用的传感器中的第二传感器;以及
由所述数据处理系统从所述第二传感器接收附加信息。
19.根据权利要求11所述的方法,包括:
由所述数据处理系统识别被配置成获得位置信息的第二多个可用的传感器,所述第二多个可用的传感器包括所述第一传感器和第二传感器;
由所述数据处理系统在来自所述数据处理系统的对位置信息的请求之前确定所述第一传感器检测到所述客户端设备的当前位置信息;以及
由所述数据处理系统从所述第一传感器获得所述当前位置信息。
20.根据权利要求11所述的方法,包括:
由所述数据处理系统识别被配置成获得位置信息的第二多个可用的传感器,所述第二多个可用的传感器包括所述第一传感器和第二传感器;
由所述数据处理系统确定所述第二传感器处于离线状态并且缺少当前位置信息;以及
由所述数据处理系统从所述第一传感器获得所述当前位置信息,其中所述第二传感器处于离线状态。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/395,715 | 2016-12-30 | ||
US15/395,715 US10924376B2 (en) | 2016-12-30 | 2016-12-30 | Selective sensor polling |
CN201780001587.XA CN108513705B (zh) | 2016-12-30 | 2017-08-31 | 选择性传感器轮询 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780001587.XA Division CN108513705B (zh) | 2016-12-30 | 2017-08-31 | 选择性传感器轮询 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112885349A true CN112885349A (zh) | 2021-06-01 |
Family
ID=59901583
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780001587.XA Active CN108513705B (zh) | 2016-12-30 | 2017-08-31 | 选择性传感器轮询 |
CN202110121741.5A Pending CN112885349A (zh) | 2016-12-30 | 2017-08-31 | 选择性传感器轮询 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780001587.XA Active CN108513705B (zh) | 2016-12-30 | 2017-08-31 | 选择性传感器轮询 |
Country Status (8)
Country | Link |
---|---|
US (3) | US10924376B2 (zh) |
EP (3) | EP3360310B1 (zh) |
JP (3) | JP6629882B2 (zh) |
KR (3) | KR102049036B1 (zh) |
CN (2) | CN108513705B (zh) |
DE (2) | DE212017000329U1 (zh) |
GB (2) | GB2572316B (zh) |
WO (1) | WO2018125305A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11627186B2 (en) * | 2012-05-17 | 2023-04-11 | Digi International, Inc. | Wireless network of environmental sensor units |
US10924376B2 (en) | 2016-12-30 | 2021-02-16 | Google Llc | Selective sensor polling |
US10405137B2 (en) * | 2017-03-13 | 2019-09-03 | Kevin R. Imes | Mobile application and system for associating actions with independent geographic locations |
US10299216B1 (en) * | 2018-01-06 | 2019-05-21 | Eric John Wengreen | Self-driving vehicle actions in response to a low battery |
US10303181B1 (en) | 2018-11-29 | 2019-05-28 | Eric John Wengreen | Self-driving vehicle systems and methods |
US11073838B2 (en) | 2018-01-06 | 2021-07-27 | Drivent Llc | Self-driving vehicle systems and methods |
JP6944594B2 (ja) * | 2018-06-08 | 2021-10-06 | 株式会社Nttドコモ | 対話装置 |
US11081113B2 (en) | 2018-08-24 | 2021-08-03 | Bright Marbles, Inc. | Idea scoring for creativity tool selection |
US11461863B2 (en) | 2018-08-24 | 2022-10-04 | Bright Marbles, Inc. | Idea assessment and landscape mapping |
US11189267B2 (en) | 2018-08-24 | 2021-11-30 | Bright Marbles, Inc. | Intelligence-driven virtual assistant for automated idea documentation |
US11164065B2 (en) | 2018-08-24 | 2021-11-02 | Bright Marbles, Inc. | Ideation virtual assistant tools |
US10493952B1 (en) | 2019-03-21 | 2019-12-03 | Drivent Llc | Self-driving vehicle systems and methods |
US10479319B1 (en) | 2019-03-21 | 2019-11-19 | Drivent Llc | Self-driving vehicle systems and methods |
US10282625B1 (en) | 2018-10-01 | 2019-05-07 | Eric John Wengreen | Self-driving vehicle systems and methods |
US10471804B1 (en) | 2018-09-18 | 2019-11-12 | Drivent Llc | Self-driving vehicle systems and methods |
US10794714B2 (en) | 2018-10-01 | 2020-10-06 | Drivent Llc | Self-driving vehicle systems and methods |
US10900792B2 (en) | 2018-10-22 | 2021-01-26 | Drivent Llc | Self-driving vehicle systems and methods |
US10832569B2 (en) | 2019-04-02 | 2020-11-10 | Drivent Llc | Vehicle detection systems |
US11221621B2 (en) | 2019-03-21 | 2022-01-11 | Drivent Llc | Self-driving vehicle systems and methods |
US11644833B2 (en) | 2018-10-01 | 2023-05-09 | Drivent Llc | Self-driving vehicle systems and methods |
US10474154B1 (en) | 2018-11-01 | 2019-11-12 | Drivent Llc | Self-driving vehicle systems and methods |
US10744976B1 (en) | 2019-02-04 | 2020-08-18 | Drivent Llc | Self-driving vehicle systems and methods |
US10377342B1 (en) | 2019-02-04 | 2019-08-13 | Drivent Technologies Inc. | Self-driving vehicle systems and methods |
US20200333868A1 (en) * | 2019-04-22 | 2020-10-22 | Ecolink Intelligent Technology, Inc. | Power-saving sensor |
US11711427B2 (en) * | 2019-04-26 | 2023-07-25 | Siemens Aktiengesellschaft | Data acquisition system and method |
CN112269607A (zh) | 2020-11-17 | 2021-01-26 | 北京百度网讯科技有限公司 | 小程序的控制方法、系统、服务器以及终端设备 |
US11842229B2 (en) * | 2021-01-06 | 2023-12-12 | Prama, Inc. | System and method for designing and developing application programming interface |
EP4102804A1 (en) * | 2021-06-10 | 2022-12-14 | Juniper Networks, Inc. | Metric collection based on device characteristic information |
US11516067B1 (en) | 2021-06-10 | 2022-11-29 | Juniper Networks, Inc. | Collecting metric information by sensors based on device characteristic information |
GB2608634A (en) * | 2021-07-08 | 2023-01-11 | Vodafone Group Services Ltd | Device data validity |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130275875A1 (en) * | 2010-01-18 | 2013-10-17 | Apple Inc. | Automatically Adapting User Interfaces for Hands-Free Interaction |
US20140108019A1 (en) * | 2012-10-08 | 2014-04-17 | Fluential, Llc | Smart Home Automation Systems and Methods |
US20140222436A1 (en) * | 2013-02-07 | 2014-08-07 | Apple Inc. | Voice trigger for a digital assistant |
US20160018879A1 (en) * | 2014-07-16 | 2016-01-21 | Mediatek Inc. | Power-saving method and associated electronic device |
US20160322044A1 (en) * | 2015-04-01 | 2016-11-03 | Elwha Llc | Networked User Command Recognition |
CN106164814A (zh) * | 2015-03-13 | 2016-11-23 | (株)未来百乐 | 用于由移动设备控制传感器的移动设备和方法 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6275806B1 (en) | 1999-08-31 | 2001-08-14 | Andersen Consulting, Llp | System method and article of manufacture for detecting emotion in voice signals by utilizing statistics for voice signal parameters |
US6684249B1 (en) | 2000-05-26 | 2004-01-27 | Sonicbox, Inc. | Method and system for adding advertisements over streaming audio based upon a user profile over a world wide area network of computers |
US6857007B1 (en) | 2000-08-30 | 2005-02-15 | Bloomfield Enterprises, Llc | Personal digital assistant facilitated communication system |
JP2002215670A (ja) * | 2001-01-15 | 2002-08-02 | Omron Corp | 音声応答装置、音声応答方法、音声応答プログラム、音声応答プログラムを記録した記録媒体および予約システム |
US7853255B2 (en) | 2004-04-16 | 2010-12-14 | Broadcom Corporation | Digital personal assistance via a broadband access gateway |
US8195133B2 (en) | 2005-09-14 | 2012-06-05 | Jumptap, Inc. | Mobile dynamic advertisement creation and placement |
US7904505B2 (en) | 2005-11-02 | 2011-03-08 | At&T Intellectual Property I, L.P. | Service to push author-spoken audio content with targeted audio advertising to users |
CA2641853C (en) | 2006-02-10 | 2016-02-02 | Spinvox Limited | A mass-scale, user-independent, device-independent, voice messaging system |
WO2007118247A2 (en) * | 2006-04-07 | 2007-10-18 | Qualcomm Incorporated | Sensor interface, and methods and apparatus pertaining to same |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8145561B1 (en) | 2009-01-05 | 2012-03-27 | Sprint Communications Company L.P. | Phone usage pattern as credit card fraud detection trigger |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US8276159B2 (en) | 2009-09-23 | 2012-09-25 | Microsoft Corporation | Message communication of sensor and other data |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
EP2575128A3 (en) * | 2011-09-30 | 2013-08-14 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
CN103959751A (zh) * | 2011-09-30 | 2014-07-30 | 苹果公司 | 自动调整用户界面以用于免提交互 |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
KR102179811B1 (ko) * | 2012-12-03 | 2020-11-17 | 엘지전자 주식회사 | 포터블 디바이스 및 음성 인식 서비스 제공 방법 |
WO2014194240A1 (en) * | 2013-05-31 | 2014-12-04 | Nike Innovate C.V. | Dynamic sampling |
US9946985B2 (en) * | 2014-04-15 | 2018-04-17 | Kofax, Inc. | Touchless mobile applications and context-sensitive workflows |
US9602349B2 (en) * | 2014-08-18 | 2017-03-21 | Qualcomm Incorporated | Multi-device sensor subsystem joint optimization |
US20160077892A1 (en) | 2014-09-12 | 2016-03-17 | Microsoft Corporation | Automatic Sensor Selection Based On Requested Sensor Characteristics |
US9769564B2 (en) | 2015-02-11 | 2017-09-19 | Google Inc. | Methods, systems, and media for ambient background noise modification based on mood and/or behavior information |
US10267661B2 (en) * | 2015-03-23 | 2019-04-23 | Incoming Pty Ltd | Energy efficient mobile context collection |
WO2016157642A1 (ja) | 2015-03-27 | 2016-10-06 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US10383568B2 (en) * | 2015-09-30 | 2019-08-20 | Apple Inc. | Confirming sleep based on secondary indicia of user activity |
US20170092278A1 (en) | 2015-09-30 | 2017-03-30 | Apple Inc. | Speaker recognition |
US9747926B2 (en) | 2015-10-16 | 2017-08-29 | Google Inc. | Hotword recognition |
US9928840B2 (en) | 2015-10-16 | 2018-03-27 | Google Llc | Hotword recognition |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10572524B2 (en) * | 2016-02-29 | 2020-02-25 | Microsoft Technology Licensing, Llc | Content categorization |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10659921B2 (en) * | 2016-09-23 | 2020-05-19 | Qualcomm Incorporated | Measurement batching |
US10924376B2 (en) | 2016-12-30 | 2021-02-16 | Google Llc | Selective sensor polling |
-
2016
- 2016-12-30 US US15/395,715 patent/US10924376B2/en active Active
-
2017
- 2017-08-31 GB GB1803228.4A patent/GB2572316B/en active Active
- 2017-08-31 GB GB2200233.1A patent/GB2601252B/en active Active
- 2017-08-31 KR KR1020197016186A patent/KR102049036B1/ko active IP Right Grant
- 2017-08-31 DE DE212017000329.4U patent/DE212017000329U1/de active Active
- 2017-08-31 KR KR1020177031461A patent/KR101988610B1/ko active IP Right Grant
- 2017-08-31 EP EP17768899.1A patent/EP3360310B1/en active Active
- 2017-08-31 EP EP19188032.7A patent/EP3588918B1/en active Active
- 2017-08-31 CN CN201780001587.XA patent/CN108513705B/zh active Active
- 2017-08-31 KR KR1020197034136A patent/KR102125991B1/ko active IP Right Grant
- 2017-08-31 WO PCT/US2017/049779 patent/WO2018125305A1/en active Application Filing
- 2017-08-31 EP EP21208337.2A patent/EP3979604A1/en active Pending
- 2017-08-31 DE DE112017000141.2T patent/DE112017000141T5/de active Pending
- 2017-08-31 JP JP2017556887A patent/JP6629882B2/ja active Active
- 2017-08-31 CN CN202110121741.5A patent/CN112885349A/zh active Pending
-
2019
- 2019-12-05 JP JP2019220480A patent/JP6828124B2/ja active Active
-
2021
- 2021-01-19 US US17/152,246 patent/US11627065B2/en active Active
- 2021-01-19 JP JP2021006464A patent/JP7136941B2/ja active Active
-
2023
- 2023-04-10 US US18/298,034 patent/US20230246936A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130275875A1 (en) * | 2010-01-18 | 2013-10-17 | Apple Inc. | Automatically Adapting User Interfaces for Hands-Free Interaction |
US20140108019A1 (en) * | 2012-10-08 | 2014-04-17 | Fluential, Llc | Smart Home Automation Systems and Methods |
US20140222436A1 (en) * | 2013-02-07 | 2014-08-07 | Apple Inc. | Voice trigger for a digital assistant |
US20160018879A1 (en) * | 2014-07-16 | 2016-01-21 | Mediatek Inc. | Power-saving method and associated electronic device |
CN105278654A (zh) * | 2014-07-16 | 2016-01-27 | 联发科技股份有限公司 | 省电方法及其电子装置 |
CN106164814A (zh) * | 2015-03-13 | 2016-11-23 | (株)未来百乐 | 用于由移动设备控制传感器的移动设备和方法 |
US20160322044A1 (en) * | 2015-04-01 | 2016-11-03 | Elwha Llc | Networked User Command Recognition |
Also Published As
Publication number | Publication date |
---|---|
US11627065B2 (en) | 2023-04-11 |
US20230246936A1 (en) | 2023-08-03 |
EP3979604A1 (en) | 2022-04-06 |
KR101988610B1 (ko) | 2019-06-12 |
KR20180091706A (ko) | 2018-08-16 |
DE112017000141T5 (de) | 2018-09-13 |
KR102049036B1 (ko) | 2019-11-26 |
CN108513705B (zh) | 2021-05-18 |
JP6828124B2 (ja) | 2021-02-10 |
KR102125991B1 (ko) | 2020-06-23 |
JP2021064011A (ja) | 2021-04-22 |
GB2601252B (en) | 2022-11-16 |
CN108513705A (zh) | 2018-09-07 |
GB2572316A (en) | 2019-10-02 |
JP2019506758A (ja) | 2019-03-07 |
GB201803228D0 (en) | 2018-04-11 |
EP3360310A1 (en) | 2018-08-15 |
KR20190066087A (ko) | 2019-06-12 |
JP2020064308A (ja) | 2020-04-23 |
EP3588918B1 (en) | 2021-12-22 |
JP7136941B2 (ja) | 2022-09-13 |
EP3588918A1 (en) | 2020-01-01 |
GB2572316B (en) | 2022-02-23 |
GB2601252A (en) | 2022-05-25 |
DE212017000329U1 (de) | 2019-12-20 |
JP6629882B2 (ja) | 2020-01-15 |
US10924376B2 (en) | 2021-02-16 |
WO2018125305A1 (en) | 2018-07-05 |
EP3360310B1 (en) | 2019-08-21 |
KR20190132557A (ko) | 2019-11-27 |
US20180191596A1 (en) | 2018-07-05 |
US20210144079A1 (en) | 2021-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108513705B (zh) | 选择性传感器轮询 | |
US11949733B2 (en) | Audio-based data structure generation | |
US11475886B2 (en) | Feedback controller for data transmissions |
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 |