CN110140110A - 计算设备之间的内容源分配 - Google Patents

计算设备之间的内容源分配 Download PDF

Info

Publication number
CN110140110A
CN110140110A CN201780013456.3A CN201780013456A CN110140110A CN 110140110 A CN110140110 A CN 110140110A CN 201780013456 A CN201780013456 A CN 201780013456A CN 110140110 A CN110140110 A CN 110140110A
Authority
CN
China
Prior art keywords
source
digital assembly
content source
feature
assembly
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.)
Granted
Application number
CN201780013456.3A
Other languages
English (en)
Other versions
CN110140110B (zh
Inventor
塔伦·贾殷
安舒·科塔里
格拉瓦·布哈亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN110140110A publication Critical patent/CN110140110A/zh
Application granted granted Critical
Publication of CN110140110B publication Critical patent/CN110140110B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/803Application aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Abstract

本公开的系统和方法一般涉及在语音激活的基于分组的计算机网络中分配内容资源。由客户端计算设备对数字组件的请求可以由多个内容源来实现。不同内容源的实现可以消耗不同数量的计算和网络资源。选择最佳内容提供商可以提高在一个或多个计算机网络上数据分组传输的效率和有效性。

Description

计算设备之间的内容源分配
背景技术
计算设备之间的网络流量数据的过度网络传输(基于分组或其他)可以防止计算设备正确地处理网络流量数据,完成与网络流量数据相关的操作,或者及时响应网络流量数据。如果响应计算设备处于或高于其处理能力,则网络业务数据的过度网络传输还可以使数据路由复杂化或降低响应质量,这可能导致低效的带宽利用。对应于数字组件对象的网络传输的控制可以由可以发起计算设备之间的网络业务数据的网络传输的大量数字组件对象复杂化。
发明内容
本公开的至少一个方面涉及一种被配置为在语音激活的基于分组的计算机网络环境中分配内容源的系统。该系统可以包括包含一个或多个处理器的数据处理系统。由数据处理系统执行的自然语言处理器组件可以在数据处理系统的接口处接收可以包括输入音频信号的数据分组。输入音频信号可以由客户端计算设备的传感器检测并且从客户端设备发送到数据处理系统。自然语言处理器组件可以解析输入音频信号以识别请求和对应于该请求的触发关键字。直接动作应用编程接口可以基于请求和触发关键字中的至少一个来生成第一动作数据结构。由数据处理系统执行的内容选择器组件可以基于请求和触发关键字中的至少一个来选择数字组件。源分配组件可以在选择数字组件之后识别多个候选内容源。多个内容源中的每个可以包括数字组件的相应实例。源分配组件可以确定用于多个候选内容源中的每个以及数字组件的实例的特征。源分配组件可以基于多个候选内容源中的每个和数字组件的实例的特征,从多个候选内容源选择内容源。客户端计算设备可以从内容源请求内容项的实例。
本公开的至少一个方面涉及一种在语音激活的基于分组的计算机网络环境中分配内容源的方法。该方法可以包括由数据处理系统执行的自然语言处理器组件接收可以包括输入音频信号的数据分组。输入音频信号可以由客户端设备的传感器检测,并且由客户端设备发送到数据处理系统。该方法可以包括由自然语言处理器组件解析输入音频信号以识别请求和对应于该请求的触发关键字。该方法可以包括由直接动作应用编程接口并且基于请求和触发关键字中的至少一个来生成第一动作数据结构。该方法可以包括由内容选择器组件基于请求和触发关键字中的至少一个来选择数字组件。该方法可以包括由源分配组件在识别数字组件之后识别多个候选内容源。多个内容源中的每个可以包括数字组件的相应实例。该方法可以包括由源分配组件确定用于多个候选内容源中的每个和数字组件的实例的特征。该方法可以包括由源分配组件基于多个候选内容源中的每个和数字组件的实例的特征,从多个候选内容源选择内容源。该方法可以包括由源分配组件从内容源请求数字组件的实例。
下面详细讨论这些和其他方面和实施方式。前述信息和以下详细描述包括各种方面和实施方式的示例性示例,并提供用于理解所要求保护的方面和实施方式的性质和特征的概述或框架。附图提供了对各个方面和实施方式的说明和进一步理解,并且包含在本说明书中并构成本说明书的一部分。
附图说明
附图不旨在按比例绘制。各附图中相同的附图标记和名称表示相同的元件。为清楚起见,并非每个组件都可以在每个附图中标记。在附图中:
图1描绘了在语音激活的计算机网络环境中的分组数据的多模式传输的系统;
图2示出了图1所示系统中数字组件的选择的框图;
图3示出了在语音激活的基于分组的计算机网络环境中分配内容源的示例方法的框图;
图4是示出可用于实现本文描述和示出的系统的元件和方法的计算机系统的一般体系结构的框图。
具体实施方式
以下是与在语音激活的基于数据分组的计算机网络环境中的分组数据的多模式传输的方法、装置和系统相关的各种概念的更详细描述。以上介绍并在下面更详细讨论的各种概念可以以多种方式中的任何一种来实现。
本公开的系统和方法一般涉及在语音激活的基于分组(或其他协议)的计算机网络中的内容资源的分配。客户端计算设备对数字组件的请求可以由多个内容源来实现。例如,每个内容源可以包括数字组件的实例,并且被配置为向请求客户端计算设备提供数字组件的实例。不同内容源的实现可以消耗不同数量的计算和网络资源。例如,数字组件的一些实例可以具有更高的质量(并且具有更大的文件大小)或者可以位于地理上远程的位置。因此,内容提供商的选择可以通过例如选择可以在使用更少的计算和网络资源的同时向客户端计算设备提供数字组件的内容提供商来提高在一个或多个计算机网络上的数据分组传输的效率和有效性。系统可以基于技术或计算参数(诸如,处理器能力或利用率、存储器能力或可用性、电池状态、可用电力、网络带宽利用率、接口参数、文件特征、带宽可用性或其任何组合)对可能的候选内容源进行排名。通过选择适当的候选内容源以提供用于从客户端计算设备呈现的数字组件,数据处理系统可以减少呈现数字组件的客户端计算设备的网络带宽使用、等待时间或处理利用率或功耗。这节省了处理能力和诸如存储器的其他计算资源,减少了数据处理系统的电力消耗,并且经由计算机网络的减少的数据传输减少了数据处理系统的带宽要求和使用。
本文描述的系统和方法可以包括接收输入音频查询(其在本文中也可以称为输入音频信号)的数据处理系统。从输入音频查询中,数据处理系统可以识别请求和与请求相对应的触发关键字。基于触发关键字或请求,数据处理系统可以生成第一动作数据结构。例如,第一动作数据结构可以包括对从客户端计算设备接收的输入音频查询的有机响应,并且数据处理系统可以将第一动作数据结构提供给相同客户端计算设备,用于经由与接收请求相同的接口呈现为音频输出。
数据处理系统还可以基于触发关键字或请求来选择至少一个数字组件。数字组件可以是内容项,诸如数字文档、视频、歌曲、网页、网页的部分或其他电子文件。数字组件可以是与用户或用户帐户相关联的数据。例如,数字组件可以是电子邮件或与用户的电子邮件帐户相关联的其他数据。数据处理系统可以识别或确定可以向客户端计算设备提供数字组件的多个候选内容源。数据处理系统可以为每个候选内容源计算一个或多个特征。
数据处理系统可以通过经由计算机网络的分组或其他基于协议的数据消息传输来向客户端计算设备提供数字组件或第一动作数据结构。数据处理系统可以发起所选择的候选内容源和客户端计算设备之间的会话,使得候选内容源向客户端计算设备提供数字组件,而不是通过数据处理系统将数字组件中继到客户端计算设备。
数字组件可以使客户端计算设备的音频驱动器组件生成声波,例如音频输出,其可以从客户端计算设备输出。音频(或其他)输出可以对应于第一动作数据结构或数字组件。例如,第一动作数据结构可以被路由为音频输出,并且数字组件可以被路由为基于文本的消息。通过将第一动作数据结构和数字组件路由到不同的接口,相对于将第一动作数据结构和数字组件都提供给相同接口,数据处理系统可以节省每个接口使用的资源。与没有第一动作数据结构和数字组件的分离和独立路由的情况相比,这导致所选择的接口(或其相应的设备)更少的数据处理操作、更少的存储器使用或更少的网络带宽利用。
图1描绘了用于在语音激活的基于数据分组(或其他协议)的计算机网络环境中的分组数据的多模式传输的示例系统100。系统100可以包括至少一个数据处理系统105。数据处理系统105可以包括具有至少一个处理器的至少一个服务器。例如,数据处理系统105可以包括位于至少一个数据中心或服务器群中的多个服务器。数据处理系统105可以从输入音频信号确定请求和与请求相关联的触发关键字。基于请求和触发关键字,数据处理系统105可以确定或选择至少一个动作数据结构,并且可以选择至少一个数字组件(并发起如本文所述的其他动作)。数据处理系统105可以识别用于呈现动作数据结构或数字组件的候选接口,并且可以基于候选接口的资源利用值通过一个或多个客户端计算设备上的一个或多个候选接口提供动作数据结构或数字组件以供呈现,例如作为语音激活的通信或计划系统的一部分。动作数据结构(或数字组件)可以包括一个或多个音频文件,其当被呈现时提供音频输出或声波。除了音频内容之外,动作数据结构或数字组件可以包括其他内容(例如,文本、视频或图像内容)。
数据处理系统105可以包括多个逻辑分组的服务器并且便于分布式计算技术。逻辑组的服务器可以称为数据中心、服务器群或机器群。服务器可以在地理上分散。数据中心或机器群可以作为单个实体来管理,或者机器群可以包括多个机器群。每个机器群内的服务器可以是异构的——一个或多个服务器或机器可以根据一种或多种类型的操作系统平台操作。数据处理系统105可以包括数据中心中的服务器,其存储在一个或多个高密度机架系统中,以及相关的存储系统中,例如位于企业数据中心中。以这种方式,具有整合服务器的数据处理系统105可以通过在本地化高性能网络上定位服务器和高性能存储系统来改善系统可管理性、数据安全性、系统的物理安全性和系统性能。所有或一些数据处理系统105组件(包括服务器和存储系统)的集中化以及将它们与高级系统管理工具耦合允许更有效地使用服务器资源,这节省了电力和处理要求并减少了带宽使用。
数据处理系统105可以包括至少一个自然语言处理器(NLP)组件110、至少一个接口115、至少一个预测组件120、至少一个内容选择器组件125、至少一个音频信号发生器组件130、至少一个直接动作应用编程接口(API)135、至少一个源分配组件140和至少一个数据存储库145。NLP组件110、接口115、预测组件120、内容选择器组件125、音频信号发生器组件130、直接动作API 135和源分配组件140均可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、装置或其他逻辑设备,诸如被配置为经由至少一个计算机网络165与数据存储库145和其他计算设备(例如,至少一个客户端计算设备150、至少一个内容提供商计算设备155或至少一个服务提供商计算设备160)通信的可编程逻辑阵列。网络165可以包括计算机网络,诸如互联网、本地、广域、城域或其他区域网络、内联网、卫星网络、诸如语音或数据移动电话通信网络的其他计算机网络、及其组合。
网络165可以包括或构成显示网络,例如,互联网上可用的与内容展示或搜索引擎结果系统相关联的信息资源的子集,或者有资格包括第三方数字组件作为数字组件展示广告的一部分的信息资源的子集。数据处理系统105可以使用网络165来访问诸如可以由客户端计算设备150呈现、输出、渲染或显示的网页、网站、域名或统一资源定位符的信息资源。例如,经由网络165,客户端计算设备150的用户可以访问由数据处理系统105、内容提供商计算设备155或服务提供商计算设备160提供的信息或数据。
网络165可以包括例如点对点网络、广播网络、广域网、局域网、电信网络、数据通信网络、计算机网络、ATM(异步传输模式)网络、SONET(同步光纤网络)网络、SDH(同步数字系列)网络、无线网络或有线网络以及其组合。网络165可以包括无线链路,诸如红外信道或卫星频带。网络165的拓扑可以包括总线、星形或环形网络拓扑。网络165可以包括使用用于在移动设备之间通信的任何一个协议或多个协议(包括高级移动电话协议(“AMPS”)、时分多址(“TDMA”)、码分多址(“CDMA”)、全球移动通信系统(“GSM”)、通用分组无线电服务(“GPRS”)或通用移动电信系统(“UMTS”))的移动电话网络。可以经由不同协议发送不同类型的数据,或者可以经由不同协议发送相同类型的数据。
客户端计算设备150、内容提供商计算设备155和服务提供商计算设备160均可以包括至少一个逻辑设备,诸如具有处理器以经由网络165彼此通信或与数据处理系统通信的计算设备。客户端计算设备150、内容提供商计算设备155和服务提供商计算设备160均可以包括至少一个服务器、处理器或存储器,或位于至少一个数据中心中的多个计算资源或服务器105。客户端计算设备150、内容提供商计算设备155和服务提供商计算设备160均可包括至少一个计算设备,诸如台式计算机、膝上型计算机、平板电脑、个人数字助理、智能电话、便携式计算机、服务器、薄客户端计算机、虚拟服务器或其他计算设备。
客户端计算设备150可以包括至少一个传感器151、至少一个变换器(transducer)152、至少一个音频驱动器153和至少一个扬声器154。传感器151可以包括麦克风或音频输入传感器。变换器152可以将音频输入转换为电子信号,反之亦然。音频驱动器153可以包括由客户端计算设备150的一个或多个处理器执行的脚本或程序,以控制传感器151、变换器152或音频驱动器153以及客户端计算设备150的其他组件以处理音频输入或提供音频输出。扬声器154可以发送音频输出信号。
客户端计算设备150可以与输入语音查询作为音频输入的终端用户(经由传感器151)相关联,并且以可以从数据处理系统105(或内容提供商计算设备155或服务提供商计算设备160)提供到客户端计算设备150的计算机生成的语音的形式接收音频输出,来自扬声器154的输出。音频输出可以对应于从直接动作API 135接收的动作数据结构,或由内容选择器组件125选择的数字组件。计算机生成的语音可以包括来自真人或计算机生成的语言的记录。
内容提供商计算设备155(或数据处理系统105或服务提供商计算设备160)可以提供基于音频的数字组件或动作数据结构,以供客户端计算设备150显示为音频输出。数字组件的动作数据结构可以包括对商品或服务的有机响应或提供,诸如基于语音的消息,其指出:“今天将是晴天和海滩80度”作为对“今天是海滩日吗?”的语音输入查询的有机响应。数据处理系统105(或诸如内容提供商计算设备155的其他系统100组件)还可以提供数字组件作为响应,诸如基于语音或文本消息的提供防晒霜的数字组件。
内容提供商计算设备155或数据存储库145可以包括存储器,用于存储可以响应于基于语音的查询而提供的一系列音频动作数据结构或数字组件。动作数据结构和数字组件可以包括用于经由网络165传输的基于分组的数据结构。内容提供商计算设备155还可以向数据处理系统105(其中它们可以存储在数据存储库145中)提供基于音频或文本的数字组件(或其他数字组件)。数据处理系统105可以选择音频动作数据结构或基于文本的数字组件,并响应于从那些客户端计算设备150之一接收的查询将它们提供(或指示内容提供商计算设备155提供)给相同或不同的客户端计算设备150。基于音频的动作数据结构可以是专用音频,或者可以与文本、图像或视频数据组合。数字组件可以是专用文本,也可以与音频、图像或视频数据组合。
服务提供商计算设备160可以包括至少一个服务提供商自然语言处理器(NLP)组件161和至少一个服务提供商接口162。服务提供商NLP组件161(或诸如服务提供商计算设备160的直接动作API的其他组件)可以与客户端计算设备150(经由数据处理系统105或绕过数据处理系统105)接合以创建在客户端计算设备150和服务提供商计算设备160之间的来回实时的基于语音或音频的对话(例如,会话)。例如,服务提供商接口162可以向数据处理系统105的直接动作API135接收或提供数据消息(例如,动作数据结构或数字组件)。直接动作API 135还可以独立于或不具有来自服务提供商计算设备160的输入生成动作数据结构。服务提供商计算设备160和内容提供商计算设备155可以与相同实体相关联。例如,内容提供商计算设备155可以创建、存储或提供用于海滩相关服务(诸如防晒霜、沙滩巾或泳衣)的数字组件,并且服务提供商计算设备160可以与客户端计算设备建立会话150以响应关于海滩天气、海滩方向或区域海滩推荐的语音输入查询,并且可以经由与接收查询的客户端计算设备相同的客户端计算设备150的接口、相同客户端计算设备150的不同接口或不同客户端计算设备的接口向客户端计算设备150的终端用户提供这些数字组件。数据处理系统105,经由直接动作API 135,NLP组件110或其他组件还可以与客户端计算设备建立会话,包括或绕过服务提供商计算设备160,例如以向与海滩相关的查询提供有机响应。
数据存储库145可以包括一个或多个本地或分布式数据库,并且可以包括数据库管理系统。数据存储库145可以包括计算机数据存储或存储器,并且可以存储一个或多个参数146、一个或多个策略147、内容数据148或模板149以及其他数据。参数146、策略147和模板149可以包括诸如关于客户端计算设备150与数据处理系统105(或服务提供商计算设备160)之间的基于语音的会话的规则的信息。内容数据148可以包括用于音频输出或关联元数据的数字组件,以及可以是与客户端计算设备150的一个或多个通信会话的一部分的输入音频消息。
系统100可以优化语音激活数据分组(或其他协议)环境中的动作数据结构和数字组件的处理。例如,数据处理系统105可以包括语音激活辅助服务、语音命令设备、智能个人助理、知识导航器、事件计划或其他辅助程序或者是其一部分。数据处理系统105可以提供动作数据结构的一个或多个实例作为用于从客户端计算设备150显示的音频输出,以完成与输入音频信号相关的任务。例如,数据处理系统可以与服务提供商计算设备160或其他第三方计算设备通信,以生成具有关于海滩的信息的动作数据结构等。例如,终端用户可以将输入音频信号输入到客户端计算设备150中:“好的,我想在本周末去海滩”并且动作数据结构可以指示区域海滩的周末天气预报,诸如“周六海滩将是晴天,80度,下午3点涨潮。”。
动作数据结构可以包括对输入音频信号的许多有机或非赞助响应。例如,动作数据结构可以包括海滩天气预报或到海滩的方向。该示例中的动作数据结构包括直接响应输入音频信号的有机或非赞助内容。响应于输入音频信号的数字组件可以包括赞助或非有机内容,诸如从位于海滩附近的便利店购买防晒霜的提议。在该示例中,有机动作数据结构(海滩预测)响应于输入音频信号(与海滩相关的查询),并且数字组件(防晒霜的提醒或提议)也响应于相同的输入音频信号。数据处理系统105可以评估系统100参数(例如,电力使用、可用显示器、显示器格式、存储器要求、带宽使用、电力容量或输入电力的时间(例如,内部电池或外部电源,诸如来自壁输出的电源))将动作数据结构和数字组件提供给相同客户端计算设备150上的不同候选接口,或者提供给不同客户端计算设备150上的不同候选接口。
数据处理系统105可以包括安装在客户端计算设备150处的应用、脚本或程序,诸如用于将输入音频信号(例如,经由分组化或基于其他协议的传输的数据分组)传送到数据处理系统105的至少一个接口115并且驱动客户端计算设备150的组件以呈现输出音频信号(例如,用于动作数据结构)或其他输出信号(例如,数字组件)的应用。数据处理系统105可以接收包括或识别输入音频信号的数据分组或其他信号。例如,数据处理系统105可以执行或运行NLP组件110以接收输入音频信号。
NLP组件110可以通过将输入信号与存储的代表性音频波形集合(例如,在数据存储库145中)进行比较并选择最接近的匹配以将输入音频信号转换为识别的文本。代表性波形在大量用户中生成,并且可以用语音样本进行扩充。在将音频信号转换为识别的文本之后,NLP组件110可以将与例如经由跨用户的训练或通过手动指定相关联的文本到单词与数据处理系统105可以服务的动作相匹配。
输入音频信号可以由客户端计算设备的传感器151(例如,麦克风)检测。经由变换器152、音频驱动器153或其他组件,客户端计算设备150可以将输入音频信号(例如,经由网络165)提供给其中可以接收它(例如,通过接口115)的数据处理系统105并且提供给NLP组件110或者作为内容数据148存储在数据存储库145中。
NLP组件110可以接收或以其他方式获得输入音频信号。根据输入音频信号,NLP组件110可以识别对应于该请求的至少一个请求或至少一个触发关键字。该请求可以指示输入音频信号的意图或主题。触发关键字可以指示可能要采取的动作类型。例如,NLP组件110可以解析输入音频信号以识别周末去海滩的至少一个请求。触发关键字可以包括指示要采取的动作的至少一个单词、短语、词根或部分单词、或衍生词。例如,来自输入音频信号的触发关键字“去”或“要去”可以指示需要运输或远离家乡的旅行。在该示例中,输入音频信号(或所识别的请求)不直接表达运输意图,但是触发关键字指示运输是对由请求指示的至少一个其他动作的辅助动作。
预测组件120(或数据处理系统105的其他机制)可以基于请求或触发关键字生成与输入音频信号相关联的至少一个动作数据结构。动作数据结构可以指示与输入音频信号的主题相关的信息。动作数据结构可以包括一个或多个动作,诸如对输入音频信号的有机响应。例如,输入音频信号“好的,我想在本周末去海滩”可以包括至少一个请求,其指示对海滩天气预报、冲浪报告或水温信息感兴趣,以及至少一个触发关键字,例如,“去”指示前往海滩的旅行,诸如需要可能想要带到海滩的物品,或需要运输到海滩。预测组件120可以生成或识别用于至少一个动作数据结构的主题,对海滩天气预报的请求的指示,以及用于数字组件的主题,诸如对与在海滩度过一天相关的赞助内容的查询的指示。根据请求或触发关键字,预测组件120(或诸如NLP组件110或直接动作API 135的其他系统100组件)预测、估计或以其他方式确定动作数据结构或数字组件的主题。根据该主题,直接动作API 135可以生成至少一个动作数据结构,并且可以与至少一个内容提供商计算设备155通信以获得至少一个数字组件。预测组件120可以访问数据存储库145中的参数146或策略147,以确定或以其他方式估计对动作数据结构或数字组件的请求。例如,参数146或策略147可以指示对海滩周末天气预报动作或与海滩游览相关的数字组件(诸如用于防晒霜的数字组件)的请求。
内容选择器组件125可以获得对动作数据结构或数字组件感兴趣或请求的任何指示。例如,预测组件120可以直接或间接(例如,经由数据存储库145)向内容选择器组件125提供动作数据结构或数字组件的指示。内容选择器组件125可以从数据存储库145(其中其可以作为内容数据148的一部分存储)中获得该信息。动作数据结构的指示可以向内容选择器组件125通知对区域海滩信息的需要,诸如天气预报或终端用户去海滩旅行可能需要的产品或服务。
根据内容选择器组件125接收的信息,例如即将到海滩的旅行的指示,内容选择器组件125可以识别至少一个数字组件。数字组件可以响应输入音频查询的主题或与输入音频查询的主题相关。例如,数字组件可以包括识别具有防晒霜的海滩附近的商店或者提供到海滩的出租车的数据消息。内容选择器组件125可以查询数据存储库145以例如从内容数据148选择或以其他方式识别数字组件。内容选择器组件125还可以从内容提供商计算设备155选择数字组件。例如,响应于从数据处理系统105接收的查询,内容提供商计算设备155可以向数据处理系统105(或其组件)提供数字组件,用于由发起输入音频信号的客户端计算设备150最终输出,或者用于由不同客户端计算设备150输出到相同终端用户。
音频信号发生器组件130可以响应于输入音频信号生成或以其他方式获得包括数字组件(以及动作数据结构)的输出信号。例如,数据处理系统105可以执行音频信号发生器组件130以生成或创建对应于动作数据结构或数字组件的输出信号。数据处理系统105的接口115可以经由计算机网络165向任何客户端计算设备150提供或发送包括输出信号的一个或多个数据分组。接口115可以被设计、配置、构造或操作以使用例如数据分组接收并发送信息。接口115可以使用一个或多个协议(诸如,网络协议)来接收和发送信息。接口115可以包括硬件接口、软件接口、有线接口或无线接口。接口115可以便于将数据从一种格式转换或格式化为另一种格式。例如,接口115可以包括应用编程接口,该应用编程接口包括用于在各种组件(诸如,系统100的软件组件)之间进行通信的定义。
数据处理系统105可以将包括动作数据结构的输出信号从数据存储库145或从音频信号发生器组件130提供给客户端计算设备150。数据处理系统105可以将包括数字组件的输出信号从数据存储库145或从音频信号发生器组件130提供给相同或不同的客户端计算设备150。
数据处理系统105还可以经由数据分组传输指示内容提供商计算设备155或服务提供商计算设备160向客户端计算设备150提供输出信号(例如,对应于动作数据结构或数字组件)。输出信号可以作为一个或多个数据分组(或其他通信协议)从数据处理系统105(或其他计算设备)获得、生成、变换或发送到客户端计算设备150。
内容选择器组件125可以选择数字组件或动作数据结构作为实时内容选择过程的一部分。例如,可以将动作数据结构提供给客户端计算设备150,以便通过客户端计算设备150的接口以对话方式直接响应输入音频信号作为音频输出进行传输。用于识别动作数据结构并将数字组件提供给客户端计算设备150的实时内容选择过程可以在距输入音频信号的时间一分钟或更短的时间内发生并且被认为是实时的。数据处理系统105还可以识别数字组件并将其提供给发起输入音频信号的客户端计算设备150的至少一个接口,或者提供给不同的客户端计算设备150。
动作数据结构(或数字组件)(例如,由音频信号发生器组件130经由接口115和计算机网络165发送到客户端计算设备150而获得或生成)可以使客户端计算设备150执行音频驱动器153以驱动扬声器154来生成对应于动作数据结构或数字组件的声波。声波可以包括动作数据结构或数字组件的词语或对应于动作数据结构或数字组件的词语。
表示动作数据结构的声波可以与数字组件分开地从客户端计算设备150输出。例如,声波可以包括“今天将是晴天和海滩80度。”的音频输出。在该示例中,数据处理系统105获得输入音频信号,例如,“好的,我想在本周末去海滩。”根据这个信息,NLP组件110识别至少一个请求或至少一个触发关键字,并且预测组件120使用请求或触发关键字来识别对动作数据结构或者数字组件的请求。内容选择器组件125(或其他组件)可以识别、选择或生成用于例如海滩附近可用的防晒霜的数字组件。直接动作API 135(或其他组件)可以识别、选择或生成用于例如周末海滩预报的动作数据结构。数据处理系统105或其组件(诸如音频信号发生器组件130)可以提供动作数据结构以供客户端计算设备150的接口输出。例如,对应于动作数据结构的声波可以从客户端计算设备150输出。数据处理系统105可以提供数字组件以供相同客户端计算设备150的不同接口或不同客户端计算设备150的接口输出。
数据处理系统105到客户端计算设备150的动作数据结构的基于分组的数据传输可以包括对输入音频信号“好的,我想在本周末去海滩”的直接或实时响应,使得经由计算机网络165的基于分组的数据传输作为数据处理系统105和客户端计算设备150之间的通信会话的一部分,具有实时人与人对话的流程和感觉。该基于分组的数据传输通信会话还可以包括内容提供商计算设备155或服务提供商计算设备160。
内容选择器组件125可以基于输入音频信号的至少一个请求或至少一个触发关键字来选择数字组件或动作数据结构。例如,输入音频信号的请求“好的,我想在本周末去海滩”可以指示海滩的主题、前往海滩或便于前往海滩的物品。NLP组件110或预测组件120(或作为直接动作API 135的一部分执行的其他数据处理系统105组件)可以识别触发关键字“去”、“去到”或“要去”并且可以至少部分基于触发关键字确定到海滩的运输请求。NLP组件110(或其他系统100组件)还可以确定与海滩活动相关的数字组件(诸如防晒霜或沙滩遮阳伞)的需求。因此,数据处理系统105可以推断来自输入音频信号的作为次要请求(例如,对于防晒霜的请求)的动作,其不是输入音频信号的主要请求或主题(关于本周末海滩的信息)。
动作数据结构和数字组件可以对应于输入音频信号的主题。直接动作API 135可以例如从NLP组件110、预测组件120或内容选择器组件125执行程序或脚本,以识别用于这些动作中的一个或多个的动作数据结构或数字组件。直接动作API 135可以执行指定的动作以满足终端用户的意图,如数据处理系统105所确定的。根据在其输入中指定的动作,直接动作API 135可以执行识别满足用户请求所需的参数的代码或对话脚本。这样的代码可以例如在数据存储库145中查找附加信息,诸如家庭自动化服务的名称,或者它可以提供音频输出以便在客户端计算设备150处呈现以向终端用户询问诸如请求的出租车的预期目的地的问题。直接动作API 135可以确定必要的参数并且可以将信息封装到动作数据结构中,然后可以将其发送到诸如内容选择器组件125或服务提供商计算设备160的另一组件以便执行。
数据处理系统105的直接动作API 135可以基于请求或触发关键字生成动作数据结构。可以响应于输入音频信号的主题生成动作数据结构。动作数据结构可以包括在发送到服务提供商计算设备160或由服务提供商计算设备160接收的消息中。基于由NLP组件110解析的输入音频信号,直接动作API 135可以确定消息应该发送到多个服务提供商计算设备160中的哪个(如果有的话)。例如,如果输入音频信号包括“好的,我想在本周末去海滩”,则NLP组件110可以解析输入音频信号以识别请求或触发关键字,诸如触发关键字词“去”指示需要出租车。直接动作API 135可以将请求封装到动作数据结构中,以作为消息传输到出租车服务的服务提供商计算设备160。该消息也可以传递给内容选择器组件125。动作数据结构可以包括用于完成请求的信息。在该示例中,信息可以包括提取位置(例如,家)和目的地位置(例如,海滩)。直接动作API 135可以从数据存储库145中检索模板149以确定哪个字段要包括在动作数据结构中。直接动作API 135可以从数据存储库145中检索内容以获得数据结构的字段的信息。直接动作API 135可以用该信息填充来自模板的字段以生成数据结构。直接动作API 135还可以用来自输入音频信号的数据填充字段。模板149可以针对服务提供商的类别进行标准化,或者可以针对特定服务提供商进行标准化。例如,乘车共享服务提供商可以使用以下标准化模板149来创建数据结构:{client_device_identifier;authentication_credentials;pick_up_location;destination_location;no_passengers;service_level}。
内容选择器组件125可以识别、选择或获得由多个内容选择过程产生的多个数字组件。内容选择过程可以是实时的,例如,涉及共同主题的数据处理系统105和客户端计算设备150之间的相同会话、通信会话或一系列通信会话的一部分。例如,对话可以包括彼此隔开几小时或几天的异步通信。对话或通信会话可以持续一段时间,从接收到第一输入音频信号到估计或已知的与第一输入音频信号相关的最终动作的结束,或者到由数据处理系统105接收到会话终止或到期的指示。例如,数据处理系统105可以确定与周末海滩旅行相关的会话在输入音频信号的时间或接收时开始并且在周末结束时到期或终止,例如,周日晚上或周一早晨。数据处理系统105(其提供动作数据结构或数字组件,用于在对话的活动时间段期间由客户端计算设备150或另一客户端计算设备150的一个或多个接口呈现(例如,从接收到输入音频信号直到确定的到期时间))可以被认为是实时操作。在该示例中,数字组件和动作数据结构的内容选择过程和呈现实时发生。
数据处理系统105可以包括接口管理组件,用于轮询、确定、识别或选择用于呈现动作数据结构和与输入音频信号相关的数字组件的接口。例如,接口管理组件可以识别与经由音频接口将输入音频信号(例如,“今天海滩上的天气怎样?”)输入客户端计算设备150之一中的终端用户相关联的客户端计算设备150的一个或多个候选接口。接口可以包括单独或与脚本或程序(例如,音频驱动器153)以及应用、计算机程序、在线文档(例如,网页)接口及其组合所组合的诸如传感器151(例如,麦克风)、扬声器154或计算设备的屏幕大小的硬件。
接口可以包括与发起输入音频信号的客户端计算设备150的终端用户相关联的社交媒体帐户、文本消息应用或电子邮件帐户。接口可以包括智能电话的音频输出,或者安装在智能电话或者可穿戴计算设备上的基于应用的消息传送设备,以及其他客户端计算设备150。接口还可以包括显示屏参数(例如,大小、分辨率)、音频参数、移动设备参数(例如,处理能力、电池寿命、安装的应用或程序的存在或传感器151或扬声器154能力)、用于数字组件的文本、图像或视频呈现的在线文档上的内容槽、聊天应用、笔记本电脑参数、智能手表或其他可穿戴设备参数(例如,其显示或处理能力的指示)或虚拟现实耳机参数。
接口管理组件可以轮询多个接口以识别候选接口。候选接口包括具有呈现对输入音频信号的响应的能力的接口(例如,动作数据结构作为音频输出,或者可以以包括非音频格式的各种格式输出的数字组件)。接口管理组件可以确定接口的参数或其他能力以确定它们是(或不是)候选接口。例如,接口管理组件可以基于数字组件或第一客户端计算设备150(例如,智能手表可穿戴设备)的参数146确定智能手表包括足够大小或分辨率的可用视觉接口来呈现数字组件。接口管理组件还可以确定发起输入音频信号的客户端计算设备150具有扬声器154硬件和安装的程序,例如,音频驱动器或其他脚本以呈现动作数据结构。
接口管理组件(或其他数据处理系统105组件)可以以与候选接口兼容的模态转换数字组件以进行传送。例如,如果候选接口是智能手表、智能电话或平板计算设备的显示器,则在给定与接口相关联的显示屏幕的大小的情况下,接口管理组件可以调整数字组件的大小以用于适当的视觉显示。接口管理组件还可以将数字组件转换为分组或其他基于协议的格式,包括专有或行业标准格式,以便传输到与所选接口相关联的客户端计算设备150。由接口管理组件为数字组件选择的接口可以包括终端用户可从多个客户端计算设备150访问的接口。例如,接口可以是或包括终端用户可以经由发起输入音频信号的客户端计算设备150(例如,智能电话)以及诸如平板电脑或台式计算机的其他客户端计算设备或其他移动计算设备访问的社交媒体帐户。
接口管理组件还可以为动作数据结构选择至少一个候选接口。该接口可以是从其获得输入音频信号(例如,在客户端计算设备150处执行的语音激活辅助服务)的相同接口。这可以是与接口管理组件为数字组件选择的相同接口或不同接口。接口管理组件(或其他数据处理系统105组件)可以将动作数据结构提供给发起输入音频信号的相同客户端计算设备150,以便作为辅助服务的一部分呈现为音频输出。接口管理组件还可以以适合于由所选接口呈现的任何转换模态将数字组件发送到或以其他方式提供给为数字组件选择的接口。
因此,接口管理组件可以响应于由相同客户端计算设备150接收的输入音频信号,将动作数据结构提供为用于由客户端计算设备150的接口呈现的音频输出。接口管理组件还可以通过相同客户端计算设备150或与相同终端用户相关联的不同客户端计算设备150的不同接口提供用于呈现的数字组件。例如,可以提供动作数据结构,例如“在星期六将是晴天和海滩80度”,以便由客户端计算设备作为部分在客户端计算设备处执行的辅助程序接口的一部分进行音频呈现,并且可以提供数字组件,例如,指示“防晒霜可从海滩附近的便利店获得”的文本、音频或组合数字组件,以便由相同或不同的计算设备150的接口进行呈现(诸如,可由与终端用户相关联的相同或不同客户端计算设备150访问的电子邮件或文本消息)。
将数字组件与动作数据结构分离并将数字组件发送为例如文本消息而不是音频消息可以导致访问数字组件的客户端计算设备150的处理能力降低,因为例如,文本消息数据传输的计算密集程度低于音频消息数据传输。这种分离还可以减少用于呈现数字组件的电力使用、存储器存储或传输带宽。这导致系统100和诸如客户端计算设备150和数据处理系统105的设备的处理、电力和带宽效率提高。这提高了处理这些事务的计算设备的效率,并且提高了通过其可以呈现数字组件的速度。数据处理系统105可以同时处理数千、数万或更多输入音频信号,因此带宽、电力和处理节省可以是显著的,而不仅仅是增量的或偶然的。
在将动作数据结构传递到客户端计算设备150之后,接口管理组件可以将数字组件提供或传递给与动作数据结构相同的客户端计算设备150(或不同的设备)。例如,数字组件可以提供用于在动作数据结构的音频输出呈现结束时经由所选择的接口进行呈现。接口管理组件还可以在向客户端计算设备150提供动作数据结构时向所选择的接口提供数字组件。接口管理组件可以提供数字组件,用于在NLP组件110接收到输入音频信号开始的预定时间段内经由所选择的接口进行传递。例如,该时间段可以是会话对话的有效长度期间的任何时间。例如,如果输入音频信号是“我想在本周末去海滩”,则预定时间段可以是从接收到输入音频信号到周末结束的任何时间,例如,对话的活动时段。预定时间段也可以是从动作数据结构呈现为客户端计算设备150的音频输出触发的时间,诸如在该呈现的5分钟、1小时或1天内。
接口管理组件可以向客户端计算设备150提供动作数据结构,其中指示数字组件的存在。例如,数据处理系统105可以提供动作数据结构,该动作数据结构在客户端计算设备150处呈现以提供音频输出“在星期六将是晴天和海滩80度,检查您的电子邮件以获取更多信息。”短语“检查您的电子邮件以获取更多信息”可以指示数据处理系统105向接口(例如,电子邮件)提供的数字组件的存在,例如,防晒霜。在该示例中,赞助内容可以作为数字组件提供给电子邮件(或其他)接口,并且诸如天气的有机内容可以被提供作为用于音频输出的动作数据结构。
数据处理系统105可以包括源分配组件140。源分配组件140可以确定系统100的哪些元件包括数字组件的实例(或相关实例)。例如,一旦内容选择器组件125选择数字组件,源分配组件140就可以确定内容提供商设备155、服务提供商设备160和客户端计算设备150中的哪一个具有数字组件的实例。具有数字组件实例的客户端计算设备150、服务提供商设备160和内容提供商设备155可以被称为候选内容源。由接口管理组件识别的接口可以是候选内容源的接口。在一些实施方式中,源分配组件140可以在数据存储库145中存储由每个候选内容源存储或提供的数字组件的索引。在一些实施方式中,源分配组件140可以轮询内容提供商设备155和服务提供商设备160中的每个(或子群)以确定内容提供商设备155或服务提供商设备160是否包括数字组件的实例。例如,源分配组件140可以向数据组件的内容提供商设备155发送请求。如果内容提供商设备155肯定地响应,则源分配组件140可以将内容提供商设备155标记为候选内容源。在一些实施方式中,内容提供商设备(或其他可能的候选内容源)的响应可以包括关于潜在候选内容源的数据和其他信息以及源分配组件140可以用于生成用于潜在候选内容源和在每个潜在候选内容源上存储的数字组件的实例的特征的数字组件的实例。
源分配组件140可以确定或计算数字组件的每个实例的特征。特征可以指示数字组件实例的质量(或质量度量)。源分配组件140还可以计算每个候选内容源的特征(或质量度量)。在一些实施方式中,源分配组件140可以确定用于系统100中识别的数字组件的每个实例的特征。例如,候选内容源可以包括数字组件的多个实例(例如,高分辨率和低分辨率的数字组件)。源分配组件140可以确定用于候选内容源的数字组件的每个实例的单独特征。
源分配组件140可以使用特征来指示或确定候选内容源是否可以提供给客户端计算设备150或者客户端计算设备150是否可以呈现数字组件。数字组件和候选内容源的特征可以包括从数据存储库145获得的参数146或从客户端计算设备150获得的其他参数,诸如带宽或处理利用率或要求、处理能力、电力需求、电池状态、存储器利用率或能力或指示可用于呈现动作数据结构或数字组件的接口的其他接口参数。电池状态可以指示电源的类型(例如,诸如经由输出的内部电池或外部电源)、充电状态(例如,当前正在充电或不在充电)或剩余电池电量。
源分配组件140可以使用候选内容源的特征、它们与数据处理系统105或客户端计算设备150的相应连接的质量、以及数字组件的相应实例的特征。例如,特征可以基于连接的带宽、连接的利用率、候选内容源的利用率、实例是否是数字组件的免费或付费实例、数字组件的质量、数字组件的文件大小、数字组件的编码方案、数字组件的文件格式、客户端计算设备150与数字组件实例的存储位置之间的距离、客户端计算设备150的位置、位置数字组件或其任何组合。例如,源分配组件140可以确定数字组件在候选内容源上存储或可用,该候选内容源是客户端计算设备150本地(例如,在相同Wi-Fi网络上)的客户端计算设备150可以访问的个人计算机。在该示例中,位置特征可以指示候选内容源可用于提供数字组件。在另一示例中,客户端计算设备150可以不在与作为个人计算机的候选内容源相同的Wi-Fi网络上。在该示例中,位置特征可以指示候选内容源不可用于提供数字组件。
源分配组件140可以基于特征在层级或排名中对候选内容源(或它们相应的数字组件实例)进行排序或排名。例如,可以给予不同的参数(例如,处理要求、显示屏幕大小、对终端用户的可访问性和文件质量)不同的权重。源分配组件140可以基于候选接口的权重对候选接口的一个或多个特征进行排名,以确定用于提供数字组件的最佳对应候选内容源。例如,基于该层级,源分配组件140可以选择排名最高的候选内容源,用于向客户端计算设备150提供数字组件。
在一些实施方式中,具有最高排名特征的候选内容源可以指示从该候选内容源提供数字组件将消耗最少量的计算或网络资源。例如,与远程存储的数字组件实例相比,使用已经存储在客户端计算设备150上的数字组件的本地实例可以消耗更少的资源。在一些实施方式中,具有最高特征的数字组件的实例可以指示来自该候选内容源的数字组件的递送将提供相对高的用户体验。例如,客户端计算设备150可以包括当客户端计算设备150经由蜂窝连接被连接到网络165时下载到客户端计算设备150的低质量版本的数字组件。源分配组件140可以将相对高的特征分配给远离客户端计算设备150但是高质量版本的数字组件的数字组件的实例。在一些实施方式中,用于数字组件的实例的相对高的特征可以覆盖用于候选内容源的相对低的特征。在其他实施方式中,用于候选内容源的相对高的特征可以覆盖用于数字组件的实例的相对低的特征。例如,当客户端计算设备150具有到数据处理系统105的低带宽连接时,数据处理系统105可以确定将低分辨率视频发送到客户端计算设备150。
数据处理系统105还可以向动作数据结构提供查询用户以确定用户对获得数字组件感兴趣的提示。例如,动作数据结构可以指示“在星期六将是晴天和海滩80度,您想听听一些服务以帮助您的旅行吗?”数据处理系统105可以响应于提示“您想听听一些服务以帮助您的旅行吗?”,诸如“确定”,从客户端计算设备150接收另一个输入音频信号。NLP组件110可以解析该响应,例如,“确定”并将其解释为客户端计算设备150对数字组件的音频呈现的授权。作为响应,数据处理系统105可以通过与响应“确定”发起相同的客户端计算设备150提供用于音频呈现的数字组件。
数据处理系统105可以延迟与动作数据结构相关联的数字组件的传输,以优化处理利用率。例如,数据处理系统105通过客户端计算设备实时响应于例如以对话方式接收到输入音频信号而提供动作数据结构用于呈现为音频输出,并且可以延迟数字组件传输,直到数据中心使用的非高峰期或非峰值期,通过减少峰值带宽使用、热输出或冷却要求,可以更有效地利用数据中心。数据处理系统105还可以基于数据中心利用率或带宽度量或网络165或包括数据处理系统105的数据中心的要求发起与数字组件相关联的转换或其他活动,诸如响应于对动作数据结构或数字组件的响应来订购汽车服务。
基于对后续动作的数字组件或动作数据结构的响应,诸如点击经由所选择的接口呈现的数字组件,数据处理系统105可以识别转换或发起转换或动作。数据处理系统105的处理器可以调用直接动作API 135来执行促进转换动作的脚本,诸如从汽车共享服务订购汽车以使终端用户到达或离开海滩。直接动作API 135可以从数据存储库145获得内容数据148(或参数146或策略147),以及从客户端计算设备150获得终端用户同意接收的数据,以确定位置、时间、用户帐户、后勤或其他信息,以便从汽车共享服务预订汽车。使用直接动作API 135,数据处理系统105还可以与服务提供商计算设备160通信,以通过在该示例中进行汽车共享提取预订来完成转换。
图2示出了图1所示系统中数字组件的选择的框图。系统100包括内容提供商设备155和服务提供商设备160。客户端计算设备150、内容提供商设备155和服务提供商设备160均可以包括数字组件200的一个或多个实例。由数据处理系统105识别为存储数字组件200的实例的系统100的每个组件可以被称为候选内容源。数据处理系统105、客户端计算设备150、内容提供商设备155和服务提供商设备160均连接到连接202。连接202可以通过网络165进行。客户端计算设备150可以具有到数据处理系统105、内容提供商设备155、服务提供商设备160或其任何组合的连接202。在一些实施方式中,客户端计算设备150可以仅经由例如网络165具有与数据处理系统105的连接。
如关于图3进一步描述的,其中,客户端计算设备150可以将输入音频信号发送到数据处理系统105。数据处理系统105可以执行NLP组件110,其可以识别输入音频信号中的请求和一个或多个触发关键字。数据处理系统105可以基于请求和一个或多个触发关键字来选择数字组件200。例如,该请求可以是在客户端计算设备150上播放特定歌曲,该客户端计算设备150可以是基于扬声器的辅助设备。由数据处理系统105识别的数字组件200的实例可以存储在客户端计算设备150、内容提供商设备155、服务提供商设备160或其任何组合上。数据处理系统105可以通过计算每个候选内容源、其连接202以及数字组件的实例的特征来确定应该向客户端计算设备150提供数字组件200的哪个实例。用于给定候选内容源或数字组件实例的特征可以基于候选内容源本身和存储在其中的数字组件200的特征。例如,特征可以包括数字组件200的实例的质量、数字组件200的可用性、或内容提供商设备155的利用率。该特征还可以基于利用率、状态或客户端计算设备150的其他特征。利用率或特征可以包括客户端计算设备150的到网络165的连接类型、电池状态、电力状态、处理器能力、显示能力或存储器状态。
如例如图2中的内容提供商设备155所示,候选内容源可以包括数字组件200的多个实例。当候选内容源包含数字组件200的多于一个实例时,源分配组件140可以计算或以其他方式确定与在候选内容源上的数字组件200的实例中的每个和各个候选内容源中的每个相关联的特征。数字组件200的不同实例可以具有不同的特征,或者可以是相同数字组件200的副本。特征可以包括文件质量、文件格式、编码类型、文件大小或许可要求。例如,如果数字组件200是视频文件,则候选内容源上的数字组件200的第一实例可以是高清版本的视频文件,并且数字组件200的第二实例可以是标准定义版本的视频文件。
给定候选内容源上的数字组件200的多个实例中的每个可以对应于不同的用户或帐户。例如,内容提供商设备155可以是电子邮件提供商。数字组件200的第一实例可以对应于第一用户的电子邮件帐户,并且数字组件200的第二实例可以对应于第二用户的电子邮件帐户。例如,客户端计算设备150的第一用户可以提供输入音频信号,“好的,给我读取我的上次电子邮件。”客户端计算设备150或数据处理系统105可以确定客户端计算设备150的哪个用户提供输入音频信号。然后,数据处理系统105可以将与客户端计算设备150的第二用户相关联的候选内容源上的数字组件200(例如,电子邮件帐户)分配低或空特征,使得不选择该电子邮件帐户。
客户端计算设备150可以已经包括数字组件200的实例,如图2所示。数据处理系统105可以确定客户端计算设备150包括数字组件200的实例,并且数据处理系统105可以将客户端计算设备150标记为候选内容源。数据处理系统105仍然可以确定内容提供商设备155和服务提供商设备160是候选内容源,并且可以将至少一个特征分配给客户端计算设备150、内容提供商设备155和服务提供商设备160。在一些实施方式中,数据处理系统105可以确定客户端计算设备150具有相对高的特征,因为在客户端计算设备150上呈现或提供数字组件200基本上不会使用网络资源。但是,候选内容源之一可以具有高质量版本的数字组件200(或其他特征),其使得数据处理系统105在与客户端计算设备150相比时为远程候选内容源分配相对高的特征。在该示例中,即使客户端计算设备150已经拥有数字组件200的实例,数据处理系统105也可以发送(或使候选内容源发送)数字组件200到客户端计算设备150。
当源分配组件140从候选内容源选择内容源时,源分配组件140可以生成存储在每个候选内容源上的内容的动态索引或者选择候选内容源的动态索引。索引可以在预定量的时间内有效。如果源分配组件140在接收到对数字组件的后续请求时确定索引仍然有效,则源分配组件140可以使用该索引来选择内容源而无需首先找到多个候选内容源并计算每个候选内容源的特征。
图3示出了在语音激活的基于分组的计算机网络环境中分配内容源的示例方法300的框图。方法300可以包括接收数据分组(ACT 302)。方法300可以包括识别请求和触发关键字(ACT 304)。方法300可以包括选择数字组件(ACT 306)。方法300可以包括识别候选内容源(ACT 308)。方法300可以包括确定特征(动作310)。方法300可以包括选择内容源(ACT 312)。
如上所述,方法300可以包括接收数据分组(ACT 302)。数据分组可包括输入音频信号。输入音频信号可以由客户端计算设备的传感器检测并且由客户端计算设备发送到数据处理系统105。由数据处理系统105执行的NLP组件110可以从客户端计算设备150接收数据分组。可以经由网络165接收数据分组作为分组或其他基于协议的数据传输。
方法300可以包括识别请求和触发关键字(ACT 304)。NLP组件110可以识别数据处理系统105接收的输入音频信号中的请求和触发关键字作为数据分组。例如,NLP组件110可以解析输入音频信号以识别与输入音频信号的主题相关的请求。NLP组件110可以解析输入音频信号以识别可以指示例如与请求相关联的动作的触发关键字。
方法300可以包括选择至少一个数字组件(ACT 306)。内容选择器组件125可以接收请求或触发关键字,并且基于该信息可以选择一个或多个数字组件。例如,输入音频信号可以是“好的,播放Neil Young”,并且NLP组件110可以确定请求是由Neil Young执行的音乐歌曲。在该示例中,内容选择器组件125可以选择包括由Neil Young,Neil Young流式广播电台执行的歌曲,或者类似于Neil Young的风格的歌曲的数字组件。数据处理系统105还可以生成至少一个动作数据结构。
方法300可以包括识别内容源(ACT 308)。源分配组件140可以在识别数字组件之后识别多个候选内容源。多个候选内容源中的每个可以包括(例如,存储其实例)数字组件或相关数字组件。继续上述示例,每个候选内容源可以是不同的在线音乐流服务,其包括在ACT306期间选择的Neil Young歌曲。
方法300可以包括确定一个或多个特征(动作310)。源分配组件140可以确定用于多个候选内容源中的每个的特征以及用于它们包含的数字组件的每个实例的特征。该特征可以基于相应候选内容源和客户端计算设备之间的连接。例如,源分配组件140可以考虑连接的带宽和连接的质量。源分配组件140还可以包含客户端计算设备与网络的连接的类型和质量。例如,客户端计算设备是经由WiFi还是经由蜂窝连接被连接到网络。在一些实施方式中,用于每个相应候选内容源的特征可以基于相应候选内容源具有的数字组件的实例的文件质量。例如,实例的质量可以包括比特率、文件大小、编码编解码器(encoding codec)和文件格式。
该特征可以基于数字组件的购买状态或可用性。例如,用户可能已从第一候选内容源购买了数字组件的实例。与用户尚未从其购买数字组件的第二候选内容源相比,可以给予第一候选内容源更高的特征。该特征可以基于候选内容源的位置及其相应的数字组件的实例。该位置可以是数字组件的物理位置。例如,与数字组件的远程实例相比,可以给予客户端计算设备本地存储的数字组件的实例更高的质量分数。类似地,与存储不同地理区域中的数字组件其实例的候选内容源相比,可以给予在与客户端计算设备相同的地理区域内存储数字组件的实例的候选内容源(例如,相同的州或国家)更高的特征。
用于每个候选内容源的特征可以基于客户端计算设备的利用率(或状态)。客户端计算设备的利用率可以基于处理器能力、存储器能力或可用性、电池状态、可用电力、网络带宽利用率或接口参数。通过使特征基于客户端计算设备的利用率,数据处理系统105可以减少呈现数字组件的客户端计算设备的网络带宽使用、等待时间或处理利用率或功耗。这节省了处理能力和诸如存储器的其他计算资源,减少了数据处理系统的电力消耗,并且经由计算机网络的减少的数据传输减少了带宽要求和数据处理系统的使用。例如,可以给予包含客户端计算设备不能正确呈现的数字组件的实例的候选内容源相对较低的特征。在一些实施方式中,该特征仅基于客户端计算设备的利用率或状态。
源分配组件140可以选择第一多个候选内容源。源分配组件140可以确定用于第一多个候选内容源中的每个的特征。源分配组件140可以将特征与阈值进行比较。如果第一多个候选内容源的特征未超过阈值,则源分配组件140可以选择第二多个候选内容源。源分配组件140可以计算并比较第二多个候选内容源的特征与阈值。源分配组件140可以重复该过程,直到发现一个或多个候选内容源具有高于阈值的特征。多个候选内容源中的每个可以包括单个候选内容源。例如,源分配组件140可以从候选内容源开始,该候选内容源在将数字组件递送到客户端计算设备时将消耗最少量的计算和网络资源(但是可以具有相对低的特征)。如果确定第一候选内容源具有高于质量阈值的特征,则源分配组件140可以选择第一候选内容源作为内容源以将数字组件提供给客户端计算设备。如果第一候选内容源的特征低于质量阈值,则源分配组件140可以继续选择和测试候选内容源,直到源分配组件140定位具有高于质量阈值的特征的候选内容源。
方法300可以包括从多个候选内容源选择内容源(ACT 312)。源分配组件140可以基于多个候选内容源中的每个的特征的排名从多个候选内容源选择内容源。排名可以识别哪个候选内容源具有数字组件的最高质量实例,与数据处理系统105或客户端计算设备的最佳连接,或者在将数字组件发送到客户端计算设备时将消耗最少量的网络或计算资源。
数据处理系统105可以从所选择的候选内容源请求数字组件的副本,然后将数字组件提供给客户端计算设备。在其他实施方式中,数据处理系统105可以发起所选择的候选内容源和客户端计算设备之间的会话。所选择的候选内容源可以流式传输、发送或以其他方式将数字组件提供给客户端计算设备,而无需首先将数字组件提供给数据处理系统105。在一些实施方式中,数据处理系统105可以与在预定的时间长度内对客户端计算设备的引用相关联地存储对所选择的候选内容源的引用。如果客户端计算设备在预定的时间长度内请求后续数字组件,则数据处理系统105可以从先前选择的候选内容源请求数字组件,而无需首先确定和排名多个候选内容源。在其他实施方式中,数据处理系统105可以在每次客户端计算设备请求数字组件时执行方法300。
本公开的每个方面可以包括以下特征中的一个或多个。源分配组件可以:从内容源接收数字组件;以及将数字组件发送到客户端计算设备。源分配组件可以:检测在多个候选内容源中的一个上的数字组件的第二实例;以及确定用于多个内容源中的一个上的数字组件的第二实例的第二特征。源分配组件可以:确定客户端计算设备的利用率;以及基于客户端计算设备的利用率选择内容源。利用率可以基于客户端计算设备的电池水平、客户端计算设备的存储可用性或客户端计算设备的处理器可用性中的至少一个。内容选择器组件可以:基于内容源的特征高于内容源上的数字组件的相应实例的特征,从多个候选内容源选择内容源。内容选择器组件可以:基于内容源的特征低于内容源上的数字组件的相应实例的特征,从多个候选内容源选择内容源。该请求可以是发起客户端计算设备和内容源之间的会话的请求。内容选择器组件可以选择第二数字组件。源分配组件可以:识别第二多个候选内容源,第二多个候选内容源中的每个包括第二数字组件的相应实例;确定用于第二多个候选内容源中的每个的特征;确定用于第二多个候选内容源中的每个的特征低于预定阈值;以及识别第三多个候选内容源,第三多个候选内容源中的每个包括第二数字组件的相应实例。内容选择器组件可以选择第二数字组件;以及基于确定内容源是有效的,从内容源请求第二数字组件。自然语言处理器组件可以确定与输入音频信号相关联的账户;源分配组件,用于确定用于数字组件的每个相应实例的特征。用于多个候选内容源中的相应一个的特征可以基于数据处理系统与多个候选内容源中的相应一个之间的连接质量或带宽可用性中的至少一个。用于多个候选内容源中的相应一个的特征可以基于客户端计算设备与多个候选内容源中的相应一个之间的连接质量或带宽可用性。用于多个候选内容源中的相应一个的特征可以基于存储在多个候选内容源中的相应一个处的数字组件的相应实例的质量特征或存储位置。由源分配组件将数字组件的实例发送到客户端计算设备。由源分配组件检测多个候选内容源中的一个上的数字组件的第二实例;以及由源分配组件确定用于多个内容源中的一个上的数字组件的第二实例的第二特征。由内容选择器组件选择第二数字组件;由源分配组件识别第二多个候选内容源,第二多个候选内容源中的每个包括第二数字组件的相应实例;由源分配组件确定用于第二多个候选内容源中的每个的特征;由源分配组件确定用于第二多个候选内容源中的每个的特征低于预定阈值;由源分配组件识别第三多个候选内容源,第三多个候选内容源中的每个包括第二数字组件的相应实例。由自然语言处理器组件确定与输入音频信号相关联的帐户;由源分配组件确定用于数字组件的每个相应实例的特征。
图4是示例计算机系统400的框图。计算机系统或计算系统400可以包括或用于实现系统100或其组件,诸如数据处理系统105。计算系统400包括总线405或用于传送信息的其他通信组件和耦合到总线405用于处理信息的处理器410或处理电路。计算系统400还可以包括一个或多个处理器410或耦合到总线的处理电路,用于处理信息。计算系统400还包括主存储器415,诸如随机存取存储器(RAM)或其他动态存储设备,其耦合到总线405用于存储信息,以及要由处理器410执行的指令。主存储器415还可以用于在处理器410执行指令期间存储位置信息、临时变量或其他中间信息。计算系统400还可以包括只读存储器(ROM)420或者其他静态存储设备,其耦合到总线405用于存储处理器410的静态信息和指令。存储设备425(诸如固态设备、磁盘或光盘)可以耦合到总线405以持久存储信息和指令。存储设备425可以包括数据存储库145或者是数据存储库145的一部分。
计算系统400可以经由总线405耦合到显示器435(诸如液晶显示器或有源矩阵显示器),用于向用户显示信息。输入设备430(诸如包括字母数字键和其他键的键盘)可以耦合到总线405,用于将信息和命令选择传送到处理器410。输入设备430可以包括触摸屏幕显示器435。输入设备430可以还包括光标控制,诸如鼠标、轨迹球或光标方向键,用于将方向信息和命令选择传送到处理器410并用于控制显示器435上的光标移动。例如,显示器435可以是数据处理系统105、客户端计算设备150或图1的其他组件的一部分。
本文描述的过程、系统和方法可以由计算系统400响应于处理器410执行包含在主存储器415中的指令的布置来实现。这样的指令可以从另一计算机可读介质(诸如存储设备425)读入主存储器415中。包含在主存储器415中的指令的布置的执行使计算系统400执行本文描述的示例性过程。还可以采用多处理布置中的一个或多个处理器来执行包含在主存储器415中的指令。硬连线电路可以与本文描述的系统和方法一起用于代替软件指令或与软件指令组合使用。这里描述的系统和方法不限于硬件电路和软件的任何特定组合。
尽管图4中已经描述了示例计算系统,但是包括本说明书中描述的操作的主题可以在其他类型的数字电子电路中实现,或者在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物或者它们中的一个或多个的组合)中实现。
对于这里讨论的系统收集关于用户的个人信息或者可以利用个人信息的情况,可以向用户提供机会以控制程序或特征是否可以收集个人信息(例如,关于用户的社交网络、社交动作或活动、用户的偏好或用户的位置的信息)或控制是否或如何从内容服务器或可能与用户更相关的其他数据处理系统接收内容。另外,某些数据可以在存储或使用之前以一种或多种方式匿名化,以便在生成参数时移除个人可识别信息。例如,用户的身份可以匿名化,以便不能为用户确定个人可识别信息,或者可以在获得位置信息的地方(例如,城市,邮政编码或州级别)一般化用户的地理位置,以便不能确定用户的特定位置。因此,用户可以控制如何收集关于他或她并由内容服务器使用的信息。
本说明书中描述的主题和操作可以在数字电子电路中实现,或者在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物或者它们中的一个或多个的组合)中实现。本说明书中描述的主题可以实现为一个或多个计算机程序(例如,计算机程序指令的一个或多个电路),其编码在一个或多个计算机存储介质上,用于由数据处理装置执行或控制数据处理设备的操作。可替代地或另外地,程序指令可以在人工生成的传播信号上编码,例如,机器生成的电、光或电磁信号,其被生成以编码信息以便传输到合适的接收器装置以供数据处理装置执行。计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备中,或者它们的一个或多个的组合中。虽然计算机存储介质不是传播信号,但是计算机存储介质可以是以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质也可以是或包括在一个或多个单独的组件或介质(例如,多个CD、磁盘或其他存储设备)中。本说明书中描述的操作可以实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
术语“数据处理系统”“计算设备”“组件”或“数据处理装置”包括用于处理数据的各种装置、设备和机器,包括例如可编程处理器、计算机、片上系统、或多个片上系统,或前述的组合。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们的一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础结构,诸如web服务、分布式计算和网格计算基础结构。接口管理组件、直接动作API 135、内容选择器组件125、预测组件120或NLP组件110和其他数据处理系统105组件可以包括或共享一个或多个数据处理装置、系统、计算设备或处理器。
计算机程序(也称为程序、软件、软件应用、应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序、对象或适用于计算环境的其他单元。计算机程序可以对应于文件系统中的文件。计算机程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。可以部署计算机程序以在一个计算机上或在位于一个站点上或分布在多个站点上并通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序(例如,数据处理系统105的组件)的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
本文描述的主题可以在包括后端组件(例如作为数据服务器)或者包括中间件组件(例如应用服务器)或者包括前端组件(例如,具有通过其用户可以与本说明书中描述的主题的实施方式进行交互的图形用户界面或网络浏览器的客户端计算机)或者一个或多个这样的后端、中间件或前端组件的组合的计算系统中实现。系统的组件可以通过任何形式或介质的数字数据通信(例如通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、网络间(例如,互联网)和对等网络(例如,ad hoc对等网络)。
诸如系统100或系统400的计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络(例如,网络165)进行交互。客户端和服务器的关系通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而生成。在一些实施方式中,服务器将数据(例如,表示动作数据结构或数字组件的数据分组)发送到客户端计算设备(例如,发送到客户端计算设备150,以便向与客户端计算设备交互的用户或服务提供商计算设备160或内容提供商计算设备155显示数据和从该用户接收用户输入)。可以从服务器处的客户端计算设备接收在客户端计算设备处生成的数据(例如,用户交互的结果)(例如,由数据处理系统105从客户端计算设备150或内容提供商计算设备155或服务提供商计算设备160接收)。
虽然在附图中以特定顺序描绘了操作,但是不需要以所示的特定顺序或按顺序执行这些操作,并且不需要执行所有示出的操作。这里描述的动作可以以不同的顺序执行。
在所有实施方式中,各种系统组件不需要在所有实施方式中分离,并且所描述的程序组件可以包括在单个硬件或软件产品中。例如,NLP组件110、内容选择器组件125、接口管理组件或预测组件120可以是单个组件、应用或程序,或具有一个或多个处理电路的逻辑设备,或者数据处理系统105的一个或多个服务器的一部分。
现在已经描述了一些示例性实施方式,显而易见的是,前述内容是示例性的而非限制性的,已经通过示例的方式呈现。特别地,尽管本文呈现的许多示例涉及方法动作或系统元件的特定组合,但是这些动作和那些元件可以以其他方式组合以实现相同的目标。结合一个实施方式讨论的动作、元件和特征不旨在从其他实施方式或实施方式中的类似角色中排除。
这里使用的措辞和术语是出于描述的目的,不应该被认为是限制性的。“包括”、“包含”、“具有”、“含有”、“涉及”、“特征在于”、“在此表征”及其变化形式的使用意味着包括其后列出的项目、其等同物和附加项目,以及由其后列出的项目组成的替代实施方式。在一个实施方式中,这里描述的系统和方法包括一个、多于一个的每个组合或所有所描述的元件、动作或组件。
以单数形式提及的对本发明的系统和方法的实施方式或元件或动作的任何引用也可以包含包括多个这些元件的实施方式,并且对于本文中的任何实施方式或元件或动作的任何复数引用也可以包含仅包括一个元件的实施方式。单数或复数形式的引用并不旨在将当前公开的系统或方法、它们的组件、动作或元件限制为单个或多个配置。对基于任何信息、动作或元件的任何动作或元件的引用可以包括其中动作或元件至少部分地基于任何信息、动作或元件的实施方式。
本文公开的任何实施方式可以与任何其他实施方式或实施例组合,并且对“实施方式”、“一些实施方式”、“一个实施方式”等的引用不一定是相互排斥的并且旨在指示结合实施方式描述的特定特性、结构或特征可以包括在至少一个实施方式或实施例中。这里使用的这些术语不一定都指的是相同的实施方式。任何实施方式可以以与本文公开的方面和实施方式一致的任何方式包含或排他地与任何其他实施方式组合。
对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示单个、多于一个和所有所描述的术语中的任何一个。例如,对“A”和“B”中的至少一个的引用可以仅包括“A”、仅包括“B”、以及“A”和“B”。与“包括”或其他开放术语结合使用的此类引用可以包括附加项目。
在附图、详细说明或任何权利要求中的技术特征之后是附图标记的情况下,已经包括附图标记以增加附图、详细说明和权利要求的可懂度。因此,附图标记和它们的缺失都不会对任何权利要求要素的范围具有任何限制作用。
在不脱离其特征的情况下,本文描述的系统和方法可以以其他特定形式实现。前述实施方式是示例性的而不是限制所描述的系统和方法。因此,本文描述的系统和方法的范围由所附权利要求而不是前面的描述指示,并且在权利要求的等同物的含义和范围内的变化包含在其中。

Claims (20)

1.一种在语音激活的基于分组的计算机网络环境中分配内容源的系统,包括:
由数据处理系统执行的自然语言处理器组件,所述自然语言处理器组件在所述数据处理系统的接口处接收包括由客户端计算设备的传感器检测到的输入音频信号的数据分组;
所述自然语言处理器组件解析所述输入音频信号以识别请求和与所述请求相对应的触发关键字;
内容选择器组件,所述内容选择器组件基于所述请求和所述触发关键字中的至少一个来选择数字组件;
源分配组件,所述源分配组件在选择所述数字组件之后识别多个候选内容源,所述多个候选内容源中的每个包括所述数字组件的相应实例;
所述源分配组件确定用于所述多个候选内容源中的每个的特征以及所述数字组件的相应实例中的每个的特征;
所述源分配组件基于用于所述多个候选内容源中的每个的特征和所述数字组件的相应实例中的每个的特征,从所述多个候选内容源选择内容源;以及
所述源分配组件从所述内容源生成对所述数字组件的请求。
2.根据权利要求1所述的系统,包括所述源分配组件,以:
从所述内容源接收所述数字组件;以及
将所述数字组件发送到所述客户端计算设备。
3.根据权利要求1或2所述的系统,包括所述源分配组件,以:
检测所述多个候选内容源中的一个上的数字组件的第二实例;以及
确定用于所述多个内容源中的一个上的数字组件的第二实例的第二特征。
4.根据任一前述权利要求所述的系统,包括所述源分配组件,以:
确定所述客户端计算设备的利用率;以及
基于所述客户端计算设备的利用率来选择所述内容源。
5.根据权利要求4所述的系统,其中,所述利用率基于所述客户端计算设备的电池水平、所述客户端计算设备的存储可用性或所述客户端计算设备的处理器可用性中的至少一个。
6.根据任一前述权利要求所述的系统,包括所述内容选择器组件,以:
基于所述内容源的特征高于所述内容源上的数字组件的相应实例的特征,从所述多个候选内容源选择所述内容源。
7.根据任一前述权利要求所述的系统,包括所述内容选择器组件,以:
基于所述内容源的特征低于所述内容源上的数字组件的相应实例的特征,从所述多个候选内容源选择所述内容源。
8.根据任一前述权利要求所述的系统,其中,所述请求是发起所述客户端计算设备和所述内容源之间的会话的请求。
9.根据任一前述权利要求所述的系统,包括:
所述内容选择器组件,以选择第二数字组件;以及
所述源分配组件,以:
识别第二多个候选内容源,所述第二多个候选内容源中的每个包括所述第二数字组件的相应实例;
确定用于所述第二多个候选内容源中的每个的特征;
确定用于所述第二多个候选内容源中的每个的特征低于预定阈值;以及
识别第三多个候选内容源,所述第三多个候选内容源中的每个包括所述第二数字组件的相应实例。
10.根据任一前述权利要求所述的系统,包括:
所述内容选择器组件,以选择第二数字组件;以及
基于确定所述内容源是有效的,从所述内容源请求所述第二数字组件。
11.根据任一前述权利要求所述的系统,包括:
所述自然语言处理器组件,以确定与所述输入音频信号相关联的帐户;
所述源分配组件,以确定用于所述数字组件的相应实例中的每个的特征。
12.根据任一前述权利要求所述的系统,其中,用于所述多个候选内容源中的相应一个的特征基于所述数据处理系统与所述多个候选内容源中的相应一个之间的连接质量或带宽可用性中的至少一个。
13.根据任一前述权利要求所述的系统,其中,用于所述多个候选内容源中的相应一个的特征基于所述客户端计算设备与所述多个候选内容源中的相应一个之间的连接质量或带宽可用性。
14.根据任一前述权利要求所述的系统,其中,用于所述多个候选内容源中的相应一个的特征基于在所述多个候选内容源中的相应一个处存储的所述数字组件的相应实例的质量特征或存储位置。
15.一种在语音激活的基于分组的计算机网络环境中分配内容源的方法,包括:
通过由数据处理系统执行的自然语言处理器组件并且在数据处理系统的接口处接收包括由客户端计算设备的传感器检测到的输入音频信号的数据分组;
由所述自然语言处理器组件解析所述输入音频信号以识别请求和与所述请求相对应的触发关键字;
由内容选择器组件基于所述请求和所述触发关键字中的至少一个来选择数字组件;
由源分配组件在选择所述数字组件之后识别多个候选内容源,所述多个候选内容源中的每个包括所述数字组件的相应实例;
由所述源分配组件确定用于所述多个候选内容源中的每个的特征和所述数字组件的相应实例中的每个的特征;
由所述源分配组件基于用于所述多个候选内容源中的每个的特征和所述数字组件的相应实例中的每个的特征的排名,从所述多个候选内容源选择内容源;以及
由所述源分配组件从所述内容源请求所述数字组件的实例。
16.根据权利要求15所述的方法,包括:
由所述源分配组件将所述数字组件的实例发送到所述客户端计算设备。
17.根据权利要求15或16所述的方法,包括:
由所述源分配组件检测所述多个候选内容源中的一个上的数字组件的第二实例;以及
由所述源分配组件确定用于所述多个内容源中的一个上的数字组件的第二实例的第二特征。
18.根据权利要求15、16或17所述的方法,其中,用于所述多个候选内容源中的相应一个的特征基于所述数据处理系统与所述多个候选内容源中的相应一个之间的连接质量或带宽可用性中的至少一个。
19.根据权利要求15至18中任一项所述的方法,包括:
由所述内容选择器组件选择第二数字组件;
由所述源分配组件识别第二多个候选内容源,所述第二多个候选内容源中的每个包括所述第二数字组件的相应实例;
由所述源分配组件确定用于所述第二多个候选内容源中的每个的特征;
由所述源分配组件确定用于所述第二多个候选内容源中的每个的特征低于预定阈值;以及
由所述源分配组件识别第三多个候选内容源,所述第三多个候选内容源中的每个包括所述第二数字组件的相应实例。
20.根据权利要求15至19中任一项所述的方法,包括:
由所述自然语言处理器组件确定与所述输入音频信号相关联的帐户;
由所述源分配组件确定用于所述数字组件的相应实例中的每个的特征。
CN201780013456.3A 2017-12-08 2017-12-08 计算设备之间的内容源分配 Active CN110140110B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/065458 WO2019112623A1 (en) 2017-12-08 2017-12-08 Content source allocation between computing devices

Publications (2)

Publication Number Publication Date
CN110140110A true CN110140110A (zh) 2019-08-16
CN110140110B CN110140110B (zh) 2024-01-02

Family

ID=60943103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780013456.3A Active CN110140110B (zh) 2017-12-08 2017-12-08 计算设备之间的内容源分配

Country Status (4)

Country Link
US (2) US11388105B2 (zh)
EP (2) EP3519910B1 (zh)
CN (1) CN110140110B (zh)
WO (1) WO2019112623A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3519910B1 (en) * 2017-12-08 2024-02-14 Google LLC Content source allocation between computing devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150278348A1 (en) * 2014-03-28 2015-10-01 Microsoft Corporation Explicit signals personalized search
CN106134131A (zh) * 2012-12-07 2016-11-16 格雷戈里·H·利克莱 对等内容分发网络、方法及管理器
US20170078346A1 (en) * 2015-09-15 2017-03-16 Piksel, Inc. Dynamic Resource Allocation of Multimedia Content Based on Usage Patterns

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1661124A4 (en) * 2003-09-05 2008-08-13 Stephen D Grody PROCESSES AND DEVICES FOR PROVIDING SERVICES THROUGH THE USE OF LANGUAGE IDENTIFICATION
US8954844B2 (en) * 2004-01-13 2015-02-10 Nuance Communications, Inc. Differential dynamic content delivery with text display in dependence upon sound level
US20170237801A1 (en) * 2004-06-30 2017-08-17 Google Inc. Device configuration-based function delivery
US8386469B2 (en) * 2006-02-16 2013-02-26 Mobile Content Networks, Inc. Method and system for determining relevant sources, querying and merging results from multiple content sources
US20070294091A1 (en) * 2006-05-10 2007-12-20 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Responding to advertisement-adverse content or the like
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US20080215581A1 (en) * 2006-10-10 2008-09-04 Bill Messing Content/metadata selection and propagation service to propagate content/metadata to client devices
US8468244B2 (en) * 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
US20090070700A1 (en) * 2007-09-07 2009-03-12 Yahoo! Inc. Ranking content based on social network connection strengths
WO2009146238A1 (en) * 2008-05-01 2009-12-03 Chacha Search, Inc. Method and system for improvement of request processing
US7984161B2 (en) * 2009-06-16 2011-07-19 Microsoft Corporation Optimizing mobile device synchronization with multiple data sources
US8386929B2 (en) * 2010-06-22 2013-02-26 Microsoft Corporation Personal assistant for task utilization
US8798995B1 (en) 2011-09-23 2014-08-05 Amazon Technologies, Inc. Key word determinations from voice data
US10776830B2 (en) * 2012-05-23 2020-09-15 Google Llc Methods and systems for identifying new computers and providing matching services
US9166930B2 (en) * 2012-10-30 2015-10-20 Empire Technology Development Llc Waved time multiplexing
CN113470640B (zh) 2013-02-07 2022-04-26 苹果公司 数字助理的语音触发器
US11030239B2 (en) * 2013-05-31 2021-06-08 Google Llc Audio based entity-action pair based selection
US9516081B2 (en) * 2013-09-20 2016-12-06 Amazon Technologies, Inc. Reduced latency electronic content system
US9413830B2 (en) * 2013-11-11 2016-08-09 Amazon Technologies, Inc. Application streaming service
US20150249848A1 (en) * 2014-02-28 2015-09-03 Apple Inc. Intelligent Video Quality Adjustment
AU2015258993A1 (en) * 2014-05-16 2017-01-12 Symbility Solutions Inc. Asset estimate generation system
US9723056B1 (en) * 2014-05-30 2017-08-01 Amazon Technologies, Inc. Adapting a page based on a client environment
US10297163B2 (en) * 2014-08-29 2019-05-21 Accenture Global Services Limited On-demand learning system
US9380345B2 (en) * 2014-12-01 2016-06-28 Microsoft Technology Licensing, Llc Immersive scaling interactive television
US9392324B1 (en) * 2015-03-30 2016-07-12 Rovi Guides, Inc. Systems and methods for identifying and storing a portion of a media asset
US10078651B2 (en) * 2015-04-27 2018-09-18 Rovi Guides, Inc. Systems and methods for updating a knowledge graph through user input
US9646628B1 (en) * 2015-06-26 2017-05-09 Amazon Technologies, Inc. Noise cancellation for open microphone mode
US20170092278A1 (en) 2015-09-30 2017-03-30 Apple Inc. Speaker recognition
US9928840B2 (en) 2015-10-16 2018-03-27 Google Llc Hotword recognition
US9747926B2 (en) 2015-10-16 2017-08-29 Google Inc. Hotword recognition
EP3160145A1 (en) * 2015-10-20 2017-04-26 Harmonic Inc. Edge server for the distribution of video content available in multiple representations with enhanced open-gop transcoding
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US9826306B2 (en) * 2016-02-22 2017-11-21 Sonos, Inc. Default playback device designation
US20170286133A1 (en) * 2016-03-29 2017-10-05 Microsoft Technology Licensing, Llc One Step Task Completion
US20170302613A1 (en) * 2016-04-19 2017-10-19 Original Skateboards, Llc Environment for Processing and Responding to User Submitted Posts
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10056078B1 (en) * 2016-06-28 2018-08-21 Amazon Technology, Inc. Output of content based on speech-based searching and browsing requests
US10360910B2 (en) * 2016-08-29 2019-07-23 Garmin Switzerland Gmbh Automatic speech recognition (ASR) utilizing GPS and sensor data
US10321376B2 (en) * 2016-09-20 2019-06-11 Blackberry Limited Determining handover parameters
US10491709B2 (en) * 2016-09-22 2019-11-26 Facebook, Inc. Time and location based distribution of additional content for content items
US10127908B1 (en) * 2016-11-11 2018-11-13 Amazon Technologies, Inc. Connected accessory for a voice-controlled device
US11204787B2 (en) * 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
KR102154653B1 (ko) * 2017-01-18 2020-09-10 한국전자통신연구원 토러스 네트워크 기반의 분산 파일 시스템을 위한 파일 접근 경로 설정 방법 및 이를 위한 장치
US10431217B2 (en) * 2017-02-15 2019-10-01 Amazon Technologies, Inc. Audio playback device that dynamically switches between receiving audio data from a soft access point and receiving audio data from a local access point
US10264358B2 (en) * 2017-02-15 2019-04-16 Amazon Technologies, Inc. Selection of master device for synchronized audio
US10839795B2 (en) * 2017-02-15 2020-11-17 Amazon Technologies, Inc. Implicit target selection for multiple audio playback devices in an environment
US10491499B2 (en) * 2017-05-11 2019-11-26 Accenture Global Solutions Limited Analyzing resource utilization of a cloud computing resource in a cloud computing environment
DK201770411A1 (en) * 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US10366692B1 (en) * 2017-05-15 2019-07-30 Amazon Technologies, Inc. Accessory for a voice-controlled device
US10657965B2 (en) * 2017-07-31 2020-05-19 Bose Corporation Conversational audio assistant
EP3519910B1 (en) * 2017-12-08 2024-02-14 Google LLC Content source allocation between computing devices
US20190220474A1 (en) * 2018-01-16 2019-07-18 Entigenlogic Llc Utilizing multiple knowledge bases to form a query response
US10755706B2 (en) * 2018-03-26 2020-08-25 Midea Group Co., Ltd. Voice-based user interface with dynamically switchable endpoints
US11830485B2 (en) * 2018-12-11 2023-11-28 Amazon Technologies, Inc. Multiple speech processing system with synthesized speech styles
US11416921B2 (en) * 2019-08-02 2022-08-16 Kyndryl, Inc. Hyperlink functionality for enabling an auctioning platform
US11130422B1 (en) * 2020-05-13 2021-09-28 Rearden Power LLC Hybrid battery management system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106134131A (zh) * 2012-12-07 2016-11-16 格雷戈里·H·利克莱 对等内容分发网络、方法及管理器
US20150278348A1 (en) * 2014-03-28 2015-10-01 Microsoft Corporation Explicit signals personalized search
US20170078346A1 (en) * 2015-09-15 2017-03-16 Piksel, Inc. Dynamic Resource Allocation of Multimedia Content Based on Usage Patterns

Also Published As

Publication number Publication date
US20210083988A1 (en) 2021-03-18
CN110140110B (zh) 2024-01-02
EP4343550A1 (en) 2024-03-27
US20220303225A1 (en) 2022-09-22
WO2019112623A1 (en) 2019-06-13
EP3519910A1 (en) 2019-08-07
EP3519910B1 (en) 2024-02-14
US11388105B2 (en) 2022-07-12

Similar Documents

Publication Publication Date Title
CN108513705B (zh) 选择性传感器轮询
US11087760B2 (en) Multimodal transmission of packetized data
CN108551766B (zh) 用于与服务提供者的会话建立的自然语言处理
CN108541315B (zh) 语音激活数据分组的数据结构池化
CN102939604B (zh) 用于上下文索引的网络资源的方法和装置
CN108541312A (zh) 分组化数据的多模态传输
CN103078995A (zh) 一种在移动终端使用的可定制的个性化应答方法和系统
KR20200115589A (ko) 컴퓨팅 디바이스간의 액세스 제어 동기화
CN102939774A (zh) 用于上下文索引的网络资源分段的方法和装置
CN108605043A (zh) 分组化音频信号的认证
US20060095259A1 (en) Method and system of enabling intelligent and lightweight speech to text transcription through distributed environment
CN104079640A (zh) 一种用户服务提供方法及系统
CN110140110A (zh) 计算设备之间的内容源分配
US20130151336A1 (en) Method, System and Program Product for Presenting Advertisement
TW548997B (en) Voice portal site system and method
CN110168636A (zh) 对重复的分组化数据传输的检测
JP2006018390A (ja) 携帯電話や携行端末へのニュース情報提供方法
CN115812193A (zh) 经由数字助理传递兼容的补充内容
Boari et al. Coordination for the internet of services: A user-centric approach

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant