在请求时间将补充音频内容动态插入到音频记录中的制作方法

文档序号:26102436发布日期:2021-07-30 18:13阅读:142来源:国知局
在请求时间将补充音频内容动态插入到音频记录中的制作方法



背景技术:

人们可以使用本文中称为“自动助理”(也称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“个人语音助理”、“会话代理”等)的交互式软件应用参与人机对话。例如,用户可以使用自由形式的自然语言输入来提供命令、查询和/或请求(本文中统称为“查询”),该自由形式的自然语言输入可以包括被转换成文本然后被处理的声音话语和/或键入的自由形式的自然语言输入。



技术实现要素:

根据本公开的一方面,一种经由数字助理应用将补充音频内容插入到主要音频内容中的系统可以包括在具有一个或多个处理器的数据处理系统上执行的记录索引器组件。记录索引器可以在数据库上维护内容发布方的音频记录和由内容发布方设置以指定内容点的内容点标记,该内容点定义了在音频记录的呈现期间插入补充音频内容的时间。该系统可以包括在数据处理系统上执行的自然语言处理器组件。自然语言处理器组件可以接收音频数据分组,该音频数据分组包括由客户端设备的传感器检测到的输入音频信号。自然语言处理器组件可以解析来自音频数据分组的输入音频信号,以确定输入音频信号对应于对来自内容发布方的音频记录的请求。自然语言处理器组件可以基于从输入音频信号确定的请求,从数据库中标识内容发布方的音频记录。该系统可以包括在数据处理系统上执行的内容放置组件。内容放置组件可以响应于确定输入音频信号对应于对音频记录的请求来标识与客户端设备相关联的标识符作为内容选择参数。内容放置组件可以针对音频记录的内容点使用内容选择参数从多个音频内容项中选择内容提供者的音频内容项。该系统可以包括在数据处理系统上执行的动作处置器组件。动作处置器组件可以将音频内容项插入到由内容点标记指定的音频记录的内容点中。动作处置器组件可以生成动作数据结构,该动作数据结构包括在由内容点标记定义的时间插入有音频内容项的音频记录。动作处置器组件可以将动作数据结构传输到客户端设备,以呈现在内容点处插入有音频内容项的音频记录。

根据本公开的一个方面,一种经由数字助理应用将补充音频内容插入到主要音频内容中的方法可以包括:由具有一个或多个处理器的数据处理系统在数据库上维护内容发布方的音频记录和由内容发布方设置以指定内容点的内容点标记,该内容点定义了在音频录制的呈现期间插入补充音频内容的时间。该方法可以包括由数据处理系统接收音频数据分组,该音频数据分组包括由客户端设备的传感器检测到的输入音频信号。该方法可以包括由数据处理系统解析来自音频数据分组的输入音频信号,以确定该输入音频信号对应于对来自内容发布方的音频记录的请求。该方法可以包括由数据处理系统基于从输入音频信号确定的请求从数据库中标识内容发布方的音频记录。该方法可以包括:响应于确定输入音频信号对应于对音频记录的请求,由数据处理系统标识与客户端设备相关联的标识符作为内容选择参数。该方法可以包括由数据处理系统针对音频记录的内容点使用内容选择参数从多个音频内容项中选择内容提供者的音频内容项。该方法可以包括由数据处理系统将音频内容项插入到定义由内容点标记指定的时间的音频记录的内容点中。该方法可以包括由数据处理系统生成动作数据结构,该动作数据结构包括在由内容点标记定义的时间插入有音频内容项的音频记录。该方法可以包括由数据处理系统将动作数据结构传输到客户端设备,以呈现在内容点处插入有音频内容项的音频记录。

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

附图说明

附图无意按比例绘制。在各个附图中,相似的附图标记和名称指示相似的元素。为了清楚起见,并非在每个附图中都标记了每个组件。

在附图中:

图1图示根据本公开的示例的经由数字助理应用将补充音频内容插入到主要音频内容中的示例系统的框图。

图2图示根据本公开的示例的在图1所示系统中经由数字助理应用将补充音频内容插入到主要音频内容中的示例数据流的序列图。

图3图示根据本公开的示例的呈现插入有补充音频内容的主要音频内容的示例客户端计算设备。

图4图示根据本公开的示例的使用图1中示出的示例系统经由数字助理应用将补充音频内容插入到主要音频内容中的方法的流程图。

图5是示例计算机系统的框图。

具体实施方式

以下是与经由数字助理应用将补充音频内容插入到主要音频内容中的方法、装置和系统有关的各种概念以及所述方法、装置和系统的实施方式的更详细描述。可以以许多方式中的任何一种来实现上面介绍和下面将更详细讨论的各种概念。

音频文件可以包括要经由客户端设备上的扬声器呈现的音频内容。为了生成用于音频文件的音频内容,内容发布方可以使用一个或多个麦克风记录各种来源的声音源-自然的(例如,人的声音、动物或天气)或人工的(例如,乐器、音响合成器或其他机器)。例如,为了创建播客记录,可以经由麦克风记录连续阅读文字记录的人类播音员的语音。在记录期间,可以对经由麦克风获取的声音进行采样、量化和编码,以形成用于音频文件的音频内容的声音的数字表示(例如,二进制码)。一旦在信息资源(例如,网页)上可用,客户端设备就可以从信息资源下载音频文件,并在以后时间使用媒体播放器播放音频文件。

然而,在生成音频文件之后,可能难以在不干扰或分割已经包括在文件中的音频内容的情况下添加由诸如内容提供方的另一实体提供的补充音频内容。这可能特别有问题,因为与近乎实时地提供并且因此可以容易被中断以插入此类内容的流媒体内容不同,音频文件可以在下载后的某个时间离线播放。插入补充音频内容的一种方法可以包括手动记录补充音频内容以及内容发布方的主要音频内容。从先前的播客示例继续,要被记录的由人类播音员大声阅读的文字记录本身可以包括用于主要音频内容的部分之间的用于补充音频内容的部分。但是这种方法通常会导致音频文件的收听者不得不经常听到与他们无关的相同的补充音频内容。此外,这种类型的方法可能无法将内容调整到动态变化或上下文驱动的技术环境,诸如用于回放内容的音频设备的保真度、收听者的当前音频环境以及当前的网络状况等。

缺少补充音频内容对当前环境的适应可能是由在标识要插入的补充音频内容时没有考虑请求客户端设备和主要音频内容的内容选择过程引起的。从内容提供方的角度来看,没有这样的过程,内容提供方可能难以评估或标识哪个音频文件或内容发布方要提供补充音频内容。结果,在没有相关的补充音频内容的情况下,客户端设备可能从对潜在相关内容的附加请求的生成和传输以及最初提供技术上次优的输出中消耗更多的计算资源和网络带宽。这也可能导致用户与播放音频文件的客户端设备之间的人机交互(hci)的降级。

在数字助理应用的场境下,这些技术挑战可能会加剧。数字助理应用可以解析经由客户端设备上的麦克风获取的输入语音命令,以标识对来自特定内容提供方的音频内容的请求。例如,由数字助理应用解析的输入语音命令可以是“从‘新闻源a’下载播客”。提供给数字助理应用的内容提供方的音频文件可以包括插入到音频文件中并且无需任何内容选择过程而被选择的补充音频内容。利用数字助理应用,由于使用了计算复杂的自然语言处理算法,因此生成对内容的附加请求可能会消耗大量的计算资源和网络带宽。

为了解决将补充音频内容插入音频文件的主要音频内容中的这些和其他挑战,本系统和方法可以在请求时间动态地选择并插入补充音频内容。音频文件可以具有由内容提供方指定的内容点,该内容点可以定义在主要音频内容中插入和播放补充音频内容的时间段。在标识出语音命令是对来自特定内容提供方的音频文件的请求时,数字助理应用可以调用内容选择服务。内容放置服务可以标识用于从补充音频内容中选择以插入到内容点中的内容选择参数。内容选择参数可以包括标识符,诸如设备标识符、cookie标识符、账户标识符或账户简档等。使用这些参数,内容放置服务可以针对文件中的音频内容的内容点从来自不同内容提供方的内容集合中标识补充音频内容。一旦被标识出,数字助理应用就可以将补充音频内容插入到音频内容内的内容点中。数字助理应用可以将具有补充音频内容的音频文件提供并返回给客户端设备以进行呈现。

通过合并内容选择参数,可以使用附加参数来增强对补充音频内容的选择和标识,以将其插入到音频文件中音频内容的内容点中。例如,使用标识符,数字助理应用可以监视在提供音频文件之后在客户端设备处是否发生预定义的交互之一(例如,针对内容提供方的语音命令查询)。基于在其处检测到预定义的交互的客户端设备的数量,内容选择服务可以确定音频文件的音频内容内的内容点的内容点参数。内容点参数的值可以与在呈现具有补充音频内容的音频文件之后发生预定义交互之一的可能性成比例。除了内容选择参数之外,内容选择服务还可以使用内容点参数来标识要插入到文件音频内容中的补充音频内容。

由于在标识请求时使用各种参数来选择内容,因此插入到内容点中的补充音频内容可能在技术上更适合当前条件,或者可能与经由客户端收听音频内容的用户更相关。由于适应性和/或相关性的增加,经由客户端设备的后续相关交互的可能性可能增加,从而改善了用户与客户端设备之间的人机交互(hci)。此外,可以减少由数字助理应用接收后续语音命令以对内容的附加请求的机会,从而减少计算资源和网络带宽的消耗。

图1除其他外描绘了经由数字助理应用将补充音频内容插入到主要音频内容中的示例系统100的框图。系统100可以包括至少一个数据处理系统102。数据处理系统102可以包括至少一个处理器和存储器,即,处理电路。存储器存储处理器可执行指令,该处理器可执行指令在由处理器执行时使处理器执行本文所述操作中的一个或多个。处理器可以包括微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)等或其组合。存储器可以包括但不限于电子、光学、磁性或能够向处理器提供程序指令的任何其他存储或传输设备。存储器可以进一步包括软盘、cd-rom、dvd、磁盘、存储芯片、asic、fpga、只读存储器(rom)、随机存取存储器(ram)、电可擦除可编程rom(eeprom)、可擦除可编程rom(eprom)、闪存、光学介质或处理器可以从中读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。数据处理系统102可以包括一个或多个可以执行各种功能的计算设备或服务器。

数据处理系统102可以包括多个按逻辑分组的服务器,并且有助于分布式计算技术。服务器的逻辑组可以称为数据中心、服务器场或机器场。服务器可以在地理位置上分散。数据中心或机器场可以作为单个实体进行管理,或者机器场可以包括多个机器场。每个机器场内的服务器可以是异构的——服务器或机器中的一个或多个可以根据一种或多种类型的操作系统平台进行操作。数据处理系统102每个可以包括存放在一个或多个高密度机架系统中的数据中心中的服务器,以及例如位于企业数据中心中的相关联的存储系统。以这种方式,具有整合服务器的数据处理系统102可以通过将服务器和高性能存储系统定位在本地化的高性能网络上来改善系统的可管理性、数据安全性、系统的物理安全性以及系统性能。包括服务器和存储系统的所有或一些数据处理系统102组件的集中化以及将它们与高级系统管理工具结合在一起,允许更有效地使用服务器资源,这节省了功率和处理需求并减少了带宽使用。数据处理系统102的每个组件可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、电器或诸如被配置为与系统100的其他计算设备进行通信的可编程逻辑阵列的其他逻辑设备。

系统100可以包括至少一个客户端设备104。客户端设备104可以包括至少一个逻辑设备,诸如具有处理器以与系统100的其他组件进行通信的计算设备。客户端设备104可以包括关于数据处理系统102描述的任何组件的实例。客户端设备104可以包括台式计算机、膝上型计算机、平板计算机、个人数字助理、智能电话、移动设备、便携式计算机、瘦客户端计算机、虚拟服务器、基于扬声器的数字助理或其他计算设备。

系统100可以包括至少一个内容发布方106。内容发布方106可以包括由内容出版实体操作以提供主要音频内容的服务器或其他计算设备。例如,内容发布方106可以与记录主要音频内容的音频记录实体相关联。主要音频内容可以是音频广播(在本文中有时称为播客或音频播客)的记录。主要音频内容可以包括由音频记录实体定义的一个或多个中断(breaks)以用于插入来自内容发布实体之外的其他实体的其他音频内容。中断可以对应于其他内容可以插入的记录内的(例如,静音或其他声音的)时段。一旦被记录,内容发布方106就可以封装并生成一个或多个音频文件,并使这些文件可经由信息资源(例如,网页)、web应用或另一程序来下载。音频文件可以是任何格式,诸如wav、mpeg、mp3、riff、aac、ogg和wma等。

系统100可以包括至少一个内容提供方108。内容提供方108可以包括由内容提供方实体操作以提供补充音频内容的服务器或其他计算设备。例如,内容提供方108可以与记录补充音频内容(在本文中有时称为第三方音频内容)的另一音频记录实体相关联。补充音频内容可以被包括或插入到由内容发布方106创建的主要音频内容中。例如,由内容提供方108记录的补充音频内容处于由与内容发布方106相关联的音频记录实体定义的中断中。一旦被记录,内容提供方108就可以封装并生成一个或多个音频文件,并经由信息资源(例如,网页)、web应用或另一程序,结合主要音频内容,使这些文件可用于呈现。音频文件可以是任何格式,诸如wav、mpeg、mp3、riff、aac、ogg和wma等。

系统100可以包括至少一个网络112。诸如数据处理系统102、客户端设备104、内容发布方106和内容提供者108的系统100的组件可以通过网络112进行通信。网络112可以包括例如点对点网络、广播网络、广域网、局域网、电信网络、数据通信网络、计算机网络、atm(异步传输模式)网络、sonet(同步光网络)网络、sdh(同步数字体系)网络、nfc(近场通信)网络、局域网(lan)、无线网络或有线网络以及其组合。网络112可以包括无线链路,诸如红外信道或卫星波段。网络112的拓扑结构可以包括总线、星形或环形网络拓扑结构。网络112可以包括使用用于在移动设备之间进行通信的任何一种或多种协议(包括高级移动电话协议(amps)、时分多址(tdma)、码分多址(cdma)、全球移动通信系统(gsm)、通用分组无线电业务(gprs)或通用移动电信系统(umts))的移动电话网络。可以经由不同的协议传输不同类型的数据,或者可以经由不同的协议传输相同类型的数据。

数据处理系统102可以包括数字助理应用110的至少一个实例。数字助理应用110可以包括至少一个自然语言处理器(nlp)组件116,以解析基于音频的输入。数字助理应用110可以包括至少一个音频信号生成器组件118,以生成基于音频的信号。数字助理应用110可以包括至少一个直接动作处置器组件120以生成动作数据结构。数字助理应用110可以包括至少一个响应选择器组件122,以选择对基于音频的输入信号的响应。数字助理应用可以包括至少一个数据存储库124,以维护数字助理应用110的数据。nlp组件116、音频信号生成器组件118、直接动作处置器组件120、响应选择器组件122和数据存储库124中的一个或多个可以与数据处理系统102上的数字助理应用110的实例分离或彼此分离。

数据存储库124可以包括一个或多个本地或分布式数据库,并且可以包括数据库管理系统。数据存储库124可以包括计算机数据存储或存储器,并且可以存储一个或多个正则表达式126、一个或多个参数128、一个或多个策略130、响应数据132、模板134和至少一个标识符136等数据。参数128、策略130和模板134可以包括诸如关于客户端设备104和数据处理系统102之间的基于语音的会话的规则的信息。正则表达式126可以包括关于经由数字助理应用110在客户端设备104和数据处理系统102之间进行基于语音的会话的规则。正则表达式126、参数128、策略130和模板134还可以包括从另一个源(例如,数据处理系统102和客户端设备104)接收到的另一个数字助理应用110的信息。响应数据132可以包括用于音频输出或相关联的元数据的内容项,以及可以是与客户端设备104的一个或多个通信会话的一部分的输入音频消息。标识符138可以包括关于客户端设备104的信息(例如,访问和执行数字助理应用110的认证凭证)。

数据处理系统102可以包括至少一个记录索引器组件138,以接收和维护来自内容发布方106和内容提供者108的音频内容。数据处理系统102可以包括至少一个内容放置组件140,以选择来自内容提供方108的补充音频内容以用于插入到内容发布方106的主要音频内容中。数据处理系统102可以包括至少一个转换检测组件142,以监视与音频内容的提供有关的交互。数据处理系统102还可以包括至少一个数据存储库144,以维护记录索引器组件138、内容放置组件140或转换检测组件142等的数据。记录索引器组件138、内容放置组件140、转换检测组件142和数据存储库144中的一个或多个可以与数据处理系统102上的数字助理应用110的实例分离(例如,如所描绘的)。记录索引器组件138、内容放置组件140、转换检测组件142和数据存储库144中的一个或多个可以是数据处理系统102上数字助理应用110的实例的一部分。

数据处理系统102可以包括至少一个接口114。接口114可以被配置、构造或操作为使用例如数据分组来接收和传输信息。接口114可以使用诸如网络协议的一种或多种协议来接收和传输信息。接口114可以包括硬件接口、软件接口、有线接口或无线接口。接口114可以是使系统100的组件能够彼此通信的数据接口或网络接口。数据处理系统102的接口114可以经由网络112提供或传输包括动作数据结构、音频信号或其他数据的一个或多个数据分组。例如,数据处理系统102可以将输出信号从数据存储库124或从音频信号生成器组件118提供到客户端设备104。

数据处理系统102还可以经由数据分组传输来指示客户端设备104执行动作数据结构中指示的功能。可以将输出信号作为一个或多个数据分组(或其他通信协议)从数据处理系统102(或其他计算设备)获取、生成、转换或传输到客户端设备104。接口114可以促进或将数据从一种格式转换或格式化为另一种格式。例如,接口114可以包括应用编程接口(“api”),该应用编程接口包括用于在诸如软件组件的各种组件之间进行通信的定义。可以将与数据处理系统102相关联的应用、脚本、程序或其他组件安装在客户端设备104处。该应用可以使客户端设备104能够将输入音频信号(和其他数据)传送到数据处理系统102的接口114。

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

客户端设备104可以至少包括数字助理应用110的实例。诸如数字助理应用110的数据处理系统102的功能可以被包括在客户端设备104内,或者可以(例如,经由接口114)从客户端设备104访问。数据处理系统102的功能可以与在客户端设备104上执行的功能相对应或与在客户端设备104上执行的数字助理应用110对接。客户端设备104可以各自包括并执行数字助理应用110的一个或多个组件的单独实例。客户端设备104还可以经由网络112访问数据处理系统102上的数字助理应用110的组件的功能。例如,客户端设备104可以包括nlp组件116的功能,并可以经由网络112访问数据处理系统102的数字助理应用110的其余组件。

客户端设备104可以与终端用户相关联,该终端用户将语音查询作为音频输入(经由麦克风154或扬声器152)输入到客户端设备104中,并从数据处理系统102接收音频(或其他)输出以向客户端设备104的终端用户呈现、显示或渲染。数字组件可以包括计算机生成的语音,该语音可以从数据处理系统102提供给客户端设备104。客户端设备104可以经由扬声器152向终端用户渲染计算机生成的语音。计算机生成的语音可以包括来自真人或计算机生成的语言的记录。客户端设备104可以经由通信耦合到客户端设备104的显示设备来提供视觉输出。

客户端设备104可以包括至少一个扬声器152和至少一个麦克风154或与之对接或通信。客户端设备104可以包括音频驱动器以给扬声器152和麦克风154提供软件接口。音频驱动器可以执行由数据处理系统102提供的指令,以控制扬声器152生成相应的音波或声波。音频驱动器可以执行音频文件或其他指令以转换从麦克风154获取的音波或声波以生成音频数据。例如,音频驱动器可以执行模数转换器(adc),以将音波或声波转换为音频数据。

数字助理应用110的功能可以由数据处理系统102和客户端设备104上的实例分配或执行。例如,客户端设备104上的数字助理应用110的实例可以检测关键字并基于该关键字执行动作。客户端设备104上的数字助理应用110可以是在数据处理系统102处执行的数字助理应用110的实例,或者可以执行数字助理应用110的任何功能。客户端设备104可以在将术语作为数据传输到数据处理系统102(例如,数据处理系统102上的数字助理应用110的实例)之前过滤掉一个或多个术语或修改术语以进行进一步处理。客户端设备104上的数字助理应用110的实例可以将由扬声器152检测到的模拟音频信号转换为数字音频信号,并且经由网络112将携带数字音频信号的一个或多个数据分组传输到数据处理系统102。客户端设备104上的数字助理应用110的实例可以响应于检测到用于执行这种传输的指令来传输携带一些或整个输入音频信号的数据分组。该指令可以包括例如触发关键字或其他关键字或批准,以将包括输入音频信号的数据分组传输到数据处理系统102。

客户端设备104上的数字助理应用110的实例可以对输入音频信号执行预滤波或预处理以去除音频的某些频率。该预滤波可以包括诸如低通滤波器、高通滤波器或带通滤波器的滤波器。滤波器可以应用于频域。可以使用数字信号处理技术来应用滤波器。滤波器可以被配置为保持对应于人类话音或人类语音的频率,同时消除掉落在人类语音的典型频率之外的频率。例如,带通滤波器可以被配置为去除低于第一阈值(例如,70hz、75hz、80hz、85hz、90hz、95hz、100hz或105hz)并且高于第二阈值(例如,200hz、205hz、210hz、225hz、235hz、245hz、255hz或3khz)的频率。应用带通滤波器可以减少下游处理中的计算资源利用率。客户端设备104上的数字助理应用110的实例可以在将输入音频信号传输到数据处理系统102之前应用带通滤波器,从而降低网络带宽利用率。基于客户端设备104可用的计算资源和可用的网络带宽,在一些情况下将输入音频信号提供给数据处理系统102以允许数据处理系统102执行滤波可能更为有效。客户端设备104上的数字助理应用110的实例可以应用附加预处理或预滤波技术(例如降噪技术)以减少可能干扰自然语言处理器的环境噪声水平。降噪技术可以提高自然语言处理器的准确性和速度,从而提高数据处理系统102的性能和对经由显示器提供的图形用户界面的管理渲染。

在数据处理系统102上运行的数字助理应用110的实例的nlp组件116可以接收包括由客户端设备104的麦克风154检测到的输入音频信号的音频数据分组。数据分组可以提供数字文件。nlp组件116可以接收或获得包括音频信号的数字文件或数据分组并解析音频信号。在将输入音频信号提供给数据处理系统102时,客户端设备104上的nlp组件116可以生成至少一个音频数据分组(有时在本文中通常称为数据分组)。音频数据分组可以包括由客户端设备104的麦克风154获取的输入音频信号。音频数据分组可以包括与客户端设备104、在客户端设备上运行的数字助理应用110或输入音频信号的传输有关的数据,诸如一个或多个标识符136。标识符136可以包括,例如:引用客户端设备104的设备标识符、与数字助理应用110的用户相关联的账户标识符(例如,作为认证凭证的一部分)或指配给数字助理应用110的当前使用的会话或cookie标识符等。音频数据分组中的数据还可以包括元数据,诸如与客户端设备104相关联的设备属性、与数字助理应用110相关联的应用属性以及与用于登录数字助理应用110的账户相关联的特性特征(traitcharacteristic)等。在生成时,客户端设备104上的nlp组件116可以将音频数据分组传输到数据处理系统102。随后,运行在数据处理系统102上的数字助理应用110的实例可以接收音频数据分组,并且可以处理包括输入音频信号和任何附加数据的音频数据分组。

为了解析输入音频信号,nlp组件116可以被配置有用于理解自然语言并使数据处理系统102能够从人类或自然语言输入中导出含义的技术。使用各种自然语言处理技术,nlp组件116可以提供人(例如,客户端设备104的用户)和计算机(例如,在数字助理应用110上运行的客户端设备104)之间的交互。nlp组件116可包括或配置有基于诸如统计机器学习的机器学习的技术。nlp组件116可以利用决策树、统计模型或概率模型来解析输入音频信号。nlp组件116可以执行例如以下功能,诸如命名实体识别(例如,给定文本流,确定文本中的哪些项映射到名称(诸如人或地方)以及每个这样的名称的类型是什么,诸如人、位置(例如“家”)或组织)、自然语言生成(例如,将信息从计算机数据库或语义意图转换为可理解的人类语言)、自然语言理解(例如,将文本转换为更正式的表示,诸如计算机模块可以操纵的一阶逻辑结构)、机器翻译(例如,自动将文本从一种人类语言翻译成另一种人类语言)、形态分割(例如,将单词分离为单个词素并标识词素的类别,这基于所考虑语言的单词的形态或结构的复杂性而可能会具有挑战性)、问答(例如,确定对人类语言问题的回答,这可以是特定的或开放式的)或语义处理(例如,在标识出单词并将其含义编码以后可能发生的以便将所标识出的单词与其他具有相似含义的单词相关联的处理)。

nlp组件116可以通过将输入信号与(例如,在数据存储库124中)存储的代表性音频波形集进行比较并选择最接近的匹配来将输入音频信号转换为识别的字符串。音频波形集可以存储在数据存储库124或数据处理系统102可访问的其他数据库中。代表性波形跨大量用户生成,然后可以用来自用户的语音样本来增强。在音频信号被转换为识别的文本之后,nlp组件116将文本与单词匹配,该单词例如经由跨用户的训练或通过手动规范与数据处理系统102可以服务的动作相关联。nlp组件116可以确定从麦克风154获取的输入音频信号不包含任何可识别的字符串。在确定输入音频信号不包含任何可识别的字符串时,nlp组件116可以确定输入音频信号包含静音(例如,最大幅度小于0db)。另外,nlp组件116可以确定输入音频信号的信噪比(snr)。nlp组件116可以将输入音频信号的snr与阈值snr(例如,-20db)进行比较。响应于确定输入音频信号的snr大于阈值snr,nlp组件116可以确定输入音频信号不包含任何可识别的字符串。

除了输入音频信号之外或代替输入音频信号,nlp组件116可以接收和处理图像或视频输入信号。nlp组件116可以将图像或视频输入转换为文本或数字文件。nlp组件116可以处理、分析或解释图像或视频输入以执行动作,生成请求,或者选择或标识数据结构。数据处理系统102可以使用例如图像解释技术、计算机视觉、机器学习引擎或其他技术来处理图像或视频输入信号来识别或解释图像或视频,以将图像或视频转换为数字文件。可以将一种或多种图像解释技术、计算机视觉技术或机器学习技术统称为成像技术。除了音频处理技术之外或代替音频处理技术,数据处理系统102(例如,nlp组件116)可以被配置有成像技术。

nlp组件116可以从输入音频分组中获得或标识由客户端设备104的麦克风154获取的输入音频信号。在获得之后,nlp组件116将输入音频信号分割或划分为一个或多个音频时间段(例如,15秒到2分钟)片段以处理或解析每个片段。通过解析,nlp组件116可以从输入音频信号中标识一个或多个单词。基于所标识的单词,nlp组件116可以确定输入音频信号是否对应于对来自特定内容发布方106的音频内容的请求。该确定可以基于所标识的是否与对音频内容的请求的格式设置匹配。格式设置可以由数据存储库124上维护的正则表达式126、参数128、策略130和模板134指示或指定。对音频内容的请求的格式设置可以包括:指示要检索的意图的触发字、要检索的音频内容的类型以及要从中检索音频内容的实体。例如,由nlp组件116从输入音频信号中识别的单词可以包括“从新闻频道xyz下载播客”。在此示例中,触发关键字可以是“下载”,对象可以是“播客”,而发起实体可以是“新闻频道xyz”。

通过从输入音频信号中标识单词,nlp组件116可以确定单词是否对应或匹配对音频内容的请求的格式设置。可以使用一种或多种自然语言处理技术来执行该确定。例如,可以采用问答来确定触发关键字,并且可以使用实体识别来标识音频内容的类型和发起实体。响应于确定来自输入音频请求的单词与格式设置不匹配,nlp组件116可以确定输入音频信号不对应于对音频内容的请求。此外,nlp组件116可以执行附加动作以执行在输入音频信号的单词中指示的另一种类型的请求。相反,响应于确定单词与格式设置匹配,nlp组件116可以确定输入音频对应于对音频内容的请求。此外,数字助理应用110和数据处理系统102可以执行附加动作以在从内容发布方106检索音频内容时满足请求。

在数据处理系统102上执行的记录索引器组件138可以在数据存储库144上维护音频记录146的集合。在维护数据存储库144时,记录索引器组件138可以从内容发布方106之一接收音频记录146。在接收到之后,记录索引器组件138可以将音频记录146存储在数据存储库144上。记录索引器组件138还可以标识从其中接收到音频记录146的内容发布方106,并将音频记录146与内容发布方106相关联,并存储音频记录146和内容发布方106之间的关联。每个音频记录146可以从内容发布方106之一提供或接收,并且可以经由下载到客户端设备104上的数字助理应用110来提供。音频记录146可以包括任何格式类型(诸如wav、mpeg、mp3、riff、aac、ogg和wma等)的一个或多个音频文件。音频记录146可以包括由相关联的内容发布方106创建的主要音频内容。除了主要音频内容之外,音频记录146可以包括至少一个内容点148。内容点148可以定义其间将呈现补充音频内容的主要音频内容的一部分。内容点148可以由内容发布方106使用相应的内容点标记来指定或提供。内容点标记可以定义在音频记录146中的主要音频内容的呈现期间要播放补充内容的时间或时间窗口。

此外,记录索引器组件138在数据存储库144上维护补充音频内容项150(以下通常称为音频内容项150)。在维护数据存储库144时,记录索引器组件138可以从内容提供方108接收音频内容项150。在接收到之后,记录索引器组件138就可以将音频记录146存储在数据存储库144上。记录索引器组件138还可以标识从其中接收到音频内容项150的内容提供方108,将音频内容项150与内容提供方108相关联,并存储音频内容项150与内容提供方108之间的关联。每个音频内容项150可以从内容提供方108之一提供或接收,并且可以经由下载到客户端设备104上的数字助理应用110上被提供为音频记录146的一部分。每个音频内容项150可以包括一个或多个任何类型格式的音频文件,诸如wav、mpeg、mp3、riff、aac、ogg和wma等。音频内容项150可以包括由相关联的内容提供方108创建的补充音频内容。音频内容项150的补充音频内容可以被插入到音频记录146之一的内容点148中。一旦被插入,音频内容项150的补充音频内容如内容点148的内容点标记所指定在主要音频内容之前、期间或之后呈现。

响应于确定输入音频信号对应于对音频内容的请求,nlp组件116可以从数据存储库144中标识音频记录146以提供给客户端设备104上的数字助理应用110。基于从输入音频信号解析的单词,nlp组件116可以标识其音频内容与请求相关联的内容发布方106。例如,nlp组件116可以使用实体识别来标识与内容发布方106相关联的内容发布方实体。通过标识与请求相关联的内容发布方106,nlp组件116可以访问数据存储库144以标识属于内容发布方106的音频记录146的子集。nlp组件116可以调用记录索引器组件138,以使用所标识的内容发布方106从数据存储库144中搜索和检索音频记录146中的至少一个。例如,记录索引器组件138可以从内容发布方106中搜索存储和维护在数据存储库144上的最新音频记录146。从子集中,nlp组件116可以基于从输入音频信号解析的单词来标识要提供的一个音频记录146。

在数据处理系统102上执行的内容放置组件140可以选择或标识音频内容项150中的至少一个,以插入到与请求相关联的音频记录146的每个内容点148中。通过确定输入音频信号对应于对内容的请求,内容放置组件140可以标识至少一个内容选择参数。内容选择参数可用于选择音频内容项150之一以包括在音频记录146的内容点148中。内容选择参数可包括,例如:标识符136(例如,设备标识符、账户标识符、或会话或cookie标识符);与客户端设备104相关联的至少一个设备属性(例如,设备类型、设备能力、网络地址和地理位置);与客户端设备104上的数字助理应用110相关联的至少一个应用属性(例如,应用名称、版本或呈现能力);以及与用于登录数字助理应用110的账户标识符相关联的至少一个特性特征(例如,账户简档、兴趣标识符或用户片段)等。

为了标识内容选择参数,内容放置组件140可以解析由客户端设备104上的数字助理应用110提供的音频数据分组,以标识包括在其中的数据。通过解析,内容放置组件140可以提取或标识包括在音频数据分组中的标识符136。一旦被标识出,内容放置组件140就可以将来自音频数据分组的标识符136用作内容选择参数之一。代替解析或除解析之外,内容放置组件140可以经由应用编程接口(api)从客户端设备104上的数字助理应用110检索标识符136。例如,音频数据分组可能会缺少标识符136,并且数字助理应用110可能已使用标识符136进行认证以进行操作。在此示例中,内容放置组件140可以根据由数字助理应用110所用api的规范来调用函数调用以抓取标识符136。此外,内容放置组件140可以解析音频数据分组以标识其中包括的元数据,诸如设备属性、应用属性和特性特征等。通过该标识,内容放置组件140可以使用从音频数据分组中标识的设备属性、应用属性或特性特征作为内容选择参数。

此外,内容放置组件140可以确定用于与输入音频信号的请求相关联的音频记录146中包括的每个内容点148的内容点参数。内容点参数可用于对内容点148进行评估,并且可以与音频记录146或插入到内容点148中的补充音频内容或者其组合的测量或估计的观看次数成比例。音频记录146本身的收听次数和插入到音频记录146的内容点148中的补充音频内容的收听次数可以从跨多个客户端设备104的音频记录146的先前服务来检测(instrument)。例如,可以经由跨不同客户端设备104的数字助理应用110的多个实例,从检测音频记录145的回放来测量音频记录145的收听次数。插入到音频记录146的一个内容点148中的补充音频内容的收听次数可以从检测跨已经被提供有音频记录146的多个客户端设备104检测到的预定义交互事件的次数来测量。预定义交互事件可以包括,例如:经由客户端设备104的麦克风154检测到的后续语音查询,其包括与补充音频内容有关的单词或与关联于补充音频内容的内容提供方108相关联的信息资源的交互的集合。可以(例如,经由重构、趋势估计或外推技术)根据测量的次数来计算音频记录146的估计出的收听次数和插入到内容点148中的补充音频内容的估计出的收听次数。可以通过数据处理系统102的计数器来确定和维护测量的次数和估计出的次数。

在确定次数时,内容放置组件140可以建立至少一个预测模型,以估计音频记录146的收听次数和插入到内容点148中的补充音频内容的收听次数。可以根据任意数量的机器学习算法或模型(诸如回归模型(例如,线性的或逻辑的)、支持向量机、人工神经网络(ann)、随机森林分类器、贝叶斯统计模型或k最近邻算法等)生成预测模型。可以使用维护在数据存储库124或144上的训练数据集来建立预测模型。训练数据集可以包括关于其他音频记录146的收听次数以及在各个内容点148处插入到音频记录146中的补充音频内容的收听次数的先前或样本测量值。此外,训练数据集可以包括音频记录146和内容点148本身的一个或多个特征,例如:每个音频记录146的长度、音频记录146中的内容点148的长度、音频记录148内定义内容点148的时间、音频记录146的主题类别以及插入到内容点148中的补充音频内容的主题类别等。训练数据集还可以包括有关音频记录146的听众的数据,诸如:设备属性、应用属性或特性特征等。使用训练数据集,内容放置组件140可以根据机器学习算法或模型的类型来训练预测模型(例如,直到收敛为止)。在训练时,预测模型可以用于确定音频记录146的预测的(或估计的)收听次数以及要插入到音频记录146内的任何内容点148中的补充音频内容的收听次数。

为了确定用于内容点148的内容点参数,内容放置组件140可以计算、确定或标识跨多个客户端设备104的音频记录146的收听次数。内容放置组件140可以标识由计数器维护的音频记录146的测量的收听次数。内容放置组件140可以标识(例如,使用外推法计算的)音频记录146的估计的收听次数。内容放置组件140还可以应用音频记录146以确定音频记录146的预测的收听次数。在应用时,内容放置组件140可以标识音频记录146的各种特征(例如,长度和主题类别)。在应用之后,内容放置组件140可以确定或标识由预测模型输出的预测的收听次数。

此外,对于音频记录146中的每个内容点148,内容放置组件140可以计算、确定或标识跨多个客户端设备104插入到内容点148中的补充音频内容的收听次数。补充音频内容可以对应于在数据存储库144上维护的音频内容项150中的一个或多个。内容放置组件140可以标识由计数器维护的插入到内容点148中的补充音频内容的测量的收听次数。内容放置组件140可以标识(例如,使用外推法计算出的)插入到内容点148中的补充音频内容的估计出的收听次数。内容放置组件140还可以应用音频记录146以确定插入到内容点148中的补充音频内容的预测的收听次数。在应用时,内容放置组件140可以标识音频记录146的各种特征(例如,长度和主题类别)和内容点148(例如,音频记录146内的时间)。在应用之后,内容放置组件140可以标识由预测模型输出的预测的收听次数。

基于测量的、估计的或预测的收听次数,内容放置组件140可以计算或确定音频记录146中的内容点148的内容点参数。内容放置组件140可以使用音频记录146的收听次数来确定一个内容点参数。内容放置组件140还可以使用音频记录146的内容点148中的补充音频内容的收听次数来确定另一个单独的内容点参数。内容放置组件140还可以基于音频记录146的收听次数和音频记录146中的内容点148的收听次数的组合来确定单个内容点参数。该组合可以包括,例如,求和、平均、加权平均或函数等,或其任何组合。

在选择要插入到内容点148中的补充音频内容时,内容放置组件140可以运行或执行内容放置过程,以从候选音频内容项150的集合中选择音频内容项150。在运行该过程中,内容放置组件150可以从每个内容提供方108请求、检索或标识内容提交参数。内容提交参数可以表示或指示相应的内容提供方108对音频记录146中的内容点148的评估。内容提交参数可以与由相应的内容提供方108提供的音频内容项150相关联。内容提交参数的值越高,内容提供方108的音频内容项150越可能被选择。为了检索内容提交参数,内容放置组件150可以向每个内容提供方108发送对参数的请求。该请求可以包括内容选择参数和内容点参数。在接收到之后,每个内容提供方108可以基于内容选择参数和内容点参数来确定或生成内容提交参数。一旦生成,内容提供者108就可以用内容提交参数进行响应,以发送给数据处理系统102。

使用一个或多个参数,内容放置组件140可以选择音频内容项150中的至少一个,以插入到所标识的音频记录146的内容点148中。内容放置组件140可以基于内容选择参数从数据存储库144上维护的候选音频内容项150的集合中选择音频内容项150。例如,内容放置组件140可以通过规范(例如,设备属性、应用属性和特性属性)与内容选择参数匹配而找到音频内容项150。内容放置组件140还可以基于内容点参数(结合内容选择参数)来选择音频内容项150。例如,内容放置组件140可以标识音频内容项150的子集,其具有与由特性属性指示的兴趣匹配的分类主题并且具有与内容点148相同的长度。在该示例中,从该子集中,内容放置组件140可以选择具有最高预测的收听次数的一个音频内容项150用于补充音频内容,以将其插入到内容点148处的音频记录146中。

在选择内容项150时,内容放置组件140还可以使用内容提交参数,并且可以在接收到内容提交参数的情况下继续内容放置过程。内容放置组件140可以对从各种内容提供方108接收到的内容提交参数进行排名。根据排名,内容放置组件140可以标识具有最高内容提交参数的内容提供方108。通过该标识,内容放置组件140可以从排名中具有最高内容提交参数的内容提供方108中标识或选择音频内容项150。内容选择参数、内容点参数或内容提交参数的任何组合可用于标识或选择音频内容项150,以插入到音频记录146的内容点148中。内容放置组件140可以针对为音频记录146定义的每个内容点148重复选择一个音频内容项150的过程。

数字助理应用110的直接动作处置器组件120可以将由内容放置组件115选择的音频内容项150插入音频记录146的内容点148中。通过从数据存储库144中选择音频内容项150,直接动作处置器组件120可以访问数据存储库144以标识由nlp组件116标识的音频记录146。例如,直接动作处置器组件120可以检索与由内容发布方106生成并由nlp组件116标识的声音记录146相对应的一个或多个音频文件。在标识之后,直接动作处置器组件120可以标识音频记录146中为其选择了音频内容项150的内容点148。直接动作处置器组件120可以在由相应的内容点标记定义的时间将音频内容项150添加、嵌入或插入到内容点148中。例如,直接动作处置器组件120可以在由内容点148的内容点标记定义的时间窗口期间从音频记录146中删除音频内容或使音频内容为空。在移除之后,直接动作处置器组件120可以将所选择的音频内容项150覆盖到音频记录146内的内容点148的时间窗口中。在插入音频内容项150时,直接动作处置器组件120可以执行一个或多个信号处理算法来转换补充音频内容以与音频记录146中的剩余部分兼容。信号处理算法可以包括例如各种音频混合技术,诸如均衡、压缩和平衡等。直接动作处置器组件120可以插入为音频记录146的内容点148选择的所有音频内容项150。通过插入音频内容项150,直接动作处置器组件120可以缓存或存储音频记录146(例如,作为一个或多个编辑的音频文件)以提供给客户端设备104。

直接动作处置器组件120可以生成至少一个动作数据结构,以执行在由客户端设备104上的麦克风154检测到的输入音频信号中指示的请求。动作数据结构可以根据超文本传输协议(http)等来生成。例如,动作数据结构可以与其他数据一起包含在http响应的主体(或有效负载)中,以完成输入音频信号中指定的请求。直接动作处置器组件120可以根据存储在数据存储库124中的数据(诸如,正则表达式126、参数128、策略130、响应数据132和模板134等)来调用响应选择器组件122格式或生成直接动作结构。例如,响应选择器组件122可以从数据存储库124中检索模板134,以确定哪些字段将包括在动作数据结构中。响应选择器组件122可以从数据存储库124中检索内容,以获得用于对音频内容的请求的响应的数据结构的字段信息。响应选择器组件122(或直接动作处置器组件120)可以在消息中包括一个或多个单词,以作为对音频内容的请求的响应而包括在动作数据结构中。例如,响应消息可以包含单词“foundpodcast.downloadingfromtalkshowpqr(找到播客,从脱口秀pqr下载)”。

在生成动作数据结构时,直接动作处置器组件120可以包括音频记录146,该音频记录146具有插入到内容点148中的一个或多个音频内容项150。直接动作处置器组件120可以将与具有插入的音频内容项150的音频记录146相对应的一个或多个音频文件插入到动作数据结构中。直接动作处置器组件120可以包括地址(例如,url地址或网络地址),该地址将具有音频内容项150的音频记录146引用到动作数据结构中。该地址可由客户端设备104上的数字助理应用110的实例使用,以检索或下载具有从数据存储库144插入的音频内容项150的音频记录146。直接动作处置器组件120可以包括音频记录146作为http响应的主体的一部分,该http响应包括动作数据结构。在插入之后,直接动作处置器组件120可以将动作数据结构提供、发送或传输到客户端设备104上的数字助理应用110的实例。动作数据结构的传输可能涉及或对应于将动作数据结构上传到客户端设备104上,而不是将音频记录146流传输到客户端设备104。例如,不是经由流传输提供音频记录146的块,直接动作处置器组件120可以传输与音频记录146相对应的文件,以下载到客户端设备104上。

通过传输,客户端设备104上的数字助理应用110的实例可以接收动作数据结构,该动作数据结构包括具有插入的音频内容项150的音频记录146。动作数据结构的接收可能涉及或对应于通过数字助理应用110检索或下载音频记录146本身,而不是对包括在音频记录146中的音频内容进行流传输。客户端设备104上的数字助理应用110可以解析动作数据结构以提取、检索或者标识音频记录146。例如,当包括音频文件时,数字助理应用110可以从http响应的主体中提取与音频记录146相对应的一个或多个音频文件。当包括具有插入的音频内容项150的音频记录146的地址时,数字助理应用110可以使用该地址检索音频记录146并将该音频记录146下载到客户端设备104上(例如,硬盘驱动器或存储器上)。在检索之后,数字助理应用110可以经由客户端设备104的扬声器152呈现具有在内容点148处插入的音频内容项150的音频记录146。例如,客户端设备104上的数字助理应用110可以包括媒体播放器组件,以处理经由扬声器152回放音频记录146的下载的音频内容。

(数据处理系统102或客户端设备104上的)数字助理应用110的音频信号生成器组件118可以解析动作数据结构以标识用于响应的单词。音频信号生成器组件118可以响应于在输入音频信号中指示的请求基于响应短语的一个或多个单词来生成输出音频文件。音频信号生成器组件118可以(例如,经由扬声器152)播放响应短语的一个或多个单词的输出音频文件。例如,音频信号生成器组件118可以生成包括单词“foundpodcast.downloadingfromtalkshowpqr(找到播客,从脱口秀pqr下载)”的输出音频文件。客户端设备104上的数字助理应用110还可以显示响应短语的一个或多个单词。

在数据处理系统102上执行的转换检测组件142可以在提供具有插入的音频内容项150的音频记录146之后监视在客户端设备104上发生的一个或多个交互事件。交互事件可以包括另一个输入音频信号、点击事件、屏幕触摸事件或回放启动事件、回放暂停事件,或经由客户端设备104检测到的其他事件等。转换检测组件142可以使用多种技术来监视交互事件。例如,转换检测组件142可以使用标识符136(例如,以会话标识符的形式)来访问经由web应用(例如,web浏览器)接收到的交互事件。转换检测组件142可以使用标识符136(例如,以设备标识符或账户标识符的形式)来访问经由客户端设备104上的数字助理应用110的应用编程接口(api)所检测到的交互事件。api可以定义用于检索至少在客户端设备104上的数字助理应用110上检测到的预定义的交互事件的函数调用。例如,在检测到回放启动和随后的回放完成事件时,数字助理应用110可以经由api将指示发送到转换检测组件142。转换检测组件142可以经由api访问数字助理应用110对音频记录146的回放内的位置。该位置可以指示正在经由客户端设备104播放音频记录146内的时间点。

通过监视,转换检测组件142可以维护和更新跨多个客户端设备104的音频记录146的收听次数的计数器。该计数器可以指示测量的音频记录146的收听次数,并且可以在确定内容点参数时由内容放置组件140使用。为了维护计数器,转换检测组件142可以(例如,经由数字助理应用110的api)监视对音频记录146的回放内的位置。转换检测组件142可以响应于从客户端设备104上的数字助理应用110中检测到回放启动事件而开始监视回放。转换检测组件142可以确定位置是否与音频记录146的预定义的持续时间匹配。预定义的持续时间可以对应于音频记录146的时间上的整个长度或如内容发布方106所指定的音频记录146的整个长度的百分比(例如,75%至95%)。

转换检测组件142可以将监视的位置与预定义的持续时间进行比较。通过比较,转换检测组件142可以确定音频记录146的回放在客户端设备104上的数字助理应用110上是否已经完成。响应于确定位置与预定义的持续时间匹配,转换检测组件142可以确定音频记录146的回放完成。此外,转换检测组件142可以增加用于音频记录146的收听次数的计数器。转换检测组件142还可以使用对回放完成事件的检测独立于所监视的位置来增加计数器。相反,响应于确定位置与预定义的持续时间不匹配,转换检测组件142可以继续监视回放的位置。

另外,转换检测组件142可以维护跨多个客户端设备插入到音频记录146的内容点148中的补充音频内容的收听次数的计数器。计数器可以指示插入到音频记录146的内容点148中的补充音频内容(例如,选择的音频内容项150或另一音频内容项150)的所测量的收听次数。计数器可以在确定内容点参数时由内容放置组件140使用。为了维护音频内容项150的收听次数的计数器,转换检测组件142可以将一个或多个检测到的交互事件与预定义的交互事件的集合进行比较。可以针对插入到音频记录148的内容点148中的音频内容项150预定义交互事件的集合。可以由内容提供方108针对音频内容项150将交互事件的集合指定为与转换相对应,并可以包括一个或多个预期用于转化的事件。例如,用于音频内容项150的交互事件的集合可以包括经由客户端设备104的麦克风154获取包括内容提供方108的名称的输入音频信号。

根据比较,转换检测组件142可以确定检测到的交互事件是否与音频内容项150的预定义交互事件匹配。响应于确定检测到的交互事件与预定义的交互事件之间的匹配,转换检测组件142可以确定插入到音频记录146的内容点148中的补充音频内容被收听。此外,转换检测组件142可以增加用于插入到音频记录146的内容点148中的补充音频内容的收听次数的计数器。转换检测组件142还可以维护和更新用于音频内容项150本身的收听次数的计数器。另一方面,响应于确定检测到的交互事件和预定义的交互事件之间缺少匹配,转换检测组件142可以确定插入到内容点148中的补充音频内容没有导致转换。另外,转换检测组件142可以维护用于插入到音频记录146的内容点148中的补充音频内容的收听次数的计数器的值。

基于所测量的次数,转换检测组件142可以计算或确定音频记录146的预期的收听次数以及插入到音频记录146的每个内容点148中的补充音频内容的预期的收听次数。转换检测组件142可以访问计数器以标识所测量的音频记录146的收听次数和所测量的插入到音频记录146的内容点148中的补充音频内容的收听次数。通过该标识,转换检测组件142可以应用任何数量的技术(诸如回归、重构、趋势估计或外推)来确定预期的收听次数。例如,转换检测组件142可以标识随时间测量的音频记录146(或内容点148之一处的补充音频内容)的收听次数。转换检测组件142可以构造多项式函数以表征所测量的收听次数。根据构造的函数,转换检测组件142可以确定在将来的时间点的音频记录146的预期的收听次数。

以这种方式,与音频记录146一起呈现的音频内容项150可以与做出初始请求的客户端设备104的数字助理应用110的用户具有更高的相关性。随着相关性的增加,与音频内容项150有关的后续交互的可能性会增加。另外,可以降低到数字助理应用110的后续语音命令与先前语音命令或音频记录146不一致的机会。因此,这样的音频内容项150包括在音频记录146中可以改善用户与客户端设备104上的数字助理应用110之间的人机交互,同时保存计算资源并节省网络带宽。

图2除其他外描绘了在图1所示的系统中将补充音频内容插入到主要音频内容中的示例数据流200的序列图。数据流200可以由以上结合图1描述的系统100或下面结合图5详细描述的系统500来实现或执行。数据流200可以包括数据处理系统102、客户端设备104、内容发布方106、内容提供方108、扬声器152和麦克风154等之间的分组(例如,http消息)形式的通信。

客户端设备104上的数字助理应用110的实例可以经由麦克风156检测音频信号205。数字助理应用110可以对音频信号205进行初始处理,以生成数据分组210(有时在本文中称为作为音频数据分组)。数据分组210可包括输入音频信号205本身或使用自然语言处理技术从该音频信号205标识出的一个或多个字符串。客户端设备104可以将数据分组210发送到数据处理系统102上的数字助理应用110的远程实例。

同时,数据处理系统102可以从内容发布方106接收音频文件215。音频文件215可以是音频记录146的实例,并且可以包括由内容发布方106生成的主要音频内容。可以使用内容点标记来接收音频文件215,该内容点标记定义了要在其中插入补充音频内容的音频文件215的主要音频内容内的时间窗口。在接收到之后,数据处理系统102可以将音频文件215存储并维护到数据存储库144上。

数据处理系统102上的数字助理应用110的实例可以从客户端设备104接收数据分组210。在接收到之后,数字助理应用110可以解析数据分组210中包括的输入音频信号以标识一个或多个单词。通过该标识,数字助理应用110可以确定单词对应于对来自内容发布方106之一的音频内容的请求。响应于该确定,数字助理应用110可以标识来自指定的内容发布方106的音频文件210。此外,数字助理应用110可以(例如,经由内容放置组件140)调用内容放置过程。

在执行处理时,数据处理系统102可以确定用于发出请求的客户端设备104的内容选择参数,并且可以确定音频文件215中的内容点的内容点参数。数据处理系统102还可以针对内容放置参数向内容提供方108发送抓取请求220。在接收到之后,每个内容提供方108可以生成值参数225(在本文中有时称为内容提交参数)。值参数225可以指示相应的内容提供方108对音频文件215内的内容点148的评估。一旦生成,每个内容提供者108可以将值参数225传输到数据处理系统102。使用各种参数,数据处理系统102可以根据内容放置过程选择一个音频内容项150以包括在音频文件215的内容点148中。

通过选择音频内容项150,数据处理系统102上的数字助理应用110的实例可以将音频内容项150插入到音频文件215的内容点148中。数字助理应用110还可以生成动作数据结构230以封装或包括具有插入到内容点148中的音频内容项150的音频文件215。在生成后,数据处理系统102上的数字助理应用110可以向客户端设备104上的数字助理应用110的实例传输动作数据结构230。音频文件215的传输可以是下载到客户端设备104上,而不是流。相应地,客户端设备104上的数字助理应用110可以接收并解析动作数据结构230,以标识具有插入的音频内容项150的音频文件215。通过该标识,数字助理应用110可以将具有插入的音频内容项250的音频文件215转换成音频信号235以进行回放。扬声器152可以输出音频信号235以呈现和回放包括在音频文件215中的主要音频内容和补充音频内容。

图3除其他外描绘了示例客户端设备104,该示例客户端设备104在配置300下呈现主要和补充音频内容时具有请求和响应消息。在配置300中,在客户端设备104上运行的数字助理应用110的实例可以经由麦克风154接收输入音频信号。nlp组件116可以使用自然语言处理技术来识别输入音频信号中的一个或多个单词。数字助理应用110可以将自然语言处理技术的输出显示为文本内容项305。文本内容项305可以包括从经由麦克风154获取的输入音频信号中解析出的单词“downloadapodcastfromtalkshowa(从脱口秀a下载播客)”。nlp组件116还可以使用自然语言处理技术来识别从输入音频信号中解析出的单词对应于对音频内容的请求。nlp组件116可以标识与该请求相关联的内容发布方106(例如,“脱口秀a”)。数字助理应用110可以用文本内容项310显示执行请求的结果。文本内容项310可以包括单词“latestpodcastfromtalkshowa(来自脱口秀a的最新播客)”,并且可以包括媒体播放器界面315。媒体播放器界面315可以包括例如所描绘的暂停按钮、播放按钮和进度条等。

在满足如输入音频信号中所指示的请求时,nlp组件116可以从数据存储库144中标识与内容发布方106相关联的音频记录146之一。音频记录146可以包括主要音频内容320和定义内容点148的至少一个内容点标记。内容点148可以定义其内要插入补充音频内容325的时间窗口。为了插入补充音频内容325,内容放置组件140可以确定用于客户端设备104的内容选择参数和用于内容点148的内容点参数。另外,内容放置组件140可以从与候选音频内容项150相关联的各种内容提供方108收集内容提交参数。内容放置组件140可以使用该参数集运行内容放置过程以选择要插入到内容点148中的音频内容项150中的一个。一旦插入,数据处理系统102就可以提供具有音频内容项150的音频记录146以下载到客户端设备104上,并经由客户端设备104上的数字助理应用110回放。在接收到与媒体播放器界面315上的播放按钮的交互之后,数字助理应用110可以回放具有音频内容项150的音频记录146。

图4除其他外描绘了经由数字助理应用将补充音频内容插入到主要音频内容中的示例方法400的流程图。方法400可以由以上结合图1至图3描述的系统100或以下结合图5详细描述的系统500来实现或执行。方法400可以包括解析输入音频信号(405)。客户端设备104上的数字助理应用110的实例可以接收经由麦克风154获取的输入音频信号。数字助理应用110可以执行初始处理并将输入音频信号封装为音频数据分组以发送给数据处理系统102。数据处理系统102上的数字助理应用110的实例可以从客户端设备104接收音频数据分组。nlp组件116可以解析音频数据分组以标识输入音频信号。为了进行处理,nlp组件116可以使用自然语言处理来标识输入音频信号中的一个或多个单词,并且可以基于所识别的单词来确定输入音频信号对应于对音频内容的请求。

方法400可以包括标识音频记录146(410)。响应于确定输入音频信号对应于对音频内容的请求,nlp组件116可以标识与该请求相关联的内容提供方108。通过该标识,nlp组件116可以访问数据存储库144以标识属于在请求中指示的内容发布方106的音频记录146。数据存储库可以由记录索引器组件138维护,并且可以包括来自各种内容发布方106的音频记录146。音频记录146可以包括主要音频内容和由内容点标记定义的用于插入补充音频内容的至少一个内容点148。

方法400可以包括标识内容选择参数(415)。响应于确定输入音频信号对应于对内容的请求,数据处理系统102上的内容放置组件140可以确定客户端设备104的内容点参数。内容放置组件140可以标识与做出请求的客户端设备104上的数字助理应用110相关联的标识符136(例如,设备标识符、账户标识符、会话或cookie标识符)。内容放置组件140还可以标识与音频数据分组相关联的数据,诸如设备属性、应用属性或特性特征等。内容放置组件140可以使用标识符136和相关联的数据作为内容选择参数。

方法400可以包括确定内容点参数(420)。为了确定内容点148之一的内容点参数,内容放置组件140可以标识所标识的音频记录146的收听次数。内容放置组件140还可以标识插入到音频记录146的内容点148中的补充音频内容的收听次数。每个收听次数可以使用计数器进行测量,使用外推法进行估计或使用机器学习模型进行预测。一旦被标识出,内容放置组件140就可以基于收听次数来计算或确定内容点参数。

方法400可以包括选择音频内容项150(425)。使用内容选择参数和内容点参数,内容放置组件140可以选择要插入到音频记录146的内容点148中的音频内容项150之一。内容放置组件140还可以执行内容放置过程以选择音频内容项目150。在运行该过程时,内容放置组件140可以从与候选音频内容项目150之一相关联的每个内容提供方108抓取内容提交参数。除了内容选择参数和内容点参数之外,内容放置组件140还可以在选择用于插入的音频内容项150时使用内容提交参数。

方法400可以包括将音频内容项150插入到音频记录146中(430)。数字助理应用110的直接动作处置器组件120可以将所选择的音频内容项150插入到音频记录146的内容点148中。为了插入,直接动作处置器组件120可以标识由音频记录146的内容点标记定义的内容点148。一旦被标识出,直接动作处置器组件120可以将所选择的音频内容项150覆盖或插入到音频记录146的内容点148中。直接动作处置器组件120还可以执行附加信号处理技术以有助于将音频内容项150插入音频记录146中。

方法400可以包括传输动作数据结构(435)。直接动作处置器组件120可以生成动作数据结构以包括具有插入的音频内容项150的音频记录146。动作数据结构的生成可以根据文本传输协议(http),其中动作数据结构作为http响应的主体的一部分被包括在内。一旦生成,直接动作处置器组件120就可以将动作数据结构发送或提供给客户端设备104上的数字助理应用110的实例。在提供动作数据结构时,直接动作处置器组件120可以提供具有插入的音频内容项150的音频记录146作为下载,而不是流传输。在接收到后,客户端设备104上的数字助理应用110的实例可以开始回放具有插入的音频内容项150的音频记录146。

方法400可以包括监视回放和交互(440)。在发送动作数据结构之后,数据处理系统102上的转换检测组件142可以监视交互和回放。转换检测组件142可以使用任何数量的技术进行监视,诸如使用会话cookie,或经由数字助理应用110的应用编程接口访问客户端设备104。使用检测到的交互和回放,转换检测组件142可以维护和更新用于音频记录146的收听次数的计数器。转换检测组件142可以维护和更新用于插入到音频记录146的内容点148中的补充音频内容的收听次数的计数器。

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

计算系统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服务、分布式计算和网格计算基础设施。系统100的组件可以包括或共享一个或多个数据处理装置、系统、计算设备或处理器。

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

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

本文描述的主题可以在包括后端组件(例如,作为数据服务器)或中间件组件(例如,应用服务器)或前端组件(例如,具有图形用户界面或web浏览器的客户端计算机,用户可通过该图形用户界面或web浏览器与本说明书中描述的主题的实施方式进行交互)或者一个或多个此类后端、中间件或前端组件的组合的计算系统中实现。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、网际网络(例如,互联网)和对等网络(例如,adhoc对等网络)。

诸如系统100或系统500的计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络(例如,网络112)进行交互。客户端和服务器之间的关系是通过在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。在一些实施方式中,服务器将数据(例如,表示内容项的数据分组)传输到客户端设备(例如,出于向与客户端设备交互的用户显示数据以及从该用户接收用户输入的目的)。可以从服务器处的客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)(例如,由数据处理系统102从客户端设备104接收)。

虽然在附图中以特定顺序描绘了操作,但是不需要以所示的特定顺序或以相继顺序来执行这样的操作,并且不需要执行所有示出的操作。本文描述的动作可以以不同顺序执行。

各个系统组件的分离并不需要在所有实施方式中都进行分离,并且所描述的程序组件可以包括在单个硬件或软件产品中。例如,nlp组件116和直接动作处置器组件120可以是单个组件、应用或程序、或具有一个或多个处理电路逻辑设备、或数据处理系统102的一个或多个服务器的一部分。

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

这里使用的措词和术语是出于描述的目的,而不应被认为是限制性的。本文中“包括(including)”、“包括(comprising)”、“具有”、“包含”、“涉及”、“特征为”、“特征在于”及其变体的使用意在涵盖其后列出的项目、其等同物和附加项目以及仅由其后列出的项目组成的替代实施方式。在一种实施方式中,本文描述的系统和方法由所描述的元素、动作或组件中的一个、每个多于一个的组合或全部组成。

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

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

对“或”的引用可以被解释为包括性的,使得使用“或”描述的任何术语可以指示所描述术语中的单个、多于一个以及全部中的任何一个。对术语的连词列表中的至少一个的引用可以解释为包括性的或,以指示所描述的术语中的单个、多于一个和全部中的任何一个。例如,对“‘a’和‘b’中的至少一个”的引用可以包括仅“a”、仅“b”以及“a”和“b”两者。结合“包括”或其他开放式术语使用的此类引用可以包括附加项目。

在附图、具体实施方式或任何权利要求中的技术特征之后跟随有参考标记的情况下,参考标记已经被包括以增加附图、具体实施方式和权利要求的可理解性。因此,参考标记或其缺失都不会对任何权利要求要素的范围产生任何限制性影响。

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

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