在语音激活的计算机网络环境中的序列相关数据消息整合的制作方法

文档序号:15575324发布日期:2018-09-29 05:24阅读:138来源:国知局

本申请请求于2016年12月30日提交并且标题为“在语音激活的计算机网络环境中的序列相关数据消息整合”的美国专利申请no.15/395,725的权益和优先权,其全部内容出于各种目的通过引用并入本文中。

计算设备间网络业务数据的基于分组或其他方式的过度网络传输会阻止计算设备正确处理网络业务数据、完成与网络业务数据相关的操作或者及时对网络业务数据作出响应。如果响应的计算设备处于或超过其处理能力,则网络业务数据的过度网络传输还会使数据路由复杂化或者降低响应质量,这可能导致低效的带宽占用。对应于内容项目对象的网络传输的控制会因能够启动计算设备之间网络业务数据的网络传输的大量内容项目对象而变得复杂。



技术实现要素:

至少一个方面针对一种组合指示序列相关操作的多个语音激活的音频输入数据分组的系统。由数据处理系统执行的自然语言处理器组件能够经由数据处理系统的接口接收包括由客户端计算设备的传感器检测到的第一输入音频信号的数据分组。自然语言处理器组件能够解析第一输入音频信号以识别第一请求和对应于第一请求的第一触发关键词。数据处理系统的直接动作应用编程接口(“api”)能够基于第一触发关键词并且响应于第一请求而生成第一动作数据结构。直接动作api能够构建包括第一动作数据结构的第一数据传输,以在第一服务提供者计算设备与客户端计算设备之间建立第一通信会话,经由数据处理系统将第一通信会话的数据分组从客户端计算设备路由到第一服务提供者计算设备。自然语言处理器组件能够经由数据处理系统的接口接收包括由客户端计算设备的传感器检测到的第二输入音频信号的数据分组,并且能够解析第二输入音频信号,以识别第二请求和对应于第二请求的第二触发关键词。直接动作api能够基于第二触发关键词并且响应于第二请求而生成第二动作数据结构。直接动作api能够构建包括第二动作数据结构的第二数据传输,以在第二服务提供者计算设备与客户端计算设备之间建立第二通信会话,经由数据处理系统将第二通信会话的数据分组从客户端计算设备路由到第二服务提供者计算设备。由数据处理系统执行的线程优化组件能够获得第一数据传输的数据分组,并且能够获得第二数据传输的数据分组。线程优化组件能够基于应用于第一数据结构的数据分组和应用于第二数据结构的数据分组的启发式技术来确定序列相关性参数。线程优化组件能够基于序列相关性参数与阈值的比较将第一数据传输和第二动作数据传输合并到单线程中。

至少一个方面针对一种管理指示序列相关操作的多个语音激活的音频输入数据通信的方法。方法能够包括:通过由数据处理系统执行的自然语言处理器组件,经由数据处理系统的接口接收包括由客户端计算设备的传感器检测到的第一输入音频信号的数据分组。方法能够包括:通过自然语言处理器组件,从第一输入音频信号中识别第一请求和对应于第一请求的第一触发关键词。方法能够包括:通过数据处理系统的直接动作应用编程接口(“api”),基于第一触发关键词并且响应于第一请求生成第一动作数据结构。方法能够包括:构建包括第一动作数据结构的第一数据传输,用于第一服务提供者计算设备与客户端计算设备之间的第一通信会话,经由数据处理系统将第一通信会话的数据分组从客户端计算设备路由到第一服务提供者计算设备。方法能够包括:通过自然语言处理器组件,经由数据处理系统的接口,接收包括由客户端计算设备的传感器检测到的第二输入音频信号的数据分组,以及通过自然语言处理器组件,解析第二输入音频信号,以识别第二请求和对应于第二请求的第二触发关键词。方法能够包括:通过直接动作api,基于第二触发关键词并且响应于第二请求生成第二动作数据结构。方法能够包括:构建包括第二动作数据结构的第二数据传输,用于第二服务提供者计算设备与客户端计算设备之间的第二通信会话,经由数据处理系统将第二通信会话的数据分组从客户端计算设备路由到第二服务提供者计算设备。方法能够包括:通过由数据处理系统执行的线程优化组件,获得第一数据传输的数据和第二数据传输的数据。方法能够包括:基于应用于第一数据结构的数据和应用于第二数据结构的数据的启发式技术,确定序列相关性参数。方法能够包括:基于序列相关性参数与阈值的比较,将第一动作数据结构和第二动作数据结构与单线程相关联。

至少一个方面针对一种存储指令的计算机可读存储介质,指令当由一个或多个数据处理器执行时使得一个或多个数据处理器执行操作,以管理指示序列相关操作的多个语音激活的音频输入数据通信。操作能够包括:通过由数据处理系统执行的自然语言处理器组件,经由数据处理系统的接口接收包括由客户端计算设备的传感器检测到的第一输入音频信号的数据分组。操作能够包括:通过自然语言处理器组件,从第一输入音频信号中识别第一请求和对应于第一请求的第一触发关键词。操作能够包括:通过数据处理系统的直接动作应用编程接口(“api”),基于第一触发关键词并且响应于第一请求,生成第一动作数据结构。操作能够包括:构建包括第一动作数据结构的第一数据传输,用于第一服务提供者计算设备与客户端计算设备之间的第一通信会话,经由数据处理系统将第一通信会话的数据分组从客户端计算设备路由到第一服务提供者计算设备。操作能够包括:通过自然语言处理器组件,经由数据处理系统的接口,接收包括由客户端计算设备的传感器检测到的第二输入音频信号的数据分组,以及通过自然语言处理器组件解析第二输入音频信号,以识别第二请求和对应于第二请求的第二触发关键词。操作能够包括:通过直接动作api,基于第二触发关键词并且响应于第二请求生成第二动作数据结构。操作能够包括:构建包括第二动作数据结构的第二数据传输,用于第二服务提供者计算设备与客户端计算设备之间的第二通信会话,经由数据处理系统将第二通信会话的数据分组从客户端计算设备路由到第二服务提供者计算设备。操作能够包括:通过由数据处理系统执行的线程优化组件,获得第一数据传输的数据分组和第二数据传输的数据分组。操作能够包括:基于应用于第一数据结构的数据分组和应用于第二数据结构的数据分组的启发式技术,确定序列相关性参数。操作能够包括:基于序列相关性参数,将第一动作数据结构和第二动作数据结构与单线程相关联。

下面详细讨论这些和其他方面以及实施方式。上文的信息和下文的具体描述包括各个方面和各种实施方式的说明性示例,并且提供用于理解所要求保护的方面和实施方式的性质和特点的概述或构架。附图提供对各个方面和各种实施方式的说明和进一步理解,并且被并入本发明且构成本说明书的一部分。

附图说明

附图并不意图按比例绘制。在各图中相似的附图标号和标记指示相似的元素。为清楚起见,在每个图中可以并不标注每个组件。在图中:

图1描绘出组合在语音激活的计算机网络环境中指示序列相关操作的多个语音激活的音频输入数据分组的系统;

图2描绘出用于基于语音激活的数据分组的计算机网络环境的单线程结构的功能图;

图3描绘出基于语音激活的数据分组的计算机网络环境中的线程数据结构生成以及在远程数据处理系统与服务提供者计算设备之间通信的功能图;

图4描绘出管理指示序列相关操作的多个语音激活的音频输入数据通信的方法;以及

图5是图示出可以用来实现本文所述和所示的系统和方法的元素的计算机系统的总体架构的框图。

具体实施方式

下面更详细地描述有关在语音激活的计算机网络环境中优化对多个语音激活的音频输入数据分组的处理的方法、装置和系统的各种概念及其实施方式。上文介绍并且下文将更详细讨论的各种概念可以通过若干方式中的任何一种来实现。

本公开的系统和方法大体上涉及一种数据处理系统,其经由在语音激活的计算机网络环境中基于数据分组的传输来优化或动态地调整多个基于语音激活的分组(或者其他协议)的输入音频信号。数据处理系统能够例如通过从输入音频信号中提取信息以生成多个对应的动作数据结构,来提高通过一个或多个计算机网络的数据分组传输的效率和有效性。动作数据结构能够被构建用于在数据处理系统与多个不同的服务提供者计算设备之间的通信会话期间进行传输。例如,从不同动作数据结构的分组中,数据处理系统能够确定至少一个序列相关性参数。序列相关性参数能够指示由动作数据结构或者它们的对应数据传输指示的动作的操作顺序。基于序列相关性参数,数据处理系统能够将多个动作数据传输合并或组合到单线程中。

单线程能够包括多个动作数据结构的序列相关操作。数据处理系统能够将单线程或其部分(例如,至少一个基于分组的数据结构)提供给多个服务提供者计算设备,以完成由单线程指示的动作。数据处理系统还能够将单线程或其部分提供给至少一个内容提供者计算设备,以获得与单线程相关联的内容项目。服务提供者计算设备和内容提供者计算设备能够经由或绕过数据处理系统与至少一个客户端计算设备(例如,音频输入信号源)进行通信,以呈现音频输出来完成由线程指示的动作或者在客户端计算设备处呈现内容项目。

通过将多个动作数据结构合并或以其他方式整合到单线程中,以及通过识别由单线程指示的序列相关操作,相对于没有这种整合和序列相关性识别而个别处理多个动作数据结构,降低了数据处理系统的处理、功率和存储器利用率要求。例如,个体别动作数据结构的异步或失序处理操作能够导致经由数据处理系统与服务提供者计算设备或者内容提供者计算设备之间已建立的通信会话的不适时、过早或不必要的数据分组通信。这会浪费带宽,并且可能导致数据处理系统以及服务提供者计算设备或者内容提供者计算设备出现不必要的处理操作,这就浪费多个计算设备的计算资源。

基于单线程中所识别的序列相关操作,数据处理系统能够暂时性或者永久性跳过一组序列相关操作的初始操作,并且能够改为转到对应于稍后或最后操作的操作。通过绕过对应于多个序列相关操作中的前期操作的基于分组或者其他协议的数据传输,并且改为直接转到操作序列中的后期操作的基于分组的数据传输,数据处理系统能够减少、延迟或者消除与早期操作相关联的数据处理。这节省了处理功率和诸如存储器的其他计算资源,减少数据处理系统的电力消耗,并且降低的经由计算机网络的数据传输会减少数据处理系统的带宽要求和使用。

本文所述的系统和方法能够包括接收第一输入音频信号的数据处理系统。从第一输入音频信号中,数据处理系统能够识别第一请求和对应于该请求的第一触发关键词。基于第一触发关键词或者第一请求,数据处理系统能够生成第一动作数据结构,并且能够构建或准备包括该第一动作数据结构的第一数据传输。作为第一通信会话的一部分,第一数据传输能够作为基于数据分组或者其他协议的传输从客户端计算设备路由到至少一个第一服务提供者计算设备。

数据处理系统能够接收第二输入音频信号。从第二输入音频信号中,数据处理系统能够识别第二请求和对应于该请求的第二触发关键词。基于第二触发关键词或者第二请求,数据处理系统能够生成第二动作数据结构,并且能够构建或准备包括该第二动作数据结构的第二数据传输。作为第二通信会话的一部分,第二数据传输能够作为基于数据分组或者其他协议的传输从客户端计算设备路由到至少一个第二服务提供者计算设备。第一和第二服务提供者计算设备能够对应于不经由数据处理系统彼此通信的不同实体。

数据处理系统能够(例如,从第一和第二数据结构中)获得第一和第二传输的数据分组,并且能够从数据分组中提取信息以确定至少一个序列相关性参数。序列相关性参数能够指示用于第一和第二数据结构的动作的操作序列。数据处理系统能够将序列相关性参数与阈值(例如,规则、策略或者值)进行比较,并且基于该比较,数据处理系统能够将第一和第二数据传输(或者相关联的动作数据结构)合并到单线程中。单线程能够指示第一和第二(或者更多)动作数据结构的动作,并且能够指示这些动作的序列或者顺序以及序列相关性,其中例如第二动作不能(或者不被调度成)开始,直到第一动作完成。

例如,基于序列相关性或者基于从客户端计算设备接收的输入,数据处理系统能够重新排序、跳过或者至少暂时性绕过与单线程的一些动作相关的操作。这能够在执行基于绕过的动作的数据处理操作中的至少一些之前或者在不执行这些操作的情况下完成。绕过针对第一动作的处理操作,与没有绕过的情况相比,利用更少的数据处理和更少的电力使用便能够识别、发送和呈现与第二动作相关的数据。

图1描绘出在语音激活的基于数据分组(或者其他协议)的计算机网络环境中优化具有序列相关操作的多个动作数据结构的处理的示例系统100。系统100能够包括至少一个数据处理系统105,例如,作为语音激活的通信或者规划系统(planningsystem)的一部分。数据处理系统105能够包括具有至少一个处理器的至少一个服务器。例如,数据处理系统105能够包括位于至少一个数据中心或者服务器群(serverfarm)中的多个服务器。数据处理系统105能够从输入音频信号中确定请求以及与该请求相关联的触发关键词。基于请求和触发关键词,数据处理系统105能够生成动作数据结构。动作数据结构能够指示对应于输入音频信号的至少一个动作。数据处理系统105能够接收多个单独的输入音频信号,并且针对每个输入音频信号,能够创建相应的数据结构。数据处理系统105能够构建或以其他方式准备用于每个数据结构的数据传输,以在与相应的其他计算设备(例如,服务提供者计算设备或者内容提供者计算设备)的相应通信会话期间传送数据结构。数据处理系统105能够从动作数据结构或者对应的数据传输中确定一个或多个序列相关性参数。基于该序列相关性参数,数据处理系统105能够将多个数据传输(或者对应的动作数据结构)合并到单线程中。单线程能够指示来自至少两个动作数据结构的动作以及操作的顺序或者动作的序列相关性。

数据处理系统105能够包括多个逻辑分组的服务器并且有助于分布式计算技术。服务器的逻辑组可以被称为数据中心、服务器群或者机群(machinefarm)。服务器能够在地理上分散。数据中心或者机群可以作为单个实体来管理,或者机群能够包括多个机群。每个机群内的服务器能够是异构的——服务器或机器中的一个或多个能够根据一种或多种类型的操作系统平台来操作。数据处理系统105能够包括存储在一个或多个高密度机架系统中的数据中心中的服务器以及例如位于企业数据中心中的相关联的存储系统。通过这种方式具有统一服务器的数据处理系统105能够通过在本地化高性能网络上定位服务器和高性能存储系统来提高系统易管理性、数据安全性、系统的物理安全性和系统性能。将包括服务器和存储系统的数据处理系统105的全部或一些组件集中化并且将它们与先进的系统管理工具相耦合能够更有效地使用服务器资源,这会节省功率和处理需求并且减少带宽占用。

数据处理系统105能够包括至少一个自然语言处理器(nlp)组件110、至少一个接口115、至少一个线程优化组件120、至少一个内容选择器组件125、至少一个音频信号发生器组件130、至少一个直接动作应用编程接口(api)135、至少一个会话处理程序组件140以及至少一个数据存储库145。nlp组件110、接口115、线程优化组件120、内容选择器组件125、音频信号发生器组件130、直接动作api135和会话处理程序组件140能够各自包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、电器或者其他逻辑设备,诸如配置成经由至少一个计算机网络165与数据存储库145以及与其他计算设备(例如,客户端计算设备150、内容提供者计算设备155或服务提供者计算设备160)进行通信的可编程逻辑阵列。网络165能够包括诸如因特网、局域网、广域网、城域网或者其他域网、内联网、卫星网络的计算机网络、诸如语音或者数据移动电话通信网络的其他计算机网络及其组合。

网络165能够包括或者构成显示网络,例如,与内容放置或者搜索引擎结果系统相关联或者适合包括第三方内容项目作为内容项目放置活动的一部分的在因特网上的可用信息资源的子集。网络165能够供数据处理系统105用来访问能够由客户端计算设备150呈现、输出、再现或者显示的信息资源,诸如web页面、web站点、域名或者统一资源定位符。例如,经由网络165,客户端计算设备150的用户能够访问由内容提供者计算设备155或者服务提供者计算设备160提供的信息或者数据。

网络165能够例如包括点对点网络、广播网络、广域网络、局域网络、电信网络、数据通信网络、计算机网络、atm(异步传输模式)网络、sonet(同步光学网络)网络、sdh(同步数字体系)网络、无线网络或者有线网络以及其组合。网络165能够包括无线链路,诸如红外信道或者卫星频带。网络165的拓扑结构可以包括总线、星形或者环形网络拓扑结构。网络165能够包括使用用于移动设备之间通信的任何一个或多个协议的移动电话网络,协议包括高级移动电话协议(“amps”)、时分多址(“tdma”)、码分多址(“cdma”)、全球移动通信系统(“gsm”)、通用分组无线电服务(“gprs”)或者通用移动通信系统(“umts”)。可以经由不同的协议传输不同类型的数据,或者可以经由不同的协议传输相同类型的数据。

客户端计算设备150、内容提供者计算设备155和服务提供者计算设备160能够各自包括至少一个逻辑设备,诸如具有处理器的计算设备,以经由网络165彼此通信或者与数据处理系统105进行通信。客户端计算设备150、内容提供者计算设备155和服务提供者计算设备160能够各自包括至少一个服务器、处理器或存储器或者位于至少一个数据中心中的多个计算资源或服务器。客户端计算设备150、内容提供者计算设备155和服务提供者计算设备160能够各自包括至少一个计算设备,诸如桌面型计算机、膝上型计算机、平板型计算机、个人数字助理、智能电话、便携式计算机、服务器、瘦客户端计算机、虚拟服务器或者其他计算设备。

客户端计算设备150能够包括至少一个传感器151、至少一个换能器152、至少一个音频驱动器153以及至少一个扬声器154。传感器151能够包括麦克风或者音频输入传感器。换能器152能够将音频输入转换成电子信号。音频驱动器153能够包括由客户端计算设备150的一个或多个处理器执行的脚本或者程序,用以控制传感器151、换能器152或者音频驱动器153以及客户端计算设备150的其他组件处理音频输入或者提供音频输出。扬声器154能够发射音频输出信号。

客户端计算设备150能够与终端用户相关联,该终端用户将语音查询作为音频输入输入到客户端计算设备150(经由传感器151),并且接收从扬声器154输出的能够从数据处理系统105(或者内容提供者计算设备155或服务提供者计算设备160)向客户端计算设备150提供的计算机生成的语音形式的音频输出。计算机生成的语音能够包括来自真人的录音或者计算机生成的语言。

内容提供者计算设备155能够提供基于音频的内容项目,以供客户端计算设备150作为音频输出内容项目显示。内容项目能够包括对货物或者服务的报价,诸如基于语音的消息,该消息表述:“wouldyoulikemetoorderyouataxi(需要我帮您订辆出租车吗)”?例如,内容提供者计算设备155能够包括存储器,用以存储能够响应于基于语音的查询而提供的一系列音频内容项目。内容提供者计算设备155还能够将基于音频的内容项目(或者其他内容项目)提供给数据处理系统105,其中能够将它们存储在数据存储库145中。数据处理系统105能够选择包括音频分量的内容项目并且将音频项目提供(或者指令内容提供者计算设备155提供)给客户端计算设备150。基于音频的内容项目能够仅为音频,或者能够与文本、图像或视频数据组合。内容项目能够包括当被渲染时提供音频输出或者声波的一个或多个音频文件。除音频内容之外或者替代音频内容,内容项目还能够包括其他内容(例如,文本、视频或者图像内容)。例如,内容项目能够包括文本或者图像文件或者其组合,其不包括音频文件并且不呈现音频输出。

服务提供者计算设备160能够包括至少一个服务提供者自然语言处理器(nlp)组件161以及至少一个服务提供者接口162。服务提供者nlp组件161(或者诸如服务提供者计算设备160的直接动作api的其他组件)能够与客户端计算设备150(经由数据处理系统105或者绕过数据处理系统105)接合,以创建客户端计算设备150与服务提供者计算设备160之间的来回实时基于语音或音频的对话(例如,会话)。例如,服务提供者接口162能够向数据处理系统105的直接动作api135接收或者提供数据消息。服务提供者计算设备160和内容提供者计算设备155能够与同一实体相关联。例如,内容提供者计算设备155能够为汽车共享服务创建、存储或者制作可用的内容项目,并且服务提供者计算设备160能够与客户端计算设备150建立会话,以安排交付汽车共享服务的汽车或者出租车来接走客户端计算设备150的终端用户。经由直接动作api135、nlp组件110或者其他组件,数据处理系统105还能够与客户端计算设备150建立会话(包括或绕过服务提供者计算设备160)以例如安排交付汽车共享服务的汽车或者出租车。

数据存储库145能够包括一个或多个本地数据库或者分布式数据库并且能够包括数据库管理系统。数据存储库145能够包括计算机数据存储区或者存储器并且能够存储一个或多个参数146、一个或多个策略147、内容数据148或者模板149以及其他数据。参数146、策略147和模板149能够包括诸如有关客户端计算设备150(或者服务提供者设备160)与数据处理系统105之间的基于语音的会话的规则的信息。内容数据148能够包括用于音频输出或者相关联的元数据的内容项目以及能够作为与客户端计算设备150的一个或多个通信会话的一部分的输入音频消息。

数据处理系统105能够包括安装在客户端计算设备150处的应用、脚本或者程序,诸如app,用以将输入音频信号通信到数据处理系统105的接口115并且驱动客户端计算设备的组件呈现输出音频信号。数据处理系统105能够接收包括或者识别音频输入信号的数据分组或者其他信号。例如,数据处理系统105能够执行或者运行nlp组件110的至少一部分,以接收音频输入信号。

nlp组件110能够通过将输入信号与存储的代表性音频波形集合(例如,在数据存储库145中)进行比较并且选取最匹配的那些而将音频输入信号转换成辨别的文本。代表性波形是在大量用户之间生成并且能够用语音样本来增强。在音频信号被转换成辨识的文本之后,nlp组件110能够将文本与例如经由在用户之间训练或者通过手动设定与数据处理系统105能够服务的动作相关联的词语进行匹配。

音频输入信号能够由客户端计算设备的传感器151(例如,麦克风)来检测。经由换能器152、音频驱动器153或者其他组件,客户端计算设备150能够将音频输入信号提供给数据处理系统105(例如,经由网络165),其中该音频输入信号能够被接收(例如,通过接口115)并且被提供给nlp组件110或者被存储在数据存储库145中作为内容数据148。

系统100能够在语音激活的数据分组(或者其他协议)环境中优化包括序列相关操作的动作数据结构的处理。例如,数据处理系统105能够包括或者是语音激活辅助服务,语音命令设备,智能个人助理,知识导航器,事件规划或其他辅助程序的一部分。数据处理系统105能够提供用于从客户端计算设备150中显示的音频输出的一个或多个实例,以完成有关该输入音频信号的任务。这些任务能够例如包括与服务提供者计算设备160或者其他第三方计算设备进行通信以进行晚餐预订或者购买电影票。例如,终端用户能够向客户端计算设备150输入音频信号:“ok,iwouldliketogotogodinnertonight(好,我今晚想去吃晚餐)”。该输入音频信号能够由客户端计算设备150的传感器151(例如,麦克风)检测并且(例如,由换能器152)变换成基于数据分组或者其他协议的结构,以便传输到数据处理系统105。

nlp组件110能够接收或以其他方式获得至少一个第一输入音频信号。例如,经由接口115和计算机网络165,nlp组件110能够从客户端计算设备150获得第一输入音频信号。nlp组件110能够从第一输入音频信号中提取数据或以其他方式解析第一输入音频信号,以识别至少一个第一请求或者对应于该第一请求的至少一个第一触发关键词。第一请求能够指示第一输入音频信号的意图或者主题,例如,吃晚餐的意图。第一触发关键词能够指示可能采取的动作的类型。例如,nlp组件110能够解析第一输入音频信号以识别晚上离开家去吃晚餐的至少一个请求。第一触发关键词能够包括指示要采取的动作的至少一个词语、短语、词根或部分词或者派生词。例如,输入音频信号中的关键词“go(去)”或者“togoto(要去)”能够指示需要交通。在本示例中,输入音频信号(或者所识别的请求)并未直接表达对交通的意图,然而触发关键词指示交通是对由请求指示的至少一个其他动作的附属或子动作。

nlp组件110能够接收第二输入音频信号。例如,第一音频输入信号可能是“ok,iwouldliketogotogodinnertonight(好,我今晚想去吃晚餐)”,并且第二音频输入信号可能是“ok,iwouldliketocatchamovielater(好,我想稍后去看电影)”。与获得第一输入音频信号类似的方式,例如经由网络165,nlp组件110能够通过从任何客户端计算设备150接收或以其他方式获得第二输入音频信号。nlp组件110能够从第二输入音频信号中提取数据或以其他方式解析第二输入音频信号,以识别至少一个第二请求或者对应于该第二请求的至少一个第二触发关键词。第二请求能够指示第二输入音频信号的意图或者主题,例如,在影院中观看电影的意图。第二触发关键词能够指示可能采取的动作的类型。例如,nlp组件110能够解析第二输入音频信号以识别晚上离开家去看电影的至少一个请求。第二触发关键词能够包括指示要采取的动作的至少一个词语、短语、词根或部分词或者派生词。例如,来自第二输入音频信号的触发关键词“tocatch”能够指示对交通的需要,例如,作为由请求指示的至少一个其他动作的附属或子动作。

直接动作api135能够执行例如来自nlp组件110、线程优化组件120或者内容选择器组件125的程序或者脚本,以执行任务或动作,或者识别响应于输入音频信号的内容项目。直接动作api135能够执行由数据处理系统105确定的指定动作来满足终端用户的意图。根据在其输入中指定的动作,直接动作api135能够执行代码或者对话脚本,其识别满足用户请求所需的参数。这样的代码能够例如在数据存储库145中查找附加信息,诸如家庭自动化服务的名称,或者其能够提供用于在客户端计算设备150处呈现的音频输出,以向终端用户询问问题,诸如所请求的出租车的预期目的地、要观看的电影的题材或者要去吃晚餐的餐馆的类型。直接动作api135能够确定必要的参数并且能够将信息打包成动作数据结构,动作数据结构能够再被发送到诸如内容选择器组件125的另一个组件或者要实现的服务提供者计算设备160(或者内容提供者计算设备155)。

数据处理系统105的直接动作api135能够基于请求或者触发关键词来生成线程的动作的数据结构。动作数据结构能够响应于请求而被生成。动作数据结构能够被包括在发送到服务提供者计算设备160或者由其接收的消息中。基于由nlp组件110解析的请求,直接动作api135能够确定应向多个服务提供者计算设备160中的哪一个发送消息。

直接动作api135能够基于第一触发关键词并且响应于第一请求来生成第一动作数据结构,并且能够基于第二触发关键词并且响应于第二请求来生成第二动作数据结构。例如,如果第一输入音频信号包括“gotodinnertonight(今晚去吃晚餐)”,则nlp组件110能够识别触发词“tonight(今晚)”和对晚餐建议或者预约的请求。直接动作api135能够将请求打包成第一动作数据结构,以便作为消息发送到餐馆的服务提供者计算设备160(或者内容提供者计算设备155)。第一输入音频信号能够包括指示附属于晚餐动作的其他动作的其他请求或者触发关键词。这些动作能够被包括在第一动作数据结构中。例如,nlp组件110能够从第一输入音频信号“ok,iwouldliketogotogodinnertonight(好,我今晚想去吃晚餐)”中识别关于去往或者离开晚餐的交通(附加动作)的第一请求或者第一触发关键词。

例如,如果第二输入音频信号包括“catchamovielater(稍后去看电影)”,则nlp组件110能够利用触发关键词“catch”或者“later”识别对看电影的请求。直接动作api135能够将请求打包成第二动作数据结构,以便作为消息发送到电影公司或者电影院的服务提供者计算设备160(或者内容提供者计算设备155)。第二输入音频信号能够包括指示附属于电影动作的其他动作的其他第二请求或者第二触发关键词。这些动作能够被包括在第二动作数据结构中。例如,nlp组件110能够从第二输入音频信号“ok,iwouldliketocatchamovielater(好,我稍后想去看电影)”中识别关于去往或者离开电影院的交通(附加动作)的第一请求或者第一触发关键词。

第一和第二或者任何其他动作数据结构也能够被传递到内容选择器组件125。动作数据结构能够包括关于完成与请求相关联的一个或多个动作的信息。在本示例中,该信息能够包括餐馆或者电影兴趣指示符、位置信息、餐馆的标识或位置或者餐馆的类型、餐馆预约信息、影院的电影放映时间、影院位置信息或者接人位置以及目的地位置。直接动作api135能够从存储库145中检索模板149,以确定将哪些字段包括在动作数据结构中。直接动作api135能够从存储库145中检索内容,以获得关于数据结构的字段的信息。直接动作api135能够用该信息来填充模板中的字段,以生成数据结构。直接动作api135还能够用来自输入音频信号或者第三方来源的数据填充字段。模板149能够针对服务提供者的类别而被标准化,或者能够针对特定服务提供者而被标准化。例如,乘车共享服务提供者能够使用下列标准化模板149来创建数据结构:{client_device_identifier;authentication_credentials;pick_up_location;destination_location;no_passengers;service_level}。数据结构能够包括可变字段。可变字段能够例如指示由数据结构的至少一个动作指示或者与其相关的多个动作的序列或者操作顺序。直接动作api135能够填充数据结构的字段,包括可变字段。基于动作之间的序列相关性,诸如第二动作在第一动作结束之后开始,直接动作api135能够将数据填充或者输入到数据结构的一个或多个可变字段中。

直接动作api135能够构建包括对应于动作数据结构的数据分组的数据传输。例如,数据传输能够包括动作数据结构的分组化版本,例如,具有指示由数据结构表示的信息的报头和有效载荷区域的数据分组。数据传输能够被用于经由数据处理系统105建立(例如,参与)服务提供者计算设备160与客户端计算设备150之间的至少一个通信会话。会话处理程序组件140能够经由接口115建立或者识别通信会话。例如,在将第一动作和第二数据结构(或者它们对应的分组化数据传输)合并或者关联到单线程中之后,数据处理系统105能够将数据传输提供给服务提供者计算设备160。作为通信会话的通信的一部分,服务提供者计算设备160还能够经由数据处理系统105从客户端计算设备105接收数据分组(或者其他数据消息)。例如,作为通信会话的一部分,数据处理系统105能够接收入站数据消息并且能够将其从客户端计算设备150路由到服务提供者计算设备160。

线程优化组件120能够获得或者访问第一和第二(以及任何其他)数据传输的数据分组。例如,直接动作api135能够将传输(例如,对应的数据分组)提供给数据存储库145以便存储,其中它们能够供线程优化组件120检索。线程优化组件120还能够绕过数据存储库145从直接动作api135(或者其他数据处理系统105组件)接收数据传输的数据分组(或者基于其他协议的结构)。

线程优化组件120能够解析或以其他方式提取分别对应于多个动作数据结构的多个数据传输的数据分组中的信息。例如,线程优化组件120能够对第一数据传输的数据分组(或者对应的第一数据结构)以及第二数据传输的数据分组(或者对应的第二数据结构)应用启发式技术,以确定至少一个序列相关性参数。启发式技术或者其他统计技术能够以阈值程度确定或者识别在指示由数据传输指示的动作的序列相关性的第一和第二数据传输(或者对应的数据结构)之间的确定性模式(certaintypatterns)。

序列相关性参数能够指示由具有操作顺序、时间或者彼此序列相关性的数据传输(或者对应的动作数据结构)表示的动作的存在或者可能性(例如,相对于阈值水平或者其他基准)。由序列相关性参数指示的序列相关操作或者动作能够包括按已知的、建议的、要求的或者特定的顺序发生的数个动作。例如,从家庭到电影院、然后回家能够包括三个序列相关操作或者动作。在本示例中,第一动作包括从家到电影院。第二动作包括在影院里看电影。第三动作包括从影院回家。

这三个(以及可能其他的)动作能够由直接动作api135从对应于输入音频信号“ok,iwouldliketocatchamovielater(好,我稍后想去看电影)”的请求或者触发关键词中确定。在本示例中,序列中的第二动作(看电影)是在第一动作(离开家去电影院)之后并且取决于该第一动作,并且第三动作(回家)是在第一动作和第二动作之后并且取决于这两个动作。第三动作能够被认为是在第二动作之后并且取决于该第二动作,因为已经表达出有意这样做,数据处理系统105确定或者预测终端用户在回家之前还会在影院中看电影。

基于序列相关性参数,线程优化组件120能够将两个或更多个分组化数据传输(或者它们的对应动作数据结构)合并到单线程中。单线程能够包括从多个数据动作结构中识别动作的数据以及其他数据(例如,元数据或者第三方数据)。单线程能够呈分组化(或者基于其他协议的)形式,例如,呈与第一和第二数据传输相同的格式。单线程也能够是例如由直接动作api135生成的数据结构格式,或者遵循至少一个模板149、策略147或者参数146的格式。单线程能够包括或者指示来自一个或多个数据传输或者来自一个或多个动作数据结构的动作的关联或者链接。

数据传输或者动作数据结构能够由线程优化组件120合并或者彼此相关联,以在经由通信会话将由动作数据结构指示的数据传输到服务提供者计算设备160之前生成单线程。在本示例中,直接动作api135或者其他数据处理系统105组件(例如,接口115)能够在合并或者创建单线程之后首次将由单线程指示的数据的至少一部分发送到服务提供者计算设备160。例如,在创建单线程之前,数据处理系统105可能具有与第一或第二(或者任何其他)数据结构相关联的延迟的、阻止的、截留的或者未发送的数据。在一些示例中,由各个数据结构指示的数据中的至少一些能够在创建单线程之前由/从数据处理系统105提供给服务提供者计算设备160。

基于序列相关性参数,线程优化组件120能够将数据传输(或者对应的动作数据结构)合并或以其他方式整合或关联到单线程中。例如,第一数据传输(以及第一数据结构)能够表示与第一输入音频信号“ok,iwouldliketogotogodinnertonight(好,我今晚想去吃晚餐)”相关联的动作,第二数据传输(以及第二数据结构)能够表示与第二输入音频信号“ok,iwouldliketocatchamovielater(好,我稍后想去看电影)”相关联的动作。第一和第二(或者任何其他)输入音频信号能够是依序地(彼此相继不到一分钟),按时间彼此分开(例如,大于一分钟),并且能够源自相同或不同的客户端计算设备150。线程优化组件120能够获得表示该信息的数据分组(或者其他数据),并且能够确定至少一个序列相关性参数。例如,序列相关性参数能够指示从电影院回家的动作发生在观看电影的动作之后,或者观看电影的动作发生或者预计发生在吃晚餐的动作之后。

单线程(以任何数据结构或者格式)能够指示对应于一个或多个输入音频信号(或者对应的数据结构或者数据传输)的一组序列相关操作,诸如一系列动作。线程能够包括任何两个或者两个以上动作,诸如第一动作、第二动作和第三动作。例如,第一输入音频信号“ok,iwouldliketogotogodinnertonight(好,我今晚想去吃晚餐)”和第二输入音频信号“ok,iwouldliketocatchamovielater(好,我稍后想去看电影)”的合并能够包括指示有兴趣参加晚餐和电影的至少一个请求以及指示需要交通工具的至少一个触发关键词,例如“go(去)”。线程优化组件120能够识别指示动作之间的操作相关性的至少一个序列、时间或者顺序的至少一个序列相关性参数,并且能够生成单线程以组合多个输入音频信号(或者对应的基于模板的数据结构或者基于分组/协议的数据传输)。线程优化组件120能够创建单线程,其指示至少三个动作,诸如晚餐动作(第一动作)、电影动作(第二动作)和交通工具回家动作(第三动作)。在本示例中,根据请求或者触发关键词,线程优化组件120从指示三个动作的多个单独的输入中生成单线程。单线程能够包括其他动作,诸如最初交通去晚餐动作。

数据处理系统105或其组件(诸如线程优化组件120)能够确定线程的动作是序列相关操作。例如,线程优化组件能够确定看电影的第二动作是在吃晚餐的第一动作之后,并且从电影院回家的第三动作是在看电影的第二动作之后。线程优化组件120能够访问数据存储库145中的参数146或者策略147,以确定或以其他方式估计序列相关动作的顺序。例如,参数146或者策略147能够指示交通动作(例如,乘出租车回家)会发生在事件动作(例如,看电影)之后。

内容选择器组件125能够获得单线程的动作中的任何一个的指示。例如,线程优化组件120能够直接或者间接(例如,经由数据存储库145)向内容选择器组件125提供指示第三(或者任何其他)动作的单线程的至少一部分。内容选择器组件125能够从数据存储库145获得该信息,其中该信息能够被存储为内容数据148的一部分。第三动作的指示能够向内容选择器组件125通知需要交通工具从电影院的位置到由客户端计算设备150确定或者指示的位置,诸如乘车到最终目的地。

内容选择器组件125能够在至少一个稍早动作发生之前获得线程中稍后动作的指示。例如,内容选择器组件125能够在影院中播放电影(第二动作)之前或者在将输入音频信号输入客户端计算设备150的人在餐馆吃晚餐(第一动作)之前接收第三动作的指示(例如,需要从电影院乘车)。内容选择器组件125能够在线程的至少一个动作完成之前获得线程的至少一个动作的指示。

从由内容选择器组件125接收的信息中,例如,在序列相关线程中的至少一个在前动作发生之前的第三动作的指示,内容选择器组件125能够识别至少一个内容项目。内容项目能够响应于或者相关于第三(或者任何其他)动作。例如,响应于指示交通工具需要的第三动作,内容项目能够包括提供汽车共享公司的服务的音频消息。内容选择器组件125能够例如从内容数据148中查询数据存储库145来选择或以其他方式识别内容项目。内容选择器组件125还能够从内容提供者计算设备155选择内容项目。例如,响应于从数据处理系统105接收的查询,内容提供者计算设备155能够向数据处理系统105(或其组件)提供内容项目,以供客户端计算设备150最终输出。

音频信号发生器组件130能够生成或以其他方式获得包括响应于第三(或者任何其他)动作的内容项目的输出信号。例如,数据处理系统105能够执行音频信号发生器组件以生成或者创建对应于内容项目的输出信号。例如,作为通信会话的一部分,数据处理系统105的接口115能够经由计算机网络165向客户端计算设备150提供或者发送包括输出信号的一个或多个数据分组。接口115能够被设计、配置、构建或者操作成例如使用数据分组来接收和发送信息。接口115能够使用诸如网络协议的一个或多个协议来接收和发送信息。接口115能够包括硬件接口、软件接口、有线接口或者无线接口。接口115能够有助于将数据从一种格式转换或者格式化成另一种格式。例如,接口115能够包括应用编程接口,其包括用于诸如系统100的软件组件的各种组件之间通信的定义。

例如,数据处理系统105能够从数据储存库145或者从音频信号发生器组件130向客户端计算设备150提供输出信号。数据处理系统105还能够经由数据分组传输指令内容提供者计算设备155或者服务提供者计算设备160向客户端计算设备150提供输出信号。作为从数据处理系统105(或者其他计算设备)到客户端计算设备150的一个或多个数据分组(或者其他通信协议),输出信号能够被获得、被生成、被转换、或者被发送。

内容选择器组件125能够跳到由单线程指示的一组序列相关操作中的稍后动作,以在对应于稍后动作的活动发生之前(并且在即时需要之前)选择稍后动作的内容项目。通过跳到稍后排序的动作,例如,在选择第一在先动作的内容项目之前选择第二后续动作的内容项目,数据处理系统105不需要首先处理与在先动作相关的信息来选择后续操作的内容项目。这样就能减少如果在选择第二动作的内容项目之前还选择(第一动作的)内容项目相关联的数据传输中所需的处理器利用率、功耗和带宽。

作为实时内容选择过程的一部分,内容选择器组件125能够选择(随后或稍后)动作的内容项目。例如,内容项目能够被提供给客户端计算设备,以便直接响应于输入音频信号以对话方式作为音频输出传输。用于识别内容项目并且将内容项目提供给客户端计算设备150的实时内容选择过程能够在输入音频信号时间的一分钟或更短时间内发生,并且被认为是实时。

对应于例如由经由接口115和计算机网络165发送到客户端计算设备150、由音频信号发生器组件130获得或者生成的对应于内容提供者计算设备155的内容项目(或者对应于服务提供者计算设备160的数据)的输出信号能够使得客户端计算设备150执行音频驱动器153以驱动扬声器154来生成对应于输出信号的声波。声波能够包括稍后(例如,第二或第三)动作的内容项目或者其他数据的词语或者与其相对应的词语。对应于内容项目的输出信号还能够包括在作为输入音频信号源的客户端计算设备150或者不同的客户端计算设备150(例如,可佩戴设备的计算设备)上作为在无音频元素的情况下能够呈现的文本或者图像消息呈现的非音频内容项目。

数据处理系统105能够提供输出信号,该输出信号包括响应于对输入音频信号做出直接或者实时响应的动作的内容项目或者其他数据,以便作为数据处理系统105与客户端计算设备150之间的通信会话的一部分的经由计算机网络165的基于分组的数据传输具有实时人与人对话的流畅和感觉。该基于分组的数据传输通信会话还能够包括内容提供者计算设备155或者服务提供者计算设备160。

内容选择器组件125能够在选择序列中的任何在先动作的任何内容项目之前,在序列相关动作集中选择响应于第二(或者任何非第一)动作而提供的内容项目。这避免了需要处理对应于在先动作的数据中的至少一些,这与如果按照与动作序列的顺序相匹配的顺序来选择内容项目相比,使得以减少处理操作数目选择第二内容项目。例如,在选择第二动作的内容项目之后,可以或可以不选择在先(例如,第一和第二)动作的内容项目。

内容选择器组件125能够基于指示与相同线程的一个或多个请求的主题不同的主题的线程的至少一个触发关键词来选择(例如,第二动作的)内容项目。例如,单线程的请求能够指示晚餐请求(第一动作)的主题以及电影请求(第二动作)的主题。该主题未指示任何交通工具要求。然而,nlp组件110或者线程优化组件120(或者作为直接动作api135的一部分执行的其他数据处理系统105的组件)能够识别触发关键词“go(去)”、“goto(去往)”或者“togoto(要去)”,并且能够至少部分地基于触发关键词确定交通工具请求。因此,数据处理系统105能够从作为非主请求的次请求的输入音频信号或者输入音频信号的主题中推断动作。

数据处理系统105能够防止或者延迟传输包括内容项目的输出信号。例如,接口115或者经由直接动作api135执行的脚本能够防止传输包括对应于内容项目或者单线程的动作的输出信号的数据分组,直到触发事件为止。触发事件能够包括预定时间段的期满,诸如两个小时,或者与线程中稍早动作的发生相符的时间,诸如电影的预定结束时间。触发事件还能够包括由数据处理系统105从客户端计算设备150接收的授权指示。授权指示能够起源于与线程相关联但由数据处理系统105在输入音频信号、基于文本的信号或者其他不可听信号之后接收的后续音频输入,或者能够包括授权通过内容项目的客户端计算设备150的接收的客户端计算设备150的设置的指示。

数据处理系统105还能够延迟传输与线程的第二动作相关联或者第二动作之后的内容项目,以优化处理利用率。例如,数据处理系统105能够延迟内容项目传输,直到数据中心使用的非高峰时间或者非高峰时段,从而通过降低峰值带宽使用率、热输出或者冷却要求而更有效地利用数据中心。基于数据中心利用率或者网络165或包括数据处理系统105的数据中心的带宽度量或需求,数据处理系统105还能够启动与内容项目相关联的转换或者其他活动,诸如预订汽车服务。

内容项目能够对应于线程的动作,并且内容选择器组件125能够选择线程的一个、一个以上或者全部动作的内容项目。线程优化组件120能够识别例如“晚餐”(第一动作)、“电影”(第二动作)和“从电影位置开始交通”(第三动作)的动作的序列相关线程。

例如,基于单线程,能够提供第三动作的内容项目,以便在客户端计算设备150处呈现响应于音频输入信号的音频响应,其表述“wouldyoulikearidehomefromthemovietheater?(您想从电影院乘车回家吗?)”。在该呈现之后或之前,数据处理系统105能够选择或者提供内容项目,例如,用于第一动作(晚餐)的“theitalianrestaurantdowntownhasanopeningfor7pmtonight-areyouinterested?(市中心的意大利餐馆晚上7点开门,您感兴趣吗?)”,并且能够选择或者提供另一个内容项目,例如,用于第二动作(电影)的“wouldyouliketicketstothe9pmmovieatthedowntowntheater?(您想要市中心影院晚上9点的电影票吗?)”。数据处理系统105能够响应于输入音频信号而提供(其包括指令内容提供者计算设备155提供)这些内容,以便由客户端计算设备150呈现为音频输出内容项目。数据处理系统105经由接口115能够按任何顺序选择这些内容项目或者将它们提供给客户端计算设备150。例如,在对应于线程的其他稍早动作的内容项目之前,能够首先选择或者提供第三(例如,最后)动作的内容项目。

数据处理系统105能够接收对内容项目“wouldyoulikearidehomefromthemovietheater?(您想从电影院乘车回家吗?)”的响应。该响应能够包括输入音频信号,例如,“yesplease(是的)”,其由终端用户输入到客户端计算设备150并且由数据处理系统105接收。数据处理系统105或其组件(例如,线程优化组件)能够包括作为单线程的一部分的响应。基于该响应,直接动作api135能够与服务提供者计算设备160(其能够与内容项目相关联,诸如汽车共享公司)进行通信,以在电影结束时针对电影院的位置预订出租车或者乘车共享车辆。数据处理系统105能够从数据存储库145或者诸如服务提供者计算设备160或内容提供者计算设备155的其他来源获得该位置或者时间信息,作为与客户端计算设备150的基于数据分组(或其他协议)的数据消息通信的一部分。能够将该预订的确认(或者其他转换)以来自数据处理系统105的输出信号的形式作为音频通信从数据处理系统105提供给客户端计算设备150,该输出信号驱动客户端计算设备150呈现音频输出,诸如“great,youwillhaveacarwaitingforyouat11pmoutsidethetheater(好的,晚上11点会有汽车在影院外等您)”。数据处理系统105经由直接动作api135能够与服务提供者计算设备160进行通信,以确认汽车的预订。

数据处理系统105能够获得对内容项目(“wouldyoulikearidehomefromthemovietheater?(您想从电影院乘车回家吗?)”)的响应(例如,“yesplease(是的)”),并且能够将基于分组的数据消息路由到服务提供者npl组件161(或者服务提供者计算设备的其他组件)。该基于分组的数据消息能够使得服务提供者计算设备160产生转换,例如,做出汽车在电影院外接人预约。这种转换或者确认的顺序(或者线程的任何其他动作的任何其他转换)能够发生在完成线程的一个或多个动作之前,诸如在电影结束之前,以及发生在线程的一个或多个动作完成之后,诸如在晚餐之后。

基于对线程中的后续动作的内容项目的响应,诸如对序列相关线程中的最后第三动作的内容项目“wouldyoulikearidehomefromthemovietheater?(您想从电影院乘车回家吗?)”的响应“yesplease(是的)”,数据处理系统105能够启动转换或者动作。这能够发生在终端用户开始与线程相关联的任何活动之前,例如,在晚餐之前或者在电影结束之前。数据处理系统105的处理器能够调用直接动作api135来执行生成从汽车共享服务预订汽车的脚本。直接动作api135能够从数据存储库145获得内容数据148(或者参数146或策略147)以及从客户端计算设备150获得终端用户同意接收的数据,以确定位置、时间、用户账户、后勤或者其他信息,以便从汽车共享服务预约汽车。使用直接动作api135,数据处理系统105还能够与服务提供者计算设备160进行通信,以完成转换,在本示例中是进行汽车共享接人预约。

直接动作api135能够在由数据处理系统105接收到与线程相关联的第一输入音频信号(例如,“ok,iwouldliketogotogodinnerandthenamovietonight(好,我今晚想去吃晚餐,然后看电影)”)的时间段内的任何时间启动对话或者活动来完成线程的动作,直到完成线程中的动作之一之后的阈值时间段为止(例如,直到观看电影的第二动作结束之后的15分钟为止)。数据处理系统110还能够基于其他因素来确定该时间段的结束,诸如终端用户已经完成线程的动作的指示,例如,终端用户已经回家或者不再位于电影院。数据处理系统105还能够从客户端计算设备150获得线程被取消或休眠或者终端用户已经取消或完成线程的动作的指示(经由网络165发送的数据消息)。

基于线程的其他动作的完成或者完成时间,直接动作api135能够启动转换或者活动来完成线程的动作。例如,数据处理系统105能够在线程中的在先动作结尾的阈值时间段内直接地或者通过与服务提供者计算设备160通信来预订货物或者服务(汽车共享接人)。在电影(第二动作)的预定或者实际结尾之前或者之后的5分钟(或者其他时间段)内,数据处理系统105能够确认或者预订汽车共享服务来派车在电影院接终端用户(后续的第三动作)。在该时间段期间未从终端用户计算设备150接收到的输入的情况下,或者响应于在该时间段期间从终端用户计算设备150接收到的提示,会发生这一过程。

直接动作api135能够以任何顺序启动与线程的序列相关操作相关联的转换或者其他活动。例如,直接动作api135(或者其他数据处理系统105的组件)能够在启动对应于序列中的稍早动作的活动之前(例如,在进行晚餐预约之前或者在预订电影票之前),启动对应于最终动作的活动(例如,三个动作线程中的第三动作,诸如预订出租车)。在本示例中,数据处理系统105在启动稍后(例如,第三)动作的活动之后启动稍早(例如,第二)动作的活动。

内容选择器组件125能够识别、选择或者获得由多个内容选择过程产生的多个内容项目。内容选择过程能够是实时的,例如,作为涉及线程的数据处理系统105与客户端计算设备150之间的相同对话、通信会话或者一系列通信会话的一部分。对话能够包括彼此间隔例如几小时或者几天时段的异步通信。对话或者通信会话能够从接收到第一输入音频信号起持续一段时间,直到线程的最终动作的预计或者已知的结尾,由数据处理系统105接收线程终止的指示。这能够被称为线程的活跃时间段。例如,针对具有三个动作(例如,晚餐、电影和交通回家)的线程,内容选择器组件125能够针对每个动作选择至少一个内容项目。内容项目选择器组件125能够针对每个动作运行或者获得来自不同内容选择过程的结果。在内容选择过程中,内容提供者计算设备150能够设置供内容选择器部件125选择的内容项目。针对具有至少三个动作的线程,内容项目选择器组件能够经由第一内容选择过程来选择或以其他方式识别第一内容项目,经由第二内容选择过程来选择或以其他方式识别第二动作的第二内容项目,以及经由第三内容选择过程来选择或以其他方式识别第三动作的第三内容项目。提供这些内容项目以便由客户端计算设备150在活跃时间段期间呈现的数据处理系统105能够被认为是实时操作。在本示例中,内容选择过程与呈现内容项目实时发生。

数据处理系统105能够取消与内容项目相关联的动作。例如,在预订汽车服务之后,终端用户可以观看电影,但随后决定步行回家,或者在电影之后去吃甜品,而非坐汽车回家。作为数据处理系统105的一部分,在客户端计算设备150处执行的app或者其他程序能够接收“cancelmyridehome(取消我的乘车回家)”的输入音频信号。nlp组件110能够接收该输入音频信号,例如,作为一个或多个基于分组的数据消息,并且能够确定该输入音频信号与预先存在的线程(例如,晚餐、电影、交通回家)相关并且是相同对话或者通信的一部分。例如,nlp组件110(或者其他数据处理系统105的组件)能够从数据存储库145的内容数据148评估时间数据、位置数据和预先存在的线程数据,诸如线程的过去、现在或者调度的动作,以确定输入音频信号与预先存在的线程相关。例如,基于请求“乘车”或者触发关键词“取消”,nlp组件110能够确定输入音频信号“cancelmyridehome(取消我的乘车回家)”与对应于预先存在的线程的第三动作的内容项目“wouldyoulikearidehomefromthemovietheater?(您想从电影院乘车回家吗?)”相关。直接动作api135(或者其他组件)能够使得数据处理系统105经由接口115与服务提供者计算设备160进行通信,以取消出租车或者汽车共享服务派车在电影结束后在电影院外等待终端用户的预订。

nlp组件135能够接收基于数据分组或者其他协议的消息,以在线程的任何动作完成之前或之后取消线程的动作。nlp组件135能够从客户端计算设备150接收(或者从数据存储库145获得)数据消息(入站音频信号),以在由线程的稍早动作触发的时间间隔内取消线程的动作。例如,在具有晚餐、电影、交通三个动作的序列相关线程中,数据处理系统105能够在电影结束的5分钟(或者其他时间段)内接收交通取消数据消息。数据处理系统105能够提示确认与线程的动作有关的产品或者服务。例如,在第一动作与第二动作之间的时间段(例如,在晚餐之后和电影之前),数据处理系统105能够向客户端计算设备150发送数据消息,该数据消息当在客户端计算设备150处呈现时输出音频或者短信,表述“justconfirmingthatyoustillwantacarwaitingforyouafterthemovie(请确认,您仍想要汽车在电影后等您吗)”。数据处理系统105能够接收响应,例如,“yes,confirmed(是,确认)”或者“no,cancelthecar(否,取消汽车)”。该响应能够被包括作为线程的一部分。直接动作api135能够执行脚本以处理该信息,并且能够与服务提供者计算设备160进行通信以指示确认或者取消。

参照图1和图2,其中,基于序列相关性参数,线程优化组件120能够创建至少一个单线程数据结构200。单线程数据结构200能够包括基于分组的架构(或者其他格式),并且能够包括至少一个报头205。报头205能够包括标识数据处理系统105的补充数据、源或目的地地址信息、管控协议信息、ip地址、帧同步数据、大小数据、分辨率数据或者与动作数据结构相关联的元数据。单线程数据结构200的有效载荷或者主体能够包括至少一个序列相关性参数210或者诸如至少一个第一数据传输215或至少一个第二数据传输220的其他信息。单线程数据结构200能够包括一个或一个以上的结构,例如,具有相应报头205和指示第一数据传输215或者第二数据传输220的至少一部分的有效载荷的多个分组。序列相关性参数215能够指示由第一数据传输215或者第二数据传输220指示的多个动作中的动作的序列相关性。

报头205、序列相关性参数210、第一数据传输215和第二数据传输220可以但不必被包括在单线程数据结构200中。例如,单线程数据结构200的主体能够仅包括第一数据传输215(或其部分)并且不包括序列相关性参数210或者第二数据传输220中的任何一个,或者单线程数据结构200的主体能够包括序列相关性参数210以及第一数据传输215和第二数据传输220中的一个或多个。单线程数据结构200能够包括以依序或者并行方式分开发送的一个或多个单独分组,作为数据处理系统105与服务提供者计算设备160或者内容提供者计算设备155之间的一个或多个数据传输的一部分。报头205或者序列相关性参数210能够指示分开的传输或者分开的数据分组与同批传输相关联,例如,与相同的整体单线程数据结构200相关联。直接动作api135能够将多个不同的单线程数据结构合并或以其他方式链接到一个单线程数据结构200中。单线程数据结构200能够包括分开但彼此相关联的多个分组或者多个不同结构。

线程优化组件120能够使单线程数据结构200的一个动作优先于另一个动作。优先级能够由序列相关性参数210指示或以其他方式提供给直接动作api135或者内容选择器组件125。例如,线程优化组件120能够优先化由单线程数据结构200指示的第一按时动作。响应于优先级,直接动作api135或者诸如内容选择器组件125的其他组件能够向内容提供者计算设备155或者服务提供者计算设备160提供数据传输(例如,第一数据传输215或者第二数据传输220的至少一部分),以实现与第一按时动作相关的转换。

参照图3,其中,数据处理系统105能够从第一客户端计算设备150接收第一输入音频信号305(例如,“ok,iwouldliketogotogodinnertonight(好,我今晚想去吃晚餐)”)。数据处理系统105还能够从相同或不同的客户端计算设备150接收第二输入音频信号310(例如,“ok,iwouldliketocatchamovielater(好,我稍后想去看电影)”)。数据处理系统105能够生成第一音频输入信号305和第二音频输入信号310的相应动作数据结构和对应数据传输。诸如线程优化组件120的数据处理系统105组件能够对第一输入音频信号305和第二输入音频信号310应用统计技术或者启发式技术,以从第一输入音频信号305和第二输入音频信号310的动作当中生成指示序列相关动作的至少一个序列相关性参数。数据处理系统105能够分批或者汇集对应于第一输入音频信号305和第二输入音频信号310的数据传输(例如,分组)或者动作数据结构,以创建分批或者汇集的单线程数据结构200。响应于第一输入音频信号305和第二输入音频信号310,数据处理系统105能够将单线程数据结构200发送或以其他方式提供给服务提供者计算设备160,以供服务提供者计算设备160处理,例如,以预约至少一辆汽车、购买电影票或者进行晚餐预约。

能够向不同的计算设备提供相同单线程数据结构的部分的不同实例。例如,能够向服务提供者计算设备160提供单线程200的全部或一些以实现转换,例如,从汽车共享服务预订汽车,并且能够向内容提供者计算设备155(同时地或者相继地)提供单线程200的相同或不同部分以实现另一个转换,例如,获得餐馆的内容项目。

响应于接收到单线程数据结构200,内容提供者计算设备155或者服务提供者计算设备160能够执行由单线程数据结构200定义或者指示的至少一个操作。操作能够对应于第一输入音频信号305或者第二输入音频信号310的动作数据结构(或者数据传输)的相应动作中的一个或多个。例如,这些操作能够包括来自服务提供者计算设备160的汽车共享服务中预约汽车,或者提供电影的内容项目。例如,内容提供者计算设备155能够向客户端计算设备150提供第一响应315(例如,电影的内容项目),并且服务提供者计算设备160能够向相同或不同的客户端计算设备150提供第二响应320(例如,预约汽车)。在从内容提供者计算设备155或者服务提供者计算设备160到客户端计算设备150的传输期间,第一响应315和第二响应320能够绕过数据处理系统105。响应315、320能够包括确认转换动作的文本、图像或者其他数据消息(包括音频),诸如从汽车服务中预约汽车或者呈现内容项目。数据处理系统105能够经由计算机网络165从服务提供者计算设备160、内容提供者计算设备155或者从客户端计算设备150接收转换(或者响应315、320)的指示。

由数据处理系统105(例如,由线程优化组件120或者直接动作api135)创建的单线程200能够指示对应于线程的动作的实际的、已知的、调度的或者估计的时间。这些时间能够包括电影开始时间、交通接人时间、晚餐预约时间或者事件时间等。时间能够是离散时间,例如,晚上8:00晚餐预约,或者相对于其他动作的相对时间,例如,动作“b”被调度成在动作“a”的已知或者估计的结束时间的15分钟后开始。例如,线程200能够指示第一动作(例如,吃晚餐)被调度成发生在第二动作(例如,观看电影)之前。这些动作能够对应于从输入音频信号中识别的数据结构(或者数据传输)动作。直接动作api能够检测第一动作完成。例如,计算设备150能够执行脚本以在餐馆支付账单,或者直接动作api135能够估计晚餐将持续90分钟,或者终端用户能够提供音频输入信号或者其他数据消息以指示第一动作完成或者被调度成在某一时间或者一个时间窗口内完成。响应于检测到第一动作完成(例如,已知或者估计的结束时间),直接动作api135能够继续将单线程的数据分组发送到服务提供者计算设备160或者内容提供者计算设备155。该传输能够在已知或者估计的第一动作完成之后或者在已知或者估计的第一动作完成的时间窗期间(例如,一小时内)发生。例如,在晚餐完成后,直接动作api135能够将单线程200的至少一部分提供给服务提供者计算设备160以购买电影票,或者提供给内容提供者计算设备155以获得电影的内容项目。能够从客户端计算设备150、内容提供者计算设备155或者服务提供者计算设备160向数据处理系统105提供转换的指示(例如,在客户端计算设备150处购票或者呈现内容项目)。序列相关性参数210能够指示单线程200的动作被调度发生的顺序,例如,能够指示第一动作被调度成发生在第二动作之前。

直接动作api135能够识别单线程200的至少一个动作的至少一个死锁状况。死锁状况能够指示第二动作不能继续,直到第一在先动作完成之后。例如,当第一动作是电影动作(在影院中观看电影)并且第二动作是在电影结束之后通过汽车共享服务交通回家时,直接动作api135能够识别死锁状况。直接动作api135能够确定第二动作(例如,乘车回家)的死锁状况,其持续直到与第一动作相关联的时间,诸如电影的排定结束时间。响应于死锁状况,直接动作api135或者诸如接口115的其他组件能够防止数据传输到服务提供者计算设备(例如,汽车共享服务)。例如,在死锁状况的时间段期间,数据处理系统105或其组件能够防止用于动作(例如,预约汽车)的数据传输(或者数据结构)的数据分组传输到服务提供者计算设备160(例如,汽车共享服务的)。这就防止服务提供者计算设备160过早接收到对汽车(或者其他服务)的请求。

直接动作api135能够获得指示或以其他方式确定死锁状况已终止或者不再存在。例如,直接动作api135能够查询服务提供者计算设备160或者其他第三方计算设备以确定电影或者其他动作的排定结束时间。在到达该时间后,或者在该时间之前的阈值时间段(例如,30分钟或者5分钟)内,直接动作api能够中断、解除或者终止死锁状况。在死锁状况期满之后,数据处理系统105能够向服务提供者计算设备160发送(例如,经由接口105)数据传输或者数据结构的数据,其对应于后续动作,诸如电影后乘车回家。

直接动作api135能够从客户端计算设备150接收指示,以终止死锁状况。例如,终端用户可以决定在电影结束之前提前离场,并且能够将输入音频信号输入到客户端计算设备中,例如,“ok,thismoviestinks,i’dlikearidehomeplease(好吧,这个电影太糟糕,我想乘车回家)”。数据处理系统105(例如,nlp组件110或者直接动作api135)能够从该输入音频信号中确定死锁状况已期满,并且能够将后续动作的数据发送到服务提供者计算设备160。在解除死锁状况之后,直接动作api135还能够向内容提供者计算设备155提供动作的数据(例如,单线程200的数据传输或者动作数据结构的数据),以获得与死锁后动作相关的内容项目。内容项目能够由数据处理系统105或者由内容提供者计算设备155提供给客户端计算设备150来进行呈现。内容项目能够例如指示“sorrytohearaboutthemovie,wouldyouliketoorderacarfromacarsharecompany?(关于电影的问题很遗憾,您想从汽车共享公司预订汽车吗?)”。响应于死锁状况或者直到解除死锁状况,内容选择器组件125(或者诸如接口115或者直接动作api135的其他组件)能够阻止内容项目的选择或者所选择的内容项目到客户端计算设备150的传输。

直接动作api135能够修改由单线程200指示的动作的相继顺序。例如,直接动作api能够确定第一相继顺序的指示,例如,第一动作、第一动作之后的第二动作以及第二动作之后的第三动作(晚餐,然后电影,然后乘车回家)。直接动作api135和诸如nlp组件110和接口115的其他组件能够接收修改相继顺序的请求。例如,数据处理系统105能够从客户端计算设备接收输入音频信号“oki’dliketoeatdinnerafterthemovie(好,我想在电影之后吃晚餐)”。直接动作api135(或者nlp组件110)能够从该音频输入信号中获得将动作的相继顺序修改成例如电影、然后晚餐、然后乘车回家的请求。从该信息中,直接动作api135能够生成修改的相继顺序,以便第二动作(观看电影)现在被调度成发生在第一动作(吃晚餐)之前。直接动作api135或者内容选择器组件125(或者其他组件)能够相应地进行到在晚餐动作的数据传输之前将电影动作的数据传输发送到内容提供者计算设备155或者服务提供者计算设备160。基于第一电影动作的结束时间,直接动作api135还能够识别或者修改死锁状况,以延迟与晚餐动作相关的操作。晚餐、电影和交通的动作仅作示例,并且任何数目的终端用户活动或者请求都能够构成动作。除输入音频信号以外,修改能够响应于输入而发生。例如,如果9pm电影(晚餐后)的电影票售空,则数据处理系统105能够提供用于在客户端计算设备150处呈现的音频输出,建议在晚餐前观看电影(例如,下午5点场次)。

数据处理系统105能够执行离线动作。这会节省处理和电力要求,并且减少网络业务或者将其转移到非高峰时间。例如,单线程200能够指示第一动作和取决于第一动作的解决的第二后续动作。这些行动能够彼此相距几天或者几周(或者更久),诸如购买未来六个月会发生的三周热带海滩度假的机票(第一动作,今日),以及预订度假最后一天的潜水课程(第二动作,超过六个多月后)。直接动作api135能够响应于接收到以在线动作购买飞机票的输入音频信号而与对应于航空公司实体的服务提供者计算设备160实时通信,以实现转换——购买飞机票。本示例中的第二动作还有六个月。在这六个月期间或者其他时间窗口中,直接动作api135或者诸如内容选择器组件125的其他组件能够响应于第二动作(潜水课程)而选择内容项目或者执行其他操作。例如,直接动作api能够通过从数据存储库145或者从有关潜水课程的第三方数据存储库获得该信息而获得离线。离线动作可以或者可以不是实时,并且离线动作不要求动作之间的时间间隔(例如,六个月)。例如,作为与客户端计算设备的通信会话或者同步或异步对话的一部分,数据处理系统105能够实时从数据存储库145或者从第三方数据库中获得响应于动作的信息。

图4描绘出管理在语音激活的基于数据分组的计算机网络环境中指示序列相关操作的语音激活的音频输入数据通信的方法400。方法400能够接收至少一个第一音频输入信号(act405)。例如,经由接口115,nlp组件能够接收数据分组(act405)。数据处理系统105能够执行、启动或者调用nlp组件110,以经由网络从至少一个客户端计算设备150接收基于分组或者其他协议的传输。数据分组能够包括或者对应于由第一客户端计算设备150的传感器151检测到的输入音频信号,诸如第一终端用户对客户端计算设备150(例如,智能手机)说出“ok,iwouldliketogotogodinnertonight(好,我今晚想去吃晚餐)”。方法400能够解析输入音频信号,以从输入音频信号中识别至少一个第一请求或者至少一个第一触发关键词(act410)。例如,nlp组件110能够解析输入音频信号,以识别请求(对“dinner(晚餐)”的娱乐请求)以及对应于或者相关于该请求的触发关键词(“togoto(要去)”)。基于与接收到的第一音频输入信号相关联的所识别的请求或者关键词,方法400能够生成至少一个第一动作数据结构(act415)。例如,直接动作api135能够生成指示第一动作的动作数据结构,诸如出租车接人的位置、所请求的服务提供者或者餐馆推荐。

方法400能够接收至少一个第二音频输入信号(act420)。例如,nlp组件110能够经由网络165从发起第一输入音频信号的相同或不同的客户端计算设备150接收基于分组或者其他协议的传输。数据分组能够包括或者对应于由第二客户端计算设备150的传感器151检测到的输入音频信号,诸如终端用户对客户端计算设备150说出“ok,iwouldliketocatchamovielater(好,我稍后想去看电影)”。方法400能够从第二输入音频信号中识别至少一个第二请求或者至少一个第二触发关键词(act425)。例如,nlp组件110能够解析输入音频信号,以识别请求(对“movie(电影)”的娱乐请求)以及对应于或者相关于该请求的触发关键词(“tocatch(去看)”)。基于与接收到的第一音频输入信号相关联的所识别的请求或者关键词,方法400能够来生成至少一个第二动作数据结构(act430)。例如,直接动作api135能够生成指示第二动作的动作数据结构,诸如出租车接人的位置、所请求的服务提供者或者电影信息。

方法400能够从动作数据结构构建数据传输(act435)。例如,直接动作api135能够从对应于第一输入音频信号的第一动作数据结构创建第一数据传输,并且能够从对应于第二输入音频信号的第二动作数据结构创建第二数据传输。通过将从对应的动作数据结构获得的信息分组,或者以其他方式将动作数据结构转换成作为广义上定义的通信会话的一部分的传输形式,例如经由数据处理系统105在终端用户计算设备150与内容提供者计算设备155或者服务提供者计算设备160之间来回或者异步对话或者数据传输,能够构建或者生成第一和第二(或者其他数目)的数据传输(act435)。与对应于不同实体的多个第三方设备(例如,内容提供者计算设备155或者服务提供者计算设备160)的通信会话能够被认为是公共通信会话的一部分。通信会话能够与在对话事件中往返于客户端计算设备150的来回数据传输同步,或者在数据传输之间存在例如至少一小时的休眠期的情况下异步。

方法400能够从数据传输中获得数据(act440)。例如,从数据传输(或者从对应的动作数据结构),线程优化组件120能够(例如,从数据存储库145中)访问或者检索关于动作的信息。方法400能够确定至少一个序列相关性参数(act445)。例如,基于从指示操作顺序或者动作的序列相关性的数据传输获得的数据(act440),线程优化组件120能够确定指示至少两个动作存在序列相关性的序列相关性参数。方法400能够将一个或多个动作数据结构(直接地或者经由关联对应的数据传输)与单线程数据结构200相关联。例如,线程优化组件120(或者其他数据处理系统105组件)能够生成单线程数据结构200(act450)。例如,基于至少两个序列或时间相关操作的指示,线程优化组件120能够生成指示第一和第二数据传输、第一和第二动作数据结构或者它们的相关联的动作的至少一个单线程数据结构(act440)。所生成的单线程数据结构200(act450)能够包括由直接动作api135用于检测动作完成的数据,以便数据处理系统105能够再向服务提供者计算设备160或者内容提供者计算设备155提供用于不同动作的数据分组。数据处理系统105还能够识别与所生成的单线程数据结构200的动作相关联的死锁状况(act450)。单线程数据结构200能够指示多个动作的相继顺序,并且方法能够生成经修改的相继顺序,其更改动作的相继顺序。数据处理系统105能够将单线程数据结构200的全部或部分提供给一个或多个内容提供者计算设备155或者服务提供者计算设备160。

图5是示例计算机系统500的框图。计算机系统或者计算设备500能够包括或者被用于实现系统100或其组件,诸如数据处理系统105。计算系统500包括用于通信信息的总线505或者其他通信组件以及用于处理信息的耦合到总线505的处理器510或者处理电路。计算系统500还能够包括用于处理信息的耦合到总线的一个或多个处理器510或者处理电路。计算系统500还包括用于存储信息的耦合到总线505的主存储器515,诸如随机存取存储器(ram)或者其他动态存储设备,以及由处理器510执行的指令。主存储器515能够是或者包括数据储存库145。主存储器515还能够被用于在由处理器510执行指令期间存储位置信息、临时变量或者其他中间信息。计算系统500可以进一步包括耦合到总线505的只读存储器(rom)520或者其他静态存储设备,用于存储用于处理器510的静态信息和指令。诸如固态设备、磁盘或者光盘的存储设备525能够被耦合到总线505,以持久性存储信息和指令。存储设备525能够包括数据存储库145或者作为其一部分。

计算系统500可以经由总线505而被耦合到显示器535,诸如液晶显示器或者有源矩阵显示器,用于向用户显示信息。诸如包括字母数字和其他键的键盘的输入设备530可以被耦合到总线505,用于将信息和命令选择通信到处理器510。输入设备530能够包括触摸屏显示器535。输入设备530还能够包括诸如鼠标、轨迹球或者光标方向键的光标控制器,用于将方向信息和命令选择通信到处理器510以及控制显示器535上的光标移动。例如,显示器535能够作为数据处理系统105、客户端计算设备150或者图1的其他组件的一部分。

本文所述的过程、系统和方法能够由计算系统500响应于处理器510执行主存储器515中所包含的指令的布置来实现。这样的指令能够从诸如存储设备525的另一个计算机可读介质读入主存储器515。执行主存储器515中所包含的指令的布置促使计算系统500执行本文所述的说明性过程。也可以采用多处理布置中的一个或多个处理器来执行主存储器515中所包含的指令。硬连线电路能够以取代软件指令或者与软件指令组合的方式与本文所述的系统和方法连用。本文所述的系统和方法并不限于硬件电路和软件的任何特定组合。

虽然在图5中已描述示例计算系统,但本说明书中所述的主题,包括操作,能够以其他类型的数字电路,或者计算机软件、固件或硬件,包括本说明书中所公开的结构及其结构等价物,或者其中一个或多个的组合来实现。

在本文所讨论的系统采集关于用户的个人信息或者可以使用个人信息的情况下,用户可能有机会控制程序或者功能是否可以采集个人信息(例如,关于用户的社交网络、社交行动或活动、用户的偏好或者用户的位置的信息),或者控制是否或如何从内容服务器或其他数据处理系统接收可能与用户更相关的内容。此外,在存储或者使用某些数据之前,可以通过一种或多种方式将其匿名化,以便在生成参数时删除个人可识别信息。例如,用户的身份可以被匿名化,以便不会针对用户来确定个人可识别信息,或者用户的地理位置可以被泛化到获得位置信息的位置(诸如城市、邮政编码或者州级),以便用户的特定位置不会被确定。因此,用户可以控制如何采集关于他或她的信息并且供内容服务器使用。

本说明书中所述的主题和操作能够以数字电路,或者计算机软件、固件或硬件,包括本说明书中所公开的结构及其结构等价物,或者其中一个或多个的组合来实现。本说明书中所述的主题能够被实现为一个或多个计算机程序,例如,在一个或多个计算机存储介质上编码的计算机程序指令的一个或多个电路,用于由数据处理装置执行或者控制其操作。替选地或附加地,程序指令能够被编码在人工生成的传播信号上,例如,机器生成的电子、光学或者电磁信号,该信号被生成以编码用于传输至适当的接收器装置的信息,以便由数据处理装置执行。计算机存储介质能够是计算机可读的存储设备、计算机可读的存储衬底、随机或串行存取存储器阵列或设备或者其中一个或多个的组合,或者包括在其中。虽然计算机存储介质并非传播信号,但计算机存储介质能够是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也能够是一个或多个单独的组件或介质(例如,多个cd、磁盘或者其他存储设备),或者包括在其中。在本说明书中所述的操作能够被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或者从其他来源接收的数据执行的操作。

术语“数据处理系统”、“计算设备”、“组件”或者“数据处理装置”包含各种用于处理数据的装置、设备和机器,例如,包括可编程处理器、计算机、系统单芯片或者以上的多个或组合。装置能够包括专用逻辑电路,例如fpga(现场可编程门阵列)或者asic(专用集成电路)。装置除硬件之外还能够包括为考虑中的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或者其中一个或多个的组合的代码。装置和执行环境能够实现各种不同计算模型的基础设施,诸如web服务、分布式计算以及网格计算基础设施。直接动作api135、内容选择器组件125、线程优化组件120或者nlp组件110以及其他数据处理系统105组件能够包括或者共享一个或多个数据处理装置、系统、计算设备或者处理器。

计算机程序(也称为程序、软件、软件应用、app、脚本或者代码)能够以任何形式的编程语言来编写,包括编译或解释语言、声明性或过程式语言,并且能够以任何形式来部署,包括部署为独立程序或者模块、组件、子例程、对象或者适于在计算环境中使用的其他单元。计算机程序能够对应于文件系统中的文件。计算机程序能够被存储于保存其他程序或者数据(例如存储成标记语言文档的一个或多个脚本)的文件的一部分中、专用于考虑中的程序的单个文件中或者多个协作文件(例如存储一个或多个模块、子程序或者代码的多个部分)中。计算机程序能够被部署成在一个计算机上或者在位于一个地点或者分布于多个地点并且通过通信网络而互联的多个计算机上来执行。

本说明书中所述的过程和逻辑流程能够由执行一个或多个计算机程序的可编程处理器(例如,数据处理系统105的组件)来执行,以通过对输入数据进行操作并且生成输出来执行动作。过程和逻辑流程也能够通过专用逻辑电路来执行,并且装置也能够被实现为专用逻辑电路,例如,fpga(现场可编程门阵列)或者asic(专用集成电路)。适于存储计算机程序指令和数据的设备包括所有形式的非易失存储器、介质和存储设备,例如包括eprom、eeprom和闪存设备的半导体存储设备、例如内置硬盘或可移动磁盘的磁盘、磁光盘以及cdrom和dvd-rom磁盘。处理器和存储器能够增加或结合专用逻辑电路。

本文所述的主题能够在包括例如作为数据服务器的后端组件、包括例如应用服务器的中间件组件、包括例如具有用户能够借以与本说明书中所述主题的实施方式相交互的图形用户界面或者web浏览器的客户端计算机的前端组件或者一个或多个这样的后端、中间件或前端组件的组合的计算系统中实现。系统的组件能够通过数字数据通信的任何形式或者媒介来互联,例如,通信网络。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、互联网(例如,因特网)以及点对点网络(例如,ad-hoc点对点网络)。

诸如系统100或者系统500的计算系统能够包括客户端和服务器。客户端与服务器一般彼此远离,并且通常通过通信网络(例如,网络165)进行交互。客户端与服务器的关系借助在相应计算上运行并且彼此具有客户端-服务器关系的计算机程序来实现。在一些实施方式中,服务器将数据(例如,表示内容项目的数据包)发送至客户端计算设备(例如,目的是向与客户端计算设备进行交互的用户显示数据并且从该用户接收用户输入)。在客户端计算设备处生成的数据(例如,用户交互的结果)能够在服务器处从客户端计算设备接收(例如,由数据处理系统105从计算设备150或者内容提供者计算设备155或服务提供者计算设备160接收)。

虽然在图中以特定顺序来描绘操作,但无需以所示的特定顺序或者依序执行这样的操作,并且无需执行全部操作。本文所述的动作能够以不同的顺序来执行。

各种系统组件的分离并非在所有实施方式中都需要分离,并且程序组件能够被包括在单个硬件或者软件产品中。例如,nlp组件110、内容选择器组件125或者线程优化组件120能够是单个组件、app或程序,或者具有一个或多个处理电路的逻辑设备,或者数据处理系统105的一个或多个服务器的一部分。

现已描述一些说明性实施方式,但显然以上仅通过示例方式呈现说明性,而非旨在限制性。具体地,虽然本文提出的许多示例涉及方法动作或者系统元素的具体组合,但那些动作和那些元素可以通过其他方式组合来实现相同的目标。结合一种实施方式所讨论的动作、元素和特征并非旨在排除在其他实施方式中起类似作用。

本文所用的用语和术语是出于描述目的,而不应被视为限制目的。本文使用“包含”、“包括”、“具有”、“含有”、“涉及”、“特征是”、“特征在于”及其变型意在涵盖其后列举的项目、其等价物和附加项目以及仅由其后列举的项目组成的替选实施方式。在一种实施方式中,本文所述的系统和方法由所述元素、动作或者组件中的一个、一个以上的每种组合或者全部组成。

对本文以单数形式提及的系统和方法的实施方式或者元素或动作的任何引用也可以涵盖包括多个这些元素的实施方式,并且对本文任何实施方式或者元素或动作的以复数形式的任何引用也可以涵盖仅包括单个元素的实施方式。以单数形式或者复数形式引用并非旨在将目前公开的系统或方法、其组件、动作或元素限制为单个或多个配置。引用基于任何信息、动作或元素的任何动作或元素可以包括动作或元素至少部分基于任何信息、动作或元素的实施方式。

本文所公开的任何实施方式可以与任何其他实施方式或实施例组合,并且引用“一种实施方式”、“一些实施方式”、“一个实施方式”等并非必然相互排斥,而旨在表示结合实施方式所述的特定特征、结构或特性可以被包括在至少一个实施方式或实施例中。本文使用的这些术语并非必然全部涉及相同的实施方式。任何实施方式均可以通过与本文所公开的方面和实施方式一致的任何方式,包含性或排他性地与任何其他实施方式组合。

引用“或者”可以被解释为包含性,这样使用“或者”所述的任何术语可以指示单个、一个以上和全部所述术语中的任何一个。例如,引用“a”和“b”中的至少一个能够仅包含“a”、仅包含“b”以及包含“a”和“b”。结合“包括”或其他开放性术语使用的这类引用能够包括附加项目。

在附图、具体描述或任何权利要求中的技术特征后面带附图标记的情况下,已包括附图标记来提高对附图、具体描述和权利要求的理解性。因此,是否存在附图标记对于任何权利要求元素的范围没有任何限制性影响。

在不脱离本发明的特征情况下,本文所述的系统和方法可以体现成其他具体形式。例如,数据处理系统105的组件不必是分开的组件,并且一个组件能够包括其他组件。一个或多个计算设备(例如,服务器)的处理器能够包括或者执行数据处理系统105的组件。前述实施方式仅为说明性,而非旨在限制所述的系统和方法。因此,本文所述的系统和方法的范围由所附权利要求而非前文描述来指示,并且在权利要求的等价含义和范围内的变化包含于其中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1