CN110741362B - 音频查询的重叠处理的协调 - Google Patents

音频查询的重叠处理的协调 Download PDF

Info

Publication number
CN110741362B
CN110741362B CN201980002176.1A CN201980002176A CN110741362B CN 110741362 B CN110741362 B CN 110741362B CN 201980002176 A CN201980002176 A CN 201980002176A CN 110741362 B CN110741362 B CN 110741362B
Authority
CN
China
Prior art keywords
digital assistant
response
component
query
processing system
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.)
Active
Application number
CN201980002176.1A
Other languages
English (en)
Other versions
CN110741362A (zh
Inventor
王波
斯米塔·拉伊
马克斯·奥勒多夫
苏巴亚·文卡塔
查德·约什卡瓦
阿比纳夫·塔内亚
阿米特·阿加瓦尔
克里斯·拉姆斯代尔
克里斯·图尔克斯特拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN110741362A publication Critical patent/CN110741362A/zh
Application granted granted Critical
Publication of CN110741362B publication Critical patent/CN110741362B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/632Query formulation
    • G06F16/634Query by example, e.g. query by humming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/632Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/638Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Fuzzy Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Bioethics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Acoustics & Sound (AREA)
  • Information Transfer Between Computers (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stereophonic System (AREA)

Abstract

提供了音频查询的协调处理。系统接收查询。系统将查询提供给第一数字助理组件和第二数字助理组件以进行处理。系统接收来自第一数字助理组件的对查询的第一响应和来自第二数字助理组件的对查询的第二响应。第一数字助理组件可以被授权访问第二数字助理组件被禁止访问的数据库。系统基于排名决策函数确定选择来自第二数字助理组件的对查询的第二响应。系统响应于该选择将来自第二数字助理的第二响应提供给计算装置。

Description

音频查询的重叠处理的协调
相关申请的交叉引用
本申请根据35U.S.C.§119要求于2018年5月3日提交的标题为“COORDINATION OFOVERLAPPING PROCESSING OF AUDIO QUERIES”的美国临时专利申请No.62/666,681的优先权权益,该申请以引用的方式全部并入本文。
背景技术
计算装置之间的网络流量数据基于分组或其他方式的过多网络传输会阻止计算装置适当地处理网络流量数据、完成与网络流量数据相关的操作或及时响应网络流量数据。如果响应的计算装置达到或超过其处理能力,则网络流量数据的过多网络传输也会使数据路由复杂化或降低响应的质量,这可能会导致低效率的带宽利用率。过多网络传输的一部分可以包括传输不是有效请求的请求。
发明内容
至少一个方面涉及一种用于协调音频查询的重叠处理(overlappingprocessing)的系统。系统可以包括数据处理系统。数据处理系统可以包括至少一个处理器和存储器。数据处理系统可以经由接口接收包括由计算装置的传感器检测到的音频信号的一个或多个数据分组。数据处理系统可以基于经由一个或多个数据分组接收到的音频信号生成查询。数据处理系统可以将查询传输给多个数字助理组件。数据处理系统可以接收来自多个数字助理组件中的第一数字助理组件的对查询的第一响应。数据处理系统可以接收来自多个数字助理组件中的第二数字助理组件的对查询的第二响应。第一数字助理组件可以被授权访问第二数字助理组件被禁止访问的数据库。数据处理系统可以基于排名决策函数确定选择来自第二数字助理组件的第二响应,而不是来自第一数字助理组件的第一响应。数据处理系统可以响应于该选择将来自第二数字助理组件的第二响应提供给计算装置。
可选地,数据处理系统可以被配置为基于针对第二数字助理组件建立的预配置优选选择来自第二数字助理组件的第二响应。可选地,数据处理系统可以被配置为基于来自第二数字助理组件的第二响应的置信分数选择来自第二数字助理组件的第二响应。可选地,数据处理系统可以被配置为确定第一数字助理组件是优选数字助理。数据处理系统可以被配置为确定来自第一数字助理组件的第一响应被标记为备用响应。数据处理系统可以被配置为响应于确定来自第一数字助理组件的第一响应被标记为备用响应而超驰(override)第一数字助理组件。数据处理系统可以被配置为选择来自第二数字助理组件的第二响应。数据处理系统可以被配置为将第一数字助理组件保持为优选数字助理。可选地,数据处理系统可以被配置为:确定针对查询的信号;以及基于该信号从多个排名决策函数中选择排名决策函数。可选地,数据处理系统可以被配置为:确定针对查询的信号;以及基于该信号选择来自第二数字助理组件的响应。可选地,数据处理系统可以被配置为基于排名决策函数,基于第一响应是仅音频响应选择第二响应。可选地,数据处理系统可以被配置为基于排名决策函数,基于第二数字助理组件访问在计算装置的存储器中存储的数据而选择第二响应。可选地,第一响应可以包括以下中的一个:日历信息或媒体内容。可选地,第一数字助理组件可以被配置为独立于第二数字助理组件执行以生成第一响应。可选地,数据处理系统可以被配置为经由独立支路将查询传输给多个数字助理中的每一个数字助理,以使多个数字助理按照重叠的方式处理查询。可选地,第一数字助理组件可以由与第二数字助理组件不同的管理员建立。可选地,数据处理系统可以配置为:经由被配置为将音频转换为文本的流语音服务器接收来自计算装置的一个或多个数据分组。可选地,数据处理系统可以被配置为在接收来自第一数字助理组件的第一响应之前接收来自第二数字助理组件的第二响应。数据处理系统可以被配置为确定第二数字助理组件不是优选数字助理组件。数据处理系统可以被配置为确定第一数字助理是优选数字助理。数据处理系统可以被配置为响应于确定第二数字助理组件不是优选数字助理并且第一数字助理是优选数字助理,等待来自第一数字助理组件的第一响应。数据处理系统可以配置为在接收到来自第一数字助理组件的第一响应后,确定第一响应被标记为备用响应。数据处理系统可以配置为基于确定第二数字助理组件不是优选数字助理并且第一响应被标记为备用响应,选择第二响应。
至少一个方面涉及一种协调音频查询的重叠处理的方法。该方法可以由包括至少一个处理器和存储器的数据处理系统执行。该方法可以包括:数据处理系统接收包括由计算装置的传感器检测到的音频信号的一个或多个数据分组。该方法可以包括:数据处理系统基于经由一个或多个数据分组接收到的音频信号生成查询。该方法可以包括:数据处理系统将查询传输给多个数字助理组件。该方法可以包括:数据处理系统接收来自多个数字助理组件中的第一数字助理组件的对查询的第一响应。该方法可以包括:数据处理系统接收来自多个数字助理组件中的第二数字助理组件的对查询的第二响应。第一数字助理组件可以被授权访问第二数字助理组件被禁止访问的数据库。该方法可以包括:数据处理系统基于排名决策函数确定选择来自第二数字助理组件的第二响应,而不是来自第一数字助理组件的第一响应。该方法可以包括:数据处理系统响应于该选择将来自第二数字助理组件的第二响应提供给计算装置。
可选地,该方法可以包括:基于来自第二数字助理组件的第二响应的置信分数选择来自第二数字助理组件的第二响应。可选地,该方法可以包括:确定第一数字助理组件是优选数字助理。该方法可以包括:确定来自第一数字助理组件的第一响应被标记为备用响应。该方法可以包括:响应于确定来自第一数字助理组件的第一响应被标记为备用响应而超驰第一数字助理组件。该方法可以包括:选择来自第二数字助理组件的第二响应。该方法可以包括:将第一数字助理组件保持为优选数字助理。可选地,该方法可以包括:基于排名决策函数,确定基于第一数字助理组件访问在计算装置的存储器中存储的数据而选择第一响应。可选地,该方法可以包括:经由独立支路将查询传输给多个数字助理中的每一个数字助理,以使多个数字助理按照重叠的方式处理查询。可选地,该方法可以包括:在接收来自第一数字助理组件的第一响应之前,接收来自第二数字助理组件的第二响应。该方法可以包括:确定第二数字助理组件不是优选数字助理组件。该方法可以包括:确定第一数字助理是优选数字助理。该方法可以包括:响应于确定第二数字助理组件不是优选数字助理并且第一数字助理是优选数字助理,而等待来自第一数字助理组件的第一响应。该方法可以包括:在接收到来自第一数字助理组件的第一响应后,确定第一响应被标记为备用响应。该方法可以包括:基于确定第二数字助理组件不是优选数字助理并且第一响应被标记为备用响应,选择第二响应。
至少一个方面涉及一种计算机程序产品,该计算机程序产品被配置为使得:在包括处理器和存储器的数据处理系统上执行时使数据处理系统执行上述方面的方法。该计算机程序产品可以被包括在有形的、非瞬时性的计算机可读介质中或在有形的、非瞬时性的计算机可读介质上提供。
这些和其他方面以及实施方式将在下面详细讨论。前述信息和以下详细描述包括各个方面和实施方式的说明性示例并提供用于理解所要求保护的方面和实施方式的性质和特点的概述或框架。附图提供了对各个方面和实施方式的说明和进一步的理解,并且被并入本说明书中并构成本说明书的一部分。
附图说明
附图并非旨在按照比例绘制。在各个图中,类似的附图标记和标号指示类似的元件。出于简洁起见,在每个图中可以不必标出每个组件。在图中:
图1图示了用于协调音频查询的重叠处理的示例系统。
图2图示了用于协调音频查询的重叠处理的系统的示例操作。
图3图示了使用图1或图2所示的示例系统协调音频查询的重叠处理的流程图。
图4图示了使用图1或图2所示的示例系统协调音频查询的重叠处理的方法。
图5是图示了可以被用来实施本文描述和图示的系统和方法的元件的计算机系统的总体架构的框图,该本文描述和图示的系统和方法包括:例如,图1和图2中描绘的系统、图3中描绘的流程或图4中描绘的方法。
具体实施方式
以下是对与用于在多个装置之间协调音频查询的并行处理的方法、设备和系统有关的各种概念和用于在多个装置之间协调音频查询的并行处理的方法、设备和系统的实施方式的详细描述,该多个装置诸如数据处理系统、显示装置和客户端装置。可以按照许多方式中的任何一种来实现上面介绍的和下面将更详细讨论的各种概念。
音频查询可以由多个数字助理组件处理。但是,不同的数字助理组件可以基于相应的组件使用的处理技术或者基于针对不同数字助理组件建立的数据库访问控制,生成音频查询的不同的结果。此外,不同的数字助理组件可以在不同的时间处理和返回结果。因此,在不同数字助理组件可以并行地或按照重叠的方式处理音频查询的情况下,协调对音频查询的处理可能是具有挑战性的。
本技术方案的系统和方法提供了对音频查询的重叠处理的协调。例如,计算装置可以接收由计算装置的麦克风检测到的音频查询。计算装置或其接口可以将音频查询转发给第一数字助理代理进行处理。接口可以将音频查询转发给第二数字助理代理进行处理。第一数字助理可以生成至少一个第一结果,而第二数字助理可以生成第二结果。第二数字助理可以为第二结果生成置信分数。响应于该置信分数,第二数字助理可以超驰第一数字助理并确定返回第二结果。第二数字助理可以确定第一结果尚不可用,并超驰第一数字助理以提供第二结果。
例如,多个数字助理组件(例如,数字助理、数字助理代理或话音代理)可以被配置为处理、解析、服务或响应于用户经由计算装置(例如,联网的电视、联网的扬声器或其他联网的计算装置)输入的音频查询。本技术方案的系统和方法提供了一种用于在响应的数字助理代理之间进行仲裁和确定优先级的框架。例如,在话音查询被预处理器组件转录为文本之后,可以将查询传递给第一数字助理(例如,配置有第三方数字助理组件的第三方云)以处理该查询,而第二数字助理可以并行地或按照重叠的方式处理查询。
数字助理组件或单独的协调器组件或响应处理机组件中的一个可以确定使用哪个话音代理来提供响应或使用哪个响应。协调组件可以配置有规则、策略或质量评估技术以确定要使用哪个数字助理组件。第二数字助理组件可以确定超驰第一数字助理组件。第二数字助理组件可以基于置信分数、质量评估技术、通过解析查询生成的信号、用于提供结果的数据库或与查询相关联的域来确定超驰第一数字助理。
例如,第一数字助理可以被配置为处理和响应于与诸如“play Movie_A onStreaming_Service_A”(“在流_服务_A上播放电影_A”)的媒体域查询有关的音频查询,而第二数字助理组件可以被配置为处理和响应于诸如“when is my next appointment”(“我下次约会是什么时间”)的搜索域查询。如果搜索查询信号不明确或属于多个类别,则协调器组件可以对来自多个数字助理组件的响应进行评分或排名并选择来自数字助理组件中的一个的响应。例如,协调器组件可以基于置信度或其他因素对响应或查询进行评分或排名。
因此,本技术方案的系统和方法可以通过允许第一数字助理组件和第二数字助理组件并行地或按照重叠的方式而不是串行地运行来减少时延。通过选择来自最先完成处理的数字助理的结果,可以进一步减少时延。通过使用排名决策函数选择来自数字助理中的一个的响应或结果,可以提高可靠性。本技术方案的系统和方法可以减少对优选域的第三方云功能的依赖性,这可能会产生更鲁棒的性能。例如,如果来自第二数字助理组件的响应可用并且指示查询属于第二数字助理或其管理员优选的域,则第二数字助理组件可以提供响应而甚至无需等待第一数字助理组件返回响应,从而在第一数字助理较慢或经历异常、错误、故障、过大处理负载或其他处理问题的情况下减少时延或延迟。本技术方案的系统和方法可以提供对于来自第一数字助理组件或第二数字助理组件的置信分数来对结果进行微调的方法。第一数字助理组件可以使用“备用”结果来报告其结果的置信分数。如果第二数字助理组件相对于第一数字助理组件的阈值或置信分数具有低的置信分数,则系统可以决定返回来自第一数字助理组件的“备用”结果。如果第一数字助理组件指示它没有答案,则第二数字助理组件可以提供结果,而不管与该查询相关联的域或信号。
本公开的系统和方法可以提供一种允许具有自己的数字助理代理的第三方电视与由数据处理系统提供的数字助理代理集成的方式。该系统和方法可以包括注册装置模型以针对诸如数据处理系统的数字助理组件可以与其交互的第三方话音代理端点的装置的类型指定通用元数据、任何语音偏见短语和诸如浏览器的装置功能。该系统和方法可以包括在模型中提供域以指定优选服务于哪个查询域,诸如媒体查询。该系统和方法可以包括:与针对电视上的视觉效果而增强的数字助理软件开发套件(“SDK”)应用编程接口(“API”)集成。该系统和方法可以包括与数字助理SDK开箱体验(“OOBE”)流程集成,以指导用户登录装置。支持OOBE和认证的装置绑定方案可以是安全的。
模型注册API可以允许电视或其他计算装置的制造商指定其云自然语言理解(“NLU”)端点和其他联合组织特定的元数据。该系统可以提供向装置模型注册的上下文语音偏见短语,以用于数据处理系统的自动语音识别正确识别在装置上说出的常见查询。该系统可以与构建数据处理系统的候选结果并行地触发第三方云NLU以实现最优时延。该系统可以提供考虑了排名协议或策略的排名层以实现基于域的查询。该系统可以提供新的处理流程以允许来自数字助理组件的响应而无需登录。该系统可以阻止在由第三方数字助理提供响应的情况下对查询的内容选择,并执行后处理以从其他日志中清除此类查询。由于平台上可以使用多个代理,所以该系统可以提供针对代理的功能的流程。该系统可以提供可扩展的视觉解决方案,以在第三方装置上渲染HTML5,以便任何具有浏览器的装置都可以显示视觉结果并可以支持交互式元素,诸如建议点击或链接。
图1图示了用于在多个装置之间协调音频查询的并行处理的示例系统100。系统100可以包括至少一个数据处理系统102、至少一个第一数字助理服务器106、一个或多个客户端装置104、一个或多个显示装置108以及网络110。显示装置108可以经由有线或无线连接(例如,通过网络110、短程通信或配对)耦合到客户端装置104。客户端装置104可以是显示装置108的一部分或者以其他方式集成到显示装置中。至少一个数据处理系统102、一个或多个客户端装置104和一个或多个显示装置108可以经由网络110彼此通信地耦合。
数据处理系统102可以包括接口122。数据处理系统102可以包括第二数字助理应用120。数据处理系统102可以包括自然语言处理器(NLP)组件124以解析基于音频的输入。数据处理系统102可以包括接口管理组件128以检测和管理系统100中其他装置的接口。数据处理系统102可以包括音频信号生成器组件130以生成基于音频的信号。数据处理系统102可以包括直接动作应用编程接口(API)126以实现从基于音频的输入解析的请求。数据处理系统102可以包括音频信号生成器组件130以选择对基于音频的输入信号的响应。数据处理系统102可以包括数据存储库140。数据处理系统102可以包括搜索协调器组件132、内容索引器组件134、排名引擎136和响应处理机组件138。NLP组件124、接口管理组件128、音频信号生成器组件130、数据存储库140、直接动作API 126、接口管理组件128、搜索协调器组件132、内容索引器组件134、排名引擎136和响应处理机组件138可以形成数字助理应用120。
可以包括或以其他方式从一个或多个客户端装置104和一个或多个显示装置108访问诸如数字助理应用120的数据处理系统102的功能性。数据处理系统102的功能性可以对应于在客户端装置104或显示装置108上执行的数字助理应用120的功能性或接口。客户端装置104和显示装置108均可以包括并执行数字助理应用120的一个或多个组件的单独实例。客户端装置104和显示装置108可以以其他方式经由网络110访问远程数据处理系统102上的数字助理应用120的组件的功能性。例如,显示装置108可以包括NLP组件124的功能性并可以经由网络110向数据处理系统102访问数字助理应用120的其余组件。数据处理系统102、客户端装置104和显示装置108可以包括并执行数字助理应用120的组件的单独实例。在客户端装置104和显示装置108上可访问或执行的数字助理应用120均可以具有不同的功能性。客户端装置104或显示装置108可以执行与数据处理系统102接合(interface)的第二数字助理应用120。数据处理系统102可以与第一数字助理服务器106接合。
客户端装置104和显示装置108均可以包括至少一个逻辑装置以彼此通信、以通过网络110与数据处理系统102通信,该逻辑装置诸如具有处理器的计算装置。客户端装置104和显示装置108均可以包括关于数据处理系统102描述的组件中的任一个的实例。客户端装置104可以包括台式计算机、膝上型计算机、平板计算机、个人数字助理、智能手机、移动装置、便携式计算机、瘦客户端计算机、虚拟服务器、基于扬声器的数字助理或其他计算装置。显示装置108可以包括智能电视、混合电视、连接的电视、连接到电视的机顶盒、数字视频录像机、监视器、屏幕或其他具有显示功能性的计算装置。客户端装置104可以与显示装置108通信地耦合。例如,一旦配对,客户端装置104可以用作遥控器以控制显示装置108处的各种功能性。客户端装置104可以是显示装置108的一部分或与显示装置108集成在一起。
系统100的组件可以通过网络110进行通信。网络110可以包括:例如,点对点网络、广播网络、广域网、局域网、电信网络、数据通信网络、计算机网络、ATM(异步传输模式)网络、SONET(同步光网络)网络、SDH(同步数字体系)网络、NFC(近场通信)网络、局域网网络(LAN)、无线网络或有线网络及其组合。网络110可以包括无线链路,诸如红外信道或卫星频带。网络110的拓扑可以包括总线、星形或环形网络拓扑。网络110可以包括使用任一个或多个用于在移动装置之间进行通信的协议的移动电话网络,包括:高级移动电话协议(AMPS)、时分多址(TDMA)、码分多址(CDMA)、全球移动通信系统(GSM)、通用分组无线业务(GPRS)或通用移动电信系统(UMTS)。可以通过不同的协议传输不同类型的数据,或者可以通过不同的协议传输相同类型的数据。
网络110可以包括使用蓝牙、低功耗蓝牙、专用短程通信(DSRC)或近场通信(NFC)协议在客户端装置104和显示装置108之间建立的短程通信链路(例如,范围可达30米)。使用这样的协议,数据处理系统102可以经由接口122与一个或多个客户端装置104建立通信链路。数据处理系统102可以经由接口122与一个或多个显示装置108建立通信链路。可以经由配对协议在客户端装置104和显示装置108之间建立短程通信链路。
客户端装置104可以包括传感器152、扬声器150、接口122和换能器154。显示装置108可以包括传感器152、扬声器150、接口122和换能器154。客户端装置104和显示装置108可以包括至少一个传感器152、至少一个换能器154、至少一个音频驱动器和至少一个扬声器150。传感器152可以包括麦克风或音频输入传感器。传感器152可以包括以下中的至少一个:GPS传感器、接近传感器、环境光传感器、温度传感器、运动传感器、加速度计或陀螺仪。传感器可以包括占用或重量传感器。换能器154可以将音频输入转换成电子信号。音频驱动器可以包括由客户端装置104或显示装置108的一个或多个处理器执行的脚本或程序以控制扬声器150。扬声器150可以通过将电信号转换为可听波来渲染音频信号。客户端装置104和显示装置108均可以包括外围装置,诸如键盘、指向装置、(内置的或独立的)监视器和耳机以及其他装置。
客户端装置104和显示装置108均可以执行多媒体内容应用160的实例。多媒体内容应用160可以与特定的第一数字助理服务器106相关联。多媒体内容应用160可以包括安装在客户端装置104或显示装置108上的脚本或程序。多媒体内容应用160可以包括可以通过安装在客户端装置104或显示装置108上的诸如web浏览器的另一应用执行的脚本或程序。多媒体内容应用160可以包括应用编程接口(API),该应用编程接口可以允许客户端装置104或显示装置108处的其他应用(例如,数字助理应用120)与多媒体内容应用160接合。多媒体内容应用160可以播放、流传输、下载或以其他方式访问多媒体内容。多媒体内容可以对应于任何格式的一个或多个视听内容文件,该格式诸如MP3、ACC、OPUS、RTMP、RTP、MP4、FLV、WebM、ASF、ISMA、HEVC、H.264、VP8、VP9、HLS、HDS和SMIL等。一个或多个视听内容文件可以包括用于在客户端装置104或显示装置108处播放的音频和/或视觉内容。在加载一个或多个视听内容文件时,多媒体内容应用160可以在客户端装置104或显示装置108上播放或流传输多媒体内容。
多媒体内容应用160可以向第一数字助理服务器106执行认证过程。该认证过程可以包括通过输入或从存储中检索来在客户端装置104或显示装置108上识别账户标识符和访问代码。一旦接收到,多媒体内容应用160可以将账户标识符和访问代码发送到第一数字助理服务器106。第一数字助理服务器106继而可以将其自己存储的账户标识符的访问代码与从客户端装置104或显示装置108接收到的访问代码进行比较。响应于确定这两个访问代码之间的匹配,第一数字助理服务器106可以将成功认证指示符发送到客户端装置104或显示装置108。
响应于接收到成功认证指示符,多媒体内容应用160可以检索可由该账户标识符的第一数字助理服务器106使用的多媒体内容的目录。多媒体内容应用160可以在图形用户界面中显示可用多媒体内容的目录,其中每个元素对应于每个可用多媒体内容。在与图形用户界面的元素中的一个交互时,多媒体内容应用160可以将对所选择的多媒体内容的请求发送到第一数字助理服务器106。第一数字助理服务器106可以识别并提供与所选择的多媒体内容相对应的一个或多个视听内容文件。多媒体内容应用160继而可以在客户端装置104或显示装置108处存储、播放或流传输与所选择的多媒体内容相对应的一个或多个视听内容文件。本文解释了在系统100的背景下关于第一数字助理服务器106和多媒体内容应用160的功能性的附加细节。
可以将与数据处理系统102相关联的应用、脚本、程序或其他组件安装在客户端装置104或显示装置108上。应用可以使客户端装置104或显示装置108将输入音频信号(和其他数据)传送到数据处理系统102的接口122。应用可以使客户端装置104和显示装置108驱动客户端装置104和显示装置108的组件以渲染输出音频信号。
客户端装置104和显示装置108可以与终端用户相关联,该终端用户(通过传感器152)将话音查询作为输入音频信号输入到客户端装置104或显示装置108中并接收可以从数据处理系统102提供的计算机生成的话音形式的音频输出。响应于输入音频信号,客户端装置104和显示装置108可以接收动作数据结构以执行预定的功能或动作。接口122可以接收数据消息或向数据处理系统102的直接动作API 126提供数据消息,并且使得能够在系统100的组件之间进行通信。客户端装置104和显示装置108可以包括用户界面,该用户界面使用户能够与系统100的组件交互。
数据处理系统102可以包括具有至少一个处理器的至少一个服务器。例如,数据处理系统102可以包括位于至少一个数据中心或服务器场中的多个服务器。数据处理系统102可以从音频输入信号确定请求和与请求相关联的触发关键字。基于请求和触发关键字,数据处理系统102可以生成或选择响应数据。响应数据可以是基于音频的或基于文本的。例如,响应数据可以包括一个或多个音频文件,该音频文件在被渲染时提供音频输出或声波。响应数据中的数据可以称为内容项。除了音频内容之外,响应数据还可以包括其他内容(例如,文本、视频或图像内容)。响应数据可以包括各种类型的内容,诸如日历信息、消息、天气信息、新闻信息或票务信息。
数据处理系统102可以包括多个按逻辑分组的服务器并有助于分布式计算技术。服务器的逻辑组可以称为数据中心、服务器场或机器场。服务器可以是在地理位置上分散的。数据中心或机器场可以作为单个实体被管理,或者机器场可以包括多个机器场。每个机器场中的服务器可以是异构的:服务器或机器中的一个或多个可以根据一种或多种类型的操作系统平台进行操作。数据处理系统102可以包括例如位于企业数据中心中的数据中心中的存储在一个或多个高密度机架系统中的服务器以及相关联的存储系统。以这种方式,具有整合服务器的数据处理系统102可以通过将服务器和高性能存储系统定位在本地化的高性能网络上来改进系统的可管理性、数据安全性、系统的物理安全性以及系统性能。数据处理系统102组件中的所有或某些的集中化并且将它们与高级系统管理工具耦合在一起允许更有效地利用服务器资源,从而节省了功率和处理需求并减少了带宽使用,该数据处理系统102组件包括服务器和存储系统。数据处理系统102的组件中的每一个可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、装置或其他逻辑装置,诸如配置为与数据存储库140以及与其他计算装置通信的可编程逻辑阵列。
数据处理系统102可以包括数据存储库140。数据存储库140可以包括一个或多个本地或分布式数据库并且可以包括数据库管理系统。数据存储库140可以包括计算机数据存储或存储器并且可以存储一个或多个应用标识符142、一个或多个实体元数据144、一个或多个排名策略146以及至少一个引用地址148。每个应用标识符142可以是对应于要在客户端装置104或显示装置108上执行的多媒体内容应用160的字母数字值。每个实体元数据144可以对应于一个实体。每个引用地址148可以识别或引用。下面提供了一个或多个应用标识符142、一个或多个实体元数据144、一个或多个排名策略146以及引用地址148的使用和功能性的细节。
数据存储库140可以包括计算机数据存储或存储器并且可以存储一个或多个参数、一个或多个策略、响应数据和模板以及其他数据。参数、策略和模板可以包括诸如关于客户端装置104、数据处理系统102和显示装置108之间的基于话音的会话的规则的信息。参数、策略和模板可以包括经由接口122从另一个源(例如,数据处理系统102、客户端装置104和显示装置108)接收到的用于另一数字助理应用120的信息。例如,在客户端装置104或显示装置108上托管的数字助理应用120的数据存储库140中存储的参数、策略和模板可以包括来自经由客户端装置104和显示装置108可访问的数字助理应用120的数据存储库140的参数、策略和模板,反之亦然。以这种方式,不同数字助理应用120的参数、策略和模板可以彼此共享和使用。响应数据可以包括音频输出的内容项或相关联的元数据以及可以作为与客户端装置104和显示装置108进行的一个或多个通信会话的一部分的输入音频消息。
NLP组件124可以接收输入音频信号。数据处理系统102可以(例如,经由换能器154或传感器152)从客户端装置104或显示装置108接收包括在数据分组中的输入音频信号。数据分组可以包括与客户端装置104或显示装置108相关联的装置标识符。数据分组可以包括在客户端装置104或显示装置108处可执行的多媒体内容应用160的应用标识符。NLP组件124的功能性可以在数据处理系统102、客户端装置104和显示装置108之间分开。例如,在客户端装置104或显示装置108上执行的NLP组件124可以将在传感器152处检测到的输入音频信号打包成数据分组,并且可以将该数据分组发送给数据处理系统102,以用于在数据处理系统102处执行的NLP组件124处进行进一步处理。
NLP组件124可以通过将输入音频信号与被存储的、代表性的音频波形集合进行比较并选择最接近的匹配,来将输入音频信号转换为识别的文本。可以在输入音频信号的大的集合上生成代表性的波形。一旦输入音频信号被转换成识别的文本,NLP组件124就可以将文本与词语相匹配,该词语例如经由学习阶段与动作或输出音频信号相关联。
NLP组件124可以从输入音频信号中识别至少一个请求。请求可以指示输入音频信号的意图或主题。该请求可以指示可能采取的动作类型。例如,NLP组件124可以解析输入音频信号以识别用于播放多媒体内容的至少一个请求(例如,“Okay,play Bat Movie from2015”(“好,播放2015年的蝙蝠电影”))。请求可以包括至少一个词语、短语、词根或部分字或指示要采取的动作的派生词。请求可以包括触发关键字,诸如“okay”(“好”)或“go”(“去”)。NLP组件124可以检测请求中的触发关键字。响应于检测到触发关键字,NLP组件124可以识别意图、主题和要根据输入音频信号采取的动作类型。
NLP组件126可以从请求中识别至少一个实体。至少一个实体可以对应于请求中的至少一个词语、短语、词根或部分字或派生词。至少一个实体可以包括多媒体内容的描述符,诸如标题、作者、发行者、原始发行日期、语言、体裁、时间长度和其他相关联的关键字(例如,演员名称)。例如,2005年发行的“Bat Movie I”(“蝙蝠电影I”)电影的实体可以包括:标题“Bat Movie I”(“蝙蝠电影I”)、作者“Ms.Director”(“Director女士”)、原始发行日期“June 15,2005”(“2005年6月15日”)、语言“English”(“英语”)、体裁“Action”(“动作片”)、时长“140minutes”(“140分钟”)以及其他信息。NLP组件126可以确定请求中的至少一个词语、短语、词根或部分字或派生词对应于至少一个实体。为了执行该确定,NLP组件126可以访问语义知识图。语义知识图可以指定与该至少一个实体有关的词语、短语、词根或部分字或派生词的集合。语义知识图可以包括经由边彼此连接的节点。节点可以与词语、短语、词根或部分字或派生词相关联,并且可以标记为与至少一个实体相关或不相关。连接两个节点的每个边都可以表示两个节点之间的关系。继续前面的示例,语义知识图中“BatMovie”(“蝙蝠电影”)的节点可以标记为与实体相关并且可以具有到标记为“Bat Movie I”(“蝙蝠电影I”)的、也标记为与实体相关的节点的指示两项之间的关系的边。使用语义知识图,NLP组件126可以确定请求中的至少一个词语、短语、词根或部分字或派生词对应于该至少一个实体。
NLP组件124可以基于实体来确定至少一个请求是否对应于对多媒体内容的查询。响应于识别出请求中的至少一个词语、短语、词根或部分字或派生词对应于至少一个实体,NLP组件124可以确定该至少一个请求对应于对多媒体内容的查询。响应于识别出请求中的词语、短语、词根或部分字或派生词都不对应于至少一个实体,NLP组件124可以确定该至少一个请求不对应于对多媒体内容的查询。如下面详细描述的,至少一个请求对应于对多媒体内容的查询的确定可以触发搜索协调器组件132、内容索引器组件134、排名136和响应处理机组件138的功能性。
音频信号生成器组件130可以从数据存储库140获取信息,在该数据存储库140中可以将信息存储为响应数据的一部分。音频信号生成器组件130可以查询数据存储库140以例如从响应数据中选择或以其他方式识别响应短语或内容项。音频信号生成器组件130可以生成或以其他方式获得包括内容项的输出信号。数据处理系统102可以执行音频信号生成器组件130以生成或创建与内容项或请求相对应的输出信号。例如,一旦满足请求,音频信号生成器组件130就可以生成包括短语“The action was completed”(“动作已完成”)的音频输出信号。
接口122可以是使系统100的组件能够彼此通信的数据接口或网络接口。数据处理系统102的接口122可以经由网络110向客户端装置104或显示装置108提供或传输包括动作数据结构、音频信号或其他数据的一个或多个数据分组。例如,数据处理系统102可以将来自数据存储库140或来自音频信号生成器组件130的输出信号提供给客户端装置104。数据处理系统102可以通过数据分组传输指示客户端装置104或显示装置108执行在动作数据结构中指示的功能。可以获取输出信号、生成输出信号、将输出信号转换为一个或多个数据分组(或其他通信协议)或将输出信号作为一个或多个数据分组(或其他通信协议)从数据处理系统102(或其他计算装置)传输到客户端装置104或显示装置108。
数据处理系统102的直接动作API 126可以例如基于请求来生成动作数据结构。动作数据结构可以包括用于执行指定动作以满足请求的数据或指令。在一些实施方式中,动作数据结构可以是JSON格式的数据结构或XML格式的数据结构。
取决于请求中指定的动作,直接动作API 126可以执行代码或对话脚本,该代码或对话脚本识别实现请求所需的参数。可以响应于请求而生成动作数据结构。动作数据结构可以被包括在被传输到客户端装置104或显示装置108或由客户端装置104或显示装置108接收的消息中。直接动作API 126可以将请求打包到动作数据结构中以传输给显示装置108。直接动作API 126可以从响应数据访问装置标识符以确定哪个客户端装置104或显示装置108与生成请求的用户相关联。一旦接收到动作数据结构,显示装置108就可以处理动作数据结构并且可以执行所指示的动作。直接动作API 126可以将请求打包到动作数据结构中以由客户端装置104或显示装置108执行。一旦接收到动作数据结构,客户端装置104就可以使用数字助理应用120或一个或多个在客户端装置104上运行的应用来处理动作数据结构。
动作数据结构可以包括用于完成请求的信息。例如,动作数据结构可以是XML或JSON格式的数据结构,其包括用于完成或以其他方式满足请求的属性。属性可以包括显示装置108的位置、客户端装置104的位置、与客户端装置104相关联的用户的授权级别、装置标识符、接口标识符、车辆状态或请求状态。在一些实施方式中,请求状态包括在实现动作之前应当满足的一个或多个属性。例如,对于请求“Ok,change the song”(“好,更换歌曲”),请求状态可以具有属性{requestor:[authorized,passenger]},该属性可以指示请求应是明确授权的用户。
直接动作API 126可以从数据存储库140中检索模板以确定哪些字段或属性要包括在动作数据结构中。直接动作API 126可以确定必要的参数并且可以将信息打包成动作数据结构。直接动作API 126可以从数据存储库140检索内容以获得关于数据结构的属性的信息。
直接动作API 126可以使用来自输入音频信号的数据填充字段。直接动作API 126可以使用来自客户端装置104或显示装置108或来自另一源的数据填充字段。当填充字段时,直接动作API 126可以提示用户附加信息。可以针对不同类型的动作、响应于消息以及执行客户端装置104或显示装置108内的功能来对模板进行标准化。动作数据结构最初可以由远程数据处理系统102执行的直接动作API 126生成。远程数据处理系统102可以将动作数据结构传输给客户端装置104或显示装置108,客户端装置104或显示装置108可以向动作数据结构添加字段和属性。
直接动作API 126可以从数据存储库140中获取响应数据(或参数或策略)以及在终端用户同意的情况下从客户端装置104或显示装置108所接受的数据。响应数据(或参数或策略)可以被包括在动作数据结构中。当动作数据结构中包括的内容包括用于认证的终端用户数据时,数据在被存储在数据存储库140中之前可以通过哈希函数。
数据处理系统102可以包括搜索协调器组件132、与搜索协调器组件132接合或以其他方式与搜索协调器组件132通信。搜索协调器组件132可以生成查询命令以发送给客户端装置104或显示装置108。由搜索协调器组件132生成查询命令可以响应于确定请求对应于对多媒体内容的查询。查询命令可以包括从响应中识别的实体。查询命令可以包括用于客户端装置104或显示装置108处理查询命令的指令。指令可以指示客户端装置104或显示装置108上的哪个多媒体内容应用160将执行对实体的搜索。为了生成指令,搜索协调器组件132可以访问数据存储库140以识别要包括在查询命令中的一个或多个应用标识符142。数据存储库140可以通过与客户端装置104或显示装置108相关联的装置标识符来识别一个或多个应用标识符142。每个应用标识符142可以通过由客户端装置104或显示装置108使用的频率来标记。搜索协调器组件132可以将初始数据分组中的一个或多个应用标识符142插入到查询命令的指令中。搜索协调器组件132可以基于由客户端装置104和显示装置108使用的频率来识别客户端装置104和显示装置108的应用标识符142的子集。例如,搜索协调器组件132可以识别出:与多媒体内容应用160“C”、“D”和“E”相比,显示装置108更频繁地使用多媒体内容应用160“A”和“B”。在本示例中,搜索协调器组件132可以选择与多媒体内容应用160对应的应用标识符142以插入到查询命令中。查询命令的每个应用标识符142可以指示客户端装置104或显示装置108上的哪个多媒体内容应用160将执行对实体的搜索。在生成查询命令之后,搜索协调器132可以将查询命令传输给客户端装置104或显示装置108。
接收到查询命令可以使客户端装置104或显示装置108到多媒体内容应用160执行对实体的搜索。响应于接收到查询命令,客户端装置104或显示装置108可以解析查询命令以识别实体。客户端装置104或显示装置108可以解析查询命令以识别一个或多个应用标识符142。客户端装置104或显示装置108可以识别与查询命令的一个或多个应用标识符142相对应的多媒体内容应用160。客户端装置104或显示装置108可以发起从查询命令的一个或多个应用标识符142中识别的多媒体内容应用160的执行。为了执行搜索,客户端装置104或显示装置108可以经由多媒体内容应用160的应用编程接口将查询命令中的至少一个实体提供给每个多媒体内容应用160。一旦提供了实体,则每个多媒体内容应用160可以将查询请求发送给相关联的第一数字助理服务器106。
与生成和向客户端装置104或显示装置108发送查询命令并行,搜索协调器组件132可以生成查询请求以发送给第一数字助理服务器106。由搜索协调器组件132进行的查询请求的生成可以响应于确定请求对应于对多媒体内容的查询。由搜索协调器组件132进行的查询请求的生成可以响应于由内容索引器组件134进行的调用,如下所述。查询请求可以包括从响应中识别的实体。查询请求可以包括用于第一数字助理服务器106处理查询请求的指令。搜索协调器132可以从客户端装置104或显示装置108的一个或多个应用标识符142中识别哪些多媒体内容提供者要发送查询请求。在生成查询请求之后,搜索协调器132可以将查询请求传输给第一数字助理服务器106。
接收到来自客户端装置104、显示装置108或搜索协调器组件132的查询请求可以使第一数字助理服务器106执行对实体的搜索。由于客户端装置104或显示装置108可能已经初始化了多媒体内容应用160以发送查询请求,因此来自客户端装置104或显示装置108的查询请求可以在来自搜索协调器组件132的查询请求之后被接收。第一数字助理服务器106可以响应于查询请求而访问内容数据存储库162。内容数据存储库162可以包括一个或多个实体元数据144和一个或多个排名策略146。每个实体元数据144可以对应于一个实体。数据存储库162上的每个实体元数据144可以包括关于与实体相对应的多媒体内容的一个或多个条目,诸如标题、作者、发行者、原始发行日期、语言、体裁、时间长度和其他相关联的关键字。例如,一个实体元数据144可以对应于“Bat Movie I”(“蝙蝠电影I”),而另一实体元数据144可以对应于“Bat Movie II”(“蝙蝠电影II”)。每个实体元数据144可以与引用地址148(例如,统一资源定位符)相关联。引用地址148可以包括主机名、文件路径名和查询参数。主机名可以对应于第一数字助理服务器106。文件路径名可以对应于与实体相对应的多媒体内容的一个或多个视听文件。查询参数可以包括属性-值对。查询参数可以由第一数字助理服务器106动态生成,并且可以随客户端装置104、显示装置108或搜索协调器组件132而变化。
基于来自查询请求的实体,第一数字助理服务器106可以识别与实体相对应的引用地址148。第一数字助理服务器106可以遍历内容数据存储库162。对于每个实体元数据144,第一数字助理服务器106可以将实体与实体元数据144进行比较。例如,第一数字助理服务器106可以将实体“Bat Movie”(“蝙蝠电影”)与诸如标题的实体元数据144的条目中的任一个进行比较。第一数字助理服务器106可以确定实体元数据144的一个或多个条目是否与来自查询请求的实体匹配。第一数字助理服务器106可以确定实体与实体元数据144之间不存在匹配。响应于确定不存在匹配,第一数字助理服务器106可以继续遍历内容数据存储库162。第一数字助理服务器106可以确定不再有实体元数据144要遍历。响应于确定不再有实体元数据144要遍历,第一数字助理服务器106可以确定在内容数据存储库162中不存在实体。第一数字助理服务器106可以传输空响应。空响应可以指示第一数字助理服务器106不具有与实体相对应的多媒体内容。
相反,第一数字助理服务器106可以确定实体与实体元数据144之间存在匹配。响应于对匹配的确定,第一数字助理服务器106可以确定实体存在于内容数据存储库162中。第一数字助理服务器106可以识别对应于与实体匹配的实体元数据144的引用地址148。第一数字助理服务器106可以生成搜索响应。搜索响应可以指示第一数字助理服务器106确实具有与实体相对应的多媒体内容。搜索响应可以包括与实体的多媒体内容相对应的引用地址148。
第一数字助理服务器106可以继续遍历内容数据存储库162以识别查询请求的实体与实体元数据144之间的其他匹配。利用其他匹配,第一数字助理服务器106可重复地识别对应于与实体匹配的实体元数据144的引用地址148,并且可以将引用地址148包括在搜索响应中。第一数字助理服务器106可以确定不再有实体元数据144要遍历。响应于确定不再有实体元数据144要遍历,第一数字助理服务器106可以将响应发送给客户端装置104、显示装置108或发送查询搜索的搜索协调器组件132。
数据处理系统102可以包括内容索引器组件134、与内容索引器组件134接合或以其他方式与内容索引器组件134通信。内容索引器组件134可以访问数据处理系统102的数据存储库140或第一数字助理服务器106来识别与实体相对应的引用地址148。在访问第一数字助理服务器106以识别引用地址148之前,内容索引器组件134可以访问数据存储库140。内容索引器组件134可以遍历数据存储库140。除了应用标识符142之外,数据存储库140可以包括一个或多个实体元数据144和一个或多个排名策略146。数据存储库140上的实体元数据144和排名策略146可以与内容数据存储库162上的实体元数据144和排名策略146分开且独立地维护。数据存储库140上的实体元数据144和排名策略146可以来自多媒体内容提供者的先前搜索响应。内容索引器组件134可以维护计时器以追踪存储在数据存储库140处的每个实体元数据144和相关联的引用地址148所经过的时间。
内容索引器组件134可以遍历内容数据存储库140。对于每个实体元数据144,内容索引器组件134可以将实体与实体元数据144进行比较。例如,内容索引器组件134可以将实体“Bat Movie”(“蝙蝠电影”)与诸如标题的实体元数据144的条目中的任一个进行比较。内容索引器组件134可以确定实体元数据144的一个或多个条目是否与来自查询请求的实体匹配。内容索引器组件134可以确定实体与实体元数据144之间不存在匹配。响应于确定不存在匹配,内容索引器组件134可以继续遍历内容数据存储库140。内容索引器组件134可以确定不再有实体元数据144要遍历。响应于确定不再有实体元数据144要遍历,内容索引器组件134可以确定在内容数据存储库140中不存在实体。响应于对在内容数据存储库140中不存在实体的确定,内容索引器组件134可以调用搜索协调器组件132以将查询请求发送给第一数字助理服务器106以检索引用地址148。
相反,内容索引器组件134可以确定实体与实体元数据144之间存在匹配。响应于对匹配的确定,内容索引器组件134可以确定实体存在于内容数据存储库140中。内容索引器组件134可以识别对应于与实体匹配的实体元数据144的引用地址148。内容索引器组件134可以存储与实体相对应的引用地址148。
内容索引器组件134可以识别所识别的引用地址148经过的时间。内容索引器组件134可以将经过的时间与预设的到期时间进行比较。由于第一数字助理服务器106可以周期性地更新或改变可用多媒体内容的目录,所以预设的到期时间可以在1小时至1个月的范围内。预设的到期时间可以对应于引用地址148对于第一数字助理服务器106处的实体有效的时间量。内容索引器组件134可以确定经过的时间小于预设的到期时间。响应于确定经过的时间小于预设的到期时间,内容索引器组件134可以存储与实体相对应的引用地址148。内容索引器组件134可以终止对第一数字助理服务器106的用于搜索与实体相对应的引用地址的访问。
另一方面,内容索引器组件134可以确定经过的时间大于或等于预设的到期时间。响应于确定经过的时间大于或等于预设的到期时间,内容索引器组件134可以来自替换数据存储库140的引用地址148。为了更新数据存储库140,内容索引器组件134可以调用搜索协调器组件132以将查询请求发送给第一数字助理服务器106以检索引用地址148。内容索引器组件134可以接收来自第一数字助理服务器106的搜索响应。搜索响应可以包括实体的新引用地址148。响应于接收到来自第一数字助理服务器106的引用地址148,内容索引器组件134可以将引用地址148保存到数据存储库140上,并且可以将新保存的引用地址148关联于与实体匹配的实体元数据144。内容索引器组件134可以接收来自第一数字助理服务器106的空响应。响应于接收到空响应,内容索引器组件134可以从数据存储库140中移除引用地址148。
内容索引器组件134可以继续遍历内容数据存储库140以识别查询请求的实体与实体元数据144之间的其他匹配。利用其他匹配,内容索引器组件134可重复地识别对应于与实体匹配的实体元数据144的引用地址148,并且可以将引用地址148包括在搜索响应中。内容索引器组件134可以确定不再有实体元数据144要遍历。响应于确定不再有实体元数据144要遍历,内容索引器组件134可以终止对数据存储库140中的其他排名策略146的搜索。在遍历之后,内容索引器组件134可以调用搜索协调器组件132将查询请求发送给第一数字助理服务器106以检索引用地址148。对搜索协调器组件132的调用可以与经过的时间与上述预设的到期时间的比较无关。
在调用搜索协调器组件132以发送查询请求之后,内容索引器组件134可以接收来自第一数字助理服务器106的搜索响应。接收到来自第一数字助理服务器106的搜索响应可以指示第一数字助理服务器106可以访问实体。搜索响应可以包括对应于实体的引用地址148。内容索引器组件134可以解析搜索响应以识别引用地址148。响应于对实体与数据存储库140上的实体元数据144之间的匹配的识别,内容索引器组件134可以将来自数据库140的引用地址148与来自第一数字助理服务器106的引用地址148进行比较。内容索引器组件134可以确定来自数据存储库140的引用地址148与来自第一数字助理服务器106的引用地址148不同。排名策略146中的差异可以表明第一数字助理服务器106已经更新了实体的引用地址148。响应于确定排名策略146不同,内容索引器组件134可以用来自第一数字助理服务器106的引用地址148替换存储在数据存储库140中的引用地址148。内容索引器组件134可以确定来自数据存储库140的引用地址148与来自第一数字助理服务器106的引用地址148相同。响应于确定排名策略146相同,内容索引器组件134可以继续调用响应处理机组件138以将查询结果发送给客户端装置104或显示装置108,如下所述。
内容索引器组件134可以接收来自第一数字助理服务器106的空响应。接收到来自第一数字助理服务器106的空响应可以指示第一数字助理服务器106不再具有该实体。例如,第一数字助理服务器106可能已经更新了可用多媒体内容的目录以去除该实体。响应于接收到空响应以及识别出了实体与数据存储库140上的实体元数据144之间的匹配,内容索引器组件134可以从数据存储库140移除引用地址148。内容索引器组件134可以继续调用响应处理机组件138以将查询结果发送给客户端装置104或显示装置108,如下所述。在一些情况下,例如,由于网络110的问题或在第一数字助理服务器106处发生了中断,内容索引器组件134可能在发送查询响应之后的预定时间量内没有接收到来自第一数字助理服务器106的响应。在这种情况下,内容索引器组件134可以维持数据存储库140中的排名策略146。
数据处理系统102可以包括排名引擎组件136、与排名引擎组件136接合或以其他方式与排名引擎组件136通信。排名引擎组件136可以使用存储在数据存储库140中的一个或多个排名策略146。排名引擎组件136可以使用排名决策函数,诸如图2和图3中描绘的排名决策函数或框。排名决策函数可以基于置信分数、时延、完成时间、标记、优先级、预配置的优选、协议或其他因素。例如,第二数字助理120可以优先于第一数字助理。
排名引擎组件136可以处理或解析来自客户端装置104或显示装置108的查询以识别或生成针对该查询的一个或多个信号。排名引擎组件136可以从存储在数据存储库140中的多个决策函数中选择决策函数。决策函数可以被称为或存储为策略146。决策函数(或策略146)可以基于查询的信号而变化。例如,对媒体内容的查询可以生成指示针对结果要选择第一数字助理的信号。对来自数据处理系统102可访问的数据库的搜索结果的查询可以生成使来自第二数字助理的结果优先的信号。
排名决策函数可以考虑置信分数。例如,第一数字助理或第二数字助理可以将置信分数连同结果一起返回。例如,如果第二数字助理首先返回结果并提供高置信分数(例如,大于0.8,总数为1),则数据处理系统102可能不会等待要来自第一数字助理的任何结果,并且继续传输来自第二数字助理的结果-从而超驰第一数字助理。
数据处理系统102可以包括响应处理机组件138、与响应处理机组件138接合或以其他方式与响应处理机组件138通信。响应于识别出与请求中的实体相对应的引用地址148,响应处理机组件138可以将引用地址148传输或提供给客户端装置104或显示装置108。响应处理机组件138可以生成用于在客户端装置104或显示装置108处渲染内容选择界面的指令。内容选择界面可以包括一个或多个选择元素以及占位符元素(有时统称为“显示卡”)。一个或多个选择元素可以对应于客户端装置104或显示装置108的请求中包括的实体的引用地址148。在响应处理机组件138将引用地址148发送给客户端装置104或显示装置108之前,由多媒体内容应用160执行的搜索可能尚未完成。因此,内容选择界面最初可以不包括来自由在客户端装置104或显示装置108上执行的多媒体内容应用160执行的搜索的结果。响应处理机组件138可以将用于渲染内容选择界面的指令连同引用地址148一起提供给客户端装置104或显示装置108。
在客户端装置104或显示装置108上呈现内容选择界面之后,与占位符元素的交互可以使客户端装置104或显示装置108确定由多媒体内容应用160执行的搜索是否完成。客户端装置104或显示装置108可以确定由多媒体内容应用160执行的搜索完成。响应于确定该搜索已经完成,客户端装置104或显示装置108可以修改内容选择交互以包括附加选择元素。每个附加选择元素可以对应于由在客户端装置104或显示装置108上执行的多媒体内容应用160执行的搜索期间找到的引用地址148。与内容选择元素的选择元素的交互可以使客户端装置104或显示装置108启动多媒体内容应用160(或在客户端装置104或显示装置108上运行的另一应用)以播放与相关联的选择元素的引用地址148相对应的一个或多个视听文件。
另一方面,客户端装置104或显示装置108可以确定由多媒体内容应用160执行的搜索尚未完成。响应于确定该搜索尚未完成,客户端装置104或显示装置108可以等待预定的时间量。在该预定的时间量期间,客户端装置104或显示装置108可以确定由多媒体内容应用160执行的搜索已完成。响应于确定该搜索已经完成,客户端装置104或显示装置108可以修改内容选择交互以包括附加选择元素。客户端装置104或显示装置108可以确定预定时间量已经过去并且搜索尚未完成。响应于确定预定时间量已经过去并且搜索尚未完成,客户端装置104或显示装置108可以修改内容选择界面以移除占位符元素。
图2图示了用于协调音频查询的重叠处理的系统的示例操作。系统200可以包括图1或图5中描绘的一个或多个组件或功能性。系统200可以包括数据处理系统102。系统200可以包括第一数字助理服务器106、与第一数字助理服务器106接合或以其他方式与第一数字助理服务器106通信或利用第一数字助理服务器106。系统200可以包括第二数字助理服务器120、与第二数字助理服务器120接合或以其他方式与第二数字助理服务器120通信或利用第二数字助理服务器120。第一数字助理服务器106(可以称为第一数字助理、第一数字助理组件或第一数字助理应用)可以独立于第二数字助理应用120(可以称为第二数字助理、第二数字助理组件或第二数字助理应用)执行。第一数字助理或第二数字助理中的一个可以被称为本地数字助理,而第一数字助理或第二数字助理中的另一个可以被称为远程数字助理。例如,第一数字助理服务器106可以被称为远程数字助理,而第二数字助理应用120可以被称为本地数字助理。在某些情况下,第一数字助理服务器106可以被称为本地数字助理,而第二数字助理应用120可以被称为远程数字助理。
在ACT 202中,客户端装置104(可以包括显示装置108、可以与显示装置108集成在一起或以其他方式与显示装置108通信地耦合)可以接收输入音频信号。客户端装置104可以被称为计算装置或客户端计算装置。客户端装置104可以接收来自用户的音频信号。音频信号可以包括由客户端装置104的用户提供的话音输入。话音输入可以包括请求、查询、命令、指令或响应。客户装置104的麦克风(例如,传感器152或换能器154)可以检测或接收音频输入。
在ACT 222中,客户端装置104可以将音频输入或与音频输入相对应的数据传输或提供给服务器。客户端装置104可以将音频输入或与音频输入相对应的数据传输给流语音服务器(“S3”)204或数据处理系统102。客户端装置104可以将在动作202中接收到的音频输入转换为被配置以便传输至服务器的格式。客户端装置104例如可以预处理音频输入并将音频输入转换为被配置以便通过数据网络传输的数字格式。客户端装置104可以响应于识别到音频输入中的请求来传输音频输入或与音频输入相对应的数据。在音频输入中,请求可以包括关键字、热词、唤醒词、令牌或其他指示,该关键字、热词、唤醒词、令牌或其他指示向客户端装置104指示用户具有对内容或要由客户端装置104或一个或多个服务器执行的动作的请求。客户端装置104可以响应于授权或认证来传输音频输入或与音频输入相对应的数据。
客户端装置104可以将输入音频信号作为请求传输给流语音服务器204。请求可以包括将音频、语音或话音转换为文本或便于对音频输入进行下游传输或处理的一些其他格式的请求。S3服务器204可以将话音转录为文本。在ACT 224中,S3服务器204可以将转录的结果发送回客户端装置104。在某些情况下,S3服务器204可以将转录的结果传输给数据处理系统102以进行进一步处理。在某些情况下,S3服务器可以将转录的结果传输给装置存储库220以进行存储。
在ACT 226中,S3服务器204可以将转录的结果传输给数据处理系统102。转录的结果可以包括具有与在ACT 202中接收到的输入音频信号相对应的查询的数据分组。S3服务器204可以将文本查询转发给数据处理系统102。在某些情况下,客户端装置204可以将音频输入转换为数据分组并将数据分组传输给数据处理系统102,而无需将音频输入传输给S3服务器204。
数据处理系统102可以经由接口接收与由客户端装置104检测到的音频信号相对应的一个或多个数据分组。数据处理系统102可以从客户端装置104或S3服务器204接收一个或多个数据分组。一个或多个数据分组可以包括文本查询,或者数据处理系统102可以处理一个或多个数据分组以识别出查询。例如,数据处理系统102可以基于接收到的对应于音频信号的数据分组来生成查询。
数据处理系统102可以将查询传输给一个或多个数字助理进行处理。数据处理系统102可以将查询提供给一个或多个数字助理以进行处理。数据处理系统102可以使用由数据处理系统102执行或管理的一个或多个数字助理来处理查询。数据处理系统102可以将查询提供给数据处理系统102外部的一个或多个数字助理。如果数字助理在地理位置上远离数据处理系统102,则数字助理可以在数据处理系统102的外部或者可以由与数据处理系统102不同的实体来管控或管理。如果数字助理是不同类型的数字助理,则数字助理可以被称为在数据处理系统102外部。
数据处理系统102可以将查询传输、提供或以其他方式传达或传送给多个数字助理组件以进行处理。多个数字助理中的一个或多个可以处理查询并生成对查询的响应。数据处理系统102可以包括内部数字助理,诸如第二数字助理应用120。第二数字助理应用120可以处理查询以生成对查询的响应。数据处理系统102(或接口122)可以将查询传输给第二数字助理应用120以进行处理。数据处理系统102(或接口122)可以将查询传输给数据处理系统102外部的第一数字助理服务器106以进行处理。数据处理系统102(例如,经由接口122或第二数字助理应用120)可以同时将查询传输给多个数字助理以同时或按照重叠的方式进行处理。例如,第二数字助理应用120可以接收查询并将查询传输给第一数字助理服务器106以生成对查询的响应。在第二数字助理应用120处理查询或生成对查询的响应之前,第二数字助理应用120可以将查询传输给第一数字助理服务器106,从而减少由第二数字助理应用120引起的时延或延迟。在一些情况下,为了进一步减少时延或延迟,接口122可以将查询同时传输给第二数字助理应用120和第一数字助理服务器106以进行同时或重叠的处理。
数据处理系统102(例如,经由接口122)可以在将查询传输给数据处理系统102的第二数字助理应用120之前将查询传输给第一数字助理服务器106。数据处理系统102可以在将查询传输给第二数字助理应用120之后将查询传输给第一数字助理服务器106。数据处理系统102可以在第二数字助理应用120接收到查询之后将查询传输给第一数字助理服务器106。数据处理系统102可以利用应用编程接口(API)来将查询或数据处理系统102从客户端装置104接收到的原始查询传输或发布到第一数字助理服务器106。在某些情况下,数据处理系统102可以将从客户端装置104接收到的原始查询提供、传输、中继或转发给第一数字助理服务器106。在某些情况下,数据处理系统102可以在将原始查询传输给第一数字助理服务器106之前对原始查询进行处理或修改。
数据处理系统102可以使用第二数字助理来处理或解析文本查询并生成第二数字助理候选结果204。可以在208中将文本查询传给第一数字助理服务器106,第一数字助理服务器106可以在云服务器系统中执行。第一数字助理服务器106可以与执行第二数字助理的数据处理系统102分开。数据处理系统可以经由独立支路将查询传输给多个数字助理中的每一个以使多个数字助理以重叠的方式处理查询。独立支路可以指逻辑流程中的逻辑支路或单独的处理线程,在该处理线程中,单独的数字助理在分别处理查询以生成响应时不会相互通信。单独的数字助理可以单独处理查询以按照重叠的方式生成结果。可以在响应212中将第一数字助理候选结果206提供给数据处理系统102。可以由与建立第二数字助理应用120的管理员不同的管理员来建立第一数字助理服务器106。例如,与第二数字助理应用120相比,不同的公司、实体或制造商可能已经负责设计和构建第一数字助理服务器106。第一数字助理服务器106和第二数字助理应用120可以彼此独立执行以生成查询的响应或结果。
第一和第二数字助理可以访问不同类型的信息或数据。第一数字助理服务器106可以被授权访问第二数字应用120可能未被授权访问或被禁止访问的数据库或数据源。例如,第一数字助理服务器106可以访问存储电影或歌曲的多媒体存储库。对该多媒体存储库的访问可以包括通过凭证或订阅的授权。第一数字助理106可以经由与客户端装置104相关联的订阅信息或客户端装置104的用户简档来访问认证信息,但是这些凭证可能不能被传递到第二数字助理应用120或不能够由第二数字助理应用120使用。
数据处理系统102可以接收查询结果。数据处理系统102可以从一个或多个数字助理接收查询的候选结果。数据处理系统102可以接收第二数字助理候选结果210。在ACT 212中,数据处理系统102可以接收第一数字助理候选结果206。第一数字助理候选结果206和第二数字助理候选结果210可以具有彼此相似的格式或不同的格式。第一数字助理候选结果206和第二数字助理候选结果210可以来自不同的源并且可以使用不同的技术、函数、参数、选择标准或过程来生成。
来自第一或第二数字助理组件的结果可以包括内容项、引用、链接、图像、文本、视频、音频或响应于或基于来自由客户端装置104接收到的输入音频信号的查询的其他类型的结果。结果可以包括来自各种源的数据。结果可以包括流数据。结果可以包括对诸如流音频或视频的流内容的引用或链接。结果可以包括响应于查询的建议。结果可以包括内容的深层链接。结果可以包括被配置为授权客户端装置104访问结果中包含或识别的内容的认证或凭证信息。
在214中,数据处理系统102可以执行排名决策以选择候选结果204或206。第二数字助理应用120可以执行排名决策。数据处理系统102或第二数字助理应用120的排名引擎组件136可以执行排名决策。例如,排名引擎组件136可以接收候选结果或对来自多个数字助理组件的候选结果可用的指示。排名引擎组件136可以等待执行排名决策,直到排名引擎组件136已经接收到对已从数据处理系统102向其发送查询的所有数字助理组件接收到结果的指示。
数据处理系统102(例如,经由排名引擎组件136)可基于排名决策函数确定选择来自第一数字助理应用服务器106(例如,第一数字助理组件)或第二数字助理应用120(例如,第二数字助理组件)中的一个的响应或结果。数据处理系统102可以确定选择第二数字助理候选结果210或第一数字助理候选结果206。数据处理系统102可以确定选择来自第二数字助理候选结果210或第一数字助理候选结果206中的一个的结果中的一个。例如,数据处理系统102可以确定选择来自第二数字助理组件的响应或结果,而不是来自第一数字助理组件的响应或结果。
数据处理系统102可以利用各种排名决策函数或技术来选择结果或响应,其一些示例在以下段落中进行了描述。数据处理系统102可以基于与输入音频信号相关联的信号或与输入音频信号相对应的查询来选择排名决策函数或技术。数据处理系统102可以基于与输入音频信号相关联的信号或者与输入音频信号相对应的查询来选择数字助理或响应。信号可以指示查询是针对媒体类型、互联网搜索查询、新闻请求、天气请求、视频请求、电影请求、音乐请求还是其他类型的请求。数据处理系统102可以基于与提供结果的数字助理相关联的信息、基于与结果本身相关联的信息、基于与客户端装置104相关联的信息、基于与关联于客户端装置104的用户的简档相关联的信息、基于结果的类型、基于用于提供结果的数据源、基于结果所链接或指向的数据源、结果的数据大小或其他因素来选择响应或结果。
数据处理系统102可以基于预配置的优选来选择结果或响应。可以在客户端装置104、数据处理系统102或第一数字助理服务器106上存储或配置预配置的优选。例如,第二数字助理应用120可以至少部分地在客户端装置104上执行。第二数字助理应用120可以包括位于客户端装置104上的接口。第二数字助理应用120可以与客户端装置104的管理员、制造商或提供者相关联。第二数字助理应用120可以被预配置成优选数字助理。作为客户端装置104的优选数字助理可以使数据处理系统102优先选择来自第二数字助理候选结果210的结果,而不是来自第一数字助理候选结果206的结果。数据处理系统102可以使来自第二数字助理120的结果排名高于来自第一数字助理106的结果。数据处理系统102可以比来自第一数字助理服务器106的结果更重地加权来自第二数字助理应用120的结果。通过对来自第二数字助理应用120的结果进行排名、加权或以其他方式确定优先级,与来自第一数字助理服务器106的结果相比,数据处理系统102更有可能选择来自第二数字助理120的结果。与优选、排名、加权或其他确定优先级相关联的配置信息可以存储在数据库140(例如,策略146数据结构)中或存储在客户端装置104或其他数据存储装置上。
数据处理系统102可以基于关于响应或结果本身或与响应或结果本身相关联的信息来选择结果或响应。例如,数据处理系统102可以基于排名决策函数确定基于响应包含仅音频、视频和音频、仅视频、仅文本、仅图像或其他多媒体内容来选择响应。数据处理系统102可以例如基于与第二响应相关联的属性或特点来选择第一响应。例如,数据处理系统102可以响应于第二响应仅包括音频来选择可以包括视频的第一响应。
数据处理系统102可以基于针对结果或数字助理的数据源来选择结果、响应或数字助理。例如,数据处理系统102可以基于排名决策函数确定基于第二数字助理组件访问存储在客户端装置104的存储器中的数据来选择来自第二数字助理组件的第二响应。由于数据被存储在呈现或渲染数据的客户端装置104上,所以系统102可以做出该确定以减少网络带宽使用或时延或数据存储。
数据处理系统102可以基于与结果被如何选择相关联的信息来选择响应或结果。例如,用于选择结果的选择技术或过程可以输出结果的置信分数。置信分数可以反映、指示或传达与结果是否准确、可靠或响应于查询相关联的置信水平。例如,某个结果可以具有与该结果相关联的高置信分数(例如,0.7、0.8、0.9或1),而另一结果可以具有低置信分数(例如,0.4、0.3、0.2或更小)。置信分数可以指示结果是查询的匹配或响应于查询的可能性。置信分数可以指示客户端装置104的用户将与结果或与结果相对应的内容项进行交互的可能性。因此,数据处理系统102可以例如基于来自第二数字助理组件的响应的置信分数来从第二数字助理候选结果210中选择响应或结果。
基于一个或多个因素,结果可能具有低或高的置信分数。例如,数字助理组件可以访问有限或预定的数据或数据源集合。基于对数据源的受限访问,数字助理组件可能在结果方面会被限制。因此,数字助理组件可以确定来自受限的数据源集合的最佳匹配结果可能仍与低置信分数相关联。
在决策框216处,数据处理系统102(或排名引擎组件136)可以确定来自第二数字助理的结果是否是优选的。如果在决策框216处数据处理系统102确定来自第二数字助理的结果是优选的,则数据处理系统继续到HTML适配器218。HTML适配器218可以将来自第二数字助理的可以以HTML编码的结果转换为与S3服务器204兼容的格式。数据处理系统102的HTML适配器218可以将经转换的来自第二数字助理候选结果210的结果转发给S3服务器。
然而,如果在决策框216中数据处理系统102确定来自第二数字助理的结果不是优选的,则数据处理系统102可以继续到S3服务器204并提供来自第一数字助理服务器106的响应212。
数据处理系统102(例如,排名引擎组件136)可以被配置有各种逻辑、规则、启发式技术或其他功能性以选择响应。例如,数据处理系统102可以确定第一数字助理组件是优选数字助理。数据处理系统102可以基于查询的类型、配置信息、简档信息、预定信息或其他因素来确定第一数字助理是优选数字助理。数据处理系统102可以从被设置为优选数字助理的第一数字助理接收第一响应。来自第一数字助理的第一响应可以与标记相关联。第一数字助理可以指派、附加、提供或以其他方式对第一响应指示标记。标记可以指示第一响应是备用响应。备用响应可以指在没有其他响应的情况下将被使用的替代响应。当将响应输入到正在由排名引擎组件136执行的选择过程中时,备用响应可以指示降低第一响应的优先级、权重或排名。第一数字助理或数据处理系统102可以基于与第一响应相关联的置信分数或与第一响应相关联的其他因素确定将第一响应标记为备用响应。例如,第一数字助理组件可以确定与关联于第一响应的数据文件相关联的质量是低质量的或具有低于阈值的质量。质量可以指或包括视频质量、图像质量或音频质量。质量可以指或包括数据流速率。质量可以指传输数据文件或与数据源建立连接的延迟。质量可以指响应的实质的质量,诸如与结果相关联的评级或评论。质量可以指结果与查询或与关联于客户端装置104的简档的相关性。第一数字助理组件可以确定与第一响应相关联的置信分数是低的或低于阈值。
响应于确定与结果相关联的质量或置信分数是低的或低于阈值,第一数字助理组件可以将响应标记为备用响应。即,尽管第一数字助理组件(例如,第一数字助理服务器106)被配置为优选数字助理,但是第一数字助理组件可以将第一数字助理组件生成或提供的响应标记为备用响应。在接收到来自作为优选数字助理的第一数字助理服务器106的结果时,数据处理系统102(例如,排名引擎组件136)可以超驰第一数字助理组件。例如,数据处理系统102可以被配置为选择来自优选数字助理组件的响应。但是,由于来自优选数字助理组件的结果被标记为备用响应,因此数据处理系统102可以确定不选择来自第一数字助理组件的响应,从而超驰第一数字助理组件。相反,数据处理系统102可以选择来自可以不是优选数字助理组件的第二数字助理组件120的响应以提供给客户端装置104。
当即使第一数字助理是优选数字助理组件也通过选择来自第二数字助理的响应来超驰第一数字助理组件时,数据处理系统102仍然可以将第一数字助理组件保持为优选数字助理。例如,数据处理系统102可以针对被标记为备用响应的响应而不针对未被标记为备用响应的其他响应超驰第一数字助理组件。
数据处理系统102可以将一个或多个所选择的结果或者来自所选择的数字助理的一个或多个结果提供给客户端装置104。数据处理系统102可以经由另一装置或服务器将结果提供给客户端装置104。数据处理系统102可以在将结果提供给客户端装置104之前对结果进行预处理或者以其他方式操纵或修改结果。数据处理系统102可以在将结果提供给客户端装置之前将结果提供给远离数据处理系统102的装置或服务器以进行处理。例如,数据处理系统102可以将结果提供给S3服务器204。S3服务器204可以将从HTML适配器218或第一数字助理服务器106接收到的响应转换为音频,并将音频响应提供给客户端装置104或显示装置108以进行渲染或呈现。S3服务器204可以将响应保存在装置存储库220中以进行进一步处理或者保存为数据日志以进行进一步处理。
在某些情况下,数据处理系统102可以将所选择的响应或结果提供给客户端装置104。客户端装置104可以被配置为经由客户端装置104的输出接口来呈现响应。客户端装置104可以被配置为将结果或响应从一种格式转换为另一种格式,以便通过客户端装置104的输出接口进行呈现。例如,客户端装置104本身可以被配置有文本到语音功能性,以便将文本或HTML内容转换为音频输出或视觉输出。
图3示出了使用图1或图2中示出的示例系统来协调音频查询的重叠处理的流程图。过程300可以由数据处理系统102、第一数字助理服务器106、客户端装置104、一个或多个处理器或计算装置500执行。在302中,数据处理系统可以在第一支路中运行第一数字助理并在第二支路中运行第二数字助理。两个数字助理可以并行地或按照重叠的方式运行。重叠处理可以指两个数字助理在至少一部分时间量内同时运行。重叠过程可以指至少部分并行地运行或至少部分同时地运行。数字助理中的一个可能先开始运行或者先停止运行。在单独的数字助理上的处理可以并行发生(例如,同时)。第一数字助理可以在第三方服务器上运行。第二数字助理可以在数据处理系统上运行。可以由与管控第二数字助理的实体不同的第三方来管控第一数字助理。
在304处,数据处理系统可以执行决策框以确定来自第二数字助理的结果是否可用。如果来自第二数字助理的结果不可用,则在动作306中,数据处理系统可以返回到决策框304并再次检查以查看结果是否可用。数据处理系统可以返回到决策框304以重复检查来自第二数字助理的结果是否可用。在某些情况下,如果来自第二数字助理的结果在预定的时间量(例如,10秒、30秒、60秒或更长)内不可用,则数据处理系统可能会超时。
如果数据处理系统在框304中确定来自第二数字助理的结果可用(动作308),则数据处理系统可以继续到决策框310以确定来自第二数字助理的结果是否是优选的。如果来自第二数字助理的结果是优选的,则数据处理系统可以继续到框312,在框312中数据处理系统可以选择来自第二数字助理的响应。
然而,如果数据处理系统在框310中确定来自第二数字助理的结果不是优选的,则数据处理系统可以继续至框314并等待来自第一数字助理的响应。当数据处理系统接收到来自第一数字助理的结果时,数据处理系统可以继续至决策框316,在框316中数据处理系统可以确定来自第一数字助理的响应是否被标记为备用响应。备用响应可以指示该响应仅用作备用或最后手段或最后措施。如果存在响应准确、可靠或正确的低置信分数(例如,小于阈值,诸如0.2、0.3、0.4或更小),则可以将该响应标为或标记为备用响应。
如果在决策框316处数据处理系统确定来自第一数字助理服务器的响应被标记为备用响应,则在框312处,数据处理系统可以继续选择来自第二数字助理的响应。例如,如果来自第一数字服务器的响应被标记为备用,则即使第一数字助理是优选数字助理,数据处理系统也可以超驰第一数字助理响应并继续使用第二数字助理。
然而,如数据处理系统在决策框316处确定的那样,如果第一数字助理响应未被标记为备用,则数据处理系统102可以继续至框318并选择第一数字助理响应。
在某些情况下,在框304中,数据处理系统可以在来自第一数字助理组件的结果之前确定来自第二数字助理组件的结果是可用的或准备好的。在框310中,数据处理系统可以确定第二数字助理组件不是优选数字助理组件。数据处理系统可以基于配置信息、指令、指示或其他数据做出该确定。数据处理系统确定第一数字助理是优选数字助理。例如,配置、指令、指示或其他数据文件可以指示多个数字助理中的哪一个是优选数字助理。通过在框310中确定第一数字助理是优选数字助理,数据处理系统可以在框310中确定第二数字助理不是优选数字助理。
数据处理系统可以响应于确定第二数字助理组件不是优选数字助理组件或响应于确定第一数字助理是优选数字助理来采取一个或多个动作。例如,在框314中,响应于确定第二数字助理组件不是优选数字助理并且第一数字助理是优选数字助理,数据处理系统可以等待来自第一数字助理组件的第一响应。因此,尽管数据处理系统在接收到来自第一数字助理的任何响应之前已经接收到来自第二数字助理的响应,但是由于第一数字助理是优选数字助理,所以数据处理系统可以等待来自第一数字助理的第一响应。
数据处理系统可以接收来自第一数字助理的响应。在首先接收来自第一数字助理的响应之后,数据处理系统可以在等待响应之后接收来自第一数字助理的响应。在框316中,数据处理系统可以在接收到来自第一数字助理组件的第一响应时确定第一响应被标记为备用响应。例如,尽管第一数字助理被配置为优选数字助理,但第一数字助理可以将第一数字助理生成的响应指派为备用响应。在框312中,数据处理系统可以基于确定第二数字助理组件不是优选数字助理并且第一响应被标记为备用响应来选择第二响应。尽管数据处理系统可以使来自第一数字助理的响应优先,并且即使数据处理系统已经接收到来自第二数字助理的响应,但数据处理系统可能已经等待来自第一数字助理的响应,数据处理系统最终可以决定选择来自第二数字助理的响应,因为来自第一数字助理的响应被标记为备用响应。来自第二数字助理的响应可能还未被标记为备用。如果来自第一和数字助理的响应都被标记为备用响应,则数据处理系统可以选择来自优选数字助理的响应,诸如本例中的第一数字助理。因此,数据处理系统可以将来自优选数字助理的响应排名更高并选择来自优选数字助理的响应,除非来自优选数字提供者的响应被标记为备用响应并且来自非优选数字助理的响应没有被标记为备用。
图4示出了使用图1或图3中示出的示例系统来协调在多个装置之间的音频查询的并行处理的方法。例如,方法400可以由数据处理系统102执行。在405中,数据处理系统可以接收来自客户端装置的音频信号。客户端装置可以使用诸如麦克风或换能器的传感器检测音频信号。音频信号可以包括来自客户端装置的用户的话音或语音。音频信号可以包括唤醒词、关键词、热词或触发词以提醒客户端装置响应于音频信号的至少一部分而采取动作。
在动作410中,可以将音频信号转换为文本以生成查询。例如,客户端装置本身可以将检测到的音频信号转换为语音,或者客户端装置可以将音频信号传输至流语音服务器以将音频转换为文本。客户端装置可以将音频信号预处理或转换为另一种格式以促进通过网络的数据传输。例如,客户端装置可以将模拟音频输入信号转换为数字音频信号,该数字音频信号有助于通过网络将音频信号作为数据分组中的有效载荷发送。数据处理系统或流语音服务器可以在接收到数据分组后将音频信号转换为文本。
数据处理系统可以识别在与音频信号相对应的文本中的查询。查询可以包括:例如,对内容的请求。查询可以包括对数据或信息的请求。查询可以包括对数据处理系统或客户端装置或其他装置执行动作的请求,该动作诸如数字或电子动作。
在ACT 415中,数据处理系统可以将查询传输给第一数字助理服务器以进行处理。数据处理系统可以将查询传输给第二数字助理服务器以进行处理。数据处理系统可以通过单独的支路将查询传输给多个数字助理。支路可以指处理线程。数据处理系统可以同时将查询传输给多个数字助理以进行处理。
在ACT 420中,数据处理系统可以使用排名决策逻辑来超驰第一数字助理的响应并选择第二数字助理的响应。数据处理系统可以基于查询中的信号来选择排名决策逻辑。例如,信号可以指或指示查询的类型,诸如电影查询、新闻查询、音乐查询、有声读物查询、天气查询或电视节目查询。数据处理系统可以识别指示查询类型的信号,然后选择对应的排名决策逻辑以选择优选数字助理。例如,如果查询是电影查询,则数据处理系统可以将第一数字助理设置为优选数字助理。但是,例如,如果信号指示查询是搜索查询,则数据处理系统可以将第二数字助理设置为优选数字助理。
数据处理系统可以从多个排名决策函数池中选择排名决策函数。数据处理系统可以基于查询的信号来选择排名决策函数。例如,数据处理系统可以为电影查询选择第一排名决策函数、为音乐查询选择第二排名决策函数或者为新闻查询选择第三排名决策函数。例如,第一排名决策函数可以将第一数字助理指派为优选数字助理,并设置响应的置信分数的第一阈值。第二排名决策可以将第二数字助理指派为优选数字助理,并设置响应的第二阈值置信分数。可以基于与对相应的查询的响应相关联的因素来设置或调整第一阈值和第二阈值。例如,对于天气查询,可能有较低的置信分数阈值,但是对于导航相关的查询或电影相关的查询,可能有较高的置信分数阈值。
例如,第一数字助理可以被配置为处理和响应于与诸如“play Movie_A onStreaming_Service_A”(“在流_服务_A上播放电影_A”)的媒体域查询有关的音频查询,而第二数字助理组件可以被配置为处理和响应搜索域查询,诸如“when is my nextappointment”(“我下次约会是什么时间”)。如果查询的查询信号不明确或属于多个类别,则数据处理系统可以对来自多个数字助理组件的响应进行排名,并选择来自数字助理组件中的一个的响应。例如,数据处理系统可以基于置信水平、质量分数或其他因素来对响应或查询进行评分或排名。
因此,数据处理系统可以使用排名决策逻辑或函数来选择要从其选择响应的数字助理中的一个。在ACT 425中,数据处理系统可以将来自所选择的数字助理的所选择的响应提供给客户端装置以进行呈现。例如,数据处理系统可以将由第二数字助理生成的对查询的响应提供给客户端装置以进行呈现。
图5是示例计算机系统500的框图。计算机系统或计算装置500可以包括或用于实现系统100或其组件,诸如数据处理系统102、客户端装置104、第一数字助理服务器106和显示装置108。计算系统500包括总线505或用于传送信息的其他通信组件以及耦合到总线505以处理信息的处理器510或处理电路。计算系统500可以包括耦合到总线以处理信息的一个或多个处理器510或处理电路。计算系统500还包括耦合至总线505用于存储信息和要由处理器510执行的指令的主存储器515,诸如随机存取存储器(RAM)或者其他动态存储装置。主存储器515可以是数据存储库140或可以包括数据存储库140。主存储器515还可以用于存储位置信息、临时变量或者在处理器510执行指令期间的其他中间信息。计算系统500可以进一步包括耦合至总线505的只读存储器(ROM)520或者其他静态存储装置以用于存储处理器510的静态信息和指令。诸如固态装置、磁盘或者光盘的存储装置525可以耦合至总线505以便持久地存储信息和指令。存储装置525可以包括数据存储库140或者是数据存储库140的一部分。
计算系统500可以经由总线505耦合至诸如液晶显示器或者有源矩阵显示器的显示器535以便向用户显示信息。诸如包括字母数字和其他键的键盘的输入装置530可以耦合到总线505以用于将信息和命令选择传送给处理器510。输入装置530可以包括触摸屏显示器535。输入装置530可以包括诸如鼠标、轨迹球或光标方向键的光标控件以用于将方向信息和命令选择传送给处理器510并用于控制在显示器535上的光标移动。例如,显示器535可以是数据处理系统102、客户端装置104、显示装置108或图1中的其他组件的一部分。
本文描述的过程、系统和方法可以由计算系统500响应于处理器510执行包含在主存储器515中的指令的布置来实现。这样的指令可以从诸如存储装置525的另一计算机可读介质读入主存储器515中。执行包含在主存储器515中的指令的布置使计算系统500执行本文所述的说明性过程。可以采用多处理布置中的一个或多个处理器来执行包含在主存储器515中的指令。与本文所述的系统和方法一起,可以代替或结合软件指令使用硬连线电路系统。本文描述的系统和方法不限于硬件电路系统和软件的任何特定组合。
虽然已经在图5中对示例计算系统进行了描述,但是可以以其他类型的数字电子电路系统或者在包括本说明书所公开的结构及其结构等效物的计算机软件、固件或者硬件中或者在它们中的一个或者多个的组合中实施包括本说明书中描述的操作的主题。
在本文讨论的系统采集有关用户的个人信息或者可以利用个人信息的情况下,可以为用户提供如下机会:控制程序或者特征是否采集用户信息(例如,有关用户的社交网络、社交动作、或者活动;用户的偏好;或者用户的位置的信息)或者控制是否或如何从内容服务器或其他数据处理系统接收可能与用户更有关的内容。另外,在存储或者使用某些数据之前,可以按照一种或者多种方式来使某些数据匿名化,从而使得在生成参数时可以去除个人身份信息。例如,可以使用户的身份匿名化,从而使得无法确定用户的个人身份信息,或者可以将用户的可以从中获得位置信息的地理位置一般化(诸如一般化到城市、邮政编码或者州县等级),从而使得无法确定用户的特定位置。由此,用户可以对有关他或她的信息如何被内容服务器采集和/或使用进行控制。
可以在数字电子电路系统中或者在包括本说明书所公开的结构及其结构等效物的计算机软件、固件或者硬件中或者它们中的一个或者多个的组合中实施本说明书中描述的主题和操作。可以将本说明书中描述的主题实施为一个或者多个计算机程序,例如,编码在一个或者多个计算机存储多媒体上用于由数据处理设备执行或者用于控制数据处理设备的操作的计算机程序指令的一个或者多个电路。可替代地或者另外,程序指令可以编码在人工生成的传播信号上,例如,机器生成的电气、光学或者电磁信号,生成该传播信号是为了对信息进行编码以便传输至合适的接收器设备供数据处理设备执行。计算机存储介质可以是计算机可读存储装置、计算机可读存储基板、随机或者串行存取存储器阵列或者装置或者它们中的一个或者多个的组合,或者包括在计算机可读存储装置、计算机可读存储基板、随机或者串行存取存储器阵列或者装置或者它们中的一个或者多个的组合中。当计算机存储介质不是传播信号时,计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或者目的地。计算机存储介质还可以是一个或者多个单独的组件或者多媒体(例如,多个CD、磁盘或者其他存储装置)或者包括在一个或者多个单独的组件或者多媒体中。可以将本说明书中描述的操作实施为由数据处理设备对存储在一个或者多个计算机可读存储装置或者从其他源接收到的数据执行的操作。
术语“数据处理系统”、“计算装置”、“组件”或“数据处理设备”包括了用于处理数据的各种设备、装置和机器,包括:例如,可编程处理器、计算机、片上系统、或者前述中的多个或者组合。设备可以包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路)。除了硬件之外,设备还可以包括为探讨中的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时间环境、虚拟机或者它们中的一个或者多个的组合的代码。设备和执行环境可以实现各种不同的计算模型基础设施,诸如web服务、分布式计算和网格计算基础设施。系统100的组件可以包括或共享一个或多个数据处理设备、系统、计算装置或处理器。
可以以任何形式的程序语言来写入计算机程序(也称为程序、软件、软件应用、app、脚本或者代码),包括编译的或者解译的语言、说明性语言或者程序性语言,并且可以以任何形式来部署计算机程序,包括部署为独立的程序或者部署为模块、组件、子例程、对象或者适合在计算环境中使用的其他单元。计算机程序可以与文件系统中的文件对应。可以将计算机程序存储在保持其他程序或者数据的文件的一部分中(例如,存储在标记语言文档中的一个或者多个脚本)或者存储在专用于所探讨的程序的单个文件中或者存储在多个协作文件中(例如,存储一个或者多个模块、子程序或者部分代码的文件)。可以将计算机程序部署为在一个计算机上执行或者在位于一个站点处或者分布在多个站点中并且通过通信网络互相连接的多个计算机上执行。
可以通过执行一个或多个计算机程序(例如,数据处理系统102的组件、客户端装置104、第一数字助理服务器106和显示装置108)的一个或多个可编程处理器来执行本说明书中描述的过程和逻辑流程,以通过对输入数据进行操作并生成输出来执行动作。还可以由专用逻辑电路来执行过程和逻辑流并且还可以将设备实施为专用逻辑电路,专用逻辑电路例如是FPGA(现场编程门阵列)或者ASIC(专用集成电路。适合于存储计算机程序指令和数据的装置包括所有形式的非易失性存储器、多媒体和存储器装置,包括:例如,半导体存储器装置,例如EPROM、EEPROM和闪速存储器装置;磁盘,例如内部硬盘或者可移动盘;磁光盘;CD-ROM盘和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或者可以并入该专用逻辑电路中。
本文中描述的主题可以实施在计算系统中,该计算系统包括后端组件,例如作为数据处理器;或者包括中间件组件,例如应用服务器;或者包括前端组件,例如具有用户可以通过其与本说明书中描述的主题的实施方式交互的图形用户界面或者web浏览器的客户端计算机;或者这种后端组件、中间件组件或者前端组件的组合。可以通过例如是通信网络的任何形式或者介质的数字数据通信来将系统的组件相互连接。通信网络的示例包括:局域网(“LAN)和广域网(WAN)、网际网(例如,互联网)以及对等网络(例如,ad hoc对等网络)。
诸如系统100或系统500的计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络(例如,网络110)进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。在一些实施方式中,服务器向客户端装置传输数据(例如,表示内容项的数据分组)(例如,为了向与客户端装置进行交互的用户显示数据并且接收来自该用户的用户输入)。可以从服务器处的客户端装置接收在客户端装置处生成的数据(例如,用户交互的结果)(例如,由数据处理系统102从客户端装置104或显示装置108接收)。
尽管在附图中以特定顺序描绘了操作,但是不需要以所示的特定顺序或按顺序来执行这样的操作,并且不需要执行所有示出的操作。可以按照不同的顺序执行本文描述的动作。
各个系统组件的分离不要求在所有实施方式中都分离,并且描述的程序组件可以包括在单个硬件或者软件产品中。例如,NLP组件124和直接动作API 126可以是单个组件、app或程序或者是具有一个或多个处理电路的逻辑装置或数据处理系统102的一个或多个服务器的一部分。
现在,在已经描述了一些说明性实施方式之后,显而易见的是,已经以示例的方式呈现的前述说明只是说明性的而非限制性的。具体地,虽然本文呈现的许多示例都涉及方法动作或者系统元件的具体组合,但是这些动作和这些元件可以按照其他方式组合以实现相同的目的。结合一个实施方式讨论的动作、元件和特征不旨在从其他实施方式中的相似功能中排除。
本文使用的用语和术语是为了进行描述,不应该将其视为具有限制性。本文对包括(“including”)、包括(“comprising”)、具有(“having”)、包含(“containing”)、涉及(“involving”)及其变形的使用旨在涵盖其后列出的项、其等同物和附加项以及排他地包括其后列出的项的替代实施方式。在一种实施方式中,本文描述的系统和方法包括所描述的元件、动作或组件中的多于一个或全部的一个、每个组合。
对本文中以单数形式提及的系统和方法的实施方式、元素或动作的任何提及也可以包含包括多个这些元素的实施方式,并且在本文中以复数形式对任何实施方式、元素或动作的任何提及也可以包含仅包括单个元素的实施方式。单数或复数形式的提及不旨在将当前公开的系统或方法、它们的组件、动作或元素限制为单个或多个配置。对基于任何信息、动作或元素的任何动作或元素的提及可以包括该动作或元素至少部分地基于任何信息、动作或元素的实施方式。
本文公开的任何实施方式可以与任何其他实施方式或实施例组合,并且对“实施方式”、“某些实施方式”、“一种实施方式”等的提及不一定是互斥的,并且旨在指示结合该实施方式描述的特定特征、结构或特性可以被包括在至少一种实施方式或实施例中。如本文所使用的,这种术语不一定全部是指相同的实施方式。任何实施方式都可以按照与本文公开的方面和实施方式一致的任何方式与任何其他实施方式包括性地或排他地相结合。
对“或”的提及可以被解释为包括性的,使得使用“或”描述的任何术语可以指示所描述术语中的单个、多于一个以及所有中的任何一个。对“‘A’和‘B’中的至少一个”的提及可以包括仅‘A’、仅‘B’以及‘A’和‘B’。结合“包括”或其他开放式术语使用的这种提及可以包括其他项。
在附图、详细描述或任何权利要求中的技术特征后带有附图标记的情况下,附图标记已经被包括以增加附图、详细描述和权利要求的可理解度。因此,附图标记或它们的不存在对任何权利要求要素的范围没有任何限制作用。
本文描述的系统和方法可以按照其他特定形式来体现而不背离其特性。前述实施方式是说明性的,而不限制所描述的系统和方法。因此,本文所描述的系统和方法的范围由所附权利要求而不是前述描述来指示,并且在权利要求的等同含义和范围内的改变被包含在其中。

Claims (16)

1.一种用于协调音频查询的重叠处理的系统,包括:
数据处理系统,所述数据处理系统包括至少一个处理器和存储器,所述数据处理系统被配置为:
经由接口接收与由计算装置的传感器检测到的音频信号相对应的一个或多个数据分组;
基于经由所述一个或多个数据分组接收到的所述音频信号,生成查询;
将所述查询传输给多个数字助理组件,包括使用应用编程接口将所述查询传输到在远程服务器上执行并且由第一实体管理的第一数字助理组件,以及将所述查询传输到在所述计算装置上执行并且由第二实体管理的第二数字助理组件,其中,所述第一实体不同于所述第二实体;
接收来自所述多个数字助理组件中的所述第一数字助理组件的对所述查询的第一响应;
接收来自所述多个数字助理组件中的所述第二数字助理组件的对所述查询的第二响应,其中,所述第一数字助理组件被授权访问所述第二数字助理组件被禁止访问的数据库,并且其中,所述第一数字助理组件和所述第二数字助理组件被配置为至少部分地并行处理所述查询;
基于排名决策函数以及所述查询所属于的域,确定选择来自所述第二数字助理组件的所述第二响应,而不是来自所述第一数字助理组件的所述第一响应,其中确定选择所述第二响应包括:
确定所述第一数字助理组件是优选数字助理;
确定来自所述第一数字助理组件的所述第一响应被标记为备用响应;
响应于确定来自所述第一数字助理组件的所述第一响应被标记为所述备用响应,超驰所述第一数字助理组件;
选择来自所述第二数字助理组件的所述第二响应;以及
将所述第一数字助理组件保持为所述优选数字助理,以及响应于所述选择,将来自所述第二数字助理组件的所述第二响应提供给所述计算装置。
2.根据权利要求1所述的系统,其中:
所述数据处理系统被配置为基于针对所述第二数字助理组件建立的预配置的优选,选择来自所述第二数字助理组件的所述第二响应。
3.根据权利要求1所述的系统,其中:
所述数据处理系统被配置为基于来自所述第二数字助理组件的所述第二响应的置信分数,选择来自所述第二数字助理组件的所述第二响应。
4.根据权利要求1所述的系统,其中,所述数据处理系统被配置为:
确定所述查询的信号;以及
基于所述信号从多个排名决策函数中选择所述排名决策函数。
5.根据权利要求1所述的系统,其中,所述数据处理系统被配置为:
确定所述查询的信号;以及
基于所述信号选择来自所述第二数字助理组件的响应。
6.根据权利要求1所述的系统,其中,
所述数据处理系统被配置为基于所述排名决策函数确定基于以下中的至少一个选择所述第二响应:
所述第一响应是仅音频响应;和/或
所述第二数字助理组件访问在所述计算装置的存储器中存储的数据。
7.根据权利要求1所述的系统,其中,所述第一响应包括以下中的一个:日历信息或媒体内容。
8.根据权利要求1所述的系统,其中,所述第一数字助理组件独立于所述第二数字助理组件执行以生成所述第一响应。
9.根据权利要求1所述的系统,其中,
所述数据处理系统被配置为经由独立支路将所述查询传输给所述多个数字助理中的每一个以使所述多个数字助理按照重叠的方式处理所述查询。
10.根据权利要求1所述的系统,其中,所述数据处理系统被配置为:
经由被配置为将音频转换为文本的流语音服务器接收来自所述计算装置的所述一个或多个数据分组。
11.一种用于协调音频查询的重叠处理的系统,包括:
数据处理系统,所述数据处理系统包括至少一个处理器和存储器,所述数据处理系统被配置为:
经由接口接收与由计算装置的传感器检测到的音频信号相对应的一个或多个数据分组;
基于经由所述一个或多个数据分组接收到的所述音频信号,生成查询;
将所述查询传输给多个数字助理组件,包括使用应用编程接口将所述查询传输到在远程服务器上执行并且由第一实体管理的第一数字助理组件,以及将所述查询传输到在所述计算装置上执行并且由第二实体管理的第二数字助理组件,其中,所述第一实体不同于所述第二实体;
接收来自所述多个数字助理组件中的所述第一数字助理组件的对所述查询的第一响应;
接收来自所述多个数字助理组件中的所述第二数字助理组件的对所述查询的第二响应,其中,所述第一数字助理组件被授权访问所述第二数字助理组件被禁止访问的数据库,并且其中,所述第一数字助理组件和所述第二数字助理组件被配置为至少部分地并行处理所述查询;
基于排名决策函数以及所述查询所属于的域,确定选择来自所述第二数字助理组件的所述第二响应,而不是来自所述第一数字助理组件的所述第一响应,其中确定选择所述第二响应包括:
在接收来自所述第一数字助理组件的所述第一响应之前,接收来自所述第二数字助理组件的所述第二响应;
确定所述第二数字助理组件不是优选数字助理组件;
确定所述第一数字助理是所述优选数字助理;
响应于确定所述第二数字助理组件不是优选数字助理并且所述第一数字助理是所述优选数字助理,等待来自所述第一数字助理组件的所述第一响应;
在接收到来自所述第一数字助理组件的所述第一响应后,确定所述第一响应被标记为备用响应;以及
基于确定所述第二数字助理组件不是所述优选数字助理并且所述第一响应被标记为所述备用响应,选择所述第二响应,以及
响应于所述选择,将来自所述第二数字助理组件的所述第二响应提供给所述计算装置。
12.一种协调音频查询的重叠处理的方法,包括:
通过包括处理器和存储器的数据处理系统,接收与由计算装置的传感器检测到的音频信号相对应的一个或多个数据分组;
通过所述数据处理系统,基于经由所述一个或多个数据分组接收到的所述音频信号生成查询;
通过所述数据处理系统,将所述查询传输给多个数字助理组件,包括使用应用编程接口将所述查询传输到在远程服务器上执行并且由第一实体管理的第一数字助理组件,以及将所述查询传输到在所述计算装置上执行并且由第二实体管理的第二数字助理组件,其中,所述第一实体不同于所述第二实体;
通过所述数据处理系统,接收来自所述多个数字助理组件中的所述第一数字助理组件的对所述查询的第一响应;
通过所述数据处理系统,接收来自所述多个数字助理组件中的所述第二数字助理组件的对所述查询的第二响应,其中,所述第一数字助理组件被授权访问所述第二数字助理组件被禁止访问的数据库,并且其中,所述第一数字助理组件和所述第二数字助理组件被配置为至少部分地并行处理所述查询;
通过所述数据处理系统,基于排名决策函数确定选择来自所述第二数字助理组件的所述第二响应,而不是来自所述第一数字助理组件的所述第一响应,其中确定选择所述第二响应包括:
确定所述第一数字助理组件是优选数字助理;
确定来自所述第一数字助理组件的所述第一响应被标记为备用响应;
响应于确定来自所述第一数字助理组件的所述第一响应被标记为所述备用响应,超驰所述第一数字助理组件;
选择来自所述第二数字助理组件的所述第二响应;以及
将所述第一数字助理组件保持为所述优选数字助理,以及通过所述数据处理系统,响应于所述选择,将来自所述第二数字助理组件的所述第二响应提供给所述计算装置。
13.根据权利要求12所述的方法,包括:
基于来自所述第二数字助理组件的所述第二响应的置信分数选择来自所述第二数字助理组件的所述第二响应。
14.根据权利要求12所述的方法,包括:
基于所述排名决策函数,确定基于所述第一数字助理组件访问在所述计算装置的存储器中存储的数据选择所述第一响应。
15.一种协调音频查询的重叠处理的方法,包括:
通过包括处理器和存储器的数据处理系统,接收与由计算装置的传感器检测到的音频信号相对应的一个或多个数据分组;
通过所述数据处理系统,基于经由所述一个或多个数据分组接收到的所述音频信号生成查询;
通过所述数据处理系统,将所述查询传输给多个数字助理组件,包括使用应用编程接口将所述查询传输到在远程服务器上执行并且由第一实体管理的第一数字助理组件,以及将所述查询传输到在所述计算装置上执行并且由第二实体管理的第二数字助理组件,其中,所述第一实体不同于所述第二实体;
通过所述数据处理系统,接收来自所述多个数字助理组件中的所述第一数字助理组件的对所述查询的第一响应;
通过所述数据处理系统,接收来自所述多个数字助理组件中的所述第二数字助理组件的对所述查询的第二响应,其中,所述第一数字助理组件被授权访问所述第二数字助理组件被禁止访问的数据库,并且其中,所述第一数字助理组件和所述第二数字助理组件被配置为至少部分地并行处理所述查询;
通过所述数据处理系统,基于排名决策函数确定选择来自所述第二数字助理组件的所述第二响应,而不是来自所述第一数字助理组件的所述第一响应,其中确定选择所述第二响应包括:
在接收来自所述第一数字助理组件的所述第一响应之前,接收来自所述第二数字助理组件的所述第二响应;
确定所述第二数字助理组件不是优选数字助理组件;
确定所述第一数字助理是所述优选数字助理;
响应于确定所述第二数字助理组件不是优选数字助理并且所述第一数字助理是所述优选数字助理,等待来自所述第一数字助理组件的所述第一响应;
在接收到来自所述第一数字助理组件的所述第一响应后,确定所述第一响应被标记为备用响应;以及
基于确定所述第二数字助理组件不是所述优选数字助理并且所述第一响应被标记为所述备用响应,选择所述第二响应,以及
通过所述数据处理系统,响应于所述选择,将来自所述第二数字助理组件的所述第二响应提供给所述计算装置。
16.一种存储指令的非易失性计算机可读存储介质,所述指令在包括处理器和存储器的数据处理系统上被执行时使所述数据处理系统执行权利要求12至15中任一项所述的方法。
CN201980002176.1A 2018-05-03 2019-04-08 音频查询的重叠处理的协调 Active CN110741362B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862666681P 2018-05-03 2018-05-03
US62/666,681 2018-05-03
PCT/US2019/026321 WO2019212697A1 (en) 2018-05-03 2019-04-08 Coordination of overlapping processing of audio queries

Publications (2)

Publication Number Publication Date
CN110741362A CN110741362A (zh) 2020-01-31
CN110741362B true CN110741362B (zh) 2024-05-14

Family

ID=66248772

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980002176.1A Active CN110741362B (zh) 2018-05-03 2019-04-08 音频查询的重叠处理的协调

Country Status (6)

Country Link
US (2) US11989229B2 (zh)
EP (1) EP3596616A1 (zh)
JP (3) JP7119218B2 (zh)
KR (3) KR102506361B1 (zh)
CN (1) CN110741362B (zh)
WO (1) WO2019212697A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112702388B (zh) * 2020-12-03 2023-08-22 广州启盟信息科技有限公司 位置感应数据快速接收处理方法、装置及系统
US11595517B2 (en) * 2021-04-13 2023-02-28 Apple Inc. Digital assistant integration with telephony
US11972764B2 (en) 2021-11-10 2024-04-30 Google Llc Providing related queries to a secondary automated assistant based on past interactions

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6484155B1 (en) * 1998-07-21 2002-11-19 Sentar, Inc. Knowledge management system for performing dynamic distributed problem solving
CN1473324A (zh) * 2001-07-27 2004-02-04 ���ṫ˾ 程序、声音交互设备、和声音交互方法
CN1514995A (zh) * 2002-04-04 2004-07-21 �ձ�������ʽ���� 话音识别对话选择装置,话音识别对话系统,话音识别选择方法及程序
JP2008090545A (ja) * 2006-09-29 2008-04-17 Toshiba Corp 音声対話装置および音声対話方法
CN102137085A (zh) * 2010-01-22 2011-07-27 谷歌公司 语音命令的多维消歧
CN103229120A (zh) * 2010-09-28 2013-07-31 国际商业机器公司 使用假设剪枝提供问题答案
WO2014020835A1 (ja) * 2012-07-31 2014-02-06 日本電気株式会社 エージェント制御システム、方法およびプログラム
JP2014182307A (ja) * 2013-03-19 2014-09-29 Sharp Corp 音声認識システム、および発話システム
CN105683961A (zh) * 2013-11-06 2016-06-15 华为技术有限公司 管理用于假设分析的回写的数据的方法和系统
CN106057205A (zh) * 2016-05-06 2016-10-26 北京云迹科技有限公司 一种智能机器人自动语音交互方法
CN106446141A (zh) * 2016-09-21 2017-02-22 北京光年无限科技有限公司 面向智能机器人系统的交互数据处理方法及机器人系统
JP2017107078A (ja) * 2015-12-10 2017-06-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 音声対話方法、音声対話装置及び音声対話プログラム
CN107315561A (zh) * 2017-06-30 2017-11-03 联想(北京)有限公司 一种数据处理方法和电子设备
CN107562789A (zh) * 2017-07-28 2018-01-09 深圳前海微众银行股份有限公司 知识库问题更新方法、客服机器人以及可读存储介质
JP2018045190A (ja) * 2016-09-16 2018-03-22 トヨタ自動車株式会社 音声対話システムおよび音声対話方法
CN107895577A (zh) * 2016-10-03 2018-04-10 谷歌公司 使用长尾语音命令的任务发起

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10296516B2 (en) * 2012-05-21 2019-05-21 Here Global B.V. Method and apparatus for navigation using multiple synchronized mobile devices
CN102831894B (zh) * 2012-08-09 2014-07-09 华为终端有限公司 指令处理方法、装置和系统
US10032234B2 (en) * 2013-01-29 2018-07-24 Facebook, Inc. Ranking search results using diversity groups
US9172747B2 (en) 2013-02-25 2015-10-27 Artificial Solutions Iberia SL System and methods for virtual assistant networks
US11393461B2 (en) * 2013-03-12 2022-07-19 Cerence Operating Company Methods and apparatus for detecting a voice command
US9582608B2 (en) * 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
EP2881898A1 (en) * 2013-12-09 2015-06-10 Accenture Global Services Limited Virtual assistant interactivity platform
US9823811B2 (en) * 2013-12-31 2017-11-21 Next It Corporation Virtual assistant team identification
US20160378747A1 (en) * 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10191966B2 (en) 2015-07-08 2019-01-29 Business Objects Software Ltd. Enabling advanced analytics with large data sets
US20170357480A1 (en) * 2016-06-12 2017-12-14 The HintBox!, Inc. Proactive deep-analysis virtual assistant application and integration
US10339934B2 (en) * 2016-06-27 2019-07-02 Google Llc Asynchronous processing of user requests
US11188808B2 (en) * 2017-04-11 2021-11-30 Lenovo (Singapore) Pte. Ltd. Indicating a responding virtual assistant from a plurality of virtual assistants
US10748531B2 (en) * 2017-04-13 2020-08-18 Harman International Industries, Incorporated Management layer for multiple intelligent personal assistant services
US11074280B2 (en) * 2017-05-18 2021-07-27 Aiqudo, Inc Cluster based search and recommendation method to rapidly on-board commands in personal assistants
US10521512B2 (en) * 2017-05-26 2019-12-31 Bose Corporation Dynamic text-to-speech response from a smart speaker
US20190304447A1 (en) * 2017-09-29 2019-10-03 Axwave, Inc. Artificial intelligence assistant recommendation service
US10664522B2 (en) * 2017-12-07 2020-05-26 International Business Machines Corporation Interactive voice based assistant for object assistance
US11631017B2 (en) * 2018-01-09 2023-04-18 Microsoft Technology Licensing, Llc Federated intelligent assistance
US20190237067A1 (en) * 2018-01-31 2019-08-01 Toyota Motor Engineering & Manufacturing North America, Inc. Multi-channel voice recognition for a vehicle environment
US11475888B2 (en) * 2018-04-29 2022-10-18 Dsp Group Ltd. Speech pre-processing in a voice interactive intelligent personal assistant
US10602276B1 (en) * 2019-02-06 2020-03-24 Harman International Industries, Incorporated Intelligent personal assistant

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6484155B1 (en) * 1998-07-21 2002-11-19 Sentar, Inc. Knowledge management system for performing dynamic distributed problem solving
CN1473324A (zh) * 2001-07-27 2004-02-04 ���ṫ˾ 程序、声音交互设备、和声音交互方法
CN1514995A (zh) * 2002-04-04 2004-07-21 �ձ�������ʽ���� 话音识别对话选择装置,话音识别对话系统,话音识别选择方法及程序
JP2008090545A (ja) * 2006-09-29 2008-04-17 Toshiba Corp 音声対話装置および音声対話方法
CN102137085A (zh) * 2010-01-22 2011-07-27 谷歌公司 语音命令的多维消歧
CN103229120A (zh) * 2010-09-28 2013-07-31 国际商业机器公司 使用假设剪枝提供问题答案
WO2014020835A1 (ja) * 2012-07-31 2014-02-06 日本電気株式会社 エージェント制御システム、方法およびプログラム
JP2014182307A (ja) * 2013-03-19 2014-09-29 Sharp Corp 音声認識システム、および発話システム
CN105683961A (zh) * 2013-11-06 2016-06-15 华为技术有限公司 管理用于假设分析的回写的数据的方法和系统
JP2017107078A (ja) * 2015-12-10 2017-06-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 音声対話方法、音声対話装置及び音声対話プログラム
CN106057205A (zh) * 2016-05-06 2016-10-26 北京云迹科技有限公司 一种智能机器人自动语音交互方法
JP2018045190A (ja) * 2016-09-16 2018-03-22 トヨタ自動車株式会社 音声対話システムおよび音声対話方法
CN106446141A (zh) * 2016-09-21 2017-02-22 北京光年无限科技有限公司 面向智能机器人系统的交互数据处理方法及机器人系统
CN107895577A (zh) * 2016-10-03 2018-04-10 谷歌公司 使用长尾语音命令的任务发起
CN107315561A (zh) * 2017-06-30 2017-11-03 联想(北京)有限公司 一种数据处理方法和电子设备
CN107562789A (zh) * 2017-07-28 2018-01-09 深圳前海微众银行股份有限公司 知识库问题更新方法、客服机器人以及可读存储介质

Also Published As

Publication number Publication date
JP2024063034A (ja) 2024-05-10
KR102506361B1 (ko) 2023-03-06
KR20240007723A (ko) 2024-01-16
JP7119218B2 (ja) 2022-08-16
JP7439186B2 (ja) 2024-02-27
US20210334306A1 (en) 2021-10-28
CN110741362A (zh) 2020-01-31
KR102624149B1 (ko) 2024-01-11
KR20210002715A (ko) 2021-01-08
US20240202235A1 (en) 2024-06-20
KR20230034443A (ko) 2023-03-09
US11989229B2 (en) 2024-05-21
JP2022172090A (ja) 2022-11-15
EP3596616A1 (en) 2020-01-22
JP2021523500A (ja) 2021-09-02
WO2019212697A1 (en) 2019-11-07

Similar Documents

Publication Publication Date Title
CN113571058B (zh) 语音动作可发现性系统
US20240202235A1 (en) Coordination of overlapping processing of audio queries
US10909971B2 (en) Detection of potential exfiltration of audio data from digital assistant applications
US11841893B2 (en) Coordination of parallel processing of audio queries across multiple devices
US20180191713A1 (en) Authentication of packetized audio signals
US11664025B2 (en) Activation of remote devices in a networked system
US20220027124A1 (en) Verifying operational statuses of agents interfacing with digital assistant applications
US20200257853A1 (en) Verifying operational statuses of agents interfacing with digital assistant applications

Legal Events

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