CN118193762A - 将来自查询的响应整合到异构数据源 - Google Patents

将来自查询的响应整合到异构数据源 Download PDF

Info

Publication number
CN118193762A
CN118193762A CN202410273350.9A CN202410273350A CN118193762A CN 118193762 A CN118193762 A CN 118193762A CN 202410273350 A CN202410273350 A CN 202410273350A CN 118193762 A CN118193762 A CN 118193762A
Authority
CN
China
Prior art keywords
application
data processing
processing system
action
entity
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
Application number
CN202410273350.9A
Other languages
English (en)
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 CN118193762A publication Critical patent/CN118193762A/zh
Pending legal-status Critical Current

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/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/435Filtering based on additional data, e.g. user or group profiles
    • 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/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9532Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及将来自查询的响应整合到异构数据源。应用入口组件能够接收应用数据包文件,并且处理该文件以识别用于所述应用的一个或多个动作和实体。自然语言处理器组件能够接收输入音频信号,以识别动作和在其上执行所述动作的实体。应用交付组件能够识别能够执行所述动作的应用和具有对所述实体的访问的应用,然后选择被配置成对所述实体执行所述动作的应用。所述应用交付组件能够向客户端设备提供对由所述系统选择的应用的指示。

Description

将来自查询的响应整合到异构数据源
分案说明
本申请属于申请日为2019年2月6日的中国发明专利申请No.201980002151.1的分案申请。
相关申请的交叉引用
本申请根据美国法案35 U.S.C.§119(e)要求2018年11月21日提交的美国临时专利申请No.62/770,338的优先权的权益,其公开内容在此通过引用以其整体并入。
背景技术
服务器可能接收对信息的请求。服务器能够将对信息的请求路由到众多数据库或服务器,以获得所请求的信息。
发明内容
本技术解决方案主要涉及整合从查询到异构数据源的响应。本技术解决方案的至少一个方面涉及一种整合异构数据源查询的系统。该系统能够包括数据处理系统。该数据处理系统能够包括一个或多个处理器和存储器。该数据处理系统能够包括应用入口组件、自然语言处理组件以及应用交付组件。该数据处理系统能够接收应用包文件。该数据处理系统能够从多个开发者计算设备接收应用包文件。这些应用包文件能够包括在多个计算设备上分发和安装多个应用的指令。每个应用包文件都能够与动作清单文件相关联。该数据处理系统能够处理动作清单文件以识别移动应用执行的一个或多个电子动作。该数据处理系统能够处理动作清单文件,以识别移动应用在其上执行一个或多个电子动作的对应的一个或多个实体。该数据处理系统能够经由数据处理系统的接口和网络来接收数据包,该数据包包括由客户端设备的传感器检测到的输入音频信号。该数据处理系统能够解析输入音频信号以识别动作和在其上执行动作的实体。该数据处理系统能够基于动作清单文件选择多个应用中的第一一个或多个应用,该应用被配置有对从输入音频信号中识别出的实体的访问并且被配置成执行在输入音频信号中识别出的动作。该数据处理系统能够向客户端设备提供对由数据处理系统选择的应用的指示,以使得客户端设备发起应用的执行以使用在输入音频信号中识别出的实体来执行动作。
该数据处理系统能够识别被配置成执行从输入音频信号中识别出的动作的第一一个或多个应用。该数据处理系统能够从第一一个或多个应用以及第二一个或多个应用中选择被配置成执行动作并且访问从输入音频信号中识别出的实体的应用。
本技术解决方案中的至少一个方面涉及一种整合异构数据源查询的方法。该方法能够包括数据处理系统接收包括在多个计算设备上分发和安装相应的多个应用的指令的应用包文件。该应用包文件每个都能够与相应的动作清单文件相关联。该数据处理系统能够从多个开发者计算设备接收应用包文件。该方法能够包括数据处理系统处理每个动作清单文件,以识别相应的应用执行的一个或多个电子动作以及移动应用在其上执行该一个或多个电子动作的对应的一个或多个实体。该方法能够包括数据处理系统经由数据处理系统的接口和网络接收数据包,该数据包包括由客户端设备的传感器检测到的输入音频信号。该方法能够包括数据处理系统解析输入音频信号以识别动作以及在其上执行动作的实体。该方法能够包括数据处理系统基于动作清单文件选择多个应用中的第一一个或多个应用,其被配置由对从输入音频信号中识别出的实体的访问并且被配置成执行在输入音频信号中识别出的动作。该方法能够包括数据处理系统向客户端设备提供对由数据处理系统选择的应用的指示,以使得客户端设备发起应用的执行以使用在输入音频信号中识别出的实体来执行动作。
该方法可包括以下特征中的一个或多个。该方法能够包括数据处理系统识别被配置为执行从输入音频信号中识别出的动作的第一一个或多个应用。该方法能够包括数据处理系统从第一一个或多个应用和第二一个或多个应用中选择被配置成执行动作并且访问从输入音频信号中识别出的实体的应用。识别被配置成执行从输入音频信号中识别出的动作的第二一个或多个应用。提供对由数据处理装置选择的应用的指示能够包括:从第一一个或多个应用和第二一个或多个应用中选择被配置成执行动作并且访问从输入音频信号中识别出的实体的应用;以及提供从第一一个或多个应用和第二一个或多个应用中选择的应用。接收动作清单文件包括可扩展标记语言文件。接收动作清单文件包括指向实体列表的指针。针对多个应用中的至少一个应用,接收包括到经由开发者计算设备建立的网页的统一资源定位符的动作清单文件;和从开发者计算设备的网页确定实体清单。针对多个应用中的至少一个应用,接收包括到包括实体的结构化标记的网页的统一资源定位符的动作清单文件;经由统一资源定位符访问网页;解析具有实体的结构化标记的网页,以识别实体清单;在数据库中将实体清单与多个应用中的至少一个应用相关联。从输入音频信号中识别应用;和基于第一一个或多个应用、第二一个或多个应用以及输入音频信号来选择应用。基于从输入音频信号中识别出的动作和实体中的至少一个,经由搜索引擎执行web搜索;和基于由搜索引擎输出的web搜索的结果,识别第一一个或多个应用或第二一个或更多应用中的至少一个。基于从输入音频信号中识别出的动作和实体中的至少一个,经由搜索引擎执行web搜索,以识别第二多个应用;对第二多个应用中的每个应用进行排序;以及从所述第二多个应用中选择排序最高的应用作为向所述客户端设备提供所述指示的应用。基于从输入音频信号中识别出的动作和实体中的至少一个,经由搜索引擎执行web搜索,以识别第二多个应用;基于与动作相关联的性能反馈对第二多个应用中的每个应用进行评分;以及从所述第二多个应用中选择评分最高的应用作为向所述客户端设备提供所述指示的应用。基于从输入音频信号中识别出的动作和实体中的至少一个,经由搜索引擎执行web搜索,以识别第二多个应用;基于与用于动作的客户端设备相关联的历史偏好信息来对第二多个应用中的每个应用进行评分;以及从所述第二多个应用中选择评分最高的应用作为向所述客户端设备提供所述指示的应用。基于包括实体的分层分类法的图形数据库从输入音频信号识别实体,每个实体具有由域、类型和属性形成的唯一标识符。基于包括实体的分层分类法的图形数据库从输入音频信号识别实体,每个实体具有由域、类型和属性形成的唯一标识符;和使用该实体基于web搜索来识别第一一个或多个应用或第二一个或多个应用。基于包括实体的分层分类法的图形数据库从输入音频信号识别实体,每个实体具有由域、类型和属性形成的唯一标识符;经由数据库识别被配置用于实体的动作集;和基于被配置用于实体的动作集来识别第二一个或多个应用。
应明白,能够以任何方便的形式来实现这些方面。例如,这些方面可以通过适当的计算机程序来实现,这些计算机程序可以承载在适当的载体介质上,该载体介质可以是有形载体介质(例如,磁盘)或无形载体介质(例如,通信信号)。这些方面也可以使用合适的装置来实现,该装置可以采取运行被布置成实现本发明的计算机程序的可编程计算机的形式。这些方面可以组合,使得可以在另一方面中实现在一个方面的背景下描述的特征。
下面详细地讨论这些和其它方面以及实施方式。前述信息和以下详细描述包括各个方面和实施方式的说明性示例,并且提供了用于理解所要求保护的方面和实施方式的性质和特征的概述或框架。附图提供了对各个方面和实施方式的说明和进一步理解,并且被并入本说明书中且构成本说明书的一部分。
附图说明
附图无意按比例绘制。在各个附图中,相同的附图标记和标识表示相同的元件。为了清楚起见,并非每个组件都可在每个附图中标号。在附图中:
图1是根据实施方式的整合异构数据源查询的系统的图示。
图2是根据实施方式的整合异构数据源查询的系统的操作的图示。
图3是根据实施方式的整合异构数据源查询的方法的图示。
图4是能够用于实现图1和图2中所示的系统的元件以及图3中所示的方法的计算机系统的一般架构的方框图。
具体实施方式
下面是与整合异构数据源查询的方法、装置和系统有关的各种概念以及其实施方式的更详细描述。可以以许多方式中的任何一种来实现上文介绍的和下文将更详细地讨论的各种概念。
本技术解决方案主要涉及整合异构数据源查询。例如,应用能够在计算设备上执行。应用能够由第三方开发者经由开发者设备进行开发、创建或以其它方式提供。应用(例如移动应用)能够被配置成对某些类型的数据文件、资源或其它内容执行或进行某些类型的动作。例如,移动应用能够被配置成在诸如智能电话的移动计算设备上执行,以对诸如音乐文件的数字或电子资源执行诸如“播放”之类的动作。移动应用能够被称为音乐应用。开发者能够提供各种类型的应用,诸如视频播放器应用、音乐播放器应用、增强现实应用、新闻应用、电子书应用、视频游戏应用、食谱应用、购票应用、服装应用、电子商务应用或乘车共享应用。
应用或移动应用能够在计算设备或移动计算设备上执行。应用能够部分地在计算设备上执行,并且部分地在数据处理系统上执行。应用能够在数据处理系统上执行,并从计算设备接收输入。例如,数据处理系统能够从计算设备接收输入音频信号(例如,语音输入),并解析输入音频信号以识别动作(例如,播放音乐)和执行该动作的实体(例如,特定艺术家或歌曲)。应用能够指各种平台上的应用,包括不同类型的移动设备、计算设备、操作系统、会话应用或聊天机器人应用。
然而,数据处理确定哪个应用能够执行动作以及哪个应用能够访问实体可能存在挑战。例如,每个应用或应用的开发者都能够将电子数据文件存储在不同的数据库或数据存储库中。每个应用或应用的开发者都能够使用一种或多种技术来指示应用能够执行的动作的类型。动作的指示以及能够在其上执行动作的电子数据文件或实体能够为各种格式或处于各种位置。因而,基于语音的计算环境接收具有在特定实体上执行一种动作的请求的输入音频信号以高效、准确并可靠地选择能够在所请求的实体上执行这种类型的动作的应用可能存在挑战。
例如,应用开发者可能不会在语义上指定其应用的功能(例如,播放电影、获取新闻、订购食物或订购乘车),并为其应用所工作的实体(例如电影名称)提供清单。当来自用户的输入音频信号经由数字助理请求执行某些任务或动作时,这给数据处理系统选择、触发或建议这些应用带来了挑战。
因而,本技术解决方案的系统和方法能够通过提供与应用能够服务的意图和相关联的清单有关的信息来解决将动作提供商与用户查询相匹配的技术问题,并在搜索服务用户查询的提供商时使用该清单。该技术解决方案还能够用于执行实体行转列,以便基于用户请求中指定的实体对动作进行行转列。例如,如果用户询问音乐家的身高,则数据处理系统可以提供与音乐家有关的基于动作的建议,诸如播放音乐、显示音乐家最近在线帖子、购买音乐家的门票。
为此,本技术解决方案的数据处理系统能够组合或整合结构化的数据馈送和网页,以(1)将查询匹配到相应的提供商,和(2)生成基于实体的应用动作建议。例如,对于给定实体,数据处理系统能够推荐(例如,经由馈送)显式地提供用于实体的动作的应用,该应用和与和实体有关的网页相关联的应用交叉排序。为此,数据处理系统能够组合或整合来自各种过程、技术、基础结构或数据源的结果,例如包括:解析或自然语言处理,以从用户查询中识别实体;web搜索技术,以从web内容和馈送识别实体;包含统一资源定位符(URL)或应用深链接的结构化数据馈送;了解结构化馈送项或网页中给定实体与查询的相关程度;或web URL对应用的相应深层链接的索引。
数据处理系统能够以配置驱动的方式组合这些基础结构,以确定何时以及如何搜索这些孤立的数据源,并组合这些不同的数据源的结果,对结果重新排序,并将结果与应用开发者提供的清单规范进行匹配以了解结果令人满意的意图(例如,GET_RECIPE或PLAY_MOVIE),从而创建能够满足用户请求的代理或应用的排序列表。数据处理系统还能够通过仅过滤对客户端设备上安装的应用的推荐来进一步改善建议。由于每个数据源或数据源内的垂直字段可能具有不同的请求和响应格式,因此数据处理系统能够从应用开发者设备接收用于使用一组配置创建来自用户查询和用户上下文的请求的规范。应用开发者能够使用这些配置将响应转换成通用格式以进行进一步处理。因而,数据处理系统能够将结构化数据馈送和非结构化数据馈送结合;(2)使用任何知识图来处理跨任何垂直字段的查询;以及(3)为任何类型的设备提供任何类型的履行。本文所述的技术能够允许设备仅打开能够满足请求的应用。在设备上打开应用通常会占用大量计算机资源,并且通过在打开应用之前先确定应用是否能够满足请求,本文所述的主题能够降低计算机资源利用。
图1示出了用于整合异构数据源查询的示例系统100。系统100能够包括内容选择基础结构。系统100能够包括数据处理系统102。数据处理系统102能够经由网络105与开发者计算设备106或客户端计算设备104中的一个或多个通信。网络105能够包括计算机网络,例如因特网、局域网、广域网、城域网或其它局域网、内联网、卫星网络以及其它通信网络,诸如语音或数据移动电话网络。网络105能够用于访问诸如网页、网站、域名或统一资源定位符之类的信息资源,这些信息资源能够在诸如膝上型计算机、台式机、平板电脑、个人数字助理、智能手机、便携式计算机或扬声器之类的至少一个计算设备104上呈现、输出、渲染或显示。例如,经由网络105,计算设备104的用户能够访问由开发者计算设备106提供的信息或数据。计算设备104(或客户端设备)可以包括或可以不包括显示器;例如,计算设备可以包括有限类型的用户接口,诸如麦克风和扬声器。在某些情况下,计算设备104的主用户接口可以是麦克风和扬声器。计算设备104能够与基于语音的计算环境交互或被包括在其中。
数据处理系统102能够使用网络105来访问能够由客户端计算设备104呈现、输出、渲染或显示的信息资源,诸如网页、网站、域名或统一资源定位符。例如,客户端计算设备104的用户能够经由网络105访问由开发者计算设备106提供的信息或数据。网络105能够包括或构成因特网上可用的信息资源的子网络,这些信息资源与内容放置或搜索引擎结果系统相关联或有资格包括第三方数字组件作为数字组件放置活动的一部分。
网络105可以是任何类型或形式的网络,并且可以包括以下任何一种:点对点网络,广播网络,广域网,局域网,电信网络,数据通信网络,计算机网络,ATM(异步传输模式)网络,SONET(同步光网络)网络,SDH(同步数字体系)网络,无线网络和有线网络。网络105可以包括无线链路,诸如红外信道或卫星频带。网络105的拓扑结构可以包括总线、星形或环形网络拓扑结构。网络可以包括使用任何一种或多种协议以在移动设备之间进行通信的移动电话网络,这些协议包括:高级移动电话协议(“AMPS”),时分多址(“TDMA”),码分多址(“CDMA”),全球移动通信系统(“GSM”),通用分组无线业务(“GPRS”)或通用移动电信系统(“UMTS”)。可以经由不同的协议传输不同类型的数据,或者可以经由不同的协议传输相同类型的数据。
系统100能够包括至少一个数据处理系统102。数据处理系统102能够包括至少一个逻辑设备,诸如具有处理器以经由网络105与例如计算设备104、开发者计算设备106(例如,内容提供商)通信的计算设备。数据处理系统102能够包括至少一个计算资源、服务器、处理器或存储器。例如,数据处理系统102能够包括位于至少一个数据中心中的多个计算资源或服务器。数据处理系统102能够包括多个逻辑分组的服务器,并且有助于分布式计算技术。服务器的逻辑组可被称为数据中心、服务器场或机器场。服务器也能够在地理位置上分散。数据中心或机器场可以作为单个实体进行管理,或者机器场能够包括多个机器场。每个机器场中的服务器都能够为异构的——一个或多个服务器或机器能够根据一种或多种类型的操作系统平台进行操作。
机器场中的服务器能够与关联的存储系统一起储存在高密度机架系统中,并且能够位于企业数据中心中。例如,通过在本地化的高性能网络上定位服务器和高性能存储系统,以这种方式整合服务器可以提高系统的可管理性、数据安全性、系统的物理安全性和系统性能。包括服务器和存储系统在内的所有或某些数据处理系统102组件的集中化,以及将它们与高级系统管理工具耦合在一起,允许更高效地利用服务器资源,这节省了功率和处理需求并减少了带宽使用。
系统100能够包括、访问至少一个开发者计算设备106或以其他方式与之交互。开发者计算设备106能够包括至少一个逻辑设备,诸如具有处理器以经由网络105与例如计算设备104或数据处理系统102进行通信的计算设备。开发者计算设备106能够包括至少一个计算资源、服务器、处理器或存储器。例如,开发者计算设备106能够包括位于至少一个数据中心中的多个计算资源或服务器。开发者计算设备106能够包括数据处理系统102的一个或多个组件或功能。开发者计算设备106能够包括或指代应用开发者设备、服务提供商设备或商品提供商设备。开发者计算设备106能够用于开发应用。开发者计算设备106能够用于部分地开发应用。开发者计算设备106能够用于将应用提供给数据处理系统102。开发者计算设备106能够用于以其它方式促进提供应用或提供与应用相关联的功能。
计算设备104能够包括至少一个传感器134、换能器136、音频驱动器138或预处理器140,与之对接或以其它方式与之通信。传感器134能够包括例如环境光传感器、接近度传感器、温度传感器、加速度计、陀螺仪、运动检测器、GPS传感器、位置传感器、麦克风或触摸传感器。换能器136能够包括扬声器或麦克风。音频驱动器138能够向硬件换能器136提供软件接口。音频驱动器能够执行音频文件或由数据处理系统102提供的其它指令,以控制换能器136生成相应的音波或声波。预处理器140能够被配置成检测触发关键字、预定的热词、启动关键字或激活关键字。在一些情况下,触发关键字能够包含执行动作的请求。在一些情况下,触发关键字能够包括预定动作关键字以启用或激活计算设备104,并且请求关键字能够遵循触发关键字或热词。预处理器140能够被配置成检测关键字并基于关键字执行动作。预处理器140能够在将一个或多个项发送到数据处理系统102以进行进一步处理之前滤除这些项或修改这些项。预处理器140能够将由麦克风检测到的模拟音频信号转换成数字音频信号,并且经由网络105将携带数字音频信号的一个或多个数据包发送到数据处理系统102。在一些情况下,预处理器140能够响应于检测到执行这种传输的指令来发送携带一些或全部输入的音频信号的数据包。该指令能够包括例如触发关键字或其它关键字或批准,以将包括输入音频信号的数据包发送到数据处理系统102。
客户端计算设备104能够与终端用户相关联,终端用户将语音查询作为音频输入(经由传感器134)输入到客户端计算设备104中,并且接收以计算机生成的语音的形式的音频输出,该音频输出能够从数据处理系统102(或开发者计算设备106)对客户端计算设备104提供,从换能器136(例如,扬声器)输出。计算机生成的语音能够包括来自真实人的录音或计算机生成的语言。
数据处理系统102能够包括具有至少一个计算资源或服务器的内容布置系统。数据处理系统102能够包括在线应用交付平台,该在线应用交付平台被配置成选择、交付或提供应用以供计算设备104执行或交互。应用能够在计算设备104上,至少部分地在计算设备104上以及部分地在数据处理系统102上或完全在数据处理系统102上执行,使得经由计算设备104提供应用的输入和输出,但是应用以其它方式在数据处理系统102上执行。应用能够至少部分地在开发者计算设备106上执行。
数据处理系统102能够包括至少一个接口110,与之对接或以其它方式与之通信。数据处理系统102能够包括至少一个自然语言处理器组件112,与之对接或以其它方式与之通信。数据处理系统102能够包括至少一个应用入口组件114,与之对接或以其它方式与之通信。数据处理系统102能够包括至少一个应用交付组件116,与之对接或以其它方式与之通信。数据处理系统102能够包括至少一个数据存储库118,与之对接或以其它方式与之通信。该至少一个数据存储库118能够在一个或多个数据结构或数据库中包括或存储应用包(APK)文件120、索引122、实体124、性能数据126或简档128。
APK文件120能够指代应用包工具包或应用包文件或其它应用相关文件。数据处理系统102能够在数据存储库118中存储用于多个应用的APK文件。数据处理系统102能够存储用于每个应用的一个或更多APK文件,数据处理系统102被配置成将这些APK文件交付到计算设备104。APK文件120能够在计算设备上分发和安装应用。APK文件120的格式能够被配置成用于将应用从数据处理系统102分发到计算设备104以安装在计算设备104上。应用能够具有一个或更多格式的一个或多个APK文件120。例如,单个应用能够具有第一格式的APK文件120,该第一格式被配置成使用第一交付平台来分发应用以安装在第一类型的计算设备104上;和第二格式的第二APK文件120,该第二格式被配置成用于经由第二交付平台将应用分发到第二类型的计算设备104。APK文件120能够包括指令、源代码、可执行代码、机器可读代码、脚本、功能、图像、音频文件、视频文件或配置文件。APK文件能够包括用于促进应用的分发和安装的指令(或代码)。
APK文件120能够与动作清单文件相关联。动作清单文件能够作为APK文件120的一部分。动作清单文件能够作为APK文件120的一部分提供或与APK文件120一起提供。例如,应用的开发者能够提供动作清单文件以及应用的APK文件120。动作清单文件能够为单独的文件,并且与APK文件120分开。动作清单文件能够与APK文件120相关联(例如,作为APK文件120的一部分并入,具有匹配或相应于APK文件的标识符,经由参考或统一资源指示符链接到APK文件120,经由指针,或者在索引中彼此映射或者链接)。动作清单文件能够指示应用能够执行的动作。动作清单文件能够指示应用能够在其上执行所指示的动作的实体。动作清单文件能够包括指针、URI、URL或对另一个数据源的引用,该数据源包含有关应用能够在其上执行所指示的动作的实体的信息。动作清单文件能够包括到应用内的实体的深层链接。动作清单文件或APK文件能够包括用于构造到应用内的实体的深层链接的模式。
存储在数据存储库118中的索引122能够包括应用到动作的映射。存储在数据存储库118中的索引122能够包括应用到实体的映射。存储在数据存储库118中的索引122能够包括动作到实体的映射。索引122能够包括到应用的实体的深层链接,以将应用引导到该实体或在启动或打开该应用时打开该实体。能够基于时间间隔来,或者响应于其它事件或条件(诸如,新应用或更新的应用或新清单(例如,实体)的获取)来周期性地更新索引122。数据处理系统102能够在数据处理系统102的数据存储库118上维护索引122。在某些情况下,数据处理系统102能够在计算设备104的本地存储器中维护计算设备104的索引122,例如,在存储在计算设备104上的本地索引122中维护。本地索引122能够包括,例如,关于可能在数据处理系统102否则不可访问的本地计算设备104上可用或存储的实体的信息,或者关于数据处理系统102能够通过计算设备104访问的实体的信息。
数据处理系统102能够在数据存储库118中存储实体124或实体124的指示。实体的指示能够指代或包括实体的唯一标识符。唯一标识符能够包括例如字母数字值、字符串、字符、数字值或域、属性和类型信息。实体能够为单个人、地点或事物,并且存储库能够包含数百万个实体,每个实体都有唯一标识符,以区分具有相似名称(例如,捷豹汽车与美洲虎动物)的多个实体。数据处理系统102能够访问参考实体并扫描任意文本片段(例如,网页中的文本、关键字的文本、内容的文本、广告的文本)以识别来自各种来源的实体。例如,一个这样的来源可以是实体图系统142。实体图系统142能够包括由用户的社区建立的诸如人、地点和事物的实体图之类的手动创建的实体分类法。数据处理系统102能够经由网络105与实体图系统142对接,访问或以其它方式与实体图系统142通信。
数据处理系统102能够使用实体选择以多种方式对实体执行动作的应用。数据处理系统102能够获得多个实体的分类。实体可以是单个人、地方、事物或话题。每个实体都具有唯一标识符,唯一标识符可在具有相似名称(例如,捷豹汽车与美洲虎动物)的多个实体之间进行区分。唯一标识符(“ID”)可以是字符、文本、数字或符号的组合。数据处理系统可以经由网络105从内部数据库或第三方数据库获得分类。在一种实施方式中,可以由用户设备(例如,计算设备104)的用户手动对实体进行分类。例如,用户可以经由网络105访问实体的数据库。用户可以上传至少一个实体或者以批量上传的方式上传多个实体。用户可以对上传的实体进行分类,或者上传可以包括至少一个实体的分类。在一些实施方式中,一旦接收到实体,数据处理系统102就可以提示用户进行分类。
在一些实施方式中,能够对实体进行分类。分类可以指示实体被分类或构造的方式,例如本体。例如,本体分类可以包括实体能够具有的属性、方面、特点、特征、特性或参数。本体分类还可以包括类、组、集合、概念或类型。例如,“交通工具”的本体可包括:类型——地面交通工具、轮船、飞机;功能——运送人员、运送货物;属性——功率、大小;组件——引擎、主体等。在一些实施方式中,手动分类包括提供手动创建的实体分类法的结构化数据。实体可以与实体类型相关联,诸如人物、地点、书籍或电影。实体类型可以包括其它属性,诸如人物的出生日期或位置的纬度和经度。实体也可以与域相关联,诸如共享名称空间的类型的集合,名称空间包括唯一命名对象的目录(例如,因特网上的域名、统一资源定位符中的路径,或计算机文件系统中的导引器)。实体还可以包括以一般关系描述属性(或通过使用多个属性形成的路径)的元数据。
数据处理系统102或实体图系统142的管理员可以基于域、类型和属性对实体进行分类。例如,域可以是美国音乐家,并且具有ID“/music”。该域可以与具有ID“/music/pop_music”的音乐类型相关联。该类型可以包括流行音乐音乐家“/music/pop_music/musicians”的属性。每个域、类型、属性或其它类别都可以包括描述。例如,“/music/pop_music”可以包括以下描述:“音乐指声音或器乐声音而流行音乐可以指当前的商业流行音乐(Music refers to a vocal or instrumental sound and pop music can refer tocurrent commercial popular music)”。在一些实施方式中,数据处理系统102能够扫描文本或其它文档数据并自动确定分类。例如,数据处理系统102可以经由网络105扫描信息资源以获取关于音乐家的信息,并且将该信息分类为“/music/pop_music/musicians/female_musicians”。数据处理系统102可以进一步向实体女音乐家指配指示分类的唯一标识符。
实体可以至少部分地由一个或多个人(“实体贡献者”)分类。这可以称为手动分类。在一些实施方式中,可以使用众包过程对实体进行分类。众包可以在线或离线进行,并且可以指涉及将任务外包给定义的人群、分布式的人群或未定义人群的过程。在线众包的示例可以包括实体图系统142的管理员将上传或分类实体的任务指配给未定义的一组用户。用户可以在线添加、修改或删除分类。离线众包的示例可以包括不使用网络105将上载或分类实体的任务指配给未定义的公众。
性能数据126能够包括例如关于应用执行动作的程度如何的信息。性能126能够包括例如关于应用对实体执行动作的程度如何的信息。性能数据126能够基于历史性能或用途。性能数据126能够基于反馈或评级。性能数据126能够采用度量的形式,诸如质量度量、延时度量、时间度量、存储器使用度量、处理器使用度量、网络带宽使用。性能度量能够指示应用执行动作所花费的时间量或应用启动所花费的时间量。性能数据126能够指示当执行动作时应用的效率水平。动作能够为通过已被索引或映射到应用的APK文件或动作清单文件识别的动作。性能度量能够包括多个值(例如,存储器消耗值、处理器利用率值或时间)或字母数字指示符。性能度量能够包括规模、等级、范围或频谱,诸如低、中、高或1到10的等级,或等级系统,诸如A、B、C、D、F。数据处理系统102能够使用性能度量来选择或排名要交付的应用。
附加性能信息126能够指示与应用相关联的错误或故障。例如,如果应用经由APK文件或动作清单文件指示它能够对某种类型的实体执行某种类型的动作,但是该应用在尝试对实体执行动作时崩溃、失败或出现错误,则数据处理系统102能够将错误日志存储在数据存储库118中的性能数据结构126中。数据处理系统102能够确定该应用可能未被配置成、无法运行或无法操作而在实体上执行与动作清单文件中所指示相反的动作。因而,响应于确定应用无法对实体执行动作到令人满意的水平(例如,崩溃、错误、过量延迟、时延或质量很低,诸如声音质量或视频分辨率),则数据处理系统102能够确定更新索引122以去除应用与对应动作和实体之间的映射或链接。数据处理系统102能够向提供应用的开发者计算设备106提供指示、通知或警报,以允许开发者更新应用或动作清单文件以解决或纠正错误。数据处理系统102能够使用存储在性能数据结构126中的错误日志,确定阻止选择在实体上执行与指示该应用被配置成在实体上执行动作的动作清单文件相反的动作的应用。
数据储存库118能够存储简档信息128。简档信息能够包括或指代与计算设备104相关联的信息。简档信息能够包括或指代与在计算设备104上配置的账户相关联的信息。简档信息能够指示计算设备104的配置或在计算设备104上激活的帐户。简档信息能够指示哪些应用安装在计算设备104上,或者哪些应用对计算设备104可用或可访问。简档信息能够包括或指示存储在计算设备104上或由计算设备104可访问的实体。简档信息能够包括或指示用户对应用、动作或实体的偏好。
数据处理系统102能够与搜索引擎系统146对接、访问、使用搜索引擎系统146或以其它方式与之通信。搜索引擎146能够指代或包括对因特网上的网页或网站进行爬网以对网页进行索引并且将索引存储在数据库中的系统。搜索引擎系统146能够包括一个或多个程序,这些程序搜索和识别数据库中的项目,这些项目与在搜索引擎的输入中指定的关键字或字符相对应。
数据处理系统102能够与web服务器144进行对接、访问、使用web服务器144或以其它方式与之进行通信。Web服务器144能够托管网站或网页。Web服务器144能够托管由开发者计算设备106开发并发布在因特网上的网站。例如,开发者计算设备106能够使用结构化数据标记方案来标记网页,从而指示由开发者计算设备106提供的应用能够在其上执行动作的实体。
接口110、自然语言处理器组件112、应用入口组件114或应用交付组件116各自能够包括至少一个处理单元或其它逻辑设备,诸如可编程逻辑阵列引擎,或被配置成与数据库存储库或数据存储库118通信的模块。接口110、自然语言处理器组件112、应用入口组件114、应用交付组件116以及数据存储库118能够为数据处理系统102的单独组件、单个组件或一部分。系统100及其组件,诸如数据处理系统102,能够包括硬件元件,诸如一个或多个处理器、逻辑设备或电路。
数据处理系统102能够获得与多个计算设备104相关联的匿名计算机网络活动信息。计算设备104的用户能够肯定地授权数据处理系统102获取与用户的计算设备104相对应的网络活动信息。例如,数据处理系统102能够提示计算设备104的用户同意获取一种或多种类型的网络活动信息。计算设备104的用户的身份能够保持匿名,并且计算设备104能够与唯一标识符(例如,用于用户或由数据处理系统提供的计算设备或该计算设备的用户的唯一标识符)相关联。数据处理系统能够将每个观察结果与对应的唯一标识符相关联。
数据处理系统102能够包括被设计、配置、构造成或可操作以使用例如数据包来接收和发送信息的接口组件110。接口110能够使用一种或多种协议(诸如网络协议)来接收和发送信息。接口110能够包括硬件接口、软件接口、有线接口或无线接口。接口110能够促进将数据从一种格式转换或格式化成另一种格式。例如,接口110能够包括应用编程接口,该应用编程接口包括用于在诸如软件组件的各种组件之间进行通信的定义。
数据处理系统102能够包括被设计、构造、配置成或可操作以接收应用包文件和相关联的动作清单文件并且处理动作清单文件以识别移动应用执行的一个或多个电子动作以及应用在其上执行电子动作的相应一个或更多实体的应用入口组件114。应用入口组件114能够提供开发者计算设备106能够通过其传输应用包文件和相关联的动作清单文件的用户界面、图形用户界面或其它机构。例如,开发者计算设备106能够经由数据处理系统102的接口110上传应用包文件。数据处理系统102能够从开发者计算设备106上的位置检索应用包文件。
数据处理系统102能够从多个开发者计算设备106接收多个应用文件。应用包文件能够包括在计算设备104上分发和安装应用的指令。这些指令能够包括或指代软件代码、可执行文件、程序、脚本或函数。应用包文件还能够提供为了使应用在计算设备104上执行而必须满足的标准或系统要求。例如,应用包文件能够指定兼容性信息,诸如操作系统的类型、计算设备的类型、所需的接口(例如,键盘、鼠标、触摸屏、传感器、显示器、扬声器、麦克风)、处理器要求、存储要求或存储器要求。应用交付组件116能够使用兼容性信息选择要交付给计算设备104的应用。
每个应用包文件都能够与动作清单文件相关联。动作清单文件能够指示应用被配置成执行的动作的类型。这些动作能够被称为电子动作,因为它们由在计算设备上执行的程序执行。这些动作例如能够包括播放音频、播放视频、多媒体、提供食谱、提供新闻、提供天气信息、订购乘车共享服务、电子商务、购买机票等。
动作清单文件还能够指示应用被配置成在其上执行动作的实体。实体的集合能够被称为应用清单。动作清单文件能够为数据文件、文本文件、逗号分隔文件、表格、数据结构或任何其它文件,也可以采用被配置成指示动作和清单信息的任何格式。动作清单文件格式能够为可扩展标记语言XML文件,诸如元语言,它允许用户定义他们自己的自定义标记语言。
动作清单文件能够包括指向实体列表的指针。动作清单文件能够包括经由开发者计算设备建立的网页的统一资源定位符,并且数据处理系统102能够从开发者计算设备的网页确定实体的清单。动作清单文件能够包括对实体列表的参考、指针、URL或其它指示。例如,动作清单文件本身可能不会存储应用被配置成在其上执行一个或多个动作的实体列表,而是可能包含指向独立于动作清单文件或远离动作清单文件存储的网页或网站或其它数据文件的链接。例如,动作清单文件能够包括一组动作,但是还能够包括指向网页的URL,该网页指示应用能够在其上执行动作的实体。例如,动作能够为“播放音乐(play music)”,并且实体的清单(例如,歌曲目录)能够被存储在网页上(例如,由网络服务器144托管)。通过将实体的清单存储在网页上,开发者计算设备106能够更新清单列表,而不必向数据处理系统102提供新的动作清单文件或应用包文件,由此减少了数据处理系统102执行应用入口过程的次数,这能够减少数据处理系统102对处理器的使用。
数据处理系统102能够解析或处理动作清单文件,以识别对网页的链接或参考。网页能够包含结构化数据。结构化数据能够指代具有对HTML页面的附加标记的网页,以使漫游器、爬虫或网络爬虫更好地理解网页上的信息。数据处理系统102(例如,经由应用入口组件114)能够解析或处理网页的结构化数据,以识别开发者指示可用于应用并且应用能够使用其执行动作的实体清单。结构化数据能够指示关于实体的信息,诸如实体的唯一标识符(例如,域、属性和类型)、实体的字母数字标识符、实体的描述、与实体相关联的关键字或其它信息。
数据处理系统102能够利用网页上的结构化数据来识别实体,并且进一步利用实体图系统142来识别关于实体的附加信息。例如,数据处理系统102能够解析结构化数据以识别实体,然后访问实体图系统142以获得关于实体的附加信息。网页上的结构化数据可包括实体的唯一标识符,数据处理系统102能够使用该标识符来经由实体图系统142识别与所识别的实体相关联的其它实体。例如,能够从网页中识别实体“Artist_A”,然而数据处理系统102能够查询实体图系统142以识别与“Artist_A”相关联的专辑、歌曲、音乐会、门票或乐队。
在某些情况下,网页可能不提供实体的唯一标识符,在这种情况下,数据处理系统102能够处理网页以识别关键字或候选实体,然后查询实体图系统142以确定唯一实体标识符以及与该实体相关联的信息。例如,网页可能不包括或缺少实体的结构化清单。数据处理系统102能够基于确定网页中不存在结构化标识符模式来确定网页缺少实体的结构化清单。数据处理系统102然后能够确定网页包含未结构化的信息,然后利用实体图系统142,通过使用在网页上识别的关键字或项查询实体图142来确定实体图系统142中的相应实体,而确定哪个实体在网页上可用。数据处理系统102能够将网页上的非结构化数据与实体图系统142的结构化数据组合或整合,以识别实体和相关联的实体。因而,数据处理系统102能够处理动作清单文件、来自网页的结构化数据或来自动作清单文件中识别的网页的非结构化数据,以识别应用的实体清单以及应用被配置成执行或进行的动作。
数据处理系统102能够在索引122中存储应用的实体清单以及应用能够对实体执行的动作。索引122能够包括应用的标识符,诸如唯一应用标识符(例如,字母数字标识符)。索引122能够将应用标识符与动作和对应的实体或实体清单相关联。能够将应用配置成对一个或多个实体执行一个或多个动作。
因而,数据处理系统102能够对于应用接收动作清单文件,该动作清单文件包括具有实体的结构化标记的网页的统一资源定位符。数据处理系统102能够经由统一资源定位符访问网页,然后使用结构化的实体标记来解析网页以识别实体清单。数据处理系统102能够在数据库中将实体清单与多个应用中的至少一个相关联。
应用入口组件114能够执行验证或错误检查过程以验证或确定应用是否能够对实体执行动作。例如,数据处理系统102能够选择动作和实体,并指示应用对实体执行动作。如果应用失败、崩溃、具有延迟、利用过多的存储器、存储设备或处理,则数据处理系统102能够确定该应用未被配置成对实体执行该动作或使质量检查过程失败。响应于质量检查过程的失败,数据处理系统102能够禁用应用的动作或实体。数据处理系统102能够完全禁用应用进行后续交付。数据处理系统102能够删除(或阻止添加)应用与索引122中的动作或实体之间的关联。数据处理系统102能够将错误通知给开发者计算设备106以允许开发者补救或解决错误。
数据处理系统102能够包括安装在客户端计算设备104上的应用、脚本或程序,诸如用于将输入音频信号传送到数据处理系统102的接口110并驱动客户端设备的组件渲染输出音频信号的应用。数据处理系统102能够接收包括或识别音频输入信号的数据包或其它信号。例如,数据处理系统102能够执行或运行NLP组件112以接收或获得音频信号并解析音频信号。例如,NLP组件112能够提供人与计算机之间的交互。NLP组件112能够被配置有用于理解自然语言并允许数据处理系统102从人类或自然语言输入中导出含义的技术。NLP组件112能够包括或配置有基于机器学习(诸如统计机器学习)的技术。NLP组件112能够利用决策树、统计模型或概率模型来解析输入音频信号。NLP组件112能够执行下列功能,诸如命名实体识别(例如,给定文本流,确定文本中的哪些项目映射至诸如人或位置的适当名称,以及每个这种名称的类型是什么,诸如人、位置或组织),自然语言生成(例如,将计算机数据库中的信息或语义意图转换为可理解的人类语言),自然语言理解(例如,将文本转换为更正式的表示形式,例如计算机模块能够操纵的一阶逻辑结构),机器翻译(例如,自动将文本从一种人类语言翻译为另一种人类语言),形态学分割(例如,将单词分离为单个词素并识别词素的类别,这可能基于所考虑语言的词语的形态或结构的复杂性存在挑战),问题回答(例如,确定对人类语言问题的回答,能够为特定的或开放式的),语义处理(例如,在识别一个单词并对其含义进行编码以使所识别的单词与具有相似含义的其它单词相关之后能够进行的处理)。
NLP组件112通过将输入信号与存储的代表性音频波形集(例如,在数据存储库118中)进行比较并选择最接近的匹配,将音频输入信号转换为识别的文本。音频波形集能够被存储在数据存储库118或数据处理系统102能够访问的其它数据库中。代表性波形是在一大组用户中生成的,然后可以用来自用户的语音样本进行扩充。在音频信号被转换成识别的文本之后,NLP组件112将文本与相关联的词语匹配,例如通过跨用户的训练或通过手动指定,采用数据处理系统102能够服务的动作实现。
音频输入信号能够由客户端计算设备104的传感器134或换能器136(例如,麦克风)检测。经由换能器136、音频驱动器138或其它组件,客户端计算设备104能够向数据处理系统102(例如,经由网络105)提供音频输入信号,音频输入信号能够在数据处理系统102中(例如,通过接口110)被接收并提供给NLP组件112或存储在数据存储库118中。
NLP组件112能够获得输入音频信号。根据输入音频信号,NLP组件112能够识别至少一个请求或与该请求相对应的至少一个触发关键字。该请求能够指示输入音频信号的意图或主题。触发关键字能够指示可能采取的动作类型。例如,NLP组件112能够解析输入音频信号以识别晚上离开家参加晚餐和看电影的至少一个请求。触发关键字能够包括至少一个单词、短语、词根或部分单词,或指示要采取的动作的派生词。例如,来自输入音频信号的触发关键字“去”或“要去”能够指示需要运送。在该示例中,输入音频信号(或所识别的请求)没有直接表达运送意图,然而触发关键字指示运送是请求所指示的至少一个其它动作的辅助动作。
NLP组件112能够解析输入音频信号以识别、确定、检索或以其它方式获得请求和触发关键字。例如,NLP组件112能够将语义处理技术应用于输入音频信号以识别触发关键字或请求。NLP组件112能够将语义处理技术应用于输入音频信号以识别包括一个或多个触发关键字(诸如第一触发关键字和第二触发关键字)的触发短语。例如,输入音频信号能够包括句子“我需要某人洗衣和干洗(I need someone to do my laundry and my drycleaning)”。NLP组件112能够将语义处理技术或其它自然语言处理技术应用于包括该句子的数据包,以识别触发短语“洗衣(do my laundry)”和“干洗(do my dry cleaning)”。NLP组件112还能够识别多个触发关键字,诸如洗衣和干洗。例如,NLP组件112能够确定触发短语包括触发关键字和第二触发关键字。
NLP组件112能够识别与执行搜索或对信息的其它信息相对应的搜索查询或触发短语。NLP组件112能够确定输入音频信号对应于对关于主题、事件、当前事件、新闻事件、字典定义、历史事件、人物、地点或事物的信息的请求。例如,NLP组件112能够确定输入音频信号对应于关于历史事件的信息的搜索查询,诸如“美国大革命何时发生(When did theAmerican Revolution take place)?”。
NLP组件112能够过滤输入音频信号以识别关键字、搜索查询或触发关键字。例如,携带输入音频信号的数据包能够包括“如果我能找到可以帮助我去机场的人,那将是很棒的(It would be great if I could get someone that could help me go to theairport)”,在这种情况下,NLP组件112能够滤除下列一个或多个项:“它”、“将”、“是”、“很棒的”、“如果”、“我”、“能”、“找到”、“某人”、“那个”、“可以”或“帮助”。通过滤除这些项,NLP组件112可以更准确并可靠地识别触发关键字,诸如“去机场”,并确定这是对出租车或乘车共享服务的请求。
在另一示例中,携带输入音频信号的数据包能够包括“你可以播放Artist_A的歌曲123(Can you please play song123 by Artist_A)”,在这种情况下,NLP组件112能够滤除下列一个或多个项:“可以”、“你”、“请”。通过滤除这些项,NLP组件112可以更准确和可靠地标识触发关键字、意图、动作和实体。例如,意图能够为播放音乐,动作能够为“播放”,而实体能够为“Artist_A的音乐123”。因而,自然语言处理组件112能够通过解析和分析输入音频信号或携带输入音频信号的数据包来确定意图,以便确定动作和在其上执行动作的实体。数据处理系统102能够基于由实体图系统142提供的图数据库从输入音频信号中识别实体,实体图系统142包括实体的分层分类法,每个实体具有由域、类型和属性形成的唯一标识符。
在另一示例中,携带输入音频信号的数据包能够包括“Application_A可以播放Artist_A的歌曲123(Can Application_Aplease play song123 by Artist_A)”,在这种情况下,NLP组件112能够滤除下列一个或多个项:“可以”和“请”。通过滤除这些项,NLP组件112可以更准确和可靠地识别触发关键字、意图、动作、实体和请求的应用。例如,意图能够为播放音乐,动作能够为“播放”,实体能够为“Artist_A的歌曲123”,并且用户正在请求对实体执行动作的应用能够为“Application_A”。因而,自然语言处理组件112能够通过解析和分析输入音频信号或携带输入音频信号的数据包来确定意图,以便确定执行动作的应用以及应用在其上执行动作的实体。
因而,数据处理系统102(例如,经由接口110和自然语言处理器组件112)能够接收包括由客户端设备的传感器检测到的输入音频信号的数据包,然后解析输入音频信号以识别动作以及要在其上执行动作的实体。数据处理系统102能够识别意图,该意图能够由动作和实体形成或基于动作和实体。输入音频信号能够指示应用对实体执行动作,并且数据处理系统102能够从输入音频信号识别该应用。
数据处理系统102能够包括、执行应用交付组件116或以其它方式与应用交付组件116通信,以识别能够执行从输入音频信号识别的动作和实体的应用,然后向客户端设备提供指示,或以其它方式使得应用在实体上执行动作。例如,应用交付组件116能够识别被配置成执行从输入音频信号识别的动作的第一一个或更多应用、被配置有对从输入音频信号识别的实体的访问的多个应用中的第二一个或更多应用,并且从第一一个或更多应用和第二一个或更多应用中选择被配置成执行动作并访问从输入音频信号中识别出的实体的应用。然后数据处理系统102能够向客户端设备提供由数据处理系统选择的应用的指示,以使得客户端设备开始执行应用,从而使用在输入音频信号中识别的实体执行动作。
应用交付组件116能够实时地执行选择。实时选择过程能够在接收到请求的一定时间间隔内(例如,5秒、10秒、20秒、30秒、1分钟、2分钟、3分钟、5分钟、10分钟或20分钟)执行(例如,发起或完成)。实时内容选择过程能够在与客户端计算设备104的通信会话期间或者在通信会话终止之后的时间间隔内执行。
为了选择在实体上执行动作的应用,数据处理系统102能够识别被配置成执行动作的应用。数据处理系统102能够使用一种或多种系统或技术来识别能够执行动作的应用。例如,数据处理系统102能够在索引122中执行查找以识别与从输入音频信号中识别出的动作相关联的应用。数据处理系统102能够响应于在索引122中的查找来确定唯一的应用标识符。
数据处理系统102能够将查询输入到搜索引擎146中以识别应用。例如,数据处理系统102能够将动作输入搜索引擎146。数据处理系统102能够基于动作来构造或生成查询以识别应用。例如,查询能够为“什么应用能够执行<动作>(what applications canperform<action>)?”或“什么应用能够对<实体>执行<动作>(what applications canperform<action>on<entity>)?”或“识别能够执行关于<计算设备类型>的<动作>的应用(identify applications that can perform<action>on<computing device type>)”。数据处理系统102能够接收搜索结果。数据处理系统102能够处理结果以识别能够执行动作的一个或多个应用。
因而,数据处理系统102能够使用存储在索引122中的结构化数据以及来自搜索引擎146的非结构化web搜索结果来识别动作,以识别被配置成执行动作的一个或多个应用。数据处理系统102能够将结果整合成被配置成执行动作的第一应用集。
数据处理系统102还能够识别哪些应用被配置成对实体执行动作。数据处理系统102能够使用实体标识符在索引122中执行查找以确定哪些应用与实体相关联。数据处理系统102能够将查询输入搜索引擎以确定哪些应用能够访问实体。例如,数据处理系统102能够构造诸如“什么应用具有<实体>(what applications have<entity>)?”之类的查询。
在某些情况下,数据处理系统102能够执行或进行单个查找或搜索以识别对实体执行动作的应用,而在某些情况下,数据处理系统102能够首先识别执行动作的应用,然后确定具有对实体的访问的应用,然后识别两组结果中都包含哪些应用。例如,数据处理系统102能够构造诸如“什么应用能够对<实体>执行<动作>(what applications can perform<action>on<entity>)?”这样的查询。
因而,数据处理系统102能够基于从输入音频信号中识别出的动作和实体中的至少一个经由搜索引擎146执行web搜索,基于搜索引擎输出的web搜索结果来识别第一一个或多个应用或第二一个或多个应用中的至少一个。数据处理系统能够基于由实体图系统142提供的图数据库从输入音频信号识别实体,实体图系统142包括实体的分层分类法,每个实体都具有由域、类型和属性形成的唯一标识符。数据处理系统102能够使用从实体图系统142识别的实体,基于web搜索来识别第一一个或多个应用或第二一个或多个应用。在某些情况下,数据处理系统102能够使用索引122识别针对实体配置的动作集。数据处理系统能够基于针对实体配置的动作集来识别第二一个或多个应用。
数据处理系统102能够识别被配置成执行动作的第一应用集,以及被配置成访问实体的第二应用集。能够独立于用于识别第一应用集的过程来识别第二应用集。例如,为了减少由于计算过程引起的时延和延迟,数据处理系统102能够并行地执行多个过程或查询。数据处理系统102能够识别被配置成执行动作的第一应用集,并且能够在并行或重叠过程中识别被配置成访问实体的第二应用集。
在某些情况下,数据处理系统102能够顺序地识别第一应用集和第二应用集。例如,数据处理系统102能够识别被配置成执行动作的第一应用集,然后从第一应用集中识别第一应用集中的哪一个应用具有对实体的访问,以便生成能够对实体执行动作的应用集。数据处理系统102能够通过在第一应用集上执行与实体有关的第二搜索或过程来减少存储器或存储使用,第一应用集能够为所有可用应用的子集。
在某些情况下,数据处理系统102能够执行单个过程或查询以识别被配置成对实体执行操作的应用。例如,数据处理系统能够用多个值(例如,动作和实体)执行查找,或者用多个请求将搜索查询输入到搜索引擎中。
数据处理系统102能够将从在索引122中执行查找而获得的结果与来自搜索引擎146的结果整合。数据处理系统102能够通过确认应用是否能够对实体执行动作而验证来自搜索引擎146的结果。
如果数据处理系统102识别出能够对实体执行动作的多个应用,则数据处理系统102能够向计算设备104提供对多个应用的指示,以允许计算设备104的用户选择应用之一。如果数据处理系统102识别出能够对实体执行动作的多个应用,则数据处理系统102能够对多个应用进行排序以建议一个或多个应用。例如,数据处理系统102能够基于从输入音频信号中识别出的动作和实体中的至少一个,经由搜索引擎146执行web搜索,以识别第二多个应用。然后,数据处理系统102能够对第二多个应用中的每个应用进行排序,基于与动作相关联的性能反馈来对第二多个应用中的每个进行评分,或者基于历史偏好信息来对第二多个应用中的每个进行评分。数据处理系统102能够从第二多个应用中选择排序最高或得分最高的应用作为向客户端设备提供指示的应用。
数据处理系统102能够使用各种标准对多个应用进行排序。例如,数据处理系统102能够使用存储在性能数据结构126中的性能信息来对应用进行排序。数据处理系统102能够基于性能度量对每个应用进行评分。例如,数据处理系统102能够对最高性能的应用指配最高排序,并且对第二最高性能的应用指配第二高排序等等。
例如,数据处理系统102能够基于与应用相关联的反馈或评级或性能度量(例如,最小时延、最快启动时间、最小存储器或进程或带宽利用率)确定应用是最高性能的应用。如果数据处理系统102确定应用性能低于阈值(例如,反馈等级或其它性能度量),则数据处理系统102能够删除该应用并确定不建议该应用或将该应用包括在排序中。在某些情况下,数据处理系统102能够确定仅提供或建议排序最前的N个应用(例如,排序最前的3个应用、排序最前的2个应用或排序最前的5个应用)。
数据处理系统102能够确定计算设备104上安装了哪些应用。数据处理系统102能够基于哪些应用已经被安装在计算设备104上对应用进行排序,由此避免了计算设备104下载并安装新应用的需要。因而,来自所识别的应用集的排序最高的应用能够为已经安装在计算设备104上的应用。如果计算设备104上没有安装来自所识别的应用集的应用,则数据处理系统102能够继续基于性能对应用排序,然后向计算设备104提供指示以安装来自排序列表的应用,以便对实体执行操作。
如果输入音频信号包括应用的指示,则数据处理系统102从输入音频信号识别应用,并基于第一一个或多个应用、第二一个或多个应用以及输入音频信号来选择应用。例如,数据处理系统102能够确定在输入音频信号中识别出的应用是否被包括在由数据处理系统102识别出的、被配置成对实体执行动作的应用集中,然后在识别了匹配后选择要执行的应用。
图2是系统100整合异构数据源查询的操作200的图示。该系统能够包括图1中所示的系统100的一个或多个组件,例如包括计算设备104和数据处理系统102。在205,数据处理系统102能够接收由计算设备104检测到的输入音频信号。数据处理系统102能够接收包括输入音频信号或对输入音频信号的指示的数据包。数据处理系统102能够从输入音频信号接收预处理的项、关键字或短语。数据处理系统102能够接收输入的音频信号的滤波版本。
在210,数据处理系统102能够解析所接收的输入音频信号(或接收的输入音频信号的预处理或滤波版本)。数据处理系统102能够解析所接收的数据以识别输入音频信号中的动作和实体。数据处理系统能够使用一种或多种处理技术、机器学习或自然语言处理技术来解析与输入音频信号相对应的数据。数据处理系统102能够解析数据以识别动作和实体。动作能够在实体上执行。在某些情况下,输入音频信号还能够包括用于对实体执行动作的应用的指示。
识别动作或实体的数据处理系统102能够查询多个数据源或数据库。多个数据库或数据源能够为不同的、彼此分开、具有不同的格式、包含不同类型的数据(例如,结构化数据与非结构化数据)或其它异构数据源。在215,数据处理系统能够将多个查询发送到多个数据库或数据源,包括例如实体图系统142、Web服务器144、搜索引擎系统146或索引122。
例如,数据处理系统102能够在210用从输入音频信号中解析出的关键字或项查询实体图系统142,以便确定对应的实体。数据处理系统102能够用实体的唯一标识符来查询实体图系统142,以便确定关于该实体的附加信息或识别与该实体相关联的实体。
数据处理系统102能够响应于在索引122中识别指向具有实体列表或实体清单的网页的指针来查询Web服务器144。例如,数据处理系统102能够识别输入音频信号中的动作,在索引122中执行查找以识别被配置成执行动作的应用。然后,数据处理系统102能够识别与应用的APK文件相关联的动作清单文件。动作清单文件能够包括对由Web服务器144托管的网页的指针或参考,该指针或参考包括或指示应用能够对其执行动作的实体清单。因而,数据处理系统102能够爬行或解析网页以识别实体清单。
数据处理系统102能够查询搜索引擎146以识别应用。数据处理系统102能够构造搜索查询以识别能够通过解析输入音频信号来执行在210确定的动作的应用。数据处理系统能够构造搜索查询以识别能够通过解析输入音频信号来对在210确定的实体执行动作的应用。
在215,数据处理系统102能够接收对发送到多个数据库、系统或数据源的多个查询的响应。在220,数据处理系统能够整合这些响应以生成、识别或确定被配置成对输入音频信号中所请求或指示的实体执行动作的一个或多个应用。整合这些响应能够指代或包括识别被配置成执行动作的第一应用集、被配置成访问实体的第二应用集,以及包括在被配置成对实体执行动作的第一集和第二集中的最后应用集。
整合这些响应能够指代或包括基于响应生成附加查询。例如,数据处理系统102能够查询索引122以使用动作来执行查找从而识别应用集。数据处理系统102还能够使用动作来查询搜索引擎146,以经由搜索引擎结果页面来识别应用。因而,数据处理系统102能够查询两个不同的数据库、数据源或系统,以便识别能够执行动作的应用。数据处理系统102能够经由搜索引擎146确定执行动作的排序最高的应用是Application_A和Application_B。数据处理系统102能够通过在索引122中查找来确定存在二十个不同的应用,这些应用经由相应的动作清单文件指示它们被配置成执行动作。数据处理系统102能够基于来自搜索引擎146的搜索引擎结果确定对Application_A和Application_B进行排序、评分或加权。
在整合查询的另一示例中,数据处理系统102能够用动作和实体查询索引122,以识别能够对实体执行动作的应用。数据处理系统102还能够经由查找来识别指向由web服务器144托管的网页的指针。然后,数据处理系统102能够访问web服务器144上的网页以对网页进行爬网以识别网页中列出的实体,并为应用生成实体清单。数据处理系统102能够将从网页确定的实体列表以及与索引122中的应用相关联的实体进行整合。数据处理系统102能够将索引122更新为包括从解析网页中获得的实体。
通过整合对来自异构数据源(例如,具有不同类型数据的不同类型的数据源)的查询的响应,数据处理系统102能够识别被配置成对在输入音频信号中请求的实体执行动作的一个或多个应用。在225,数据处理系统102能够选择应用以对实体执行动作。数据处理系统102能够选择一个或多个应用以建议对实体执行动作。数据处理系统102能够基于对所识别的应用进行排序或对所识别的应用评分来选择应用。例如,数据处理系统102能够基于性能信息、偏好信息、搜索引擎146结果、反馈或其它因素(诸如,已经在计算设备104上安装了哪些应用)来对应用进行排序或评分。
在230,数据处理系统能够将对所选应用的指示发送到计算设备104。在某些情况下,数据处理系统102能够在235发送包括使得计算设备执行应用以对实体执行动作(例如,启动Application_A以播放标题为“Song_A”的歌曲)的命令或指令的指示。在某些情况下,数据处理系统102能够发送包括计算设备104能够经由显示器或音频接口)呈现给用户的多个建议的应用的指示,然后用户能够在235选择要在计算设备104上启动或执行的应用。
在某些情况下,指示能够包括到应用内的实体的深层链接。选择深层链接能够使得应用启动并引导应用打开或执行应用内的实体。
图3是用于整合异构数据源的示例方法的图示。方法300能够由系统100、200或系统400的一个或多个组件、系统、或元件来执行。方法300能够包括在305接收和处理应用包文件。数据处理系统能够从多个开发者计算设备接收应用包文件。应用包文件能够包括在多个计算设备上分发和安装多个应用的指令。每个应用包文件都能够与动作清单文件相关联。数据处理系统能够处理动作清单文件以识别应用执行的一个或多个电子动作以及应用在其上执行一个或多个电子动作的对应的一个或多个实体。
在310,数据处理系统能够接收并解析输入音频信号。数据处理系统能够经由数据处理系统的接口接收与由客户端设备的传感器检测到的输入音频信号相对应的数据包。数据处理系统能够(例如,经由自然语言处理技术)解析输入音频信号,以识别动作和对其执行动作的实体。
在315,数据处理系统能够基于动作和实体来识别一个或多个应用。数据处理系统能够识别被配置成执行从输入音频信号中识别出的动作的第一一个或多个应用。数据处理系统能够基于动作清单文件来识别能够访问从输入音频信号中识别出的实体的多个应用中的第二一个或多个应用。在320,数据处理系统能够(例如,基于排序或评分过程)从第一一个或多个应用和第二一个或多个应用中选择被配置成执行动作并访问从输入音频信号中识别出的实体的应用。
在325,数据处理系统能够提供对所选应用的指示。数据处理系统能够向客户端设备提供对由数据处理系统选择的应用的指示,以使得客户端设备发起应用的执行以使用在输入音频信号中识别出的实体来执行动作。指示能够包括到应用的实体的深层链接,以使得客户端计算设备执行或启动深层链接,以直接将应用打开到包含该实体的应用的视图或部分。
图4是示例计算机系统400的方框图。计算机系统或计算设备400能够包括或用于实现系统100或其组件,诸如数据处理系统102。计算系统400包括总线405或用于信息通信的其它通信组件以及耦合到总线405以处理信息的处理器410或处理电路。计算系统400还能够包括一个或多个处理器410或耦合到总线以处理信息的处理电路。计算系统400还包括主存储器415,诸如随机存取存储器(RAM)或其它动态存储设备,其耦合到总线405以存储信息以及将由处理器410执行的指令。主存储器415能够为或包括数据存储库118。主存储器415也能够用于存储位置信息、临时变量或处理器410执行指令期间的其它中间信息。计算系统400还可包括只读存储器(ROM)420或耦合到总线405的其它静态存储设备,以存储用于处理器410的静态信息和指令。诸如固态设备、磁盘或光盘之类的存储设备425能够耦合到总线405,以持久地存储信息和指令。存储设备425能够包括数据存储库118或作为数据存储库118的一部分。
计算系统400可以经由总线405耦合到显示器435,诸如液晶显示器或有源矩阵显示器,以向用户显示信息。输入设备430,诸如包括字母数字和其它按键的键盘,可以耦合到总线405,以将信息和命令选择传达给处理器410。输入设备430能够包括触摸屏显示器435。输入设备430还能够包括光标控件,诸如鼠标、轨迹球或光标方向键,以将方向信息和命令选择传达给处理器410,并控制光标在显示器435上的移动。例如,显示器435能够为数据处理系统102、客户端计算设备104或图1的其它组件的一部分。
本文所述的过程、系统和方法能够由计算系统400响应于处理器410执行包含在主存储器415中的指令的布置来实现。这些指令能够从另一计算机可读介质,诸如存储设备425读入主存储器415中。执行包含在主存储器415中的指令布置使计算系统400执行本文所述的说明性过程。也可以采用多处理布置中的一个或多个处理器来执行包含在主存储器415中的指令。能够使用硬连线电路代替软件指令,或硬连线电路能够与软件指令以及本文所述的系统和方法结合在一起。本文所述的系统和方法不限于硬件电路和软件的任何特定组合。
虽然在图4中已经描述了示例计算系统,但是包括在本说明书中所述的操作的主题能够以其它类型的数字电子电路,或以计算机软件、固件或硬件实现,包括在本说明书中公开的结构及其结构等效物,或者以它们中的一个或多个的组合来实现。
对于其中本文讨论的系统收集有关用户的个人信息或可能利用个人信息的情况,可以向用户提供控制程序或特征是否可以收集个人信息(例如,有关用户的社交网络、社交动作或活动、用户的偏好或用户的位置的信息),或控制是否或如何从内容服务器或其它数据处理系统接收与用户可能更相关的信息。另外,某些数据可以在被存储或使用之前以一种或多种方式匿名化,以便在生成参数时删除个人可识别信息。例如,可以对用户的身份进行匿名处理,以便无法确定用户的任何个人可识别信息,或者可以在获得位置信息(诸如城市、邮政编码或州级别)的情况下概括用户的地理位置,以便不能确定用户的特定位置。因而,用户可以控制如何收集有关他或她的信息以及该信息如何由内容服务器使用。
本说明书中所述的主题和操作能够以数字电子电路或以计算机软件、固件或硬件来实现,包括本说明书中公开的结构及其结构等效物,或者以其一种或多种的组合来实现。本说明书中所述的主题能够被实现为一个或多个计算机程序,例如,计算机程序指令的一个或多个电路,其被编码在一个或多个计算机存储介质上,以由数据处理装置执行或控制数据处理装置的操作。可替选地或另外,程序指令能够被编码在人工产生的传播信号上,例如机器产生的电、光或电磁信号,这些信号被产生为对信息进行编码从而传输到合适的接收器装置从而由数据处理装置执行。计算机存储介质能够为机器可读存储设备、机器可读存储基板、随机或串行访问存储器设备或它们中的一个或多个的组合。虽然计算机存储介质不是传播的信号,但是计算机存储介质能够为以人工生成的传播信号编码的计算机程序指令的来源或目的地。计算机存储介质还能够为一个或多个单独的组件或介质(例如,多个CD、磁盘或其它存储设备)或被包含在其中。本说明书中所述的操作能够被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其它来源接收到的数据执行的操作。
术语“数据处理系统”、“计算设备”、“组件”或“数据处理装置”涵盖用于处理数据的各种装置、设备和机器,例如包括可编程处理器、计算机、系统芯片或多个芯片,或上述的组合。该装置能够包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(应用专用集成电路)。除了硬件之外,该装置还能够包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时的环境、虚拟机或其中一个或多个的组合的代码。该装置和执行环境能够实现各种不同的计算模型基础结构,诸如网络服务、分布式计算和网格计算基础结构。应用入口组件114、应用交付组件116或NLP组件112以及其它数据处理系统102组件能够包括或共享一个或多个数据处理装置、系统、计算设备或处理器。
计算机程序(也可以称为或描述为程序、软件、软件应用、应用、脚本或代码)能够用任何形式的编程语言编写,包括编译或解释性语言,声明性或过程语言,并且能够以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适用于计算环境的其它单元。计算机程序能够但不必对应于文件系统中的文件。计算机程序能够存储在保存其它程序或数据的文件的一部分中(例如被存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。能够将计算机程序部署成在一台计算机上或在位于一个站点或分布在多个站点上并由通信网络互连的多台计算机上执行。
本说明书中所述的过程和逻辑流程能够由执行一个或多个计算机程序的一个或多个可编程计算机(例如,数据处理系统102的组件)来执行,从而通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也能够由专用逻辑电路执行,并且这些装置也能够被实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(应用专用集成电路)。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器能够由专用逻辑电路补充或被并入专用逻辑电路中。
本文所述的主题能够在下列计算系统中实现,其包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件,例如具有用户能够通过其与本说明书中所述的主题的实现进行交互的图形用户界面或Web浏览器的客户端计算机,或者一个或更多这些后端、中间件或前端组件中的任何组合。系统的组件能够通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、因特网(例如Internet),以及对等网络(例如,多跳对等网络)。
诸如系统100或系统400之类的计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络(例如,网络105)进行交互。客户端和服务器之间的关系是通过在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。在一些实施方式中,服务器将数据(例如,表示数字组件的数据包)发送到客户端设备(例如,出于向与客户端设备交互的用户显示数据并从中接收用户输入的目的)。能够在服务器处从客户端设备接收(例如,由数据处理系统102从计算设备104或开发者计算设备106接收)在客户端设备处生成的数据(例如,用户交互的结果)。
尽管操作在附图中是以特定顺序示出的,但是不需要以所示的特定顺序或以顺序来执行这些操作,并且不需要执行所有示出的操作。本文所述的动作能够以不同的顺序执行。
各个系统组件的分离不需要在所有实施方式中都分离,并且所描述的程序组件能够被包括在单个硬件或软件产品中。例如,NLP组件112或应用交付组件116能够为单个组件、应用或程序,或者是具有一个或多个处理电路的逻辑设备,或者是数据处理系统102的一个或多个服务器的一部分。
现在已经描述了一些说明性实施方式,很明显,前述内容是说明性的而不是限制性的,已经以示例的方式给出了。特别地,尽管本文呈现的许多示例涉及方法动作或系统元件的特定组合,但是可以以其他方式组合那些动作和那些元件以实现相同的目标。结合一个实施方式所讨论的行为、要素和特征无意被排除在其它实施方式中的类似角色或实施方式之外。
本文使用的措词和术语是出于描述的目的,并且不应被视为限制。本文中“包括…”、“包含…”、“具有…”、“含有…”、“涉及…”、“其特征在于”、“特征在于”及其变体的使用意在涵盖其后列出的项目、其等同物以及另外的项目,以及仅由其后列出的项目组成的可替选实施方式。在一种实施方式中,本文所述的系统和方法由所述元件、动作或组件中的一个、超过一个或全体的每种组合组成。
对本文中以单数形式提及的系统和方法的实施方式或元素或动作的任何引用也可以包括具有多个这些元素的实施方式,并且在本文中以复数形式对任何实施方式或元素或动作的任何引用也可以包含仅包括单个元素的实施方式。单数或复数形式的引用无意将当前公开的系统或方法、它们的组件、动作或元件限于单个或多个配置。对基于任何信息、动作或元素的任何动作或元素的引用可以包括其中该动作或元素至少部分地基于任何信息、动作或元素的实施方式。
本文公开的任何实施方式可以与任何其它实施方式或实施例组合,并且对“一种实施方式”、“一些实施方式”、“一个实施方式”等的引用不一定是互斥的,并且旨在指示结合实施方式描述的特定特征、结构或特性可被包括在至少一种实施方式或实施例中。本文中所使用的这些术语不一定全部指代相同的实施方式。任何实施方式都可以以与本文公开的方面和实施方式一致的任何方式与其它实施方式包含在内地或排他地组合。
对“或”的引用可以被解释为包括性的,使得使用“或”描述的任何术语可以指示单个、一个以上以及所有所描述的术语中的任何一个。例如,对“‘A’”和‘B’中的至少一个”的引用能够仅包括‘A’,仅包括‘B’,并且包括‘A和B’。结合“包含…”或其它开放式术语使用的此类引用能够包括其它项目。
在附图、详细描述或任何权利要求中的技术特征之后是附图标记的情况下,已经包括了附图标记以增加附图、详细描述和权利要求的可理解性。因而,附图标记或它们的不存在对任何权利要求要素的范围没有任何限制作用。
本文所述的系统和方法可以以其它特定形式来体现而不背离其特征。上述实施方式是说明性的,而不是限制所述的系统和方法。因而,本文所描述的系统和方法的范围由所附权利要求而不是前述描述来指示,并且在权利要求的等同含义和范围内的改变被包含在其中。

Claims (38)

1.一种用于整合异构数据源查询的系统,包括:
数据处理系统,所述数据处理系统包括一个或多个处理器和存储器;
所述数据处理系统的应用入口组件,所述应用入口组件用于:
对于多个动作清单文件中的每个,处理所述动作清单文件以识别与所述动作清单文件相关联的相应的应用执行的一个或多个电子动作以及对应的一个或多个实体,所述相应的应用在所述对应的一个或多个实体上执行所述一个或多个电子动作;
所述数据处理系统的自然语言处理器组件,所述自然语言处理器组件用于:
经由所述数据处理系统的接口和网络接收数据包,所述数据包包括由客户端设备的传感器检测到的输入音频信号;
解析所述输入音频信号以及查询多个数据源以识别动作和所述动作所执行于的实体;
所述数据处理系统的应用交付组件,所述应用交付组件用于:
基于所述动作清单文件选择与所述动作清单文件相关联的所述相应的应用中的一个或多个应用,所述一个或多个应用被配置有对从所述输入音频信号识别出的所述实体的访问并且被配置成执行在所述输入音频信号中识别出的动作;和
向所述客户端设备提供由所述数据处理系统选择的所述一个或多个应用的指示,以使得所述客户端设备发起所述一个或多个应用的执行以使用在所述输入音频信号中识别出的所述实体来执行所述动作。
2.根据权利要求1所述的系统,包括:
所述数据处理系统用于接收包括可扩展标记语言文件的动作清单文件。
3.根据权利要求1所述的系统,包括:
所述数据处理系统用于接收包括指向实体列表的指针的动作清单文件。
4.根据权利要求1所述的系统,包括所述数据处理系统用于:
针对所述相应的应用中的至少一个应用,接收包括到经由开发者计算设备建立的网页的统一资源定位符的动作清单文件;和
从所述开发者计算设备的所述网页确定实体清单。
5.根据权利要求1所述的系统,包括所述数据处理系统用于:
针对所述相应的应用中的至少一个应用,接收包括到包括实体的结构化标记的网页的统一资源定位符的动作清单文件;
经由所述统一资源定位符访问所述网页;
解析具有实体的结构化标记的所述网页,以识别实体清单;
在数据库中将所述实体清单与所述多个应用中的所述至少一个应用相关联。
6.根据权利要求1所述的系统,包括所述数据处理系统用于:
从所述输入音频信号识别所述一个或多个应用中的所识别的应用;和
基于所述一个或多个应用以及所述输入音频信号来选择所识别的应用。
7.根据权利要求1所述的系统,包括所述数据处理系统用于:
基于从所述输入音频信号识别出的所述实体和所述动作中的至少一个,经由搜索引擎执行web搜索;和
基于由所述搜索引擎输出的所述web搜索的结果,识别所述一个或多个应用中的至少一个。
8.根据权利要求1所述的系统,其中,基于所述动作清单文件选择所述一个或多个应用包括所述数据处理系统用于:
基于从所述输入音频信号识别出的所述实体和所述动作中的至少一个,经由搜索引擎执行web搜索,以识别所述一个或多个应用;
对所述一个或多个应用中的每个应用进行排序;以及
从所述一个或多个应用中选择排序最高的应用作为向所述客户端设备提供所述指示的应用。
9.根据权利要求1所述的系统,其中,基于所述动作清单文件选择所述一个或多个应用包括所述数据处理系统用于:
基于从所述输入音频信号识别出的所述实体和所述动作中的至少一个,经由搜索引擎执行web搜索,以识别所述一个或多个应用;
基于与所述动作相关联的性能反馈对所述一个或多个应用中的每个应用进行评分;以及
从所述一个或多个应用中选择评分最高的应用作为向所述客户端设备提供所述指示的应用。
10.根据权利要求1所述的系统,其中,基于所述动作清单文件选择所述一个或多个应用包括所述数据处理系统用于:
基于从所述输入音频信号识别出的所述实体和所述动作中的至少一个,经由搜索引擎执行web搜索,以识别所述一个或多个应用;
基于用于所述动作的与所述客户端设备相关联的历史偏好信息来对所述一个或多个应用中的每个应用进行评分;以及
从所述一个或多个应用中选择评分最高的应用作为向所述客户端设备提供所述指示的应用。
11.根据权利要求1所述的系统,包括:
所述数据处理系统用于基于包括实体的分层分类法的图形数据库从所述输入音频信号中识别实体,每个实体具有由域、类型和属性形成的唯一标识符。
12.根据权利要求1所述的系统,包括所述数据处理系统用于:
基于包括实体的分层分类法的图形数据库从所述输入音频信号中识别实体,每个实体具有由域、类型和属性形成的唯一标识符;和
使用所述实体基于web搜索来识别所述一个或多个应用。
13.根据权利要求1所述的系统,包括:
基于包括实体的分层分类法的图形数据库从所述输入音频信号中识别实体,每个实体具有由域、类型和属性形成的唯一标识符;
经由数据库识别被配置用于所述实体的动作集;和
基于被配置用于所述实体的所述动作集来识别所述一个或多个应用。
14.一种用于整合异构数据源查询的方法,包括:
对于多个动作清单文件中的每个,通过数据处理系统处理所述动作清单文件,以识别与所述动作清单文件相关联的相应的应用执行的一个或多个电子动作以及对应的一个或多个实体,所述相应的应用在所述对应的一个或多个实体上执行所述一个或多个电子动作;
经由所述数据处理系统的接口和网络接收数据包,所述数据包包括由客户端设备的传感器检测到的输入音频信号;
通过所述数据处理系统解析所述输入音频信号以及查询多个数据源以识别动作以及在其上执行所述动作的实体;
通过所述数据处理系统基于所述动作清单文件选择与所述动作清单文件相关联的所述相应的应用中的一个或多个应用,所述一个或多个应用被配置有对从所述输入音频信号识别出的实体的访问并且被配置成执行在所述输入音频信号中识别出的动作;以及
通过所述数据处理系统向所述客户端设备提供由所述数据处理系统选择的所述一个或多个应用的指示,以使得所述客户端设备发起所述一个或多个应用的执行以使用在所述输入音频信号中识别出的所述实体来执行所述动作。
15.根据权利要求14所述的方法,包括:
通过所述数据处理系统接收包括可扩展标记语言文件的动作清单文件。
16.根据权利要求14所述的方法,包括:
通过所述数据处理系统接收包括指向实体列表的指针的动作清单文件。
17.根据权利要求14所述的方法,包括:
针对所述相应的应用中的至少一个应用,通过所述数据处理系统接收包括到经由开发者计算设备建立的网页的统一资源定位符的动作清单文件;和
通过所述数据处理系统从所述开发者计算设备的所述网页确定实体清单。
18.根据权利要求14所述的方法,包括:
针对所述相应的应用中的至少一个应用,通过所述数据处理系统接收包括到包括实体的结构化标记的网页的统一资源定位符的动作清单文件;
通过所述数据处理系统经由所述统一资源定位符访问所述网页;
通过所述数据处理系统解析具有实体的结构化标记的所述网页,以识别实体清单;以及
通过所述数据处理系统在数据库中将所述实体清单与所述多个应用中的至少一个应用相关联。
19.根据权利要求14所述的方法,包括所述数据处理系统用于:
从所述输入音频信号识别所述应用;和
基于所述一个或多个应用以及所述输入音频信号来选择所述应用。
20.根据权利要求14所述的方法,包括:
基于从所述输入音频信号识别出的所述实体和所述动作中的至少一个,经由搜索引擎执行web搜索;和
基于由所述搜索引擎输出的所述web搜索的结果,识别所述一个或多个应用中的至少一个。
21.一种由客户端设备的一个或多个处理器实现的方法,所述方法包括:
经由所述客户端设备的传感器检测输入音频信号;
向数据处理系统传送基于所述输入音频信号的数据;
从所述数据处理系统接收至少一个应用的指示;以及
响应于接收所述指示而启动所述至少一个应用,
其中:
所述输入音频信号被解析并且多个数据源被查询以识别动作和所述动作所执行于的实体;以及
所述至少一个应用被配置有对从所述输入音频信号识别出的所述实体的访问并且被配置成执行在所述输入音频信号中识别出的动作。
22.根据权利要求21所述的方法,其中,所述至少一个应用的所述指示包括使得所述应用被启动并且打开或执行所述至少一个应用内的实体的深度链接。
23.根据权利要求21所述的方法,其中:
所述至少一个应用是基于动作清单文件选择的;以及
每个动作清单文件被处理以识别由与所述动作清单文件相关联的相应的应用执行的一个或多个电子动作以及对应的一个或多个实体,所述相应的应用在所述对应的一个或多个实体上执行所述一个或多个电子动作。
24.根据权利要求23所述的方法,其中,所述动作清单文件包括可扩展标记语言文件。
25.根据权利要求23所述的方法,其中,所述动作清单文件包括指向实体列表的指针。
26.根据权利要求21所述的方法,其中:
基于从所述输入音频信号识别出的所述实体和所述动作中的至少一个,经由搜索引擎执行web搜索;和
基于由所述搜索引擎输出的所述web搜索的结果,识别所述至少一个。
27.一种计算机呈现产品,包括一个或多个计算机可读存储介质,在所述一个或多个计算机可读存储介质上共同地存储程序指令,所述程序指令可执行以用于:
经由客户端设备的传感器检测输入音频信号;
向数据处理系统传送基于所述输入音频信号的数据;
从所述数据处理系统接收至少一个应用的指示;以及
响应于接收所述指示而启动所述至少一个应用,
其中:
所述输入音频信号被解析并且多个数据源被查询以识别动作和所述动作所执行于的实体;以及
所述至少一个应用被配置有对从所述输入音频信号识别出的所述实体的访问并且被配置成执行在所述输入音频信号中识别出的动作。
28.根据权利要求27所述的计算机呈现产品,其中,所述至少一个应用的所述指示包括使得所述应用被启动并且打开或执行所述至少一个应用内的实体的深度链接。
29.根据权利要求27所述的计算机呈现产品,其中:
所述至少一个应用是基于动作清单文件选择的;以及
每个动作清单文件被处理以识别由与所述动作清单文件相关联的相应的应用执行的一个或多个电子动作以及对应的一个或多个实体,所述相应的应用在所述对应的一个或多个实体上执行所述一个或多个电子动作。
30.根据权利要求29所述的计算机呈现产品,其中,所述动作清单文件包括可扩展标记语言文件。
31.根据权利要求29所述的计算机呈现产品,其中,所述动作清单文件包括指向实体列表的指针。
32.根据权利要求27所述的计算机呈现产品,其中:
基于从所述输入音频信号识别出的所述实体和所述动作中的至少一个,经由搜索引擎执行web搜索;和
基于由所述搜索引擎输出的所述web搜索的结果,识别所述至少一个。
33.一种系统,包括:
处理器、计算机可读存储器、一个或多个计算机可读存储介质和程序指令,所述程序指令共同地存储在所述一个或多个计算机可读存储介质上,所述程序指令可执行以用于:
经由客户端设备的传感器检测输入音频信号;
向数据处理系统传送基于所述输入音频信号的数据;
从所述数据处理系统接收至少一个应用的指示;以及
响应于接收所述指示而启动所述至少一个应用,
其中:
所述输入音频信号被解析并且多个数据源被查询以识别动作和所述动作所执行于的实体;以及
所述至少一个应用被配置有对从所述输入音频信号识别出的所述实体的访问并且被配置成执行在所述输入音频信号中识别出的动作。
34.根据权利要求33所述的系统,其中,所述至少一个应用的所述指示包括使得所述应用被启动并且打开或执行所述至少一个应用内的实体的深度链接。
35.根据权利要求33所述的系统,其中:
所述至少一个应用是基于动作清单文件选择的;以及
每个动作清单文件被处理以识别由与所述动作清单文件相关联的相应的应用执行的一个或多个电子动作以及对应的一个或多个实体,所述相应的应用在所述对应的一个或多个实体上执行所述一个或多个电子动作。
36.根据权利要求35所述的系统,其中,所述动作清单文件包括可扩展标记语言文件。
37.根据权利要求35所述的系统,其中,所述动作清单文件包括指向实体列表的指针。
38.根据权利要求33所述的系统,其中:
基于从所述输入音频信号识别出的所述实体和所述动作中的至少一个,经由搜索引擎执行web搜索;和
基于由所述搜索引擎输出的所述web搜索的结果,识别所述至少一个。
CN202410273350.9A 2018-11-21 2019-02-06 将来自查询的响应整合到异构数据源 Pending CN118193762A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862770338P 2018-11-21 2018-11-21
US62/770,338 2018-11-21
CN201980002151.1A CN111465932B (zh) 2018-11-21 2019-02-06 将来自查询的响应整合到异构数据源
PCT/US2019/016917 WO2020106314A1 (en) 2018-11-21 2019-02-06 Consolidation of responses from queries to disparate data sources

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980002151.1A Division CN111465932B (zh) 2018-11-21 2019-02-06 将来自查询的响应整合到异构数据源

Publications (1)

Publication Number Publication Date
CN118193762A true CN118193762A (zh) 2024-06-14

Family

ID=65520411

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201980002151.1A Active CN111465932B (zh) 2018-11-21 2019-02-06 将来自查询的响应整合到异构数据源
CN202410273350.9A Pending CN118193762A (zh) 2018-11-21 2019-02-06 将来自查询的响应整合到异构数据源

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201980002151.1A Active CN111465932B (zh) 2018-11-21 2019-02-06 将来自查询的响应整合到异构数据源

Country Status (6)

Country Link
US (3) US11429665B2 (zh)
EP (1) EP3676728B1 (zh)
JP (2) JP7135099B2 (zh)
KR (2) KR20220118564A (zh)
CN (2) CN111465932B (zh)
WO (1) WO2020106314A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7135099B2 (ja) 2018-11-21 2022-09-12 グーグル エルエルシー 異種のデータソースへのクエリからの応答の統合
US11743105B2 (en) * 2019-06-03 2023-08-29 Hewlett Packard Enterprise Development Lp Extracting and tagging text about networking entities from human readable textual data sources and using tagged text to build graph of nodes including networking entities
KR102333994B1 (ko) 2020-12-11 2021-12-02 주식회사 데이터위즈 교통 수집 데이터 제공 시스템의 교통 수집 데이터 제공 방법
US20230267928A1 (en) * 2021-05-18 2023-08-24 Google Llc Indexing Application Actions for Voice-Based Execution
US20230195745A1 (en) * 2021-12-22 2023-06-22 Microsoft Technology Licensing, Llc Unified search for dual domains

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7073172B2 (en) * 1998-09-21 2006-07-04 Microsoft Corporation On demand patching of applications via software implementation installer mechanism
US7203737B2 (en) * 2001-10-31 2007-04-10 Microsoft Corporation Computer system with file association and application retrieval
US11017428B2 (en) * 2008-02-21 2021-05-25 Google Llc System and method of data transmission rate adjustment
US9043919B2 (en) 2008-10-21 2015-05-26 Lookout, Inc. Crawling multiple markets and correlating
US8713003B2 (en) * 2009-07-24 2014-04-29 Peer Belt Inc. System and method for ranking content and applications through human assistance
US9405848B2 (en) * 2010-09-15 2016-08-02 Vcvc Iii Llc Recommending mobile device activities
US8762360B2 (en) * 2011-05-06 2014-06-24 Microsoft Corporation Integrating applications within search results
US8626774B2 (en) * 2012-01-23 2014-01-07 Qualcomm Innovation Center, Inc. Location based apps ranking for mobile wireless computing and communicating devices
US20130226892A1 (en) * 2012-02-29 2013-08-29 Fluential, Llc Multimodal natural language interface for faceted search
US9060329B2 (en) * 2012-06-06 2015-06-16 Blackberry Limited Methods and apparatus for use in facilitating communication for different types of wireless networks
US9449104B2 (en) * 2012-07-02 2016-09-20 At&T Intellectual Property I, L.P. Method and apparatus for deriving and using trustful application metadata
US20140006418A1 (en) * 2012-07-02 2014-01-02 Andrea G. FORTE Method and apparatus for ranking apps in the wide-open internet
US8612470B1 (en) * 2012-12-28 2013-12-17 Dropbox, Inc. Application recommendation using stored files
US9959360B2 (en) 2013-03-01 2018-05-01 Samsung Electronics Co., Ltd. Generating search results containing state links to applications
JP6236805B2 (ja) 2013-03-05 2017-11-29 日本電気株式会社 発話コマンド認識システム
US9384732B2 (en) 2013-03-14 2016-07-05 Microsoft Technology Licensing, Llc Voice command definitions used in launching application with a command
US20140282493A1 (en) * 2013-03-15 2014-09-18 Quixey, Inc System for replicating apps from an existing device to a new device
US11030239B2 (en) * 2013-05-31 2021-06-08 Google Llc Audio based entity-action pair based selection
US20140379334A1 (en) * 2013-06-20 2014-12-25 Qnx Software Systems Limited Natural language understanding automatic speech recognition post processing
KR102263813B1 (ko) * 2013-09-05 2021-06-14 크라운 이큅먼트 코포레이션 동적 오퍼레이터 거동 분석기
US10275505B2 (en) * 2014-06-24 2019-04-30 Adobe Inc. In-application conversion of file versions using cloud services
US9959129B2 (en) 2015-01-09 2018-05-01 Microsoft Technology Licensing, Llc Headless task completion within digital personal assistants
US20170060864A1 (en) * 2015-08-26 2017-03-02 Quixey, Inc. Action Recommendation System for Focused Objects
CA2951529A1 (en) * 2015-12-11 2017-06-11 Capital One Services, Llc Systems and methods for voice-controlled account servicing
US10120882B2 (en) * 2016-02-17 2018-11-06 Google Llc Methods, systems, and media for storing information associated with content presented on a media presentation device
US10049670B2 (en) * 2016-06-06 2018-08-14 Google Llc Providing voice action discoverability example for trigger term
US11200510B2 (en) * 2016-07-12 2021-12-14 International Business Machines Corporation Text classifier training
US10708313B2 (en) * 2016-12-30 2020-07-07 Google Llc Multimodal transmission of packetized data
US9865260B1 (en) 2017-05-03 2018-01-09 Google Llc Proactive incorporation of unsolicited content into human-to-computer dialogs
JP7135099B2 (ja) 2018-11-21 2022-09-12 グーグル エルエルシー 異種のデータソースへのクエリからの応答の統合

Also Published As

Publication number Publication date
JP2022173219A (ja) 2022-11-18
KR20220118564A (ko) 2022-08-25
EP3676728A1 (en) 2020-07-08
CN111465932B (zh) 2024-04-02
US20210334305A1 (en) 2021-10-28
CN111465932A (zh) 2020-07-28
JP7481404B2 (ja) 2024-05-10
WO2020106314A1 (en) 2020-05-28
JP2021526673A (ja) 2021-10-07
KR102435433B1 (ko) 2022-08-24
US20220309098A1 (en) 2022-09-29
US11748402B2 (en) 2023-09-05
KR20200134311A (ko) 2020-12-01
US20230401253A1 (en) 2023-12-14
EP3676728B1 (en) 2023-11-29
JP7135099B2 (ja) 2022-09-12
US11429665B2 (en) 2022-08-30

Similar Documents

Publication Publication Date Title
US10832008B2 (en) Computerized system and method for automatically transforming and providing domain specific chatbot responses
CN111465932B (zh) 将来自查询的响应整合到异构数据源
CN110692042B (zh) 在基于音频的计算环境中执行请求的动作的平台选择
EP3847546A1 (en) Interfacing with applications via dynamically updating natural language processing
US20220308987A1 (en) Debugging applications for delivery via an application delivery server
US20230352017A1 (en) Platform selection for performing requested actions in audio-based computing environments
EP3669283B1 (en) Network source identification via audio signals
US11385990B2 (en) Debugging applications for delivery via an application delivery server
JP2009151541A (ja) 検索システムにおける最適情報の提示方法

Legal Events

Date Code Title Description
PB01 Publication