CN110362727A - 用于搜索***的第三方搜索应用 - Google Patents

用于搜索***的第三方搜索应用 Download PDF

Info

Publication number
CN110362727A
CN110362727A CN201910521635.9A CN201910521635A CN110362727A CN 110362727 A CN110362727 A CN 110362727A CN 201910521635 A CN201910521635 A CN 201910521635A CN 110362727 A CN110362727 A CN 110362727A
Authority
CN
China
Prior art keywords
party
inquiry
response
search
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910521635.9A
Other languages
English (en)
Other versions
CN110362727B (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
Priority to CN201910521635.9A priority Critical patent/CN110362727B/zh
Publication of CN110362727A publication Critical patent/CN110362727A/zh
Application granted granted Critical
Publication of CN110362727B publication Critical patent/CN110362727B/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Artificial Intelligence (AREA)

Abstract

本申请涉及用于搜索***的第三方搜索应用。***和方法提供了一种具有第三方提供的搜索应用的搜索***,所述搜索应用响应于所指定的查询而被触发并且在该搜索***上运行。例如,一种方法可以包括:确定查询触发了搜索***处所托管的第三方搜索应用;基于查询模板从所述查询提取参数;在搜索***处利用所述参数以沙箱方式执行所述第三方搜索应用以针对所述查询生成第三方格式化的应答;以及提供所述第三方格式化的应答作为所述查询的搜索结果。第三方可提供查询模板、参数属性、和所述第三方格式化的应答。第三方搜索应用可被存储在搜索***处并且包括查询模板、数据存储、参数属性、以及所述参数访问数据存储的指令。

Description

用于搜索***的第三方搜索应用
分案说明
本申请属于申请日为2014年7月15日的中国发明专利申请No.201480040539.8的分案申请。
相关申请
本申请要求于2013年7月17日提交的题为“THIRD PARTY SEARCH APPLICATIONSFOR A SEARCH SYSTEM(用于搜索***的第三方搜索应用)”的美国临时专利申请序列号61/847,371以及2013年8月6日提交的题为“THIRD PARTY SEARCH APPLICATIONS FOR ASEARCH SYSTEM(用于搜索***的第三方搜索应用)”的美国非临时专利申请序列号13/960,302的优先权。这些早前提交的申请的主题通过引用并入本文。
技术领域
本申请涉及第三方搜索应用,并且更具体地涉及具有第三方提供的搜索应用的搜索***的***和方法。
背景技术
搜索引擎或搜索***是发现信息的流行方法。传统上,搜索引擎在语料库中抓取文档、生成文档的倒排索引、并且使用该索引来确定向搜索查询响应哪些文档。搜索结果通常包括来自响应文档的标题以及来自包括查询中的一个或多个搜索项的文档的文本片段。尽管搜索引擎基于web内容的这种索引来提供这样的结果,搜索引擎传统上不从利用第三方所托管的数据动态地生成的web内容或者针对非常频繁地改变的内容提供结果(其中“第三方”包括不由搜索引擎控制的任何服务器或者站点)。为了解决这些问题中的一些,一些搜索引擎许可第三方所托管的数据并且对所许可的数据编索引。例如,搜索引擎可许可天气信息或者股市信息。但是这种方法不容易衡量,因为每个新输入均需要搜索引擎的人工操作者与第三方之间的交互。
发明内容
一些实施方式提供一种具有接口的搜索***,所述接口允许第三方提供响应于指定的查询而被触发的搜索应用。该接口可允许第三方提供触发搜索应用的标准、提供参数信息、并且提供用于针对查询生成一个或多个查询应答的数据。一些实施方式还允许第三方提供用于访问所述数据和/或使用所述参数信息生成自然语言应答的指令。所述数据、触发标准、以及用于操纵所述数据的指令可被存储在搜索***上,使得搜索应用的执行快速,因为搜索***无需与第三方站点通信以执行搜索应用。该应用可在搜索***上在沙箱中运行,以避免由第三方恶意导致的对搜索***的任何不良影响。为了进一步确保第三方搜索应用所提供的应答的质量,搜索***可允许用户报告无关的响应或者可监视查询请求者是否选择其它响应。由于应用被托管于搜索引擎处,所以搜索引擎可禁用在搜索***处生成无关或者不期望的结果或者导致不期望的影响的任何第三方搜索应用。
本公开的一个方面可在一种计算机实现的方法中具体实现,该方法包括:使用搜索***的至少一个处理器从文档语料库的倒排索引针对查询生成第一应答;使用所述至少一个处理器确定所述查询是否与查询模板相对应,所述查询模板与在所述搜索***处所托管的第三方搜索应用关联。响应于所述确定,该方法可包括:基于所述查询模板从所述查询提取参数;使用所述搜索***的所述至少一个处理器,通过将所述参数提供给所述第三方搜索应用并且在沙箱环境中执行所述第三方搜索应用来针对所述查询生成第三方格式化的应答;以及提供所述第三方格式化的应答与所述第一应答作为所述查询的搜索结果。在一些实施方式中,在不与第三方所托管的***通信的情况下生成第三方格式化的应答。在一些实施方式中,沙箱环境在与所述搜索***共同定位或者与所述搜索***内部联网的情况下在***上运行。在一些实施方式中,所述搜索***控制所述第三方搜索应用可用的资源来作为沙箱环境的一部分。可与所述第三方格式化的应答同时地生成第一应答。所述方法可包括以下特征中的一个或多个。例如,第三方搜索应用可包括数据存储以及用于访问所述数据存储的指令,并且所述第三方搜索应用可通过使用所述参数生成第三方格式化的应答以在所述数据存储中查找记录并且使用来自所述记录的字段生成第三方格式化的应答。在一些实施方式中,所述方法还可包括周期性地从所述第三方接收用于所述数据存储的经更新的数据并且更新所述数据存储。在一些实施方式中,所述方法还可包括在所述搜索***处从所述第三方接收所述查询模板、描述所述参数的信息、描述所述数据存储的信息、以及用于访问所述数据存储的指令。在一些实施方式中,所述指令可从所述搜索***的操作者接收。
作为另一示例,第三方搜索应用可包括作为执行所述第三方搜索应用的一部分的、对所述参数执行计算的指令。作为另一示例,第三方格式化的应答可由第三方所确定的句子组成,其包括从查询确定的参数。在一些实施方式中,所述方法还可包括从查询的上下文提取第二参数并且将该第二参数提供给第三方搜索应用。第三方格式化的应答可包括包含所述第二参数的句子。查询的上下文可包括查询请求者的位置、查询的日期和时间、以及查询请求者的用户id中的一个。
作为另一示例,所述方法可包括针对多个查询重复所述生成、确定、提取、和提供步骤,监视第一应答被选择的次数,并且当所述次数满足阈值时,禁用查询模板。在一些实施方式中,确定查询与查询模板相对应的步骤可包括在确定查询与查询模板相对应之前,确定查询模板的源并且确定所述源的信号满足阈值。在一些实施方式中,第三方格式化的应答包括包含所述参数的深链接。
本公开的另一方面可被具体实现于包括至少一个处理器和存储指令的存储器的计算机***中,所述指令在由所述至少一个处理器执行时使得搜索***执行操作。所述操作包括从第三方接收查询模板,所述查询模板包括具有至少一个参数的正则表达式。所述操作还可包括从第三方接收所述参数的一个或多个属性并且从第三方接收数据存储。所述数据存储可包括属性和数据。所述操作还可包括从第三方接收使用所述参数访问所述数据存储的指令,并且在搜索***处存储所述数据存储的数据、所述数据存储的属性、参数属性、和查询模板作为第三方搜索应用。所述接收和存储可自动地发生,而无需搜索***的人工操作者的介入。
所述***可包括以下特征中的一个或多个。例如,可针对多个不同的第三方重复所述接收和存储,并且当多于一个第三方搜索应用具有与查询匹配的查询模板时,所述***可为查询提供多于一个第三方格式化的应答。作为另一示例,所述操作还可包括确定查询与查询模板相对应、针对查询生成第三方格式化的应答并且执行用于访问所述数据存储的指令、以及提供第三方格式化的应答作为查询的搜索结果。生成第三方格式化的应答的步骤可包括将从查询提取的参数值提供给第三方搜索应用。搜索***可在不与第三方服务器通信的情况下在查询时间生成第三方格式化的应答。可向第三方格式化的应答提供链接,该链接允许查询请求者指示对应答的不满意。所述***还可包括文档语料库中的文档的倒排索引,所述操作还可包括通过搜索对查询作出响应的文档的索引来针对查询生成基于片段的应答,以及提供所述基于片段的应答和第三方格式化的应答作为查询的搜索结果。
作为另一示例,所述***还可包括基于图的数据存储,其存储通过关系链接的实体,所述参数的属性可包括用于所述基于图的数据存储的实体集。在这种实施方式中,生成第三方格式化的应答可包括确定与查询模板的参数对应的查询的一部分,确定查询的所述一部分与所述实体集中的实体的属性相对应,并且将所述实体的属性作为参数值提供给第三方搜索应用。
在一些实施方式中,所述第三方搜索应用是搜索***处托管的多个第三方搜索应用中的一个,并且生成第三方格式化的应答包括评估与所述多个第三方搜索应用关联的查询模板以确定与查询对应的查询模板,针对与查询对应的查询模板生成相应的第三方格式化的应答,并且提供所述相应的第三方格式化的应答作为搜索结果的一部分。在一些实施方式中,由搜索***的管理员来提供用于访问所述数据存储的指令,并且在一些实施方式中,第三方提供用于访问所述数据存储的指令。搜索***可自主于搜索***的人工操作者将所述指令和所述数据存储与查询引擎整合。
本公开的另一方面可被具体实现于包括至少一个处理器和存储指令的存储器的搜索***中,所述指令在由所述至少一个处理器执行时使得搜索***执行操作。所述操作可包括确定查询触发搜索***处托管的第三方搜索应用。第三方搜索应用可以是搜索***处托管的多个第三方搜索应用中的一个。所述操作还可包括基于与第三方搜索应用相关联的查询模板从查询提取参数,并且在搜索***处利用所述参数以沙箱方式执行第三方搜索应用。执行第三方搜索应用可针对查询生成第三方格式化的应答,并且所述操作可包括提供所述第三方格式化的应答作为查询的搜索结果。
所述***可包括以下特征中的一个或多个。例如,第三方格式化的应答可包括指向与第三方搜索应用相关联的网站的深链接和/或在被查询请求者选择时指示不赞成第三方格式化的应答的链接。作为另一示例,确定查询触发第三方搜索应用可包括确定查询包括代词并且利用来自该查询的查询请求者所提交的先前查询的名词取代该查询中的所述代词。
作为另一示例,所述***可包括文档语料库中的文档的倒排索引,并且所述操作还可包括从所述倒排索引针对查询生成第一应答,并且提供该第一应答与第三方格式化的应答作为搜索结果。在一些实施方式中,可在比第一应答更显著的位置中提供第三方格式化的应答。在一些实施方式中,确定查询触发第三方搜索应用可包括确定与第三方搜索应用关联的网站出现在第一应答中。在一些实施方式中,确定网站出现在第一应答中可取决于该网站的排名信号满足信号阈值。
本公开的另一方面可被实现于其上记录有并实现有指令的计算机可读介质上,所述指令在由计算机***的处理器执行时使得所述计算机***执行本文所公开的任何方法。
本文所述的主题的一个或多个实施方式可被实现以获得以下优点中的一个或多个。作为一个示例,第三方搜索应用可提供直接应答web查询的许多附加应答,从而向查询请求者提供更丰富的搜索体验。另外,第三方查询响应可按照自然语言格式而非片段格式来编写,这使得应答更容易被查询请求者理解。自然语言应答是形成完整想法(例如,句子、段落和/或清单格式)的应答。应答还可提供指向第三方附属站点的深链接,从而允许查询请求者以更直接的方式得到附加信息。第三方搜索应用所提供的应答具有高质量,因为它们是针对查询定制的。搜索引擎可通过监视应答对请求者的有用程度和/或第三方所操作的站点与查询的相关程度来确保这些应答的质量。在一些实施方式中,第三方所提供的应答可被包括在片段型搜索结果之前,使所述应答容易且直观地定位或者使用文本至语音技术读出给用户。
作为另一示例,所述***规模扩展至大规模,因为第三方可自动地发起第三方搜索应用,而不必与搜索引擎的人工操作者协商。第三方搜索应用所提供的应答可用最小延迟(例如,小于20ms)来提供,因为所述应答在搜索***处而非在第三方站点处生成。第三方可控制向搜索应用提供经更新的数据的频繁程度,从而控制其搜索应用所生成的应答的新鲜度。最后,所述***可通过沙箱化来确保第三方应用不会对搜索引擎处理造成不利影响,并且可移除或禁用查询请求者发现没有用或者试图对资源造成不利影响的第三方搜索应用。
在附图和下面的描述中阐述一个或多个实施方式的细节。其它特征将从该描述和附图以及权利要求而显而易见。
附图说明
图1图示出根据一些实施方式的示例***。
图2图示出与所公开的实施方式一致的用于组装第三方搜索应用的接口的示例。
图3图示出与所公开的实施方式一致的显示由第三方搜索应用所生成的查询应答的用户接口的示例。
图4图示出与所公开的实施方式一致的用于提供利用来自第三方搜索应用的应答来增强的搜索结果的示例处理400的流程图。
图5图示出与所公开的实施方式一致的用于组装第三方搜索应用的示例处理的流程图。
图6图示出与所公开的实施方式一致的用于使用第三方搜索应用在查询时间提供查询应答的示例处理的流程图。
图7示出可用于实现所描述的技术的计算机装置的示例。
图8示出可用于实现所描述的技术的分布式计算机装置的示例。
各种图中的相同的附图标记指示相同元件。
具体实施方式
图1是根据示例实施方式的***100的框图。***100可用于实现包括第三方搜索应用的搜索引擎,所述第三方搜索应用提供对特定查询的自然语言应答。图1的***100的描绘被描述为能够搜索互联网上可用源以及由第三方提供的传统上对搜索引擎不可用的数据的***。该***可提供:接口,所述接口通过创建搜索应用的处理来引导第三方;沙箱,在所述沙箱中响应于目标查询执行第三方搜索应用;以及查询引擎,所述查询引擎响应于适当的查询发起第三方搜索应用。可使用所描述的技术的其它配置和应用。例如,该***可包括来自诸如内联网、图书馆、或者其它文档库的一个或多个语料库的搜索结果。
搜索***100可从客户端装置180接收查询182并且响应于所述查询返回搜索结果184。每个查询182是对信息的请求。例如,查询182可以是文本、音频、图像、或滚动命令。***100可包括查询引擎110、第三方搜索用户接口(UI)114、以及一个或多个第三方搜索应用116。***100可以是采取多种不同装置的形式的计算装置,例如标准服务器、一组此类服务器、或者机架式服务器***。在一些实施方式中,第三方搜索应用116、第三方搜索UI 114、和查询引擎110可各自为分立的计算装置,或者它们可共享诸如处理器和存储器的组件。例如,第三方搜索UI 114和查询引擎110可被实现于例如膝上型计算机的个人计算机中。在一些实施方式中,第三方搜索UI 114和查询引擎110可以是实现于一系列计算装置(诸如一组服务器)中的分布式***。***100可以是计算机装置800的示例,如图8中所描绘。
搜索***100可包括查询引擎110。查询引擎110可响应于搜索请求(诸如查询182)而搜索所抓取的文档120、数据图124、或者其它语料库。例如,除了数据图124以外查询引擎110可以能够搜索所抓取的文档120和/或一些其它索引。所抓取的文档120可包括用于在文档的语料库内搜索术语或短语的索引。在一些实施方式中,语料库可以是互联网上可用的文档。所抓取的文档120中的文档可包括存储内容的任何类型的文件,诸如声音文件、视频文件、文本文档、源代码、新闻文章、博客、网页、PDF文档、电子表格等。在一些实施方式中,所抓取的文档120可存储一维倒排表,该一维倒排表包括短语、术语或、文档性质作为倒排表值以及针对每个倒排表值的与该短语或术语有关的文档的标识符。倒排表还可包括附加信息。当所抓取的文档120的索引已经被描述为使用倒排表时,该索引可具有一些其它已知或稍后开发的格式。
***100还可包括诸如数据图124的其它可搜索语料库。诸如数据图124的基于图的数据存储是以节点和边的形式存储信息的数据图,其中节点通过边来连接。数据图中的节点可表示诸如人、地点、项目、想法、话题、抽象概念、具体元件、其它合适的事物、或者这些的组合的实体。图中的实体可通过可表示实体之间的关系的边来彼此相关。例如,数据图可具有与“乔治华盛顿”对应的实体,并且数据图可在“乔治华盛顿”实体与“美国总统”实体和“军事将领”实体之间具有“职业”关系。索引引擎可维护基于图的数据存储124以允许查询引擎110搜索数据图,例如寻找实体、通过图中的一个或多个关系或路径寻找与其它实体相关的实体等。基于图的数据存储124可包括索引或者用于从该数据存储搜索和检索该数据的一些其他方法。在一些实施方式中,数据图中的一些实体可具有属性,所述属性有助于通过基于文本的搜索来定位实体。在一些实施方式中,特殊实体可有助于基于文本的搜索。
查询引擎110还能够中发起其自己的沙箱中的一个或多个第三方搜索应用116。第三方是不控制或引导搜索***的任何一方。例如,第三方可以是网站所有者。为了发起第三方搜索应用,查询引擎110可使查询182关联到一个或多个查询模板126。查询模板126可以是与第三方搜索应用相关联的针对其来评估查询182的正则表达式或者其它模板。如果查询引擎110找到与特定查询模板126关联的查询182,则查询引擎可调用与该特定查询模板126关联的第三方搜索应用。
第三方搜索应用116可被存储在沙箱环境中。沙箱环境限制应用能够访问的资源和/或其可执行的功能。第三方搜索应用116可包括一个或多个查询模板126、从查询或者查询的上下文导出的一个或多个参数136、以及用于从所述参数生成查询应答的指令132。例如,指令132可以是对参数136执行的计算,计算结果是查询应答。所述指令还可包括用于查询应答的格式。例如,所述指令可指示参数是要从华氏温度转换为摄氏温度的温度,并且指令可按照诸如“$1华氏温度等于$2摄氏温度”的句子提供查询应答,其中变量$1由查询参数代替并且$2是对查询参数执行计算的结果。在一些实施方式中,指令132可以是搜索***所提供的默认指令。一些第三方搜索应用还可包括由第三方提供的数据存储134。数据存储134可为电子表格格式、数据库格式、分隔文件格式、可扩展标记语言(XML)文件、或者允许数据存储中的特定数据段被识别和访问的任何其它格式。如果提供了数据存储134,则除了其它数据操纵指令和查询应答格式化以外,指令132还可包括用于使用参数访问数据存储134的指令。数据存储134可例如从第三方站点、第三方装置185上传,或者该数据可被存储在与搜索***共享的存储器处。
第三方可经由第三方搜索UI 114与搜索***100交互。第三方搜索UI 114可包括一个或多个计算装置,所述一个或多个计算装置包括被配置为执行机器可执行指令或者软件、固件、或其组合的一个或多个处理器。第三方搜索UI 114可与查询引擎110共享计算装置,或者可使用一个或多个分立的计算装置来操作。第三方搜索UI 114可有助于查询模板126或触发的创建、参数136定义、上传和定义数据存储134、以及创建指令132。在一些实施方式中,第三方可能无法提供指令,但是可能能够从搜索***100的操作者所提供的预定义的指令集合进行选择。在一些实施方式中,第三方可提供如指令132的机器代码。在一些实施方式中,计算机代码中所使用的函数可受到限制。在一些实施方式中,搜索***100的操作者可以可选地检查第三方所提供的代码。
图2图示出由第三方搜索UI 114生成的用户接口200的示例。该用户接口200可使得第三方能够确定查询182触发是什么类型或者发起搜索应用。当然,在呈现用户接口200之前,搜索***100可使用任何已知或稍后开发的认证技术认证第三方,以确保第三方搜索应用不会被未授权方访问和修改。用户接口200可包括第三方搜索应用的标识符205,该标识符205将它与其它第三方搜索应用区分开来。用户接口200还可包括站点标识符210。该站点标识符210可用于在查询时间向查询请求者识别查询应答的源。站点标识符210可以是与第三方关联的或者由第三方运营的网站。站点标识符210还可充当确保第三方搜索应用提供高质量应答的质量保证度量。例如,在一些实施方式中,在第三方创建搜索应用之后,搜索***100可运行与所提供的查询模板匹配的测试查询,以确定站点标识符210是否响应于查询而出现在从经索引的文档的语料库生成的查询应答中。如果没有应答与站点标识符210相关联,或者如果与站点标识符210相关联的应答的排名信号不满足信号阈值,则搜索***100可将第三方搜索应用去激活。在一些实施方式中,搜索***还可在提交查询之后、在查询时间触发第三方搜索应用之前执行这种检查,以确保维持通过第三方搜索应用提供的应答的质量。
用户接口200还可包括查询模板215或者查询触发。查询模板可以是具有一个或多个可变部分217的正则表达式,所述可变部分217与查询所提供的参数值对应。可变部分217可表示或对应于来自查询的一个或多个词或术语。正则表达式是用于识别给定模式的文本材料的一系列文本字符。例如,正则表达式“$dest有多远”可匹配或对应于查询“纽约有多远”、“悉尼有多远”、或者“华盛顿特区有多远”,但是不可匹配“鸟可以飞多远”。第三方可将若干触发215与相同的搜索应用相关联。例如,每个触发可表示询问相同问题的不同方式,如图2所图示。在一些实施方式中,搜索***可向第三方建议查询模板。例如,搜索***可使用搜索记录122来确定包括站点标识符210的过去的查询应答,确定对于引出该应答的查询是否存在模式,并且如果存在的话,提供该模式作为潜在触发。查询模板可反映查询请求者可使用的自然语言查询。自然语言查询是一个人在与另一个人的交谈中将用来问问题的那种格式的查询,并且可包括上下文,而非聚集于关键词。
用户接口200还可包括定义参数及其属性的方式。参数可来自于查询的上下文或者来自于查询本身。查询的上下文可包括查询的位置、查询的日期/时间、查询请求者所使用的浏览器或操作***等。第三方可选择这些参数中的一个或多个以用于确定查询应答。例如,用户接口200可包括选择图标220,该选择图标220在被选择时指示第三方期望使用查询上下文参数。当然,可使用诸如下拉列表、多个单选按钮、或者一些其它选择方法的其它选择方法。对于来自于查询的参数,用户接口200可允许第三方输入诸如名称和类型的参数属性。因此,用户接口200可包括参数名称225属性和参数类型230属性。参数名称225与查询模板215的可变部分相对应。优选地,第三方为查询模板中的各个可变部分217提供名称225和类型230。名称225和类型230可定义参数以使得它可在第三方搜索应用的指令部分中使用和被涉及到。在一些实施方式中,参数名称225与查询模板215中的对应可变部分匹配。例如,可变部分217是“$destination”,其与名称225“目的地”匹配。参数可具有串、数字、或实体的类型230。
实体参数是与例如数据图(诸如图1的数据图124)中的实体对应的参数。当第三方选择具有实体类型的参数时,用户接口200可提供允许第三方指定参数对应于什么类型的实体的参数属性。例如,用户接口200可允许第三方指定实体是人、地点、事件、电影等。然而,由于第三方应用被沙箱化,所以第三方应用无法直接访问数据图。因此,搜索***可提供允许第三方搜索应用请求与特定参数对应的实体标识符的功能或处理。所返回的标识符可用作进入数据存储的关键字。当数据图基于公共源(诸如可得自www.Freebase.com的Freebase数据图)时这尤其有效。
用户接口200还可允许第三方提供一个或多个数据存储。数据存储(也称作数据表)可以是电子表格、分隔列表、XML文件或者一些其它格式。在一些实施方式中,第三方可将数据存储上传到搜索***100。在一些实施方式中,第三方可将数据存储存储在共享的位置(诸如基于云的服务器)中。在一些实施方式中,数据存储可以是被公布到互联网的电子表格,以使得搜索***可访问该数据表。无论如何,第三方可提供数据存储的类型240属性、数据存储的源位置245属性、以及数据存储的名称250属性。类型240可以是数据存储的格式的指示,例如电子表格、分隔、XML等。名称250可以是用以识别并涉及数据存储的指令中所使用的标识符。源245可指示数据存储的位置以用于导入或更新的目的。用户接口200中还可包括进一步定义数据存储的附加属性,诸如用于访问数据存储的关键字255。
在一些实施方式中,数据存储的结构可从数据存储本身导出。例如,数据存储可包括具有各个列的名称的第一行或第一记录。因此,第一行可提供数据表的列名称。在一些实施方式中,数据表的第一列可以是数据表的唯一关键字。第三方搜索应用可假设存在标题行,并且第一列包含关键字并且使用该信息来动态地定义数据。当然,可使用定义数据表的布局的现在已知或者稍后发现的其它方法。例如,数据表可以是具有XML范式定义(XSD)文件的XML文件。在一些实施方式中,第三方可提供多于一个的数据表。用户接口可提供搜索***可使用以访问和读取数据表的验证过程。例如,用户接口200的“检查”链接260可提供这种处理。在一些实施方式中,数据表可以是可选的。
用户接口200还可提供一种方式,使第三方提供用于处理参数、访问数据存储、操纵数据、以及提供查询响应的指令。例如,第三方搜索应用可提供代码框265,第三方可在其中提供指令以使用参数以及可选地使用数据表来生成查询结果。可按照计算机语言来提供指令。搜索***所使用的语言可以是用于对计算机进行编程的任何已知的或者稍后开发的语言,例如,诸如Python、C++、Java、JavaScript等的一般语言或者诸如SQL、KQL等的以数据库操纵为目标的语言。在一些实施方式中,可由第三方提供代码,并且在一些实施方式中,可由搜索***的操作者提供代码。在一些实施方式中,搜索***可对某些功能施加限制以增强低时延和/或严密的安全性约束。
在一些实施方式中,代码可为可选的并且搜索***可对数据表执行默认的指令集合。在数据表为可选的实施方式中,指令可对参数执行计算以提供与模板匹配的查询的应答,或者可假设当第一列与查询所提供的参数匹配时数据表的第二列提供应答。指令可包括指示如何将查询应答格式化的指令270。指令270还可以是搜索***所提供的默认格式。在一些实施方式中,指令270可包括指向第三方的网站(例如站点210)的深链接。该链接可考虑从查询以及查询上下文提取的参数,在第三方站点不从请求者收集附加信息的情况下允许查询请求者导航到传统上不可用的页面。当然,第三方搜索应用可包括用户接口200中未图示出的附加元素。
返回图1,***100还可包括搜索记录122。搜索记录122可包括搜索日志、从查询收集的聚合数据、或者关于先前处理的查询的搜索项和搜索结果的其它数据。搜索记录122中的某些数据可在存储或使用之前以一种或多种方式进行处理,以使得移除个人识别信息。例如,用户的身份可被处理以使得对该用户没有个人可识别信息,或者在获得位置信息的情况下可将用户的地理位置一般化(例如,一般化至城市、邮政编码或州级别),以使得无法确定用户的具***置。在一些实施方式中,可由查询引擎110在生成搜索结果184的正常处理中生成搜索记录122。
查询引擎110可包括一个或多个计算装置,其使用数据图124、第三方搜索应用116、和/或所抓取的文档120来确定针对查询182的搜索结果184。来自所抓取的文档120的搜索结果可例如使用传统的或者其它信息检索技术来确定,并且表示从所抓取的文档120生成的传统的基于片段的结果。一个或多个第三方搜索应用116所生成的搜索结果表示自然语言结果,例如由第三方格式化的应答。查询引擎110可包括一个或多个服务器,其从诸如客户端180的请求者接收查询182,并且向请求者提供搜索结果184。搜索结果184可包括来自响应于查询的文档的片段信息以及由第三方搜索应用116提供的一个或多个应答。查询引擎110可包括第三方触发引擎112,所述触发引擎112确定查询是否触发第三方搜索应用116。查询引擎110可包括排名引擎,所述排名引擎从所抓取的文档120识别响应于所述查询的文档并且例如使用一个或多个排名信号为响应于查询的所述文档和第三方格式化应答计算得分。该排名引擎可使用所述得分来对响应于查询而找到的文档和应答进行排名。在一些实施方式中,第三方格式化的应答可被排名在其它类型的应答前面。在一些实施方式中,第三方搜索应用可具有关联的质量得分,排名引擎使用其来确定该应答落在所述查询的响应内的何处。
图3图示出与所公开的实施方式一致的显示由第三方搜索应用生成的查询应答的用户接口300的示例。响应于查询305“伦敦有多远”,查询引擎110可生成用于生成用户接口300的信息。例如,第三方触发引擎112可针对查询模板126来评估所接收的查询。如果查询与查询模板126中的一个相对应,则第三方触发引擎112可使得与该查询模板对应的第三方搜索应用116执行。第三方搜索应用116可生成查询应答并且将该应答提供给查询引擎110以包括在查询结果中。例如,当查询请求者提交查询305时,查询引擎110可使用任何已知或者稍后开发的技术在索引文档中搜索对查询作出响应的文档。来自一些响应文档的信息可作为基于片段的搜索应答320被返回。另外,第三方触发引擎112可针对查询模板126来评估查询305。例如,查询模板“$destination有多远”可与查询305对应。当查询模板与查询对应时,第三方触发引擎112可使得与该查询模板关联的第三方搜索应用116执行。第三方搜索应用116可使用可变或参数部分(在此示例中,“伦敦”)来生成查询305的应答310。在用户接口300的示例中,相对于基于片段的应答320,第三方格式化的应答310可被呈现在显著位置。在一些实施方式中,该应答可包括深链接325。深链接可包括用于生成应答310的参数信息。
在一些实施方式中,用户接口300还包括供查询请求者提供关于应答310的反馈的途经。例如,用户接口300可包括链接315,其允许查询请求者指示对所提供的响应不满意。查询引擎110可包括第三方监视引擎118,其跟踪对所提供的应答310的不满意。如果预定数量的查询请求者指示对应答310不满意,则搜索***100可禁用或卸下提供该响应的第三方搜索应用。在一些实施方式中,第三方监视引擎118还可针对各个第三方搜索应用116跟踪查询请求者在没有选择由该第三方搜索应用提供并格式化的应答的情况下选择基于片段的响应的次数。如果特定第三方搜索应用的该次数满足阈值,则搜索***100可禁用该特定第三方搜索应用。另外,第三方监视引擎118可在第三方搜索应用116执行时监视它们。如果特定第三方搜索应用116请求过多资源,则***100可关闭或限制该特定第三方搜索应用116。
返回图1,数据图124、所抓取的文档120、查询模板126、第三方搜索应用116、和搜索记录122被存储在有形计算机可读存储装置(例如,盘、闪存、高速缓存、主存储器或者这些的组合)上,其被配置成以半永久或非暂时形式存储数据。在一些实施方式中,数据图124、所抓取的文档120、查询模板126、第三方搜索应用116、和搜索记录122可被存储在各种存储器的组合中。
在一些实施方式中,***100可包括索引引擎(未示出),其包括一个或多个处理器,所述处理器被配置成执行一个或多个机器可执行指令或者软件段、固件、或其组合,以创建并维护所抓取的文档120和/或数据图124等。该索引引擎可从例如一个或多个服务器190获得内容并且使用该内容来维护所抓取的文档120和/或数据图124。在一些实施方式中,服务器190可以是web服务器、专用网络上的服务器、或者索引引擎可访问的其它文档源。
搜索***100可通过网络160与客户端180、第三方装置185、和/或服务器190通信。网络160可以是例如互联网,或者网络160可以是使用例如网关装置、桥、开关等来实现的有线或无线局域网(LAN)、广域网(WAN)等。经由网络160,查询引擎110可与客户端180和/或第三方装置185通信并且向其发送数据/从其接收数据。例如,查询引擎110可将搜索结果或者建议更新发送给一个或多个客户端180并且可从第三方装置185接收查询模板或数据表。客户端180和第三方装置185可表示诸如图7的装置700或750的计算装置。用户可使用第三方装置185来与搜索***100通信并且向搜索***100提供信息和数据186。
图4图示出与所公开的实施方式一致的用于提供利用第三方搜索应用来增强的搜索结果的示例处理400的流程图。搜索***(诸如图1的搜索***100)可执行处理400以设置、使用、和监视搜索***所托管的第三方搜索应用。应该理解,图4所图示的一些步骤可以是可选的,实施方式不需要执行每个步骤,或者可按照不同的顺序执行这些步骤。
处理400可开始于搜索***获得并组装第三方搜索应用(405)。第三方搜索应用包括查询模板、参数、使用该参数生成查询应答的指令、以及可选地包括数据表。在一些实施方式中,第三方搜索应用还可包括与第三方相关联的站点的URL。搜索***可通过第三方所提供的名称、通过URL、通过搜索***所指派的标识符、或者这些的组合来识别第三方搜索应用。第三方可识别或提供搜索***的至少一些元素,搜索***可将它们与标识符关联并且将它们作为第三方搜索应用存储。
图5图示出与所公开的实施方式一致的组装第三方搜索应用的示例处理500的流程图。搜索***(诸如图1的搜索***100)可执行处理500,作为图4的步骤405的一部分。处理500可开始于搜索***注册第三方所识别的一个或多个查询模板(505)。如上所述,查询模板可以是第三方搜索应用向哪些查询提供应答的指示。查询模板可以是具有固定部分和可变部分的正则表达式。例如,查询模板“$name贝肯数”可具有由$name表示的可变部分,其可与固定部分“贝肯数”前面的任何数量的字符或词匹配。例如,上述查询模板可与“Richard Gere贝肯数”、“Twiggy贝肯数”和“Sarah Michelle Gellar贝肯数”对应。可变部分可与参数相对应。在一些实施方式中,查询模板可不包括可变部分。例如,查询模板“几点了”没有可变部分。第三方可使用例如图2所图示的用户接口200来提供查询模板。搜索***可通过将查询模板与第三方搜索应用关联并且在搜索***处将查询模板存储在查询引擎可访问的存储器中来注册该查询模板,以使得搜索***在查询时间可针对查询来评估该查询模板。
搜索***可针对第三方搜索应用注册由该第三方所识别的一个或多个参数的信息(510)。所述信息可包括参数值的源。所述参数值可来自于查询上下文或者来自于查询本身。例如,第三方可指示查询上下文参数将要被包括在该第三方搜索应用中。此类参数包括查询请求者的位置(例如,城市、州、国家)、查询的日期和时间、查询请求者所使用的浏览器或操作***等。所述信息还可包括具有从查询导出的值的参数的名称和类型。例如,第三方可识别参数$name,并且$name参数的值可在查询时间取自查询。如上面关于图2说明的,参数可以是串、数字、或者实体。实体参数还可包括附加信息,诸如包括实体的数据图或者用于定位或确定从查询获得的参数的实体标识符的一些其它文件。第三方可识别一个或多个参数,并且搜索***可通过将所述参数与第三方搜索应用的标识符相关联并且在搜索***处存储所述参数来注册所述参数。
为了组装第三方搜索应用,搜索***还可注册一个或多个数据表(515)。数据表可以是包括用于生成查询应答的数据的电子表格。数据表还可以是分隔文本文件、XML文件、或者将来自第三方的数据提供给搜索***的任何其它方法。在电子表格或者分隔文本文件中,数据表的第一行可用于定义列。替选地,搜索***可例如使用收集该信息的用户接口来从第三方获得列定义作为注册处理的部分。第三方可经由用户接口(诸如图2的用户接口200)提供关于数据表的信息。搜索***可通过将数据表与该第三方搜索应用的标识符相关联并且在搜索***处存储该数据表来注册该数据表。在一些实施方式中,数据表可被存储在搜索***可访问的存储器中。
为了组装第三方搜索应用,搜索***还可注册使用参数来生成查询应答的指令(520)。所述指令可包括使用参数执行的计算、访问数据表的指令、以及将查询应答格式化的指令。在一些实施方式中,第三方可经由用户接口(例如,图2的用户接口200)提供指令。在一些实施方式中,搜索***可限制对第三方可用的指令的类型。例如,第三方可被限于对所述参数或者该数据表的列执行字符串和数值操作。在一些实施方式中,搜索***可提供使得第三方搜索应用能够从另一数据源(诸如数据图124)获得数据的功能。在一些实施方式中,在使得第三方搜索应用对查询引擎可用之前,可由搜索***的操作者验证由第三方提供的指令。
在一些实施方式中,所述指令可以是搜索***所提供的默认指令。例如,所述指令可以是这样的指令,其假设传入参数是关键字值,将所述参数与所指示的数据表的第一列匹配并且生成包括查询以及来自该数据表中的第二列的值的应答。该应答可以是“<查询>是<第二列>”的格式。例如,第三方搜索应用可包括查询模板“$cmd的mac键盘快捷键”和数据表,该数据表在第一列中是$cmd的值,第二列中是对应快捷键。对于这种第三方搜索应用,查询“强制退出的mac键盘快捷键”可使得第三方搜索应用生成应答“强制退出的mac键盘快捷键是command-option-esc”。
所述指令还可包括将由第三方搜索应用所提供的查询应答格式化的指令。查询应答可以是直接应答查询的自然语言查询应答。该应答可包括句子、段落、或者串、术语列表、或者包括自然语言应答的字典、与应答一起显示的深链接、以及深链接的锚文本。所述应答可包括表示用于生成该应答的参数值的文本。在一些实施方式中,深链接可包括从查询或查询上下文提取的参数。深链接可解析至在没有第三方的数据收集的情况下传统上不可用的第三方的网站中的页面。搜索***可通过将指令与第三方搜索应用的标识符相关联并且在搜索***处存储指令来注册指令。
在一些实施方式中,搜索***可在使第三方搜索应用可用于生成查询响应之前验证第三方搜索应用(525)。例如,搜索***可针对与第三方搜索应用相关联的查询模板相对应的查询生成搜索结果。如果在搜索结果内与第三方搜索应用关联的站点或URL不满足排名阈值,则搜索***可禁用该第三方搜索应用或者可使得该第三方搜索应用不可用于该查询引擎中。例如,搜索***可禁用查询模板以使得查询引擎永不调用该第三方搜索应用。
作为另一示例,搜索***可在沙箱环境中执行第三方搜索应用以确定第三方搜索应用消耗哪些资源。在沙箱环境中,搜索***牢牢地控制第三方搜索应用能够访问哪些资源。例如,搜索***可确保第三方应用仅能够访问参数信息、与第三方搜索应用相关联的数据表、以及特定功能。即使在沙箱环境中执行时,如果第三方搜索应用消耗过多资源,则搜索***也可禁用该第三方搜索应用。作为另一示例,如果第三方搜索应用花费时间过长,即,没有在预定时间量内提供查询应答,则搜索***可禁用该第三方搜索应用。验证第三方搜索应用可包括这些和其它度量以确保第三方搜索应用提供高质量的应答,而不会影响搜索***或者用户体验。在一些实施方式中,每次第三方对第三方搜索应用做出改变时可执行所述验证。然后组装并认证了第三方搜索应用的处理500结束。
返回图4,在至少一个第三方搜索应用就位的情况下,搜索***然后可响应于查询请求者所提供的查询调用第三方搜索应用(410)。根据所提供的参数以及第三方数据存储中的值,所调用的第三方搜索应用可针对该查询提供或者不提供第三方格式化的查询应答。当查询触发了多于一个查询模板时,搜索***还可调用多于一个第三方搜索应用。搜索***可将第三方格式化的应答包括在提供给查询请求者的搜索结果中,如上面关于图3所讨论的。
图6图示出与所公开的实施方式一致的在查询时间使用第三方搜索应用来提供查询应答的示例处理600的流程图。搜索***(诸如图1的搜索***100)可执行处理600,作为图4的步骤410的一部分。例如,除了搜索索引文档并针对该查询生成基于片段的搜索结果的处理以外或者代替该处理,搜索***可从查询请求者接收查询并且可执行处理600。处理600可通过确定查询是否触发第三方搜索应用来开始(605)。为了确定查询是否触发第三方搜索应用,搜索***可针对第三方搜索应用的查询模板评估查询。例如,搜索***可确定在第二部分与该查询模板的可变部分对应的情况下(如果存在的话),该查询的第一部分是否匹配该查询模板的不可变部分。在一些实施方式中,如果查询与查询模板的不可变部分相匹配或相对应,则查询可触发第三方搜索应用。作为另一示例,搜索***可包括对该查询的自然语言处理和情感分析,考虑先前查询的上下文以确定该查询是否触发第三方搜索应用。例如,如果请求者的先前查询是“纽约的天气怎么样”并且当前查询是“从那里到伦敦有多远”,则在确定查询是否与查询模板相对应之前,搜索***可使用先前查询来确定哪一城市用于代词“那里”并且用“纽约”代替“那里”代入查询中。作为另一示例,如果查询是“明天去看电影”,则搜索***可将日期“明天”代入查询中。
在一些实施方式中,可选地,搜索***可在触发第三方搜索应用之前执行附加检查。例如,搜索***可验证与第三方搜索应用关联的站点出现在中响应于查询从索引文档的搜索生成的搜索结果。这可确保第三方搜索应用与查询的主题紧密相关。在一些实施方式中,这仅可在站点或者第三方搜索应用的排名信号低于阈值的情况下才执行。如果站点没有出现在搜索结果中,则查询触发第三方搜索应用。在一些此类实施方式中,查询不触发第三方搜索应用,除非站点在搜索结果内具有最小排名信号。
如果查询没有触发第三方搜索应用(605,否),则处理600结束,而不提供第三方格式化的查询应答。但是如果查询确实触发了第三方搜索应用(605,是),则搜索***可从查询提取相关参数(610)。所述参数可使用查询模板的可变部分来提取。例如,与查询模板的可变部分对应的查询的第二部分可被提取并用作在查询模板的可变部分中识别的参数的值。搜索***还可从查询的上下文提取相关参数(615)。如果第三方指示期望在第三方搜索应用中使用这些参数,则可提取这些参数,如上面关于图2的项220讨论的。搜索***然后可调用第三方搜索***并且将任何所提取的参数传递给第三方搜索应用(620)。搜索***可在沙箱环境中执行第三方搜索应用以限制第三方搜索应用可用的资源并且确保第三方搜索应用不会给搜索***带来不利影响。第三方搜索应用在搜索***处托管并执行,从而使得不必与第三方所托管的服务器或站点通信。这降低了查询时延并且允许搜索***更牢牢地控制第三方搜索应用所执行的动作。
搜索***可确定第三方搜索应用是否提供响应(625)。例如,第三方搜索应用可返回空字符串,从而指示没有生成应答。另外,如果第三方搜索应用未能在时间极限内提供应答,则搜索***可不再等待,并且可确定将不提供应答。如果第三方搜索应用提供响应(625,是),则搜索***可将应答作为搜索结果的一部分提供给查询请求者(630)。如上所述,该应答是由第三方搜索应用格式化并提供的自然语言应答。
如果搜索***确定第三方搜索应用没有提供应答(625,否),则处理600结束,并且不向搜索结果添加第三方格式化的查询应答。当然,搜索***可针对多个第三方搜索应用同时或顺序地重复处理600。换言之,如果查询触发多于一个第三方搜索应用,则搜索***可从多个第三方搜索应用提供多于一个第三方格式化的查询应答。可同时地、一个接一个地、或者按照这些的组合来调用各种第三方搜索应用。
返回图4,在一些实施方式中,搜索***还可监视查询请求者与第三方搜索应用所提供的应答的交互,以移除不受欢迎的应答或者低质量应答(415)。例如,搜索***可确定查询请求者是否选择位置不如第三方搜索应用所提供的应答显著的响应。搜索***可跟踪这一情况发生的次数,并且如果所述次数满足阈值,则可降低第三方搜索应用所提供的应答的排名、降低与第三方搜索应用关联的站点的排名、禁用第三方搜索应用、或者这些的组合。在一些实施方式中,搜索***可对将第三方搜索应用所提供的应答提供给链接或者其它控件以允许查询请求者指示对该应答不赞成。搜索***可跟踪特定查询请求者选择该链接或控件的次数。如果特定请求者选择针对第三方应用的链接或控件的次数满足阈值,则搜索***可禁用该第三方搜索应用或者降低与该第三方搜索应用关联的应答或站点的排名。因此,如果第三方向第三方搜索应用提供低质量的应答,则搜索***可选择通过在从索引文档的语料库生成的搜索结果中降低与该第三方搜索应用关联的站点的排名来处罚第三方。
在查询时间与调用第三方搜索应用同时地并且与其独立地,搜索***还可接收对数据表的更新(420)。搜索***可向第三方提供第三方所期望的那样经常更新数据表的途经,例如使用诸如pubsubhubbub的馈送或持续更新协议。这确保了用于生成自然语言应答的数据是新的,而不会给搜索***带来检查更新的负担。
另外,搜索***可允许第三方更新查询模板、参数、以及用于其第三方搜索应用的指令。当搜索***响应查询时,处理400可继续执行步骤410-420。当然,作为步骤405的一部分,搜索***可对来自各种第三方的许多第三方搜索应用进行组装。在一些实施方式中,搜索***可对数以万计的此类应用进行组装,从而向数以万计的第三方提供响应于目标查询生成自然语言应答的机会。
尽管上面讨论了关于针对基于文档的语料库提供增强的搜索结果,但是第三方搜索应用也可用于其它收集,其它收集诸如图像或视频搜索、地图搜索、社交媒体搜索等。因此以上讨论是一个示例,不意在限制。
图7示出可与此处所描述的技术一起使用的通用计算机装置700的示例,其可以是图1的***100、第三方装置185、和/或客户端180。计算装置700旨在表示各种示例形式的计算装置,诸如膝上型计算机、桌面型计算机、工作站、个人数字助理、蜂窝电话、智能电话、平板、服务器、以及包括可穿戴装置的其它计算装置。这里所示的组件、其连接和关系、以及它们的功能意在仅为示例,而不意在限制本文档中所描述和/或要求保护的发明的实施方式。
计算装置700包括经由接口708连接的处理器702、存储器704、存储装置706、以及扩展端口710。在一些实施方式中,计算装置700可包括经由接口708连接的收发器746、通信接口744、和GPS(全球定位***)接收器模块748以及其它组件。装置700可通过通信接口744无线地通信,其可在需要的地方包括数字信号处理电路。组件702、704、706、708、710、740、744、746和748中的每一个可被安装在公共母板上或者酌情以其它方式来安装。
处理器702可处理用于在计算装置700内执行的指令,包括存储在存储器704中或者存储装置706上以在外部输入/输出装置(诸如显示器716)上显示GUI的图形信息的指令。显示器716可以是监视器或者平板触摸屏显示器。在一些实施方式中,连同多个存储器和多类存储器一起,可酌情使用多个处理器和/或多条总线。另外,可连接多个计算装置700,其中各个装置提供必要操作的部分(例如,作为服务器库、一组刀片服务器、或者多处理器***)。
存储器704将信息存储在计算装置700内。在一个实施方式中,存储器704是易失性存储器单元。在另一实施方式中,存储器704是非易失性存储器单元。存储器704还可以是诸如磁盘或光盘的另一形式的计算机可读介质。在一些实施方式中,存储器704可包括通过扩展接口提供的扩展存储器。
存储装置706能够为计算装置700提供大容量存储。在一个实施方式中,存储装置706可以是或者可包含诸如软盘装置、硬盘装置、光盘装置、或磁带装置、闪速存储器或者其它相似的固态存储器装置或者装置阵列的计算机可读介质,包括存储区域网络或者其它配置中的装置。计算机程序产品可被有形地具体实现于此类计算机可读介质中。计算机程序产品还可包含指令,所述指令在被执行时执行一个或多个方法,诸如上述那些方法。计算机或者机器可读介质是诸如存储器704、存储装置706、或者处理器702上的存储器的存储装置。
接口708可以是管理计算装置700的带宽密集操作的高速控制器或者管理更低带宽密集操作的低速控制器,或者这些控制器的组合。可提供外部接口740以使得装置700能够与其它装置的进行近区域通信。在一些实施方式中,控制器708可耦合至存储装置706和扩展端口714。可包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的扩展端口可例如通过网络适配器耦合至诸如键盘、指示装置、扫描仪的一个或多个输入/输出装置或者诸如交换机或路由器的网络装置。
如图所示,计算装置700可按照多种不同的形式来实现。例如,它可被实现为标准服务器730或者多次实现于一组此类服务器中。它还可被实现为机架服务器***的一部分。另外,它可被实现于诸如膝上型计算机722或智能电话736的个人计算机中。整个***可由彼此通信的多个计算装置700组成。其它配置也是可能的。
图8示出可与这里所描述的技术一起使用的通用计算机装置800的示例,其可以是图1的***100。计算装置800旨在表示各种示例形式的大规模数据处理装置,例如服务器、刀片服务器、数据中心、大型机、以及其它大规模计算装置。计算装置800可以是具有多个处理器的分布式***,可能包括通过一个或多个通信网络互连的附接网络的存储节点。这里所示的组件、其连接和关系、以及它们的功能意在仅为示例,而并非意在限制本文档中所描述和/或要求保护的发明的实施方式。
分布式计算***800可包括任何数量的计算装置880。计算装置880可包括经局域网或广域网、专用光学链路、调制解调器、桥、路由器、交换机、有线或无线网络等通信的服务器或机架服务器、大型机等。
在一些实施方式中,每个计算装置可包括多个机架。例如,计算装置880a包括多个机架858a-858n。每个机架可包括诸如处理器852a-852n和862a-862n的一个或多个处理器。处理器可包括数据处理器、附接网络的存储装置、以及其它计算机控制的装置。在一些实施方式中,一个处理器可作为主处理器操作并且控制调度和数据分发任务。处理器可通过一个或多个机架交换机858来互连,并且一个或多个机架可通过交换机878来连接。交换机878可处理多个连接的计算装置800之间的通信。
每个机架可包括诸如存储器854和存储器864的存储器以及诸如856和866的存储。存储856和866可提供大容量存储,并且可包括诸如附接网络的盘、软盘、硬盘、光盘、磁带、闪存或者其它类似的固态存储器装置或者装置阵列的易失性或非易失性存储装置,包括存储区域网络或者其它配置中的装置。存储856或866可在多个处理器、多个机架、或者多个计算装置之间共享,并且可包括存储可由一个或多个处理器执行的指令的计算机可读介质。存储器854和864可包括例如易失性存储器单元或多个易失性存储器单元、非易失性存储器单元或多个非易失性存储器单元、和/或其它形式的计算机可读介质,诸如磁盘或光盘、闪存、高速缓存、随机存取存储器(RAM)、只读存储器(ROM)、和其组合。诸如存储器854的存储器还可在处理器852a-852n之间共享。可例如在存储装置856和存储器854上存储诸如索引的数据结构。计算装置800可包括未示出的其它组件,诸如控制器、总线、输入/输出装置、通信模块等。
整个***(诸如***100)可由彼此通信的多个计算装置800组成。例如,装置880a可与装置880b、880c、和880d通信,并且这些装置可被统称为***100。作为另一示例,图1的***100可包括作为查询引擎110的一个或多个计算装置800、第三方搜索UI 114、和第三方搜索应用116。另外,一些计算装置可在地理上彼此靠近,其它计算装置可地理上彼此远离。***800的布局仅是示例,并且该***可采取其它布局或配置。
各种实施方式可包括可在可编程***上执行和/或解释的一个或多个计算机程序中的实施方式,所述可编程***包括耦合以从存储***接收数据和指令以及向存储***传送数据和指令的至少一个可编程处理器(可以是专用的或通用的)、至少一个输入装置、和至少一个输出装置。
这些计算机程序(也称作程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可利用高级过程化和/或面向对象的编程语言、和/或汇编/机器语言来实现。如本文所用,术语“机器可读介质”、“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何非暂时性计算机程序产品、设备和/或装置(例如,磁盘、光盘、存储器(包括读取存取存储器)、可编程逻辑器件(PLD))。
这里所述的***和技术可被实现于计算***中,该计算***包括后端组件(例如作为数据服务器),或者包括中间件组件(例如应用服务器),或者包括前端组件(例如具有图形用户接口或者Web浏览器的客户端计算机,用户可通过其来与这里所述的***和技术的实施方式交互),或者此类后端、中间件或前端组件的任何组合。***的组件可通过任何形式或介质的数字数据通信(例如通信网络)来互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)、和互联网。
计算***可包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络来交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
已经描述了多个实施方式。然而,在不脱离本发明的精神和范围的情况下,可进行各种修改。另外,图中所描绘的逻辑流程不要求所示的特定顺序或者依次顺序来实现期望的结果。另外,可提供其它步骤,或者可从所描述的流程排除步骤,并且可向所描述的***增加其它组件或者从其移除组件。因此,其它实施方式在以下权利要求的范围内。

Claims (18)

1.一种计算机实现的方法,包括:
使用至少一个处理器确定接收到的查询与查询模板相对应,所述查询模板是由第三方提供的正则表达式;
使用主机***的至少一个处理器,通过执行从所述第三方获得的计算机语言指令来针对所述查询生成第三方格式化的自然语言应答,所述计算机语言指令用于生成所述自然语言应答并且用于格式化所述自然语言应答;以及
提供所述第三方格式化的自然语言应答作为针对所述查询的搜索结果,其中,所述查询模板和所述计算机语言指令作为第三方搜索应用存储在所述主机***处,所述第三方搜索应用在不与第三方站点通信的情况下生成所述第三方格式化的自然语言应答。
2.根据权利要求1所述的方法,其中,所述第三方搜索应用包括从所述第三方接收并且存储在所述主机***处的数据存储并且所述计算机语言指令包括用于访问所述数据存储并且用于使用从所述数据存储获得的信息来生成所述第三方格式化的自然语言应答的指令。
3.根据权利要求2所述的方法,其中,所述第三方搜索应用通过以下来生成所述第三方格式化的自然语言应答:
定位所述数据存储中的记录;以及
使用来自所述记录的字段来替换所述第三方格式化的自然语言应答中的变量。
4.根据权利要求2所述的方法,进一步包括:
周期性地从所述第三方接收用于所述数据存储的经更新的数据;以及
用所述经更新的数据来更新所述数据存储。
5.根据权利要求2所述的方法,进一步包括:
从所述查询的查询上下文获得参数值,其中,所述第三方搜索应用使用所述参数值来定位所述数据存储中的记录。
6.根据权利要求2所述的方法,所述正则表达式包括可变部分,并且所述方法进一步包括:
从所述查询提取参数值,所述参数值与所述查询的匹配于所述可变部分的部分相对应,其中,所述参数值在访问所述数据存储时使用。
7.根据权利要求1所述的方法,进一步包括:
从所述查询的查询上下文获得参数值,其中,所述第三方格式化的自然语言应答包括所述参数值。
8.根据权利要求1所述的方法,其中,所述正则表达式包括可变部分,并且所述方法进一步包括:
提取与所述查询的匹配于所述可变部分的部分相对应的来自所述查询的参数值。
9.根据权利要求1所述的方法,其中,所述查询是音频查询。
10.一种主机***,包括:
至少一个处理器;以及
存储指令的存储器,所述指令在由所述至少一个处理器执行时使得所述主机***执行操作,所述操作包括:
从第三方接收查询模板,所述查询模板包括正则表达式,
从所述第三方接收数据存储,所述数据存储包括属性和数据,
从所述第三方接收计算机语言指令,所述计算机语言指令用于访问所述数据存储并且用于格式化自然语言查询应答,所述自然语言查询应答包括通过访问所述数据存储识别的数据,以及
在所述主机***处将包括所述数据和所述属性的所述数据存储和所述查询模板存储在所述主机***处作为第三方应用,其中,所述主机***执行所述第三方应用,所述第三方应用在不与第三方站点通信的情况下生成并提供响应于匹配于所述模板的查询的所述自然语言查询应答。
11.根据权利要求10所述的主机***,其中,针对多个不同的第三方重复所述接收和存储。
12.根据权利要求10所述的主机***,其中,所述存储器还存储指令,所述指令在由所述至少一个处理器执行时使得所述主机***执行操作,所述操作包括:
确定查询与所述查询模板相对应;
通过执行用于访问所述数据存储的指令来生成用于所述查询的自然语言查询应答;以及
提供所述自然语言查询应答作为所述查询的结果。
13.根据权利要求12所述的主机***,其中,所述查询是音频查询。
14.根据权利要求10所述的主机***,其中,所述正则表达式包括表示参数的可变部分,并且用于访问所述数据存储的所述计算机语言指令包括用于使用所述查询的匹配于所述可变部分的部分和所述参数来访问所述数据存储。
15.根据权利要求10所述的主机***,其中,多个查询模板从所述第三方被接收,每个查询模板是正则表达式,其中:
所述多个查询模板中的至少一个查询模板包括表示参数的可变部分,并且用于访问所述数据存储的所述计算机语言指令包括用于使用所述查询的匹配于所述可变部分的部分和所述参数来访问响应于触发所述第三方应用的所述查询模板的所述数据存储;以及
所述多个查询模板中的至少一个查询模板缺乏可变部分,并且用于访问所述数据存储的计算机语言指令包括用于使用所述查询的上下文来识别用于访问响应于触发所述第三方应用的所述至少一个查询模板的数据存储的参数值。
16.一种主机***,包括:
至少一个处理器;以及
存储指令的存储器,所述指令在由所述至少一个处理器执行时使得所述主机***执行操作,所述操作包括:
基于查询模板确定查询触发在所述主机***处托管的第三方搜索应用,所述查询模板是正则表达式,并且其中,响应于确定所述查询中的每个字符对应于所述正则表达式的固定部分或者对应于所述正则表达式的可变部分,所述查询触发所述第三方搜索应用,
执行从所述第三方获得的计算机语言指令,所述计算机语言指令用于针对所述查询生成第三方格式化的自然语言应答并且用于格式化所述自然语言应答,以及
提供所述第三方格式化的自然语言应答作为针对所述查询的响应,其中,所述查询模板和所述计算机语言指令作为所述第三方应用存储在所述主机***处,所述第三方应用在不与第三方站点通信的情况下生成所述第三方格式化的自然语言应答。
17.根据权利要求16所述的主机***,所述存储器还存储指令,所述指令在由所述至少一个处理器执行时使得所述主机***从所述查询提取参数值并且使用所述参数值来生成所述第三方格式化的自然语言应答,所述参数值是所述查询的与所述可变部分相对应的字符。
18.根据权利要求16所述的主机***,其中,所述存储器还存储指令,所述指令在由所述至少一个处理器执行时使得所述主机***从所述查询的上下文获得参数值,所述参数值用于生成所述第三方格式化的自然语言应答。
CN201910521635.9A 2013-07-17 2014-07-15 用于搜索***的第三方搜索应用 Active CN110362727B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910521635.9A CN110362727B (zh) 2013-07-17 2014-07-15 用于搜索***的第三方搜索应用

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361847371P 2013-07-17 2013-07-17
US61/847,371 2013-07-17
US13/960,302 2013-08-06
US13/960,302 US10019484B2 (en) 2013-07-17 2013-08-06 Third party search applications for a search system
PCT/US2014/046638 WO2015009687A1 (en) 2013-07-17 2014-07-15 Third party search applications for a search system
CN201480040539.8A CN105431844B (zh) 2013-07-17 2014-07-15 用于搜索***的第三方搜索应用
CN201910521635.9A CN110362727B (zh) 2013-07-17 2014-07-15 用于搜索***的第三方搜索应用

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201480040539.8A Division CN105431844B (zh) 2013-07-17 2014-07-15 用于搜索***的第三方搜索应用

Publications (2)

Publication Number Publication Date
CN110362727A true CN110362727A (zh) 2019-10-22
CN110362727B CN110362727B (zh) 2023-07-14

Family

ID=52344470

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201480040539.8A Active CN105431844B (zh) 2013-07-17 2014-07-15 用于搜索***的第三方搜索应用
CN201910521635.9A Active CN110362727B (zh) 2013-07-17 2014-07-15 用于搜索***的第三方搜索应用

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201480040539.8A Active CN105431844B (zh) 2013-07-17 2014-07-15 用于搜索***的第三方搜索应用

Country Status (5)

Country Link
US (2) US10019484B2 (zh)
EP (1) EP3022666A1 (zh)
KR (1) KR102263637B1 (zh)
CN (2) CN105431844B (zh)
WO (1) WO2015009687A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9405822B2 (en) * 2013-06-06 2016-08-02 Sheer Data, LLC Queries of a topic-based-source-specific search system
US9798829B1 (en) * 2013-10-22 2017-10-24 Google Inc. Data graph interface
US9430586B2 (en) * 2014-04-02 2016-08-30 Microsoft Technology Licensing, Llc Reference resolution
US20150363473A1 (en) * 2014-06-17 2015-12-17 Microsoft Corporation Direct answer triggering in search
US10762143B2 (en) * 2015-02-13 2020-09-01 Microsoft Technology Licensing, Llc Extension of third party application functionality for intent determination
US10558688B1 (en) 2015-04-15 2020-02-11 Arimo, LLC Natural language interface for data analysis
US9854030B2 (en) * 2015-06-11 2017-12-26 Airwatch Llc Searching content associated with multiple applications
US10104051B2 (en) 2015-10-27 2018-10-16 Airwatch Llc Searching content associated with multiple applications
US10162853B2 (en) * 2015-12-08 2018-12-25 Rovi Guides, Inc. Systems and methods for generating smart responses for natural language queries
US9893808B2 (en) * 2016-03-18 2018-02-13 Target Brands, Inc. VLC location data applications in a retail setting
US10776352B2 (en) * 2016-11-30 2020-09-15 Hewlett Packard Enterprise Development Lp Generic query language for data stores
CN108446286B (zh) * 2017-02-16 2023-04-25 阿里巴巴集团控股有限公司 一种自然语言问句答案的生成方法、装置及服务器
CN107332922B (zh) * 2017-07-19 2020-07-17 佛山科学技术学院 基于社区管理的嵌入式Web服务器的数据传输方法及***
US10878019B2 (en) * 2017-10-20 2020-12-29 Dropbox, Inc. Hosted storage for third-party services
US10979235B2 (en) 2017-10-20 2021-04-13 Dropbox, Inc. Content management system supporting third-party code
US11113411B2 (en) 2017-10-20 2021-09-07 Dropbox, Inc. Authentication security model for a content management system
CN108008941B (zh) * 2017-11-16 2019-06-21 北京大学 一种安卓应用的深链接口自动生成方法及深链执行方法
KR102335090B1 (ko) 2018-03-21 2021-12-03 구글 엘엘씨 보안 처리 환경에서의 데이터 전송
WO2020069517A2 (en) 2018-09-30 2020-04-02 Strong Force Intellectual Capital, Llc Intelligent transportation systems
US20200104966A1 (en) 2018-09-30 2020-04-02 Strong Force Intellectual Capital, Llc Intelligent transportation systems
US11170017B2 (en) 2019-02-22 2021-11-09 Robert Michael DESSAU Method of facilitating queries of a topic-based-source-specific search system using entity mention filters and search tools
CN111090794B (zh) * 2019-11-07 2023-12-05 远景智能国际私人投资有限公司 气象数据查询方法、装置及存储介质
US11461419B2 (en) 2020-07-09 2022-10-04 Google Llc Discovering alternate online service providers

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007059287A1 (en) * 2005-11-16 2007-05-24 Evri Inc. Extending keyword searching to syntactically and semantically annotated data
US20080306913A1 (en) * 2007-06-05 2008-12-11 Aol, Llc Dynamic aggregation and display of contextually relevant content
US20100332493A1 (en) * 2009-06-25 2010-12-30 Yahoo! Inc. Semantic search extensions for web search engines
US20110264656A1 (en) * 2010-04-22 2011-10-27 Microsoft Corporation Context-based services
US20130166530A1 (en) * 2011-09-08 2013-06-27 Wolfram Alpha Llc Method and System for Analyzing Data Using a Query Answering System

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295528B1 (en) * 1998-11-30 2001-09-25 Infospace, Inc. Method and apparatus for converting a geographic location to a direct marketing area for a query
US6904433B2 (en) * 2000-04-25 2005-06-07 At&T Corp. Method for using query templates in directory caches
US7418440B2 (en) * 2000-04-13 2008-08-26 Ql2 Software, Inc. Method and system for extraction and organizing selected data from sources on a network
US6946715B2 (en) * 2003-02-19 2005-09-20 Micron Technology, Inc. CMOS image sensor and method of fabrication
US7389306B2 (en) * 2003-07-25 2008-06-17 Enkata Technologies, Inc. System and method for processing semi-structured business data using selected template designs
US20050114306A1 (en) * 2003-11-20 2005-05-26 International Business Machines Corporation Integrated searching of multiple search sources
US20060015483A1 (en) * 2004-07-15 2006-01-19 International Business Machines Corporation SQL query enhancement technique
US7555475B2 (en) * 2005-03-31 2009-06-30 Jiles, Inc. Natural language based search engine for handling pronouns and methods of use therefor
US20080066099A1 (en) * 2006-09-11 2008-03-13 Apple Computer, Inc. Media systems with integrated content searching
CN101231636B (zh) * 2007-01-25 2013-09-25 北京搜狗科技发展有限公司 一种便捷的信息搜索方法、***及一种输入法***
US7991609B2 (en) * 2007-02-28 2011-08-02 Microsoft Corporation Web-based proofing and usage guidance
US8954469B2 (en) * 2007-03-14 2015-02-10 Vcvciii Llc Query templates and labeled search tip system, methods, and techniques
US7685141B2 (en) * 2007-06-06 2010-03-23 Yahoo! Inc. Connection sub-graphs in entity relationship graphs
US9104738B2 (en) * 2008-06-19 2015-08-11 Tropare, Inc. Leveraging collaborative cloud services to build and share apps
US20100306678A1 (en) * 2009-05-28 2010-12-02 Kulas Charles J User interface controls including capturing user mood
AU2011352038B2 (en) * 2010-12-30 2014-10-02 Cheq Ai Technologies (2018) Ltd. Online privacy management
US9003552B2 (en) * 2010-12-30 2015-04-07 Ensighten, Inc. Online privacy management
US8782081B2 (en) * 2011-05-11 2014-07-15 Google Inc. Query template definition and transformation
US8526930B2 (en) * 2011-07-07 2013-09-03 GM Global Technology Operations LLC Enhanced smartphone in-vehicle accommodation
US20130024448A1 (en) * 2011-07-21 2013-01-24 Microsoft Corporation Ranking search results using feature score distributions
US9262133B2 (en) * 2012-01-27 2016-02-16 Amx Llc Mapping and formatting input commands to a third party protocol
US20130238609A1 (en) * 2012-03-07 2013-09-12 Microsoft Corporation Query result rendering
US20130290289A1 (en) * 2012-04-30 2013-10-31 Brightedge Technologies, Inc. Integration of third party information
US20140006370A1 (en) * 2012-06-30 2014-01-02 Microsoft Corporation Search application for search engine results page
US20140101739A1 (en) * 2012-10-09 2014-04-10 Microsoft Corporation Semantic challenge for audio human interactive proof
CN103034704A (zh) * 2012-12-07 2013-04-10 Tcl集团股份有限公司 一种多媒体文件的搜索方法、装置和***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007059287A1 (en) * 2005-11-16 2007-05-24 Evri Inc. Extending keyword searching to syntactically and semantically annotated data
US20080306913A1 (en) * 2007-06-05 2008-12-11 Aol, Llc Dynamic aggregation and display of contextually relevant content
US20100332493A1 (en) * 2009-06-25 2010-12-30 Yahoo! Inc. Semantic search extensions for web search engines
US20110264656A1 (en) * 2010-04-22 2011-10-27 Microsoft Corporation Context-based services
US20130166530A1 (en) * 2011-09-08 2013-06-27 Wolfram Alpha Llc Method and System for Analyzing Data Using a Query Answering System

Also Published As

Publication number Publication date
US10019484B2 (en) 2018-07-10
US20180314736A1 (en) 2018-11-01
CN105431844A (zh) 2016-03-23
CN110362727B (zh) 2023-07-14
CN105431844B (zh) 2019-07-09
KR102263637B1 (ko) 2021-06-10
KR20160033666A (ko) 2016-03-28
US10289618B2 (en) 2019-05-14
EP3022666A1 (en) 2016-05-25
WO2015009687A1 (en) 2015-01-22
US20150026212A1 (en) 2015-01-22

Similar Documents

Publication Publication Date Title
CN105431844B (zh) 用于搜索***的第三方搜索应用
JP6408081B2 (ja) オンライン・ソーシャル・ネットワーク上の検索結果をブレンドすること
JP6388988B2 (ja) オンライン・ソーシャル・ネットワークにおける検索クエリのための静的ランク付け
JP6293830B2 (ja) オンライン・ソーシャル・ネットワークにおける検索クエリに対する近似的プライバシ
US11670288B1 (en) Generating predicted follow-on requests to a natural language request received by a natural language processing system
JP6377807B2 (ja) オンライン・ソーシャル・ネットワークにおける検索クエリの書き換え
JP5736469B2 (ja) ユーザ意図の有無に基づく検索キーワードの推薦
US10289700B2 (en) Method for dynamically matching images with content items based on keywords in response to search queries
WO2019205716A1 (zh) 一种搜索应用程序内信息的方法及设备
US8244766B2 (en) Applying a model of a persona to search results
US20110136542A1 (en) Method and apparatus for suggesting information resources based on context and preferences
JP6407968B2 (ja) 可変検索クエリ・バーティカル・アクセス
US10235387B2 (en) Method for selecting images for matching with content based on metadata of images and content in real-time in response to search queries
CN108170731A (zh) 数据处理方法、装置、计算机存储介质及服务器
US20110264678A1 (en) User modification of a model applied to search results
JP6680472B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US10868872B2 (en) Method and system for determining a source link to a source object
CN117763223A (zh) 资讯推送方法、电子设备以及存储介质
CA2916029A1 (en) Method, system and apparatus for dynamic detection and propagation of data clusters

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