CN104937590B - 用相关第三方应用内容扩充搜索结果 - Google Patents

用相关第三方应用内容扩充搜索结果 Download PDF

Info

Publication number
CN104937590B
CN104937590B CN201380065169.9A CN201380065169A CN104937590B CN 104937590 B CN104937590 B CN 104937590B CN 201380065169 A CN201380065169 A CN 201380065169A CN 104937590 B CN104937590 B CN 104937590B
Authority
CN
China
Prior art keywords
search
app
search inquiry
inquiry
party 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.)
Active
Application number
CN201380065169.9A
Other languages
English (en)
Other versions
CN104937590A (zh
Inventor
A.库马
S.萨胡卡
M.W.奥康诺尔
蒋昭玮
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN201811124158.4A priority Critical patent/CN109408709A/zh
Publication of CN104937590A publication Critical patent/CN104937590A/zh
Application granted granted Critical
Publication of CN104937590B publication Critical patent/CN104937590B/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/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • 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/903Querying
    • G06F16/9038Presentation of query results
    • 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
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates

Landscapes

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

Abstract

提供了用于采用从第三方应用接收的相关内容扩充基于Web的搜索结果的方法、计算机系统和计算机存储介质。多个第三方应用中的每一个第三方应用被注册,以获得与每个注册的第三方应用相关联的实体类型的指示。接收已注释的搜索查询,其包括原始输入的搜索查询和与所述搜索查询相关联的至少一个实体类型。将已注释的搜索查询传送给具有与相关联于所输入的搜索查询的实体类型相匹配的、所指示的实体类型的那些第三方应用。从所述应用接收与已注释的搜索查询相关的搜索结果,并且将所述搜索结果呈现在结果页面上。

Description

用相关第三方应用内容扩充搜索结果
背景技术
随着用户设备上的第三方应用或app的激增,存在这样的趋势,即:用户通过利用专用于某一领域的app来满足他们对特定领域搜索的需求,而不再使用基于Web的搜索服务。例如,搜索附近饭馆的用户可以直接到他或她的URBANSPOON® app上发现饭馆并且进行评价,而替代于使用诸如必应(BING)®之类的搜索服务。结果是业务量从基于Web的搜索服务转移到了别处。
此外,虽然搜索服务在爬行和标引信息中是有效的,但是所述信息目前被限制为可公开获得的信息。相关于用户与特定app接触(engagement)的历史的信息通过用户登录而得到的,并且通过用户登录而受到很大保护,并且一般不是搜索服务可获得的。而且,与这些app相关联的内容也不可用于由基于Web的搜索服务来消费。例如, 必应®不能爬行和标引用户的EXPEDIA®旅行计划。这使得搜索服务在提供基于Web的搜索结果的时候充分回应用户意图非常困难。
发明内容
本概要被提供来以简化形式介绍概念的选择,这些概念将在后文的详细说明中进一步描述。本概要既不打算标识所要求保护的主题的关键特征或必要特征,也不打算被用于帮助确定所要求保护的主题的范围。
本发明的实施例涉及除了其他之外的用于采用从第三方应用接收的相关内容扩充基于Web的搜索结果的系统、方法和计算机存储介质。第三方应用可以通过例如将注册请求传送到搜索扩展器服务来向搜索扩展器服务进行注册。每个注册请求包括关于与第三方应用相关联的实体类型或者信息种类的信息。例如,来自URBANSPOON®的注册请求可以指示该app提供与饭馆和饭馆评价相关的信息。
搜索扩展器服务从例如搜索服务接收已注释的搜索查询。已注释的搜索查询包括原始输入的搜索查询以及关于搜索查询而确定的信息,其包括与搜索查询相关联的实体类型、与搜索查询相关联的动作意图等等。标识具有与所输入的搜索查询相关联的实体类型相匹配的实体类型的app,并且将已注释的搜索查询传送给那些app。一旦app接收到已注释的搜索查询,所述app就会针对与所述app相关联的内容执行查询,所述内容通常受到保护并且对于基于Web的搜索服务而言是不可得到的。回应了已注释的搜索查询的那些搜索结果被返回到搜索扩展器服务,在搜索扩展器服务中,它们被汇总并且基于各种各样不同的因素进行排序。在一方面,使用预定义的模板展现所排序的搜索结果,并且将所排序的搜索结果呈现在结果页面上。app搜索结果可以与基于Web的搜索结果同时呈现。
相应地,在一个实施例中,本发明针对一个或多个计算机存储介质,所述计算机存储介质具有在其上体现的计算机可执行指令,当所述指令由计算装置执行时,其使得计算装置执行用来自第三方应用的相关内容扩充基于Web的搜索结果的方法。该方法包括注册多个第三方应用中的每一个,以获得与每个所注册的第三方应用相关联的一个或多个实体类型的指示。接收已注释的搜索查询;已注释的搜索查询至少包括所输入的搜索查询和被确定为与所输入的搜索查询相关联的至少一个实体类型。已注释的搜索查询被传送到多个第三方应用中的至少第一第三方应用。所述的至少第一第三方应用具有与被确定为与所输入的搜索查询相关联的至少一个实体类型相匹配的相关联实体类型。从所述至少第一第三方应用接收至少一个搜索结果,其中所述至少一个搜索结果与所输入的搜索查询和与所输入的搜索查询相关联的至少一个实体类型相关。在结果页面上呈现所述至少一个搜索结果。
在另一个实施例中,本发明针对一种用于执行用从第三方应用接收的相关内容扩充基于Web的搜索结果的方法的计算机系统。该系统包括存储与一个或多个第三方应用相关联的一个或多个注册请求的数据仓库;每个注册请求包括与请求的相应第三方应用相关联的一个或多个实体类型的指示。该系统还包括具有与数据仓库耦合的一个或多个计算机存储介质的搜索扩展器服务器。搜索扩展器服务器接收已注释的搜索查询,其中每个已注释的搜索查询至少包括所输入的搜索查询和被确定为与所输入的搜索查询相关联的至少一个实体类型。基于与一个或多个第三方应用相关联的实体类型,将已注释的搜索查询传送给所述一个或多个第三方应用。从所述一个或多个第三方应用接收与已注释的搜索查询相关的搜索结果。
接着,该系统进一步包括与一个或多个注册请求相关联的一个或多个第三方应用;所述一个或多个第三方应用中的每个第三方应用被配置成从搜索扩展器服务器接收已注释的搜索查询。所述一个或多个第三方应用针对本地缓存的内容或者基于云的内容中的至少一个执行已注释的搜索查询, 并且标识与所输入的搜索查询相关的至少一个搜索结果和与所输入的搜索查询相关联的至少一个实体类型。将至少一个搜索结果传送给搜索扩展器服务器。
在又一种实施例中,本发明针对一种在用户装置上由搜索扩展器服务器实行的、用于用来自一个或多个第三方应用的相关内容扩充基于Web的搜索结果的计算机化方法。该方法包括注册多个第三方应用中的每一个,以获得与每个所注册的第三方应用相关联的一个或多个实体类型的指示。接收已注释的搜索查询。已注释的搜索查询至少包括一个所输入的搜索查询、被确定为与所输入的搜索查询相关联的实体类型和被确定为与所输入的搜索查询相关联的动作意图。将已注释的搜索查询传送到所述一个或多个第三方应用,所述一个或多个第三方应用中的每一个具有与被确定为与所输入的搜索查询相关联的实体类型相匹配的相关联实体类型。从一个或者多个第三方应用接收多个搜索结果,其中多个搜索结果中的每个搜索结果相关于所输入的搜索查询和与所输入的搜索查询相关联的实体类型。附加地,所述多个搜索结果中的搜索结果的至少一部分包括相关于与所输入的搜索查询相关联的动作意图的可选择动作。在结果页面上呈现所述多个搜索结果。
附图说明
下面将参照附图对本发明进行详细描述,其中:
图1是适于在实施本发明的实施例时使用的示范性计算环境的框图;
图2是适于在实施本发明的实施例时使用的用于用从第三方应用接收的相关内容扩充基于Web的搜索结果的示范性系统的框图;
图3是图示出按照本发明的实施例的用于将已注释的搜索查询传送给规定的第三方应用并且接收与已注释的搜索查询相关的搜索结果的示范性处理的处理流程图;
图4是图示出按照本发明实施例的包括传统的基于Web的搜索结果和来自第三方应用的相关内容的搜索引擎结果页面的示范性图形用户界面;和
图5-6是图示出按照本发明的实施例的用从第三方应用接收的相关内容扩充基于Web的搜索结果的示范性方法的流程图。
具体实施方式
本文将具体描述本发明的主题,以满足法定的要求。然而,本描述本身并非打算限制本专利的范围。相反,本发明人已经预料到,所要求保护的主题也可能结合其他现有的或未来的技术以其他方式体现,以包括与本文档中描述的步骤类似的不同步骤或步骤组合。而且,虽然本文可能会使用术语“步骤”和/或“块”来暗指所采用方法的不同要素,但是除非当各个步骤的次序被明确描述时,否则这些术语不应被解释为暗示本文公开的各种步骤之间的任何特定次序。
本文描述的技术的各种方面除了其他方面之外,一般针对用从第三方应用接收的相关内容扩充基于Web的搜索结果的系统、方法和计算机存储介质。第三方应用可以通过将注册请求传送到搜索扩展器服务来向搜索扩展器服务进行注册。每个注册请求可以包括关于与第三方应用相关联的实体类型或信息种类的信息。例如,来自URBANSPOON®的注册请求可以指示该app提供与饭馆和饭馆评价相关的信息。
搜索扩展器服务从例如搜索服务接收已注释的搜索查询。已注释的搜索查询包括原始输入的搜索查询以及关于搜索查询而确定的信息,其包括与搜索查询相关联的实体类型、与搜索查询相关联的动作意图等等。标识具有与所输入的搜索查询相关联的实体类型相匹配的实体类型的app,并且将已注释的搜索查询传送给那些app。一旦app接收到已注释的搜索查询,所述app会针对与所述app相关联的内容执行查询—所述内容通常受到保护并且对于传统的基于Web的搜索服务而言是不可得到的。回应已注释的搜索查询的那些搜索结果被返回到搜索扩展器服务,在搜索扩展器服务中,它们被汇总并且基于各种各样不同的因素进行排序。随后,在一方面,使用预定义的模板展现所排序的搜索结果,并且将所排序的搜索结果呈现在结果页面上。app搜索结果可以与基于Web的搜索结果同时呈现。在一方面, app搜索结果中的一个或多个采用相关于与所输入的搜索查询相关联的动作意图的可选择动作而呈现。动作的用户选择实例化结果页面上的app并且发起相关的动作。
术语“第三方应用”和“app”在本文中可交换使用并且大体上属于被设计为由托管在计算装置、远程基于云的服务器或二者组合上的操作系统执行的应用软件;该应用软件帮助用户执行特定任务。在操作中,应用提供真实世界中的数字解决方案,诸如字处理、游戏、基于通信的接口等等。应用的示例包括企业软件、会计软件、公共程序组、图形软件和媒体播放器,并且包括如GROUPON®、SHAZAM®、OPENTABLE®、YELP®等等这样的流行应用。应当理解并领会,应用的定义并不限于本文提供的示例的范围并且可以包括在执行时实行一个或多个操作的任何代码。
在简要描述了本发明的实施例的综述之后,下面将描述可以实施本发明的实施例的示范性操作环境,以便为本发明的各种方面提供一般上下文。总体上参照附图并且特别是首先从图1开始,示出了用于实施本发明实施例的示范性操作环境并且该操作环境一般被指定为计算装置100。计算装置100只不过是适当计算环境的一个示例,而不打算建议关于本发明实施例的使用或功能性范围的任何限制。也不应当将计算装置100解释为具有与所图示的组件中的任何一个或者组合相关的依赖性或要求。
本发明的实施例可以在计算机代码或机器可用指令的一般上下文中描述,所述机器可用指令包括由计算机或其他机器执行的计算机可用或计算机可执行指令(诸如程序模块),所述其他机器诸如个人数字助理、智能电话、平板PC或者其他手持装置。一般地,包括例程、程序、对象、组件、数据结构等等的程序模块指执行特定任务或实施特定抽象数据类型的代码。本发明的实施例可以在各种各样的系统配置中实践,所述系统配置包括手持装置、消费电子产品、通用计算机、较专业的计算装置等。本发明的实施例还可以分布式计算环境中实践,在所述分布式计算环境中,任务由通过通信网络链接的远程处理装置执行。在分布式计算环境中,程序模块可以位于包括存储器存储装置的本地计算机存储介质和远程计算机存储介质两者中。
继续参照图1 ,计算装置100包括直接或间接耦合下列装置的总线110:存储器112、一个或多个处理器114、一个或多个呈现组件116、一个或多个输入/输出(I/O)端口118、一个或多个I/O组件120和说明性的电源122。总线110代表的可以是一条或多条总线(比如地址总线、数据总线或它们的组合)。虽然为了清楚起见,用线示出图1的各种块,但是实际上,这些块代表逻辑组件,而不必然是实际组件。例如,人们可以将诸如显示装置之类的呈现组件看成是I/O组件。同样,处理器具有存储器。由此,本发明人认为这是本领域的本质,并且重申图1的框图仅仅图示可以结合本发明的一个或多个实施例使用的示范性的计算装置。在如“工作站”、“服务器”、“膝上型电脑”、“手持装置”等等这样的种类之间不作区分,因为所有这些都预料处于在图1的范围之内并且称为“计算装置”。
计算装置100典型地包括各种各样的计算机可读介质。计算机可读介质可以是可由计算装置100访问的任何可获得的介质并且包括易失性和非易失性介质、可移除和不可移除介质。计算机可读介质包括计算机存储介质和通信介质;计算机存储介质将信号本身排除在外。计算机存储介质包括以任何方法或技术实施以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的之类的信息的、易失性和非易失性、可移除和不可移除的介质。计算机存储介质包括但不限于 RAM、ROM、EEPROM、闪速存储器或其他存储器技术、CD-ROM、数字多用盘(DVD)或其他光盘存储设备、盒式磁带、磁带、磁盘存储设备或其他磁存储装置或者可用于存储合期望的信息并且可由计算装置100访问的任何其他介质。另一方面,通信介质体现在诸如载波之类的已调制数据信号或其他传输机制中的计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传递介质。术语“已调制数据信号”指的是这样的信号,即:使其特征中的一个或多个特征以如下的方式设置或改变,即:编码信号中信息。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、RF、红外线及其他无线介质之类的无线介质。上述的任何的组合也应当被包括在计算机可读介质的范围之内。
存储器112包括易失性和/或非易失性存储器形式中的计算机存储介质。存储器可以是可移除的、不可移除的或者二者的组合。示范性的硬件装置包括固态存储器、硬盘、光盘驱动器等等。计算装置100包括从各种实体(诸如存储器112或I/O组件120)中读取数据的一个或多个处理器。(一个或者多个)呈现组件116将数据的指示呈现给用户或其他装置。示范性的呈现组件包括显示装置、扬声器、打印组件、振动组件等等。
I/O端口118允许计算装置100逻辑上与包括I/O组件120的其他装置耦合,某些I/O组件120可以是嵌入式的。说明性的组件包括麦克风、操纵杆、游戏板、圆盘式卫星接收天线(satellite dish)、扫描仪、打印机、无线装置等等。
此外,虽然本文中通常使用术语“服务器”,但是将认识到,该术语可以还涵盖搜索服务、搜索扩展器服务、Web浏览器、云服务器、一组分布在一个或多个计算机上的一个或多个过程、一组一个或多个独立的存储装置、一组一个或多个其他计算或存储装置、上述一个或多个的组合等等。
现在参照图2,提供了图示可以在其中采用本发明实施例的示范性计算系统200的框图。一般地,计算系统200图示了用从第三方应用接收的相关内容或搜索结果扩充基于Web的搜索结果的环境。从app接收的内容不仅与所输入的搜索查询相关,而且除了其他之外,还与被确定为与所输入的搜索查询相关联的实体类型和动作意图相关。与简单匹配搜索查询中的关键词或字母的应用结果相比,诸如这样的内容有助于更加充分地回应用户意图。
除了未示出的其他组件之外,计算系统200一般包括客户端装置212、第三方应用222及其相关联的数据仓库224和基于云的内容226以及搜索扩展器服务210,所有这些都经由网络218与彼此通信。网络218可以包括但不限于一个或多个局域网(LAN)和/或广域网(WAN)。这样的联网环境在办公室、企业范围的计算机网络、内联网和互联网中是常见的。因此,本文不对网络218进行进一步描述。
应当理解的是,在本发明的实施例的范围之内,在计算系统200中可以采用任何数量的客户端计算装置、第三方应用和搜索扩展器服务。其每个可以包括单个装置/接口或在分布式环境中合作的多个装置/接口。例如,搜索扩展器210可以包括安排在分布式环境中的多个装置和/或模块,它们共同提供本文描述的搜索扩展器210的功能性。附加地,未示出的其他组件/模块也可以被包括在计算系统200内。
在某些实施例中,可以将图示的组件/模块中的一个或多个组件/模块实施为独立的应用。在其他实施例中,可以经由客户端装置212将图示的组件/模块中的一个或多个组件/模块实施为基于互联网的服务,或者实施为搜索扩展器210内部的模块。将由本领域普通技术人员理解的是,图2中所图示的组件/模块在本质上和数量上是示范性的并且不应被解读为限制性的。可以采用任何数量的组件/模块来实现本文实施例的范围之内的合期望的功能性。此外,组件/模块可以位于任意数量的搜索扩展器上,或者客户端计算装置上。仅仅作为示例,搜索扩展器210可以被提供为单个服务器(如所示)、服务器集群或者远离其余组件中的一个或多个组件的计算装置。
应当理解的是,本文描述的这种和其他的安排仅仅作为示例而阐述。除了所示出的那些安排之外或者替代所示出的那些安排,可以使用其他的安排和元件(例如,机器、接口、功能、次序和功能分组等),并且某些元件可以完全省略。此外,本文介绍的元件中的许多元件是功能实体,其可以被实施为分立或者分布式的组件或者结合其他组件实施,并且以任何适当的组合以及在任何适当的位置实施。本文描述的、由一个或多个实体执行的各种功能可以由硬件、固件和/或软件实行。例如,各种功能可以由执行存储在存储器中的指令的处理器来实行。
客户端计算装置212可以包括任何类型的计算装置,诸如例如参照图1描述的计算装置100。一般地,客户端计算装置212包括浏览器214和显示器216。除了其他方面之外,浏览器214被配置成与客户端计算装置212的显示器216相关联地展现搜索主页(或其他在线着陆页)并且展现结果页面。如本申请通篇所使用的,术语“结果页面”意味着涵盖诸如搜索引擎结果页面和与独立的或嵌入在其他应用(例如Xbox®、微软®办公软件(Microsoft®Office)等)中的搜索应用相关联的结果页面之类的Web页面。诸如这些应用可以与Web页面相关联地呈现搜索结果或者可以在诸如对话框之类的其他类型的页面上呈现搜索结果。
浏览器214被进一步配置成接收对于各种web页面(包括搜索引擎主页)的请求的用户输入、接收用户输入的搜索查询(一般经由在显示器216上呈现的用户界面而输入,并且许可字母数字式的输入和/或文本输入、话音输入和/或手势输入到指定的搜索框中),并且例如从搜索扩展器210接收用于在显示器216上呈现的内容。浏览器216可以是任何适当类型的Web浏览器,比如Internet Explorer®、火狐(Firefox)®、Chrome®、Safari®或者被配置成使得能提交搜索查询的其他类型的软件,如本文公开的。应当注意,本文描述的、由浏览器214执行的功能性可以由能够展现Web内容的任何其他应用来执行。任何和所有这样的变型以及它们的任何组合都被预料为处于本发明实施例的范围之内。显示器216被配置成呈现各种内容,其包括但不限于浏览器页面、搜索引擎主页和结果页面和/或第三方应用页面。在实施例中,显示器216被进一步配置成使得能进行来自用户的触摸输入、听觉输入和/或手势输入。
在一方面,第三方应用222(或“app” 222)被本地安装在例如客户端装置212上,并且利用客户端装置212的操作系统和系统资源来完成其处理任务。在另一方面,app 222包括 “虚拟app”或“基于云的app”,其利用一个或多个远程云服务器来执行其处理任务中的某些任务或全部人物。对虚拟app的访问可以通过诸如浏览器214之类的浏览器或者通过充当用于连接到云服务器的浏览器的app图标。任何和所有这样的变型以及它们的任何组合都被预料为处于本发明实施例的范围之内。
app 222被配置成与搜索扩展器210通信,以便例如向搜索扩展器210发送注册请求、从搜索扩展器210接收已注释的搜索查询和将与已注释的搜索查询相关的搜索结果连同附加信息一起发送给搜索扩展器210。该附加信息可以包括与app 222相关联的用户身份、对于app 222内的各种页面的统一资源定位器(URL)、用户与app 222接触的历史、与app222相关联的动作和相关联的URL和/或展现信息。展现信息可以包括可以用来有助于展现搜索结果的模板和/或品牌或商标信息。
在一方面,app 222被进一步配置成向搜索扩展器210传送与app 222相关联的一个或多个实体类型或信息种类。作为示例, ANGIE'S LIST®app可以规定它与诸如“家装修理”和“职业分派(referral)”之类的实体类型相关联。一般地,实体指有形的或无形的真实世界物品,并且实体类型指由一个或多个实体共享的共同属性或者指信息的种类。例如,“詹姆斯邦德(James Bond)”和“比尔博巴金斯(Bilbo Baggins)”两者都是共享“电影角色”和/或“电影”的共同属性的实体。 因此,“电影”和“电影角色”被看成是实体类型。app 222可以在被传送给搜索扩展器210的注册请求中传送实体类型的指示。在本发明的另一个方面中,搜索扩展器210可以被配置成通过爬行网站并且标识规定与第三方应用相关联的实体类型的标记语言来发现app实体类型信息。任何和所有这样的变型以及它们的任何组合都被预料为处于本发明实施例的范围之内。
app 222还被配置成在保持处于后台中的同时使用例如已注释的搜索查询来执行搜索。换句话说,搜索是在不需要app 222被实例化并且不需要app 222出现在客户端装置212的前台中的情况下执行的,从而避免潜在地干扰用户活动。由app 222进行的搜索可以是针对与数据仓库224相关联地存储的本地缓存内容而执行的。同样,搜索可以是针对存储在远离例如客户端装置212的位置中的数据执行的;这个远程位置由云226代表。任何和所有这样的变型以及它们的任何组合都被预料为处于本发明实施例的范围之内。与数据仓库224和/或云226相关联的内容可以包括用户标识信息、搜索结果、用户与app 222接触的历史、与app 222相关联的实体类型、与app 222相关联的动作和动作URL、呈现信息等等。该内容一般受到一组用户证书(例如,用户登录身份)的保护并且典型地不可由搜索服务访问。app 222被配置成在不需要与搜索扩展器210共享用户的私人证书的情况下实行上述活动。
如图所示,搜索扩展器210包括注册组件228、接收组件230、标识组件232、app通信组件234、排序组件236、展现组件238和动作组件240。在某些实施例中,组件228、230、232、234、236、238和240中的一个或多个可以被实施为独立的应用。在其他实施例中,组件228、230、232、234、236、238和240中一个或多个可以被直接集成到计算装置(诸如图1的计算装置100或客户端装置212)的操作系统中。将理解的是,图2中所图示的组件228、230、232、234、236、238和240在本质上和数量上是示范性的,而不应被解读为限制性的。在本文实施例的范围之内,可以采用任何数量的组件来实现合期望的功能性。搜索扩展器210可以被实施为对于浏览器(诸如浏览器214)的插件应用。在另一方面,搜索扩展器210可以是客户端装置212上的独立应用。此外,与搜索扩展器210相关联的功能性可以按照用户偏好而开启或关闭。
所图示的搜索扩展器210还可以访问数据仓库220。数据仓库220被配置成存储由例如搜索扩展器210使用的信息。与数据仓库220相关联地存储的信息被配置成可搜索与该数据仓库220相关联地存储的信息中的一个或多个项目。与数据仓库220相关联地存储的信息可以包括由搜索扩展器210使用的一般信息。例如,数据仓库220可以存储与所记录的用户搜索行为总体上相关的信息,并且在被许可时,数据仓库220可以存储特定用户搜索行为的日志。
数据仓库220还可以存储与已经向搜索扩展器210注册的app有关的信息。这样的信息可以包括在客户端装置212上的app 222的位置。例如,特定app是否已经被“钉在(pinned)”或放置在客户端装置212的主屏幕上,或者app是否已经被移动到客户端装置212上更好访问的页面上。该信息还可以包括关于app的已知评分信息和与不同app相关联的实体类型。附加地,数据仓库220可以存储关于用户与app搜索结果接触的信息。这样的信息是大量的,但是某些代表性示例可以包括频繁用于回应针对特定实体类型的搜索查询的app身份、用户是否使用app结果发起了深启动(deep launch)动作、用户花费在特定app或app结果上的时间量,以及用户是否在选择app结果之后完成了购买(如果可以得到该信息)。该信息可以由搜索扩展器210使用来调整从诸如app 222之类的第三方应用接收的搜索结果的排序。此外,数据仓库220可以存储对于频繁执行的搜索查询的app搜索结果。
数据仓库220中的这样的信息的内容和容量并非打算以任何方式限制本发明的实施例的范围。此外,虽然被图示为单个的、独立的组件,但是数据仓库220实际上可以是多个存储装置,例如其一部分可以常驻于搜索扩展器210上的数据库集群、客户端装置212和/或它们的任何组合上。
搜索扩展器210的注册组件228被配置成从诸如app 222之类的app接收注册请求,并且将注册请求与数据仓库220相关联地存储起来。为了向搜索扩展器210注册,诸如app222之类的app应当能够在保持处于后台中的同时执行适当的搜索任务。在一方面,在用户已经给出了注册许可之后注册app。可以在安装app时在逐个app的基础上授予许可,也可以由用户授予适用于所有app的一次性许可。
由注册组件228接收的每个app的注册请求可以包括与该app相关联的实体类型的指示。如提到的,与app相关联的实体类型可以被认为是与app相关联的信息种类。实体类型的某些说明性示例包括与NETFLIX®有关的电影和电视节目、与URBANSPOON®有关的饭馆和评价、与INSTAGRAM®有关的图片、与脸谱网(FACEBOOK)®有关的社交联网信息等等。注册请求还可以包括与app能力、使用条件、用户隐私和偏爱参数、对诸如搜索结果使用信息之类的信息的请求等等有关的信息。还可以基于从爬行网站而提取的信息来确定与app相关联的实体类型。例如,Web页面可以具有详细说明不同类型的应用和与每种类型的应用相关联的信息种类的内容。任何和所有这样的变型以及它们的任何组合都被预料为处于本发明实施例的范围之内。
搜索扩展器210的接收组件230被配置成接收已注释的搜索查询。已注释的搜索查询可以从搜索服务接收,或者可以由第三方源提供。搜索服务可以包括互联网搜索引擎或者数据库搜索引擎。这些搜索引擎在本领域中是众所周知的,并且在商业上可获得的引擎共享许多类似的处理,本文对此不作进一步描述。已注释的搜索查询包括由用户输入的原始搜索查询以及由例如搜索服务或第三方源添加的任何注释。所输入的搜索查询可以以各种各样的信息来注释,所述信息包括与所输入的查询相关联的实体类型。作为说明性示例,搜索查询“诺拉琼斯(Norah Jones)”可以以诸如“歌手”、“女歌手”和“爵士乐艺术家”之类的实体类型来注释。可以看出,单个输入的搜索查询可以以多个实体类型来注释。输入的搜索查询还可以以被确定为与该查询相关联的一个或多个动作意图来注释。在另一个说明性示例中,查询“汽车租赁”可以用“预订”的动作意图来注释。其他注释信息包括输入查询的用户的位置、所建议的查询术语、所建议的查询完成、相关搜索查询、使用传统的基于Web的搜索返回的搜索结果、由正常搜索动作发现的搜索广告、(如果得到用户许可的话)用户身份、搜索结果使用信息和总体上的用户的搜索会话历史或者(如果得到用户许可的话)特定用户的搜索会话历史。
标识组件232被配置成标识具有与被确定为与所输入的搜索查询相关联的实体类型相匹配的相关联实体类型的一个或多个app,诸如app 222。这可以通过例如访问与数据仓库220相关联地存储的注册请求以标识与该请求的相应app相关联的实体类型来完成。这还可以通过访问从网站提取的并且与数据仓库220相关联地存储的app实体类型信息来实现。如果实体类型共享某些共性,则app的实体类型可以与搜索查询的实体类型匹配。例如,app的实体类型可以包括“饭馆评价”,并且搜索查询的实体类型可以包括“饭馆”。即使不存在确切的匹配,但app将仍旧被标识为与搜索查询实体类型相匹配。
app通信组件234被配置成将已注释的搜索查询传送给由标识组件232标识出的那些app。通过仅将已注释的搜索查询传送给被标识为具有与搜索查询的实体类型相匹配的实体类型的那些app,到达和来自app的业务量会减少,其进而又减少了在呈现搜索结果时的等待时间以及对计算装置电池功率的需求。这对已经面对针对电池功率的显著需求的智能电话的情况来说尤其重要。在一方面,app通信组件234将被包含在已注释的搜索查询中的信息全部都传送给app,而在另一方面,被包含在已注释的搜索查询中的信息的仅仅一部分被传送给app。这一判决可以基于由app规定的、与app能力、用户隐私和偏好参数和信息请求有关的参数。
app通信组件234被进一步配置成从app接收搜索结果以及附加信息,诸如从app222接收。搜索结果是在app针对其内容执行了已注释的搜索查询之后接收到的。搜索结果是根据所输入的搜索查询和与该搜索查询相关联的任何注释而构成的。在一方面,app搜索结果是按照schema.org标准使用例如HTML标签而在形式上构成的。例如,如果搜索查询包括实体类型,则构成app搜索结果以使得其回应附带该实体类型的所输入的搜索查询。在该实例中,app搜索结果还可以包括典型地与搜索查询的实体类型相关联的适当动作。在另一个示例中,如果搜索查询包括实体类型和动作意图,则构成搜索结果以使得其回应所输入的搜索查询、实体类型和动作意图。app搜索结果可以通过包括可选择动作来回应动作意图,该可选择动作使得用户能够直接导航到app内的该动作(经由URL)。与提供唯一针对原始查询或者原始查询的一部分的app结果相比,构成不仅回应搜索查询而且还回应与该搜索查询相关联的任何注释的app搜索结果有助于更充分地解决用户意图。由app通信组件234接收的附加信息可以包括与app相关联的用户身份、相关的用户与app接触的历史和诸如模板或者品牌信息之类的展现信息。
app通信组件234被配置成异步接收app搜索结果。在一方面,在预定时间帧之外接收的app结果可能不会被呈现在结果页面上。app通信组件234还被配置成删除任何不完整的app搜索结果(例如,缺乏满足由已注释的搜索查询所证明的用户意图的信息)。附加地,app通信组件234被配置成验证搜索结果源,以确定它是合法的app结果,而不是第三方网络钓鱼的企图。
排序组件236被配置成汇总从诸如app 222之类的app接收到的搜索结果并且对所述搜索结果进行排序。可以根据实体类型和/或动作意图来汇总app搜索结果。例如,响应于“蒙大纳(Montana)旅游”的搜索查询,可以根据诸如“兴趣点”和“地图”之类的实体类型对包括动作的app搜索结果进行汇总。 与“兴趣点”实体类型相关联的动作可以包括“购票”或“做出预订”,并且与“地图”相关联的动作可以包括“现在下载”。
对于排序而言,首次从app接收到搜索结果时,结果的排序可以基于例如由app指示的、用户与app接触的历史。 因此,如果app指示了频繁的用户介入,那么该app搜索结果的排序可比来自不频繁使用的app的搜索结果更高。可以基于后续用户与app搜索结果的交互来修改初始排序。用户的频繁交互或选择特定app搜索结果将提高从该app接收的后续搜索结果的排序。
排序组件236还分析与搜索结果的、更细粒度的交互。例如,排序组件可以基于与所输入的搜索查询相关联的实体类型和动作意图分析用户与app的接触。作为说明性示例,用户可在预定汽车租赁的时频繁与AAA app的结果交互,而在预定航空旅行的时与EXPEDIA® app交互。即使在两个app都可以提供与旅行相关的信息时,这也是如此。因此,下一次用户输入具有针对“汽车预订”的动作意图的搜索查询时,AAA app的结果的排序将比EXPEDIA® app的结果更高。
排序组件236还被配置成在确定app搜索结果的排序时分析其他信号。来自被钉在用户主页上的app的搜索结果可以比来自位于用户装置的后续页面上的app的搜索结果排序得更高。在另一个示例中,来自已从较后面的页面移动到较前面的页面的app的搜索结果也可以被排序得更高。其他信号包括用户在已经从app搜索结果中启动某个app之后花费在该app上的时间量,以及(如果信息是可得到的话)用户是否在选择了某个app结果之后完成了购买。这些仅仅是由排序组件236所使用的因素的少许示例。排序组件236被进一步配置成在其相关性和排序算法中使用本领域中已知的传统信号。任何和所有这样的变型以及它们的任何组合都被预料为处于本发明实施例的范围之内。
基于与app搜索结果接触的历史,app通信组件234可以抑制向某些app随后传送已注释的搜索查询,即使那些app具有所规定的、与所输入的搜索查询的实体类型相匹配的实体类型。例如,如果用户很少与AAA app结果接触,则app通信组件234可以不再将与旅行相关的搜索查询传送给AAA app。
展现组件238被配置成将app搜索结果连同展现信息一起传送给例如搜索服务,该搜索服务随后展现所述结果并且将所述结果呈现在结果页面上。展现信息可以包括由搜索扩展器210提供的预定义模板以及由例如app 222提供展现信息。模板可以包括用于app名称的标题区域、用于呈现从app接收的搜索结果信息(包括品牌或商标信息)的消息区域以及可选地用于呈现与app搜索结果相关联的可选择动作的动作区域。在一方面,app搜索结果可以与算法基于Web的搜索结果同时展现。app搜索结果可以被呈现在与结果页面上的基于Web的搜索结果分开的区域中,或者可以与基于Web的搜索结果交织在一起。在另一方面,基于用户偏好,可以在没有基于Web的搜索结果的情况下在结果页面上呈现app搜索结果。任何和所有这样的变型以及它们的任何组合都被预料为处于本发明实施例的范围之内。
动作组件240被配置用于进行大量不同的事情。例如,一旦被展现和呈现在结果页面上,用户可以经由动作组件240通过选择搜索结果来启动与app搜索结果相关联的app。选择app结果将该app实例化为该app内的、回应由已注释的搜索查询所证明的用户意图的页面或者位置。例如,选择响应于搜索查询“泰餐饭馆”而返回的URBANSPOON® app的结果会将该app启动为在该app中针对泰餐饭馆的页面。对于包括可选择动作的那些app搜索结果,选择app结果会将相应的app启动为在该app内的、回应由已注释的搜索查询所证明的用户动作意图的页面或位置。例如,选择响应于搜索查询“汽车租赁”而返回的AAA搜索结果会将该app启动为用户可以在其中预订汽车的预订页面。在某些方面,在选择app结果时,自动发起app内的动作。作为示例,选择响应于搜索查询“变形金刚”而返回的具有“下载”动作的NETFLIX® app结果将启动该app并且向用户装置发起变形金刚的电影的自动下载。任何和所有这样的变型以及它们的任何组合都被预料为处于本发明实施例的范围之内。
可以启动apps以使得app页面覆盖结果页面的一部分,从而使得用户能够同时查看与结果页面和应用页面相关联的内容。在该实例中,可以通过选择结果页面上的任何区域来消除app(例如,“轻消除(light-dismiss)”)。在另一方面,可以全屏启动app。
现在转到图3,一般由附图标记300引用的处理流程图被描绘成图示用来自第三方应用的相关内容扩充基于Web的搜索结果的方法。图3包括搜索服务310、第三方应用312(“app” 312)和搜索扩展器314。
搜索服务310可以包括诸如必应®或谷歌(GOOGLE)®之类的传统搜索引擎以及本领域已知的数据库搜索引擎。app 312包括可由用户下载的任何app。虽然仅仅描绘了一个第三方应用,但是可以预料的是,可以存在很多的第三方应用。app 312可以被本地安装在用户装置上,或可以包括部分或完全利用远程基于云的服务器进行操作的虚拟app。app312可以对应于图2的app 222。搜索扩展器314可以对应于图2搜索扩展器210。
在步骤316 ,从app 312向搜索扩展器314传送注册请求318。注册请求318可以包括与app 312相关联的实体类型或信息种类以及与app能力、使用条件、用户隐私和偏爱参数、信息请求等等有关的信息。在步骤320,搜索扩展器314注册该app 312。搜索扩展器314可以与数据仓库(诸如图2的数据仓库220)相关联地存储该app的注册请求以及其相关联的信息。
在步骤322 ,搜索服务310接收搜索查询324。搜索查询324可以由用户使用搜索框明确输入,或者搜索查询324可以是通过监测用户与浏览器和/或Web页面的交互而确定的隐含搜索查询。在步骤326,由搜索服务310使用本领域中已知的方法采用不同类型的信息对搜索查询324进行注释。可以采用实体类型、动作意图、相关的搜索查询、建议的搜索查询、拼写修正的搜索查询、算法搜索结果、相关广告、用户身份、搜索会话使用信息、搜索历史信息等等来对搜索查询进行注释。
在步骤328,将现已注释的搜索查询330从搜索服务310传送到搜索扩展器314。在步骤332,搜索扩展器314标识具有与被确定为与已注释的搜索查询330相关联的实体类型相匹配的、所指示的实体类型的一个或多个app。在步骤334,将已注释的搜索查询(现在标注为已注释的搜索查询336)从搜索扩展器314传送到app 312。在本发明的某些方面,仅仅将与已注释的搜索查询336相关联的信息的一部分传送到app 312。例如,如果app 312已经指示其app的能力只支持返回根据实体类型而非动作意图构造的搜索结果,则与已注释的搜索查询336相关联的动作意图可以不被传送到app 312。
在步骤338,app 312针对本地缓存的内容或基于云的内容中的一个或多个执行已注释的搜索查询336,以生成一个或多个搜索结果。该内容一般受到一组用户证书的保护,并且典型地不可由搜索服务310访问。在步骤340,app 312将app搜索结果342传送到搜索扩展器314。app搜索结果342被构造,以回应已注释的搜索查询336。例如,app搜索结果342不仅回应所输入的搜索查询,而且还回应与所输入的搜索查询相关联的实体类型、动作意图以及其他信息。作为说明性示例,可以采用与指示用户花费了大量时间寻找折扣或交易的用户搜索历史相关的信息对所输入的搜索查询进行注释。除了依据实体类型和/或动作意图来回应已注释的搜索查询336以外,搜索结果342还可以包括折扣,即使所输入的搜索查询并没有指示该用户曾经在搜寻折扣。在一方面,可以使用HTML标签来在形式上构造搜索结果342。
搜索结果342还可以包括由app 312供给的附加信息。该附加信息可以包括用户身份(如果不是之前已知的话)、相关的用户与app 312接触的历史、与app 312内的动作和/或实体相关联的统一资源定位符、展现信息等。
在步骤344,app搜索结果342被汇总和排序。可以根据实体类型和/或动作来汇总搜索结果342。排序是基于很多因素的,所述因素包括用户与app 312接触的历史、以前用户与app结果342接触的历史、在用户装置上app 312的位置(例如,如果app位于主页上或者位于可容易访问的页面上)、与app 312相关联的外部评分信息等等。
在步骤346,将所排序的app搜索结果和展现信息348从搜索扩展器314传送到搜索服务310。该展现信息可以包括预定义的模板以及从app 312接收的展现信息(例如,品牌或商标信息)。在步骤350,搜索服务310在结果页面上展现并且呈现app搜索结果。在一方面,结果可以与算法基于Web的搜索结果同时呈现,而在另一方面,结果可以独自被呈现在结果页面上。如果结合基于Web的搜索结果呈现,app搜索结果可以被呈现在单独区域中或者被与传统的搜索结果交织在一起。任何和所有这样的变型以及它们的任何组合都被预料为处于本发明实施例的范围之内。
图4描绘出图示在诸如搜索引擎结果页面之类的结果页面上的应用搜索结果的示范性呈现的图形用户界面(GUI)。图4描绘出结果页面400,其包括具有搜索查询410的搜索查询输入区域、一组基于Web的搜索结果412以及app搜索结果414、422和430。基于Web的搜索结果412已经使用本领域已知的方法在算法上被确定为与所输入的搜索查询410“汽车租赁”相关。app搜索结果414、422和430已经由与用户装置相关联的第三方应用返回并且与所输入的搜索查询410以及相关联于该搜索查询410的任何注释信息相关。app搜索结果414、422和430以使用前文概述的因素而排序的次序呈现。结果页面400图示出与基于Web的搜索结果412相比在单独区域内呈现的app搜索结果414、422和430。
app搜索结果414已经使用预定义的模板而展现,所述预定义的模板包括呈现app名称(例如AAA)的标题区域416、用于呈现与已注释的搜索查询相关的搜索结果的至少一部分(例如,“赫兹(Hertz)租车九折优惠”)的消息区域418和呈现可选择动作(例如,“启动”)的动作区域420。消息区域418中的消息不仅回应所输入的搜索查询410,而且还回应与查询410相关联的注释信息的至少一部分。例如,注释信息可以包括来自用户频繁搜寻折扣或廉价品的用户搜索历史的指示。将该信息从搜索扩展器传递到AAA app,AAA app进而又构造搜索结果以满足该类型的用户意图。用户能够通过选择搜索结果414的任何部分(例如“启动”区域420)来实例化AAA app。AAA app被启动为与汽车租赁折扣相对应的页面。
app搜索结果422也使用具有标题区域424(例如“Avis”)、消息区域426(例如“精英银卡会员”)和动作区域428(例如“现在预定”)的预定义的模板来展现。可以响应于与所输入的搜索查询410相关联的、标识输入该搜索查询的用户身份的注释信息而呈现消息区域426中的消息。掌握了用户身份,AVIS® app可以搜索它的数据库并且确定该用户是“精英银卡会员”。动作区域428中的动作与被确定为相关联于所输入的搜索查询410的动作意图相关。与前文相似,用户可以通过选择app结果422来启动AVIS® app。如果用户希望发起“现在预定”的动作,则用户可以选择动作区域428。选择动作区域428或是将用户带到AVIS® app内的使得用户能够完成该动作的页面,或是可替换地自动且无需用户干预地发起“现在预定”动作。任何和所有这样的变型以及它们的任何组合都被预料为处于本发明实施例的范围之内。
app搜索结果430已由社交媒体站点脸谱网®返回,并且使用包括标题区域432和消息区域434的预定义模板展现。在该情况下,动作没有随着搜索结果430一起返回,但是消息区域434中的消息仍然与已注释的搜索查询相关。例如,该消息提出了所输入的搜索查询、用户身份和实体类型。再次,可以通过选择搜索结果430来启动脸谱网® app。
图4中呈现的app搜索结果414、422和430仅仅是为了图示的目的。可以预料的是,app搜索结果可以以大量不同的方式来呈现,而不会偏离所描述的发明的精神和范围。例如,可以将app搜索结果与基于Web的搜索结果交织在一起。也可以按照实体类型和/或按照动作来汇总和呈现app搜索结果。按照实体类型和/或动作而汇总和呈现app搜索结果减小了用户导航的负担。
现在转到图5,图5描绘出采用来自第三方应用的相关内容扩充基于Web的搜索结果的示范性方法500的流程图。在步骤510,多个第三方应用中的每一个第三方应用被注册,以获得与app中的每一个app相关联的实体类型的指示。注册可以通过由搜索扩展器服务的注册组件(诸如图2的搜索扩展器210的注册组件228)接收注册请求而发生。每个注册请求可以包括与该请求的相应第三方应用相关联的实体类型的指示。注册请求还可以包括与app能力、使用条件、用户隐私和偏好参数、对诸如搜索结果使用信息之类的信息的请求等等有关的信息。注册请求可以与诸如图2的数据仓库220之类的数据仓库相关联地存储。还可以通过从网站中提取app实体类型信息来获得app实体类型的指示。注册可以发生在验证步骤之后,在验证步骤中,由搜索扩展器验证app的身份。
在步骤512,接收已注释的搜索查询;已注释的搜索查询可以由诸如图2的接收组件230之类的接收组件从搜索服务或第三方源接收。已注释的搜索查询包括原始输入的搜索查询和被确定为与所输入的搜索查询相关联的实体类型。注释信息可以附加地包括例如与所输入的搜索查询相关联的动作意图、输入搜索查询的用户的位置、相关的搜索查询、针对所输入的搜索查询而确定的基于Web的搜索结果、与所输入的搜索查询有关的广告、输入搜索查询的用户身份(如果被许可的话)和/或与用户总体上相关联的搜索历史或使用信息和/或与输入搜索查询的用户相关联的搜索历史或使用信息。
在步骤514,已注释的搜索查询被传送到具有与所输入的搜索查询相关联的实体类型中的至少一个实体类型相匹配的实体类型的第三方应用。该通信可以经由诸如图2的通信组件234之类的app通信组件而发生。如果在实体类型之间存在一定程度的共同性,则可以将实体类型标识为相匹配的。例如,实体类型可以大体上属于相同的信息种类。在某些方面,仅仅将注释信息的一部分传送到app。这可以基于由app提供的、与例如app能力、使用条件、用户隐私和偏好参数和/或信息请求有关的信息。
在步骤516,由app通信组件从第三方应用中的一个或多个第三方应用接收与已注释的搜索查询相关的搜索结果。所述搜索结果被构造,以回应已注释的搜索查询,并且在一方面,可以按照例如schema.org标准使用超文本标记语言(HTML)标签在形式上构造所述搜索结果。搜索结果可以包括附加信息,诸如与app相关联的用户身份、用户与app接触的历史、动作及相关联的URL和展现信息。
在步骤518,搜索结果被呈现在结果页面上。在呈现之前,可以使用预定义模板来展现所述结果,所述预定义模板包括用于app标题、搜索结果和与搜索结果相关联的任何动作的区域。还可以使用由app提供的诸如商标或品牌信息之类的展现信息来展现所述结果。搜索结果可以与基于Web的搜索结果同时呈现并且可以与基于Web的结果交织在一起,或者在与基于Web的结果分开的区域中呈现。在另一方面,结果页面可以仅仅包括app搜索结果。
图6描绘出采用从第三方应用接收的相关内容扩充基于Web的搜索结果的示范性方法600的流程图。在步骤610,多个第三方应用中的每一个第三方应用被注册,以获得与app相关联的一个或多个实体类型的指示。注册可以经由从app传送到搜索扩展器(诸如图2的搜索扩展器210)的注册请求而发生。与app相关联的实体类型的指示可以是注册请求的一部分,或者可以通过其他方法来获得,所述其他方法诸如访问与数据仓库(例如,图2的数据仓库220)相关联地存储的实体类型信息或者向网站查询app实体类型信息。
在步骤612,接收已注释的搜索查询。已注释的搜索查询至少包括原始输入的搜索查询、被确定为与所输入的搜索查询相关联的一个或多个实体类型和被确定为与所输入的搜索查询相关联的一个或多个动作意图。注释信息可以包括前文概述的附加信息。
在步骤614,已注释的搜索查询被传送到具有与搜索查询相关联的实体类型相匹配的、所指示的实体类型的那些app。在步骤616,从app接收搜索结果;所述搜索结果被构造成使得它们回应已注释的搜索查询。例如,搜索结果的至少一部分可以包括可选择动作,所述可选择动作回应被确定为与所输入的搜索查询相关联的动作意图。
在步骤618,app搜索结果被呈现在如前文概述的结果页面上。在呈现app搜索结果之前,可以由排序组件(诸如图2的排序组件236)对搜索结果进行汇总。可以根据实体类型和/或动作来汇总搜索结果。在汇总后,由排序组件对搜索结果进行排序。搜索结果的初始排序可以基于例如由app提供的、有关于用户与app交互的频率的信息。初始排序还可以基于其他信号,诸如由外部源提供的app评分信息和/或在用户装置上的app位置(例如,app是否在主页上或在可容易访问的页面上等)。app搜索结果的后续排序可以基于用户与app搜索结果的交互。这样的交互可以包括花费在特定结果上的时间、结果的选择、与结果相关联的动作的选择、花费在从结果启动的应用上的时间,以及(在信息是可得的情况下)用户是否在启动app之后完成了购买。再次,在呈现之前,使用预定义的模板和可选地由app提供的展现信息来展现排序结果。
方法600可以进一步包括接收app搜索结果的可选择动作的选择、启动相关联的第三方应用和发起第三方应用内的动作。在一方面,动作可以被自动启动,而在另一方面,向用户呈现使得用户能够完成该动作应用页面。
已经关于特定实施例描述了本发明,所述特定实施例在各方面都打算作为说明性的而不是限制性的。可替换的实施例将对本发明所属的本领域的普通技术人员变得显而易见,而不会偏离本发明的范围。

Claims (14)

1.一种采用从第三方应用接收的相关内容扩充基于Web的搜索结果的方法,所述方法包括:
注册多个第三方应用中的每一个第三方应用,以获得与所述多个第三方应用中的每个注册的第三方应用相关联的一个或多个实体类型的指示;
接收已注释的搜索查询,所述已注释的搜索查询至少包括所输入的搜索查询和被确定为与所输入的搜索查询相关联的至少一个实体类型;
将已注释的搜索查询传送给所述多个第三方应用中的至少第一第三方应用,所述至少第一第三方应用具有与被确定为与所输入的搜索查询相关联的至少一个实体类型相匹配的、所指示的实体类型;
从所述至少第一第三方应用接收至少一个搜索结果,所述至少一个搜索结果与所输入的搜索查询和相关联于所输入的搜索查询的至少一个实体类型相关;和
将与所输入的搜索查询相关联的基于Web的搜索结果和所述至少一个搜索结果同时呈现在结果页面上;
其中所述至少一个搜索结果被呈现在结果页面的第一区域中,而基于Web的搜索结果被呈现在结果页面的第二区域中,所述第一区域与所述第二区域是分开的。
2.按照权利要求1的方法,其中已注释的搜索查询进一步包括从下列中选择的一项或多项:
(A)被确定为与所输入的搜索查询相关联的动作意图;
(B)输入搜索查询的用户的位置;
(C)被确定为与所输入的搜索查询有关的搜索查询;
(D)被确定为与所输入的搜索查询相关联的基于Web的搜索结果;
(E)被确定为与所输入的搜索查询相关联的广告;
(F)输入搜索查询的用户的身份;或
(G)与输入搜索查询的用户相关联的搜索历史。
3.按照权利要求1的方法,进一步包括从所述至少第一第三方应用接收附加信息,所述附加信息包括从下列中选择的一项或多项:
(A)与所述至少第一第三方应用相关联的用户身份;
(B)用户与所述至少第一第三方应用接触的历史;
(C)与已注释的搜索查询相关的动作及相关联的统一资源定位符;和
(D)展现信息。
4.一种用于执行采用从第三方应用接收的相关内容扩充基于Web的搜索结果的方法的计算机系统,所述系统包括:
数据仓库,其存储与一个或多个第三方应用相关联的一个或多个注册请求,每个注册请求包括与所述请求的相应第三方应用相关联的一个或多个实体类型的指示;
搜索扩展器服务器,其具有与所述数据仓库相耦合的一个或多个计算机存储介质,其中所述搜索扩展器服务器:接收已注释的搜索查询,每个已注释的搜索查询至少包括所输入的搜索查询和被确定为与所输入的搜索查询相关联的至少一个实体类型;基于与所述一个或多个第三方应用相关联的实体类型将已注释的搜索查询传送给所述一个或多个第三方应用;并且从所述一个或多个第三方应用接收与已注释的搜索查询相关的搜索结果;
一个或多个第三方应用,其与所述一个或多个注册请求相关联,所述一个或多个第三方应用中的每个第三方应用被配置成从搜索扩展器服务器接收已注释的搜索查询;针对本地缓存的内容或者基于云的内容中的至少一个执行已注释的搜索查询;标识与所输入的搜索查询和与所输入的搜索查询相关联的至少一个实体类型相关的至少一个搜索结果;并将所述至少一个搜索结果传送到搜索扩展器服务器;以及
展现组件,其被配置成将与所述已注释的搜索查询相关联的基于Web的搜索结果和与所述已注释的搜索查询相关的所述一个或多个第三方应用搜索结果同时呈现,
其中与所述已注释的搜索查询相关的所述一个或多个第三方应用搜索结果被呈现在结果页面的第一区域中,而基于Web的搜索结果被呈现在结果页面的第二区域中,所述第一区域与所述第二区域是分开的。
5.按照权利要求4的系统,其中所述搜索扩展器服务器进一步监测用户与搜索结果的接触并且基于所述用户接触来调整所述搜索结果的排序。
6.按照权利要求4的系统,其中所述搜索扩展器服务器从所述一个或多个第三方应用异步地接收与已注释的搜索查询相关的搜索结果。
7.按照权利要求4的系统,其中由所述搜索扩展器服务器接收的每个已注释的搜索查询进一步包括被确定为与所输入的搜索查询相关联的至少一个动作意图。
8.一种在用户装置上由搜索扩展器服务器实行的、用于采用来自一个或多个第三方应用的相关内容扩充基于Web的搜索结果的计算机化的方法,所述方法包括:
注册多个第三方应用中的每一个第三方应用,以获得与所述多个第三方应用中的每个注册的第三方应用相关联的一个或多个实体类型的指示;
接收已注释的搜索查询,所述已注释的搜索查询至少包括所输入的搜索查询、被确定为与所输入的搜索查询相关联的实体类型和被确定为与所输入的搜索查询相关联的动作意图;
将已注释的搜索查询传送给所述一个或多个第三方应用,所述一个或多个第三方应用中的每个第三方应用具有与被确定为与所输入的搜索查询相关联的实体类型相匹配的、所指示的实体类型;
从所述一个或多个第三方应用接收多个搜索结果,所述多个搜索结果中的每个搜索结果与所输入的搜索查询和与所输入的搜索查询相关联的实体类型相关,所述多个搜索结果中的每个搜索结果的至少一部分包括相关于与所输入的搜索查询相关联的动作意图的可选择动作;以及
将所述多个搜索结果和与所输入的搜索查询相关联的基于Web的搜索结果同时呈现;其中所述多个搜索结果中的至少一个搜索结果被呈现在结果页面的第一区域中,而基于Web的搜索结果被呈现在结果页面的第二区域中,所述第一区域与所述第二区域是分开的。
9.按照权利要求8的方法,进一步包括:
接收与所述一个或多个第三方应用中的一个第三方应用相关联的至少一个搜索结果的可选择动作的用户选择;
启动所述第三方应用;和
发起所述第三方应用内的动作。
10.按照权利要求9的方法,进一步包括监测用户对所述至少一个搜索结果的可选择动作的后续选择。
11.按照权利要求10的方法,基于用户对所述至少一个搜索结果的可选择动作的后续选择来调整所述至少一个搜索结果的排序。
12.按照权利要求9的方法,其中所述第三方应用覆盖结果页面的一部分。
13.按照权利要求12的方法,其中所述第三方应用是通过选择结果页面上的区域而被消除的。
14.一个或多个计算机存储介质,其具有在其上体现的计算机可执行指令,当所述计算机可执行指令由计算装置执行时,会使得计算装置执行按照权利要求1至3中的任一项的方法。
CN201380065169.9A 2012-12-14 2013-12-13 用相关第三方应用内容扩充搜索结果 Active CN104937590B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811124158.4A CN109408709A (zh) 2012-12-14 2013-12-13 用相关第三方应用内容扩充搜索结果

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/714747 2012-12-14
US13/714,747 US9104787B2 (en) 2012-12-14 2012-12-14 Augmenting search results with relevant third-party application content
PCT/US2013/074907 WO2014093765A1 (en) 2012-12-14 2013-12-13 Augmenting search results with relevant third-party application content

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201811124158.4A Division CN109408709A (zh) 2012-12-14 2013-12-13 用相关第三方应用内容扩充搜索结果

Publications (2)

Publication Number Publication Date
CN104937590A CN104937590A (zh) 2015-09-23
CN104937590B true CN104937590B (zh) 2018-10-19

Family

ID=49920629

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380065169.9A Active CN104937590B (zh) 2012-12-14 2013-12-13 用相关第三方应用内容扩充搜索结果
CN201811124158.4A Pending CN109408709A (zh) 2012-12-14 2013-12-13 用相关第三方应用内容扩充搜索结果

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201811124158.4A Pending CN109408709A (zh) 2012-12-14 2013-12-13 用相关第三方应用内容扩充搜索结果

Country Status (4)

Country Link
US (3) US9104787B2 (zh)
EP (1) EP2932411A1 (zh)
CN (2) CN104937590B (zh)
WO (1) WO2014093765A1 (zh)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9208679B2 (en) * 2006-09-05 2015-12-08 Universal Electronics Inc. System and method for configuring the remote control functionality of a portable device
US20140122234A1 (en) * 2012-10-31 2014-05-01 Gideon Wald Entity based advertisement targeting
US9104787B2 (en) 2012-12-14 2015-08-11 Microsoft Technology Licensing, Llc Augmenting search results with relevant third-party application content
US20140188889A1 (en) * 2012-12-31 2014-07-03 Motorola Mobility Llc Predictive Selection and Parallel Execution of Applications and Services
US20150169701A1 (en) * 2013-01-25 2015-06-18 Google Inc. Providing customized content in knowledge panels
EP2962224A4 (en) 2013-03-01 2016-10-19 Quixey Inc GENERATING SEARCH RESULTS WITH STATUS LINKS ON APPLICATIONS
US9536259B2 (en) * 2013-03-05 2017-01-03 Google Inc. Entity-based searching with content selection
US20140324815A1 (en) * 2013-04-29 2014-10-30 Broadcom Corporation Search infrastructure representing hosting client devices
US9292525B2 (en) * 2013-06-19 2016-03-22 BlackBerry Limited; 2236008 Ontario Inc. Searching data using pre-prepared search data
US20150019645A1 (en) * 2013-07-09 2015-01-15 Tencent Technology (Shenzhen) Company Limited Method and system for application message alerting
US9323830B2 (en) * 2013-10-30 2016-04-26 Rakuten Kobo Inc. Empirically determined search query replacement
US9720672B2 (en) * 2014-01-06 2017-08-01 Quixey, Inc. Searching and accessing application functionality
US20150242421A1 (en) 2014-02-21 2015-08-27 Quixey, Inc. Location-Based Searching
WO2015135561A1 (en) * 2014-03-10 2015-09-17 Nokia Solutions And Networks Oy Distribution of popular content between user nodes of a social network community via direct proximity-based communication
US9645980B1 (en) 2014-03-19 2017-05-09 Google Inc. Verification of native applications for indexing
US9524347B1 (en) * 2014-04-01 2016-12-20 Google Inc. Automatically implementing an application in response to a search query
US9513961B1 (en) 2014-04-02 2016-12-06 Google Inc. Monitoring application loading
CN103914554A (zh) * 2014-04-14 2014-07-09 百度在线网络技术(北京)有限公司 搜索推荐方法和装置
US9645797B2 (en) 2014-09-23 2017-05-09 Quixey, Inc. Development system and method for providing external functionality
US9703534B2 (en) 2014-09-23 2017-07-11 Quixey, Inc. Dynamic entity inference for developer integration of entity-based external functionality
US9613095B2 (en) 2014-09-23 2017-04-04 Quixey, Inc. Entity-based external functionality for software developers
US9626443B2 (en) 2014-10-23 2017-04-18 Quixey, Inc. Searching and accessing application functionality
EP3218566B1 (en) 2014-11-10 2019-10-02 Hunter Douglas Inc. Covering for an architectural opening including multiple stage spring assembly and method of assembly
US10114898B2 (en) 2014-11-26 2018-10-30 Samsung Electronics Co., Ltd. Providing additional functionality with search results
US10762143B2 (en) * 2015-02-13 2020-09-01 Microsoft Technology Licensing, Llc Extension of third party application functionality for intent determination
US10268732B2 (en) 2015-06-29 2019-04-23 Google Llc Ranking native applications and native application deep links
US10579687B2 (en) 2015-09-01 2020-03-03 Google Llc Providing native application search results with web search results
US9864580B2 (en) 2015-10-26 2018-01-09 Samsung Electronics Co., Ltd. Dynamic availability-based integration of external functionality
CN105528388B (zh) * 2015-11-04 2020-12-11 百度在线网络技术(北京)有限公司 搜索推荐方法和装置
US10176232B2 (en) 2016-03-01 2019-01-08 Microsoft Technology Licensing, Llc Blending enterprise content and web results
US20170270577A1 (en) * 2016-03-15 2017-09-21 Ebay Inc. Catalogue management
US10567312B2 (en) 2016-04-11 2020-02-18 Facebook, Inc. Techniques for messaging bot controls based on machine-learning user intent detection
US10606848B2 (en) 2016-04-11 2020-03-31 Facebook, Inc. Techniques for device configuration using messaging history information
US10367767B2 (en) 2016-09-21 2019-07-30 Facebook, Inc. Modular inbox and generation of content modules
US10841264B2 (en) 2016-09-21 2020-11-17 Facebook, Inc. Method and system for presenting a subset of messages in a modular inbox
US20180083896A1 (en) 2016-09-21 2018-03-22 Facebook, Inc. Modular inbox surface for content delivery
US10356029B2 (en) 2016-09-21 2019-07-16 Facebook, Inc. Methods and systems for presenting modules in an inbox interface
US11233760B2 (en) 2016-09-21 2022-01-25 Facebook, Inc. Module ranking for a modular inbox
US10880237B2 (en) * 2016-11-28 2020-12-29 Facebook, Inc. Methods and systems for ranking messaging bots
CN108040104A (zh) * 2017-12-07 2018-05-15 深圳市斯凯荣科技有限公司 虚拟app的实现方法及虚拟app系统
US11397770B2 (en) * 2018-11-26 2022-07-26 Sap Se Query discovery and interpretation
CN109684541B (zh) * 2018-12-12 2021-03-30 口碑(上海)信息技术有限公司 应用页面的展示方法及装置
CN109739521A (zh) * 2018-12-29 2019-05-10 深圳点猫科技有限公司 基于Python的第三方库一键安装方法及装置
CN110297976A (zh) * 2019-06-26 2019-10-01 百度在线网络技术(北京)有限公司 基于云检索的推荐方法、装置、设备及可读存储介质
ES2965693T3 (es) * 2019-10-18 2024-04-16 Amadeus Sas Sistema y método para la mitigación de carga en el manejo de solicitudes
FR3102261B1 (fr) * 2019-10-18 2022-03-18 Amadeus Sas Système et procédé pour mitiger la charge lors de la gestion de requête
US11140237B2 (en) 2019-10-18 2021-10-05 Amadeus S.A.S. System and method for load mitigation in request handling
US20210240770A1 (en) * 2020-01-30 2021-08-05 Microsoft Technology Licensing, Llc Application search system
US11120017B1 (en) 2020-03-04 2021-09-14 Google Llc Rendering interactive subsidiary application(s) in response to a search request
US11301273B2 (en) * 2020-03-11 2022-04-12 Atlassian Pty Ltd. Computer user interface for a virtual workspace having multiple application portals displaying context-related content
CN111782947B (zh) * 2020-06-29 2022-04-22 北京达佳互联信息技术有限公司 一种搜索内容展示方法、装置、电子设备及存储介质
CN112084395A (zh) * 2020-09-25 2020-12-15 百度国际科技(深圳)有限公司 搜索方法、搜索装置、电子设备和存储介质
US11538072B2 (en) * 2020-10-29 2022-12-27 Ncr Corporation Integration of retail services with search engine
CN113704604A (zh) * 2021-08-24 2021-11-26 山东库睿科技有限公司 搜索系统及搜索方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101351798A (zh) * 2005-12-29 2009-01-21 微软公司 带有隐含用户意图挖掘的动态搜索

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716199B2 (en) * 2005-08-10 2010-05-11 Google Inc. Aggregating context data for programmable search engines
US7873356B2 (en) 2005-09-16 2011-01-18 Microsoft Corporation Search interface for mobile devices
CN101110073A (zh) * 2006-07-20 2008-01-23 朗迅科技公司 用于对网络web页面内容加亮并添加注释的方法和系统
US8949266B2 (en) * 2007-03-07 2015-02-03 Vlingo Corporation Multiple web-based content category searching in mobile search application
US8005826B1 (en) * 2007-04-30 2011-08-23 Google Inc. Identifying media content in queries
CN101266608A (zh) * 2008-05-09 2008-09-17 魏新成 对电脑屏幕上显示的文本字符串进行在线搜索的方法
US20100070482A1 (en) * 2008-09-12 2010-03-18 Murali-Krishna Punaganti Venkata Method, system, and apparatus for content search on a device
US20120046995A1 (en) * 2009-04-29 2012-02-23 Waldeck Technology, Llc Anonymous crowd comparison
CA2763668A1 (en) * 2009-05-27 2010-12-02 Google Inc. Computer application data in search results
US9098363B2 (en) * 2010-04-07 2015-08-04 Apple Inc. Search extensibility to third party applications
US8515979B2 (en) 2010-06-18 2013-08-20 Verizon Patent And Licensing, Inc. Cross application execution service
CN101930456A (zh) * 2010-07-30 2010-12-29 魏新成 通过浏览器创建聚合LinkUGC的方法和系统
US8615510B2 (en) 2010-09-01 2013-12-24 Yahoo! Inc. Quick applications for search
US20120078724A1 (en) * 2010-09-23 2012-03-29 Sony Corporation System and method for utilizing a morphing procedure in an information distribution network
US20120130969A1 (en) * 2010-11-18 2012-05-24 Microsoft Corporation Generating context information for a search session
US20120166276A1 (en) 2010-12-28 2012-06-28 Microsoft Corporation Framework that facilitates third party integration of applications into a search engine
US9015140B2 (en) 2010-12-30 2015-04-21 Yahoo! Inc. System and method for providing contextual actions on a search results page
US8600838B2 (en) * 2011-03-21 2013-12-03 Joshua Beroukhim Website, user interfaces, and applications facilitating improved media search capability
US8688726B2 (en) 2011-05-06 2014-04-01 Microsoft Corporation Location-aware application searching
US9547872B2 (en) * 2012-02-22 2017-01-17 Ebay Inc. Systems and methods for providing search results along a corridor
US9171327B2 (en) * 2012-03-23 2015-10-27 Ebay Inc. Systems and methods for in-vehicle navigated shopping
US9104787B2 (en) * 2012-12-14 2015-08-11 Microsoft Technology Licensing, Llc Augmenting search results with relevant third-party application content

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101351798A (zh) * 2005-12-29 2009-01-21 微软公司 带有隐含用户意图挖掘的动态搜索

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
词博词典3.0版;上海乞博信息科技有限公司;《http://www.cibo.cn》;20090630;第1页 *

Also Published As

Publication number Publication date
US20140172840A1 (en) 2014-06-19
CN109408709A (zh) 2019-03-01
US20150310118A1 (en) 2015-10-29
EP2932411A1 (en) 2015-10-21
WO2014093765A1 (en) 2014-06-19
US9646097B2 (en) 2017-05-09
US10990634B2 (en) 2021-04-27
US9104787B2 (en) 2015-08-11
US20170206282A1 (en) 2017-07-20
CN104937590A (zh) 2015-09-23

Similar Documents

Publication Publication Date Title
CN104937590B (zh) 用相关第三方应用内容扩充搜索结果
AU2021202128B2 (en) Method and system for providing domain-specific incremental search results with a customer self-service system for a financial management system
CA3040101C (en) Method and system for searching for and navigating to user content and other user experience pages in a financial management system with a customer self-service system for the financial management system
US10453114B2 (en) Selective sharing of user information based on contextual relationship information, such as to crowd-source gifts of interest to a recipient
US8856075B2 (en) System and method of sharing in a plurality of networks
JP6526172B2 (ja) データ情報取引方法およびシステム
US10586269B2 (en) Online cart and shopping list sharing
US20080270248A1 (en) System and device for social shopping on-line
US8224823B1 (en) Browsing history restoration
WO2002061658A2 (en) System and method for matching consumers with products
US20170177735A1 (en) System and/or method for linking network content
WO2014008764A1 (zh) 一种利用社交网络实现网络交易的信息处理系统和方法
CN103841154B (zh) 网络媒介信息发布方法、系统和客户端
WO2022265119A1 (ja) 情報処理方法、情報処理システムおよびプログラム
US20120030021A1 (en) Selecting advertisements using same session queries
US20180211062A1 (en) Selectively obscuring representative attributes of files
US20180309843A1 (en) Managing Content of Virtual Containers
JP6130580B1 (ja) 個人プラン作成システムおよび個人プラン作成プログラム
CN113112312B (zh) 针对用户生成模型的方法、装置和计算机可读存储介质
JP7337314B2 (ja) 情報処理方法、情報処理システムおよびプログラム
US20140372200A1 (en) Offer Privacy Controls

Legal Events

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