CN116075885A - 用于第三方数字助理动作的基于位向量的内容匹配 - Google Patents
用于第三方数字助理动作的基于位向量的内容匹配 Download PDFInfo
- Publication number
- CN116075885A CN116075885A CN202180017772.4A CN202180017772A CN116075885A CN 116075885 A CN116075885 A CN 116075885A CN 202180017772 A CN202180017772 A CN 202180017772A CN 116075885 A CN116075885 A CN 116075885A
- Authority
- CN
- China
- Prior art keywords
- data processing
- processing system
- action
- content
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000009471 action Effects 0.000 title claims abstract description 306
- 239000013598 vector Substances 0.000 title claims abstract description 125
- 230000004044 response Effects 0.000 claims abstract description 49
- 238000010801 machine learning Methods 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims description 248
- 238000000034 method Methods 0.000 claims description 80
- 230000003993 interaction Effects 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 21
- 230000009193 crawling Effects 0.000 claims 2
- 238000003058 natural language processing Methods 0.000 description 38
- 230000000153 supplemental effect Effects 0.000 description 34
- 230000005236 sound signal Effects 0.000 description 28
- 230000000875 corresponding effect Effects 0.000 description 18
- 238000013136 deep learning model Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000013135 deep learning Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000012549 training Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 241000282373 Panthera pardus Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- IRLPACMLTUPBCL-KQYNXXCUSA-N 5'-adenylyl sulfate Chemical compound C1=NC=2C(N)=NC=NC=2N1[C@@H]1O[C@H](COP(O)(=O)OS(O)(=O)=O)[C@@H](O)[C@H]1O IRLPACMLTUPBCL-KQYNXXCUSA-N 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/225—Feedback of the input speech
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Acoustics & Sound (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了使用位向量将内容与第三方数字助理动作匹配。一种系统接收具有语音助理兼容动作的应用。该系统识别应用中的操作。该系统识别由第三方计算设备提供的内容项。该系统通过机器学习模型和内容项的表现数据生成位向量或动作。该系统响应于来自执行应用的动作的客户端设备的内容请求,基于与动作对应的位向量来选择内容项。
Description
背景技术
计算设备可以运行应用。计算设备可以接收来自用户的查询、处理查询以及提供对查询的响应。然而,由于计算设备的输入或输出接口中的有限可用性或功能性,以高效且无经由可用接口的过多输入/输出过程的方式来提供对具有有限信息的查询的有用响应可能是具有挑战性的。
发明内容
本公开总体上针对用于数字助理动作的基于位向量的内容匹配。特别地,在计算设备上运行的应用可以配置有可由用户调用的语音动作。该技术方案的数据处理系统可以识别应用中语音动作的调用,检索为应用中的动作生成的位向量,并选择内容项以响应于语音动作的执行而提供或与语音动作的执行一起提供。
例如,由于应用的第三方开发者开发的大量助理动作以及这些动作在人的交互期间可进入的各种会话状态,将内容项(数字部件对象或补充内容项)与第三方开发的助理动作高效且准确地匹配可以具有挑战性的。高效且准确地匹配内容项可以是具有挑战性的,因为直到用户开始与动作对话也可能不表露动作响应,并且基于用户话语,动作可以采取许多不同的路径。此外,由于难以从动作中生成相关信号以与内容项匹配,高效且准确地匹配内容项可以是具有挑战性的。
该技术方案的系统和方法为数字助理动作提供基于位向量的内容匹配。例如,该技术方案的数据处理系统可以包括动作爬虫(action crawler),该动作爬虫可以模拟与基于数字助理的应用的对话。动作爬虫可以抓爬第三方动作中的各种对话路径。数据处理系统可以获得动作爬虫的输出,并将输出馈送到机器学习模型中以提取嵌入。数据处理系统可以使用该嵌入来检索最近的匹配内容项。数据处理系统可以根据动作爬虫输出对内容项进行评分。数据处理系统可以为包括相关内容项的动作创建位向量。数据处理系统随后可以检索位向量以响应于内容请求或对应动作的调用来执行实时内容选择。
至少一个方面针对一种系统,该系统包括具有存储器和一个或更多个处理器的数据处理系统。数据处理系统可以从应用开发者接收配置有语音助理兼容动作的应用。数据处理系统可以识别应用被配置为响应于语音输入而执行的动作。数据处理系统可以识别由第三方计算设备提供的内容项。数据处理系统可以通过机器学习模型和内容项的表现数据来生成与动作对应的位向量。位向量可以指示动作的每个动作的候选内容项。数据处理系统可以响应于对执行应用的动作的计算设备的内容请求,基于位向量中的与动作对应的位向量来选择内容项。
至少一个方面针对一种由具有存储器和一个或更多个处理器的数据处理系统执行的方法。该方法可以包括数据处理系统从应用开发者接收配置有语音助理兼容动作的应用。该方法可以包括数据处理系统识别应用被配置为响应于语音输入而执行的动作。该方法可以包括数据处理系统识别由第三方计算设备提供的内容项。该方法可以包括数据处理系统通过机器学习模型和内容项的表现数据来生成与动作对应的位向量。位向量可以指示动作的每个动作的候选内容项。该方法可以包括数据处理系统响应于对执行应用的动作的计算设备的内容请求,基于位向量中的与动作对应的位向量来选择内容项。
下面详细讨论这些和其他方面和实施方式。前述信息和以下详细描述包括各个方面和实施方式的说明性示例,并且提供用于理解要求保护的方面和实施方式的性质和特征的概述或框架。附图提供对各个方面和实施方式的说明和进一步理解,并且被并入并构成本说明书的一部分。
附图说明
附图不旨在按比例绘制。各个附图中相同的附图标记和名称表示相同的元素。为清楚起见,并非每个部件都可以在每个附图中被标记。在附图中:
图1是根据实施方式的用于第三方数字助理动作的基于向量的内容匹配的示例系统的图示;
图2是根据实施方式的为用于第三方数字助理动作的内容匹配生成位向量的示例方法的图示;
图3是根据实施方式的响应于第三方数字助理动作的调用使用位向量来选择内容的示例方法的图示;
图4是示出计算机系统的架构的框图,该计算机系统可以用于实现在此描述和示出的系统和方法(包括例如图1所绘的系统以及图2和图3所绘的方法)的元素。
具体实施方式
以下内容是与用于第三方数字助理动作的基于向量的内容匹配的方法、装置和系统相关的各种概念以及所述方法、装置和系统的实施方式的更详细描述。上面介绍的和下面更详细讨论的各种概念可以以多种方式中的任何一种方式来实现。
该技术方案总体上针对用于第三方数字助理动作的基于位向量的内容匹配。应用开发者可以开发用于在计算设备上安装和运行的应用。应用可以被称为第三方应用开发者,因为他们是独立于计算设备的提供者、所有者或制造者或者与计算设备的提供者、所有者或制造者分离的实体。应用开发者可以将应用提供给数据处理系统或云计算系统或环境。例如,应用开发者可以将应用提供给在线市场或应用商店。计算设备可以从在线应用商店或市场下载应用。
应用可以包括数字助理动作。应用可以包括语音动作。应用可以与在计算设备上运行的数字助理对接(interface)。应用可以配置有语音动作以提供对话用户界面。例如,计算设备的用户可以通过对话界面与应用对接。对话界面可以指或包括与应用进行基于语音的会话。在会话期间,用户可以调用应用中的一个或更多个语音动作。
在说明性示例中,应用可以用于主题公园。应用可以包括对与主题公园相关联的各种角色(诸如卡通角色)的引用。应用可以提供与角色相关联的各种内容,诸如多媒体内容、视频、电影、节目、音乐、歌曲、故事、诗歌或其他内容。应用可以响应于语音内容的调用提供娱乐相关的内容。
然而,当调用基于语音的动作时,识别或选择由补充内容提供者提供的补充内容项以伴随基于语音的动作的执行提供或与基于语音的动作的执行一起提供可能是具有挑战性的。例如,内容选择器部件可能不知道导致特定语音动作的调用的会话路径或对话路径。内容选择器可能不知道导致调用语音动作的话语的对话分支。这可能是因为语音动作不像网页,因为来自应用对语音动作的响应可以考虑与对话或会话流相关联的一个或更多个先前的分支。内容选择器可能无法访问那些先前的分支或与先前的分支相关联的信息。内容选择器可能只有很少或不充分的信息。内容选择器可能会尝试基于语音动作本身来选择内容项,因为内容选择器可能无法访问对话流中的先前的分支。因此,内容选择器可能选择不相关的内容项,或者可能执行资源密集型选择过程以尝试选择内容项,但是具有低准确性或低相关性得分。这可能导致资源消耗浪费,或者内容项选择不正确或不准确。提供不准确或不相关的内容项会导致过多的远程过程调用或网络带宽使用率,因为多个额外的内容项可能被选择并通过网络传输到计算设备。此外,向计算设备提供不准确或不相关的内容项会导致差劲的用户体验。内容项可能在计算设备上表现不佳,因为用户可能无法与内容项交互或参与内容项。在一些情况下,用户可能跳过或略过不准确的内容项,从而导致与呈现准确的或相关的内容项相比,用户提供额外的输入或与计算设备的交互。
为了解决这些和其他技术挑战和问题,该技术方案可以生成和使用位向量来将内容项与在计算设备上运行的第三方应用中调用的第三方语音动作相匹配。为此,该技术方案的数据处理系统可以接收来自应用开发者的应用。数据处理系统可以抓爬应用以获取动作。数据处理系统可以模拟与应用的对话,以识别对话或会话流中的各个分支、以及可以在每个分支处调用的对应动作。可以通过应用中的多个会话流来调用应用中的相同语音动作主题,这会导致对语音动作的不同响应。例如,会话流可以包括“和角色A交谈”,其可以分为以下三个分支:1)玩游戏,2)读故事,或3)唱歌。这些分支中的每个可以对应于不同的语音动作。
数据处理系统可以抓爬应用以识别各种会话流和对应的语音动作并生成抄本(transcript)。抄本可以包括导致了语音动作或可以导致调用语音动作的语音动作和会话流。抄本可以包括网络引用(“webref”)实体、内部分类信息或垂直分类。数据处理系统可以接收由诸如广告商的补充内容提供者提供的补充内容项。数据处理系统可以将抄本连同内容项一起输入到深度学习模型中以生成位向量。可以为每个语音动作生成位向量。对于每个语音动作,位向量可以指示被深度学习模型认为与该语音动作相关的候选内容项。深度学习模型可以包括多层交叉注意力模型。训练数据可以包括当以语音动作呈现时内容项的表现。表现可以包括当以特定语音动作呈现内容项时用户是否跳过了该内容项,或者当持续播放内容项时用户是否感知、查看或收听了完整的内容项。位向量可以提供进入深度学习模型中的所有输入的简明表示。数据处理系统可以相对于语音动作对内容项进行匹配和评分。
数据处理系统可以将位向量提供给内容选择器。存储位向量可以比单独存储语音动作的会话抄本和单独存储内容项更高效。例如,位向量可以在数据处理系统的数据储存库中消耗更少的存储器或存储。在另一示例中,与相对于抄本对更大的内容项集合进行评分相比,在实时内容选择过程期间执行位向量中的查找以识别语音动作的候选内容项可能更高效。内容选择器可以在内容服务时间期间使用位向量来响应于对内容的请求或响应于语音动作的调用执行实时内容选择。
在一些情况下,数据处理系统可以分开为每一组内容项生成内容项位向量,以便将最相关的内容项与语音动作相匹配。为此,数据处理系统可以使用k维树或数据结构的组合。
在计算设备上运行第三方应用时,用户可以通过会话流或对话来调用应用中的语音动作。数据处理系统可以接收语音动作的指示。数据处理系统可以在位向量数据储存库中用语音动作执行查找,以识别对应的候选内容项集合。数据处理系统可以从位向量中检索排名靠前的候选内容项。数据处理系统可以使用与计算设备或其电子账户相关联的额外信号对排名靠前的候选内容项进行评分,以便选择得分最高的内容项。然后,数据处理系统可以将得分最高的内容项提供给计算设备以供呈现。通过对排名靠前的候选内容项而不是所有可用的内容项进行评分,数据处理系统可以减少计算资源利用率而不牺牲选择内容项的准确性或相关性。
在呈现内容项时,数据处理系统可以接收表现信息。表现信息可以包括例如用户是否跳过了内容项、用户收听了内容项的时间、或者用户是否收听了内容项的全部持续时间。例如,如果内容项包括15秒的音频输出并且用户在3秒后跳过了该音频输出,则数据处理系统可以确定该内容项表现差劲。如果用户收听了内容项的全部15秒持续时间,则数据处理系统可以确定该内容项对于语音动作表现良好。数据处理系统可以基于内容项的表现来更新用于生成位向量的深度学习模型。数据处理系统可以确定重新训练或以其他方式更新模型。数据处理系统可以基于接收到的表现反馈来确定重新生成或更新位向量。
图1示出了根据实施方式的用于第三方数字助理动作的基于向量的内容匹配的示例系统100。系统100可以包括内容选择基础设施。系统100可以包括数据处理系统102。数据处理系统102可以通过网络105与客户端计算设备136或补充数字内容提供者设备132中的一个或更多个通信。网络105可以包括计算机网络(诸如互联网、局域网、广域网、城域网或其他区域网络)、内联网、卫星网络和其他通信网络(诸如语音或数据移动电话网络)。网络105可以用于访问可在客户端计算设备136上提供、输出、展现或显示的信息资源,诸如网页、网站、域名或统一资源定位符。
网络105可以包括或构成显示网络,例如,互联网上可用的信息资源的子集,该信息资源与内容放置或搜索引擎结果系统相关联或有资格包括第三方数字部件作为数字部件放置广告活动的部分。网络105可以由数据处理系统102用来访问可由客户端计算设备136提供、输出、展现或显示的信息资源,诸如网页、网站、域名或统一资源定位符。例如,经由网络105,客户端计算设备136的用户可以访问由补充数字内容提供者设备132提供的信息或数据。
网络105可以是任何类型或形式的网络,并且可以包括以下任何一种:点对点网络、广播网络、广域网、局域网、电信网络、数据通信网络、计算机网络、ATM(异步传输模式)网络、SONET(同步光网络)网络、SDH(同步数字体系)网络、无线网络和有线网络。网络105可以包括无线链路,诸如红外信道或卫星频带。网络105的拓扑可以包括总线、星形或环形网络拓扑。网络可以包括使用用于在移动设备之间进行通信的任何一个或多个协议(包括高级移动电话协议(“AMPS”)、时分多址(“TDMA”)、码分多址(“CDMA”)、全球移动通信系统(“GSM”)、通用分组无线电服务(“GPRS”)或通用移动电信系统(“UMTS”))的移动电话网络。不同类型的数据可以通过不同的协议传输,或者相同类型的数据可以通过不同的协议传输。
客户端计算设备136可以包括例如膝上型电脑、台式电脑、平板电脑、数字助理设备、智能电话、移动电信设备、便携式计算机、智能手表、可穿戴设备、耳机、扬声器、电视机、智能显示器或汽车单元。例如,通过网络105,客户端计算设备136的用户可以访问由补充数字内容提供者设备132提供的信息或数据。在一些情况下,客户端计算设备136可以包括或者可以不包括显示器;例如,计算设备可以包括有限类型的用户接口,诸如麦克风和扬声器。在一些情况下,客户端计算设备136的主要用户接口可以是麦克风和扬声器,或语音接口。在一些情况下,客户端计算设备136包括联接到客户端计算设备136的显示设备,并且客户端计算设备136的主要用户接口可以利用该显示设备。
客户端计算设备136可以包括至少一个输入设备138。输入设备138可以包括至少一个麦克风。输入设备138可以包括被配置为检测声波(诸如来自用户的语音输入)并将声波转换为客户端计算设备136可处理的另一种格式的换能器或其他硬件。例如,输入设备138可以检测声波,并将声波转换为模拟或数字信号。客户端计算设备136可以使用硬件或软件将模拟或数字信号转换为与语音输入或其他检测到的音频输入对应的数据包。客户端计算设备136可以将具有语音输入的数据包发送到数据处理系统102以供进一步处理。输入设备138可以包括触摸输入设备、键盘、鼠标、手势输入、传感器输入或其他类型的输入接口。
客户端计算设备136可以包括至少一个输出设备140。输出设备140可以包括扬声器。输出装置140可以输出音频或声音。输出设备140可以由音频驱动器驱动以产生音频输出。输出设备140可以输出由数据处理系统102产生并提供给客户端计算设备136以供输出的语音或其他音频。例如,用户可以通过客户端计算设备136的输入设备138和输出设备140与数字助理108进行对话。
在一些情况下,客户端计算设备136可以包括数据处理系统102的一个或更多个部件或功能,诸如NLP 106、数字助理108、接口104或数据储存库120。例如,客户端计算设备136可以包括具有服务器数字助理108或NLP 106的一个或更多个部件或功能的本地数字助理144或数字助理代理。客户端计算设备136可以包括存储应用、内容数据、账户信息或简档信息中的一个或更多个的数据储存库、存储器或存储设备。客户端计算设备136可以包括图4所绘的计算系统400的一个或更多个部件或功能。
系统100可以包括至少一个数据处理系统102。数据处理系统102可以包括至少一个逻辑设备(诸如具有处理器的计算设备),以通过网络105例如与客户端计算设备图136、补充数字内容提供者设备132(或第三方内容提供者设备、内容提供者设备)或应用开发者设备134进行通信。数据处理系统102可以包括至少一个计算资源、服务器、处理器或存储器。例如,数据处理系统102可以包括位于至少一个数据中心的多个计算资源或服务器。数据处理系统102可以包括多个逻辑分组的服务器并且便于分布式计算技术。服务器的逻辑组可以被称为数据中心、服务器群组或机器群组。服务器也可以在地理上分散。数据中心或机器群组可以作为单个实体进行管理,或者机器群组可以包括多个机器群组。每个机器群组中的服务器可以是异质的——服务器或机器中的一个或更多个可以根据操作系统平台的一种或更多种类型而操作。
机器群组中的服务器可以与相关联的存储系统一起存储在高密度机架系统中,并且位于企业数据中心。例如,以这种方式整合服务器可以通过将服务器和高性能存储系统安置在本地高性能网络上来提高系统可管理性、数据安全性、系统的物理安全性和系统性能。集中数据处理系统102部件(包括服务器和存储系统)的全部或一些并将他们与高级系统管理工具联接允许更高效地使用服务器资源,这节省了功率和处理需求并降低了带宽使用率。
系统100可以包括、访问或以其他方式与至少一个第三方设备(诸如补充数字内容提供者设备132、服务提供者设备或应用开发者设备134)交互。补充数字内容提供者设备132、服务提供者设备或应用开发者设备134可以包括至少一个逻辑设备(诸如具有处理器的计算设备)以通过网络105例如与客户端计算设备136或数据处理系统102进行通信。
补充数字内容提供者设备132可以向数据处理系统102提供内容项,以使数据处理系统102向客户端计算设备136提供用于呈现。内容项可以包括视觉内容、音频内容、基于文本的内容、多媒体内容或其他类型的内容。内容项可以包括用于由客户端计算设备136呈现为音频输出数字部件的基于音频的数字部件。数字部件可以被称为赞助数字部件,因为他由第三方赞助商提供,诸如由广告商提供的广告。数字部件可以包括对商品或服务的报价,诸如语句“您希望我为您叫辆出租车吗?”的基于语音的消息。例如,补充数字内容提供者设备132可以包括存储器以存储可响应于基于语音的查询而提供的一系列音频数字部件。补充数字内容提供者设备132还可以向数据处理系统102提供基于音频的数字部件(或其他数字部件),在数据处理系统102中这些基于音频的数字部件(或其他数字部件)可以存储在数据处理系统102的数据储存库中。数据处理系统102可以选择音频数字部件并向客户端计算设备136提供(或指令补充数字内容提供者设备132提供)音频数字部件。基于音频的数字部件可以专门是音频或者可以与文本、图像或视频数据组合。内容项可以具有持续时间,诸如音频或视频的长度。当通过客户端计算设备136呈现时,内容项可以用允许与内容项交互或参与内容项的用户界面元素来呈现。例如,用户界面元素可以允许使客户端计算设备136暂停内容项的呈现或回放、跳过内容项的回放、快进内容项、倒回内容项、关闭或隐藏内容项、参与内容项或以其他方式与内容项交互的输入或命令。交互的类型可以指示与内容项相关联的表现。例如,倒回或重播内容项可以指示积极的表现,而跳过内容项或快进内容项可以指示消极的表现。
数据处理系统102可以包括具有至少一个计算资源或服务器的内容放置系统。数据处理系统102可以包括至少一个接口104、与至少一个接口104对接或、以其他方式与至少一个接口104通信。数据处理系统102可以包括至少一个自然语言处理器106(或自然语言处理器部件)、与至少一个自然语言处理器106(或自然语言处理器部件)对接、或以其他方式与至少一个自然语言处理器106(或自然语言处理器部件)通信。接口104或自然语言处理器106可以形成或被称为服务器数字助理108。数据处理系统102可以包括至少一个服务器数字助理108(或服务器数字助理部件)、与包括至少一个服务器数字助理108(或服务器数字助理部件)对接、或以其他方式与包括至少一个服务器数字助理108(或服务器数字助理部件)通信。服务器数字助理108可以与一个或更多个基于语音的接口或各种数字助理设备或表面通信或对接,以便提供数据或接收数据或执行其他功能。数据处理系统102可以包括至少一个动作爬虫110(或动作爬虫部件)。数据处理系统102可以包括至少一个嵌入提取器112(或嵌入提取器部件)。数据处理系统102可以包括至少一个内容选择器114(或内容选择器部件)。内容选择器114可以包括至少一个内容检索器116(或内容检索器部件)。内容选择器114可以包括至少一个内容评分器118(或内容评分器部件)。数据处理系统102可以包括至少一个数据储存库120。数据储存库120可以存储应用122。应用122可以包括关于应用的信息、应用的元数据、或应用的可运行代码或源代码、或应用开发者设备134提供的应用包文件。数据储存库120可以存储与应用122相关联并由动作爬虫110生成的语音动作和会话的抄本124。数据储存库120可以存储内容数据126,诸如内容项、内容项表现、关于内容项的信息、内容项元数据、或由补充数字内容提供者设备132提供或由内容选择器114生成的关于内容项的其他信息。数据储存库120可以包括模型128,诸如由嵌入提取器112生成或使用以生成位向量的深度学习模型或其他机器学习模型。数据储存库120可以包括由嵌入提取器112生成以用于应用的语音动作的位向量130。
数据处理系统102、接口104、NLP 106、服务器数字助理部件108、动作爬虫110、嵌入提取器112、内容选择器114、内容检索器116和内容评分器118可以每个包括至少一个处理单元或其他逻辑设备,诸如可编程逻辑阵列引擎、或被配置为与数据处理系统102的数据储存库或数据库通信的模块。接口104、NLP 106、服务器数字助理部件108、动作爬虫110、嵌入提取器112、内容选择器114、内容检索器116和内容评分器118可以是分离的部件、单个部件或数据处理系统102的部分。系统100及其部件(诸如数据处理系统102)可以包括硬件元件,诸如一个或更多个处理器、逻辑设备或电路。
数据处理系统102可以获得与多个计算设备136(或计算设备或数字助理设备)相关联的匿名计算机网络活动信息。客户端计算设备136或移动计算设备的用户可以肯定地授权数据处理系统102获得与客户端计算设备136或移动计算设备对应的网络活动信息。例如,数据处理系统102可以提示客户端计算设备136的用户同意获得一种或更多种类型的网络活动信息。客户端计算设备136的用户的身份可以保持匿名,并且客户端计算设备136可以与唯一标识符(例如,用户或由数据处理系统提供的计算设备或计算设备的用户的唯一标识符)相关联。数据处理系统102可以将每个观察与对应的唯一标识符相关联。
数据处理系统102可以包括被设计为、配置为、构造为或操作为使用例如数据包来接收和发送信息的接口104(或接口部件)。接口104可以使用一种或更多种协议(诸如网络协议)来接收和发送信息。接口104可以包括硬件接口、软件接口、有线接口或无线接口。接口104可以促进将数据从一种格式转换或格式化为另一种格式。例如,接口104可以包括应用编程接口,该应用编程接口包括用于在诸如软件部件的各种部件之间进行通信的定义。接口104可以通过网络105与客户端计算设备136、补充数字内容提供者设备132或应用开发者设备134中的一个或更多个通信。
数据处理系统102可以与安装在客户端计算设备136处的应用、脚本或程序(诸如应用142或本地数字助理144)对接,以将输入音频信号通信地传送到数据处理系统102的接口104并驱动客户端计算设备136的部件展现、呈现或以其他方式输出视觉或音频信号。数据处理系统102可以从应用142或本地数字助理144接收数据包、或包括或识别音频输入信号的其他信号。
数据处理系统102可以包括自然语言处理器(“NLP”)106。例如,数据处理系统102可以运行或运转NLP 106以解析接收到的输入音频信号或查询。例如,NLP 106可以提供人和计算机之间的交互。NLP 106可以配置有用于理解自然语言并允许数据处理系统102从人类或自然语言输入中获得含意的技术。NLP 106可以包括或配置有基于机器学习(诸如统计机器学习)的技术。NLP 106可以利用决策树、统计模型或概率模型来解析输入音频信号。NLP 106可以执行例如以下的功能:带名称的实体识别(例如,给定文本流,确定文本中的哪些项目映射到专有名称,诸如人或地点,以及每个此类名称的类型是什么,诸如人、位置或组织)、自然语言生成(例如,将来自计算机数据库或语义意图的信息转换为可理解的人类语言)、自然语言理解(例如,将文本转换为更正式的表示,诸如计算机模块可操纵的一阶逻辑结构)、机器翻译(例如,自动将文本从一种人类语言翻译成另一种人类语言)、语素切分(例如,将词语分成单独的词素并识别词素的类别,这可能基于考虑到语言单词的词法或结构的复杂性而是具有挑战性的)、问题回答(例如,确定人类语言问题的答案,其可以是特定的或开放式的)、语义处理(例如,在识别词语并对其含义进行编码以便将识别出的词语与具有相似含义的其他词语相关联之后可能发生的处理)。
NLP 106可以通过将输入信号与存储的、有代表性的音频波形集合进行比较并选择最接近的匹配来将音频输入信号转换为识别出的文本。该音频波形集合可以存储在数据处理系统102可访问的数据储存库或其他数据库中。有代表性的波形是跨大用户集合生成的,然后可以用来自用户的语音样本进行扩充。在音频信号被转换为识别出的文本之后,NLP 106将文本与词语匹配,该词语例如通过跨用户的训练或通过手动指定而与数据处理系统102可服务的动作相关联。NLP 106的方面或功能可以由数据处理系统102或客户端计算设备136执行。例如,NLP部件可以在客户端计算设备136上运行以执行将输入音频信号转换为文本并通过数据包将文本发送到数据处理系统102以供进一步的自然语言处理的方面。
音频输入信号可以由客户端计算设备136的输入设备138(例如,麦克风、传感器、换能器)检测。通过换能器、音频驱动器或其他部件,客户端计算设备136可以将音频输入信号提供给数据处理系统102(例如,通过网络105),在数据处理系统102中音频输入信号可以被接收(例如,通过接口104)并被提供给NLP 106或存储在数据储存库中。
数据处理系统102可以通过接口104接收包括由客户端计算设备136的麦克风检测到的输入音频信号的数据包。数据处理系统102可以接收基于由麦克风检测到的输入音频信号而生成的数据包。数据包可以被过滤或不被过滤。数据包可以是检测到的输入音频信号的数字化版本。数据包可以包括由客户端计算设备136基于检测到的输入音频信号生成的文本。例如,客户端计算设备136的本地数字助理可以处理检测到的输入音频信号,并将基于处理过的输入音频信号的数据包发送到服务器数字助理108以供进一步处理或执行动作。
数据处理系统102可以包括服务器数字助理108。服务器数字助理108和NLP 106可以是单个部件,或者服务器数字助理108可以包括NLP 106的一个或更多个部件或功能。服务器数字助理108可以与NLP 106对接。数据处理系统102(例如,服务器数字助理108)可以处理数据包以执行动作或以其他方式响应语音输入。在一些情况下,数据处理系统102可以从输入音频信号中识别声学签名。数据处理系统102可以基于在数据储存库中的查找(例如,查询数据库)来识别与声学签名对应的电子账户。数据处理系统102可以响应于电子账户的识别来建立会话和在会话中使用的账户。账户可以包括具有一个或更多个策略的简档。数据处理系统102可以解析输入音频信号以识别请求和与该请求对应的触发关键词。
NLP 106可以获得输入音频信号。响应于客户端计算设备136上的本地数字助理检测到触发关键词,数据处理系统102的NLP 106可以接收具有语音输入或输入音频信号的数据包。触发关键词可以是指示客户端计算设备136将随后的音频输入转换为文本并将文本发送到数据处理系统102以供进一步处理的唤醒信号或热词。
在接收到输入音频信号时,NLP 106可以识别至少一个查询或请求或者与请求对应的至少一个关键词。请求可以指示输入音频信号的意图或主题。关键词可以指示可能采取的行动类型。例如,NLP 106可以解析输入音频信号以识别晚上离开家去吃晚餐和看电影的至少一个请求。触发关键词可以包括指示将要采取的动作的至少一个词语、短语、词根或部分词、或派生词。例如,来自输入音频信号的触发关键词“去”或“要去”可以指示对运送的需要。在该示例中,输入音频信号(或识别出的请求)不直接表达运送的意图,但触发关键词指示运送是请求所指示的至少一个其他动作的附属动作。在另一示例中,语音输入可以包括在应用中执行动作的查询或请求。
NLP 106可以解析输入音频信号以识别、确定、检索或以其他方式获得请求和与请求相关联的一个或更多个关键词。例如,NLP 106可以将语义处理技术应用于输入音频信号以识别关键词或请求。NLP 106可以将语义处理技术应用于输入音频信号以识别关键词或包括一个或更多个关键词(诸如第一关键词和第二关键词)的短语。例如,输入音频信号可以包括“我想购买有声书”这句话。NLP 106可以将语义处理技术或其他自然语言处理技术应用于包括这句话的数据包以识别关键词或短语“想要购买”和“有声书”。NLP 106还可以识别多个关键词,诸如购买和有声书。例如,NLP 106可以确定短语包括第一和第二关键词。
NLP 106可以过滤输入音频信号以识别触发关键词。例如,携带输入音频信号的数据包可以包括“It would be great if I could get someone that could help me goto the airport”,在这种情况下,NLP 106可以如下过滤掉一个或更多个术语:“it”、“would”、“be”、“great”、“if”、“I”、“could”、“get”、“someone”、“that”、“could”或“help”。通过过滤掉这些术语,NLP 106可以更加准确并可靠地识别触发关键词,诸如“go to theairport”,并确定这是对出租车或拼车服务的请求。
服务器数字助理108或本地数字助理144可以与在客户端计算设备136上运行的应用142对接。应用142可以包括基于语音的动作或语音接口。应用可以从客户端计算设备136的用户接收语音输入。客户端计算设备136可以将语音输入转发到数据处理系统102(例如,NLP 106或服务器数字助理108)以供进一步处理。在一些情况下,应用142可以将语音动作转发给应用开发者设备134以供处理。应用142可以将语音动作转发给数据处理系统102,该数据处理系统102可以预处理语音动作,然后将语音动作转发给应用开发者设备134。在一些情况下,在客户端计算设备136上运行的应用142可以被配置为处理语音动作并执行对应的动作。在一些情况下,应用142将语音输入转发给数据处理系统102以供处理,并且数据处理系统102可以识别与语音输入相关联的动作或意图,并将命令转发给应用142以执行所请求的行动或意图。
数据处理系统102可以确定选择应用142的语音动作的补充内容项。然而,当调用基于语音的动作时,识别或选择由补充内容提供者提供的补充内容项以伴随基于语音的动作的执行提供或与基于语音的动作的执行一起提供可能是具有挑战性的。例如,内容选择器114可能不知道导致特定语音动作的调用的会话路径或对话路径。内容选择器114可能不知道导致所调用的语音动作的话语的对话分支。这可能是因为语音动作不像网页,因为来自应用对语音动作的响应可以考虑与对话或对话流相关联的一个或更多个先前的分支。内容选择器可能无法访问那些先前的分支或与先前的分支相关联的信息。内容选择器可能只有很少或不充分的信息。内容选择器可能会尝试基于语音动作本身来选择内容项,因为内容选择器可能无法访问对话流中的先前的分支。因此,内容选择器可能选择不相关的内容项,或者可能执行资源密集型选择过程以尝试选择内容项,但是具有低准确性或低相关性得分。这可能导致资源消耗浪费、或者内容项选择不正确或不准确。提供不准确或不相关的内容项会导致过多的远程过程调用或网络带宽使用率,因为多个额外的内容项可以被选择并通过网络传输到计算设备。此外,向计算设备提供不准确或不相关的内容项会导致差劲的用户体验。内容项可能在计算设备上表现差劲,因为用户可能无法与内容项交互或参与内容项。在一些情况下,用户可以跳过或略过不准确的内容项,从而导致与呈现准确或相关的内容项相比,用户提供的额外的输入或与计算设备的交互。
为了解决这些和其他技术挑战,该技术方案的数据处理系统102可以包括动作爬虫110,该动作爬虫110被设计、构造和操作为生成可由应用执行的动作的抄本。动作爬虫110可以从应用开发者134接收配置有语音助理兼容动作的应用。动作爬虫110可以识别应用被配置为响应于语音输入而执行的动作。动作爬虫110可以抓爬应用以识别动作。动作爬虫110可以模拟与应用的对话,以识别用户可以与应用进行的各种会话路径。取决于与会话路径相关联的意图,不同的会话路径可以导致执行相同的语音动作或不同的语音动作。
例如,数据处理系统102的NLP 106或服务器数字助理108可以模拟与应用的对话以识别多个动作。服务器数字助理108可以模拟与应用的一个或更多个对话。在一些情况下,数据处理系统102可以从应用开发者设备134接收包括示例对话或抄本信息的应用包文件。在一些情况下,数据处理系统102可以自动确定应用可参与的可能对话,并识别应用被配置为执行的语音动作。
例如,应用可以涉及在主题公园提供与卡通角色相关的娱乐内容。动作爬虫110可以模拟与应用的对话。动作爬虫110可以启动或调用应用。应用可以以诸如“您想和哪个角色交谈?”的查询或提示开始。动作爬虫110可以通过生成包括语句“和角色A交谈”的模拟语音输入来从选项列表中选择角色。应用可以用响应和提示或查询(诸如“你想和角色A一起玩游戏、和角色A一起读故事、或和角色A一起唱歌吗?”)来响应动作爬虫110。动作爬虫110可以选择这些语音动作中的与语音助手使能的动作对应的一个。动作爬虫110可以存储每个语音动作的抄本,其包括导致调用或选择语音动作的对话流。动作爬虫110可以为应用中的每个角色重复此流。
在另一示例中,动作爬虫110可以调用应用,然后输入询问应用该应用可以执行什么任务的提示或查询。然后,动作爬虫110可以选择任务并启动导致语音动作的调用的一个或更多个会话流。因此,动作爬虫110可以抓爬应用以生成包括应用被配置为根据一个或更多个会话执行的动作的抄本。数据处理系统102可以生成抄本以存储关于动作和用于调用动作的一个或更多个会话的信息。该信息可以包括会话、关键词、webref实体、垂直分类、意图、语音动作或促进内容选择的其他信息。webref实体可以对应于分类学中分类的实体。网络引用实体有助于理解文本并扩充知识储存库。实体可以是单个人、地方或事物,并且储存库可以包括数百万个实体,每个实体具有唯一标识符,以在具有相似名称的多个实体(例如,捷豹汽车与捷豹动物)之间进行区分。数据处理系统可以访问引用实体并扫描任意文本片段(例如,网页中的文本、关键词文本、内容文本、广告文本)以识别来自各种来源的实体。例如,一个这样的来源可以是手动创建的实体分类学,诸如由用户社区构建的人、地点和事物的实体图。
数据处理系统102可以从补充数字内容提供者设备132接收内容项。数据处理系统102可以识别由计算设备的第三方(诸如补充数字内容提供者设备132)提供的内容项。例如,数据处理系统102的内容选择器114可以通过网络105从补充内容提供者设备132接收内容项。数据处理系统102可以通过数据处理系统的接口(诸如图形用户界面)接收内容项(或赞助内容项)。数据处理系统102可以将内容项与账户标识符相关联,该账户标识符与补充内容提供者设备132相关联。内容项可以是内容放置广告活动的部分。内容项可以是内容组的部分。内容项可以与内容选择标准(诸如由内容选择器114实时用来执行内容选择的关键词、位置或其他信号)相关联。数据处理系统102可以识别与内容项或内容组相关联的概念、主题、实体、或垂直。数据处理系统102还可以识别或生成内容项的表现数据。表现数据可以包括或指示内容项在其被呈现或提供用于在一个或更多个客户端计算设备136上呈现时的表现情况。表现可以指、包括或基于客户端计算设备136与内容项的交互级别或交互类型。例如,表现信息可以包括或基于选择内容项、点击内容项、转换、或完成与内容项相关联的提示或调查。表现信息可以包括例如用户是否关闭了呈现内容项的窗口、跳过了内容项的回放、快进了内容项的回放、重复了内容项的回放、或允许了内容项播放内容项的全部持续时间。因此,内容项的表现数据可以指示响应于通过一个或更多个计算设备136对每个内容项的先前呈现而与每个内容项的交互的类型。交互的类型可以包括跳过、快进或呈现的持续时间中的至少一个。表现数据可以存储在数据储存库120中的内容数据126数据结构中。
表现数据可以与关键词或其他信号(其与内容项相关联)、或信号(其与内容项呈现的位置相关联)相关联或有关。信号可以包括客户端计算设备136的类型、当内容项被呈现时客户端计算设备136的位置、与伴随内容项或与内容项一起在客户端计算设备136上呈现的主要内容相关联的信息、或与客户端计算设备136相关联的其他账户信息或简档信息。
然而,由于从大量补充数字内容提供者设备132接收到的大量内容项、以及大量基于语音的助理动作和大量应用,以高效且准确的方式执行内容项的实时选择可以是具有挑战性的。该技术方案的数据处理系统102可以包括被设计、构造和操作为生成位向量的嵌入提取器112,该位向量为每个语音动作指示相关的候选内容项。位向量可以由内容选择器114用来响应于在客户端计算设备136上运行的应用中的语音动作调用执行实时内容选择。
嵌入提取器112可以通过机器学习模型和内容项的表现数据来生成与动作对应的位向量。位向量可以指示动作的候选内容项。嵌入提取器112可以将由动作爬虫110生成的抄本连同内容项信息或表现数据一起当作输入,并生成指示哪些内容项与抄本中的每个动作相关的位向量。例如,抄本可以包括特定应用中的多个基于语音的动作。抄本中的每个动作可以与会话流相关联,该会话流包括与导致语音动作的模拟对话相关联的关键词、意图、概念、主题或其他信息。嵌入提取器112可以使用深度学习模型128来识别哪些内容项与抄本中的每个动作相关。嵌入提取器112可以为应用生成一个或更多个位向量,该应用为由动作爬虫110为应用生成的抄本中的每个动作识别多个候选内容项。
位向量可以指或包括可由数据处理系统102或其一个或更多个处理器和存储器高效处理的数据结构。位向量可以有效地允许数据处理系统102在硬件中执行位级并行以快速执行操作。位向量可以是位数组。位向量可以包括多个位。位向量可以包括到值0 1的映射,诸如为特定动作指示哪些内容项是相关的。例如,语音动作“和CharacterA一起读书”的位向量可以包括通过在位向量中的一位置指示1或0来指示来自候选内容项集合的哪些候选内容项是相关的,其中位向量中的该位置对应于特定的候选内容项。表1示出了应用中不同动作的示例位向量和列出候选内容项的数据结构。
候选内容项 | 动作1的位向量 | 动作2的位向量 | 动作3的位向量 |
内容项1 | 0 | 0 | 1 |
内容项2 | 0 | 1 | 1 |
内容项3 | 1 | 0 | 0 |
内容项4 | 1 | 1 | 0 |
内容项5 | 1 | 0 | 1 |
表1:语音动作的位向量的说明性示例
在表1的说明性示例中,特定应用的候选内容项数据结构可以在有序列表中列出5个不同的内容项。该顺序可以基于任何顺序,诸如数字顺序、字母顺序或应用的相关性顺序。嵌入提取器112可以为动作爬虫110生成的抄本中的每个动作生成位向量。例如,对于动作1,位向量可以是[0 0 1 1 1];对于动作2,位向量可以是[0 1 0 1 0],对于动作3,位向量可以是[1 1 0 0 1]。位向量可以指示哪些内容项与特定语音动作相关或是特定语音动作的候选。例如,对于语音动作1,相关的候选内容项可以是内容项3、4和5。对于语音动作2,候选内容项可以是2和4。对于语音动作3,候选内容项可以是1、2和5。
表1所示的不同语音动作可以指不同的动作,诸如与角色A一起播放歌曲、读书或演奏音乐。在另一示例中,不同的动作可以指相同类型的动作(诸如播放歌曲),但具有如下不同的角色:语音动作1可以和角色A一起播放歌曲;语音动作2可以和角色B一起播放歌曲;语音动作3可以和角色C一起播放歌曲。通过模拟与应用的对话以生成抄本文件,动作爬虫110可以基于导致应用调用的会话流为相同类型的动作(例如,播放歌曲)生成不同的语音动作标识符。因此,表1可以包括基于导致语音动作调用的会话流的针对每个动作的不同位向量,从而提高内容选择的准确性,同时通过使用位向量格式保持效率。
为了生成针对每个动作的位向量,数据处理系统102可以使用训练数据来训练深度学习模型或机器学习模型。训练数据可以包括与多个客户端计算设备136上的内容项的先前呈现相关联的历史数据。历史训练数据可以基于内容项的表现和与表现相关联的信号。历史训练数据可以包括关于内容项的信息(例如,关键词、主题、实体)、与内容项的呈现相关联的信号(例如,计算设备的类型、计算设备的位置、概念、与以其呈现赞助内容的主要内容相关联的关键词或主题、或简档信息)、表现数据(例如,用户是否与内容项交互或跳过了内容项)。
数据处理系统102可以使用机器学习技术(诸如深度学习技术)用训练数据来训练模型128。深度学习技术可以指深度结构化学习。深度学习技术可以包括或基于具有表示学习的人工神经网络。深度学习技术可以是有监督的、半监督的或无监督的。深度学习技术可以包括循环神经网络、卷积神经网络、深度神经网络或深度强化学习。深度学习技术可以使用多层从输入逐步提取高级特征。例如,使用内容数据(例如,内容项信息和表现数据)和抄本(例如,语音动作和与导致语音动作调用的会话相关联的信息),深度学习技术可以确定哪些内容项是相关的或被预测伴随特定语音动作呈现、在空间或时间上接近特定语音动作呈现、或以其他方式与特定语音动作一起或针对特定语音动作呈现时表现良好。嵌入提取器112使用深度学习模型可以预测哪些内容项有可能表现良好(例如,具有高于阈值(诸如相对于内容项的呈现次数的1%、2%、3%、5%、10%、15%、20%或更多)的交互的可能性)。嵌入提取器112使用深度学习模型可以预测相对于从一个或更多个补充数字内容提供者设备132接收到的可用内容项集合,哪些内容项是表现最高的内容。因此,嵌入提取器112可以将抄本和内容项表现数据当作输入,并为抄本中的每个动作输出位向量。输出的位向量可以为特定动作指示候选内容项,其是由客户端计算设备136响应于在应用142中的动作调用的呈现的候选。
数据处理系统102可以包括被设计、构造或操作为选择补充内容项(或赞助内容项或数字部件对象)的内容选择器114。响应于对执行应用142的动作的计算设备136的内容的请求,内容选择器114可以基于与动作对应的位向量来选择内容项。为了避免由于从大量可用内容项中进行选择而导致的过度计算资源利用,内容选择器114可以包括内容检索器116,该内容检索器116被设计、构造和操作为使用由嵌入提取器112生成的位向量来检索应用中调用的动作的候选内容项。位向量可以存储由各种补充数字内容提供者设备132内容项提供的所有可用内容项的子集的指示。所有可用内容项的子集可以是那些内容项,其对应于排名最高的内容项或与应用的动作最相关的内容项。最相关的内容项可以由嵌入提取器112使用深度学习模型128来确定。内容项的该子集可以在位向量中列出或以其他方式识别作为响应于应用142中的动作调用的呈现的候选。然而,内容选择器114可以进一步细化内容项的子集以基于与调用应用142中的动作的特定客户端计算设备136相关联的信号或其他信息来选择内容项的子集中的得分最高的内容项。
内容检索器116可以识别动作和在其中调用动作的应用142。例如,应用可以与唯一标识符(诸如名称、字母数字标识符或应用的其他唯一标识符)相关联。内容检索器116可以进一步识别在应用142中调用的动作。动作可以与唯一标识符或对应用142唯一的标识符(诸如名称、字母数字标识符或其他有效标识符)相关联。
内容检索器116可以使用应用的标识符和动作的标识符在位向量130数据结构中执行查找,以访问、检索、获得或以其他方式识别为应用的动作建立的位向量。内容检索器116可以识别在动作的位向量中指示的一个或更多个候选内容项。内容检索器116可以识别内容项的唯一标识符、内容项的统一资源定位符、指向内容项的指针、或可用于检索内容项或将内容项提供给计算设备136的内容项的其他指示符。
位向量可以指示在应用142中调用的特定动作的多个候选内容项。与动作的位向量相关联的候选内容项可以包括内容数据126,诸如内容选择标准、表现数据或可促进内容选择的其他信息。内容检索器116可以将位向量中指示的候选内容项提供给内容评分器118以从候选内容项中选择内容项从而提供给计算设备136。
内容选择器114可以包括内容评分器118,该内容评分器118被设计、构造和操作为从位向量中指示的候选内容项中选择内容项。内容选择器114可以对候选内容项进行评分以识别得分最高或排名最高的内容项。内容选择器114可以使用可促进识别最有可能在计算设备136上表现良好的内容项的任何内容评分技术来对候选内容项进行评分。内容评分器118可以使用与调用了动作的特定客户端计算设备136相关联的信号,以对候选内容项进行评分。信号可以包括例如计算设备的类型、计算设备的地理位置、与客户端计算设备一起使用的语言(例如,英语、法语或西班牙语)、或与链接到客户端计算设备136的电子账户相关联的简档信息。例如,内容评分器118可以基于与客户端计算设备136相关联的信号来预测候选内容项中的哪个最有可能与在应用142中调用的动作相关。内容评分器118可以预测候选内容项中的哪个最有可能导致计算设备136的用户进行的有利交互。内容计分器118可以预测候选内容项中的哪个最有可能在内容项的全部持续时间播放而不被计算设备136的用户跳过或关闭。
为了选择赞助内容项或数字部件,内容计分器118可以使用内容选择标准来基于广泛匹配、精确匹配或短语匹配选择匹配的赞助内容项。例如,内容选择器114可以分析、解析或以其他方式处理候选赞助内容项的主题以确定候选赞助内容项的主题是否对应于与应用142中调用的动作相关联的意图、关键词或短语的主题。内容评分器118可以使用图像处理技术、字符识别技术、自然语言处理技术或数据库查找来识别、分析或辨认候选数字部件的语音、音频、术语、字符、文本、符号或图像。候选赞助内容项可以包括指示候选数字部件的主题的元数据,在这种情况下,内容评分器118可以处理元数据以确定候选数字部件的主题是否对应于应用142中调用的动作。由补充数字内容提供者设备132提供的内容广告活动可以包括内容选择标准,内容评分器118可以将该内容选择标准与在第二简档层或第一简档层中指示的标准匹配。
内容选择器114可以响应于请求执行实时内容选择过程。实时内容选择可以指或包括响应于请求执行内容选择。实时可以指或包括在收到请求的0.2秒、0.3秒、0.4秒、0.5、0.6秒或1秒内选择内容。实时可以指响应于从客户端计算设备136接收到输入音频信号来选择内容。通过识别在应用142中调用的动作的位向量并将位向量中识别的候选内容项输入到内容计分器118中以输出排名最高或得分最高的内容项,可以加快实时内容选择过程。内容评分器118可以确定多个候选补充内容项中的每个的得分或排名,以便选择排名最高的补充内容项来提供给客户端计算设备136。
在一些情况下,内容评分器118可以配置有机器学习模型,该机器学习模型可以确定得分最高或最相关的内容项。可以基于与各种信号相关联的内容项的历史表现来训练机器学习模型。该模型可以输出指示内容项在存在某些信号的情况下表现良好的可能性的预测或得分。因此,内容选择器114可以使用机器学习技术对来自由内容检索器116检索的候选内容项的内容项进行评分或从这些候选内容项中选择内容项。
因此,数据处理系统可以从计算设备136接收对动作调用的指示。数据处理系统102可以在存储位向量130的数据储存库120中利用动作执行查找,以检索与动作对应的位向量。数据处理系统102可以从动作的位向量中识别排名靠前的候选内容项。排名靠前的候选内容项可以由嵌入提取器112使用深度学习模型128来识别,并被存储在应用的动作的位向量中。数据处理系统102可以从识别自动作的位向量的排名靠前的候选内容项中选择得分最高的内容项。数据处理系统102可以使用与执行动作的计算设备136相关联的一个或更多个信号,以通过实时内容选择过程从排名靠前的候选内容项中选择内容项。
数据处理系统102可以将所选择的内容项提供给客户端计算设备136,以使客户端计算设备136将内容项呈现给计算设备136的用户。数据处理系统102可以将内容项提供给本地数字助理144,以使在客户端计算设备136上运行的本地数字助理144通过音频输出(诸如通过语音输出)播放内容项。在一些情况下,数据处理系统102可以将内容项提供给应用142以使应用142呈现内容项。例如,应用142可以通过使用音频输出或视觉输出播放内容项来输出内容项。应用142或本地数字助理144可以在应用中调用的动作的执行期间、在动作的执行之前或在动作的执行之后呈现或输出内容项。在一些情况下,计算设备136可以暂停动作的执行以便播放或输出内容项。在一些情况下,计算设备136可以等待播放内容项,直到动作在应用142中完成执行。在一些情况下,计算设备136可以在动作执行完成后等待预定时间来播放内容项,诸如1秒、2秒、5秒、10秒、15秒、30秒或其他时间间隔。
在呈现内容项时,数据处理系统102可以接收与内容项的交互级别的指示。数据处理系统102可以将交互级别作为表现数据存储在内容数据126数据结构中。诸如通过嵌入提取器112,数据处理系统102可以用交互级别的指示重新训练机器学习模型,以更新与动作对应的位向量。例如,如果所选择的内容没有表现良好,则嵌入提取器112可以更新动作的位向量以从位向量中移除内容项,使得内容项可以不响应于应用中动作的未来调用而被选择。在另一示例中,嵌入提取器112可以更新位向量以降低内容项的排名或得分,从而降低内容项响应于应用中动作的未来调用而被选择的可能性。因此,数据处理系统102可以响应于实时表现反馈来改善深度学习模型128,并且嵌入提取器112可以基于重新训练过的模型来更新位向量。
图2是根据实施方式的为用于第三方数字助理动作的内容匹配生成位向量的示例方法的图示。方法200可以由图1所绘的一个或更多个系统或部件(包括例如数据处理系统)来执行。在202,数据处理系统可以接收应用。数据处理系统可以从应用开发者接收应用。应用的开发者可以将应用提供给数据处理系统。应用的开发者可以将应用上传到数据处理系统或以其他方式将应用发送或提供给数据处理系统。例如,应用可以被存储为二进制文件、可运行文件、应用包文件,或以有助于在数据处理系统或客户端计算设备上安装和运行应用的另一种格式来存储。
在204,数据处理系统可以识别应用中的动作并生成抄本。数据处理系统可以抓爬应用以识别动作。数据处理系统可以通过安装和运行应用来识别动作。数据处理系统可以模拟与应用的对话以在应用中生成一个或更多个会话流,其可以导致应用中动作的调用或执行。动作可以被称为语音助理兼容动作,因为该动作可以通过与应用用户的基于语音的对话来调用。可以通过来自用户的话语调用动作。可以通过由在数据处理系统或客户端计算设备或两者上运行的数字助理促进的对话来识别或选择动作。
数据处理系统可以为识别出的动作生成抄本。可以为特定应用生成抄本。抄本可以指示在应用中识别的各种动作、以及与导致动作调用的会话流或对话相关联的信息。例如,抄本可以包括关于导致动作调用的模拟话语的信息。抄本可以包括模拟用户的话语以及与模拟用户交互的应用。
在206,数据处理系统可以接收内容数据。内容数据可以指补充内容项。数据处理系统可以从一个或更多个补充内容提供者(诸如广告商)接收内容数据。数据处理系统可以从数据处理系统可访问的存储内容数据的数据储存库接收内容数据。内容数据可以包括内容项(诸如数字部件对象)、以及与内容项的历史或先前呈现相关联的表现数据。
在208,数据处理系统可以为抄本中指示的一个或更多个动作生成位向量。为此,数据处理系统可以使用基于历史内容表现数据训练的深度学习模型。数据处理系统可以将应用的抄本和内容数据输入到深度学习模型中,以为每个动作生成嵌入或位向量或位数组,其指示内容项的子集作为响应于应用中动作的调用而呈现的候选内容项。通过生成指示内容项子集的位向量,数据处理系统可以提高实时内容选择过程的效率和准确性。
图3是根据实施方式的响应于第三方数字助理动作的调用使用位向量来选择内容的示例方法的图示。方法300可以由图1所绘的一个或更多个系统或部件(包括例如数据处理系统)来执行。在302,数据处理系统可以接收应用内动作的调用的指示。应用内动作可以指或包括与语音助理兼容的动作。例如,动作可以响应于来自客户端计算设备的用户的语音输入而被触发、调用或启动。动作可以通过在客户端计算设备上运行的本地数字助理而被调用。动作可以由在客户端计算设备或数据处理系统上运行的NLP部件调用或解析。
响应于动作的调用,客户端计算设备可以向数据处理系统发送指示。发送到数据处理系统的指示可以包括关于与计算设备相关联的应用、动作或信号的信息。例如,发送到数据处理系统的信息可以包括动作的标识符或应用的标识符。信号可以包括例如计算设备的地理位置、计算设备的类型、或与链接到计算设备的简档或电子账户相关联的信息。在一些情况下,信号可以包括关于与计算设备相关联的偏好(诸如对内容类型的偏好)的信息。
客户端计算设备可以通过在客户端计算设备上运行的本地数字助理、应用或其他部件将指示发送到数据处理系统。例如,应用可以响应于动作的调用将指示发送到数据处理系统。本地数字助理可以检测动作的调用,并对包括动作或应用的标识符以及与计算设备相关联的其他信号的给数据处理系统的发送进行打包。
在304,数据处理系统可以在数据储存库中执行查找以识别应用中的动作的位向量。数据处理系统可以使用动作和应用的标识符来执行查找。在306,数据处理系统可以从位向量中识别候选内容项。数据处理系统可以使用从客户端计算设备接收到的信息来执行在数据储存库中的查找以检索或访问为动作配置的位向量。位向量可以包括与动作相关联的候选内容项。
在308,数据处理系统可以从位向量中选择得分最高的候选内容项。数据处理系统可以使用任何评分技术来确定每个内容项的得分。数据处理系统可以使用得分对内容项进行排名以确定排名最高的内容项。数据处理系统可以基于或使用从计算设备接收到的信号来确定每个内容项的得分。例如,如果内容项与和客户端计算设备的地理位置相同的地理位置相关联,则数据处理系统可以对该内容项比对可能不与客户端计算设备的地理位置相关联的另一内容项评更高的得分。在另一示例中,客户端计算设备可以被配置为使用英语,并且与英语的内容项相比,法语的内容项可以被数据处理系统评更低的得分。
在310,数据处理系统可以将所选择的内容项发送到客户端计算设备以使客户端计算设备呈现该内容项。数据处理系统可以包括关于如何呈现内容项的指令。数据处理系统可以提供关于何时呈现内容项、使用什么输出设备来呈现内容项或允许内容项的交互特征的指令。数据处理系统可以将内容项提供给客户端计算设备的发送了动作调用指示的部件。例如,数据处理系统可以将内容项返回给在客户端计算设备上运行的应用或本地数字助理。
在312,数据处理系统可以确定内容项的表现。数据处理系统可以基于用户是否与内容项交互或与内容项的交互类型来确定内容项的表现。表现可以基于用户是否允许了内容项完全回放、用户是否跳过了内容项的回放、用户是否关闭了内容项、取消了内容项、快进了内容项或以其他方式与内容项进行了交互。例如,如果内容项是音频剪辑并且计算设备播放了音频剪辑的全部持续时间,则数据处理系统可以确定内容项表现良好。然而,如果用户跳过了内容项的回放,则数据处理系统可以确定内容项表现不佳。
在314,数据处理系统可以基于内容项的表现来更新机器学习模型。数据处理系统可以基于内容项的表现来更新用于生成位向量的机器学习模型或深度学习模型。例如,如果内容项表现不佳,则数据处理系统可以从位向量中移除内容项。如果内容项表现良好,则数据处理系统可以将内容项作为候选内容项保留在位向量中,或者增加与候选内容项相关联的得分或权重。
图4是示例计算机系统400的框图。计算机系统或计算设备400可以包括或用于实现系统100或其部件,诸如数据处理系统102或客户端计算设备136。数据处理系统102或客户端计算设备136可以包括智能个人助理或基于语音的数字助理。计算系统400包括用于通信地传送信息的总线405或其他通信部件、以及联接到总线405用于处理信息的处理器410或处理电路。计算系统400还可以包括联接到总线用于处理信息的一个或更多个处理器410或处理电路。计算系统400还包括联接到总线405用于存储信息以及将由处理器410运行的指令的主存储器415,诸如随机存取存储器(RAM)或其他动态存储设备。主存储器415可以是或包括数据储存库120。主存储器415还可以用于在处理器410运行指令期间存储位置信息、临时变量或其他中间信息。计算系统400还可以包括联接到总线405以存储用于处理器410的静态信息和指令的只读存储器(ROM)420或其他静态存储设备。存储设备425(诸如固态设备、磁盘或光盘)可以联接到总线405以持久地存储信息和指令。存储设备425可以包括或者是数据储存库120的部分。
计算系统400可以通过总线405联接到显示器435(诸如液晶显示器或有源矩阵显示器)用于向用户显示信息。输入设备430(诸如包括字母数字键和其他键的键盘)可以联接到总线405,用于将信息和命令选择通信地传送到处理器410。输入设备430可以包括触摸屏显示器435。输入设备430还可以包括光标控件(诸如鼠标、轨迹球或光标方向键),用于将方向信息和命令选择通信地传送到处理器410以及用于控制显示器435上的光标移动。例如,显示器435可以是数据处理系统102或客户端计算设备136或图1的其他部件的部分。
在此描述的过程、系统和方法可以由计算系统400响应于处理器410运行包含在主存储器415中的指令布置来实现。这样的指令可以从另一计算机可读介质(诸如存储设备425)被读入主存储器415中。包含在主存储器415中的指令布置的运行使计算系统400执行在此描述的说明性过程。也可以采用多处理布置中的一个或更多个处理器来运行包含在主存储器415中的指令。硬连线电路可以与在此描述的系统和方法一起用于代替软件指令使用或与软件指令组合使用。在此描述的系统和方法不限于硬件电路和软件的任何特定组合。
尽管已经在图4中描述了示例计算系统,但是包括本说明书中描述的操作的主题可以在其他类型的数字电子电路中实现,或在计算机软件、固件或硬件(包括在本说明书中公开的结构及其结构等同物)中实现,或在其中的一种或更多种的组合中实现。
对于在此讨论的系统收集关于用户的个人信息或者可以利用个人信息的情况,可以向用户提供控制程序或特征是否可以收集个人信息(例如,关于用户的社交网络、社交动作或活动、用户的偏好或用户位置的信息)或者控制是否或如何从内容服务器或其他数据处理系统接收可能与用户更相关的内容的机会。此外,某些数据在存储或使用之前可能以一种或更多种方式匿名化,使得个人身份信息在生成参数时被删除。例如,用户的身份可以匿名化,从而无法针对用户确定个人身份信息,或者用户的地理位置可以在获得位置信息的情况下被概括(例如到城市、邮政编码或州级别),从而无法确定用户的特定位置。因此,用户可以控制如何收集关于他或她的信息并由内容服务器使用。
本说明书中描述的主题和操作可以在数字电子电路中实现,或在计算机软件、固件或硬件(包括在本说明书中公开的结构及其结构等同物)中实现,或者在其中的一种或更多种的组合中实现。本说明书中描述的主题可以被实现为编码在一个或更多个计算机存储介质上以由数据处理装置运行或控制数据处理装置的操作的一个或更多个计算机程序,例如一个或更多个计算机程序指令电路)。可选地或另外地,程序指令可以编码在人工生成的传播信号(例如,机器生成的电信号、光学信号或电磁信号)上,该人工生成的传播信号被生成用于对信息进行编码以传输到合适的接收器装置从而供数据处理装置运行。计算机存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或其中的一个或更多个的组合,或者可以被包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或其中的一个或更多个的组合中。虽然计算机存储介质不是传播信号,但计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是一个或更多个单独的部件或介质(例如,多个CD、磁盘或其他存储设备),或者被包括在所述一个或更多个单独的部件或介质中。在本说明书中描述的操作可以被实现为由数据处理装置对存储在一个或更多个计算机可读存储设备上或从其他源接收到的数据执行的操作。
术语“数据处理系统”、“计算设备”、“部件”或“数据处理装置”涵盖用于处理数据的各种装置、设备和机器,包括例如一个或多个可编程处理器、一个或多个计算机、一个或多个片上系统、或上述的组合。装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置还可以包括为所讨论的计算机程序创建运行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时间环境、虚拟机或其中一个或更多个的组合的代码。装置和运行环境可以实现各种不同的计算模型基础设施,诸如网络服务、分布式计算和网格计算基础设施。例如,动作爬虫110、嵌入提取器112或其他部件可以包括或共享一个或更多个数据处理装置、系统、计算设备或处理器。
计算机程序(也称为程序、软件、软件应用、应用、脚本或代码)可以以任何形式的编程语言(包括编译或解释语言、声明性或过程性语言)来编写,并且可以以任何形式(包括作为独立程序或作为模块、部件、子例程、对象或适用于计算环境的其他单元)来部署。计算机程序可以对应于文件系统中的文件。计算机程序可以存储在持有其他程序或数据(例如,存储在标记语言文档中的一个或更多个脚本)的文件的一部分中,在专用于所讨论的程序的单个文件中,或在多个协调文件(例如,存储一个或更多个模块、子程序或部分代码的文件)中。可以部署计算机程序以在一个计算机上或在位于一个地点或分布在多个地点并通过通信网络互连的多个计算机上运行。
本说明书中描述的过程和逻辑流可以由运行一个或更多个计算机程序的一个或更多个可编程处理器(例如,数据处理系统102的部件)执行,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流也可以由专用逻辑电路执行,并且装置也可以被实现为专用逻辑电路,专用逻辑电路例如为FPGA(现场可编程门阵列)或ASIC(专用集成电路)。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如:示例半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD ROM盘和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或结合在专用逻辑电路中。
在此描述的主题可以在包括后端部件(例如,作为数据服务器)或包括中间件部件(例如,应用服务器)或包括前端部件(例如,具有图形用户界面或网络浏览器的客户端计算机,用户可以通过该图形用户界面或网络浏览器与本说明书中描述的主题的实施方式交互)的计算系统、或一个或更多个这样的后端、中间件或前端部件的组合中实现。系统的部件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、网际网(例如,互联网)和对等网络(例如,自组织对等网络)。
诸如系统100或系统400的计算系统可以包括客户端和服务器。客户端和服务器一般彼此远离并且通常通过通信网络(例如,网络105)交互。客户端和服务器的关系通过在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施方式中,服务器将数据(例如,表示数字部件的数据包)发送到客户端设备(例如,为了向与客户端设备交互的用户显示数据和从该用户接收用户输入)。在客户端设备处生成的数据(例如,用户交互的结果)可以在服务器处从客户端设备接收(例如,由数据处理系统102从客户端计算设备136或补充数字内容提供者设备132接收)。
虽然在附图中按特定顺序描述了操作,但是这些操作不需要按所示的特定顺序或按依次的顺序执行,并且不需要执行所有示出的操作。在此描述的动作可以按不同的顺序执行。
各种系统部件的分离不要求在所有实施方式中的分离,并且所描述的程序部件可以被包括在单个硬件或软件产品中。例如,自然语言处理器106和接口104可以是单个部件、应用或程序、或具有一个或更多个处理电路的逻辑器件、或数据处理系统102的一个或更多个服务器的部分。
现在已经描述了一些说明性实施方式,显然前述内容是说明性的而不是限制性的,已经通过示例的方式提供。特别地,尽管在此呈现的许多示例涉及方法动作或系统元素的特定组合,但是那些动作和那些元素可以以其他方式组合以实现相同的目的。结合一种实施方式讨论的动作、元素和特征不旨在被排除在其他实施方式或实施方式中的类似角色之外。
在此使用的措辞和术语是出于描述的目的,并且不应被视为是限制性的。在此使用“包括”、“包含”、“具有”、“含有”、“涉及”、“特征是”、“特征在于”及其变体意味着涵盖后面列出的项目、其等同物和附加项目、以及由其后专门列出的项目组成的替代实施方式。在一种实施方式中,在此描述的系统和方法由所描述的元素、动作或部件中的一个、多于一个的每个组合、或所有组成。
对在此以单数形式引用的系统和方法的实施方式或元素或动作的任何引用也可以包括包含多个这些元素的实施方式,并且对这里的任何实施方式或元素或动作的任何复数引用也可以包括只包含单个元素的实施方式。单数或复数形式的引用不旨在将当前公开的系统或方法、其部件、动作或元素限制于单一或复数配置。对任何动作或元素基于任何信息、动作或元素的引用可以包括动作或元素至少部分地基于任何信息、动作或元素的实施方式。
在此公开的任何实施方式可以与任何其他实施方式或实施例组合,并且对“实施方式”、“一些实施方式”、“一个实施方式”等的引用未必相互排斥,并且旨在指示结合实施方式描述的特定特征、结构或特性可以被包括在至少一个实施方式或实施例中。在此使用的这些术语未必都指同一实施方式。任何实施方式可以以与在此公开的方面和实施方式一致的任何方式与任何其他实施方式包含性地或排他性地组合。
对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示单个、多于一个和所有的所描述的术语中的任何之一。对术语的组合列表中的至少一个的引用可以被解释为包含性的或,以指示单个、多于一个和所有的所描述的术语中的任何之一。例如,对“‘A’和‘B’中的至少一个”的引用可以只包括‘A’,只包括‘B’,以及包括‘A’和‘B’两者。与“包括”或其他开放术语结合使用的此类引用可以包括另外的项目。
在附图、详细描述或任何权利要求中的技术特征后跟着附图标记的情况下,包括附图标记是为了提高附图、详细描述和权利要求的可理解性。因此,无论是附图标记还是其缺失都对任何权利要求元素的范围没有任何限制作用。
在不脱离其特征的情况下,在此描述的系统和方法可以以其他特定形式体现。前述实施方式是说明性的而不是限制所描述的系统和方法。此处描述的系统和方法的范围因此由所附权利要求而不是前面的描述来指示,并且在权利要求的等同的含义和范围内的变化被包含在其中。
Claims (20)
1.一种系统,包括:
包括存储器和一个或更多个处理器的数据处理系统,其:
从应用开发者接收配置有语音助理兼容动作的应用;
识别所述应用被配置为响应于语音输入而执行的多个动作;
识别由多个第三方计算设备提供的多个内容项;
通过机器学习模型和所述多个内容项的表现数据来生成与所述多个动作对应的多个位向量,所述多个位向量指示所述多个动作中的每个动作的多个候选内容项;以及
响应于对执行所述应用的动作的计算设备的内容的请求,基于所述多个位向量中的与所述动作对应的位向量来选择内容项。
2.根据权利要求1所述的系统,包括:
数据处理系统,其抓爬所述应用以识别所述应用被配置为响应于语音输入而执行的所述多个动作。
3.根据权利要求1或2所述的系统,包括:
数据处理系统,其模拟与所述应用的一个或更多个对话以识别所述多个动作。
4.根据任何前述权利要求所述的系统,包括:
数据处理系统,其抓爬所述应用以生成包括所述应用被配置为根据一个或更多个会话而执行的所述多个动作的抄本,所述抄本存储关于所述多个动作和用于调用所述多个动作的所述一个或更多个会话的信息。
5.根据任何前述权利要求所述的系统,其中所述多个内容项的表现数据指示响应于通过一个或更多个计算设备对所述多个内容项中的每个的先前呈现而与所述多个内容项中的每个进行的交互的类型。
6.根据权利要求5所述的系统,其中交互的类型包括呈现的跳过、快进或持续时间中的至少一种。
7.根据任何前述权利要求所述的系统,包括数据处理系统,以:
从计算设备接收动作调用的指示;
在存储所述多个位向量的数据储存库中用所述动作执行查找,以检索与所述动作对应的位向量;
从所述动作的位向量中识别多个排名靠前的候选内容项;以及
从识别自所述动作的位向量的所述多个排名靠前的候选内容项中选择内容项。
8.根据权利要求7所述的系统,包括数据处理系统,以:
使用与执行所述动作的计算设备相关联的一个或更多个信号,以通过实时内容选择过程从所述多个排名靠前的候选内容项中选择内容项。
9.根据任何前述权利要求所述的系统,包括数据处理系统,以:
接收与响应于所述动作而选择并通过计算设备呈现的内容项的交互级别的指示;以及
用交互级别的指示来重新训练机器学习模型,以更新与所述动作对应的位向量。
10.根据任何前述权利要求所述的系统,其中所述多个位向量中的每个存储所述多个内容项的子集,该子集与排名最高的内容项对应。
11.一种方法,包括:
由包括存储器和一个或更多个处理器的数据处理系统从应用开发者接收配置有语音助理兼容动作的应用;
由数据处理系统识别所述应用被配置为响应于语音输入而执行的多个动作;
由数据处理系统识别多个第三方计算设备提供的多个内容项;
由数据处理系统通过机器学习模型和所述多个内容项的表现数据来生成与所述多个动作对应的多个位向量,所述多个位向量指示所述多个动作中的每个的多个候选内容项;以及
由数据处理系统响应于对执行所述应用的动作的计算设备的内容的请求,基于所述多个位向量中的与所述动作对应的位向量来选择内容项。
12.根据权利要求11所述的方法,包括:
由数据处理系统抓爬所述应用以识别所述应用被配置为响应于语音输入而执行的所述多个动作。
13.根据权利要求11或12所述的方法,包括:
由数据处理系统模拟与所述应用的一个或更多个对话以识别所述多个动作。
14.根据权利要求11至13中任一项所述的方法,包括:
由数据处理系统抓爬所述应用以生成包括所述应用被配置为根据一个或更多个会话执行的所述多个动作的抄本,所述抄本存储关于所述多个动作和用于调用所述多个动作的所述一个或更多个会话的信息。
15.根据权利要求11至14中任一项所述的方法,其中所述多个内容项的表现数据指示响应于通过一个或更多个计算设备对所述多个内容项中的每个的先前呈现而与所述多个内容项中的每个进行的交互的类型。
16.根据权利要求15所述的方法,其中交互的类型包括呈现的跳过、快进或持续时间中的至少一种。
17.根据权利要求11至16中任一项所述的方法,包括:
由数据处理系统从计算设备接收动作调用的指示;
由数据处理系统在存储所述多个位向量的数据储存库中用所述动作执行查找,以检索与所述动作对应的位向量;
由数据处理系统从所述动作的位向量中识别多个排名靠前的候选内容项;以及
由数据处理系统从识别自所述动作的位向量的所述多个排名靠前的候选内容项中选择内容项。
18.根据权利要求17所述的方法,包括:
由数据处理系统使用与执行所述动作的计算设备相关联的一个或更多个信号,以通过实时内容选择过程从所述多个排名靠前的候选内容项中选择内容项。
19.根据权利要求11至18中任一项所述的方法,包括:
由数据处理系统接收与响应于所述动作而选择并通过计算设备呈现的内容项的交互级别的指示;以及
由数据处理系统用交互级别的指示重新训练机器学习模型,以更新与所述动作对应的位向量。
20.根据权利要求11至19中任一项所述的方法,其中所述多个位向量中的每个存储所述多个内容项的子集,所述子集与排名最高的内容项对应。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2021/042231 WO2023003537A1 (en) | 2021-07-19 | 2021-07-19 | Bit vector-based content matching for third-party digital assistant actions |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116075885A true CN116075885A (zh) | 2023-05-05 |
Family
ID=77301010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180017772.4A Pending CN116075885A (zh) | 2021-07-19 | 2021-07-19 | 用于第三方数字助理动作的基于位向量的内容匹配 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20240185847A1 (zh) |
EP (1) | EP4143674A1 (zh) |
JP (1) | JP2023535102A (zh) |
KR (1) | KR20230014680A (zh) |
CN (1) | CN116075885A (zh) |
WO (1) | WO2023003537A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6499013B1 (en) * | 1998-09-09 | 2002-12-24 | One Voice Technologies, Inc. | Interactive user interface using speech recognition and natural language processing |
US10311372B1 (en) * | 2014-12-19 | 2019-06-04 | Amazon Technologies, Inc. | Machine learning based content delivery |
US10573298B2 (en) * | 2018-04-16 | 2020-02-25 | Google Llc | Automated assistants that accommodate multiple age groups and/or vocabulary levels |
CN112204500B (zh) * | 2018-05-04 | 2024-09-10 | 谷歌有限责任公司 | 根据用户和自动化助理界面之间的距离来生成和/或适应自动化助理内容 |
US11194866B2 (en) * | 2019-08-08 | 2021-12-07 | Google Llc | Low entropy browsing history for content quasi-personalization |
-
2021
- 2021-07-19 CN CN202180017772.4A patent/CN116075885A/zh active Pending
- 2021-07-19 US US17/798,165 patent/US20240185847A1/en active Pending
- 2021-07-19 EP EP21752821.5A patent/EP4143674A1/en active Pending
- 2021-07-19 KR KR1020227029138A patent/KR20230014680A/ko unknown
- 2021-07-19 WO PCT/US2021/042231 patent/WO2023003537A1/en active Application Filing
- 2021-07-19 JP JP2022552218A patent/JP2023535102A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023003537A1 (en) | 2023-01-26 |
KR20230014680A (ko) | 2023-01-30 |
JP2023535102A (ja) | 2023-08-16 |
EP4143674A1 (en) | 2023-03-08 |
US20240185847A1 (en) | 2024-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11929069B2 (en) | Proactive incorporation of unsolicited content into human-to-computer dialogs | |
EP3491533B1 (en) | Providing command bundle suggestions for an automated assistant | |
CN110869969A (zh) | 用于在通信会话内生成个性化响应的虚拟助手 | |
JP7525575B2 (ja) | ビジュアルコンテンツからのインタラクティブなオーディオトラックの生成 | |
US20190347118A1 (en) | Identifying parameter values and determining features for boosting rankings of relevant distributable digital assistant operations | |
US11514896B2 (en) | Interfacing with applications via dynamically updating natural language processing | |
US11861316B2 (en) | Detection of relational language in human-computer conversation | |
Yoshino et al. | News navigation system based on proactive dialogue strategy | |
US11817093B2 (en) | Method and system for processing user spoken utterance | |
US11416229B2 (en) | Debugging applications for delivery via an application delivery server | |
US20240185847A1 (en) | Bit Vector-Based Content Matching for Third-Party Digital Assistant Actions | |
KR102637614B1 (ko) | 애플리케이션 전달 서버를 통해 전달을 위한 애플리케이션 디버깅 | |
US20230316940A1 (en) | Methods and systems for automatic speech signal processing using natural language processing (nlp) algorithms to provide personalized learning activities during real-time spoken conversations | |
US11900926B2 (en) | Dynamic expansion of acronyms in audio content | |
Sun et al. | Learning user intentions spanning multiple domains |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |