CN106663100A - 多域查询补全 - Google Patents
多域查询补全 Download PDFInfo
- Publication number
- CN106663100A CN106663100A CN201580028394.4A CN201580028394A CN106663100A CN 106663100 A CN106663100 A CN 106663100A CN 201580028394 A CN201580028394 A CN 201580028394A CN 106663100 A CN106663100 A CN 106663100A
- Authority
- CN
- China
- Prior art keywords
- search
- completion
- inquiry
- result
- scoring
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明描述了一种执行多域查询搜索的设备的方法和装置。在示例性实施方案中,该设备接收来自用户客户端的查询前缀。所述设备进一步跨多个独立的搜索域确定多个搜索补全。此外,所述设备基于由对应的搜索域确定的针对所述多个搜索补全的每个搜索补全计算的评分对所述多个搜索补全进行排序,其中响应于接收所述查询前缀以及在无需来自用户的指示的情况下来使用所述多个搜索补全中的至少一个搜索补全生成多个搜索结果。
Description
相关专利申请
申请人要求2014年5月30日提交的同时待审临时申请62/005996的优先权权益,通过引用将该文献全文并入本文。
技术领域
本发明总体上涉及搜索技术,并且更具体地涉及通过多个搜索域进行搜索以及将用户反馈结合到引文搜索索引中。
背景技术
用户会经常在Web上或者从一些其他数据源执行查找信息的查询搜索。查询搜索开始于客户端接收查询字符串,所述字符串将被发送至搜索服务器。搜索服务器接收查询字符串,并搜索搜索索引,以用于与这一查询字符串匹配的结果。然后,搜索服务器将结果返回至客户端。为了在客户端上辅助用户,搜索服务器还可以基于部分输入的查询字符串推荐查询的补全(completion)。所推荐的查询补全是搜索服务器已接收到的包括客户端输入的部分查询字符串的补全的查询搜索字符串。将所建议的查询补全呈现给用户,使得用户能够选择所述的查询补全之一作为用于所述搜索的字符串。
在客户端接收并呈现结果之后,用户可以结合某些结果(例如,点击结果之一的链接,并花费时间与该链接引用的网站进行交互),并且还可以丢弃这些结果中的一些结果。然而,搜索服务器并不俘获这种用户反馈以便将所述反馈结合到其搜索索引中。
发明内容
描述了一种执行多域查询搜索的设备的方法和装置。在示例性实施方案中,所述设备接收来自用户客户端的查询前缀。所述设备进一步跨多个独立的搜索域确定多个搜索补全。此外,所述设备由基于对应的搜索域确定的针对所述多个搜索补全的每者计算的评分对所述多个搜索补全进行排序,其中响应于接收所述查询前缀以及在无需来自用户的指示的情况下来使用所述多个搜索补全中的至少一个搜索补全生成多个搜索结果。
在另一个实施例中,该设备使用来自用户搜索会话的反馈生成结果缓存。在本实施方案中,该设备接收来自客户端的反馈包,其中所述反馈包表征用户在搜索会话期间与多个查询结果的交互,所述结果是响应于用户输入的查询前缀而呈现给用户的。所述设备还通过使用搜索反馈索引运行多个查询以获得多个结果的方式生成多个查询的多个结果。此外,所述设备由所述多个结果建立结果缓存,其中结果缓存将所述多个结果映射至所述多个查询,并使用所述结果缓存为客户端提供查询结果。
在另一实施方案中,所述设备根据查询在多个独立的搜索域内生成多个经排序的查询结果。在本实施例中,所述设备接收查询,并使用所述查询跨多个独立的搜索域确定多个结果。所述设备还对查询进行表征。此外,所述设备基于对应的搜索域确定的针对所述多个结果的每者计算的评分以及查询表征对所述多个结果进行排序,其中查询表征指示查询类型。
还描述了其他方法和装置。
附图说明
本发明以举例的方式进行说明,并且不仅限于各个附图的图形,在附图中类似的标号指示类似的元件。
图1是基于输入的查询前缀返回搜索结果的***的一个实施方案的方框图。
图2是基于输入的查询前缀确定查询补全和相关结果的过程的一个实施方案的流程图。
图3是聚合器及多个搜索域的一个实施方案的方框图。
图4是查询补全搜索域的一个实施方案的例示。
图5是地图搜索域的一个实施方案的例示。
图6是用于从多个搜索域确定查询补全的过程的一个实施方案的流程图。
图7是从所确定的查询补全在多个搜索域内确定相关结果的过程的一个实施方案的流程图。
图8是将用户反馈结合到反馈搜索索引中的***的一个实施方案的方框图。
图9是将用户反馈结合到引文搜索索引内的过程的一个实施方案的流程图。
图10是用于在用户搜索会话期间收集用户反馈的过程的一个实施方案的流程图。
图11是用于将用户反馈结合到反馈索引中的过程的一个实施方案的流程图。
图12是用于使用用户反馈更新结果缓存的过程的一个实施方案的流程图。
图13是使用表征的查询补全执行多域搜索的联合器的一个实施方案的方框图。
图14是使用词汇服务确定相关结果的过程的一个实施方案的流程图。
图15是表征查询补全的过程的一个实施方案的流程图。
图16是用于从多个搜索域确定查询补全的补全模块的一个实施方案的方框图。
图17是从所确定的查询补全在多个搜索域内确定相关结果的结果模块的一个实施方案的方框图。
图18是用于在用户搜索会话期间收集用户反馈的收集反馈模块的一个实施方案的方框图。
图19是将用户反馈结合到反馈索引中的处理反馈模块的一个实施方案的方框图。
图20是使用用户反馈更新结果缓存的更新查询结果模块的一个实施方案的方框图。
图21是将用户反馈结合到反馈索引中的处理反馈模块的一个实施方案的方框图。
图22是使用用户反馈更新结果缓存的更新查询结果模块的一个实施方案的方框图。
图23示出了可与本文描述的实施方案结合使用的典型计算机***的一个实施例。
图24示出了可以与本发明的一个实施方案结合使用的数据处理***的实施例。
具体实施方式
描述了一种执行多域查询搜索的设备的方法和装置。在以下说明中示出了许多具体细节,以提供对本发明的实施方案的彻底解释。然而,对于本领域的技术人员显而易见的是,可在不具有这些具体细节的情况下实践本发明的实施方案。在其他情况下,并未详细示出熟知的部件、结构和技术,以免模糊对此说明的理解。
在本说明书中提到的“一个实施方案”或“实施方案”是指结合该实施方案描述的特定特征、结构或特点可被包括在本发明的至少一个实施方案中。在本说明书中的不同位置出现的短语“在一个实施方案中”不一定都是指同一个实施方案。
在以下描述和权利要求中,可以使用术语“耦接”和“连接”及其派生词。应当理解,这些术语并非意在彼此同义。“耦接”被用于表示可能或可能不彼此直接物理或电接触的两个或更多个元件彼此合作或交互。“连接”被用于表示彼此耦接的两个或更多元件之间通信的建立。
下图中示出的过程通过处理逻辑部件来执行,该处理逻辑部件包括硬件(例如,电路、专用逻辑部件等)、软件(诸如在通用计算机***或专用机上运行的软件)、或两者的组合。虽然下文按照某些顺序操作来描述该过程,但应当理解,所述的某些操作可以不同的顺序来执行。此外,某些操作也可并行执行而并非按顺序执行。
词语“服务器”、“客户端”和“设备”意在泛指数据处理***,而不是具体指所述服务器、客户端和/或设备的特定形状因子。
描述了一种执行多域查询搜索的设备的方法和装置。在一个实施方案中,所述设备从客户端接收用户输入的渐增查询前缀,并使用渐增查询前缀生成每一查询前缀的一组查询补全。例如,在一个实施方案中,如果用户输入字符串“apple”,那么设备接收到作为“a”、“ap”、“app”、“appl”和“apple”的渐增查询前缀。对于所述查询前缀中的每个查询前缀而言,设备生成一组查询补全。例如,在一个实施方案中,“a”的补全可以是“apple.com”、“America”或“Annapolis”。类似地,所述设备能够为其他渐增的查询前缀生成不同的一组查询补全。在一个实施方案中,所述设备从多个搜索域确定一组查询补全。例如,在一个实施方案中,所述设备跨诸如地图、媒体、维基、站点以及其他搜索域的各个搜索域搜索查询补全。在一个实施方案中,这些搜索域中的每个搜索域均包括一个或多个用于确定所输入的查询前缀的可能补全的查询补全树。在一个实施方案中,搜索域中的每个搜索域返回该设备用于对这些查询补全排序的一组评分。例如,在一个实施方案中,搜索域中的每个搜索域返回一组该设备能够用于对跨不同域的不同补全进行排序的原始评分、局部评分和全局评分。
如上所述,常规***将向用户返回可能的查询补全,并且用户将选择这些可能的查询补全之一用于查询搜索。相反,在一个实施方案中,该设备不向用户返回该组查询补全。相反,该设备对该组查询补全进行排序,并使用所述查询补全的子集确定这一查询补全子集的相关结果,而不是将该组查询补全呈现给用户或者得出要将该组查询补全中的哪一个用于确定相关结果的指示。在一个实施方案中,该设备跨多个搜索域(例如,地图、媒体、维基、站点、其他或者另一搜索域)执行对相关结果的搜索。该设备接收来自多个搜索域的一组结果,并基于由每一搜索域及跨域信息生成的评分对这些结果排序。在一个实施方案中,设备还基于用于确定这些结果的查询补全的类型对相关结果排序。例如,在一个实施方案中,如果查询补全的特征是搜索一个地方,那么来地图搜索域的结果以及有关这一地方的维基条目可以被赋予更高的排位。作为另一实施方案,如果查询补全表明是关于艺术家的,那么媒体搜索域结果将被排得更高。设备将针对所述查询补全找到的相关结果返回至客户端。
在一个实施方案中,查看结果的用户可以任用或弃用所述结果。在一个实施方案中,如果用户与在用户搜索会话期间呈现给用户的递交结果之一进行交互,就会发生任用事件。例如,在一个实施方案中,用户可能点击为递交结果之一呈现的链接。在另一实施方案中,用户可能点击该链接并花费比预先确定的事件更长的时间与该链接引用的对象(例如,网站)进行交互(例如,与引用对象进行超过60秒钟的交互)。在本实施方案中,用户可以接收指向针对当前美国总统的查询搜索的结果,并点击引用描述最近一次总统发言的网页的链接。如果用户与网站的交互超过预先确定的时间(例如,60-90秒),那么设备将判断用户任用了该链接代表的结果。在另一个实施方案中,用户可以忽略或者弃用递交给用户的结果。例如,在一个实施方案中,如果用户点击为递交结果之一呈现的链接,但是在预先确定的时间内(例如,小于60-90秒)就离开了该网站,那么设备将判定其为针对该结果的弃用事件。
在一个实施方案中,可以将这一反馈结合到搜索索引中,其中该反馈将影响相关结果的排序和过滤。在这一实施方案中,呈现并递交相关结果的客户端额外地收集用户搜索会话期间的任用和弃用事件。客户端将所述事件收集到反馈包内,并将该包发送给服务器以供处理。在一个实施方案中,服务器接收所述反馈包,并将该反馈包转换成反馈索引条目。在一个实施方案中,反馈索引条目具有<query,result,render counts,engagementcounts,abandonment counts>的格式,其中query是输入查询和上下文信息,诸如,设备类型、应用、场所和地理位置,result是递交结果,render counts是针对该查询递交所述结果的次数,engagement counts是对于该查询而言任用所述结果的次数,并且abandonmentcounts是弃用该结果的次数。将这一条目结合到反馈搜索索引中。在一个实施方案中,反馈搜索索引是将用户反馈结合到评分结果中的搜索索引。例如,在一个实施方案中,每一查询结果对的每一任用事件都会为对应的查询提示该结果。在这一实施方案中,如果某一用户对特定的查询任用了某一结果,那么将来的用户有可能针对相同的查询任用该结果。因而,在一个实施方案中,对于将来的实施相同查询的用户而言,将对这一查询返回该结果并较高排序。相反,如果某一用户对特定的查询弃用了某一结果,那么将来的用户也可能针对相同的查询弃用该结果。因而,在一个实施方案中,对于将来实施相同查询的用户而言,可以对这一查询返回该结果并较低排序。
在一个实施方案中,服务器还使用所述反馈搜索索引生成将查询映射至结果的结果缓存。在一个实施方案中,结果缓存是将查询映射至结果的缓存,可以使用其为用户查询快速返回结果。在一个实施方案中,将结果缓存存储在紧密靠近用户设备的边缘服务器内,能够使用其在执行查询搜索之前提供一个或多个结果。在一个实施方案中,该服务器从一个结果集运行一组查询,以生成更新结果集,该更新结果集将收集到的反馈结合到了其结果中,由此生成结果缓存。将这一更新后的结果集发送至所述边缘服务器。
图1是基于输入的查询前缀返回搜索结果的***100的一个实施方案的方框图。在图1中,***100包括耦接至设备102、智能电话114和平板电脑116的搜索网络108。在一个实施方案中,搜索网络是一个或多个服务器的网络,其接收不同设备的查询前缀,并为这些设备返回查询结果。例如,在一个实施方案中,搜索网络接收来自设备102、智能电话114和/或平板电脑116的查询前缀110A-D,并将查询结果112A-D返回至相应设备(例如,设备102、智能电话114和/或平板电脑116)。在一个实施方案中,设备102可为个人计算机、膝上型电脑、服务器、移动设备(例如,智能电话、膝上型电脑、个人数字助理、音乐播放设备、游戏设备等)和/或任何能够请求和/或显示查询的设备。在一个实施例中,设备可为物理或虚拟设备。在一个实施方案中,智能电话114可以是能够执行设备102的很多功能的蜂窝电话。在一个实施方案中,平板电脑116可以是在显示器上接受输入的移动设备。
在一个实施方案中,所述设备的每者包括用于由用户输入查询前缀的浏览器。例如,在一个实施方案中,设备102包括web浏览器104和文件浏览器106。这些浏览器的每个浏览器包括用户用以输入查询前缀的搜索输入字段。在一个实施方案中,web浏览器104是全然允许用户向web搜索和检索各种类型的web文档的程序。在一个实施方案中,web浏览器104包括搜索输入字段128。用户使用搜索输入字段128输入查询前缀字符串。在一个实施方案中,查询前缀字符串是将在发送至搜索网络108的查询前缀中使用的文本字符串或其他符号。查询前缀字符串可以是用户曾输入的不完整或完整搜索字符串。在一个实施方案中,随着用户在搜索输入字段120A中键入查询输入字符串,web浏览器104将俘获该查询前缀字符串,并将这一查询前缀字符串放在查询前缀110A中发送至搜索网络。对于在搜索输入字段120A中输入的每一符号或者文本字符串,web浏览器104均创建查询前缀110A并将其发送至搜索网络108。响应于接收查询前缀110A,搜索网络在多个搜索域的范围内建立一个或多个查询补全,并选择这些查询补全中的一者或多者建立一组相关结果112,该组结果将被返回至web浏览器104。例如,在一个实施方案中,随着用户输入文本“appl”,web浏览器104使用查询前缀字符串“a”、“ap”、“app”和“appl”建立各个查询前缀110A。对于这些查询前缀110A中的每者,搜索网络108建立一组来自多个搜索域的查询补全,使用这些查询补全确定相关结果,并为不同的查询前缀110A返回不同的一组结果。这一随着用户输入相继的字符而俘获查询前缀的过程也可以在文件浏览器106中完成。在一个实施方案中,文件浏览器106包括用户能够用于输入查询前缀字符串的搜索输入字段120B。在本实施方案中,在用户输入查询前缀字符串时,文件浏览器106创建不同的查询前缀110B,并将其发送至搜索网络108。如上文所述,搜索网络108接收所述的不同查询前缀110B,并确定一个或多个查询补全,并返回相关结果。此外,可以使用查询前缀利用设备106上本地存储的数据的元数据数据库执行查询。
在一个实施方案中,同样可以在智能电话114和平板电脑116上执行这一随着字符串的输入俘获查询输入字符串,确定一个或多个查询补全以及使用这些查询补全确定相关结果的过程。在本实施方案中,智能电话114包括浏览器116。浏览器116包括搜索输入字段120C。与上文所述类似,用户使用搜索输入字段120C输入查询前缀字符串。这一查询前缀字符串是以渐增方式被浏览器116俘获的,接着浏览器116将建立一组不同的查询前缀110C,该组前缀将被发送至搜索网络108。响应于这些不同查询前缀110C的每者的接收,搜索网络108确定一个或多个查询补全,并使用这些查询补全确定返回至浏览器116的相关结果112C。此外,平板电脑116包括浏览器118。浏览器118包括搜索输入字段120D。与上文所述类似,用户使用搜索输入字段120D输入查询前缀字符串。这一查询前缀字符串是以渐增方式被浏览器118俘获的,继而浏览器116将建立一组不同的查询前缀110D,该组前缀将被发送至搜索网络108。响应于这些不同查询前缀110D的每者的接收,搜索网络108确定一个或多个查询补全,并使用这些查询补全确定返回至浏览器118的相关结果112D。在一个实施方案中,搜索网络108包括搜索模块118,该模块对查询补全进行处理并返回相关结果。将在下文中通过图2-7进一步描述对查询补全的处理和相关结果的返回。
如上文所述,设备上的浏览器将查询前缀110A-D发送至搜索网络108。在一个实施方案中,查询前缀110A-D包括查询前缀字符串、位置(纬度/经度组合)、设备类型标识符(例如,计算机、智能电话、平板电脑等)和应用类型标识符(例如,web浏览器(以及什么类型的web浏览器)、文件浏览器)以及场所。在本实施方案中,通过提供位置、设备类型标识符、应用类型标识符和场所,能够将用户输入该查询前缀字符串的上下文提供给搜索网络108。在一个实施方案中,搜索网络108使用这一上下文和所述查询前缀字符串确定查询补全和相关结果。例如,在一个实施方案中,搜索网络108可以使用所述位置信息确定与提供该查询前缀的设备的位置相关的查询补全和结果。作为例子,可以使用设备位置寻找当前设备位置附近的地点的搜索结果。作为另一个例子,在另一实施方案中,搜索网络108使用设备类型标识符确定涉及该设备类型的补全和结果。在本实施方案中,如果设备类型标识符表明查询前缀来自于智能电话,那么搜索网络108可以为智能电话的应用商店赋予比个人计算机的应用商店更高的权重。作为另一个例子,在另一实施方案中,还可以使用应用类型标识符和场所对补全和结果加权。
在一个实施方案中,搜索网络108使用多域查询补全使查询前缀补全。在本实施方案中,搜索网络108将每一接收到的查询前缀发送至搜索网络108使用的搜索域中的每个搜索域。例如,在一个实施方案中,搜索网络108将接收到的查询前缀发送至地图搜索域、媒体搜索域、维基搜索域、站点搜索域以及其他搜索域。这些搜索域中的每个搜索域将基于该搜索域内包含的数据为该查询前缀确定一个或多个查询补全。此外,每一搜索域将为所述一个或多个查询补全中的每个查询补全返回一组评分。例如,在一个实施方案中,搜索域将返回每一查询补全的原始、局部和/或全局评分。还将通过图3-6描述多域查询补全的执行。
将不再向提供了该查询前缀的设备提供由搜索网络108确定的查询补全,而是由搜索网络108使用所述查询补全中的一者或多者在多个搜索域内确定一组相关查询结果。在一个实施方案中,在无需来自用户的有关使用这些查询补全中的哪一个确定相关结果的指示的情况下执行使用查询补全确定一组相关查询结果的操作。在本实施方案中,在用户向搜索输入字段内输入字符串时,搜索网络108对字符串进行处理,并将相关结果返回给用户。在一个实施方案中,搜索网络108使用所确定的查询补全中的一者或多者寻找这些查询补全的查询结果并对其排序。在一个实施方案中,搜索网络108在搜索网络108可用的多个搜索域内进行搜索。在本实施方案中,搜索网络108接收来自每一搜索域的一组针对查询补全的结果。对于这些结果中的每者,搜索网络108额外地接收一组表征该结果的评分。在一个实施方案中,所述评分可以包括提供该结果的搜索域确定的评分、其他量度和/或表征用于提供该结果的查询补全的信号,如下文通过图7所述。在一个实施方案中,所述信号是以使用知识库对查询补全所做的词汇表征为基础的。在一个实施方案中,所述词汇表征确定正在将什么样的类型的查询补全用于所述多域查询搜索。下文将通过图7以及图13-15进一步描述用以确定一组相关结果的多域查询搜索的执行。
图2是基于输入的查询前缀确定查询补全和相关结果的过程200的一个实施方案的流程图。在图2中,过程200开始于接收查询前缀。在一个实施方案中,查询前缀包括查询前缀字符串、位置、设备类型标识符、应用类型标识符和场所,如上文通过图1所述。在本实施方案中,位置、设备类型标识符、应用类型标识符和/或场所提供用户输入了查询前缀字符串的查询前缀的上下文。在块204中,过程200跨多个搜索域确定查询补全,并对查询补全进行排序和选择。在一个实施方案中,过程200使用查询前缀从不同的此类域的每者中确定一组查询补全。例如,在一个实施方案中,如果查询前缀字符串为“ap”,那么过程200将使用这一查询前缀字符串从所述的不同搜索域(例如,地图、媒体、维基、站点和/或其他搜索域)中确定该组查询补全。在本实施例中,地图搜索域可能返回针对城市“Apache Junction”的查询补全,媒体搜索域可能返回针对音乐作品Appalachian Spring的查询补全,维基搜索域可能返回针对Apple公司的查询补全,并且站点搜索域可能返回针对网站Apple.com的查询补全。在一个实施方案中,过程200在查询前缀字符串具有最低数量的字符(例如,四个字符)的情况下建立该组查询补全。
此外,过程200对从不同的此类域接收到的可能的查询补全进行排序和选择。在一个实施方案中,过程200基于对应的搜索域确定的评分对可能的查询补全进行排序,并基于查询前缀的上下文加权。在本实施方案中,过程200基于这些排序选择了该组查询补全。在一个实施方案中,并不将该组查询补全返回给输入了所述查询前缀字符串的用户以用作首要的补全,而是使用该组查询补全确定一组相关结果,之后将所述结果返回给用户。将在下文中通过图3-6进一步描述一组查询补全的确定。
过程200在块206处确定该组相关结果。在一个实施方案中,过程200基于在块204中确定的查询补全确定所述相关结果。在本实施方案中,过程200在过程200可用的多个搜索域内进行搜索。在本实施方案中,过程200从每一搜索域接收针对所述一个或多个查询补全的一组结果。对于这些结果中的每者,过程200额外地接收一组表征该结果的评分。在一个实施方案中,所述评分可以包括提供该结果的搜索域确定的评分、其他量度和/或表征用于提供该结果的查询补全的信号,如下文通过图7所述。在一个实施方案中,所述信号是以使用知识库对查询补全所做的词汇表征为基础的。在一个实施方案中,所述词汇表征确定正在使用什么样的类型的查询补全进行所述多域查询搜索。将在下文中通过图7以及图13-15进一步描述该组相关结果的确定。在块208中,过程200将该组相关结果返回给用户。在另一实施方案中,可以使用反馈索引作为对结果加权的信号域。在下文中将通过图14对这一实施方案做进一步描述。
如上文所述,过程200在多个搜索域内确定搜索补全和相关结果。在一个实施方案中,使用聚合器汇集查询补全和相关结果。图3是包括聚合器301和多个搜索域304A-F的***300的一个实施方案的方框图。在一个实施方案中,聚合器302接收对以输入的查询前缀为基础的查询补全的请求。作为接收到输入的查询前缀的响应,聚合器302将输入的查询前缀发送给搜索域304A-F中的每者。搜索域304A-F中的每者使用输入的查询前缀确定该域内可能的查询补全。例如,在一个实施方案中,地图搜索域304A接收输入的查询前缀,并对该域进行搜索以获得可能的查询补全。在一个实施方案中,聚合器302接收来自所述搜索域中的每个搜索域的查询补全,继而基于对应的搜索域确定的针对所述补全的每者的评分对接收到的查询补全进行排序,并基于查询前缀上下文进行加权。
在一个实施方案中,地图搜索域304A是包括与地理图有关的信息的搜索域。在本实施方案中,地图信息可以包括有关地点、地址、地点、商业、名胜的信息或者其他类型的与地图有关的信息。在另一实施方案中,地图信息还可以包括有关名胜的信息,例如,开放时间、评论和打分、联系信息、指南和/或有关这个地方的照片。在一个实施方案中,媒体搜索域304B是有关媒体的搜索域。在一个实施方案中,媒体搜索域304B包括有关音乐、书籍、视频、课程、诵读音乐、播客、无线电和/或其他类型的媒体的信息。在另一实施方案中,媒体搜索域304B可以包括有关能够在所述设备上运行的应用的信息,例如,所述设备是如上文通过图1所述的设备102、智能电话114和平板电脑116。在一个实施方案中,媒体搜索域是包括不同类型的可供购买的媒体(例如,音乐、书籍、视频、课程、诵读音乐、播客、无线电、应用和/或其他类型的媒体)的媒体商店。在一个实施方案中,维基搜索域304C是在线百科全书搜索域。例如,在一个实施方案中,维基搜索域304C可以是WIKIPEDIA(***)。在一个实施方案中,站点搜索域304D是站点的搜索域。例如,在一个实施方案中,站点搜索域304D包括商业、政府、公共和/或私人网站,例如,“apple.com”、“whitehouse.gov”、“yahoo.com”等等。在一个实施方案中,其他搜索域304E是能够被聚合器302访问的一组其他搜索域(例如,新闻搜索域)。在一个实施方案中,反馈补全域304F是以在各种设备上运行的浏览器收集的查询反馈为基础的搜索索引。在一个实施方案中,反馈补全域304F包括基于所收集的查询反馈将查询映射至结果的反馈索引。将在下文中通过图8-12进一步描述所述反馈索引。
如上文所述,每一搜索域304A-F包括允许所述搜索域中的每个搜索域基于输入的查询前缀给出一组查询补全的信息。在一个实施方案中,搜索域中的每个搜索域包括查询补全树,其用于确定查询补全以及确定这些查询补全中的每者的评分。图4是查询补全搜索域402的一个实施方案的例示。在图4中,查询补全搜索域402包括具有节点404A-J的查询补全树400。在一个实施方案中,节点404A-J的每者代表相应语言中的字符。在本实施方案中,沿树顺着节点404A-J能够代表不同的查询补全。例如,在一个实施方案中,从节点404A开始并下达节点404C可以代表以字母“ap”开始的补全。每一节点还包括频率,即,这一补全域输入的查询前缀匹配的次数。在一个实施方案中,节点404C具有频率N。在这一实施方案中,将该频率表示为上文中返回到聚合器302的原始评分。在一个实施方案中,可以在日志(例如,地图或媒体搜索域)、所访问的网页(例如,维基搜索域)或者其他信息源的基础上计算所述频率。在节点404C下,有若干其他可能的查询补全。例如,在一个实施方案中,节点404D-F表示以字母“apa”、“apt”和“app”开始的查询补全。该节点下的可能的查询补全的总数给出了该节点代表的查询补全的接近度。如果节点下面具有大量可能的其他节点,那么该节点所代表的查询补全就不太可能是一个良好的补全。另一方面,如果节点下面具有相对较少的节点,那么该节点可能是一个良好的补全。在一个实施方案中,通过将该节点的频率除以该节点以下的子树所代表的补全的数量来表示该节点的局部评分。在一个实施方案中,通过方程(1)表示所述局部评分的方程:
在一个实施方案中,每一查询补全树包括补全的总数。使用该值计算补全(或节点)的全局评分。在一个实施方案中,通过方程(2)表示所述全局评分的方程:
在一个实施方案中,该搜索域将每一查询补全的原始评分、局部评分和全局评分返回至聚合器。
图5是地图搜索域500的一个实施方案的例示。在图5中,地图搜索域500包括针对该域的不同缩放级别的查询补全树504A-D。在一个实施方案中,地图搜索域500包括针对城市级别504A、区县级别504B、州级别504C和国家级别504D的查询补全树,通过地图聚合器502对这些树进行整合。在本实施方案中,地图聚合器502接收针对输入的查询前缀所做的查询补全确定,继而在地图搜索域500的不同缩放级别504A-D上确定该输入查询前缀的查询补全。地图聚合器502从不同缩放级别504A-D的每者检索可能的查询补全,对所述查询补全进行汇聚,并将这些查询补全返回至聚合器(例如,聚合器302)。因而,地图搜索域500跨不同的缩放级别确定查询补全。在一个实施方案中,地图搜索域500包括有关地址、地点、商业、名胜的信息和/或其他有关地图的信息。在一个实施方案中,地图搜索域500可以包括目录信息,诸如白页或黄页目录。在一个实施方案中,媒体搜索域是通过以设备标识符和场所的组合为基础的店面进行组织的。在本实施方案中,每一店面都有查询补全。
图6是用于从多个搜索域确定查询补全的过程600的一个实施方案的流程图。在一个实施方案中,聚合器302执行过程600,以从多个搜索域确定查询补全。在图6中,过程600开始于在块602中接收查询前缀。在一个实施方案中,查询前缀包括具有上文通过图2描述的上下文的查询前缀字符串。在块602中,过程600将查询前缀发送给不同的搜索域,以确定可能的补全。在一个实施方案中,过程600将查询前缀发送给地图搜索域、媒体搜索域、维基搜索域、站点搜索域和/或其他搜索域,其中所述搜索域中的每个搜索域在上文通过图4描述的这些搜索域中的每个搜索域可用的查询补全树的基础上确定输入查询前缀的可能查询补全。过程600在块606中接收来自搜索域中的每个搜索域的可能查询补全。除了接收可能的查询补全之外,过程600还接收针对可能的补全的每者的一组评分:例如,上文通过图4描述的原始评分、局部评分和/或全局评分。在块608中,过程600在返回的评分和输入查询前缀的上下文的基础上对可能的查询补全进行排序和过滤。在一个实施方案中,过程600基于接收自所述不同搜索域的原始、局部和全局评分以及与查询前缀包含在一起的上下文对可能的查询补全排序。过程600还额外地基于一组规则对可能的查询补全进行过滤。例如,在一个实施方案中,过滤规则可以是过程600滤除原始评分为1或者低于某一预先确定的值的可能补全。过程600在块610中将经排序和过滤的补全发送至搜索查询模块,其中该搜索查询模块使用该组经排序和过滤的查询补全确定将被返回给用户的一组相关结果。
如上文所述,使用过程600确定的查询补全确定相关结果而无需将这些补全返回给用户。图7是由所确定的查询补全在多个搜索域内确定相关结果的过程700的一个实施方案的流程图。在一个实施方案中,联合器824执行过程700。在图7中,过程700在块702中接收来自补全器的查询补全。在一个实施方案中,所接收到的查询补全是过程600响应于查询前缀的接收而确定的补全。在块704中,过程700将查询补全发送给不同的搜索域以确定可能的相关结果。在一个实施方案中,搜索域中的每个搜索域使用所接收到的查询补全确定该搜索域的相关结果。在块706中,过程700接收来自不同搜索域的查询结果。在一个实施方案中,过程700接收结果以及相关搜索域计算的与每一结果相关的评分。
过程700在块708处对搜索结果进行排序和过滤。在一个实施方案中,过程700基于搜索域中的每个搜索域返回的对搜索结果的评分以及其他因素对搜索结果排序。在本实施方案中,能够在域相关评分、独立于查询的评分以及查询相关评分的基础上对来自不同域的评分打分。在一个实施方案中,不同搜索域中的每个搜索域能够提供用于对返回的结果排序的具体数据。例如,在一个实施方案中,地图搜索域能够提供用以对结果排序的各种各样的查询独立信息:在线评论的数量、平均评分、与用户的距离(例如,基于查询前缀位置信息)、结果是否具有与该结果相关的统一资源定位符(URL)(例如,如果结果为商业场所,那么该商业是否具有URL引用的网站或者其他社会媒体展示)和/或点击计数的数值。作为另一个例子,在另一实施方案中,媒体搜索域能够根据结果提供其他类型的用于评分的信息:媒体评级计数、媒体的年代、流行度、减弱的流行度和/或购买数据。作为另一个例子,在一个实施方案中,维基搜索域能够提供有关网浏览、编辑历史和语言的数量的信息,其能够将所述信息用于排序。其他搜索域能够提供诸如引文数量和年代的评分量度。
在一个实施方案中,过程700从每一搜索域接收一组评分,并使用这些评分确定所述结果的每者的初始评分。过程700向所述结果的每者应用信号域。在一个实施方案中,信号域是查询补全的表征。在本实施方案中,过程700对查询补全中的每个查询补全进行表征,并使用这一查询补全表征对结果排序。例如,在一个实施方案中,过程700使用知识库执行词汇表征,以确定查询补全是什么类型。在这一实施例中,查询补全类型表明查询补全是在确定人、地点、东西还是另一类别。例如,在一个实施方案中,过程700可以确定正在使用查询补全确定地点。在这一实施例中,由于使用该查询补全确定地点,因而来自地图搜索域的查询结果将在搜索结果的排序中占据更高的分量(具有更高的排位)。将在下文中通过图13-15进一步描述查询补全表征。
在另一个实施方案中,过程700对结果评分的每者实施推介(boosts)。在本实施方案中,过程700为所述结果的每者赋予值得查询的新鲜度。在一个实施方案中,值得查询的新鲜度是指,如果最近对该结果的计数的数值存在尖峰或峰值,那么这一结果就是“新鲜”结果,可以对其进行推介。计数随着时间的推移围绕基线波动的结果将不算是“新鲜结果”,并且不对其进行推介。在一个实施方案中,计数是以对社交媒体馈送(例如,推特等)的分析为基础的。
例如,在一个实施方案中,如果查询补全为“puppy love”,并返回了四个结果。(1)来自媒体搜索域的歌曲“pupyy love”;(2)来自地图搜索域的被称为“Puppy Love Dogs”的商业;(3)涉及puppy love商业广告的新闻文章;以及(4)被称为“puppy love”的维基条目。在本实施方案中,有对每一结果的基于搜索域相关量度的初始评分:来自媒体搜索域的{年代、评级以及原始评分};来自地图搜索域的{与用户的距离、具有URL、评论的数量、平均评论};来自新闻域的{年代、新闻评分、引用计数};以及来自维基搜索域的{网页排名、原始评分}。搜索域中的每个搜索域向过程700提供其自身的评分。在这一实施例中,最初将每一结果的评分排序为维基结果>媒体结果>新闻结果>地图结果。过程700向所述结果的每者应用信号域。在这一实施例中,查询“puppy love”被表征为歌曲,并且可能被表征为地点。应用这一表征将会推介媒体商店结果,并在较弱的程度上推介地图结果。在实施表征推介之后,可以将结果评分排序为维基结果>媒体结果(但是在评分上更接近)>地图结果>新闻结果。此外,过程700为所述结果赋予值得查询推介。例如,由于是在“puppy love”商业广告的初始发布之后的两天,因而在该商业广告的计数方面有推介活动。因而,“puppy love”结果将获得值得查询新鲜度推介。在本实施例中,新闻结果“Puppy love”将获得有力推介,从而使结果排序为新闻结果>维基结果>媒体结果>地图结果。
在一个实施方案中,过程700额外地对搜索结果进行过滤。在本实施方案中,过程700基于某些规则去除结果。例如,在一个实施方案中,过程700可以去除低于某一总分的结果。或者,过程700可以基于其他标准(例如,与查询的不良文本匹配、低点进率、低流行度、具有黄色内容和/或脏话的结果和/或其组合)对结果进行过滤。在块710中,过程700将经排序的过滤结果返回给用户。
图8是将用户反馈结合到搜索索引中的***800的方框图。在图8中,***800包括设备802,该设备向边缘服务器804发送(一个或多个)查询前缀828,接下来所述边缘服务器将查询结果830返回给该设备。此外,边缘服务器804耦接至核心服务器816。在一个实施方案中,用户一遍输入查询前缀,设备802一遍将一个或多个查询前缀828发送至边缘服务器。例如,在一个实施方案中,如果用户键入查询前缀“apple”,那么在用户输入每一字符时将生成针对“a”、“ap”、“app”、“appl”、“apple”的查询前缀,并将其发送至边缘服务器804。此外,对于发送至边缘服务器的每一查询前缀828,边缘服务器804都会将相关结果830返回至客户端。例如,在一个实施方案中,在用户输入每一字符时,边缘服务器将返回针对查询前缀828“a”、“ap”、“app”、“appl”、“apple”的相关结果。在一个实施方案中,边缘服务器也可以执行查询补全。在一个实施方案中,设备802还收集有关用户搜索会话的反馈,将这一反馈收集到反馈包832内,并将该反馈包发送至边缘服务器。在下文中将通过图10进一步描述所述反馈的收集和发送。在一个实施方案中,设备802包括收集和发送反馈的收集反馈模块838。
在一个实施方案中,边缘服务器804包括反馈模块806,该模块还包括反馈搜索模块808和反馈收集模块810。在一个实施方案中,反馈搜索模块808基于存储在边缘服务器804的边缘缓存812上的反馈索引814对一个或多个查询前缀828的每者执行搜索。在本实施方案中,随着用户输入查询前缀828,使用反馈搜索模块808和反馈搜索索引814将新的一组相关结果830返回至设备802。在一个实施方案中,反馈搜索索引是指将用户反馈结合到了搜索索引内的索引。在本实施方案中,反馈搜索索引是用于快速提供返回给设备的结果830的结果缓存。在一个实施方案中,反馈搜索索引是引文索引,并且下文将参考图11对其做进一步描述。在一个实施方案中,反馈收集810收集从设备802发送的反馈包,并将所述反馈包转发给核心服务器816。
在一个实施方案中,核心服务器816包括反馈馈送管道818、反馈决策管道822、反馈索引820和联合器824。在一个实施方案中,反馈馈送管道818接收来自边缘服务器804的原始反馈包834,并将这些原始反馈包中的每者转化为反馈索引820的条目。在一个实施方案中,反馈馈送管道816将原始反馈包的每者转化为一组具有格式<query,result,rendercounts,engagement counts,abandonment counts>的索引条目,其中query是输入查询和上下文信息,诸如,设备类型、应用、场所和地理位置,result是递交结果,render counts是针对该查询递交所述结果的次数,engagement counts是对于该查询而言任用所述结果的次数,并且abandonment counts是弃用该结果的次数。在本实施方案中,将这些索引条目添加到反馈索引820中。下文将通过图11进一步描述使用原始反馈包更新反馈索引。在一个实施方案中,反馈索引820是结合了用户反馈的搜索索引。反馈馈送管道818还包括使用原始反馈包更新反馈索引的处理反馈模块840。
在一个实施方案中,反馈决策管道822使用反馈索引820更新结果集。在一个实施方案中,结果集是一组查询和结果之间的映射。在本实施方案中,反馈决策管道822对照反馈索引820运行一组查询,以确定更新的结果集。在本实施方案中,将更新的结果集发送至联合器824。另外,反馈决策管道822还将该更新的结果集826发送至边缘服务器804。更新的结果集826包括使用更新的反馈索引820确定的针对该组查询的结果。在一个实施方案中,反馈决策管道822包括对结果集进行更新的更新结果模块842。将在下文中通过图12进一步描述结果集的更新。在一个实施方案中,反馈决策管道822额外地将更新结果集发送至反馈档案836,其对更新结果集826进行存储。在一个实施方案中,联合器824使用补全的查询执行多域搜索,如下文通过图13-15所述。
如上所述,搜索网络俘获关于用户搜索会话的用户反馈,并使用这一反馈建立搜索反馈索引。图9是将用户反馈结合到引文搜索索引内的过程900的一个实施方案的流程图。在图9中,过程900开始于收集用户搜索会话的用户反馈。在一个实施方案中,过程900在响应于查询前缀被发送至搜索网络而接收到查询结果的设备上开始收集反馈。在本实施方案中,过程900通过检测初始递交事件(或者其他事件(例如,开始输入查询前缀))以及确定用户用户在搜索会话中的交互而收集返回。在一个实施方案中,用户交互可能是持续关注结果引用的网站、点击该网站上的链接或其他引用或者可以是其他类型的交互。在一个实施方案中,搜索会话是一组由用户开始输入查询前缀触发的事件,其在粗略的时间段(例如,15分钟)内跟踪用户的动作。在一个实施方案中,过程900记录发出的查询前缀,向用户递交的相关结果、用户是否任用了这些递交结果中的任何结果(任用事件)以及用户是否弃用了所递交的结果(弃用事件)。在一个实施方案中,过程900记录用户是否任用了备选搜索选项。
在一个实施方案中,如果用户与呈现给用户的递交事件之一交互,就发生了任用事件。例如,在一个实施方案中,用户可能点击为递交结果之一呈现的链接。在另一实施方案中,用户可能点击该链接并花费比预先确定的事件更长的时间与该链接引用的对象(例如,网站)进行交互(例如,与引用对象进行超过60秒钟的交互)。在本实施例中,用户可能接收到指向针对当前美国总统的查询搜索的结果,并点击某一引用了描述最新总统演讲的网页的链接。如果用户与网站的交互超过预先确定的时间(例如,60-90秒),那么过程900将判断用户任用了该链接代表的结果。因而,其将是该结果的任用事件。在一个实施方案中,可以将鼠标悬停在链接上记录为任用。在另一实施方案中,用户还可能对显示的结果观察某一时间段。在本实施方案中,根据结果的类型以及紧跟着所述时间段的动作,可以反而将否则将被记录为弃用的动作记录为任用,或反之。例如,在一个实施方案中,如果用户查询“population of china”,并为用户显示了结果,而且该用户在删除查询之前停顿了10秒钟,那么可以将这一事件记录为任用事件而不是弃用事件。
在另一个实施方案中,用户可以忽略或者弃用递交给用户的结果。例如,在一个实施方案中,如果用户点击为递交结果之一呈现的链接,但是在预先确定的时间内(例如,小于60-90秒)就离开了该网站,那么过程900将判定其为针对该结果的弃用事件。在一个实施方案中,存在其他类型的弃用事件:继续键入更多的字符(扩展查询前缀);改为关注另一窗口或应用;删除查询;退格消除了一个或多个字符或者对查询做了其他编辑;任用被呈现为结果的内容以外的任何内容,可以将这些记录为该结果的弃用事件。在一个实施方案中,记录用户的动作连同用户所花的时程,其可能将否则会被视为弃用的情况改为解释成任用,或反之。
在一个实施方案中,用户的搜索会话可以在预先确定的时间之后结束,所述预先确定的时间可以用用户会话时长、不活动时间或者其他量度来衡量。响应于搜索会话的结束,过程900将针对这一搜索会话收集到的事件汇编成发送给搜索网络的反馈包。将在下文中通过图10进一步描述反馈的收集。
在块904中,过程900对反馈包中包括的所接收到的反馈进行处理。在一个实施方案中,过程900将所接收到的反馈包转化为反馈搜索索引的条目。在一个实施方案中,反馈搜索索引是将用户反馈结合到评分结果中的搜索索引。例如,在一个实施方案中,每一(查询,结果)对的每一任用事件都会为对应的查询提示该结果。在这一实施方案中,如果某一用户对特定的查询任用了某一结果,那么将来的用户有可能针对相同的查询任用该结果。因而,在一个实施方案中,对于将来的实施相同查询的用户而言,将对这一查询返回该结果,并对其做出较高排位。相反,如果某一用户对特定的查询弃用了某一结果,那么将来的用户也可能针对相同的查询弃用该结果。因而,在一个实施方案中,对于将来实施相同查询的用户而言,可以对这一查询返回该结果,并对其做出较低排序。
在一个实施方案中,过程900将接收到的反馈包转化为具有<query,result,render counts,engagement counts,abandonment counts>格式的反馈搜索索引条目,其中query是输入查询和上下文信息,诸如,设备类型、应用、场所和地理位置,result是递交结果,render counts是针对该查询递交所述结果的次数,engagement counts是对于该查询而言任用所述结果的次数,并且abandonment counts是弃用该结果的次数。在一个实施方案中,过程900更新反馈搜索索引中的这一反馈索引条目。在另一实施方案中,每一反馈包还包括唯一源标识符,该标识符可以包括用户标识符、设备标识符或会话标识符,其可以结合,也可以不结合用于模糊身份以保持私密性的方法,其中对反馈索引条目的更新以引文索引的形式附加至所述索引,其中所述的唯一源标识符是反馈引文的来源。之后,可以对反馈索引进行查询,从而为个人或者用户群提供个性化的或者定制的结果和加权。下文将通过图11进一步描述对接收到的反馈的处理。
过程900在块906中更新结果缓存。在一个实施方案中,结果缓存是将查询映射至结果的缓存,可以使用其为用户查询快速返回结果。在一个实施方案中,将结果缓存存储在紧密靠近用户设备的边缘服务器内,能够使用其在执行查询搜索之前提供一个或多个结果(例如,从地理的角度比其他边缘服务器更加接近客户端的边缘服务器)。在一个实施方案中,过程900使用更新的反馈搜索索引运行一组查询,以针对这些查询确定一组结果,由此更新结果。将更新后的结果发送至存储在边缘服务器上的结果缓存中的每者。下文将通过图12进一步描述结果缓存的更新。
图10是用于在用户搜索会话期间收集用户反馈的过程1000的一个实施方案的流程图。在一个实施方案中,由收集反馈模块执行过程100,以收集用户搜索会话期间的用户反馈,例如,该模块是上文通过图8描述的收集反馈模块838。在图10中,过程1000开始于检测触发反馈收集的事件。在一个实施方案中,初始事件可以是开始输入查询前缀字符串或者其他类型的事件。在一个实施方案中,如果用户在前一搜索会话中已经参与了一定的时间段(例如,15分钟),那么这一对查询字符串的开始输入标志着新的用户搜索会话的开始,并开始记录用户反馈。如上文所述,搜索会话是一组由用户开始输入查询前缀触发的事件,其在粗略的时间段(例如,15分钟)内跟踪用户的动作。
在块1004中,过程1000记录与用户搜索会话相关的事件。在一个实施方案中,过程1000记录递交、任用和弃用事件。在一个实施方案中,递交事件是响应于用户输入查询前缀或响应于补全查询递交给用户的相关结果。在一个实施方案中,过程1000通过记录针对每一查询前缀或补全查询呈现的结果而记录递交结果。此外,过程1000在块1004中记录任用事件。在一个实施方案中,任用事件是在用户与呈现给用户的递交结果之一交互的情况下发生的事件。例如,在一个实施方案中,用户可能点击为递交结果之一呈现的链接。在另一实施方案中,用户可能点击该链接并花费比预先确定的事件更长的时间与该链接引用的对象(例如,网站)进行交互(例如,与引用对象进行超过60秒钟的交互)。在本实施方案中,用户可以接收指向针对当前美国总统的查询搜索的结果,并点击引用描述最近一次总统发言的网页的链接。如果用户与网站的交互超过预先确定的时间(例如,60-90秒),那么过程1000将判断用户任用了该链接代表的结果。因而,其将是该结果的任用事件。
在另一实施方案中,过程1000可以记录弃用事件,其中弃用事件是指用户可以忽略或者弃用递交给用户的结果的事件。例如,在一个实施方案中,如果用户点击为递交结果之一呈现的链接,但是在预先确定的时间内(例如,小于60-90秒)就离开了该网站,那么过程900将判定其为针对该结果的弃用事件。在一个实施方案中,用户通过关闭呈现网站的标签页或窗口,改为关注另一应用或者某一其他表明用户当前未与所呈现的网站交互的动作转移浏览。
在块1006中,过程1000由用户搜索会话的记录事件创建反馈包。在一个实施方案中,用户搜索会话通过以自初始搜索会话事件开始的预先确定的时间(例如,15分钟)为基础或者以相对于该用户搜索会话不产生用户活动的预先确定的时间为基础而结束。例如,在一个实施方案中,如果在预先确定的时间量(例如,10分钟)内用户不产生活动或者不与结果或结果之一引用的其他类型的对象交互,那么用户搜索会话将结束。在一个实施方案中,响应于用户搜索会话的结束,过程1000将收集所记录的事件并由这一用户搜索会话建立反馈包。在一个实施方案中,反馈包包括一组递交给用户的结果、与这些结果相关的查询、用户任用查询结果的任用事件以及用户弃用递交给用户的结果的弃用事件,其中所述弃用事件的每者均与该查询相关。过程1000在块1008中将这一反馈包发送给搜索网络。在一个实施方案中,客户端将所述反馈包发送给边缘服务器,其中边缘服务器将该反馈包转发给核心服务器以供处理。
图11是用于将用户反馈结合到反馈索引中的过程1100的一个实施方案的流程图。在一个实施方案中,处理反馈模块执行处理反馈模块,例如,上文通过图8所描述的处理反馈模块840。在图11中,过程1100开始于在块1102处接收反馈包。在一个实施方案中,所述反馈包是如上文通过图10所述的用户搜索会话的反馈包。在块1104处,过程1100将反馈包转化为一个或多个反馈索引条目。在一个实施方案中,反馈索引条目是针对特定查询结果对记录的事件的数量。例如,在一个实施方案中,反馈索引条目包括<query,result,rendercounts,engagement counts,abandonment counts>,其中query是输入查询和上下文信息,诸如,设备类型、应用、场所和地理位置,result是递交结果,render counts是针对该查询递交所述结果的次数,engagement counts是对于该查询而言任用所述结果的次数,并且abandonment counts是弃用该结果的次数。
在块1106处,过程1100将反馈索引条目***到反馈索引中。在一个实施方案中,反馈索引是将用户反馈结合到搜索索引中的搜索索引。在一个实施方案中,反馈索引是引文索引,其中任用事件是对该结果的正面引用,并且弃用事件是对该结果的反面引用。在一个实施方案中,在2009年12月1日提交的发明名称为“Ranking and Selecting EntitiesBased on Calculated Reputation or Influence Scores”的美国专利申请12/628791中描述了引文搜索索引,将该文献并入本文。在一个实施方案中,如果在反馈索引中具有关于同意查询结果对的条目,那么过程1100使用事件计数的数值更新这一条目。
如上文所描述的,可以使用结合到反馈索引中的用户反馈更新结果缓存。图12是用于使用用户反馈更新结果缓存的过程1200的一个实施方案的流程图。在一个实施方案中,更新结果模块执行更新结果缓存的过程1200,例如,该模块是上文通过图8描述的更新结果模块842。在图12中,过程1200开始于接收包括多个查询的结果集RS。在一个实施方案中,结果集是一组查询和结果之间的映射。可以使用这一结果集使结果缓存快速返回查询前缀的相关结果,如上文通过图8所述。在一个实施方案中,通过搜索索引生成结果集。在另一实施方案中,通过结合了先前用户反馈的先前反馈索引生成结果集。
在块1204中,过程1200对照当前反馈索引由结果集RS运行每一索引。过程1200在块1206中使用由块1204中运行的索引得到的结果建立更新结果集RS’。在一个实施方案中,结果集RS’是反馈加权结果集,其中在反馈索引中对具有更多的任用事件的针对某一查询的结果赋予更高权重,在反馈索引中对具有更多的弃用事件的针对该查询的结果赋予较低权重。例如,在一个实施方案中,如果结果集中的查询Q具有被排序为R1、R2和R3的结果,并且在更新的反馈索引中这些针对Q的结果为R1具有20次任用事件和50次弃用事件,R2具有100次任用事件和2次弃用事件,并且R3具有50次任用事件和10次弃用事件,那么对照更新后的反馈索引运行查询Q可以反馈被排序为R2、R3和R1的结果。因而,在一个实施方案中,使用反馈索引将改变这些结果在更新结果集RS’中的排序。在另一个实施方案中,相关结果过滤器可以具有对结果进行呈现的规则,该规则可能需要至少x次任用事件并且不超过y次弃用事件。因而,在本实施方案中,使用反馈索引可以改变呈现哪些结果以及不呈现哪些结果。过程1200在块1208中将更新的结果集RS’发送至边缘服务器的每者。在一个实施方案中,过程1200将更新的结果集RS’从核心服务器816发送至边缘服务器804,如上文通过图8所述。
图13是使用受到表征的查询补全执行多域搜索的联合器824的一个实施方案的方框图。在一个实施方案中,联合器包括补全模块1304、混合器/排序器1306、多个搜索域1308A-F以及词汇服务1314。在一个实施方案中,补全模块1304确定查询前缀的每者的查询补全,如上文通过图6所述。将所确定的查询补全转发至混合器/排序器1306,其使用所述查询补全使用搜索域1308A-F执行对相关结果的多域搜索,如上文通过图7所述。在一个实施方案中,搜索域1308A-F是如上文通过图3所述的搜索域。例如,在一个实施方案中,地图搜索域1308A是包括与地理图有关的信息的搜索域,如上文通过图3所描述的。地图搜索域1308A查询来自地图数据源1310A的信息。媒体搜索域1308B是与媒体有关的搜索域,如上文通过图3所述。地图搜索域1308B查询来自媒体数据源1310B的信息。维基搜索域1308C是在线百科全书搜索域,如上文通过图3所述。维基搜索域1308C查询来自维基数据源1310C的信息。站点搜索域1308D是网站的搜索域,如上文通过图3所述。站点搜索域1308D查询来自站点数据源1310D的信息。其他搜索域是能够受到混合器/排序器1306访问的一组其他搜索域,如上文通过图3所述。其他搜索域1308E查询来自其他数据源1310E的信息。在一个实施方案中,反馈搜索域1308F是以在各种设备上运行的浏览器收集的查询反馈为基础的搜索索引,如图3中所述。反馈搜索域1308向反馈数据源1310F(例如,反馈搜索索引)查询信息。
此外,混合器/排序器1306接收来自多个搜索域1308A-F的结果,并对这些结果排序。在一个实施方案中,混合器/排序器1306使用确定正在执行哪一类型的搜索的词汇服务1302对查询补全中的每个查询补全进行表征。例如,在一个实施方案中,词汇服务1302能够确定搜索是针对人的,针对地方的,还是针对东西的,等等。在一个实施方案中,词汇服务1302使用将单词或短语映射至类别的知识库1312。在本实施方案中,使用对查询补全的表征对搜索域1308A-F返回的结果加权。例如,在一个实施方案中,如果将查询补全表征为是对地方的搜索,那么能够为地图搜索域以及有关这一地方的维基条目赋予更高的排位。作为另一实施方案,如果查询补全表明是关于艺术家的,那么媒体搜索域结果将被赋予更高的排位。下文将通过图14进一步描述对结果的加权。
图14是使用针对查询补全的词汇服务确定相关结果的过程1400的一个实施方案的流程图。在一个实施方案中,混合器/排序器1306使用针对查询补全的词汇服务执行过程1400,以确定相关结果,如上文通过图13所述。在图14中,过程1400开始于在块1402中接收查询补全。在一个实施方案中,所接收到的查询补全是过程600响应于查询前缀的接收而确定的补全。在一个实施方案中,过程1400通过一个并行流执行块1404和1408,通过另一并行流执行块1406和1410。在块1404中,过程1400将查询补全发送给不同的搜索域以确定可能的相关结果。在一个实施方案中,搜索域中的每个搜索域使用所接收到的查询补全确定该搜索域的相关结果。在一个实施方案中,多个搜索域并行地处理查询补全中的每个查询补全。过程1400将查询补全发送至词汇服务,以对所述补全的每者进行表征。在一个实施方案中,词汇服务通过确定查询补全是有关人、地方、东西的查询还是对其他类型的信息的查询而对查询补全中的每个查询补全进行表征。下文将通过图15进一步描述对查询补全的表征。过程1400在块1408中接收来自多个搜索域搜索结果。在一个实施方案中,搜索结果的每者包括一组评分,该组评分将对来自对应搜索域的该结果进行表征。
在块1410中,过程1400接收表征查询补全的词汇搜索结果。在一个实施方案中,查询补全的表征指示每一查询补全正在搜索的信息的类型。例如,在一个实施方案中,查询补全是有关人、地方、东西或者其他类型的信息的查询。在一个实施方案中,两个并行流在块1412处汇聚。过程1400在块1412中使用查询补全表征对该查询补全的相关结果进行排序和过滤。在一个实施方案中,如果表明查询补全是对人的搜索,那么由该搜索得到的来自维基域的有关人物结果的结果可以被赋予更高的排位。例如,在一个实施方案中,如果查询补全被表征为是对电影的搜索,那么可以为来自该电影的评论或片花的结果赋予更高的排位。作为另一个实施例,如果表明查询补全的是搜索一个地方,那么来地图搜索域的结果以及有关这一地方的维基条目可以被赋予更高的排位。作为另一实施例,如果查询补全表明是关于艺术家的,那么媒体搜索域结果将被赋予更高的排位。下文还将通过图7描述使用查询补全的排序。在另一个实施方案中,反馈索引可以是用于对相关结果排序和/或过滤的信号域。在本实施方案中,过程1400使用任用事件的数量对结果做出较高排位,并且使用弃用事件的数量对结果做出较低排位。在一个实施方案中,过程1400额外地对结果进行排序和过滤,如上文通过图7中的块708所述。过程1400在块1414中返回经排序和过滤的结果。
如上文所述,过程1400使用词汇服务队查询补全进行表征。图15是表征查询补全的过程1500的一个实施方案的流程图。在图15中,过程1500在块1502中接收查询补全。在块1504处,过程1500将每一查询补全令牌化。在一个实施方案中,对补全令牌化是指将查询补全分成若干单独的令牌(例如,单词、短语、复数/单数变化)。对于令牌化的查询补全,过程1500将在知识库中确定对所述令牌化的补全的匹配。在一个实施方案中,知识库是映射至类别的单词或短语的数据库。例如,在一个实施方案中,知识库可以包括诸如{EiffelTower→place}、{Michael Jackson→artist}、{Barack Obama→president}、{BlackWidow→spider}等的条目。在一个实施方案中,知识库是使用Ontology建立的。在一个实施方案中,过程1500使用词频匹配算法确定查询补全在知识库中的匹配。例如,在一个实施方案中,如果查询补全是“Who is Michael Jackson?”,那么过程1500能够匹配上词语“Michael”、“Jackson”或“Michael Jackson”。在这一实施例中,过程1500将尝试在知识库中找到最长匹配。如果知识库具有匹配结果“Michael”、“Jackson”和“Michael Jackson”,那么将使用匹配结果“Michael Jackson”。如果对查询补全中的一者或多者都存在匹配,那么过程1500在块1508处返回(这些)匹配。例如,在一个实施方案中,过程150可以对“Who isMichael Jackson?”返回“person”、“artist”或其他类型的表征。如果不存在匹配,那么过程1500不返回任何表征。
图16是用于由多个搜索域确定查询补全的补全模块1600的一个实施方案的方框图。在一个实施方案中,补全模块1600包括接收查询前缀模块1602、发送前缀模块1604、接收补全模块1606、排序及过滤补全模块1608以及发送补全模块1610。在一个实施方案中,接收查询前缀模块1602接收查询前缀,如上文通过图6的块602所述。发送前缀模块1604将查询前缀发送至不同的搜索域,如上文通过图6的块604所述。接收补全模块1606接收查询查询补全,如上文通过图6的块606所述。排序及过滤补全模块1608对接收到的查询补全排序和过滤,如上文通过图6的块608所述。发送补全模块1610将查询补全发送至相关结果模块,如上文通过图6的块610所述。
图17是由所确定的查询补全在多个搜索域内确定相关结果的结果模块1700的一个实施方案的方框图。在一个实施方案中,结果模块1700包括接收查询补全模块1702、发送补全模块1704、接收查询结果模块1706、排序和过滤模块1708以及返回结果模块1710。在一个实施方案中,接收查询补全模块1702接收查询补全,如上文通过图7的块702所述。发送补全模块1704将补全发送至多个搜索域,如上文通过图7的块704所述。接收查询结果模块1706接收来自多个搜索域的查询结果,如上文通过图7的块706所述。排序和过滤模块1708对查询结果排序和过滤,如上文通过图7的块708所述。返回结果模块1710返回查询结果,如上文通过图7的块710所述。
图18是用于在用户搜索会话期间收集用户反馈的收集反馈模块838的一个实施方案的方框图。在一个实施方案中,收集反馈模块838包括检测提交事件模块1802、记录事件模块1804、创建反馈包模块1806以及发送反馈模块1808。在一个实施方案中,检测初始事件模块1802检测开始搜索会话的初始事件,如上文通过图10的块1002所述。记录事件模块1804记录用户搜索会话期间的事件,如上文通过图10的块1004所述。创建反馈包模块1806创建反馈包,如上文通过图10的块1006所述。发送反馈模块1808发送反馈包,如上文通过图10的块1008所述。
图19是将用户反馈结合到反馈索引中的处理反馈模块840的一个实施方案的方框图。在一个实施方案中,处理反馈模块840包括接收反馈包模块1902、转化反馈包模块1904以及***反馈条目模块1906。在一个实施方案中,接收反馈包模块1902接收反馈模块,如图11中的块1102所述。转化反馈包模块1904对反馈包进行转化,如图11中的块1104所述。***反馈条目模块1906***反馈索引条目,如图11中的块1106所述。
图20是使用用户反馈更新结果缓存的更新查询结果模块842的一个实施方案的方框图。在一个实施方案中,更新结果缓存842包括接收结果集模块2002、运行查询模块2004、更新结果集模块2006以及发送更新结果模块2008。在一个实施方案中,接收结果集模块2002接收结果集,如图12中的块1202所述。运行查询模块2004使用反馈索引运行查询,如图12中的块1204所述。更新结果集模块2006更新结果集,如图12中的块1206所述。发送更新结果模块2008发送更新后的结果集,如图12中的块1202所述。
图21是使用针对查询补全的词汇服务确定相关结果的相关结果模块2100的一个实施方案的方框图。在一个实施方案中,相关结果模块2100包括接收补全模块2102、发送补全模块2104、词汇补全模块2106、接收结果模块2108、接收词汇结果模块2110、排序结果模块2112以及反馈结果模块2114。在一个实施方案中,接收补全模块2102接收查询补全,如图14的块1402中所述。发送补全模块2104将查询补全发送至多个接收查询补全的搜索域,如上文通过图14的块1404所述。词汇补全模块2106将查询补全发送至词汇服务,如图14中的块1406中所述。接收结果模块2108接收来自多个搜索域的查询结果,如图14中的块1408所述。接收词汇结果模块2110接收词汇服务表征,如图14的块1410中所述。排序结果模块2112对搜索域结果排序,如图14的块1412中所述。返回结果模块2114返回经排序的结果,如上图14中的块1414所述。
图22是对查询补全进行表征的表征查询模块2200的一个实施方案的方框图。在一个实施方案中,表征查询结果模块2200包括接收补全模块2202、令牌化补全模块2204、查找匹配模块2206以及返回表征模块2208。在一个实施方案中,接收补全模块2202接收补全,如图15中的块1502所述。令牌化补全模块2204使补全令牌化,如图15中的块1504所述。查找匹配模块2206在知识库中寻找令牌化的补全的匹配,如上文通过图15中的块1506所述。返回表征模块2208返回表征,如上文通过图15的块1508所述。
图23示出了可以与本发明的一个实施方案结合使用的数据处理***2300的一个实施例。例如,***2300可被实现为包括图1所示的设备100。需注意,虽然图23示出了计算机***的各种部件,但是其并不旨在表示使这些部件互连的任何特定构造或方式,因此此类细节与本发明并无密切关系。还应理解,具有更少部件的,或者可能具有更多部件的网络计算机以及其他数据处理***或其他消费电子设备也可与本发明结合使用。
如图23所示,数据处理***形式的计算机***2300包括耦接到一个或多个微处理器2305和ROM(只读存储器)2307以及易失性RAM 2309和非易失性存储器2311的总线2303。微处理器2305可以包括一个或多个CPU、GPU、专用处理器和/或其组合。微处理器2305可从存储器2307,2309,2311检索指令并执行所述指令以执行上述操作。总线2303与这些各种部件互连在一起,并且将这些部件2305、2307、2309和2311互连至显示控制器及显示设备2313以及互连至诸如输入/输出(I/O)设备的***设备,所述***设备可以是鼠标、键盘、调制解调器、网络接口、打印机和本领域熟知的其他设备。通常,输入/输出设备2315通过输入/输出控制器2313耦接到***。易失性RAM(随机存取存储器)2309通常被实现为需要连续供电以刷新或保持存储器中的数据的动态RAM(DRAM)。
大容量存储装置2311通常为磁性硬盘驱动器或磁性光驱或光驱或DVD RAM或闪存存储器或者即使在***断电后也保持数据(例如,大量数据)的其他类型的存储器***。通常,大容量存储装置2311也可以是随机存取存储器,虽然这并非是必需的。虽然图23显示大容量存储装置2311为直接耦接到数据处理***中的其余部件的本地设备,但应当理解,本发明可利用远离***的非易失性存储器,例如,通过诸如调制解调器或以太网接口或无线网络接口的网络接口耦接到数据处理***的网络存储设备。总线2303可包括通过本领域熟知的各种桥接器、控制器和/或适配器相互连接的一条或多条总线。
图24示出了可以与本发明的一个实施方案结合使用的另一数据处理***2400的实施例。例如,***2400可被实现为图1所示的设备100。图24中所示的数据处理***2400包括可以是一个或多个微处理器或者可以是片上***集成电路的处理***2411,并且数据处理***2400还包括用于存储供该处理***运行的数据和程序的存储器2401。***2400还可以包括音频输入/输出子***2405,其可以包括传声器和/或扬声器,从而(例如)通过所述扬声器和传声器播放音乐或者提供电话功能。
显示器控制器和显示设备2409向用户提供视觉用户界面;这一数字界面所包括的图形用户界面可以与运行OS X操作***的Macintosh电脑或者运行iOS操作***的AppleiPhone等上面显示的图形用户界面类似。***2400还包括一个或多个无线设备2403,从而与诸如图24所示的***2400的其他数据处理***通信。无线收发器可为WLAN收发器、红外收发器、蓝牙收发器和/或无线蜂窝电话收发器。应当理解,未示出的额外部件也可以是***2400的部分,并且在某些实施方案中,也可以在该数据处理***中使用比图24中所示更少的部件。***2400还包括一个或多个通信端口2417,从而与诸如图15的***1500的其他数据处理***通信。通信端口可为USB端口、火线端口、蓝牙接口等。
数据处理***2400还包括一个或多个输入设备2413,将所述输入设备提供为允许用户向***提供输入。这些输入设备可为小键盘或键盘或触摸面板或多点触摸面板。数据处理***2400还包括任选的输入/输出设备2415,其可以是用于连接埠的连接器。应当理解,如本领域所熟知的,可以使用未示出的一条或多条总线互连各种部件。图24所示的数据处理***可以是手提电脑或个人数字助理(PDA),或者具有PDA式功能的蜂窝电话,或者包括蜂窝电话的手提电脑,或者诸如iPod的媒体播放器,或者结合这些设备的若干方面或功能的设备,诸如,将媒体播放器与PDA和蜂窝电话结合到一个设备或嵌入设备或者其他消费电子设备中。在其他实施方案中,数据处理***2400可以是网络计算机或者嵌入到其他设备中的处理设备,或者可以是其他类型的所具有的部件少于或者多于图24所示的部件的数据处理***。
本发明的至少某些实施例可以是数字媒体播放器的一部分,例如便携式音乐和/或视频媒体播放器,数字媒体播放器可包括呈现媒体的媒体处理***、存储媒体的存储设备,并且可以进一步包括与天线***和媒体处理***耦合的射频(RF)收发器(例如,用于蜂窝电话的RF收发器)。在某些实施例中,存储在远程存储设备上的媒体可通过RF收发器发送到媒体播放器。例如,媒体可以是音乐或其他音频、静态图片或运动图片中的一个或多个。
便携式媒体播放器可包括媒体选择设备,例如得自Apple Inc.(Cupertino,CA)的或iPod 媒体播放器上的点击轮(click wheel)输入设备、触摸屏输入设备、按钮设备、可移动指示输入设备或其他输入设备。可以使用媒体选择设备来选择存储在存储设备和/或远程存储设备上的媒体。在至少某些实施例中,便携式媒体播放器可包括显示设备,该显示设备耦合到媒体处理***以显示通过输入设备选择的并且通过扬声器或耳机或者在显示设备上、或者在显示设备上且在扬声器或耳机上呈现的媒体的标题或其他指示符。在公开美国专利7345671和美国公开专利2004/0224638中描述了便携式媒体播放器的例子,通过引用将这两篇文件并入本文。
上述内容的各个部分可借助于诸如专用逻辑电路的逻辑电路来实现,或者借助于微控制器或其他形式的执行程序代码指令的处理核来实现。因而,可利用诸如机器可执行指令的程序代码来执行上述讨论所教导的过程,该机器可执行指令使得执行这些指令的机器执行某些功能。在该上下文中,“机器”可为将中间形式(或“抽象”)指令转换为处理器专用指令(例如,抽象执行环境,比如“虚拟机”(例如,Java虚拟机)、解译器、公共语言运行时、高级语言虚拟机等)的机器,和/或设置在半导体芯片上的被设计为执行指令的电子电路(例如,利用晶体管实现的“逻辑电路”),例如,通用处理器和/或专用处理器。上述讨论所教导的过程也可通过(作为机器的替代或与机器结合)电子电路来执行,该电子电路被设计用于执行过程(或其一部分)而不执行程序代码。
本发明还涉及一种用于执行本文所述的操作的装置。该装置可专门构造用于所需的目的,或者其可包括由被存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可被存储在计算机可读存储介质中,例如其可以是但不限于任何类型的盘(包括软盘、光盘、CD-ROM和磁光盘)、只读存储器(ROM)、RAM、EPROM、EEPROM、磁卡或光卡或者任何类型的适于存储电子指令的介质,它们中的每者均耦接到计算机***总线。
机器可读介质包括以机器(例如,计算机)可读形式存储或传输信息的任何机构。例如,机器可读介质包括只读存储器(“ROM”);随机存取存储器(“RAM”);磁盘存储介质;光学存储介质;闪存存储器设备等。
制造的制品可用于存储程序代码。存储程序代码的制造的制品可体现为但不限于一个或多个存储器(例如,一个或多个闪存存储器、随机存取存储器(静态、动态或其他))、光盘、CD-ROM、DVD ROM、EPROM、EEPROM、磁卡或光卡、或适用于存储电子指令的其他类型的机器可读介质。也可借助于包含在传播介质(例如,经由通信链路(例如网络连接))中的数据信号将程序代码从远程计算机(例如,服务器)下载到请求计算机(例如,客户端)。
已按照对计算机存储器内的数据位进行操作的算法和符号表示来呈现前面的详细描述。这些算法描述和表示是数据处理领域的技术人员所使用的工具,而这些工具也能最有效地将其工作实质传达给该领域的其他技术人员。在这里,并且一般地,将算法理解为得到预期结果的自洽操作序列。操作是需要对物理量进行物理操纵的那些操作。通常,尽管不是必须的,但这些量采用能够被存储、传送、组合、比较以及换句话讲操纵的电信号或磁信号的形式。事实证明,有时(主要是出于通常用法的原因)将这些信号称为位、值、单元、符号、字符、项、数量等是很方便的。
然而,应当记住,所有这些以及类似的术语都与适当的物理量相关联,并且其只是应用于这些量的方便标签。除非另外特别说明,否则从上述讨论中显而易见的是,可以理解,在整个说明书中,使用诸如“处理”或“运算”或“计算”或“确定”或“显示”等的词语所做的讨论是指计算机***或类似的电子计算设备的动作和处理,其对计算机***的寄存器和存储器内被表示为物理(电子)量的数据进行操纵,并将其变换为计算机***存储器或寄存器或其他此类信息存储、传输或显示设备中的同样被表示为物理量的数据。
本文中所呈现的过程和显示并不固有地与任何特定计算机或其他装置相关。可以将各种通用***与根据文中教导的程序结合使用,或者可以证明构建一个更加专用的设备来执行所描述的操作是很方便的。根据下文的描述,用于各种这些***的所需结构将是显而易见的。此外,本发明未参照任何特定的编程语言进行描述。应当理解,多种编程语言可用于实现如本文所述的本发明的教导内容。
前面的讨论仅描述了本发明的一些示例性实施例。本领域的技术人员将易于从此类讨论、附图和权利要求书中认识到,可在不脱离本发明的实质和范围的情况下进行各种修改。
Claims (20)
1.一种具有可执行指令的非暂态机器可读介质,所述可执行指令使一个或多个处理单元执行一种使用查询前缀在多个单独搜索域上生成多个经排序的补全的方法,所述方法包括:
接收来自用户客户端的查询前缀;
跨所述多个单独搜索域确定多个搜索补全;以及
基于由对应的搜索域确定的针对所述多个搜索补全中的每个搜索补全计算的评分对所述多个搜索补全进行排序,其中响应于接收所述查询前缀以及在无需来自用户的指示的情况下,使用所述多个搜索补全中的至少一个搜索补全生成多个搜索结果。
2.根据权利要求1所述的非暂态机器可读介质,还包括:
对所述多个搜索补全进行过滤。
3.根据权利要求1所述的非暂态机器可读介质,其中所述多个单独搜索域中的每个单独搜索域选自由地图搜索域、媒体商店搜索域、在线百科全书搜索域和站点搜索域组成的组。
4.根据权利要求1所述的非暂态机器可读介质,其中针对所述多个搜索补全中的一个搜索补全的所述评分是所述搜索补全的原始评分,所述原始评分为这个搜索补全已被接收到的次数的频率。
5.根据权利要求4所述的非暂态机器可读介质,其中针对所述多个搜索补全中的一个搜索补全的所述评分是所述搜索补全的局部评分,所述局部评分基于这个搜索补全的原始评分以及使用这个搜索补全作为前缀的可能的其他搜索补全的数量。
6.根据权利要求4所述的非暂态机器可读介质,其中针对所述多个搜索补全中的一个搜索补全的所述评分是所述搜索补全的全局评分,所述全局评分基于这个搜索补全的原始评分以及所述搜索域中的可能的其他搜索补全的数量。
7.根据权利要求1所述的非暂态机器可读介质,其中查询前缀包括输入字符串和上下文,并且所述输入字符串是由用户输入的。
8.根据权利要求7所述的非暂态机器可读介质,其中所述上下文包括位置、设备类型、应用标识符和场所。
9.一种使用查询前缀在多个单独搜索域上生成多个经排序的补全的方法,所述方法包括:
接收来自用户客户端的查询前缀;
跨所述多个单独搜索域确定多个搜索补全;以及
基于由对应的搜索域确定的针对所述多个搜索补全中的每个搜索补全计算的评分对所述多个搜索补全进行排序,其中响应于接收所述查询前缀以及在无需来自用户的指示的情况下,使用所述多个搜索补全中的至少一个搜索补全生成多个搜索结果。
10.根据权利要求9所述的方法,还包括:
对所述多个搜索补全进行过滤。
11.根据权利要求9所述的方法,其中所述多个单独搜索域中的每个单独搜索域选自由地图搜索域、媒体商店搜索域、在线百科全书搜索域和站点搜索域组成的组。
12.根据权利要求9所述的方法,其中针对所述多个搜索补全中的一个搜索补全的所述评分是所述搜索补全的原始评分,所述原始评分为这个搜索补全已被接收到的次数的频率。
13.根据权利要求12所述的方法,其中针对所述多个搜索补全中的一个搜索补全的所述评分是所述搜索补全的局部评分,所述局部评分基于这个搜索补全的原始评分以及使用这个搜索补全作为前缀的可能的其他搜索补全的数量。
14.根据权利要求12所述的方法,其中针对所述多个搜索补全中的一个搜索补全的所述评分是所述搜索补全的全局评分,所述全局评分基于这个搜索补全的原始评分以及所述搜索域中的可能的其他搜索补全的数量。
15.根据权利要求9所述的方法,其中查询前缀包括输入字符串和上下文,并且所述输入字符串是由用户输入的。
16.根据权利要求15所述的方法,其中所述上下文包括位置、设备类型、应用标识符和场所。
17.一种使用查询前缀在多个单独搜索域上生成多个经排序的补全的设备,所述设备包括:
处理器;
通过总线耦接至所述处理器的存储器;和
来自所述存储器的通过所述处理器执行的处理,所述处理使得所述处理器接收来自用户客户端的所述查询前缀,跨所述多个单独搜索域确定多个搜索补全,以及基于由对应的搜索域确定的针对所述多个搜索补全中的每个搜索补全计算的评分对所述多个搜索补全进行排序,其中响应于接收所述查询前缀以及在无需来自用户的指示的情况下,使用所述多个搜索补全中的至少一个搜索补全生成多个搜索结果。
18.根据权利要求17所述的设备,其中所述处理还使得所述处理器对所述多个搜索补全进行过滤。
19.根据权利要求17所述的设备,其中所述多个单独搜索域中的每个单独搜索域选自由地图搜索域、媒体商店搜索域、在线百科全书搜索域和站点搜索域组成的组。
20.根据权利要求17所述的方法,其中针对所述多个搜索补全中的一个搜索补全的所述评分是所述搜索补全的原始评分,所述原始评分为这个搜索补全已被接收到的次数的频率。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462005996P | 2014-05-30 | 2014-05-30 | |
US62/005,996 | 2014-05-30 | ||
US14/503,226 US11061893B2 (en) | 2014-05-30 | 2014-09-30 | Multi-domain query completion |
US14/503,226 | 2014-09-30 | ||
PCT/US2015/029278 WO2015183488A1 (en) | 2014-05-30 | 2015-05-05 | Multi-domain query completion |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106663100A true CN106663100A (zh) | 2017-05-10 |
CN106663100B CN106663100B (zh) | 2021-01-12 |
Family
ID=53175197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580028394.4A Active CN106663100B (zh) | 2014-05-30 | 2015-05-05 | 多域查询补全 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11061893B2 (zh) |
EP (1) | EP3149612A1 (zh) |
CN (1) | CN106663100B (zh) |
WO (1) | WO2015183488A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740343A (zh) * | 2016-01-25 | 2016-07-06 | 百度在线网络技术(北京)有限公司 | 搜索方法和装置 |
CN110750704A (zh) * | 2019-10-23 | 2020-02-04 | 深圳计算科学研究院 | 一种查询自动补全的方法和装置 |
CN112783410A (zh) * | 2019-11-07 | 2021-05-11 | 北京拉酷网络科技有限公司 | 信息处理方法、介质、装置和计算设备 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5997738B2 (ja) * | 2014-09-11 | 2016-09-28 | ヤフー株式会社 | 情報提供システム、情報提供サーバ、情報提供方法及びプログラム |
US20170116198A1 (en) * | 2015-10-23 | 2017-04-27 | Lunatech, Llc | Methods And Systems For Updating A Search |
WO2017070664A1 (en) * | 2015-10-23 | 2017-04-27 | John Cameron | Methods and systems for searching using a progress engine |
WO2021046449A1 (en) | 2019-09-04 | 2021-03-11 | Brain Technologies, Inc. | Real-time morphing interface for display on a computer screen |
US20230196429A2 (en) * | 2021-01-30 | 2023-06-22 | Walmart Apollo, Llc | Methods and apparatus for improving search retrieval |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060106769A1 (en) * | 2004-11-12 | 2006-05-18 | Gibbs Kevin A | Method and system for autocompletion for languages having ideographs and phonetic characters |
US20080109401A1 (en) * | 2006-09-12 | 2008-05-08 | Microsoft Corporation | Presenting predetermined search results with query suggestions |
US20110078243A1 (en) * | 2009-09-30 | 2011-03-31 | Boopsie, Inc. | Leveraging Collaborative Cloud Services to Build and Share Apps |
CN102063508A (zh) * | 2011-01-10 | 2011-05-18 | 浙江大学 | 基于广义后缀树的中文搜索引擎模糊自动补全方法 |
CN102799591A (zh) * | 2011-05-26 | 2012-11-28 | 阿里巴巴集团控股有限公司 | 一种提供推荐词的方法及装置 |
CN102831185A (zh) * | 2012-08-01 | 2012-12-19 | 北京百度网讯科技有限公司 | 一种词条推荐方法及装置 |
CN102929873A (zh) * | 2011-08-08 | 2013-02-13 | 腾讯科技(深圳)有限公司 | 一种基于情境搜索提取搜索价值词的方法及装置 |
CN102929978A (zh) * | 2012-10-17 | 2013-02-13 | 北京奇虎科技有限公司 | 基于输入前缀的下拉提示*** |
CN102937976A (zh) * | 2012-10-17 | 2013-02-20 | 北京奇虎科技有限公司 | 一种基于输入前缀的下拉提示方法和装置 |
CN102982078A (zh) * | 2012-10-30 | 2013-03-20 | 北京奇虎科技有限公司 | 一种排序网址的加载方法和加载有排序网址的客户端 |
US8417718B1 (en) * | 2011-07-11 | 2013-04-09 | Google Inc. | Generating word completions based on shared suffix analysis |
CN103258023A (zh) * | 2013-05-07 | 2013-08-21 | 百度在线网络技术(北京)有限公司 | 搜索候选词的推荐方法及搜索引擎 |
US8676828B1 (en) * | 2009-11-04 | 2014-03-18 | Google Inc. | Selecting and presenting content relevant to user input |
US20140136543A1 (en) * | 2012-11-13 | 2014-05-15 | Oracle International Corporation | Autocomplete searching with security filtering and ranking |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7345671B2 (en) | 2001-10-22 | 2008-03-18 | Apple Inc. | Method and apparatus for use of rotational user inputs |
US7627343B2 (en) | 2003-04-25 | 2009-12-01 | Apple Inc. | Media player system |
CA2808803C (en) * | 2010-08-19 | 2018-11-06 | David Black | Predictive query completion and predictive search results |
US8639679B1 (en) | 2011-05-05 | 2014-01-28 | Google Inc. | Generating query suggestions |
US8504583B1 (en) | 2012-02-14 | 2013-08-06 | Microsoft Corporation | Multi-domain recommendations |
-
2014
- 2014-09-30 US US14/503,226 patent/US11061893B2/en active Active
-
2015
- 2015-05-05 WO PCT/US2015/029278 patent/WO2015183488A1/en active Application Filing
- 2015-05-05 EP EP15722005.4A patent/EP3149612A1/en not_active Ceased
- 2015-05-05 CN CN201580028394.4A patent/CN106663100B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060106769A1 (en) * | 2004-11-12 | 2006-05-18 | Gibbs Kevin A | Method and system for autocompletion for languages having ideographs and phonetic characters |
US20080109401A1 (en) * | 2006-09-12 | 2008-05-08 | Microsoft Corporation | Presenting predetermined search results with query suggestions |
US20110078243A1 (en) * | 2009-09-30 | 2011-03-31 | Boopsie, Inc. | Leveraging Collaborative Cloud Services to Build and Share Apps |
US8676828B1 (en) * | 2009-11-04 | 2014-03-18 | Google Inc. | Selecting and presenting content relevant to user input |
CN102063508A (zh) * | 2011-01-10 | 2011-05-18 | 浙江大学 | 基于广义后缀树的中文搜索引擎模糊自动补全方法 |
CN102799591A (zh) * | 2011-05-26 | 2012-11-28 | 阿里巴巴集团控股有限公司 | 一种提供推荐词的方法及装置 |
US8417718B1 (en) * | 2011-07-11 | 2013-04-09 | Google Inc. | Generating word completions based on shared suffix analysis |
CN102929873A (zh) * | 2011-08-08 | 2013-02-13 | 腾讯科技(深圳)有限公司 | 一种基于情境搜索提取搜索价值词的方法及装置 |
CN102831185A (zh) * | 2012-08-01 | 2012-12-19 | 北京百度网讯科技有限公司 | 一种词条推荐方法及装置 |
CN102937976A (zh) * | 2012-10-17 | 2013-02-20 | 北京奇虎科技有限公司 | 一种基于输入前缀的下拉提示方法和装置 |
CN102929978A (zh) * | 2012-10-17 | 2013-02-13 | 北京奇虎科技有限公司 | 基于输入前缀的下拉提示*** |
CN102982078A (zh) * | 2012-10-30 | 2013-03-20 | 北京奇虎科技有限公司 | 一种排序网址的加载方法和加载有排序网址的客户端 |
US20140136543A1 (en) * | 2012-11-13 | 2014-05-15 | Oracle International Corporation | Autocomplete searching with security filtering and ranking |
CN103258023A (zh) * | 2013-05-07 | 2013-08-21 | 百度在线网络技术(北京)有限公司 | 搜索候选词的推荐方法及搜索引擎 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740343A (zh) * | 2016-01-25 | 2016-07-06 | 百度在线网络技术(北京)有限公司 | 搜索方法和装置 |
CN110750704A (zh) * | 2019-10-23 | 2020-02-04 | 深圳计算科学研究院 | 一种查询自动补全的方法和装置 |
CN110750704B (zh) * | 2019-10-23 | 2022-03-11 | 深圳计算科学研究院 | 一种查询自动补全的方法和装置 |
CN112783410A (zh) * | 2019-11-07 | 2021-05-11 | 北京拉酷网络科技有限公司 | 信息处理方法、介质、装置和计算设备 |
CN112783410B (zh) * | 2019-11-07 | 2023-11-24 | 北京拉酷网络科技有限公司 | 信息处理方法、介质、装置和计算设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3149612A1 (en) | 2017-04-05 |
CN106663100B (zh) | 2021-01-12 |
US20150347503A1 (en) | 2015-12-03 |
WO2015183488A1 (en) | 2015-12-03 |
US11061893B2 (en) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106663100A (zh) | 多域查询补全 | |
CN106415540A (zh) | 联合搜索 | |
CN107145496B (zh) | 基于关键词将图像与内容项目匹配的方法 | |
US9268826B2 (en) | System and method for crowdsourced template based search | |
CN103339623B (zh) | 涉及因特网搜索的方法和设备 | |
US20220365939A1 (en) | Methods and systems for client side search ranking improvements | |
KR100754768B1 (ko) | 사용자별 맞춤 추천어를 제공하는 시스템, 방법 및 상기방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독가능한 기록 매체 | |
CN103106282B (zh) | 一种网页搜索与展示的方法 | |
US9043314B2 (en) | Search engine query customization and search site rating system | |
US20120130969A1 (en) | Generating context information for a search session | |
US20110307432A1 (en) | Relevance for name segment searches | |
KR20170018832A (ko) | 사용자 관계 데이터 결합에 기초하는 검색 | |
CN107145497B (zh) | 基于图像和内容的元数据选择与内容匹配的图像的方法 | |
US20110010354A1 (en) | Using scenario-related information to customize user experiences | |
US20160335359A1 (en) | Processing search queries and generating a search result page including search object related information | |
JP5221664B2 (ja) | 情報マップ管理システムおよび情報マップ管理方法 | |
US20160335358A1 (en) | Processing search queries and generating a search result page including search object related information | |
US20170109411A1 (en) | Assisted creation of a search query | |
US10331686B2 (en) | Conducting search sessions utilizing navigation patterns | |
JP2004078689A (ja) | 検索システム及び検索プログラム並びに検索方法 | |
US20160335365A1 (en) | Processing search queries and generating a search result page including search object information | |
US10909112B2 (en) | Method of and a system for determining linked objects | |
CN105159899B (zh) | 一种搜索的方法和装置 | |
JP2021108124A (ja) | アクセス対象検索システム | |
KR102194767B1 (ko) | 컨텐츠 검색 서비스 제공방법 및 이를 위한 서버 |
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 |