掌桥专利:专业的专利平台
掌桥专利
首页

经由数字助理传递兼容的补充内容

文献发布时间:2023-06-19 19:00:17


经由数字助理传递兼容的补充内容

背景技术

不同的计算设备可以具有不同的能力,诸如不同的输入或输出接口或者计算性能能力。

发明内容

本公开总体上涉及经由数字助理控制补充内容的传递。可以响应于在语音输入中检测到的触发词来调用数字助理。数字助理可以处理语音输入以生成经由显示设备输出的图形用户接口(″GUI″)来提供的输出。然而,数字助理的GUI可以仅利用显示设备的一部分,而显示设备的剩余部分保持为空的或者不被数字助理使用。将显示设备的剩余部分留空会导致浪费屏幕实际使用面积(real estate)。本技术解决方案可以控制补充内容的传递,以经由显示设备中响应于语音输入而被调用的数字助理GUI未使用的一部分来提供。本技术解决方案可以选择满足被配置为减少移动计算设备的电池消耗的内容参数的补充内容,从而允许数字助理减少浪费的或空的显示空间,而不需要过多的计算或能源利用。本技术解决方案可以基于内容参数来预处理或过滤补充内容项目以验证补充内容,从而经由由数字助理建立的GUI插槽(slot)提供。

至少一个方面涉及经由数字助理控制补充内容的传递的系统。该系统可以包括包含存储器和一个或多个处理器的数据处理系统。该系统可以包括由数据处理系统执行的数字助理组件。数字助理组件可以经由网络从计算设备接收数据封包。数据封包可以包括由计算设备的麦克风检测到的语音输入。数字助理组件可以处理该数据封包以生成响应于语音输入的动作数据结构。数字助理组件可以生成用于输入到内容选择器组件中、以选择由第三方内容提供商提供的补充内容的内容选择标准。内容选择标准可以包括一个或多个关键词和数字助理内容类型。数字助理组件可以向内容选择器组件发送基于内容选择标准选择补充内容的请求。数字助理组件可以响应于该请求接收由内容选择器组件基于由数字助理组件生成的内容选择标准选择的补充内容项目。数字助理组件可以经由耦接到计算设备的显示设备在第一图形用户接口插槽中提供响应于语音输入的动作数据结构。数字助理组件可以经由耦接到计算设备的显示设备在第二图形用户接口插槽中提供由内容选择器组件选择的补充内容项目。

至少一个方面涉及经由数字助理控制补充内容的传递的方法。该方法可以由包括存储器和一个或多个处理器的数据处理系统来执行。该方法可以由数据处理系统执行的数字助理组件来执行。该方法可以包括数据处理系统经由网络从计算设备接收数据封包。数据封包可以包括由计算设备的麦克风检测到的语音输入。该方法可以包括数据处理系统处理数据封包以生成响应于语音输入的动作数据结构。该方法可以包括数据处理系统生成用于输入到内容选择器组件中、以选择由第三方内容提供商提供的补充内容的内容选择标准。内容选择标准可以包括一个或多个关键词和数字助理内容类型。该方法可以包括数据处理系统向内容选择器组件发送基于内容选择标准选择补充内容的请求。该方法可以包括数据处理系统响应于该请求,接收由内容选择器组件基于由数字助理组件生成的内容选择标准选择的补充内容项目。该方法可以包括数据处理系统经由耦接到计算设备的显示设备在第一图形用户接口插槽中提供响应于语音输入的动作数据结构。该方法可以包括数据处理系统提供由内容选择器组件选择的补充内容项目,以经由耦接到计算设备的显示设备在第二图形用户接口插槽中提供。

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

附图说明

未按比例绘制附图。不同附图中相同的附图标记和名称表示相同的元件。为了清楚起见,不是每一个组件都在每一幅图中标出。在附图中:

图1是根据一种实现方式的经由数字助理控制补充内容的传递的示例系统的图示;

图2是根据一种实现方式的具有插槽的示例用户接口的图示;

图3是根据一种实现方式的经由数字助理控制补充内容的传递的示例方法的图示;

图4是根据一种实现方式的基于内容类型来验证补充内容的示例方法的图示;和

图5是示出可以用于实现本文描述和示出的系统和方法(包括例如图1描绘的系统、图2描绘的用户接口以及图3和图4描绘的方法)的要素的计算机系统的一般架构的框图。

具体实施方式

以下是对与经由数字助理控制补充内容的传递的方法、装置和系统相关的各种概念及其实现方式的更详细描述。上面介绍的和下面更详细讨论的各种概念可以以多种方式中的任何一种来实现。

本技术解决方案总体上针对经由数字助理控制补充内容的传递。具有显示设备的计算设备可以经由显示设备来提供一个或多个图形用户接口(″GUI″)。计算设备可以提供主屏幕或主GUI。当计算设备接收到语音输入时,计算设备可以处理语音输入以检测被配置为调用数字助理的触发关键词或热词。在检测到触发词或热词时,计算设备可以调用数字助理来处理语音输入并响应于语音输入执行动作。数字助理可以处理语音输入以生成输出。数字助理可以经由数字助理GUI提供输出。然而,该数字助理GUI可能不会消耗显示设备的整个主屏幕或光迹区(footprint)。也就是说,数字助理GUI可以仅利用显示设备的一部分,而显示设备或主屏幕的剩余部分可以保持为空的或未被数字助理使用。留下主屏幕或显示设备的剩余部分可能导致浪费屏幕实际使用面积。即使显示器的这一部分不被数字助理的GUI使用,计算设备仍然可能消耗电池资源或其他资源来在这一剩余空间中提供主屏幕的一部分。因此,本技术解决方案可以控制补充内容的传递,以经由显示设备中未由响应于语音输入而被调用的数字助理GUI所使用的一部分来提供。本技术解决方案可以选择满足被建立为减少移动计算设备的电池消耗的内容参数的补充内容,从而允许数字助理减少浪费的或空的GUI空间,而不需要过多的计算或能源利用。

例如,数字助理可以生成GUI,以响应于语音输入显示输出。数字助理GUI可以被设计或构造为紧凑的GUI,其不利用显示设备的可用于提供GUI输出的整个部分。在这种配置中,数字助理可能没有充分利用可用的数字屏幕实际使用面积。本技术解决方案可以利用由紧凑的数字助理GUI产生的空的屏幕空间来提供与数字助理的输出相关的或者增强数字助理的输出的补充内容。

在说明性示例中,语音输入可以包括查询″我附近的工作″。计算设备的预处理器或其他组件可以检测输入查询并调用数字助理来基于输入查询执行动作。数字助理可以响应于输入查询与用户进行对话、执行搜索或执行另外的动作。然而,这样的对话或动作可能不会占据计算设备可访问的整个屏幕用于输出。数字助理可以确定存在浪费的或未使用的屏幕空间。响应于确定存在浪费的或未使用的屏幕空间,数字助理可以生成内容选择标准。内容选择标准可以基于输入查询、基于输入查询而要执行的动作、或者与计算设备或可用屏幕空间相关联的属性。在生成内容选择标准时,数字助理可以基于内容选择标准来发送内容请求。数字助理可以将对补充内容的请求发送到被配置为执行实时内容选择过程的内容选择器组件。响应于该请求,数字助理可以接收所选择的补充内容项目。数字助理可以提供补充内容项目,以在位于或被定位在屏幕中未被数字助理用于与计算设备的用户对话的部分中的图形用户接口插槽中提供或呈现。

数字助理可以自动地为补充内容项目创建GUI插槽。数字助理可以为补充内容项目配置GUI插槽。数字助理可以建立插槽的尺寸。数字助理可以限制可以经由插槽提供的补充内容项目的类型。例如,数字助理可以将补充内容项目的类型限制为助理类型内容项目。助理类型内容可以指与助理生成的插槽兼容的内容项目。数字助理可以控制经由插槽提供的补充内容项目的格式。格式可以包括例如应用安装内容、图像内容、视频内容或音频内容。数字助理可以为插槽建立动作,诸如将补充内容项目固定到主屏幕、使插槽静音、调整插槽的参数或者以其他方式与插槽交互的能力。数字助理可以基于质量信号或内容参数来配置插槽。内容参数可以包括亮度级别、文件大小、帧数、分辨率或音频输出水平。在一些情况下,数字助理可以利用机器学习模型或引擎、基于输入查询和插槽的一个或多个属性或配置来生成内容选择标准。

因此,通过让数字助理自动地为满足内容参数的补充内容项目建立和配置GUI插槽,本技术方案可以减少浪费的屏幕空间,而不使用过多的计算资源。内容参数可以被配置为通过例如限制补充内容项目的亮度级别或文件大小来减少计算和能源消耗。尽管对补充内容项目的选择可以通过单独的系统或基于云的计算基础设施并行发生,但是服务器数字助理可以基于响应于语音输入的动作数据结构的传递来控制补充内容项目的传递。例如,服务器数字助理可以将补充内容项目与动作数据结构组合或打包,以减少网络上的数据传输。服务器数字助理可以向传递添加缓冲器,使得在补充内容项目之前呈现响应于语音输入的动作数据结构,从而避免在呈现动作数据结构时引入延迟或时延。此外,通过自动地生成对补充内容的请求,数字助理可以主动增强或改进动作数据结构,而无需单独的下游请求。

图1示出了经由数字助理控制补充内容的传递的示例系统100。系统100可以包括内容选择基础设施。系统100可以包括数据处理系统102。数据处理系统102可以经由网络105与计算设备140、服务提供商设备154或补充数字内容提供商设备152中的一个或多个通信。网络105可以包括计算机网络,诸如互联网、局域网、广域网、城域网或其他区域网、内联网、卫星网络以及其他通信网络,诸如语音或数据移动电话网络。网络105可以用于访问诸如网页、网站、域名或统一资源定位符的信息资源,可以在至少一个本地计算设备140(诸如膝上型计算机、台式计算机、平板、数字助理设备、智能手机、移动电信设备、便携式计算机或扬声器)上提供、提交(render)、呈现或显示这些信息资源。例如,经由网络105,本地计算设备140的用户可以访问由补充数字内容提供商设备152提供的信息或数据。计算设备140可以包括或不包括显示器;例如,计算设备可以包括有限类型的用户接口,诸如麦克风和扬声器。在一些情况下,计算设备140的主用户接口可以是麦克风和扬声器、或者语音接口。在一些情况下,计算设备140包括耦接到计算设备140的显示设备150,并且计算设备140的主用户接口可以利用显示设备150。

本地计算设备140可以指由用户使用或用户拥有的计算设备140。本地计算设备140可以指位于诸如酒店、办公室、餐馆、零售店、商场、公园的公共场所或诸如住宅的私人场所的计算设备或客户端设备。术语″本地″可以指计算设备位于用户可以使用语音输入或其他输入与计算设备进行交互的地方。本地计算设备可以远离远程服务器,诸如数据处理系统102。因此,本地计算设备140可以位于酒店房间、商场、小房间或用户可以使用语音输入与本地计算设备140进行交互的其他建筑物或住所中,而数据处理系统102可以例如远程地位于数据中心中。本地计算设备140可以被称为数字助理设备。

网络105可以包括或构成显示网络,例如,与内容放置或搜索引擎结果系统相关联的互联网上可用的信息资源的子集、或有资格包括第三方数字分量(digital component)作为数字分量放置行动(campaign)的一部分的信息资源的子集。数据处理系统102可以使用网络105来访问信息资源,诸如可以由本地客户端计算设备140提供、输出、提交或显示的网页、网站、域名或统一资源定位符。例如,经由网络105,本地客户计算设备140的用户可以访问由补充数字内容提供商设备152或服务提供商计算设备154提供的信息或数据。

网络105可以是任何类型或形式的网络,并且可以包括以下任何网络:点对点网络、广播网络、广域网、局域网、电信网络、数据通信网络、计算机网络、ATM(异步传输模式)网络、SONET(同步光网络)网络、SDH(同步数字体系)网络、无线网络和有线网络。网络105可以包括无线链路,诸如红外信道或卫星频段。网络105的拓扑可以包括总线型、星型或环型网络拓扑。网络可以包括使用用于在移动设备之间进行通信的任何协议的移动电话网络,包括高级移动电话协议(″AMPS″)、时分多址(″TDMA″)、码分多址(″CDMA″)、全球移动通信系统(″GSM″)、通用分组无线电服务(″GPRS″)或通用移动电信系统(″UMTS″)。不同类型的数据可以经由不同的协议传输、或者相同类型的数据可以经由不同的协议传输。

系统100可以包括至少一个数据处理系统102。数据处理系统102可以包括至少一个逻辑设备,诸如具有经由网络105与例如计算设备140、补充数字内容提供商设备152(或第三方内容提供商设备、内容提供商设备)或服务提供商设备154(或第三方服务提供商设备)通信的处理器的计算设备。数据处理系统102可以包括至少一个计算资源、服务器、处理器或存储器。例如,数据处理系统102可以包括位于至少一个数据中心中的多个计算资源或服务器。数据处理系统102可以包括多个逻辑上分组的服务器,并且便于分布式计算技术。服务器的逻辑组可以被称为数据中心、服务器群或机器群。服务器也可以是地理上分散的。数据中心或机器群可以作为单个实体来管理、或者机器群可以包括多个机器群。每个机器群中的服务器可以是异构的,即,服务器或机器中的一个或多个可以根据一种或多种类型的操作系统平台进行操作。

机器群中的服务器可以与相关联的存储系统一起被存储在高密度机架系统中,并且位于企业数据中心中。例如,以这种方式合并所述服务器通过将服务器和高性能存储系统定位在本地高性能网络上,可以改善系统可管理性、数据安全性、系统的物理安全性以及系统性能。包括服务器和存储系统的所有或一些数据处理系统102组件的集中化以及将它们与高级系统管理工具相耦接,允许对服务器资源的更高效使用,这节省了电力和处理需求,并减少了带宽使用。

系统100可以包括、访问或以其他方式与至少一个第三方设备交互,诸如服务提供商设备154或补充数字内容提供商设备152。服务提供商设备154可以包括至少一个逻辑设备,诸如具有经由网络105与例如计算设备140、数据处理系统102或补充数字内容提供商设备152通信的处理器的计算设备。服务提供商设备154可以包括至少一个计算资源、服务器、处理器或存储器。例如,服务提供商设备154可以包括位于至少一个数据中心中的多个计算资源或服务器。

补充数字内容提供商设备152可以提供基于音频的数字分量,以供本地计算设备140显示为音频输出数字分量。该数字分量可以被称为赞助数字分量,因为它是由第三方赞助商提供的。该数字分量可以包括对商品或服务的订单,诸如基于语音的消息,其陈述:″您想要我帮您叫辆出租车吗?″。例如,补充数字内容提供商设备152可以包括存储一系列音频数字分量的存储器,这些音频数字分量可以响应于基于语音的查询而被提供。补充数字内容提供商设备152还可以向数据处理系统102提供基于音频的数字分量(或其他数字分量),在数据处理系统102中这些基于音频的数字分量可以被存储在数据储存库124中。数据处理系统102可以选择音频数字分量并向客户端计算设备140提供(或指示补充数字内容提供商设备152向客户端计算设备140提供)这些音频数字分量。基于音频的数字分量可以仅是音频或者可以与文本、图像或视频数据相组合。

服务提供商设备154可以包括数据处理系统102、与数据处理系统102接口或以其他方式与数据处理系统102通信。服务提供商设备154可以包括本地计算设备140、与本地计算设备140接口或者以其他方式与本地计算设备140通信。服务提供商设备154可以包括计算设备140、与计算设备140接口或者以其他方式与计算设备140通信,计算设备140可以是移动计算设备。服务提供商设备154可以包括补充数字内容提供商设备152、与补充数字内容提供商设备152接口或者以其他方式与补充数字内容提供商设备152通信。例如,服务提供商设备154可以向本地计算设备140提供数字分量,以供本地计算设备140执行。服务提供商设备154可以向数据处理系统102提供数字分量,以供数据处理系统102存储。服务提供商设备154可以向数据处理系统102提供与数字分量相关的规则或参数,以在内容数据126数据结构中存储。

本地计算设备140可以包括至少一个传感器144、换能器146、音频驱动器148或本地数字助理142,与至少一个传感器144、换能器146、音频驱动器148或本地数字助理142接口或以其他方式与至少一个传感器144、换能器146、音频驱动器148或本地数字助理142通信。本地计算设备140可以包括显示设备150,诸如光指示器、发光二极管(″LED″)、有机发光二极管(″OLED″)或被配置为提供视觉或光学输出的其他视觉指示器。传感器144可以包括例如环境光传感器、接近传感器、温度传感器、加速度计、陀螺仪、运动检测器、GPS传感器、位置传感器、麦克风或触摸传感器。换能器146可以包括扬声器或麦克风。音频驱动器148可以向硬件换能器146提供软件接口。音频驱动器可以执行由数据处理系统102提供的音频文件或其他指令,以控制换能器146生成对应的声波或音波。

本地数字助理142可以包括一个或多个处理器(例如,处理器510)、逻辑阵列或存储器。本地数字助理142可以检测关键词并基于该关键词执行动作。本地数字助理142可以在将术语传输到数据处理系统102(例如,服务器数字助理组件104)以供进一步处理之前过滤出一个或多个术语或修改这些术语。本地数字助理142可以将由麦克风检测到的模拟音频信号转换为数字音频信号,并且经由网络105将携带数字音频信号的一个或多个数据封包传输到数据处理系统102。在一些情况下,本地数字助理142可以响应于检测到执行这种传输的指令来传输携带输入音频信号的一些或全部的数据封包。该指令可以包括例如将包括输入音频信号的数据封包传输到数据处理系统102的触发关键词或其他关键词或者批准。

本地数字助理142可以对输入音频信号进行预滤波或预处理,以移除音频的某些频率。预滤波可以包括滤波器,诸如低通滤波器、高通滤波器或带通滤波器。可以在频域中应用滤波器。可以使用数字信号处理技术来应用滤波器。滤波器可以被配置为保持与人类语音或人类言语相对应的频率,同时消除落在人类言语的典型频率之外的频率。例如,带通滤波器可以被配置为移除低于第一阈值(例如,70Hz、75Hz、80Hz、85Hz、90Hz、95Hz、100Hz或105Hz)并且高于第二阈值(例如,200Hz、205Hz、210Hz、225Hz、235Hz、245Hz或255Hz)的频率。应用带通滤波器可以减少下游处理中的计算资源利用。在一些情况下,计算设备140上的本地数字助理142可以在将输入音频信号传输到数据处理系统102之前应用带通滤波器,从而减少网络带宽利用。然而,基于计算设备140可用的计算资源和可用的网络带宽,向数据处理系统102提供输入音频信号以允许数据处理系统102执行滤波可能更高效。

本地数字助理142可以应用额外的预处理或预滤波技术,诸如降噪技术,以降低可能干扰自然语言处理器的环境噪声级别。降噪技术可以提高自然语言处理器的准确度和速度,从而提高数据处理系统102的性能,并管理对经由显示设备150提供的图形用户接口的提交。本地数字助理142可以对输入音频信号进行滤波,以创建滤波后的输入音频信号,将滤波后的输入音频信号转换为数据封包,并将该数据封包传输到包括一个或多个处理器和存储器的数据处理系统。

本地数字助理142可以确定在计算设备140上调用或启动应用。本地数字助理142可以从服务器数字助理组件104接收指令或命令,以在计算设备140上调用或启动应用。本地数字助理142可以接收深度链接(deep-link)或其他信息,以便于在计算设备140上对应用的启动或者在计算设备140上对应用的执行。

本地客户端计算设备140可以与端用户相关联,该端用户(经由传感器144)将语音查询作为音频输入录入到本地客户端计算设备140中,并接收计算机生成的语音形式的音频输出,其可以从数据处理系统102(或补充数字内容提供商设备152或服务提供商计算设备154)被提供给本地客户端计算设备140,从换能器146(例如,扬声器)输出。计算机生成的语音可以包括来自真人或计算机生成的语言的录音。

数据储存库124可以包括一个或多个本地或分布式数据库,并且可以包括数据库管理系统。数据储存库124可以包括计算机数据存储装置或存储器,并且可以存储内容数据126、属性128、内容参数130、模板156或账户信息158中的一个或多个。内容数据126可以包括或指与补充内容项目或赞助内容项目相关的信息。内容数据可以包括内容项目、数字分量对象、内容选择标准、内容类型、内容提供商的标识符、关键词或与内容项目相关联的其他信息,内容选择器组件120可以使用这些信息来执行实时内容选择过程。

属性128可以包括或指与GUI插槽相关联的质量、特征或特性。示例属性可以包括GUI插槽的尺寸、GUI插槽的位置。GUI插槽的属性128可以定义经由GUI插槽提供的赞助内容项目的各方面,诸如亮度级别、赞助内容项目的文件大小、赞助内容项目的持续时间(例如,视频或音频持续时间)。

内容参数130可以指针对某一类型的赞助内容项目或补充内容项目的标准的质量信号。补充内容项目的类型可以包括数字助理、搜索、上下文、视频或流线型(streamlining)。不同类型的赞助内容项目可以包括不同的内容参数,这些内容参数被配置为改进内容项目在某一类型的插槽中或者在某一类型的计算设备中的呈现。内容参数可以包括例如亮度级别、文件大小、处理器利用率、持续时间或其他质量信号。例如,数字助理内容项目的内容参数可以包括低于针对上下文内容项目设置的第二亮度阈值的第一亮度阈值。

模板156可以包括结构化数据集中可以由直接动作API 110填充、以推进经由输入音频请求的操作的字段。模板156数据结构可以包括针对不同动作的不同类型的模板。账户信息158可以包括与电子账户相关联的信息。电子账户可以与计算设备140或其用户相关联。账户信息158可以包括例如标识符、历史网络活动、偏好、简档信息或可以有助于生成动作数据结构或选择补充内容项目的其他信息。

数据处理系统102可以包括具有至少一个计算资源或服务器的内容放置系统。数据处理系统102可以包括至少一个接口106、与至少一个接口106接口或或者以其他方式与至少一个接口106通信。数据处理系统102可以包括至少一个自然语言处理器组件108、与至少一个自然语言处理器组件108接口或或者以其他方式与至少一个自然语言处理器组件108通信。数据处理系统102可以包括至少一个直接动作应用编程接口(″API″)110、与至少一个直接动作API 110接口或或者以其他方式与至少一个直接动作API 110通信。数据处理系统102可以包括至少一个查询生成器组件112、与至少一个查询生成器组件112接口或或者以其他方式与至少一个查询生成器组件112通信。数据处理系统102可以包括至少一个插槽注入器组件114、与至少一个插槽注入器组件114接口或或者以其他方式与至少一个插槽注入器组件114通信。数据处理系统102可以包括至少一个传输控制器组件116、与至少一个传输控制器组件116接口或或者以其他方式与至少一个传输控制器组件116通信。接口106、自然语言处理器组件108、直接动作API 110、查询生成器组件112、插槽注入器组件114或传输控制器组件116可以形成服务器数字助理组件104。数据处理系统102可以包括至少一个服务器数字助理组件104、与至少一个服务器数字助理组件104接口或或者以其他方式与至少一个服务器数字助理组件104通信。服务器数字助理组件104可以与一个或多个基于语音的接口或各种数字助理设备或表面通信或接口,以便提供数据或接收数据或者执行其他功能。

数据处理系统102可以包括至少一个验证组件118、与至少一个验证组件118接口或或者以其他方式与至少一个验证组件118通信。数据处理系统102可以包括至少一个内容选择器组件120、与至少一个内容选择器组件120接口或或者以其他方式与至少一个内容选择器组件120通信。数据处理系统102可以包括至少一个数据储存库124、与至少一个数据储存库124接口或或者以其他方式与至少一个数据储存库124通信。

服务器数字助理组件104、接口106、NLP组件108、直接动作API 110、查询生成器组件112、插槽注入器组件114、传输控制器组件116、验证组件118或内容选择器组件120各自可以包括至少一个处理单元或其他逻辑设备,诸如可编程逻辑阵列引擎、或被配置为与数据库储存库124或数据库通信的模块。服务器数字助理组件104、接口106、NLP组件108、直接动作API 110、查询生成器组件112、插槽注入器组件114、传输控制器组件116、验证组件118、内容选择器组件120和数据储存库124可以是分离的组件、单个组件或数据处理系统102的部分。系统100及其组件,诸如数据处理系统102,可以包括硬件元件,诸如一个或多个处理器、逻辑器件或电路。

数据处理系统102可以获得与多个本地计算设备140(或计算设备或数字助理设备)相关联的匿名计算机网络活动信息。本地计算设备140或移动计算设备的用户可以肯定地授权数据处理系统102获得与本地计算设备140或移动计算设备相对应的网络活动信息。例如,数据处理系统102可以提示计算设备140的用户同意获得一种或多种类型的网络活动信息。本地计算设备140可以包括移动计算设备,诸如智能手机、平板、智能手表或可穿戴设备。本地计算设备140的用户的身份可以保持匿名,并且计算设备140可以与唯一标识符(例如,由数据处理系统或计算设备的用户提供的用户或计算设备的唯一标识符)相关联。数据处理系统可以将每个观察与对应的唯一标识符相关联。

数据处理系统102可以包括经设计、配置、构造或操作以使用例如数据封包来接收和发送信息的接口106(或接口组件)。接口106可以使用一种或多种协议(诸如网络协议)来接收和发送信息。接口106可以包括硬件接口、软件接口、有线接口或无线接口。接口106可以便于将数据从一种格式转变或格式化为另一种格式。例如,接口106可以包括应用编程接口,其包括对在诸如软件组件的各种组件之间进行通信的定义。接口106可以经由网络105与本地计算设备140、补充数字内容提供商设备152或服务提供商设备154中的一个或多个通信。

数据处理系统102可以与安装在本地客户端计算设备140上的应用、脚本或程序(诸如app)接口,以将输入音频信号传送到数据处理系统102的接口106,并驱动本地客户端计算设备的组件提交输出音频信号。数据处理系统102可以接收包括或标识音频输入信号的数据封包或其他信号。

数据处理系统102或服务器数字助理组件104可以包括自然语言处理器(″NLP″)组件108。例如,数据处理系统102可以执行或运行NLP组件108来接收或获得音频信号并解析该音频信号。例如,NLP组件108可以提供人类和计算机之间的交互。NLP组件108可以被配置有用于理解自然语言并允许数据处理系统102从人类或自然语言输入中导出含义的技术。NLP组件108可以包括或被配置有基于机器学习(诸如统计机器学习)的技术。NLP组件108可以利用决策树、统计模型或概率模型来解析输入音频信号。NLP组件108可以执行例如诸如命名实体辨识(例如,给定文本流,确定文本中的哪些项目映射到适当的名称,诸如人或地点,以及每个这样的名称的类型是什么,诸如人、位置或组织)、自然语言生成(例如,将来自计算机数据库或语义意图的信息转换为可理解的人类语言)、自然语言理解(例如,将文本转换为更正式的表示,诸如计算机模块可以操纵的一阶逻辑结构)、机器翻译(例如,自动地将文本从一种人类语言翻译成另一种)、词素分割(例如,将词语分为单个的词素并识别词素的类别,基于考虑了语言的词语的词态或结构的复杂性,这是具有挑战性的)、问题回答(例如,确定人类语言问题的答案,其可以是特定的或开放式的)、语义处理(例如,可以在识别出词语并对其含义进行编码以便将识别出的词语与具有相似含义的其他词语关联之后发生的处理)。

NLP组件108可以通过将输入信号与(例如,在数据储存库124中)存储的代表性音频波形集进行比较并选择最接近的匹配,来将音频输入信号转换为辨识出的文本。该音频波形集可以被存储在数据储存库124或数据处理系统102可访问的其他数据库中。代表性波形是跨一大组用户中生成的,然后可以用来自用户的言语样本来扩充。在音频信号被转换为辨识出的文本之后,NLP组件108利用数据处理系统102可以提供了的动作、例如经由跨用户的训练或通过手动指定,将该文本与相关联的词语进行匹配。NLP组件108的各方面或功能可以由数据处理系统102或本地计算设备140来执行。例如,本地NLP组件可以在本地计算设备140上执行,以执行将输入音频信号转换为文本并经由数据封包将该文本传输到数据处理系统102以供进一步自然语言处理的各方面。

音频输入信号可以由本地客户端计算设备140的传感器144或换能器146(例如,麦克风)检测。经由换能器146、音频驱动器148或其他组件,本地客户端计算设备140可以(例如,经由网络105)将音频输入信号提供给数据处理系统102,该音频输入信号可以在数据处理系统102中(例如,通过接口106)被接收到并且被提供给NLP组件108或被存储在数据储存库124中。

本地计算设备140可以包括音频驱动器148、换能器146、传感器144和本地数字助理142。传感器144可以接收或检测输入音频信号(例如,语音输入)。本地数字助理142可以耦接到音频驱动器、换能器和传感器。本地数字助理142可以(例如,通过移除某些频率或抑制噪声)对输入音频信号进行滤波以创建滤波后的输入音频信号。本地数字助理142可以(例如,使用软件或硬件数模转换器)将滤波后的输入音频信号转换为数据封包。在一些情况下,本地数字助理142可以将未经滤波的输入音频信号转换为数据封包,并将该数据封包传输到数据处理系统102。本地数字助理142可以将数据封包传输到数据处理系统102,该数据处理系统102包括执行自然语言处理器组件的一个或多个处理器和存储器、接口、说话者辨识组件和直接动作应用编程接口。

数据处理系统102可以经由接口从本地数字助理142接收数据封包,该数据封包包括由传感器检测到的滤波后的(或未经滤波的)输入音频信号。数据处理系统102可以处理数据封包以执行动作或以其他方式以对语音输入做出响应。在一些情况下,数据处理系统102可以从输入音频信号中识别出声学签名(acoustic signature)。数据处理系统102可以基于在数据储存库中的查找(例如,查询数据库)来识别与声学签名相对应的电子账户。响应于对电子账户的识别,数据处理系统102可以建立会话以及要在会话中使用的账户。该账户可以包括具有一个或多个策略的简档。数据处理系统102可以解析输入音频信号以识别请求和与该请求相对应的触发关键词。

数据处理系统102可以向本地计算设备140的本地数字助理142提供状态。本地计算设备140可以接收状态的指示。音频驱动器可以接收简档的状态的指示,并且基于该指示生成输出信号。音频驱动器可以将该指示转换为输出信号,诸如声音信号或声学输出信号。音频驱动器可以驱动换能器146(例如,扬声器)基于由音频驱动器生成的输出信号来生成声音。

在一些情况下,本地计算设备140可以包括光源。光源可以包括一个或多个LED、灯、显示器或被配置为提供光学或视觉输出的其他组件或设备。本地数字助理142可以使光源提供与该状态相对应的视觉指示。例如,视觉指示可以是打开的状态指示灯、灯颜色的变化、具有一种或多种颜色的灯图案、或者文本或图像的视觉显示。

NLP组件108可以获得输入音频信号。响应于本地数字助理142检测到触发关键词,数据处理系统102的NLP组件108可以接收具有语音输入或输入音频信号的数据封包。触发关键词可以是唤醒信号或热词,其指示本地计算设备140将随后的音频输入转换为文本,并将该文本传输到数据处理系统102以供进一步处理。

在接收到输入音频信号后,NLP组件108可以识别至少一个请求或与该请求相对应的至少一个关键词。请求可以指示输入音频信号的意图或主旨(subject matter)。关键词可以指示可能采取的动作的类型。例如,NLP组件108可以解析输入音频信号以识别晚上离家去参加晚餐和观看电影的至少一个请求。触发关键词可以包括指示要采取的动作的至少一个词语、短语、词根或部分词语或者派生词。例如,来自输入音频信号的触发关键词″去(go)″或″要去(to go to)″可以指示需要交通(transport)。在此示例中,输入音频信号(或识别出的请求)不直接表达交通的意图,然而触发关键词指示该运送是该请求所指示的至少一个其他动作的辅助动作。在另一个示例中,语音输入可以包括搜索查询,诸如″查找我附近的工作″。

NLP组件108可以解析输入音频信号,以识别、确定、检索或以其他方式获得请求和与该请求相关联的一个或多个关键词。例如,NLP组件108可以对输入音频信号应用语义处理技术来识别关键词或请求。NLP组件108可以将语义处理技术应用于输入音频信号,以识别关键词或包括一个或多个关键词(诸如第一关键词和第二关键词)的短语。例如,输入音频信号可以包括语句″我想购买有声书″。NLP组件108可以将语义处理技术或其他自然语言处理技术应用于包括语句的数据封包,以识别关键词或短语″想要购买″和″有声书″。NLP组件108可以进一步识别多个关键词,诸如购买和有声书。例如,NLP组件108可以确定短语包括第一关键词和第二关键词。

NLP组件108可以过滤输入音频信号以识别触发关键词。例如,携带输入音频信号的数据封包可以包括″如果我可以找到能帮我去机场的人就太好了″,在这种情况下,NLP组件108可以过滤出如下一个或多个术语:″如果″、″我″、″可以″、″找到″、″能″、″帮″、″的″、″人″、″就″或″太好了″。通过过滤掉这些术语,NLP组件108可以更准确和可靠地识别出触发关键词,诸如″去机场″,并确定这是对出租车或顺风车(ride sharing)服务的请求。

在一些情况下,NLP组件可以确定携带输入音频信号的数据封包包括一个或多个请求。例如,输入音频信号可以包括语句″我想购买有声书和对电影的月度订阅″。NLP组件108可以确定这是对音频书和流式多媒体服务的请求。NLP组件108可以确定这是单个请求还是多个请求。NLP组件108可以确定这是两个请求:对提供有声书的服务提供商的第一请求,以及对提供电影流的服务提供商的第二请求。在一些情况下,NLP组件108可以将多个所确定的请求组合为单个请求,并将该单个请求传输到服务提供商设备154。在一些情况下,NLP组件108可以将单独的请求传输到另外的服务提供商设备、或者将两个请求分别传输到同一服务提供商设备154。

数据处理系统102可以包括直接动作API 110,其被设计和构造为基于语音输入中的一个或多个关键词来生成响应于请求的动作数据结构。数据处理系统102的处理器可以调用直接动作API 110来执行脚本,该脚本生成要提供给服务提供商设备154或其他服务提供商的数据结构,从而获得数字分量、订购服务或产品(诸如来自汽车共享(car share)服务的汽车或有声书)。直接动作API 110可以从数据储存库124获得数据,以及在端用户的同意下从本地客户端计算设备140接收到的数据,以确定位置、时间、用户账户、后勤(logistical)或其他信息,从而允许服务提供商设备154执行操作,诸如从汽车共享服务预订汽车。使用直接动作API 110,数据处理系统102还可以与服务提供商设备154通信,以通过在此示例中进行汽车共享搭载预订来完成转换。

直接动作API 110可以执行满足端用户的意图的指定动作,如由数据处理系统102确定的。该动作可以包括使用搜索引擎执行搜索、启动应用、订购商品或服务、提供所请求的信息或者控制网络连接的设备(例如,物联网设备)。取决于在其输入中指定的动作以及数据储存库124中的参数或规则,直接动作API 110可以执行标识满足用户请求所需的参数的代码或对话脚本。这种代码可以例如在数据储存库124中查找附加信息(诸如家庭自动化服务或第三方服务的名称),或者它可以提供音频输出,用于在本地客户端计算设备140处呈现,以向端用户进行询问,诸如所请求的出租车的预期目的地。直接动作API 110可以确定参数,并且可以将信息打包到动作数据结构中,该动作数据结构然后可以被发送到诸如内容选择器组件120的另外的组件或者服务提供商计算设备154以被实现。

直接动作API 110可以从NLP组件108或数据处理系统102的其他组件接收指令或命令,以生成或构建动作数据结构。直接动作API 110可以确定动作的类型,以便从存储在数据储存库124中的模板储存库156中选择模板。动作的类型可以包括例如服务、产品、预订、门票、多媒体内容、有声书、管理订阅、调整订阅、转移数字货币、购买或音乐。动作的类型还可以包括服务或产品的类型。例如,服务类型可以包括汽车共享服务、送餐服务、洗衣服务、佣人服务、修理服务、家政服务、设备自动化服务或媒体流服务。产品的类型可以包括,例如,衣服、鞋子、玩具、电子产品、计算机、书籍或珠宝。预订的类型可以包括,例如,晚餐预订或发廊预约。门票的类型可以包括例如电影票、体育场馆票或机票。在一些情况下,服务、产品、预订或门票的类型可以基于价格、位置、运输类型、可用性或其他属性来分类。

NLP组件108可以解析输入音频信号,以识别请求和与该请求相对应的触发关键词,并向直接动作API 110提供该请求和触发关键词,以使直接动作API基于触发关键词来生成响应于该请求的第一动作数据结构。在识别出请求的类型后,直接动作API 110可以访问模板库156中对应的模板。模板可以包括结构化数据集中可以由直接动作API 110填充、以推进经由服务提供商设备154的本地计算设备140检测到的输入音频所请求的操作(诸如派遣出租车在搭载位置搭载端用户并将端用户运送到目的地位置的操作)的字段。直接动作API 110可以在模板储存库156中执行查找,以选择匹配触发关键词和请求的一个或多个特性的模板。例如,如果请求对应于对去往目的地的汽车或乘车的请求,则数据处理系统102可以选择汽车共享服务模板。汽车共享服务模板可以包括以下字段中的一个或多个:设备标识符、搭载地点、目的地位置、乘客数量或服务类型。直接动作API 110可以用值填充字段。为了用值填充字段,直接动作API 110可以从计算设备140的一个或多个传感器144或设备140的用户接口查验(ping)、轮询(poll)或以其他方式获得信息。例如,直接动作API 110可以使用诸如GPS传感器的位置传感器来检测源位置。直接动作API 110可以通过向计算设备140的端用户提交调查、提示或查询来获得额外的信息。直接动作API可以经由数据处理系统102的接口106和计算设备140的用户接口(例如,音频接口、基于语音的用户接口、显示器或触摸屏)来提交调查、提示或查询。因此,直接动作API 110可以基于触发关键词或请求来选择用于动作数据结构的模板,用由一个或多个传感器144检测到的或经由用户接口获得的信息来填充模板中的一个或多个字段,并且生成、创建或以其他方式构建动作数据结构,以便于服务提供商设备154执行操作。

为了构建或生成动作数据结构,数据处理系统102可以识别所选模板中的一个或多个字段以用值填充。这些字段可以用数值、字符串、统一码(Unicode)值、布尔逻辑、二进制值、十六进制值、标识符、位置坐标、地理区域、时间戳或其他值来填充。可以对字段或数据结构本身进行加密或屏蔽,以维护数据安全。

在确定了模板中的字段后,数据处理系统102可以识别用于字段的值,以填充模板的字段,从而创建动作数据结构。数据处理系统102可以通过对数据储存库124执行查找或其他查询操作来获得、检索、确定或以其他方式识别用于字段的值。

在一些情况下,数据处理系统102可以确定数据储存库124中不存在用于字段的信息或值。数据处理系统102可以确定存储在数据储存库124中的信息或值是过期的、陈旧的或者不适于构建响应于由NLP组件108识别出的触发关键词和请求的动作数据结构的目的(例如,本地客户端计算设备140的位置可以是旧的位置而不是当前位置;账户可能过期了;目标餐馆可能已经搬到新的位置;物理活动信息;或交通方式)。

如果数据处理系统102确定其当前无权访问数据处理系统102的存储器中用于模板的字段的值或信息,则数据处理系统102可以获取该值或信息。数据处理系统102可以通过查询或轮询本地客户端计算设备140的一个或多个可用传感器、向本地客户端计算设备140的端用户提示该信息或使用HTTP协议访问在线的基于网络的资源,来获取或获得该信息。例如,数据处理系统102可以确定其没有本地客户端计算设备140的当前位置,这可能是模板的必需字段。数据处理系统102可以向本地客户端计算设备140查询位置信息。数据处理系统102可以请求本地客户端计算设备140使用一个或多个位置传感器144(诸如全球定位系统传感器、WIFI三角测量、蜂窝塔三角测量、蓝牙信标、IP地址或其他位置感测技术)提供位置信息。

在一些情况下,数据处理系统102可以使用第二简档来生成动作数据结构。数据处理系统102然后可以确定使用第二简档生成的动作数据结构是否符合第一简档。例如,第一简档可以包括阻止一种类型的动作数据结构(诸如经由本地计算设备140从电子在线零售商购买产品)的策略。由本地计算设备140检测到的输入音频可能已经包括了从电子在线零售商购买产品的请求。数据处理系统102可能已经使用了第二简档来识别与电子在线零售商相关联的账户信息,然后生成了购买产品的动作数据结构。该动作数据结构可以包括与电子账户相对应的账户标识符,该电子账户与由数据处理系统102识别出的声学签名相关联。

数据处理系统102可以识别与提供语音输入的用户相关联的账户。数据处理系统可以接收由本地计算设备140检测到的音频输入信号,识别声学签名,并且识别与该声学签名相对应的电子账户。数据处理系统102可以基于在数据储存库124中的账户数据结构158中的查找来识别与声学签名相对应的电子账户。数据处理系统102可以访问存储在数据储存库124中(诸如在账户数据结构158中)的声学签名。数据处理系统102可以被配置有一种或多种说话者辨识技术,诸如模式辨识。数据处理系统102可以被配置有文本独立说话者辨识过程。在文本独立说话者辨识过程中,用于建立电子账户的文本可以不同于用于稍后辨识说话者的文本。因此,数据处理系统102可以执行说话者辨识或语音辨识,以识别与输入音频信号的签名相对应的电子账户。

例如,数据处理系统102可以识别输入音频信号中输入言语源之间不同的声学特征。声学特征可以反映能够对应于唯一输入言语源的物理或学习到的模式。声学特征可以包括例如音调或说话风格。用于识别、处理和存储签名的技术可以包括频率估计(例如,瞬时基频或离散能量分离算法)、隐马尔可夫模型(例如,用于对随机改变的系统进行建模的随机模型,其中未来状态取决于当前状态,并且其中系统被建模为具有未观察到的状态)、高斯混合模型(例如,表示为高斯分量密度的加权和的参数概率密度函数)、模式匹配算法、神经网络、矩阵表示、向量量化(例如,信号处理中允许通过原型向量的分布对概率密度函数进行建模的量化技术)或决策树。其他技术可以包括反说话者技术,诸如同类群(cohort)模型和世界模型。数据处理系统102可以被配置有机器学习模型,以便于模式辨识或适应说话者特性。

数据处理系统102可以包括查询生成器组件112,其经设计、构造和操作为基于语音输入来生成查询或内容选择标准。查询生成器组件112可以是服务器数字助理组件104的一部分或与其交互。例如,服务器数字助理组件104可以包括查询生成器组件112。查询生成器组件112可以生成用于对内容选择器组件120的输入的内容选择标准。内容选择器组件120可以使用内容选择标准来选择由第三方内容提供商(例如,补充数字内容提供商设备152)提供的补充内容。查询生成器组件112可以生成具有一个或多个关键词和数字助理内容类型的内容选择标准。

查询生成器组件112可以从NLP组件108接收由NLP组件108在从计算设备140接收到的输入音频信号中识别出的一个或多个关键词或请求的指示。查询生成器组件112可以处理该一个或多个关键词和请求,以确定是否生成向补充数字内容提供商设备152请求补充内容的请求。补充内容可以指代或包括赞助内容。例如,补充数字内容提供商可以对要在实时内容选择过程中选择的内容项目出价,以经由计算设备140提供给用户。

查询生成器组件112可以基于语音输入中识别出的一个或多个关键词来生成内容选择标准。内容选择标准可以包括语音输入中的关键词。查询生成器组件112可以进一步扩展或拓宽关键词以选择附加的关键词。

查询生成器组件112可以基于账户数据结构158中存储的简档信息来识别附加内容选择标准。例如,查询生成器组件112可以接收与用户或语音输入相关联的账户的指示,并检索账户信息,诸如与网络活动相关联的历史信息(例如,搜索历史、点击或选择执行)。查询生成器组件112可以基于与网络活动相关联的历史信息来生成关键词或其他内容选择标准。例如,如果搜索历史包括对″我附近的工作″的搜索查询,则查询生成器组件112可以生成基于术语″工作″的关键词和基于计算设备140的位置的关键词。

查询生成器组件112可以访问与计算设备140的传感器144相关联的信息,以生成内容选择标准。查询生成器组件112可以查验或轮询计算设备140的一个或多个传感器144,以获得诸如位置信息、运动信息或可以有助于生成内容选择标准的任何其他信息的信息。

查询生成器组件112可以查验或轮询计算设备140以获得与计算设备140相关联的信息,诸如设备配置信息。设备配置信息可以包括设备的类型、设备的可用用户接口、剩余电池信息、网络连接信息、显示设备150信息(例如,显示器的大小或显示器的分辨率)或者计算设备140的厂商和型号。查询生成器组件112可以使用该设备配置来生成用于输入到内容选择组件120中的内容选择标准。通过基于设备配置信息生成内容选择标准,数据处理系统102可以便于基于与计算设备140相关联的设备配置信息来选择补充或赞助内容项目。因此,数据处理系统102可以选择与设备配置信息兼容或者以其他方式针对设备配置优化的补充内容项目(例如,减少计算设备140的能量或计算资源利用)。

查询生成器组件112可以生成内容选择标准,该内容选择标准指示选择以经由计算设备140来提供的赞助或补充内容的类型。赞助内容的类型可以包括例如:数字助理、搜索、流式视频、流式音频或上下文内容。数字助理内容可以指被配置为经由由计算设备140上的本地数字助理142生成的图形用户接口插槽来提供的内容。数字助理内容可以满足某些质量信号或内容参数,这些质量信号或内容参数优化数字助理内容,以在由本地数字助理142生成的图形用户接口插槽中提供。这些内容参数可以包括例如图像大小、亮度级别、文件大小、网络带宽利用率、视频持续时间或音频持续时间。数字助理内容的示例可以包括助理应用、聊天机器人、图像内容、视频内容或音频内容。

搜索类型的内容可以指被配置为在网络浏览器上与搜索结果一起提供的赞助内容。搜索内容可以包括纯文本内容或文本和图像内容。搜索内容可以包括到登录到网页的超链接。

流式视频类型的内容可以指被配置为在视频开始前、视频结束时或视频中断期间播放的视频内容。流式视频类型内容可以包括视频和音频。流式音频类型内容项目可以指在流式音频中断之前、之后或期间播放的内容项目。上下文内容可以指与由内容发布者发布的网页一起显示的内容项目,诸如新闻文章、博客或其他在线文档。

查询生成器组件112可以基于与在其中将提供补充或赞助内容的图形用户接口(″GUI″)插槽相关联的属性来生成内容选择标准。在一些情况下,内容插槽的属性可以是预确定或预配置的。内容插槽的属性可以被存储在数据储存库124中的属性数据结构128中。属性可以包括例如插槽的尺寸、显示设备150的分辨率或其他信息。属性可以基于计算设备140的类型来设置。例如,膝上型计算设备可以具有与智能手机计算设备不同的一个或多个属性;或者智能手机计算设备可以具有与台式计算设备不同的一个或多个属性。

数据处理系统102可以包括插槽注入器组件114,其被设计、构造和操作为在计算设备140的显示设备150上生成、创建或以其他方式提供图形用户接口插槽。本地数字助理142可以在由插槽注入器组件114生成的GUI插槽中提供赞助或补充内容项目。服务器数字助理组件104可以包括插槽注入器组件114、或者以其他方式与插槽注入器组件114接口或通信。

插槽注入器组件114可以为计算设备140上的GUI插槽建立一个或多个属性。插槽注入器组件114可以使用各种技术来建立属性。例如,插槽注入器组件114可以从属性数据结构128获得被预配置或分配给计算设备140的属性。属性可以基于计算设备140的类型来预配置或分配。例如,属性数据结构128可以包括插槽尺寸到显示设备150的大小的映射。因此,插槽注入器组件114可以识别显示设备150的大小,并选择对应的插槽大小。插槽注入器组件114可以基于从计算设备140接收到设备配置信息来确定显示设备150的大小。插槽注入器组件114可以基于计算设备140的厂商或型号来确定为插槽建立的大小。例如,属性数据结构128可以包括设备厂商和型号到插槽大小的映射。

当经由计算设备140上的GUI插槽提供内容项目时,插槽注入器组件114可以为GUI插槽确定降低能耗的属性。可以降低能耗的属性可以包括例如内容项目的亮度级别、内容项目的文件大小或内容项目的持续时间(例如,视频或音频内容项目的长度)。在内容项目是应用(诸如助理应用或聊天机器人应用)的一些情况下,属性可以包括应用的处理器利用率水平。

插槽式注入器组件114可以基于计算设备140的特性来确定能耗相关属性。例如,如果计算设备正由电池供电并且当前未被充电,则插槽注入器组件114可以为插槽选择减少电池利用和能耗的属性。然而,如果计算设备140连接到诸如电源插座的电源,则插槽式注入器组件114可以选择允许选择能够消耗更多能量的内容项目的属性。

数据处理系统102可以接收计算设备从电池接收电力且未连接到充电器的指示。响应于该指示,数据处理系统102可以生成图形用户接口插槽(例如,图2中描绘的GUI插槽202),该图形用户接口插槽具有相对于消耗更多能量的第二属性降低能耗的第一属性。例如,第二属性可以具有较高的亮度级别。第二属性可以用于生成动作数据结构的GUI插槽(例如,图2中描绘的第二GUI插槽204)。相对于导致计算设备使用更多能量的不同类型的补充内容(例如,搜索内容、视频流内容或上下文内容)的属性,数字助理内容类型的属性可以减少用于经由计算设备呈现补充内容的能量。这些属性可以涉及持续时间、文件大小、亮度级别或数字内容的影响计算资源、网络或能耗的其他特性。

因此,数据处理系统102(例如,经由插槽注入器组件114)可以生成第二图形用户接口插槽。插槽注入器组件114可以在计算设备140的主屏幕(诸如智能手机主屏幕)中生成GUI插槽。主屏幕可以指由计算设备140经由显示设备150输出的主要屏幕、开始屏幕或默认GUI。主屏幕可以显示到应用的链接、设置和通知。数据处理系统102可以生成具有为智能手机显示器配置的属性的图形用户接口插槽。

查询生成器组件112可以基于由插槽注入器组件114建立的插槽的属性来生成内容选择标准。查询生成器组件112可以在内容选择标准中包括插槽的属性。内容选择标准可以包括插槽的属性。查询生成器组件112可以基于插槽的属性来选择内容的类型。例如,由插槽注入器组件114建立的属性可以指示与插槽兼容的内容的类型。例如,如果插槽注入器组件114被服务器数字助理组件104调用来生成GUI插槽以连同响应于语音输入而生成的动作数据结构一起提供补充内容,则内容类型可以是数字助理类型。

服务器数字助理组件104可以向内容选择器组件120发送对内容的请求。服务器数字助理组件104可以传输向第三方内容提供商请求补充或赞助内容的请求。服务器数字助理组件104可以将查询生成器组件112生成的内容选择标准传输到内容选择器组件120。内容选择器组件120可以执行内容选择过程来选择补充内容项目或赞助内容项目。内容项目可以是赞助或补充数字分量对象。内容项目可以由第三方内容提供商(诸如补充数字内容提供商设备152)提供。补充内容项目可以包括对商品或服务的广告。内容选择器组件120可以响应于从服务器数字助理组件104接收到对内容的请求,使用内容选择标准来选择内容项目。

服务器数字助理组件104可以从内容选择器组件120接收补充或赞助内容项目。服务器数字助理组件104可以接收响应于请求的内容项目。服务器数字助理组件104可以向补充数字内容提供商设备152提供补充内容项目,以经由由插槽注入器组件114生成的GUI插槽来提供。然而,在一些情况下,在直接动作API 110生成响应于从计算设备140接收到的语音输入音频信号的动作数据结构之前,服务器数字助理组件104可以从内容选择器组件120接收内容项目。与内容选择器组件120在实时内容选择过程中使用内容选择标准选择内容项目相比,直接动作API 110可能花费更多的时间来生成动作数据结构。例如,直接动作API110生成动作数据结构所做出的计算量可以大于内容选择器组件120选择内容项目所做出的计算量。在另一个示例中,相对于直接动作API 110所使用的计算基础设施,内容选择器组件120所使用的计算基础设施可以更强大、强健或可扩展。在又一个示例中,与直接动作API 110选择动作数据结构相比,内容选择器组件120在选择内容项目时可以更高效。

因此,由于各种技术挑战,直接动作API 110生成动作数据结构的时间可能比内容选择器组件120选择内容项目的时间长。此外,由于生成动作数据结构中的时延,数据处理系统102可以在动作数据结构之前将内容项目传输到计算设备140以供呈现。然而,在动作数据结构之前传输内容项目会在呈现动作数据结构时引入进一步的延迟,因为计算设备140可能利用计算资源来提交和提供内容项目,这会延迟动作数据结构的呈现。相对于首先提供动作数据结构或与内容项目同时提供动作数据结构,在动作数据结构之前呈现赞助或补充内容项目会提供差的用户体验或导致差的用户接口。例如,为了提供改进的用户体验,数据处理系统102可以同时(例如,在0.01秒、0.05秒、0.1秒、0.2秒、0.3秒、0.4秒或0.5秒内)提供动作数据结构和补充内容项目两者。另一个技术挑战包括向计算设备140发送多次传输、或者执行多个远程过程调用。在一次传输中发送动作数据结构而在第二次传输中发送内容项目会导致网络中的冗余或低效,而且计算设备140或本地数字助理142必须接收和处理多次传输。

因此,本技术解决方案包括传输控制器组件116,其被设计、构建和操作为接收动作数据结构和内容项目并控制传递或传输,以减少网络利用、能耗或处理器利用,同时改善计算设备140的用户接口和用户体验。服务器数字助理组件104可以包括、访问传输控制器组件116、与传输控制器组件116接口或以其他方式与传输控制器组件116通信。传输控制器组件116可以是服务器数字助理组件104的一部分。为了解决由于传输动作数据结构和内容项目而导致的一个或多个技术挑战,传输控制器组件116可以控制动作数据结构或内容项目的传输。

例如,传输控制器组件116可以接收动作数据结构和补充内容项目两者。传输控制器组件116可以从直接动作API 110接收动作数据结构。传输控制器组件116可以从内容选择器组件120接收补充内容项目。传输控制器组件116可以确定不在动作数据结构之前传输内容项目。传输控制器组件116可以确定不在与动作数据结构分离的传输中传输内容项目。相反,例如,传输控制器组件116可以确定将动作数据结构与内容项目组合以生成组合的数据封包。传输控制器组件116可以经由网络105、通过一次传输将组合的数据封包作为一组数据封包传输到计算设备140。通过生成要传输到计算设备140的组合的数据封包,传输控制器组件116可以通过促进计算设备140同时呈现内容项目和动作数据结构来改善用户接口或用户体验。通过生成组合的数据封包,传输控制器组件116可以减少经由网络105到计算设备140的分离的传输的数量,从而提高网络传输效率。此外,与多次传输相比,单次传输也可以提高网络安全性。因此,传输控制器组件116可以被配置有等待传输动作数据结构或内容项目直到两者都被接收到为止、然后生成组合的数据封包以传输到计算设备140的策略。

组合的数据封包可以包括具有报头的数据封包,并且有效载荷可以包括动作数据结构和内容项目两者。组合的数据封包可以包括计算设备140如何提供动作数据结构和内容项目的指令。例如,组合的数据封包可以包括用于本地数字助理142的指令,该指令使得本地数字助理142在由本地数字助理142针对动作数据结构生成的第一GUI插槽中提供动作数据结构,并且在由本地数字助理142针对内容项目生成的第二GUI插槽中提供补充或赞助内容项目。

在一些情况下,传输控制器116可以在分离的数据传输中传输动作数据结构和内容项目,但在传输中添加延迟或缓冲,以减少动作数据结构的传输和内容项目的传输之间的延迟。例如,如果传输控制器组件116在从直接动作API 110接收动作数据结构之前从内容选择器组件120接收内容项目,则传输控制器组件116可以向内容项目传输添加延迟或缓冲。传输控制器组件116可以被预配置有缓冲或延迟,诸如0.01秒、0.02秒、0.05秒、0.1秒或便于减少内容项目的传输和动作数据结构的传输之间的延迟或时间差的其他时间间隔。传输控制器组件116可以基于内容选择器组件120和直接动作API 110的历史执行来自动地确定缓冲或延迟。例如,相对于直接动作API 110生成响应于语音输入的动作数据结构,传输控制器组件116可以确定内容选择器组件120在经由实时内容选择过程选择赞助内容项目时平均快0.1秒。传输控制器组件116可以将0.1秒的缓冲或延迟添加到赞助内容项目的传输中,以减少动作数据结构的传输和内容项目的传输之间的时间差。

在一些情况下,传输控制器组件116可以等待传输内容项目,直至已经生成了动作数据结构为止。传输控制器组件116可以在分离的传输中分别传输动作数据结构和内容项目,但是对传输进行重新排序,使得动作数据结构在内容项目之前被传输。

传输控制器组件116可以传输内容项目,无需等待接收动作数据结构。本地数字助理142可以被配置为等待提交或提供内容项目,直到本地数字助理142接收到动作数据结构为止。传输控制器组件116可以与将指令内容项目一起传输,以指示本地数字助理142在接收到内容项目时不提交内容项目,而是等待直到生成和传输了动作数据结构,使得本地数字助理142可以在内容项目之前或与内容项目同时提交或提供动作数据结构。

因此,例如,服务器数字助理组件104可以以与响应于语音输入生成动作数据结构重叠的方式向内容选择器组件120发送选择补充内容的请求。服务器数字助理组件104可以在服务器数字助理组件104仍在生成动作数据结构时发送该请求。例如,查询生成器组件112可以在直接动作API 110已经完成了生成动作数据结构之前生成内容选择标准和对内容的请求。查询生成器组件112可以继续以与直接动作API 110生成动作数据结构重叠的方式发送对内容的请求以及所生成的内容选择标准。查询生成器组件112可以继续发送对内容的请求,而无需等待直接动作API 110生成动作数据结构。服务器数字助理组件104可以在直接动作API 110生成动作数据结构之前,从内容选择器组件120接收补充内容项目。传输控制器组件116可以确定延迟向计算设备140传递或传输补充内容项目,直到完成了动作数据结构的生成。传输控制器组件116可以响应于动作数据结构的生成,向计算设备提供动作数据结构和补充内容项目以供呈现。

如果查询生成器组件112向内容选择器组件120以与动作数据结构的生成重叠的方式发送选择补充内容的请求,则传输控制器组件116可以在直接动作API 110生成动作数据结构之前,从内容选择器组件120接收所选补充内容项目。传输控制器组件116可以指示计算设备140响应于在第一图形用户接口插槽中呈现动作数据结构,在第二图形用户接口插槽中提供补充内容项目。例如,传输控制器组件116可以在从内容选择器组件120接收到补充内容项目时独立地传输补充内容项目,但是包括使本地数字助理142响应于在第一GUI插槽中呈现动作数据结构、在第一GUI插槽中呈现动作数据结构之后或同时,仅在第二GUI插槽中呈现补充内容项目的指令。

数据处理系统102可以包括内容选择器组件120,其被设计、构造或操作为选择补充内容项目(或赞助内容项目或数字分量对象)。为了选择赞助内容项目或数字分量,内容选择器组件120可以使用所生成的内容选择标准来基于宽泛匹配(broad match)、精准匹配或短语匹配(phrase match)来选择匹配的赞助内容项目。例如,内容选择器组件120可以分析、解析或以其他方式处理候选赞助内容项目的主题,以确定候选赞助内容项目的主题是否对应于由查询生成器组件112生成的内容选择标准的关键词或短语的主题。内容选择器组件120可以使用图像处理技术、字符辨识技术、自然语言处理技术或数据库查找来识别、分析或辨识候选数字分量的语音、音频、术语、字符、文本、符号或图像。候选赞助内容项目可以包括指示候选数字分量的主题的元数据,在这种情况下,内容选择器组件120可以处理元数据以确定候选数字分量的主题是否对应于输入音频信号。由补充数字内容提供商设备152提供的内容行动可以包括内容选择标准,数据处理系统102可以将该内容选择标准与在第二简档层或第一简档层中指示的标准进行匹配。

内容提供商152可以在建立包括数字分量的内容行动(content campaign)时提供附加指示符。补充数字内容提供商设备152可以提供内容选择器组件120可以通过使用关于候选数字分量的信息执行查找来识别的内容行动或内容组级别的信息。例如,候选数字分量可以包括唯一标识符,其可以映射到内容组、内容行动或内容提供商。内容选择器组件120可以基于存储在数据储存库124中的内容数据126中的信息,来确定关于补充数字内容提供商设备152的信息。

响应于该请求,内容选择器组件120可以从数据储存库124或与补充数字内容提供商设备152相关联的数据库中选择数字分量对象。补充数字内容可以由不同于服务提供商设备154的补充数字内容提供商设备提供。补充数字内容可以对应于不同于动作数据结构的服务类型的服务类型(例如,出租车服务对送餐服务)。计算设备140可以与补充数字内容交互。计算设备140可以接收响应于数字分量的音频。计算设备140可以接收选择与数字分量对象相关联的超链接或其他按钮、使得或允许计算设备140识别补充数字内容提供商设备152或服务提供商设备154的指示,从补充数字内容提供商设备152或服务提供商设备154请求服务,指示补充数字内容提供商设备152或服务提供商设备154执行服务,向补充数字内容提供商设备152或服务提供商设备154发送信息或者询问补充数字内容提供商设备152或服务提供商设备154。

补充数字内容提供商设备152可以建立电子内容行动。电子内容行动可以作为内容数据126被存储在数据储存库124中。电子内容行动可以指对应于共同主题的一个或多个内容组。内容行动可以包括分层数据结构,该结构包括内容组、数字分量数据对象和由内容提供商提供的内容选择标准。由内容提供商设备152提供的内容选择标准可以与由查询生成器组件112生成的内容选择标准进行比较,以识别匹配的补充内容项目供传输到计算设备140。由内容提供商设备152提供的内容选择标准可以包括内容的类型,诸如数字助理内容类型、搜索内容类型、流式视频内容类型、流线型音频内容类型或上下文内容类型。为了创建内容行动,补充数字内容提供商设备152可以指定内容行动的行动级别参数的值。行动级别参数可以包括例如行动名称、用于放置数字分量对象的优选内容网络、要用于内容行动的资源的价值(value of resources)、内容行动的开始和结束日期、内容行动的持续时间、数字分量对象放置的时间表、语言、地理位置、在其上提供数字分量对象的计算设备的类型。在一些情况下,印象(impression)可以指何时从其源(例如,数据处理系统102或补充数字内容提供商设备152)取出数字分量对象并且是可计数的。在一些情况下,由于点击欺诈的可能性,机器人活动可以被过滤和排除,作为印象。因此,在一些情况下,印象可以指对网络服务器对来自浏览器的页面请求的响应的测量,其从机器人活动和错误代码中被过滤,并且被记录在尽可能接近用于提交数字分量对象以在计算设备140上显示的机会的点。在一些情况下,印象可以指可见或可听印象;例如,数字分量对象在客户端计算设备140的显示设备150上至少部分地(例如,20%、30%、30%、40%、50%、60%、70%或更多)可见、或者经由计算设备140的扬声器(例如,换能器146)可听。点击或选择可以指与数字分量对象的用户交互,诸如响应于可听印象的语音、鼠标点击、触摸交互、手势、摇动、音频交互或键盘点击。转换可以指用户对数字分量对象采取期望的动作;例如购买产品或服务、完成调查、访问与数字分量相对应的实体店或完成电子交易。

补充数字内容提供商设备152可以进一步为内容行动建立一个或多个内容组。内容组包括一个或多个数字分量对象和对应的内容选择标准,诸如关键词、词语、术语、短语、地理位置、计算设备的类型、一天中的时间、兴趣、话题或垂直内容(vertical)。相同内容行动下的内容组可以共享相同的行动级别参数,但是可以具有针对特定内容组级别参数(诸如关键词、负面关键词(例如,在主要内容上存在负面关键词的情况下阻止数字分量的放置)、对关键词的出价、或者与出价或内容行动相关联的参数)的定制规范。

为了创建新的内容组,内容提供商可以提供用于内容组的内容组级别参数的值。内容组级别参数包括例如内容组名称或内容组主题(theme),以及对不同内容放置机会(例如,自动放置或管理的放置)的出价或结果(例如,点击、印象或转换)。内容组名称或内容组主题可以是补充数字内容提供商设备152可以用来抓住针对其内容组的数字分量对象被选择用于显示的话题或主旨的一个或多个术语。例如,汽车经销商可以为其代理的每个品牌的车辆创建不同的内容组,并且可以进一步为其代理的每个型号的车辆创建不同的内容组。汽车经销商可以使用的内容组主题的示例包括例如″厂商A跑车″、″厂商B跑车″、″厂商C轿车″、″厂商C卡车″、″厂商C混动车″或″厂商D混动车″。例如,示例内容行动主题可以是″混动车″,并且包括针对″厂商C混动车″和″厂商D混动车″二者的内容组。

补充数字内容提供商设备152可以向每个内容组提供一个或多个关键词和数字分量对象。关键词可以包括与数字分量对象所关联的或数字分量对象所标识的产品或服务相关的术语。关键词可以包括一个或多个术语或短语。例如,汽车经销商可以包括″跑车″、″V-6发动机″、″四轮驱动″、″燃油效率″作为内容组或内容行动的关键词。在一些情况下,内容提供商可以指定负面关键词,以避免、防止、阻止或禁用关于某些术语或关键词的内容放置。内容提供商可以指定用于选择数字分量对象的匹配类型,诸如精准匹配、短语匹配或宽泛匹配。

补充数字内容提供商设备152可以提供一个或多个关键词供数据处理系统102用以选择由补充数字内容提供商设备152提供的数字分量对象。补充数字内容提供商设备152可以识别要对其出价的一个或多个关键词,并进一步提供对各种关键词的出价金额。补充数字内容提供商设备152可以提供由数据处理系统102用来选择数字分量对象的附加内容选择标准。多个补充数字内容提供商设备152可以对相同或不同的关键词出价,并且数据处理系统102可以响应于接收到电子消息的关键词的指示而运行内容选择过程或广告拍卖。

补充数字内容提供商设备152可以提供一个或多个数字分量对象供数据处理系统102选择。数据处理系统102可以(例如,经由内容选择器组件120)在匹配资源分配、内容调度、最高出价、关键词和为内容组指定的其他选择标准的内容放置机会变得可用时选择数字分量对象。不同类型的数字分量对象(诸如语音数字分量、音频数字分量、文本数字分量、图像数字分量、视频数字分量、多媒体数字分量、数字分量链接或助理应用分量)可以被包括在内容组中。数字分量对象(或数字分量、补充内容项目或赞助内容项目)可以包括例如内容项目、在线文档、音频、图像、视频、多媒体内容、赞助内容或助理应用。在选择了数字分量后,数据处理系统102可以(例如,经由传输控制器组件116)传输数字分量对象,以在计算设备140或计算设备140的显示设备150上提交。提交可以包括在显示设备上显示数字分量,执行诸如聊天机器人或对话机器人的应用、或者经由计算设备140的扬声器播放数字分量。数据处理系统102可以向计算设备140提供指令来提交数字分量对象。数据处理系统102可以指示计算设备140或计算设备140的音频驱动器148生成音频信号或音波。

数据处理系统102在从补充数字内容提供商设备152接收到补充内容项目时,可以预处理或以其他方式分析接收到的内容项目,以验证内容项目从而进行传递和呈现。数据处理系统102可以分析、评估、验证或以其他方式处理内容项目,以便识别错误、漏洞、恶意代码或特性或者质量问题。例如,为了降低浪费的能耗、网络带宽利用、计算资源利用和时延,数据处理系统102可以包括验证组件118,其被设计、构造和操作为在授权补充内容项目供内容选择器组件120选择之前验证该补充内容项目。由于与服务器数字助理组件104生成的动作数据结构一起呈现补充内容项目所带来的附加技术挑战,数据处理系统102可以基于内容项目类型来验证内容项目。

例如,补充数字内容提供商设备152可以提供补充数字内容项目。补充数字内容项目可以被标记、标示或以其他方式指示类型。类型可以是助理类型内容项目。数据处理系统102可以访问存储在数据储存库124中包括为助理类型内容建立的内容参数或质量信号的内容参数数据结构130。内容参数可以包括例如内容项目的亮度级别、内容项目的文件大小、内容项目的持续时间、内容项目的处理器利用率或其他质量信号。内容参数可以包括针对亮度、文件大小、持续时间或处理器利用率的阈值。验证组件118可以模拟提交接收的内容项目,以测量亮度级别、处理器利用率、文件大小、持续时间或其他内容参数。验证组件118可以将模拟的测量与存储在内容参数数据结构130中的阈值进行比较,以确定内容项目是否满足阈值。满足阈值可以指或包括测量的质量信号小于或等于阈值。

例如,验证组件118可以基于模拟图像或以其他方式处理图像来确定与补充内容项目相对应的图像的感知到的亮度。验证组件118可以将感知到的亮度与为助理类型内容项目建立的亮度阈值进行比较。如果所确定的图像的感知到的亮度大于亮度阈值,则验证组件118可以拒绝补充内容项目。在一些情况下,验证组件118可以不拒绝补充内容项目,而是可以移除该补充内容项目有资格作为助理类型内容项目的标志或指示。数据处理系统102可以基于内容项目是否满足阈值来包括助理类型标志或移除助理类型标志。

因此,验证组件118可以通过对内容项目进行加权来提高或降低内容项目被内容选择器组件120选择的可能性,从而有助于优化系统100的性能。如果验证组件118基于内容参数验证了内容项目(例如,内容项目满足内容参数阈值),则验证组件118可以指示该内容项目是有效的。有效内容项目可以指被标记为助理类型的内容项目,并且验证组件指示该内容项目满足助理类型内容项目的内容参数。

内容选择器组件120可以基于内容选择标准来选择内容项目。例如,如果由查询生成器组件112生成的内容选择标准包括助理类型内容,则与不是助理类型的内容项目相比,验证助理内容类型可以被更重地加权。因此,当内容选择标准包括助理类型内容时,助理类型内容项目可以具有被内容选择器组件120选择的更高的可能性。数字助理内容类型可以定义内容项目的属性(例如,诸如亮度级别的内容参数)。

例如,内容选择器组件120可以响应于来自查询生成器组件112的请求或从查询生成器组件112接收内容选择标准,来执行实时内容选择过程。实时内容选择可以指或包括响应于请求执行内容选择。实时可以指或包括在接收到请求的0.2秒、0.3秒、0.4秒、0.5秒、0.6秒或1秒内选择内容。实时可以指响应于从计算设备140接收到输入音频信号来选择内容。

内容选择器组件120可以识别与数字助理内容类型相对应的多个候选补充内容项目。内容选择器组件120可以使用内容选择标准来识别与数字助理内容类型以及由查询生成器组件112针对内容选择标准生成的一个或多个关键词相匹配的候选补充内容项目。内容选择器组件120可以为多个候选补充内容项目中的每一个确定分数或排名,以选择最高排名的补充内容项目提供给计算设备140。内容选择器组件120可以选择已经被验证为数字助理类型的补充内容项目。

在一些情况下,内容选择器组件120可以对不同的内容类型进行不同的加权。内容选择器组件120可以将较高的权重应用于与由查询生成器组件112生成的内容选择标准中指示的内容类型相匹配的内容类型。查询生成器组件112可以生成包括期望的内容类型或最佳的内容类型的内容选择标准。在一些情况下,查询生成器组件112可以要求所选内容项目匹配期望的内容类型,而在其他情况下,查询生成器组件112可以指示增加具有匹配内容类型的内容项目被选择的可能性。例如,内容选择器组件120可以基于一个或多个关键词来识别与数字助理内容类型相对应的第一多个候选补充内容项目。内容选择器组件120可以基于一个或多个关键词来识别具有不同于数字助理内容类型的第二内容类型的第二多个候选补充内容项目。内容选择器组件120可以增加第一多个候选补充内容项目的权重,以相对于选择第二多个候选补充内容项目之一来提高选择第一多个候选补充内容项目之一的可能性。内容选择器组件120然后可以确定第一多个内容项目和第二多个内容项目中的每一个的总分数,其中第一多个内容项目的分数基于权重而增加。内容选择器组件120可以选择最高排名或最高分数的内容项目,其可以是第一多个内容项目之一或第二多个内容项目之一。因此,内容选择器组件120可以选择第二多个内容项目中具有不同于数字助理类型的内容类型的一个内容项目,即使数字助理内容的权重更大。

内容选择器组件120可以从第三方内容提供商(例如,补充数字内容提供商设备152)接收一个或多个补充内容项目。对于补充内容项目中的一个或多个,内容选择器组件120可以从第三方内容提供商接收指示一个或多个补充内容项目对应于数字助理内容类型的指示。内容选择器组件120可以调用验证组件118来识别针对数字助理内容类型的内容参数。验证组件118可以响应于该数字助理内容类型的指示,对一个或多个补充内容项目执行验证过程,以识别满足为数字助理内容类型建立的内容参数的一个或多个有效补充内容项目。内容选择器组件120可以从一个或多个有效补充内容项目中选择补充内容项目。

图2是根据一种实现方式的具有插槽的示例用户接口的图示。用户接口200可以由计算设备140提供。用户接口200可以经由系统100的一个或多个系统或组件(包括例如数据处理系统、服务器数字助理或本地数字助理)来提供。用户接口200可以由通信地耦接到计算设备140的显示设备输出。用户接口200可以包括主屏幕222(例如,主要屏幕、开始屏幕或默认屏幕)。主屏幕222可以包括一个或多个应用,诸如App_A 214、App_B 216、App_C 218或App_D 220。应用214-220可以指电话应用、网络浏览器、联系人、计算器、文本消息应用或其他应用。

用户可以经由主屏幕222提供语音输入或输入音频信号。用户可以调用数字助理并提供语音输入。当本地数字助理被调用时,计算设备140可以提供本地数字助理是活动的或被调用的指示。该指示可以包括例如麦克风图标212。在一些情况下,选择麦克风图标212可以调用数字助理。

用户可以提供语音输入,诸如查询。例如,查询可以是″我附近的工作″。本地数字助理可以显示带有语音输入查询″我附近的工作″的文本框210。本地数字助理可以将数据封包、输入音频信号或语音输入查询发送到服务器数字助理以供进一步处理。服务器数字助理在接收到输入音频信号或语音输入查询时,可以生成响应于语音输入查询的动作数据结构。动作数据结构可以包括搜索结果、计算设备附近的工作。服务器数字助理可以利用在第二GUI插槽204中提交或提供动作数据结构的指令向计算设备提供动作数据结构。数据处理系统可以向本地数字助理提供根据与计算设备140或动作数据结构相关联的一个或多个属性来建立第二GUI插槽204的指令。

数据处理系统在接收到语音输入查询后,可以生成内容选择标准并请求补充内容。数据处理系统可以基于语音输入查询来生成内容选择标准。数据处理系统可以选择赞助或补充内容。数据处理系统可以传输赞助内容以供经由用户接口200提供。例如,数据处理系统可以向本地数字助理提供生成在其中提供赞助内容项目208的第一GUI插槽202的指令。可以在主屏幕222上构建或注入第一GUI插槽202。第一GUI插槽202可以与其中提供动作数据结构的第二GUI插槽204分离或独立。

可以利用一个或多个动作206来建立第一GUI插槽202。动作206可以包括例如锁定(pin)、移动、调整大小、隐藏或最小化。锁定可以指将赞助内容项目208或第一GUI插槽202锁定到主屏幕,使得赞助内容项目208停留在用户接口200的主屏幕222上。移动可以指将第一GUI插槽202移动到主屏幕222上的另一个位置或地点。例如,从主屏幕222的顶部到主屏幕222的中部或底部或者主屏幕222上的任何其他位置。调整大小可以指改变第一GUI插槽202的大小。调整第一GUI插槽202的大小可以使得本地数字助理调整经由第一GUI插槽202呈现的赞助内容项目208的大小。隐藏可以指移除第一GUI插槽202或者使得第一GUI插槽202不再经由主屏幕222可见。

本地数字助理可以记住用户选择的动作206,并基于所选动作更新第一GUI插槽202的属性或配置。例如,移动第一GUI插槽202或调整第一GUI插槽202的大小可以导致第一GUI插槽202被移动以用于在第一GUI插槽202中提供的后续赞助内容项目208。然而,锁定可以指锁定特定的赞助内容项目208。例如,响应于″我附近的工作″语音输入查询而选择的赞助内容项目208可以包括销售商务套装的服装零售商的广告。用户在看到赞助内容项目208时,可以确定将该赞助内容项目208锁定在主屏幕222上。

图3是根据一种实现方式的经由数字助理控制补充内容的传递的示例方法的图示。方法300可以由例如计算设备、数据处理系统、本地数字助理或服务器数字助理中的一个或多个来执行。在动作302,方法300可以包括接收语音输入。数据处理系统可以接收包括语音输入或输入音频信号的数据封包。语音输入可以包括由用户或其他说话者提供并且由诸如智能手机或平板计算设备的计算设备的麦克风检测到的语音输入查询。

在动作304,数据处理系统可以处理语音输入,以生成动作数据结构。数据处理系统(例如,直接动作API)可以使用自然语言处理技术来处理或解析语音输入并生成动作数据结构。动作数据结构可以是对语音输入的响应。

在动作306,数据处理系统可以生成内容选择标准。数据处理系统可以基于语音输入来生成内容选择标准。数据处理系统可以基于语音输入中的关键词来生成内容选择标准。数据处理系统可以基于与检测到语音输入的计算设备相关联的简档或账户信息来生成内容选择标准。数据处理系统可以生成包括一个或多个关键词的内容选择标准。内容选择标准可以包括或指示内容类型,诸如数字助理内容类型。

数据处理系统可以生成对内容的请求,并将该对内容的请求与内容选择标准一起发送到内容选择器组件。数据处理系统可以包括内容选择器组件。数据处理系统可以基于内容选择标准来选择补充内容项目。数据处理系统可以使用实时内容选择过程来选择内容项目。数据处理系统可以使用在线拍卖来选择内容项目。由数据处理系统选择的赞助或补充内容项目可以不同于由内容项目生成的动作数据结构。可以响应于语音输入来生成动作数据结构。可以使用基于在线拍卖的系统来选择补充内容项目,在该系统中,第三方内容提供商可以对补充内容项目出价以便赢得拍卖。

在动作310,数据处理系统可以接收所选补充内容项目。数据处理系统可以从内容选择器组件接收补充内容项目。在一些情况下,数据处理系统可以在数据处理系统生成动作数据结构之前接收补充内容项目。例如,选择补充内容项目的硬件或计算基础设施可以在直接动作API生成动作数据结构之前选择补充内容项目。

在判定框312,数据处理系统可以确定是否控制传输。控制传输可以指或包括添加缓冲、组合动作数据结构和补充内容项目、或者以其他方式控制如何相对于彼此提供动作数据结构和内容项目。数据处理系统可以基于策略或规则来确定控制传输。例如,如果数据处理系统在生成动作数据结构之前接收到补充内容项目,则数据处理系统可以确定控制传输。如果数据处理系统在历史上在动作数据结构之前接收到内容项目的时间量大于阈值,则数据处理系统可以确定控制传输。数据处理系统可以确定控制传输以降低能耗、网络带宽利用或计算资源利用。例如,如果计算设备具有有限的电池资源或者在具有有限带宽的网络上,则数据处理系统可以确定控制传输,以降低网络带宽利用或电池能量利用。

如果数据处理系统确定控制传输,则数据处理系统可以继续到动作314以执行传输控制协议。数据处理系统可以确定缓冲内容项目或以其他方式延迟内容项目的传输,以在内容项目之前或者与内容项目同时传输动作数据结构。例如,如果数据处理系统花费0.4秒生成动作数据结构,但是在0.1秒内接收到补充内容项目,则数据处理系统可以向内容项目传输添加0.3秒的缓冲或延迟,使得动作数据结构和补充内容项目被同时传输到计算设备进行呈现。

数据处理系统可以通过向计算设备提供在呈现动作数据结构后呈现内容项目的指令来控制传输。数据处理系统可以向计算设备提供在呈现动作数据结构的同时呈现内容项目的指令。因此,数据处理系统可以控制动作数据结构和补充内容项目相对于彼此的呈现或提交。

数据处理系统可以通过组合动作数据结构和补充内容项目来控制传输。数据处理系统可以生成包括动作数据结构和补充内容项目的组合的数据封包。组合的数据封包可以包括使计算设备在与补充内容项目不同的GUI插槽中提交动作数据结构的指令。

然而,如果数据处理系统确定不控制传输,则数据处理系统可以继续到动作316和318,以将补充内容项目和动作数据结构传输到计算设备进行呈现。数据处理系统可以根据传输控制策略(如果选择了的话),在动作318传输补充内容项目并且在动作316传输动作数据结构。

图4是根据一种实现方式的基于内容类型验证补充内容的示例方法的图示。方法400可以由图100中描绘的一个或多个系统或组件(包括例如数据处理系统、内容选择器组件或验证组件)来执行。在动作402,方法400可以包括从内容提供商接收补充内容项目。内容提供商可以是提供赞助内容的第三方内容提供商。数据处理系统可以接收补充内容或赞助内容作为内容行动的一部分。数据处理系统可以提供用户接口,以允许内容提供商传送内容项目。数据处理系统可以提供其中内容提供商可以上传或以其他方式传送包含补充或赞助内容项目的电子文件的行动建立用户接口或图形用户接口。

在动作404,数据处理系统可以识别内容类型。内容提供商可以指示被上传到数据处理系统的内容项目中的每个内容项目的内容类型。内容类型可以指示可以在哪里提供内容项目。例如,内容类型可以包括数字助理、搜索、上下文、流式视频或流式音频。对于不同的数字媒体,可以优化或优选不同的内容类型。例如,搜索内容可以包括纯文本内容。上下文内容可以包括文本和图像。流式音频内容只能包括音频。流式视频内容可以包括音频和视频内容两者。例如,数字助理内容可以包括文本、图像、音频、视频或助理应用。

不同类型的内容可以包括不同的内容参数。内容参数可以指内容的持续时间、内容的亮度级别、内容的文件大小或内容的处理器利用率。例如,与例如将在台式计算设备上提供的上下文内容相比,为移动设备上的主屏幕配置的数字助理内容的内容参数可以包括较低的亮度级别阈值。

在动作406,数据处理系统可以生成补充内容项目的质量信号值。数据处理系统可以模拟补充内容项目的提供或提交,以生成质量信号。数据处理系统可以评估补充内容项目以确定质量信号的值。质量信号可以包括亮度级别、文件大小、持续时间、音频级别、处理器利用率或其他质量信号。数据处理系统可以确定由第三方内容提供商提供的补充内容项目的亮度级别、文件大小、持续时间或处理器利用率。

在动作408,数据处理系统可以将所生成的质量信号值与为内容提供商指示的内容类型建立的阈值进行比较。例如,如果内容提供商指示补充内容项目是数字助理类型,则数据处理系统可以检索数字助理内容类型的亮度级别阈值,并将亮度级别的质量信号值与该阈值进行比较。数据处理系统可以将每个质量信号值与对应的内容类型的阈值进行比较。

在判定框410,数据处理系统可以确定补充内容项目是否有效。有效可以指内容项目的质量信号值是否满足内容类型的阈值。如果数据处理系统在判定框410确定内容项目有效,则数据处理系统可以继续到动作414,以针对内容类型验证内容项目。然而,如果数据处理系统在判定框410确定补充内容项目无效,则数据处理系统可以继续到动作412以改变内容类型标志。

如果所生成的质量信号值大于阈值,则数据处理系统可以确定拒绝补充内容项目。数据处理系统可以从内容数据储存库中移除补充内容项目。在一些情况下,数据处理系统可以确定改变内容类型标志;例如,如果剩余质量信号值满足其他内容类型,则将内容类型改变为搜索内容,而不是数字助理内容。

图5是示例计算机系统500的框图。计算机系统或计算设备500可以包括或用于实现系统100或其组件,诸如数据处理系统102。数据处理系统102可以包括智能个人助理或基于语音的数字助理。计算系统500包括用于传送信息的总线505或其他通信组件,以及耦接到总线505用于处理信息的处理器510或处理电路。计算系统500还可以包括耦接到总线用于处理信息的一个或多个处理器510或处理电路。计算系统500还包括耦接到总线505用于存储信息和要由处理器510执行的指令的主存储器515,诸如随机访问存储器(RAM)或其他动态存储设备。主存储器515可以是或包括数据储存库124。主存储器515还可以用于在处理器510执行指令期间存储位置信息、临时变量或其他中间信息。计算系统500还可以包括耦接到总线505用于存储用于处理器510的静态信息和指令的只读存储器(ROM)520或其他静态存储设备。诸如固态设备、磁盘或光盘的存储设备525可以耦接到总线505,以持久地存储信息和指令。存储设备525可以包括数据储存库124或者是数据储存库124的一部分。

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

本文描述的过程、系统和方法可以由计算系统500响应于处理器510执行主存储器515中包含的指令布置来实现。这些指令可以从另外的计算机可读介质(诸如存储设备525)被读入主存储器515。包含在主存储器515中的指令布置的执行使得计算系统500执行本文描述的说明性过程。多处理布置下的一个或多个处理器也可以用于执行包含在主存储器515中的指令。硬连线电路可以用于代替软件指令或者与软件指令以及本文描述的系统和方法相结合。本文描述的系统和方法不限于硬件电路和软件的任何特定组合。

尽管已经在图5中描述了示例计算系统,但包括本说明书中描述的操作的主旨可以在其他类型的数字电子电路中实现,或在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等效物)中实现,或者在它们的一个或多个的组合中实现。

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

本说明书中描述的主旨和操作可以在数字电子电路中或在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等效物)中或者在它们的一个或多个的组合中实现。本说明书中描述的主旨可以被实现为被编码在一个或多个计算机存储介质上、用于由数据处理装置执行或控制数据处理装置的操作的一个或多个计算机程序(例如一个或多个计算机程序指令电路)。可替代地或附加地,程序指令可以被编码在被生成以编码信息、从而传输到合适的接收器设备以供数据处理设备执行的人工生成的传播信号(例如,机器生成的电、光或电磁信号)上。计算机存储介质可以是或被包括在计算机可读存储设备、计算机可读存储基底、随机或串行访问存储器阵列或设备、或者它们中的一个或多个的组合中。尽管计算机存储介质不是传播信号,但是计算机存储介质可以是被编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是或被包括在一个或多个分离的组件或介质(例如,多个CD、盘或其他存储设备)中。本说明书中描述的操作可以被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收到的数据执行的操作。

术语″数据处理系统″、″计算设备″、″组件″或″数据处理装置″涵盖用于处理数据的各种装置、设备和机器,包括例如可编程处理器、计算机、片上系统或前述内容中的多个或组合。装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础设施,诸网络服务、分布式计算和网格计算基础设施。例如,直接动作API 110、内容选择器组件120或NLP组件108和其他数据处理系统102组件可以包括或共享一个或多个数据处理装置、系统、计算设备或处理器。

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

可以通过一个或多个可编程处理器执行一个或多个计算机程序(例如,数据处理系统102的组件)来执行本说明书中描述的过程和逻辑流程,以通过操作输入数据并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))来执行,并且装置也可以被实现为专用逻辑电路。适于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器器件,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或并入专用逻辑电路中。

本文描述的主旨可以在计算系统中实现,该计算系统包括后端组件(例如数据服务器)或包括中间件组件(例如应用服务器)或包括前端组件(例如具有图形用户接口或网络浏览器的客户端计算机,用户可以通过该图形用户接口或网络浏览器与本说明书描述的主旨的实现方式交互)或者一个或多个这样的后端组件、中间件组件或前端组件的组合。系统的组件可以通过任何形式或介质的数字数据通信(例如通信网络)来互连。通信网络的示例包括局域网(″LAN″)和广域网(″WAN″)、网间网(例如,互联网)和对等网络(例如,自组织对等网络)。

诸如系统100或系统500的计算系统可以包括客户端和服务器。客户端和服务器一般彼此远离,并且通常通过通信网络(例如,网络105)交互。客户端和服务器的关系是由于在各自的计算机上运行的计算机程序而产生的,并且彼此具有客户端-服务器关系。在一些实现方式中,服务器将数据(例如,表示数字分量的数据封包)传输到客户端设备(例如,为了向与客户端设备交互的用户显示数据并从其接收用户输入)。在客户端设备处生成的数据(例如,用户交互的结果)可以在服务器处从客户端设备被接收到(例如,由数据处理系统102从本地计算设备140或补充数字内容提供商设备152或服务提供商设备154接收到)。

尽管附图中以特定次序描绘了操作,但是这样的操作不要求以所示特定次序或依次执行,并且不要求执行所有所示操作。本文描述的动作可以以不同的次序执行。

各种系统组件的分离不要求在所有实现方式中的分离,并且所述程序组件可以被包括在单个硬件或软件产品中。例如,NLP组件108或直接动作API 110可以是单个组件、应用或程序,或者是具有一个或多个处理电路的逻辑设备,或者是数据处理系统102的一个或多个服务器的一部分。

现在已经描述了一些说明性实现方式,清楚的是,前述内容是说明性的而非限制性的,已经以示例方式提供。具体地,尽管本文呈现的多个示例涉及方法动作或系统元素的特定组合,但是那些动作和那些元素可以以其他方式组合以实现相同的目标。结合一种实现方式讨论的动作、元素和特征不旨在被排除在其他实现方式中的类似角色或其他实现方式之外。

本文使用的措辞和术语是为了描述的目的,不应被视为限制本文使用的″包括″、″包含″、″具有″、″涉及″、″由......表征″、″其特征在于″及其变型意味着包含其后列出的项目、其等同物和附加项目,以及由其后专门列出的项目组成的替代实现方式。在一种实现方式中,本文描述的系统和方法包括一个、多于一个的每种组合或者所述元素、动作或组件中的全部。

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

本文公开的任何实现方式都可以与任何其他实现方式或实施例相组合,并且对″实现方式″、″一些实现方式″、″一种实现方式″等的集不一定相互排斥,并且旨在表示结合实现方式描述的特定特征、结构或特性可以被包括在至少一种实现方式或至少一个实施例中。本文使用的这些术语不一定都指同一种实现方式。任何实现方式都可以以与本文公开的各方面和实现方式一致的任何方式与任何其他实现方式相组合,包含地或排他地。

对″或″的提及可以被解释为包含性的,因此使用″或″描述的任何术语可以表示单个、多于一个或所有所述术语中的任何一个。对术语的组合列表中的至少一个的提及可以被解释为包含性的,或者指示单个、多于一个和所有所述术语中的任何一个。例如,对″A和B中的至少一个″的提及可以包括仅A、仅B以及A和B两者。与″包括″或其他公开术语结合使用的这种提及可以包括附加的项目。

在附图、具体实施方式或任何权利要求中的技术特征后跟附图标记的情况下,已经包括了附图标记以增加附图、具体实施方式和权利要求的可理解性。因此,附图标记或它们的不存在对任何权利要求元素的范围都没有任何限制作用。

在不脱离本文描述的系统和方法的特性的情况下,本文描述的系统和方法可以体现为其他特定形式。前述实现方式是说明性的,而不是对所描述的系统和方法的限制。因此,本文中描述的系统和方法的范围由所附权利要求书而不是前面的描述来指示,并且在权利要求书的等同物的含义和范围内的改变被包含在本文中描述的系统和方法的范围中。

技术分类

06120115759892