语音激活网络中的自适应接口的制作方法

文档序号:19751524发布日期:2020-01-21 19:35阅读:326来源:国知局
语音激活网络中的自适应接口的制作方法

相关申请的交叉引用

本申请要求于2018年5月11日提交的名称为“adaptiveinterfaceinavoice-activatednetwork”的美国非临时专利申请号15/977,699的优先权,其全部内容通过引用并入本文。



背景技术:

计算设备之间基于分组或其他方式的网络业务数据的过量网络传输可能妨碍计算设备妥善地处理网络业务数据、完成有关网络业务数据的操作或者及时响应网络业务数据。如果响应的计算设备达到或超过其处理能力,则网络业务数据的过量网络传输也会加重数据路由或降低响应质量,这可能导致带宽利用率下降。对应于不明确请求的网络传输可能在计算设备之间产生大量不必要的网络业务。



技术实现要素:

根据本公开的至少一个方面,一种在联网的系统中生成基于语音的接口的系统能够包括数据处理系统。数据处理系统能够执行自然语言处理器(nlp)组件、接口管理组件和直接动作应用编程接口(api)。数据处理系统能够在数据处理系统的接口处接收由客户端设备的传感器检测到的输入音频信号。数据处理系统能够解析输入音频信号以基于该输入音频信号识别多个候选请求。数据处理系统能够确定客户端设备的接口类型。数据处理系统能够基于客户端设备的接口类型来选择多个候选请求的一部分。数据处理系统能够基于客户端设备的接口类型来生成针对多个候选请求的所述一部分中的每个的动作数据结构。数据处理系统能够基于客户端设备的接口类型向客户端设备发送针对多个候选请求的所述一部分中的每个的动作数据结构。

接口类型可以指示客户端设备的显示格式、客户端设备的显示尺寸、客户端设备的显示可用性或客户端设备的类型中的至少一个。接口可以向客户端设备发送针对第二候选请求的第二动作数据结构以在第一动作数据结构之后被渲染。自然语言处理器组件可以解析输入音频信号以识别输入音频信号中的请求,确定该请求的语义含义的置信分数,并且基于该置信分数低于预定阈值来选择多个候选请求。自然语言处理器组件可以识别输入音频信号中具有多个解释的词项,并且接口管理组件可以基于输入音频信号中具有多个解释的词项来选择多个候选请求的子集。

自然语言处理器组件可以解析输入音频信号以识别输入音频信号中的主要请求,并且自然语言处理器组件可以基于该主要请求与多个候选请求中的每个候选请求之间的语义相似度来确定多个候选请求。自然语言处理器组件可以解析输入音频信号以识别输入音频信号中的主要请求,并且自然语言处理器组件可以至少基于多个候选请求中的每个候选请求与该主要请求之间的语义相似度从先前接收到的输入音频信号的日志中选择多个候选请求。直接动作应用编程接口可以将多个候选请求的指示包括在第一动作数据结构中。

自然语言处理器组件可以解析输入音频信号以识别输入音频信号中的请求,并且由数据处理系统执行的内容选择组件可以基于该输入音频信号中的请求来选择数字组件。自然语言处理器组件可以解析输入音频信号以识别输入音频信号中的主要请求,直接动作应用编程接口可以确定对该主要请求的响应,直接动作应用编程接口可以确定对多个候选请求中的每个候选请求的响应,并且接口管理组件可以基于对该请求的响应与对多个候选请求中的每个候选请求的响应之间的比较来选择多个候选请求的子集。自然语言处理器组件可以解析输入音频信号以识别输入音频信号中的主要请求,直接动作应用编程接口可以确定对该主要请求的响应,自然语言处理器组件可以确定对输入音频信号中的主要请求的响应的广泛性分数,自然语言处理器组件可以确定对多个候选请求中每个请求的响应的广泛性分数,并且接口管理组件可以基于对输入音频信号中的请求的响应的广泛性分数与对多个候选请求中的每个候选请求的响应的广泛性分数的比较来选择多个候选请求的子集。

接口可以发送包括提示的音频信号请求,自然语言处理器组件可以接收来自客户端设备的第二输入音频信号,第二输入音频信号响应于该提示而生成,并且接口管理组件可以基于第二输入音频信号来选择多个候选请求的子集。接口管理组件可以选择与客户端设备相关联的第二客户端设备,该第二客户端设备的接口类型与客户端设备的接口类型不同;以及接口可以将第二动作数据结构发送到第二客户端设备。自然语言处理器组件可以接收由客户端设备的传感器检测到的第二输入音频信号,自然语言处理器组件可以解析该第二输入音频信号以基于该第二输入音频信号来识别候选请求,并且接口可以将该候选请求发送到客户端设备。

根据本公开的至少一个方面,一种在联网的系统中生成基于语音的接口的方法能够包括:通过由数据处理系统经由接口执行的自然语言处理器组件,接收由客户端设备的传感器检测到的输入音频信号。所述方法能够包括:通过自然语言处理器组件,解析输入音频信号,以基于输入音频信号来识别多个候选请求。所述方法能够包括:通过由数据处理系统执行的接口管理组件,确定客户端设备的接口类型。所述方法能够包括:通过接口管理组件,基于客户端设备的接口类型来选择一定数量的多个候选请求。所述方法能够包括:通过数据处理系统的直接动作应用编程接口,基于客户端设备的接口类型来生成针对该数量的多个候选请求中的每个候选请求的动作数据结构。所述方法能够包括:通过接口,基于客户端设备的接口类型向客户端设备发送针对该数量的多个候选请求中的每个候选请求的动作数据结构。

接口类型可以指示客户端设备的显示格式、客户端设备的显示尺寸、客户端设备的显示可用性或客户端设备的类型中的至少一个。所述方法可以进一步包括:通过接口,向客户端设备发送针对第二候选请求的第二动作数据结构以在第一动作数据结构之后被渲染。所述方法可以进一步包括:通过自然语言处理器组件,解析输入音频信号以识别输入音频信号中的请求;通过自然语言处理器组件,确定该请求的语义含义的置信分数;以及通过自然语言处理器组件,基于该置信分数低于预定阈值来选择多个候选请求。所述方法可以进一步包括:通过自然语言处理器组件,识别输入音频信号中具有多个解释的词项;以及通过接口管理组件,基于该输入音频信号中具有多个解释的词项来选择多个候选请求的所述部分。

所述方法可以进一步包括:通过自然语言处理器组件,解析输入音频信号以识别输入音频信号中的主要请求;以及通过自然语言处理器组件,基于该主要请求与多个候选请求中的每个候选请求之间的语义相似度来确定多个候选请求。所述方法可以进一步包括:通过自然语言处理器组件,解析输入音频信号以识别输入音频信号中的主要请求;以及通过自然语言处理器组件,至少基于多个候选请求中的每个候选请求与该主要请求之间的语义相似度从先前接收到的输入音频信号的日志中选择多个候选请求。

所述方法可以进一步包括:通过直接动作应用编程接口,在第一动作数据结构中包括生成第一动作数据结构所针对的候选请求的指示。所述方法可以进一步包括:通过自然语言处理器组件,解析输入音频信号以识别输入音频信号中的请求;以及通过由数据处理系统执行的内容选择组件,基于该输入音频信号中的请求来选择数字组件。所述方法可以进一步包括:通过自然语言处理器组件,解析输入音频信号以识别输入音频信号中的主要请求;通过直接动作应用编程接口,确定对主要请求的响应;以及通过直接动作应用编程接口,确定对多个候选请求中的每个候选请求的响应;以及通过接口管理组件,基于对主要请求的响应与对多个候选请求中的每个候选请求的响应之间的比较来选择多个候选请求的所述一部分。所述方法可以进一步包括:通过自然语言处理器组件,解析输入音频信号以识别输入音频信号中的主要请求;通过直接动作应用编程接口,确定对该主要请求的响应;通过自然语言处理器组件,确定对输入音频信号中的主要请求的响应的广泛性分数;通过自然语言处理器组件,确定对多个候选请求中的每个候选请求的响应的广泛性分数;以及通过接口管理组件,基于对输入音频信号中对请求的响应的广泛性分数与对多个候选请求中的每个候选请求的响应的广泛性分数的比较来选择多个候选请求的子集。

所述方法可以进一步包括:通过接口,发送包括提示的音频信号请求;通过自然语言处理器组件,接收来自客户端设备的第二输入音频信号,该第二输入音频信号响应于提示而生成;以及通过接口管理组件,基于该第二输入音频信号来选择多个候选请求的子集。所述方法可以进一步包括:通过接口管理组件,选择与客户端设备相关联的第二客户端设备,该第二客户端设备的接口类型与客户端设备的接口类型不同;以及通过接口,将第二动作数据结构发送到该第二客户端设备。所述方法可以进一步包括:通过自然语言处理器组件,接收由客户端设备的传感器检测到的第二输入音频信号;通过自然语言处理器组件,解析该第二输入音频信号以基于该第二输入音频信号来识别候选请求;以及通过接口,将该候选请求发送到客户端设备。

下面详细讨论这些方面和其他方面以及实施方式。以上信息和以下详细描述包括各个方面和实施方式的说明性示例并且提供用于理解所要求保护的方面和实施方式的性质和特征的概述或框架。附图提供对各个方面和实施方式的说明和进一步理解并且并入本说明书且构成本说明书的一部分。所公开的主题的各个方面和实施方案可以酌情组合。

附图说明

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

图1示出根据本公开的示例的在语音激活系统中生成接口的示例系统。

图2示出根据本公开的示例的在语音激活系统中生成基于语音的接口的示例方法的框图。

图3和图4示出根据本公开的示例的用于呈现对候选请求的响应的示例基于语音的接口的图示。

图5示出根据本公开的示例的示例计算机系统的框图。

具体实施方式

下面更详细地描述有关在语音激活的计算机网络环境中生成接口的方法、装置和系统的各种概念及其实施方式。上面介绍和下面更详细讨论的各种概念以许多方式中的任一方式来实现。

本公开的系统和方法总体上涉及一种数据处理系统,该数据处理系统能够当呈现有不明确、不清楚或其他数据处理系统可能无法响应的请求时识别并生成或显现替选请求。该数据处理系统能够通过选择可响应于原始请求的意图的替选请求而提高网络传输效率,以减少网络带宽占用率和处理器利用率。选择并响应于替选请求能够通过不将错误消息或后续消息发送到请求有关原始请求的附加信息或数据的客户端设备来节省带宽。为了进一步节省带宽和计算资源,数据处理系统能够基于向数据处理系统发送请求的客户端设备的接口类型,选择数据处理系统将针对这些附加响应中的哪一个生成响应。例如,基于客户端设备的屏幕尺寸(或缺少屏幕尺寸),数据处理系统能够选择其生成响应所针对的替选请求中的一个或替选请求的子集。选择并仅响应于一部分可能的替选请求,能够通过不向客户端设备发送响应于原始请求的全部可能解释而生成的响应而节省带宽。

图1示出在语音激活系统中生成接口的示例系统100。系统100能够包括数字组件选择基础设施。系统100能够包括数据处理系统102。数据处理系统102能够经由网络105与一个或多个数字组件提供者设备106(例如,内容提供者设备)或客户端计算设备104进行通信。网络105能够包括诸如因特网、局域网、广域网、城域网或其他区域网的计算机网络、内联网、卫星网络以及诸如语音或数据移动电话网络的其他通信网络。网络105能够被使用于访问诸如web页面、web站点、域名或统一资源定位符的信息资源,能够在诸如膝上型计算机、桌面型计算机、平板型计算机、数字助理、个人数字助理、智能手表、可佩戴设备、智能电话、便携式计算机或扬声器的至少一个计算设备104上呈现、输出、渲染或显示该信息资源。例如,经由网络105,客户端计算设备104的用户能够访问由数字组件提供者设备106提供的信息或数据。客户端计算设备104可以包括或可以不包括显示器。例如,客户端计算设备104可以包括有限类型的用户接口,诸如麦克风和扬声器(例如,客户端计算设备104能够包括基于语音驱动或基于音频的接口)。计算设备104的主用户接口可以包括麦克风和扬声器。客户端计算设备104能够是基于扬声器的数字助理设备。

网络105能够包括或构成显示网络,例如,因特网上可用的与内容放置或搜索引擎结果系统相关联或者有资格包括第三方数字组件的信息资源的子集。数据处理系统102能够使用网络105来访问能够通过客户端计算设备104呈现、输出、渲染或显示的信息资源,诸如web页面、web站点、域名或统一资源定位符。例如,经由网络105,客户端计算设备104的用户能够访问由数字组件提供者设备106提供的信息或数据。

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

系统100能够包括至少一个数据处理系统102。数据处理系统102能够包括至少一个逻辑设备,诸如计算设备,其处理器经由网络105与例如计算设备104或数字组件提供者设备106进行通信。数据处理系统102能够包括至少一个计算资源、服务器、处理器或存储器。例如,数据处理系统102能够包括位于至少一个数据中心的多个计算资源或服务器。数据处理系统102能够包括多个逻辑分组的服务器并且有助于分布式计算技术。服务器的逻辑组可以称为数据中心、服务器场或机器场。服务器也能够在地理位置上分散。数据中心或机器场可以作为单个实体来管理,或者该机器场能够包括多个机器场。每个计算机场内的服务器能够是异构的-服务器或机器中的一个或多个能够根据一种或多种类型的操作系统平台来操作。

机器场中的服务器能够连同相关联的存储系统一起存放在高密度机架系统中并且位于企业数据中心。例如,以这种方式,通过在本地化高性能网络上定位服务器和高性能存储系统,整合服务器可以提高系统易管理性、数据安全性、系统的物理安全性和系统性能。集中包括服务器和存储系统在内的全部或一些数据处理系统102组件并且将它们与高级系统管理工具耦合允许更高效地利用服务器资源,这节省功率和处理需求并且减少带宽占用。

客户端计算设备104能够包括、执行至少一个本地数字助理134、至少一个传感器138、至少一个换能器140、至少一个音频驱动器142或至少一个显示器144中的一个或多个、与之交互,或以其他方式与之通信。传感器138能够例如包括相机、环境光传感器、接近传感器、温度传感器、加速计、陀螺仪、运动检测器、gps传感器、位置传感器、麦克风、视频、图像检测或触摸传感器。换能器140能够包括扬声器或麦克风或是其一部分。音频驱动器142能够向硬件换能器140提供软件接口。音频驱动器142能够执行音频文件或由数据处理系统102提供的其他指令,以控制换能器140生成对应的音波或声波。显示器144能够包括配置为提供视觉指示或光学输出的一个或多个硬件或软件组件,诸如发光二极管、有机发光二极管、液晶显示器、激光器或显示器。

本地数字助理134能够包括一个或多个处理器、逻辑阵列或存储器,或者由其执行。本地数字助理134能够是预处理器。本地数字助理134能够执行数据处理系统102的任何组件。本地数字助理134能够检测关键词并且基于该关键词执行动作。本地数字助理134能够执行由数据处理系统102执行的组件的实例或者能够执行数字处理系统102的任何功能。本地数字助理134能够预处理由客户端计算设备104接收的输入音频信号。例如,本地数字助理134能够在将词项作为数据发送到数据处理系统102以便进行进一步处理之前过滤掉一个或多个词项或修改词项。本地数字助理134能够将由换能器140检测到的模拟音频信号转换为数字音频信号并且经由网络105将携带数字音频信号的一个或多个数据分组发送到数据处理系统102。本地数字助理134能够响应于检测到执行这种发送的指令而发送携带一些或全部输入音频信号的数据分组。该指令能够例如包括触发关键词或其他关键词或者批准以将包括输入音频信号的数据分组发送到数据处理系统102。

本地数字助理134能够对输入音频信号执行预滤波或预处理以去除音频的某些频率。预滤波能够包括滤波器,诸如低通滤波器、高通滤波器或带通滤波器。滤波器能够被应用于频域。能够通过使用数字信号处理技术来应用滤波器。滤波器能够被配置为保持对应于人类声音或人类语音的频率,同时消除超出人类语音的典型频率的频率。例如,带通滤波器能够被配置为去除低于第一阈值(例如,70hz、75hz、80hz、85hz、90hz、95hz、100hz或105hz)和高于第二阈值(例如,200hz、205hz、210hz、225hz、235hz、245hz或255hz)的频率。应用带通滤波器能够降低下游处理中的计算资源利用率。计算设备104上的本地数字助理134能够在将输入音频信号发送到数据处理系统102之前应用带通滤波器,从而降低网络带宽利用率。然而,基于可用于计算设备104的计算资源和可用的网络带宽,可能更高效的是,将输入音频信号提供给数据处理系统102以允许数据处理系统102执行滤波。

本地数字助理134能够应用附加的预处理或预滤波技术,诸如降噪技术,以减少可能干扰自然语言处理器的环境噪声水平。降噪技术能够提高自然语言处理器的精度和速度,从而提高数据处理系统102的性能,并且管理经由显示器144提供的图形用户界面的渲染。

客户端计算设备104能够与终端用户相关联,该终端用户将语音查询作为音频输入(经由传感器138或换能器140)输入到客户端计算设备104中并且接收从数据处理系统102或数字组件提供者设备106输出的音频(或其他)以呈现、显示或渲染给客户端计算设备104的终端用户。数字组件能够包括能够从数据处理系统102或数字组件提供者设备106提供给客户端计算设备104的计算机生成的语音。客户端计算设备104能够经由换能器140(例如,扬声器)将计算机生成的语音渲染给终端用户。计算机生成的语音能够包括来自真人的录音或计算机生成的语言。客户端计算设备104能够经由以通信方式耦合到计算设备104的显示设备144提供视觉输出。

将语音查询输入到客户端计算设备104的终端用户能够与多个客户端计算设备104相关联。例如,终端用户能够与可以是基于扬声器的数字助理设备的第一客户端计算设备104、可以是移动设备(例如,智能电话)的第二客户端计算设备104和可以是桌面型计算机的第三客户端计算设备104相关联。数据处理系统102能够通过公共的登录、位置、网络或其他链接数据来关联客户端计算设备104中的每个客户端计算设备。例如,终端用户能够使用相同的帐号用户名和密码登录到客户端计算设备104中的每个客户端计算设备。

客户端计算设备104能够接收由计算设备104的传感器138(例如,麦克风)检测到的输入音频信号。输入音频信号能够例如包括查询、问题、命令、指令、请求或以某种语言提供的其他陈述。输入音频信号能够包括问题或请求所针对的第三方(例如,数字组件提供者设备106)的标识符或名称。例如,请求能够是由特定数字组件提供者设备106提供的内容。

客户端计算设备104能够包括、执行或被称为数字助理设备。数字助理设备能够包括计算设备104的一个或多个组件。数字助理设备能够包括图形驱动器,该图形驱动器能够接收来自数据处理系统102的显示输出并且在显示器144上渲染该显示输出。图形驱动器能够包括控制或增强如何在显示器144上显示图形或视觉输出的硬件或软件组件。图形驱动器能够例如包括控制图形组件如何与计算设备104(或数字助理)的其余部分协作的程序。本地数字助理134能够对输入音频信号进行滤波以创建经滤波的输入音频信号,将经滤波的输入音频信号转换为数据分组,并且将数据分组发送到包括一个或多个处理器和存储器的数据处理系统。

数字助理设备能够包括音频驱动器142和扬声器组件(例如,换能器140)。预处理器组件可以接收显示输出的指示并且指令音频驱动器142生成输出音频信号,以促使扬声器组件(例如,换能器140)发送与显示输出的指示相对应的音频输出。

系统100能够包括、访问至少数字组件提供者设备106,或者与之交互。数字组件提供者设备106能够包括能够将数字组件提供给客户端计算设备104或数据处理系统102的一个或多个服务器。数字组件提供者设备106或其组件能够与数据处理系统102集成或者至少部分地由数据处理系统102执行。数字组件提供者设备106能够包括至少一个逻辑设备,诸如具有处理器的计算设备,以经由网络105与计算设备104、数据处理系统102或数字组件提供者设备106进行通信。数字组件提供者设备106能够包括至少一个计算资源、服务器、处理器或存储器。例如,数字组件提供者设备106能够包括位于至少一个数据中心的多个计算资源或服务器。

数字组件提供者设备106能够提供基于音频、视觉或多媒体的数字组件,以供客户端计算设备104呈现为音频输出数字组件、视觉输出数字组件或它们的混合。数字组件能够被合并到动作数据结构中,该动作数据结构被发送到客户端计算设备104并且由客户端计算设备104渲染。数字组件能够是或包括数字内容。数字组件能够是或包括数字对象。数字组件能够包括基于订阅的内容或付费内容。数字组件能够包括多个数字组件。例如,数字组件能够包括回答用户在请求中提出的问题的文本。客户端计算设备104能够将该文本处理为音频输出信号。数字组件能够包括或能够是数字电影、网站、歌曲、应用(例如,智能电话或其他客户端设备应用)或者其他基于文本、基于音频、基于图像或基于视频的内容。数字内容提供者设备106能够提供由数字内容提供者设备106生成、由用户上传或者源自其他数字内容提供者设备106的数字组件。

数字组件提供者设备106能够经由网络105将数字组件提供给客户端计算设备104并且绕过数据处理系统102。数字组件提供者设备106能够经由网络105和数据处理系统102将数字组件提供给客户端计算设备104。例如,数字组件提供者设备106能够将数字组件提供给数据处理系统102,该数据处理系统能够存储数字组件并且当客户端计算设备104请求时将数字组件提供给客户端计算设备104。

数据处理系统102能够包括至少一个计算资源或服务器。数据处理系统102能够包括至少一个接口110,与之交互,或以其他方式与之通信。数据处理系统102能够包括至少一个自然语言处理器组件114,与之交互,或以其他方式与之通信。数据处理系统102能够包括至少一个数字组件选择器120,与之交互,或以其他方式与之通信。数据处理系统102能够包括至少一个接口管理组件135,与之交互,或以其他方式与之通信。数据处理系统102能够包括至少一个数据存储库124,与之交互,或以其他方式与之通信。至少一个数据存储库124能够在一个或多个数据结构或数据库中包括或存储过去请求的日志128、模板130和内容数据132。数据存储库124能够包括一个或多个本地数据库或分布式数据库。

接口110、自然语言处理器组件114、数字组件选择器120和接口管理组件135能够各自包括配置为与数据库存储库或数据库124进行通信的至少一个处理单元或其他逻辑设备,诸如可编程逻辑阵列引擎或模块。接口110、自然语言处理器组件114、数字组件选择器120、接口管理组件135和数据存储库124能够是单独的组件、单个组件或多个数据处理系统102的一部分。系统100及其组件、诸如数据处理系统102能够包括硬件元件,诸如一个或多个处理器、逻辑设备或电路。

数据处理系统102能够包括接口110。接口110能够被配置、构建或可操作为例如通过使用数据分组来接收和发送信息。接口110能够通过使用诸如网络协议的一个或多个协议来接收和发送信息。接口110能够包括硬件接口、软件接口、有线接口或无线接口。接口110能够促进将数据从一种格式转换或格式化成另一种格式。例如,接口110能够包括应用编程接口,该应用编程接口包括用于在诸如软件组件的各种组件之间进行通信的定义。

数据处理系统102能够包括安装在诸如本地数字助理134的客户端计算设备104上的应用、脚本或程序,以将输入音频信号通信到数据处理系统102的接口110并且驱动客户端计算设备的组件渲染输出音频信号或视觉输出。数据处理系统102能够接收数据分组、数字文件或者包括或识别输入音频信号(或多个输入音频信号)的其他信号。计算设备104能够经由换能器140检测音频信号并且经由模数转换器将模拟音频信号转换为数字文件。例如,音频驱动器142能够包括模数转换器组件。预处理器组件能够将音频信号转换为能够经由数据分组在网络105上发送的数字文件。

数据处理系统102能够执行或运行nlp组件114以接收或获得包括由计算设备104的传感器138检测到的输入音频信号的数据分组。客户端计算设备104也能够执行客户端计算设备104的实例以在客户端计算设备104处处理语言和文本。数据分组能够提供数字文件。nlp组件114能够接收或获得包括音频信号的数字文件或数据分组并且解析音频信号。例如,nlp组件114能够提供人与计算机之间的交互。nlp组件114能够配置有用于理解自然语言并且使得数据处理系统102从人类或自然语言输入中推导出含义的技术。nlp组件114能够包括或配置有基于机器学习、诸如统计机器学习的技术。nlp组件114能够利用决策树、统计模型或概率模型来解析输入音频信号。

nlp组件114能够例如执行如下功能:命名实体识别(例如,给定文本流,确定文本中的哪些项目映射到专有名称,诸如人或地点,以及每个这样的名称是何种类型,诸如人、位置或组织)、自然语言生成(例如,将来自计算机数据库的信息或语义意图转换为可理解的人类语言)、自然语言理解(例如,将文本转换为更正式的表达,诸如计算机模块能够操纵的一阶逻辑结构)、机器翻译(例如,自动将文本从一种人类语言翻译成另一种人类语言)、语素切分(例如,将词语分为各个词素并且识别词素的类别,这由于考虑中语言的词法或词语结构的复杂度而具有挑战性)、问题解答(例如,确定对人类语言问题的答案,这可以是具体或开放式的),语义处理(例如,在识别词语并对其含义进行编码以便将所识别的词语与具有相似含义的其他词语相关之后可能发生的处理)。nlp组件114能够识别所识别的词语的语义表示。通过识别语义表示,数据处理系统能够基于词语或短语的相似语义含义而非特定词语匹配来匹配词语或短语。例如,基于语义表示的输入请求搜索能够返回相关的请求。

nlp组件114能够通过将输入信号与存储的代表性音频波形集(例如,存储在数据仓库124中)进行比较并且选取最接近的匹配,将输入音频信号转换为已辨识的文本。该音频波形集能够被存储在数据存储库124或数据处理系统102可访问的其他数据库中。代表波形是跨大批用户而生成,然后可以用来自用户的语音样本来扩充。在音频信号被转换为已辨识的文本之后,nlp组件114将该文本与例如经由跨用户的训练或通过手动指定而与数据处理系统102能够服务的动作相关联的词语匹配。nlp组件114能够将图像或视频输入转换为文本或数字文件。例如,nlp组件114能够检测视频文件中的话音,将该话音转换为文本,然后处理该文本。nlp组件114能够转换、处理、分析或解释图像或视频输入以执行动作、生成请求或者选择或识别数据结构。

作为输入音频信号的补充或替代,数据处理系统102能够接收图像或视频输入信号。数据处理系统102能够例如通过使用图像解释技术、计算机视觉、机器学习引擎或其他技术来处理图像或视频输入信号,以辨识或解释图像或视频以将图像或视频转换为数字文件。一种或多种图像解释技术、计算机视觉技术、机器学习技术能够被统称为成像技术。作为音频处理技术的补充或替代,数据处理系统102(例如,nlp组件114)能够配置有成像技术。

nlp组件114能够获得输入音频信号。根据输入音频信号,nlp组件114能够识别至少一个请求或与该请求相对应的至少一个触发关键词。该请求能够指示输入音频信号的意图、数字组件或主题。触发关键词能够指示可能采取的动作类型。例如,nlp组件114能够解析输入音频信号,以识别至少一个对特定地点的当前天气的请求。该请求可以是明示请求或暗示请求。例如,请求“isitgoingtoraintoday(今天会下雨吗)”可以是是否会下雨的指示的明确请求。请求“doineedanumbrella(我需要带伞吗)”可以是是否会下雨的指示的暗示请示。

nlp组件114能够解析输入音频信号以识别、确定、检索或以其他方式获得来自输入音频信号的主要请求。譬如,nlp组件114能够将语义处理技术应用于输入音频信号,以识别输入音频信号中的请求。自然语言处理器组件114能够基于输入音频信号来识别候选请求。例如,自然语言处理器组件114能够识别输入音频信号中的主要请求。主要请求可能不明确或不清楚。如果主要请求具有多个可能响应,则主要请求可能不明确或不清楚。如果输入音频信号的质量较差并且自然语言处理器组件114不能处理输入音频信号中的一个或多个词项,则主要请求可能不明确或不清楚。

nlp组件114能够基于先前接收到的输入音频信号的日志来确定候选请求。数据处理系统102能够记录来自先前接收到的输入音频信号的先前识别出的请求。候选请求能够是语义上类似于在输入音频信号中识别出的主要请求的已记录请求。nlp组件114能够基于主要请求与已记录请求之间的语义相似度来对已记录请求进行排名。例如,已记录请求中的每个已记录请求能够被独热编码并转换为向量空间。主要请求能够被独热编码并转换为向量空间。主要请求与日志请求之间的相似度能够是基于向量空间中主要请求与已记录请求之间的距离。主要请求与日志请求之间的相似度能够是基于主要请求与已记录请求之间的皮尔逊相关系数(pearsoncorrelation)。

数据处理系统102能够执行或运行直接动作api112的实例。直接动作api112能够识别、选择或生成动作数据结构,以便履行在输入音频信号中识别出的请求(或候选请求)。根据该请求或触发关键字,直接动作api112预测、估计或以其他方式确定动作数据结构的主题。动作数据结构能够包括数字组件、文本、视频、图像或者能够通过客户端计算设备104响应于将输入音频信号发送到数据处理系统102而渲染的其他内容。

动作数据结构和内容项能够对应于输入音频信号的主题。如由nlp组件114所确定,直接动作api112能够生成指定的动作,以履行终端用户的意图、主要请求或候选请求。根据其输入中指定的动作,直接动作api112能够执行代码或对话脚本,这些代码或对话脚本识别履行用户请求所需的参数。这样的代码能够在数据存储库124中查找附加信息或者将动作数据结构(或由此生成的请求)发送到第三方设备,以将数据提供给数据处理系统102以便包括在动作数据结构中。例如,直接动作api112能够生成发送到搜索引擎的搜索短语。来自搜索引擎的响应能够被包括在动作数据结构的响应字段中。搜索短语或来自输入音频信号的请求能够被包括在动作数据结构的输入字段中。直接动作api112能够确定必要的参数并且能够将信息打包到动作数据结构中,然后该动作数据结构能够被发送到诸如数字组件选择器组件120的另一组件或者待履行的服务提供者计算设备的代理。直接动作api112能够将主要请求和候选请求发送到服务提供者或第三方,该服务提供者或第三方能够响应于接收到请求而返回经填充的动作数据结构。例如,当将位置提供给天气代理后,该天气代理能够返回指示天气的动作数据结构,诸如{loc:94035;currentweather:sunny;hitemp:85;lowtemp:60}。

数据处理系统102能够执行或运行接口管理组件135的实例。接口管理组件135能够轮询、确定、识别或选择用于渲染动作数据结构和数字组件的接口。接口管理组件135能够识别客户端计算设备104的接口。接口管理组件135能够识别与客户端计算设备104相关联的一个或多个接口或者相关联的客户端计算设备104。客户端计算设备104能够与一个或多个附加客户端计算设备104相关联。客户端计算设备104与附加客户端计算设备104能够通过共同的应用登入、登录、终端用户或其他标识符而彼此相关联。例如,客户端计算设备104的终端用户能够登入安装在客户端计算设备104和附加客户端计算设备104上的应用。该应用能够与数据处理系统102相关联或由其提供。使用相同的凭证登入应用能够使得数据处理系统102在数据存储库124中将客户端计算设备104链接在一起。

接口管理组件135能够识别客户端计算设备104的接口类型。识别接口类型能够包括确定客户端计算设备的接口的能力。例如,接口管理组件135能够确定客户端计算设备104是否包括显示器144、音频驱动器142(例如,扬声器)或它们的组合。识别或确定接口类型能够包括确定客户端计算设备104的设备类型。例如,接口管理组件135能够确定客户端计算设备104是智能电话、膝上型计算机、桌面型计算机、基于扬声器的辅助设备还是其他类型的计算设备。识别接口类型能够包括确定显示屏参数(例如,显示屏的尺寸、显示屏的取向、显示屏的分辨率);在界面上显示或由客户端计算设备104执行的应用、用户代理、内容或数字组件;或者音频参数。

接口管理组件135能够轮询客户端计算设备104以确定客户端计算设备104的接口类型。接口管理组件135能够通过向客户端计算设备104发送确定显示屏参数并将数据返回到接口管理组件135的消息来轮询客户端计算设备104。例如,接口管理组件135能够向客户端计算设备104发送包括能够确定显示器144的分辨率并将分辨率数据发送到接口管理组件135的客户端可执行脚本(例如,javascript)的数字组件。接口管理组件135能够以规律的间隔轮询客户端计算设备104(例如,响应于从客户端计算设备104接收到输入音频信号),以确定客户端计算设备104的接口类型。接口管理组件135能够在注册阶段期间轮询一次客户端计算设备104。一旦向数据处理系统102注册后,数据处理系统102便能够将与客户端计算设备104相关联的接口类型保存在数据存储库124中。接口管理组件135能够从输入音频信号中检索接口类型。例如,客户端计算设备104能够包括伴随输入音频信号的指示客户端计算设备104的接口类型的元数据。接口管理组件135能够处理该元数据以提取客户端计算设备104的接口类型。

基于输入音频信号,接口管理组件135能够确定多个候选请求中的哪个候选请求作出响应。数据处理系统能够响应于所识别的多个候选请求的一部分或子集。接口管理组件135能够响应于输入音频信号来选择一定数量的多个候选请求(例如,其一部分或其子集)。接口管理组件135能够基于客户端计算设备104的接口类型来选择候选请求的数量。例如,接口管理组件135能够针对具有相对更大显示器的客户端计算设备104选择相对更多的候选请求。例如,接口管理组件135能够确定客户端计算设备的显示器144上用于显示响应(例如,渲染的动作数据结构)的可用空间。接口管理组件135能够基于将适合显示器144的可用空间内的响应数量来选择响应的候选请求数量。

接口管理组件135能够基于自然语言处理器组件114确定输入音频信号中的词项或短语可能具有多个解释或可能响应来选择多个候选请求的数量。例如,包含短语“ok,howlongwillittaketogettowork(请确定去工作需要多久)”的输入音频信号可能具有多个解释。数据处理系统102能够基于用户是否意图驾车来确定第一响应,基于用户是否意图乘坐公共交通工具来确定第二响应,以及基于用户是否意图步行来确定第三响应。当请求生成多个响应时,或者当请求的动作数据结构的一个或多个字段留空时,请求可能具有多个解释,从而实现多个响应。例如,针对上述短语的动作数据结构可以是{start_location:“123mainst.”;destination_location:“4561ststreet”;method:““}。在本例中,未设定交通方法。数据处理系统能够生成候选请求和相关联的动作数据结构,而并非生成错误消息(因为未定义请求的全部参数)。针对不同候选请求的每个动作数据结构可能在方法字段中包括不同的交通方法。

接口管理组件135能够基于对从输入音频信号中所解析的请求的响应与对基于输入音频信号所生成的多个候选请求中的每个候选请求的响应之间的比较,确定多个候选请求的数量。例如,自然语言处理器组件114能够从输入音频信号中识别出请求“ok,howlongwillittaketogettoworkbycar(请确定乘车去工作需要多久)”。自然语言处理器组件114能够确定与所识别的请求相关的候选请求。例如,自然语言处理器组件114能够确定候选请求,诸如“howlongwillittaketogettoworkbypublictransit(乘坐公共交通工具去工作需要多久)”和“howlongwillittaketogettoworkbybike(骑自行车去工作需要多久)”。对请求的响应可以是“35minutesbycar(乘车35分钟)”。对候选请求的响应可以是“15minutesbythesubway(乘地铁15分钟)”和“40minutesbybike(骑自行车40分钟)”。接口管理组件135能够选择与对输入音频信号中识别出的请求的响应实质上不同的响应。例如,接口管理组件135除响应“35minutesbycar(乘车35分钟)”之外还能够选择响应“15minutesbythesubway(乘地铁15分钟)”,这是因为响应(例如,交通时间)实质上不同。这些响应之间的差异度或相似度能够通过机器学习或神经网络来确定。例如,每个响应的文本能够被转换为向量。

向量空间中响应之间的距离能够指示各个响应之间的相似度(或差异度)。与间隔更远的向量相比,彼此接近的向量能够被排名为更相似。例如,自然语言处理器组件114能够通过针对响应内的每个词语生成词语向量而生成相似度分数。自然语言处理器组件114能够使用连续的词袋(bag-of-words)神经网络模型或跳字(skip-gram)神经网络模型来生成响应中词语的向量表示。自然语言处理器组件114能够使用word2vec来生成词语向量。

接口管理组件135能够基于每个候选请求(或其响应)的广泛性分数来确定多个候选请求的数量。例如,自然语言处理器组件114能够识别广泛性分数高于预定阈值的请求。广泛性分数能够是基于数据处理系统102能够响应于输入音频信号而返回的可能响应的数量。例如,请求“whatisthetopspeedofa2015brandacar?(2015年a品牌汽车的最高速度多快?)”具有较低的广泛性分数,因为该请求实际上只有一个结果。请求“whatisthetopspeedofacar(汽车的最高速度多快)?”能够具有相对较高的广泛性分数,因为可能返回多个响应。例如,数据处理系统102可能针对不同的汽车类别、制造商或汽车配置返回不同的响应。当广泛性分数较高时,接口管理组件135能够选择更多数量的候选请求,数据处理系统102向客户端计算设备104提供对这些候选请求的响应。

接口管理组件135能够基于第二客户端计算设备104的接口类型来确定数据处理系统102对其提供响应的候选请求的数量。第二客户端计算设备104能够与将输入音频信号发送到数据处理系统102的客户端计算设备104相关。例如,客户端计算设备104能够是终端用户的智能电话,并且第二客户端计算设备104能够是终端用户的膝上型计算机。第二客户端计算设备104的接口类型能够与将输入音频信号发送到数据处理系统102的客户端计算设备104不同。例如,用户的智能电话能够具有第一尺寸和分辨率的显示器,并且用户的膝上型计算机能够具有第二尺寸和分辨率的显示器。接口管理组件135能够将对候选请求的响应的一部分发送到客户端计算设备104并且将对候选请求的响应的其余部分发送到第二客户端计算设备104。

数字组件选择器120能够选择包括文本、字符串、字符、视频文件、图像文件或音频文件的数字组件,该数字组件能够由客户端计算设备104处理并且经由显示器144或换能器140(例如,扬声器)呈现给用户。数字组件选择器120能够选择响应于由nlp分量114在输入音频信号中识别出的请求的数字组件。针对给定的请求,数字组件选择器120能够选择补充数字组件,该补充数字组件也能够随同主要数字组件来提供。主要数字组件能够是响应于请求或候选请求而直接选择的数字组件。例如,主要数字组件能够包括对请求中提出的问题的答案。补充数字组件能够是提供附加信息或与主要数字组件有关的附加数字组件。

数字组件选择器120能够选择哪个数字组件提供者设备106应当或能够履行该请求并且能够将该请求转发到数字组件提供者设备106。例如,数据处理系统102能够发起数字组件提供者设备106与客户端计算设备104之间的会话,以使得数字组件提供者设备106能够将数字组件发送到客户端计算设备104。数字组件选择器120能够从数字组件提供者设备106请求数字组件。数字组件提供者设备106能够将数字组件提供给数据处理系统102,该数据处理系统能够将数字组件存储在数据存储库124中。响应于对数字组件的请求,数字组件选择器120能够从数据存储库124中检索数字组件。响应于对数字组件的请求,数字组件选择器120能够响应于该请求而选择数字组件的一部分或全部以提供给客户端计算设备104。

数字组件选择器120能够经由实时内容选择过程来选择多个数字组件。数字组件选择器120能够对数字组件进行评分和排名并且提供多个数字组件,以包括在动作数据结构中,或更一般地,以便发送到客户端计算设备104。数字组件选择器120能够基于输入音频信号(或其中包含的关键词和请求)来选择发送到客户端计算设备104的一个或多个附加数字组件。在一个示例中,输入音频信号能够包括开始流送操作说明视频的请求。数字组件选择器120能够选择附加数字组件(例如,广告)。附加数字组件能够通知可能履行来自第一客户端计算设备104的请求的附加或相关的数字组件提供者设备106的终端用户。

数字组件选择器120能够将响应于在输入音频信号中识别出的请求而选择的选定数字组件提供给计算设备104或本地数字助理134或者在计算设备104上执行的应用以便进行呈现。因此,数字组件选择器120能够从客户端计算设备104接收内容请求,响应于该内容请求选择数字组件,并且将该数字组件发送到客户端计算设备104,以便进行呈现。数字组件选择器120能够将所选择的数字组件发送到本地数字助手134,以供本地数字助手134本身或由客户端计算设备104执行的第三方应用进行呈现。例如,本地数字助理134能够播放或输出与所选择的数字组件相对应的音频信号。

数据存储库124存储内容数据132,其能够例如包括由数字组件提供者设备106提供或者由数据处理系统102获得或确定的数字组件,以促进内容选择。内容数据132能够例如包括数字组件(或数字组件对象),其能够例如包括数字组件、在线文档、音频、图像、视频、多媒体内容或第三方内容。数字组件提供者设备106能够将全长数字组件提供给数据处理系统102,以存储为内容数据132。数字组件提供者设备106能够将部分数字组件提供给数据处理系统102。

数据存储库124能够存储模板130。模板130能够是动作数据结构的模板。模板130能够包括当履行请求时直接动作api112所能填充的字段。模板能够包括当完成或响应请求时直接动作api112或第三方所能填充的标准化字段。

数据存储库124能够存储过去请求128。过去请求128能够是由数据处理系统102在输入音频信号或其他输入信号中接收到的过去请求。能够通过自然语言处理器组件114从输入信号中解析过去请求。过去请求128能够是过去请求的日志。过去请求128能够是请求的数据库。该数据库能够包括过去请求的文本。数据库能够包括过去请求的向量化。每个过去请求的向量能够被独热编码。向量能够被使用于确定过去请求与当前请求之间的语义相似度。

图2示出在语音激活系统中生成基于语音的接口的示例方法200的框图。方法200能够包括接收输入信号(动作202)。方法200能够包括解析输入信号(动作204)。方法200能够包括确定接口类型(动作206)。方法200能够包括选择候选请求(动作208)。方法200能够包括生成动作数据结构(动作210)。方法200能够包括发送动作数据结构(动作212)。

如上所述,方法200能够包括接收输入信号(动作202)。方法200能够包括通过由数据处理系统执行的自然语言处理器组件接收输入信号。该输入信号能够是由第一客户端设备处的传感器检测到的输入音频信号。该传感器能够是第一客户端设备的麦克风。例如,由包括一个或多个处理器和存储器的数据处理系统至少部分地执行的数字助理组件能够接收输入音频信号。输入音频信号能够包括由数字助理协助的对话。对话能够包括一个或多个输入和输出。对话能够是基于音频、基于文本或音频与文本的组合。输入音频信号能够包括文本输入或者能够提供对话信息的其他类型的输入。数据处理系统能够接收关于与对话相对应的会话的音频输入。数据处理系统能够接收分为一个或多个部分或者成批或批量上传的音频输入(例如,在单次传输中上传对话的多个部分以减少传输次数)。

方法200能够包括解析输入信号(动作204)。数据处理系统的nlp组件能够解析输入信号以基于输入音频信号来识别多个候选请求。多个候选请求中的每个候选请求能够是基于输入信号的不同语义含义或解释。数据处理系统能够识别输入音频信号中的主要请求。候选请求能够是基于主要请求。候选请求能够是基于由nlp组件在主要请求中识别出具有多个解释的词项或短语。这些候选请求中的每个候选请求能够与主要请求相对应,其词项或短语以每种可能的解释来解释。例如,基于主要请求“ok,what’sthetimeingreenville(请确定格林维尔时间是几点)”,数据处理系统能够生成候选请求“what’sthetimeingreenville,nh(新罕布什尔州的格林维尔时间是几点)”和“what’sthetimeingreenville,sc(南卡罗来纳州的格林维尔时间是几点)”。数据处理系统能够基于主要请求和这些候选请求中的每个候选请求之间的语义相似度来生成或选择候选请求。例如,数据处理系统能够搜索过去请求的日志文件。数据处理系统能够计算向量空间中过去请求与主要请求之间的距离。数据处理系统能够选择与主要响应最相似(例如,在向量空间中最接近主要响应)的前一个、前三个、前五个、前十个或更多个过去响应。

nlp组件能够确定在输入音频信号中识别出的主要请求的置信分数。nlp能够基于主要请求的语义来确定置信分数。置信分数能够指示主要请求是否不明确或不清楚。例如,如果主要请求(或其中某个词项)具有多个解释,则主要请求的语义含义的置信分数可能很低。低置信分数能够表示主要请求可能具有多个解释、多个可能响应、是广义或广泛的请求或者该请求未包括足以提供响应的信息。如果请求中的词项具有多个解释,则请求可能具有多个或不同的语义。词项可能因该词项具有多个定义或者因该词项是同音同形异义词或同音异形异义词(例如,具有相同发音的不同词语)而具有多个解释。例如,用户请求有关“genes”的信息,但在基于音频的接口中,数据处理系统可能将“genes”解释为“genes(基因)”或“jeans(牛仔裤)”。请求可能因该请求缺少信息、上下文或其他数据而具有多个或不同的语义。例如,用户可能在未指定鸟类的情况下请求鸟的最高速度。当词项是属(例如,更高层次)词项而非种词项时,该词项可以是广义的。例如,corolla(c)是更广义的属词项汽车的一种。当置信分数低于预定阈值时,nlp组件能够确定选择多个候选请求,这表明主要请求具有多个语义含义。

方法200能够包括确定接口类型(动作206)。数据处理系统能够确定将输入音频信号发送到数据处理系统的客户端计算设备的接口类型。接口类型能够指示客户端设备的显示格式、客户端设备的显示尺寸、客户端设备的显示可用性或客户端设备的类型中的至少一个。数据处理系统能够轮询客户端计算设备以确定接口类型。例如,数据处理系统能够将向客户端计算设备发送包括处理器可执行指令的消息,这些处理器可执行指令当由客户端计算设备执行时确定客户端计算设备的接口类型。当将输入音频信号发送到数据处理系统时,客户端计算设备能够将接口类型的指示发送到数据处理系统。例如,客户端计算设备能够将客户端计算设备的接口类型的指示包括在元数据中或者作为输入音频信号的参数。

方法200能够包括选择候选请求(动作208)。数据处理系统能够选择数据处理系统将向客户端计算设备发送响应或动作数据结构的候选请求的子集。候选请求的子集能够是候选请求中的一个或多个。数据处理系统能够选择全部候选请求。所选择的候选请求的数量能够是基于客户端计算设备的接口类型。所选择的候选请求的数量能够是基于主要请求中具有多个解释的词项或短语。例如,数据处理系统能够选择与该词项或短语的解释数量相对应的候选请求的数量。数据处理系统能够基于主要请求与存储在过去请求日志中的一个或多个过去请求之间的语义相似度来选择候选请求的数量。

例如,参照图3和图4,数据处理系统尤其能够基于客户端计算设备的接口类型来选择候选请求的数量(或者数据处理系统将对其作出响应的候选请求的一部分)。图3示出示例客户端计算设备104,其显示对单个候选请求的响应。图4示出示例客户端计算设备104,其显示对多个候选请求的响应。在图3所示的示例中,客户端计算设备104是智能电话。客户端计算设备104提供了输入信号。输入信号能够是基于音频的信号或基于文本的信号。能够在客户端计算设备104的显示器144上渲染输入信号的文本302。数据处理系统102能够解析输入信号的文本302,以确定输入信号包括主要请求“howlongdoesittaketogettowork(去工作需要多久)”。数据处理系统能够确定主要请求能够包括多个候选请求。例如,候选请求能够是“howlongdoesittaketogettoworkbycar(乘车去工作需要多久)”,“howlongdoesittaketogettoworkbypublictransit(乘坐公共交通工具去工作需要多久”或“howlongdoesittaketogettoworkbybike(骑自行车去工作需要多久)”。如图所示,在图3中,接口类型能够指示显示器144是相对较小的显示器。响应于接口类型,数据处理系统能够选择单个候选请求。数据处理系统能够生成动作数据结构304,该动作数据结构包括基于文本的响应(或部分)306和基于图像的响应(或部分)308。基于文本的响应306能够包括向用户显示或说出的文本。基于图像的响应308能够包括向用户显示的图像、视频或其他数字组件。动作数据结构能够包括针对其生成了该动作数据结构的候选请求的指示。例如,基于文本的响应306指示数据处理系统返回了对候选请求“howlongdoesittaketogettoworkbypublictransit(乘坐公共交通工具去工作需要多久)”的响应。

图4示出客户端计算设备104显示对不同候选请求的多个响应的示例。在图4所示的示例中,客户端计算设备104是平板型计算机并且与图3所示的客户端计算设备104相比能够具有相对较大的显示器144。客户端计算设备104提供了输入信号。输入信号能够是基于音频的信号或基于文本的信号。能够在客户端计算设备104的显示器144上渲染输入信号的文本302。nlp组件能够确定主要请求“howfastdobirdsfly(鸟飞行速度多快)”是广泛的,因为该请求能够返回多个可能响应。例如,鸟的速度可能取决于用户意图对其请求信息的鸟类。数据处理系统能够确定主要请求是广泛或广义的。响应于接收到广泛或广义的主要请求,数据处理系统能够发送包括提示的消息。该消息能够是音频信号请求。用户能够响应于提示。客户端计算设备104能够捕获响应作为第二输入音频信号,该第二输入音频信号被发送到数据处理系统102。数据处理系统能够基于在第二输入音频信号中识别出的响应来选择候选响应中的一个或多个(或者生成新的候选响应)。

如图4所示,数据处理系统能够生成多个候选响应,它们可能包括“howfastcanbirdafly(鸟a能够飞得多快)”,“howfastcanbirdbfly(鸟b能够飞得多快)”和“howfastcanbirdcfly(鸟c能够飞得多快)”。数据处理系统能够生成其他候选请求。基于接口类型(例如,客户端计算设备104具有相对较大的屏幕),数据处理系统能够选择生成针对这些候选请求中的三个候选请求的响应。数据处理系统能够生成针对所选择的候选请求中的每个候选请求的动作数据结构。动作数据结构能够包括响应于它们所生成的候选请求的指示。图4示出数据处理系统生成三个动作数据结构,客户端计算设备104将它们渲染为卡404(1)、404(2)和404(3),它们能够统称为卡404。卡404能够包括对候选请求中的每个候选请求的单独响应。卡404能够包括文本、图像、视频、音频或者其他形式的内容或数字组件。卡404能够布置成轮播,使得用户能够在卡404之间轻扫或浏览以查看这些卡404中的每个卡。用户能够选择这些卡404中的一个或多个来激活卡404。激活卡404能够促使用户界面显示与卡404相关联的附加信息或者开始播放或渲染与卡404相关联的媒体(例如,视频或音频文件)。

方法200能够包括生成动作数据结构(动作210)。数据处理系统能够生成针对所选择的候选请求中的每个候选请求的动作数据结构。每个候选请求的动作数据结构能够包括响应,这些响应包括数字组件、基于视频的内容、基于文本的内容、基于音频的内容或其他类型的内容项。动作数据结构能够被发送到第三方服务器,或者在动作数据结构被发送到客户端设备之前,数据处理系统能够接收来自第三方服务器的数据以填充动作数据结构的一个或多个字段。动作数据结构的内容能够由客户端计算设备渲染并显示给用户。每个动作数据结构能够包括对候选请求中的相应一个的响应。

方法200能够包括发送动作数据结构(动作212)。数据处理系统能够经由数据处理系统的接口将所生成的动作数据结构发送到客户端计算设备。数据处理系统能够将动作数据结构发送到与客户端计算设备相关的客户端设备。数据处理系统能够生成针对未选择的候选请求中的一个或多个的动作数据结构,这些未选择的候选请求能够称为附加请求。针对附加请求的动作数据结构能够被发送到第二客户端设备。在某个示例中,客户端设备能够是智能电话。数据处理系统能够选择一个候选请求(例如,排名最高的候选请求),针对该候选请求生成动作数据结构作为响应并将其发送到客户端设备。数据处理系统也能够针对候选请求中的下五个(或其他数量)候选请求生成动作数据结构。动作数据结构能够被发送到用户的膝上型计算机。能够向智能电话发送指示在用户的膝上型计算机上可查看附加信息和可能响应的通知。

数据处理系统能够将动作数据结构发送到客户端计算设备以供依序或并行显示。例如,数据处理系统能够从多个候选请求中选择第一候选请求和第二候选请求。数据处理系统能够针对第一候选请求生成第一动作数据结构并且针对第二候选请求生成第二动作数据结构。数据处理系统能够发送第一动作数据结构和第二动作数据结构,以使这些动作数据结构作为响应一起在显示器上渲染。数据处理系统能够将第一动作数据结构和第二动作数据结构发送到客户端计算设备,以使这些动作数据结构被依序渲染。例如,第一动作数据结构能够被渲染为对用户输入信号的第一可能响应。渲染第一动作数据结构能够促使客户端计算设备显示与第一候选请求相关联的结果以及第一候选请求的指示(例如,第一候选请求的文本)。用户能够清除已渲染的第一动作数据结构。例如,用户能够从屏幕上扫除包括响应的卡。然后客户端计算设备能够渲染第二动作数据结构。数据处理系统能够基于客户端计算设备的接口类型来促使动作数据结构被依序渲染。例如,在智能电话的相对较小的屏幕上,动作数据结构能够被依序渲染。数据处理系统也能够将第一动作数据结构和第二动作数据结构分别发送到客户端计算设备。也就是说,数据处理系统能够将第一动作数据结构发送到客户端计算设备,并且仅在客户端计算设备指示第一动作数据结构已被清除的情况下,例如,指示用户已从屏幕上扫除包括第一响应的卡,才将第二动作数据结构发送到客户端计算设备。通过这种方式,不会将不必要的数据发送到客户端计算设备,因此带宽和处理负担得以减轻。

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

计算系统500可以经由总线505耦合到显示器535,诸如液晶显示器或主动矩阵显示器,以将信息显示给用户。诸如包括字母数字键和其他键的键盘的输入设备530可以耦合到总线505,以将信息和命令选择传送到处理器510。输入设备530能够包括触摸屏显示器535。输入设备530也能够包括光标控件,例如鼠标、跟踪球或光标方向键,以将方向信息和命令选择传送到处理器510并且控制显示器535上的光标移动。显示器535能够是例如数据处理系统102、客户端计算设备104或图1中其他组件的一部分。

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

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

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

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

术语“数据处理系统”、“计算设备”、“组件”或“数据处理装置”涵盖用于处理数据的各种装置、设备和机器,例如包括一个或多个可编程处理器、计算机、片上系统或者上述的组合。该装置能够包括专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。除硬件之外,该装置也能够包括为上述计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、运算系统、跨平台运行时环境、虚拟机或者它们中一个或多个的组合的代码。装置和执行环境能够实现各种计算模型基础结构,诸如web服务、分布式计算和网格计算基础结构。例如,接口110、数字组件选择器120、nlp组件114、接口管理组件135以及其他数据处理系统组件能够包括或共享一个或多个数据处理装置、系统、计算设备或处理器。

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

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

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

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

虽然在附图中以特定顺序描绘了操作,但不要求以所示的特定顺序或者以序列顺序执行这样的操作,并且不要求执行全部示出的操作。本文所述的动作能够以不同的顺序执行。

各种系统组件的分立不要求在全部实施方式中都分立,并且所述的程序组件能够被包含在单个硬件或软件产品中。例如,nlp组件114或接口管理组件135能够是单个组件、app或程序,或者是具有一个或多个处理电路的逻辑设备,或者是数据处理系统102的一个或多个服务器中的一部分。

现已描述了一些说明性实施方式,显然,上述内容为说明性而非限制性并且已举例说明。特别地,虽然本文呈现的许多示例涉及方法行为或系统元素的特定组合,但那些行为和那些元素可以其他方式组合实现相同的目标。所讨论的行为、元素和特征与一种实施方式组合并非旨在排除其他实施方式中的相似功能。

本文所用的短语和术语是出于描述目的,而不应视为限制性。本文中使用“包含”、“包括”、“具有”、“含有”、“涉及”、“其特征是”、“其特征在于”及它们的变形旨在涵盖其后列举的项目、其等同方案和附加项以及由其后列举的项排他性组成的替选实施方式。在一种实施方式中,本文所述的系统和方法由所述元素、行为或组件中的一个、一个以上的每种组合或其全体组成。

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

本文公开的任何实施方式可以与任何其他实施方式或实施方案组合,并且对“实施方式”、“一些实施方式”、“一个实施方式”等的引用并非必然互斥并且旨在指示结合该实施方式描述的特定特征、结构、特点可以被包含在至少一个实施方式或实施例中。这样如本文所用的用语并非必然全部指代相同的实施方式。任何实施方式可以包含性或排他性以符合本文公开的方面和实施方式的任何方式与任何其他实施方式组合。

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

在附图、具体实施方式或任何权利要求中的技术特征后标有附图标记的情况下,包含了这些附图标记来提高对附图、具体实施方式和权利要求的理解性。相应地,有无附图标记不会对任何权利要求要素的范围存在任何限制作用。

本文所述的系统和方法可以其他特定形式来体现,而不脱离其特征。例如,当启动应用时,计算设备104能够生成打包的数据对象并且将其转发到第三方应用。上述实施方式为说明性,而不限制所述的系统和方法。因此,本文所述的系统和方法的范围由所附权利要求而非上述描述来指定,并且权利要求的等同含义和范围内的更改被涵盖于其中。

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