CN113360741A - 在搜索结果中动态注入相关内容 - Google Patents

在搜索结果中动态注入相关内容 Download PDF

Info

Publication number
CN113360741A
CN113360741A CN202110637286.4A CN202110637286A CN113360741A CN 113360741 A CN113360741 A CN 113360741A CN 202110637286 A CN202110637286 A CN 202110637286A CN 113360741 A CN113360741 A CN 113360741A
Authority
CN
China
Prior art keywords
result
viewport
search results
score
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110637286.4A
Other languages
English (en)
Inventor
贾里德·齐默尔曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN113360741A publication Critical patent/CN113360741A/zh
Pending legal-status Critical Current

Links

Images

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/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/319Inverted lists
    • 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/9032Query formulation
    • G06F16/90324Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation 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/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9558Details of hyperlinks; Management of linked annotations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开涉及在搜索结果中动态注入相关内容。系统和方法使用驻留分值将相关内容注入搜索结果。例如,一种方法可以包括:针对至少部分地显示在视口中的至少一个结果,基于所述结果已经在视口中的时间量和所述结果在视口中的位置来核算所述结果的驻留分值,并且如果驻留分值满足阈值,在视口中显示所述结果的建议链接。另一示例方法包括在视口中显示可滚动搜索结果集合,并且在等待滚动动作或链接选择时,针对具有在视口中可见的内容的至少一个结果核算驻留分值并且基于驻留分值来更新排名信号。所更新的排名信号用于生成针对查询的下一搜索结果集合。

Description

在搜索结果中动态注入相关内容
技术领域
本公开涉及在搜索结果中动态注入相关内容。
背景技术
搜索引擎传统上搜索出现在文档(诸如通过互联网可访问的网页)中的查询项。搜索引擎响应于查询而返回的内容称为对该查询的搜索结果。每个搜索结果通常包含一个链接和一个片段,并且可能包含附加内容,诸如图像和/或标题等。搜索引擎使用多个排名信号来确定响应于查询和搜索结果的顺序提供哪些搜索结果。研究示出大多数用户以递减的方式与结果进行交互,其中,对于距离顶部结果越远的结果进行越少的交互。用户通常会与顶部结果中的一个(或多个)结果——例如前10个、前20个等——进行交互。这些结果通常列出在结果的第一页面或第二页面中。每个页面中显示的搜索结果的数目取决于所使用的搜索引擎、用户的偏好和设置以及显示类型,例如,个人计算机对移动电话。在前几个页面中没有找到有用结果的用户倾向于放弃搜索或重新制定搜索。
发明内容
实现方式使用驻留信号来显示相关建议项目和/或影响“下一页面”搜索结果以用于动态分页。例如,一些实现方式可以核算针对响应于查询而呈现的搜索结果的相关建议。所述建议可以包括改善的查询和/或到特定项目的链接。最初呈现给用户的搜索结果中的一个或多个可能具有相关建议。实现方式核算针对视口中的(例如在无需滚动的情况下用户可见的)搜索结果的驻留分值。如果特定搜索结果的驻留分值满足指定准则,则实现方式可能会显示相关建议项目。相关建议可能与搜索结果高度相关,或者可能与搜索结果偏离。附加建议可能包括可以帮助用户改善搜索的文档或查询。另外或者替代地,建议可以提供将用户带向稍微不同方向的偏离建议,例如,提供相关查询、查询项的替代解释和/或与特定搜索结果在相同类别/分类中的而且高度类似于该结果的文档。
作为另一个示例,一些实现方式可以在生成对查询的搜索结果的“下一页面”中使用驻留分值。传统上,搜索引擎可以针对查询预先计算大的(例如100个或更多)搜索结果集合并且作为响应提供大的集合,尽管可以在第一页面中仅显示几个(例如10个左右)搜索结果,并且在用户的“下一页面”请求之后其余结果可见。代替预先计算大的搜索结果集合,实现方式可以预先计算小得多的结果集合(例如20个)。如果用户提供“下一页面”请求,则实现方式可以使用第一集合的驻留分值来通知针对下一页面所计算的搜索结果。下一页面可以包括另一较小的结果集合,该结果集合可以包括第一页面中未包括的原始较小集合中的一些以及由于驻留分值信号而添加的结果。因此,实现方式可以支持搜索结果的动态分页并且使用一个(或多个)驻留分值来确定接下来提供哪些搜索结果。可以使用动态分页,而与手动分页无关。换句话说,用户可以与“下一页面”类型UI元素进行交互,或可以经由自动内联分页进行交互,这将新结果附加到现有页面上。
根据本公开的某些方面,一种方法包括针对至少部分地显示在视口中的每个结果,该结果是响应于查询而识别出的减少的结果集合的一部分,基于该结果已经在所述视口中的时间量和该结果在所述视口中的位置,核算针对该结果的驻留分值,以及响应于确定所述驻留分值满足阈值,在所述视口中显示针对该结果的建议链接。
根据本公开的某些方面,一种方法包括:从客户端设备接收查询,从响应于所述查询的倒排索引中确定第一多个搜索结果,并且提供所述第一多个搜索结果以显示在所述客户端设备处的视口中。该方法还可以包括接收用于所述第一多个搜索结果中的至少第一结果的驻留分值,接收对搜索结果的下一页面的请求,从响应于所述查询的所述倒排索引中确定第二多个搜索结果,以及部分地基于所述驻留分值对所述第二多个搜索结果进行排名,使得来自所述第二多个搜索结果中的与所述第一结果相似的结果接收排名的提升。
根据某些方面,一种方法包括:在视口中显示可滚动搜索结果集合,其中所述搜索结果集合表示响应于查询的减少的搜索结果集合;以及,在等待滚动动作或链接选择的同时,针对所述搜索结果集合中的具有在所述视口中可见的内容的每个结果核算相应驻留分值以及基于所述相应驻留分值来更新排名信号,其中,经更新的排名信号用于响应于对搜索结果的下一页面的请求而生成响应于所述查询的下一搜索结果集合。
在另一方面,一种有形的计算机可读存储介质,其上记录并包含有指令,所述指令在由计算机系统的一个或多个处理器执行时使所述计算机系统执行前述方法或操作中的任一个。
可以实施本文描述的主题的一个或多个实现方式,以实现以下优点中的一个或多个。作为一个示例,系统可以为搜索结果最初选择更小的设置结果(例如,15个或20个而不是100个),这节省时间并且可以导致更快地生成结果页面。另外,实现方式通过使用关于用户在其上暂停的哪些结果的信息来通知对进一步结果的选择和排名,改善在“下一页面”上出现的结果的质量和相关性。这具有减少了用户在到达答案之前可能要提交的查询量的益处。作为另一个示例,实现方式向用户提供自动协助。例如,当用户驻留在搜索结果页面上但不滚动(改变视口)或与单独结果交互时,用户可能会停滞了,例如不知道如何进行。实现方式为程序性和不干扰性的帮助提供了高度相似和偏离的建议。高度相似的建议可以帮助用户改善查询,例如表示接近于用户正在考虑的事物的结果(例如,基于特定结果的驻留分值)。偏离建议可以帮助用户探索不同但相关的内容,例如,帮助停滞的用户,例如,用户没有找到所寻求的内容但是不确定如何获得所寻求的内容。实现方式还可以在偏离和/或高度相关的建议中包括赞助内容,这为用户提供意识到与用户的兴趣有关的内容的机会。作为另一个示例,实现方式可以通过自动扩展诸如网格包的列表来注入内容,而无需使用户明确扩展列表。列表的自动扩展可以通过帮助用户更快地达到正确意图来减少用户输入,减少网络带宽使用。因此,实现方式针对搜索系统的新颖信号的生成和使用。
一个或多个实现方式的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,其他特征将变得显而易见。
附图说明
图1示出根据一些实现方式的示例系统。
图2示出显示针对查询的搜索结果的视口的示例。
图3A-3E示出根据一些实现方式的相关内容到图2的视口中的示例注入。
图4示出显示针对查询的搜索结果的用户视口的示例。
图5示出根据一些实现方式的相关内容到图4的视口中的示例注入。
图6示出根据一些实现方式的用于注入相关内容到搜索结果中的过程的流程图。
图7显示可用于实现所描述的技术的计算机设备的示例。
图8示出了可用于实现所描述的技术的分布式计算机设备的示例。
在各种附图中,相同的附图标记指示相同的元件。
具体实现方式
实现方式包括用于在没有明确用户动作的情况下将内容注入到搜索结果中的系统和方法。所公开的实现方式使用驻留信号来向用户提供附加内容。驻留信号用作用户不活动的指示。换句话说,当向用户呈现搜索结果时,如果用户未改变视口中的内容(即未滚动)并且未选择任何搜索结果,则用户在视口中将驻留在搜索结果中。这可能是因为用户正在消费片段中的内容、用户已经走开、用户可能无法找到第一结果页面中提供的有帮助的搜索结果或者用户停滞并且不知道如何继续。如果用户在页面上驻留足够长时间,则实现方式可能会自动将针对用户的建议注入到内容中。以建议项目的形式注入的内容可以帮助用户更快地找到相关内容。在一些实现方式中,用户花费更多时间驻留的项目(在针对那些项目的驻留分值上反映的)可以提供用户认为更有帮助的各种内容的信号,即使不是足够有帮助来进行选择。如果用户请求下一结果页面,则这些信号可以通知下一个搜索结果集合。
图1是根据示例实现方式的搜索服务系统100的框图。系统100可以用于实现使用驻留分值将相关建议内容自动注入到搜索界面中的搜索服务。图1中的系统100的描述被描述为由互联网可访问的针对内容的搜索服务,该搜索服务被配置为生成并且使用响应于查询而生成的搜索结果的驻留分值。可以使用所描述的技术的其他配置和应用。例如,驻留分值可用于与非互联网来源——诸如公司的内部文档或通过登录保护的语料库(例如仅会员库)中的项目——进行类似的交互。可以在搜索服务经由浏览器提供搜索结果的任何设置中应用实现方式。
搜索服务系统100可以包括搜索引擎110。搜索引擎110可以是采用许多不同设备的形式的计算设备,例如标准服务器、这样的服务器组或机架服务器系统。在一些实现方式中,搜索引擎110可以是诸如处理器和存储器之类的单个系统共享组件。另外,搜索引擎110可以在个人计算机(例如,膝上型计算机)中实现。搜索引擎110可以是计算机设备800的示例,如图8所示。搜索引擎110可以包括一个或多个服务器,这些服务器从诸如客户端170之类的请求者接收查询并且向该请求者提供搜索结果。
搜索引擎110可以包括形成在基板中的一个或多个处理器113、操作系统(未示出)和一个或多个计算机存储器114。计算机存储器114可以表示任何种类的存储器(例如,RAM、闪存、缓存、磁盘、磁带等)。存储器114可以表示多种存储器。在一些实现方式(未示出)中,存储器114可以包括外部存储,例如,物理上远离搜索引擎110但是由搜索引擎110可访问的存储器。搜索引擎110可以包括表示专门编程软件的一个或多个模块或引擎。例如,搜索引擎可以包括查询系统120,该查询系统120使搜索引擎110能够接收查询且响应于查询。
查询系统120本身可以包括模块。例如,查询系统120可以包括查询引擎125和索引引擎127。索引引擎127可以被配置为更新项目索引140。例如,索引引擎127可以将项目添加到项目索引140,在索引140中更新项目,并且从索引140中删除项目。在一些实现方式中,索引引擎127可以与一个或多个爬取器一起工作。爬取器搜索经由互联网可访问的项目,并且返回该项目的内容(包括元数据)。索引引擎127可以使用内容和/或元数据来生成和更新索引140。
查询系统120还可以包括查询引擎125。查询引擎125可以从诸如客户端170之类的请求者接收查询,分析查询以确定如何搜索项目索引140,并且发起对项目索引140的搜索。用户可以向查询引擎110提交查询,例如单词、短语、单词列表、图像、记录等。搜索引擎110,特别是查询引擎125,使用一个或多个索引(项目索引140)识别响应于查询而返回的项目。响应于查询而返回到查询引擎125的项目也可以称为响应项目。查询引擎125可以为一些或所有响应项目生成搜索结果。如本文所使用的,搜索结果是与响应项目有关的数据。搜索结果可以包括链接。该链接可以发起与响应项目有关的某些动作。例如,搜索结果链接可以将用户带到网页、可以开始支付视频或音频文件、可以将地图应用打开到某个地理位置、可以发起电话呼叫或执行某些其他操作。对项目的搜索结果还可以包括与该项目有关的小图像或图标。例如,与演员有关的搜索结果可以包括演员的图像。网页的搜索结果可以包括网页的预览等。项目的搜索结果可以包括项目的简短描述或从项目中提取的信息,也称为片段。搜索结果可以包括与项目有关和/或描述该项目的其他信息。
查询引擎125可以对响应项目进行排名。排名可以包括将一个或多个排名信号应用于响应项目。排名信号可以包括许多因素。非限制性示例是该项目的网页排名、该项目的相关性分值、该项目的来源等。除了已知排名信号之外,查询引擎125还可以利用驻留信号进行排名。驻留信号可用于动态分页中。
在许多常规搜索引擎中,查询引擎生成针对查询的大的响应项目集合,例如,具有数百个成员的集合。许多搜索引擎将响应项目组织到页面中。每个页面可以具有预设数目的响应项目。因此,例如,前十个响应项目可以作为第一页面返回,接下来十个响应项目可以在第二页面上等等。用户可以使用链接或控件在页面之间移动,例如,请求最后一个页面、下一页面、前一页面等。因此,常规搜索引擎会预先生成大的响应项目集合,并且使用户能够翻阅预先生成的集合。预先生成意味着在页面中表示的项目在将搜索结果的第一页面呈现给用户时被设置。
相反,在动态分页中,响应项目的下一页面不是预先生成的。而是,查询引擎125可以在提供搜索结果的下一页面之前重新排名其余的响应项目和/或运行修订的查询。换句话说,在动态分页中,查询引擎可以使用在首次执行查询时不可用的信息来改善在搜索结果的下一页面中呈现的响应项目。改善可以包括基于附加信息来提高一个或多个响应项目的排名,例如,使得响应项目响应于排名的提高而移动到结果的下一页面。在这样的实现方式中,响应项目可以被预先生成,但是对项目的排名可以基于附加信息而改变。在这样的实现方式中,一旦用户查看的页面上包括响应项目,该项目的页面指配就不会改变。因此,重新排名可以应用于剩余的项目,或者换句话说,还没有被呈现给用户的项目。改善可以包括基于附加信息使用修改后的查询来生成响应项目的新列表。在这样的实现方式中,查询引擎125可以生成更小的响应项目集合,例如15而不是100或200。响应于用户对搜索结果的下一页面的请求,查询引擎125可以运行经修改的查询以获取下一个响应项目集合,例如另外15个响应项目。在这样的实现方式中,与其中查询引擎125生成大的响应项目集合的实现方式相比,查询引擎125可以使用更少的带宽更快地返回结果的第一页面。在动态分页中使用的附加信息可以包括在向用户呈现搜索结果的当前页面期间获得的驻留信息。如本文中所说明,可使用搜索引擎110的代理(例如,代理177)来获得驻留信息。
在找到响应项目时,查询系统120可以负责搜索一个或多个索引,这些索引共同表示为项目索引140。项目索引140可以包括Web文档索引,例如,将词项、短语和/或n元语法与文档相关联的倒排索引。Web文档可以是可通过互联网可访问的任何内容,诸如网页、图像、视频、PDF文档、文字处理文档、音频记录等。项目索引140还可以包括例如来自知识库或知识图的实体的索引。在知识图中,实体被建模为节点,而关于实体的事实则被建模为实体之间的属性或标记关系。如本文所使用的,实体可以指人、地方或事物的物理实施例或对该物理实体的表示,例如,文本或指代实体的其他信息。例如,表示Eiffel Tower(埃菲尔铁塔)的节点可以通过located in(位于)关系链接到表示Paris(巴黎)的节点。Paris实体可以具有表示地理坐标的属性,并且可以通过located in关系链接到表示France(法国)的节点。项目索引140还可包括广告的索引,其将词或短语与广告活动相关联。因此,响应项目可以是来自活动的广告。项目索引140还可以包括专有文档——例如仅经由认证可访问的文档(包括图像、音频记录、视频等)——的索引。因此,如本文所使用的,项目可以是指web文档、实体、广告、专有文档、图像、记录等。
项目索引140可以被存储在被配置为以半永久或非暂时形式存储数据的有形的计算机可读存储设备上,例如磁盘、闪存、缓冲存储器或它们的组合。在某些实现方式中,索引140可以存储在各种存储器的组合中。查询引擎125可以从项目索引140获得响应项目,对响应项目进行排名,生成针对至少一些响应项目的搜索结果,并且将搜索结果提供给查询请求者,例如客户端170。
除了找到响应项目之外,查询系统120还可以例如从建议项目135或从针对查询的响应项目中识别建议项目。建议项目可能与查询有关。建议项目可能与特定响应项目有关。建议项目可能包括最初未显示在搜索结果页面中的附加响应项目。例如,查询系统120可以识别具有相似类型、类别等的响应项目的列表,例如出现在特定电影中的演员列表或某种类型“near me(在我附近)”的企业列表。在一些实现方式中,查询系统120可以从列表中选择一些项目以显示为诸如丰富特征之类的组合搜索结果。列表中的剩余项目中的至少一些可以被提供为针对丰富特征的建议项目,例如,如图4和5所示。
作为另一示例,查询系统120可以使用建议项目135。建议项135可以包括(例如,在接收查询之前发生的过程中)被预先计算为与查询和/或响应项目有关的项目。例如,建议项目135可以包括通常跟随接收到的查询的如通过分析搜索记录所确定的查询。搜索记录可以包括聚合的搜索日志、从查询中收集的聚合数据或与先前处理的查询有关的其他聚合数据。在一些实现方式中,搜索记录可以由搜索引擎110在生成搜索结果的正常过程中生成。在一些实现方式中,建议的后续查询可以通过与查询的相似性和/或建议查询跟随接收到的查询的次数来排名。在一些实现方式中,建议的后续查询可以通过与会话信息130中的信息的相似性来排名。因此,建议查询可以与接收到的查询和/或响应项目偏离,但是与会话信息130中的信息高度相关。在一些实现方式中,建议的后续查询可以与特定响应项目相关。例如,响应项目可以与一个或多个查询相关联,例如,因为响应项目通常在被呈现为针对相关查询的搜索结果之后被选择。如果响应项目具有相关查询,则这些查询可以被包括作为响应项目的建议项目。例如,建议项目135可以包括其他用户已经采取的主题旅程的部分。例如,如果当前查询是“jobs in Pittsburgh(匹兹堡的工作)”,则搜索系统可以将“housing in Pittsburgh(匹兹堡的房屋)”或“best elementary schools in Pittsburgh(匹兹堡最好的小学)”作为建议项目135。作为另一个示例,建议项目135可以包括对查询词项的替代解释。例如,查询“jaguar(美洲虎)”可以产生“jaguar car(美洲虎汽车)”、“jaguar cat(美洲虎猫)”和/或“jaguar team(美洲虎团队)”作为建议。类似地,建议项目135可以包括替代可能性。例如,对“washing machine(洗衣机)”的查询可以具有“newwashing machine(新洗衣机)”或“washing machine repair(洗衣机维修)”作为建议项135,而对“university(大学)”的查询可以包括“trade school(贸易学校)”或“journeyprogram(旅程计划)”作为建议项目135。与查询偏离的建议的另一个示例是替代观点。例如,对“How long should I foam roll after running?(跑步后我应该泡沫滚动多长时间?)”的查询可能有“Should I foam roll after running?(跑步后我是否应该泡沫滚动?)”或“Alternatives to foam rolling after running(跑步后进行泡沫滚动的替代方法)。”作为建议项目。
以类似的方式,响应项目可以与一个或多个其他项目相关,例如,因为它们一起出现在搜索结果页面中或因为它们包括相似内容。因此,不是包括具有相似内容的几个项目,搜索引擎可以包括具有相似内容的排名最高的项目,并且将其他项目用作排名最高的项目的建议项目。作为另一个示例,建议项目135可以包括广告。查询系统120可以包括与查询中的关键字匹配的广告。广告可以是赞助者已经选择的与关键字相关联的项目。在一些实现方式中,响应项目可以与一个或多个关键字相关联,并且广告可以是针对响应项目的建议项目。
如前所述,搜索引擎110可以识别针对查询的建议项目集合和/或针对当前搜索结果页面中包括的响应项目中的至少一些的项目集合。一些实现方式可以将图标或其他视觉队列与每个建议项目相关联。该图标可以用作建议项目的类型的指示。例如,建议查询、建议项目、建议实体和建议广告可能每一个具有不同的视觉队列。查询系统120可以应用对建议项目的排名。查询系统120可以提供显示建议项目所需的信息作为对查询的响应的一部分,尽管该信息和建议项目本身最初并未显示。在这样的实现方式中,浏览器,例如浏览器175,可以能够在不与搜索引擎110进一步通信的情况下基于驻留分值来显示一个或多个建议项目。
查询系统120可以通过网络160与客户端170通信。网络160可以是例如互联网、蜂窝网络、有线或无线局域网(LAN)、广域网(WAN)等。网络160可以表示多种类型的网络。经由网络160,查询系统120可以与客户端170以及与其他域(未示出)通信并且向/从客户端170以及其他域传送数据。
搜索服务系统100还可以包括在客户端170上运行的代理177。客户端170可以是计算机设备700的示例,如图7所示。例如,客户端170可以是个人计算机、移动电话、平板电脑、膝上型计算机、可穿戴设备、智能电视等。客户端170可以包括形成在基板中的一个或多个处理器173,其被配置为执行一个或多个机器可执行指令或一块软件、固件或其组合。处理器173可以是基于半导体的——也就是说,处理器可以包括可以执行数字逻辑的半导体材料。客户端170还可以包括一个或多个计算机存储器174。存储器174,例如主存储器,可以被配置为临时地,永久地,半永久地或其组合地存储一个或多个数据。存储器174可以包括以可以被一个或多个处理器173读取和/或执行的格式存储信息的任何类型的存储设备。存储器174可以存储当由一个或多个处理器173执行时执行某些操作的应用、模块和/或引擎。在一些实现方式中,应用、模块或引擎可以被存储在外部存储设备中并且被加载到存储器174中。
应用可以包括被配置为在客户端170上执行的任意数目的应用,诸如操作系统、消息收发应用、购物应用、编辑应用、搜索助手、地图等。特别地,这些应用包括浏览器175。浏览器175可操作来接收网页代码(例如,HTML、JavaScript等)并且渲染该网页以呈现给客户端170的用户。客户端170因此包括具有视口的显示设备。如本文所使用的,视口是显示由浏览器渲染的内容的多边形区域。通常,视口是矩形的。视口的大小是设备相关的,例如,智能手机上的视口小于个人计算机或平板电脑的视口。渲染的网页的内容可能并非全部适合视口。在这种情况下,用户可以滚动,例如执行滚动动作,以将内容带入视口并且将内容移出视口。滚动动作是浏览器175(可能与客户端170的操作系统结合)辨识为执行滚动以将内容移入视口的任何输入。示例滚动动作是致动鼠标上的滚轮、点击并拖动动作、滑动动作(例如,使用手指或手写笔)、浏览器窗口中滚动条的致动等。浏览器175因此显示可滚动内容(例如,渲染的网页)和视口确定客户端170的用户可以实际看到的内容的哪一部分,或者换句话说,内容的哪一部分可见。
浏览器175可以包括代理177。代理177是经用户同意安装的模块或轻量级应用。代理177与查询系统120通信。例如,代理177可以与查询系统120交换会话信息130。会话信息130可以包括用于提供某个搜索系统功能的数据项目。在会话信息130中包括的其他信息中,代理177可以核算在视口中可见的一个或多个搜索结果的驻留分值。代理177可以核算当用户不正在滚动(执行滚动操作)时在视口中的搜索项目的驻留分值。换句话说,当用户活跃地滚动时,代理177可以不核算任何驻留分值。当用户停止滚动时,视口中的内容是固定的,直到用户执行其他滚动操作、选择链接、提交不同查询或切换焦点为止。在视口中的内容是固定的同时,代理177可以周期性地核算针对在视口中显示的每个搜索结果的相应驻留分值。换句话说,在视口中显示的每个搜索结果具有其自己的驻留分值,代理177可以周期性地对其进行更新。搜索结果的驻留分值可能取决于许多因素。在一些实现方式中,驻留分值可以是因素的加权组合。在一些实现方式中,可以使用诸如线性回归、逻辑回归、神经网络等的机器学习算法来确定权重和/或驻留分值是否满足阈值。
因素可以包括搜索结果在视口中的位置。例如,与朝向视口的中部或顶部出现的搜索结果相比,该因素可以对于朝向视口的底部(例如,底部第三个、底部第四个等)出现的搜索结果是更低的。因素可以包括搜索结果在视口中已经存在了多长时间。例如,结果在视口中越长时间,该因素可能会增加该结果的驻留分值。因素可以包括在视口中出现的搜索结果的量。例如,仅部分地在视口中的搜索结果可能会收到其驻留分值的降低或惩罚。因素可以包括光标与搜索结果的接近度。在一些实现方式中,光标的接近度可以被很高地加权。在一些实现方式中,光标的接近度可以比任何其他因素被更多加权。光标可以是与鼠标、轨迹球或触控板结合使用的图标。当客户端170包括触摸屏时,光标也可以是触摸的位置。出于驻留分值的目的,光标可以是静止触摸。当用户(例如,用数字或手写笔)触摸屏幕但不改变触摸的位置或移除触摸时,发生静止触摸。在一些实现方式中,诸如用户对浏览器175启用了眼睛跟踪的移动设备,因素可以包括与凝视方向的接近度。该因素可以类似于光标因素的接近度而被加权。代理177可以周期性地核算视口中的搜索结果的驻留分值,例如使得可以考虑视口中的时间。在一些实现方式中,在结果已经被滚动出视口之后,搜索结果可以保持其最后核算的驻留分值。
在一些实现方式中,代理177可以基于驻留分值来注入内容。例如,响应于确定一个搜索结果具有满足(例如,大于或等于)预定阈值的驻留分值,代理177可以将建议项目自动注入到视口中。建议项目可以包括特定于搜索结果的项目。建议项目可以包括针对其返回搜索结果的查询的项目。在一些实现方式中,如果到光标的接近度因素或到注视方向的接近度因素指示注视方向或光标与搜索结果的一部分重叠并且观看区域中的时间指示已经达到最小时间,则驻留分值可以满足预定阈值。在一些实现方式中,如果观看区域中的时间指示已经达到最小时间并且在视口中的位置的因素足够高,则驻留分值可以满足预定阈值。一些实现方式可以使用机器学习分类器来确定驻留分值是否满足预定阈值。代理177可以使用各种方法来注入建议项目(也称为建议链接),如关于图2-3C、图4和图5更详细地描述。
代理177还可以将驻留分值发送到搜索引擎110。驻留分值可以与会话信息相关联,例如,在会话信息130中。会话的驻留分值可以在会话关闭时被删除。在一些实现方式中,搜索引擎110,特别是查询引擎125,可以将驻留分值用作生成搜索结果的下一页面和提供其作为动态分页的一部分的排名信号中的一个。具体地,如本文中所描述,与具有高驻留分值的另一项目的搜索结果相似的响应于查询的项目可以接收排名的提升,如关于图3D和图3E更详细地描述。
进一步以上描述,可以向客户端设备170的用户提供允许用户做出关于此处描述的系统、程序或特征是否以及何时可以实现收集用户信息(例如,关于用户的活动、用户的偏好或用户的当前地理位置的信息),以及是否向用户发送来自诸如搜索引擎110的服务器的内容或通信的选择的控件。此外,在存储或使用某些数据之前,可以通过一种或多种方式处理某些数据,使得移除个人可识别信息。例如,可以处理用户的身份,使得无法为该用户确定任何个人可识别信息,或者在获得地理位置信息的情况下可以概括用户的地理位置(诸如城市、邮政编码或州级别),使得无法确定用户的特定地理位置。因此,客户端170的用户可以控制关于用户的哪些信息被收集,如何使用该信息以及向用户和/或搜索引擎110或代理177提供什么信息。
客户端170可以包括一个或多个输入设备,诸如触摸屏、键盘、鼠标、指示器、麦克风、相机、一个或多个物理按钮等。输入设备可以发起输入事件,诸如滚动、链接选择、光标移动,其可以由浏览器175和/或代理177接收和分析。客户端170还可以包括通信设备,该通信设备可操作以通过一个或多个网络(诸如网络160)发送来自其他计算设备(诸如另一个客户端、服务器,搜索引擎110等)的数据和从其他计算设备(诸如另一个客户端、服务器,搜索引擎110等)接收数据。图1的配置表示一个示例配置并且实现方式可以合并其他配置。
图2示出显示对查询的搜索结果的视口200的示例。诸如图1的查询系统120之类的查询系统可以响应于查询205而生成将由诸如浏览器175之类的浏览器渲染的内容。在图2的示例中,用户已提交了“restaurants near me(在我附近的餐厅)”的查询205。视口200中的内容包括搜索结果集合203,例如搜索结果210、搜索结果220、搜索结果230等。每个搜索结果都与响应项目相关联。搜索结果集合203可以包括当前在视口200中不可见的附加搜索结果。这些附加搜索结果可以例如经由滚动动作被移入视口中。搜索结果集合203可以被认为是搜索结果的第一页面。在图2的示例中,还示出了光标215。光标215接近搜索结果210。
图3A-3E示出了基于驻留分值来动态地注入建议链接的示例。图3A示出根据一些实现方式的建议链接到图2的视口200中的示例注入。在图3A的示例中,搜索结果210的驻留分值满足预定阈值。作为确定驻留分值满足阈值的结果,系统(例如,经由图1的代理177)将建议链接330注入到视口中,从而生成视口300a。建议链接330表示与具有满足预定义阈值的驻留分值的搜索结果210和/或查询205相关的内容。在图3A的示例中,建议链接330被注入到搜索结果210下方,并且使其他搜索结果(220和230)向下滚动。在图3A的示例中,建议链接330包括建议查询332和建议文档334。虽然在图3A中未示出,但是建议链接可以包括建议实体或一个广告/多个广告。建议链接330可以包括与搜索结果210的响应项目相似的链接。例如,“Springfield east restaurants(斯普林菲尔德东餐厅)”和“Mall Food CourtDirectory(商场美食广场指南)”与搜索结果210高度相似。建议链接330还可以包括偏离建议。例如,“Italian restaurants(意大利餐馆)”和“the Mexican Restaurant menu(墨西哥餐馆菜单)”提供与搜索结果210相似的内容(例如,与在我附近的餐馆相关),但是向用户表示更具体方向。用户可以使用偏离建议来在查询205中未明确表示的方向上改善搜索。在一些实现方式中,偏离建议可以在用户同意的情况下基于有关会话或用户的信息。
在一些实现方式中,建议链接可以呈现在轮播中。建议链接330’示出了示例轮播。在一些实现方式中,建议链接330’可以代替视口300a中的建议链接330。轮播中的建议链接330’可以是可滚动的。建议链接可以用指示链接类型——例如,建议的链接是否是新查询、文档、实体、广告等——的图标列出。例如,图标336可以指示“Springfield eastrestaurants”是查询,其中图标338可以指示“thepost.com”是文档。图3B示出建议链接到图2的视口200中的另一个注入。在图3B的示例中,建议链接330’替换视口中的搜索结果210。在一些实现方式中,图3A的建议链接330也可以替换搜索结果210。使用图3B的技术的实现方式具有不滚动其他搜索结果的优势,这能够对于诸如移动电话的具有较小视口的设备是有利的。
图3C示出建议链接到图2的视口200中的另一个注入。在图3C的示例中,视口被分成主要内容区域342和侧边栏区域344。使用图3C的实现方式将建议链接340注入到侧边栏区域344中。如与图3A和3B一样,建议链接340表示与具有满足预定阈值的驻留分值的搜索结果210相关的内容。建议链接340包括与搜索结果210相关的相似内容和偏离(多样化)内容。建议链接340中的建议具有与建议链接330’相似的格式,例如,以轮播格式,可选地利用与链接和/或链接的类型相关的图标。可以使用其他格式,例如,诸如建议链接340’。在一些实现方式中,建议链接340被锚定到搜索结果210,即具有导致注入建议链接的驻留分值的搜索结果。
图3D和3E示出根据一些实现方式的相关内容到图2的视口中的示例性动态分页注入。在图3D的示例中,客户端设备的用户一直在观看视口200,因此,视口中的每个搜索结果203具有核算出的驻留分值。出于图3D的示例的目的,用户在视口200静止时大部分时间将光标215定位在搜索结果220附近。因此,在该示例中,搜索结果220在结果的第一页面中具有搜索结果的最高驻留分值。视口200中表示的界面包括下一页面控件225。在图3D的示例中,用户已经选择了下一页面控件225。下一页面控件是发起下一页面动作的任何控件。下一页面动作指示用户希望显示下一搜索结果集合。如果用户单击或以其他方式选择下一页面控件225,则搜索引擎将提供搜索结果的下一页面,以供浏览器渲染。实现方式不限于如图2所示的下一页面控件225的确切表示。例如,下一页面控件225可以是一些其他图标,也可以采用可选数字形式(例如,“页面1 2 312”)或“下一页面”或“更多结果”链接。在一些实现方式中,可以暗示下一页面控件225。在这样的实现方式中,不是用户选择图标或链接,系统可以采用超滚(overscroll)作为下一页面控件225。当到达滚动区域的边界时,发生超滚。换句话说,浏览器已经用尽要显示的内容并且滚动停止。在一些实现方式中,在达到该边界之后,用户可以执行滚动动作。如果针对超滚没有定义动作,则客户端设备通常会提供反弹效果或页面刷新。在一些实现方式中,超滚可以被解释为对下一页面控件的选择。换句话说,系统可以将超滚解释为对搜索结果的下一页面的请求。因此,下一页面控件225可以是使浏览器显示对查询205的搜索结果的下一页面的任何控件或动作。
在用户选择下一页面控件225之后,系统可以生成对查询205的下一搜索结果集合。系统可以将第一页面中的搜索结果的驻留分值用作排名信号的一部分,并且/或作为选择下一页面的搜索结果的准则的一部分。例如,在图3D的示例中,因为搜索结果220具有最高驻留分值,所以搜索引擎可以提高与由搜索结果220表示的项目(例如意大利餐馆)更相似的项目的排名。排名的这种提高可以导致更多的意大利餐馆(诸如搜索结果350)被包括在下一页面中包括的搜索结果中,如图3D所示。此外,意大利餐厅的评论站点(诸如搜索结果352和354)可以接收排名的提高,并且出现在结果的下一页面中。响应于查询205的与意大利餐馆不相关的其他项目也可以被包括在下一页面中,诸如搜索结果356。
在图3E的示例中,客户端设备的用户一直在观看视口200,因此,视图中的每个搜索结果203都具有驻留分值。出于图3E的示例的目的,用户在观看搜索结果的第一页面的同时将光标215定位在搜索结果230附近。因此,在该示例中,搜索结果230在结果的第一页面中具有搜索结果的最高驻留分值。在图3E的示例中,用户已经选择了下一页面控件225,指示搜索引擎应提供搜索结果的下一页面(第二集合)。在生成下一页面时,搜索引擎使用搜索结果203的驻留分值,例如,以选择和/或排名所返回的项目。在该示例中,因为搜索结果230具有最高驻留分值,所以至少一些响应项目将类似于与搜索结果230相关联的项目。因此,例如,如图3E所示,下一搜索结果集合可以包括其他小餐馆,例如搜索结果360。此外,或者替代地,下一搜索结果集合可以包括与美国小餐馆相关的评论,诸如搜索结果362和搜索结果364。如与图3D一样,搜索结果的下一页面也可以包括响应于查询205的其他结果,而不必仅仅是与搜索结果230更相似的那些结果,例如搜索结果356。
图3D和3E是实现方式可以如何在动态分页中使用驻留分值的示例。例如,取决于搜索结果的第一页面(例如,搜索结果集合203)中搜索结果的驻留分值,下一页面可以包括搜索结果350、352和354,或者下一页面可以包括搜索结果360、362和364。因此,如图3D和3E所示,实现方式可以使用驻留分值来使用动态分页在搜索结果的下一页面中注入相关建议。
图4示出显示对查询405的搜索结果的用户界面400的示例。在图4的示例中,查询405是“权力的游戏的演员(game of thrones cast).”。搜索引擎可以在搜索结果的第一页面中提供搜索结果410和425。客户端设备可以在视口402中显示搜索结果的第一页面。在视口402中未示出的附加搜索结果可以作为结果的第一页面的一部分被返回。用户可以向下滚动以看到这些附加结果。在图4的示例中的搜索结果410是网格包。网格包是丰富特征的示例。丰富特征是包括图形元素以及有时与项目有关的事实的搜索结果。丰富特征可以呈现在一个诸如知识面板的框中,也可以以轮播格式或网格包的形式呈现。在轮播格式可以从左滚动到右的情况下,网格包通常可以上下滚动,并且最初以折叠状态呈现。例如,图4的网格包可以最初显示三个演员和用于扩展网格包的控件415。在图4的示例中,网格包中的每个项目都包括演员的照片、演员的姓名以及演员在Game of Thrones(权力的游戏)中扮演的角色。
一些实现方式可以使用搜索结果410的驻留分值来自动扩展网格包,而无需用户明确选择控件415。例如,如果用户在搜索结果410中保持手指(例如,光标420),则系统可以核算驻留分值。用户保持靠近搜索结果410的手指的时间越长,搜索结果410的驻留分值将越高。一旦系统确定驻留分值达到(例如,满足或超过)阈值,则系统可以自动扩展网格包,如图5所示。因此,图5示出建议内容510到图4的视口402中的示例注入。注入可以导致诸如搜索结果425的其他搜索结果滚出视口。
在图2至图5中表示的任何示例中,系统可以核算在视口中的注入内容的驻留分值。因此,例如,一旦网格包被扩展,系统就可以核算网格包中的每个单独项目的驻留分值。驻留分值然后可用于动态分页或注入其他建议内容。例如,在图3B中,用户可以将光标215定位在针对“Italian restaurants”的建议链接上。这可以导致建议链接在用户选择图3B的下一页面控件225之后具有导致图3D中所示的搜索结果的驻留分值。换句话说,针对Italian restaurants核算的驻留分值可以响应对结果的下一页面的请求而导致图3D的界面。同样地,建议内容510中的特定演员的驻留分值可以导致对包括与该特定演员更紧密相关的项目的搜索结果的搜索结果的下一页面的请求。因此,实现方式可以使建议链接能够影响和注入用于动态分页的建议内容。建议链接可以在没有动态分页的情况下实现。动态分页可以在没有建议链接的情况下实现。建议链接也可以利用动态分页实现但不影响动态分页(例如,一些实现方式可以不核算建议项目的驻留分值)。
图6示出根据一些实现方式的用于将相关建议内容注入到搜索结果中的过程600的流程图。过程600可以由诸如图1的系统100之类的搜索服务系统执行。特别地,过程600可以部分地由诸如图1的搜索引擎110之类的搜索引擎和诸如图1的代理177之类的客户端设备上的代理执行。过程600可以是在浏览会话期间执行的一个过程。过程600可以响应于从请求者(例如从客户端设备)接收查询(605)而开始。该系统可以获得被认为是响应于查询的项目,或者换句话说,响应项目集合(610)。在使用动态分页的实现方式中,与不使用动态分页的搜索引擎相比,可以减少响应项目集合中的项目数目。例如,响应项目集合可以包括10或15个项目,而不是100或更多。系统可以对响应项目进行排名。系统可以将响应项目指配给页面,例如,第一页面、第二页面。搜索系统可以生成用于指配给第一页面的每个响应项目的搜索结果。在一些实现方式中,搜索系统还可以获得针对指配给第一页面的响应项目中的至少一些的建议内容(615)。如果例如结果无法被理解、被不良标记或质量低劣、是新结果或边缘主题,则指配给第一页面的响应项目可能没有建议内容。在一些实现方式中,建议内容可以与初始页面加载一起被发送。在一些实现方式中,可以在初始页面变得可见之后“缓慢加载”建议内容。在一些实现方式中,建议内容可以基于与页面的交互根据需要来下载,例如,在驻留分值达到或接近用于显示的阈值时被取得。建议内容是与搜索结果一起被下载,被缓慢加载还是按需加载可能基于用户的连接速度、用户的设备、结果在页面上的位置等。
建议内容可以与搜索结果一起被提供给渲染该内容的客户端。因此,在客户端设备上,至少一些搜索结果在视口中可见。建议内容最初不可见。因此,客户端至少显示搜索结果的第一页面的开始(620)。众所周知,客户端设备的用户可以与搜索结果交互,例如,滚动搜索结果和/或选择一个或多个搜索结果等。当用户正在活跃地滚动(625,是)时,系统不采取关于驻留分值的动作。如果系统接收到对搜索结果的下一页面的请求(630,是),则系统可以获得下一页面的结果(610)。在一些实现方式中,下一页面的项目的排名和选择可以至少部分地取决于针对先前一页面或多页面中的项目所核算的驻留分值。在一些实现方式中,驻留分值可以被包括在会话信息中。
一旦用户停止滚动(625,否),系统就可以核算驻留分值(635)。特别地,对于至少部分地在视口中的每个搜索结果,系统可以核算驻留分值(640)。在一些实现方式中,视口中的搜索结果可以包括建议链接,诸如建议链接330、330’,340或340’和/或扩展内容,诸如内容510。如上所述,驻留分值可以基于因素的组合。因素包括搜索结果已经在视口中的时间量。在一些实现方式中,驻留分值可以包括光标与结果的接近度的因素。在一些实现方式中,驻留分值可以包括凝视方向与结果的接近度。在一些实现方式中,驻留分值可以包括用于结果在视口中的位置的因素。在一些实现方式中,驻留分值可以包括在视口中可见的搜索结果量的因数。在一些实现方式中,驻留分值可以是一个或多个因素的加权组合。在一些实现方式中,系统可以使用机器学习模型来确定驻留分值。
在一些实现方式中,可以将驻留分值发送回到搜索引擎,例如,以更新会话信息(655)。如果将驻留分值传达回到搜索引擎,则搜索引擎可以将分值用作在排名和选择响应项目时的许多信号之一,例如作为步骤610的一部分。在一些实现方式中,会话信息可以包括针对其核算驻留分值的每个项目的一个驻留分值。在一些实现方式中,会话信息可以保留在会话期间核算的响应项目的驻留分值的历史。
在一些实现方式中,如果搜索结果的驻留分值达到预定阈值(645,是),则系统可以注入建议内容(650)。注入可以包括显示针对搜索结果的建议链接,例如建议链接330,330’,340和/或340’。注入可以包括显示折叠内容,例如内容510。注入可以使得其他搜索结果移离视口(例如,如图3A和图5所示)。如果将搜索结果完全移出视口,则系统停止核算该结果的驻留分值,直到将其移回到视口中为止。另外,注入内容可能成为针对其核算驻留分值的结果。换句话说,步骤650可以修改针对其核算了驻留分值的搜索结果作为步骤635的一部分。
系统可以继续周期性地(例如,连续地,每秒,每十分之一秒,在每次交互等,或者这些的某种组合)核算驻留分值作为步骤635的一部分,直到任一用户开始滚动为止(接收到滚动动作)或用户选择搜索结果之一。当然,如果用户将焦点切换到一些其他窗口或浏览器选项卡,则过程600可以暂停驻留分值核算。如果用户选择了搜索结果(665,是),则系统获得所选结果的内容,并且可以更新会话信息(670)。过程600然后结束,尽管在一些实现方式中,结果的驻留分值可以保留在会话信息中,直到关闭浏览器为止。因此,如果用户导航回到搜索结果页面,则可以使用驻留分值,如本文所述。如果用户未选择搜索结果(665,否)但是已请求结果的下一页面(630,是),则系统生成结果的下一页面(610),在一些实现方式中使用驻留分值来通知和排名在下一页面中表示的响应项目。
图7示出了通用计算机设备700的示例,其可以被操作作为可以与此处描述的技术一起使用的图1的搜索引擎110和/或客户端170。计算设备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与其他设备的近区域通信。在一些实现方式中,控制器408可以耦合到存储设备706和扩展端口714。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的扩展端口可以耦合到一个或多个输入/输出设备,诸如键盘、指示设备、扫描仪、一个或多个相机、或者例如通过网络适配器耦合到诸如交换机和路由器之类的联网设备。
如图所示,可以以多种不同形式来实现计算设备700。例如,它可以被实现为标准服务器730,或者更多时间被实现在一组这样的服务器中。它也可以被实现为机架服务器系统的一部分。另外,它可以在诸如膝上型计算机732、个人计算机734或平板电脑/智能电话736的计算设备中实现。整个系统可以由彼此通信的多个计算设备700组成。其他配置也是可能的。
图8示出了通用计算机设备800的示例,其可以是可以与此处描述的技术一起使用的图1的搜索引擎110。计算设备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可以包括未示出的其他组件,诸如控制器、总线、输入/输出设备、通信模块等。
整个系统可以由彼此通信的多个计算设备800组成。例如,设备880a可以与设备880b,880c和880d通信,并且这些设备可以被统称为搜索引擎110。作为另一个示例,图1的搜索引擎110可以包括两个或更多个计算设备800。一些计算设备可以在地理位置上彼此靠近,而其他计算设备可以在地理位置上相距较远。系统800的布局仅是示例,并且系统可以采用其他布局或配置。
根据本公开的某些方面,一种方法包括针对至少部分地显示在视口中的每个结果,该结果是响应于查询而识别出的减少的结果集合的一部分,基于所述结果已经在所述视口中的时间量和所述结果在所述视口中的位置,核算用于所述结果的驻留分值,以及响应于确定所述驻留分值满足阈值,在所述视口中显示用于所述结果的建议链接。
这些方面和其他方面可单独地或组合地包括以下中的一个或多个。例如,可以基于所述结果已经在所述视口中的时间量、所述结果在所述视口中的位置以及所述结果距光标的距离来核算所述驻留分值。作为另一示例,可以基于所述结果已经在所述视口中的时间量、所述结果在所述视口中的位置以及所述结果在所述视口中的百分比来核算所述驻留分值。作为另一示例,显示所述建议链接可以包括将所述建议链接插入到用于结果的页面元素中,在锚定到所述结果的侧边栏中显示所述建议链接,或者用所述建议链接替换所述结果。作为另一示例,该方法还可以包括基于所述驻留分值来更新排名信号。在一些实现方式中,该方法还可以包括:确定减少的结果集合中的最后一个结果被显示在所述视口中并且下一页面被请求,请求附加搜索结果,并且显示所述附加搜索结果中的至少一些,所述附加搜索结果部分地使用经更新的排名信号来选择,其中,所述附加搜索结果是第二减少的搜索结果集合。作为另一示例,所述建议链接表示与所述结果相似的内容和与所述结果偏离的内容两者。
根据本公开的某些方面,一种方法包括:从客户端设备接收查询,从响应于所述查询的倒排索引中确定第一多个搜索结果,并且提供所述第一多个搜索结果以显示在所述客户端设备处的视口中。该方法还可以包括接收用于所述第一多个搜索结果中的至少第一结果的驻留分值,接收对搜索结果的下一页面的请求,从响应于所述查询的所述倒排索引中确定第二多个搜索结果,以及部分地基于所述驻留分值对所述第二多个搜索结果进行排名,使得来自所述第二多个搜索结果中的与所述第一结果相似的结果接收排名的提升。
这些方面和其他方面可以单独地或组合地包括以下特征中的一个或多个。例如,所述第一多个搜索结果中的搜索结果的数目可以是适合于所述视口的搜索结果的数目的小的倍数。作为另一示例,可以响应于所述驻留分值满足阈值来接收所述驻留分值。作为另一示例,可以基于所述第一结果已经在所述视口中的时间量、所述第一结果在所述视口中的位置以及所述第一结果距光标的距离来核算驻留分值。作为另一示例,所述驻留分值可以表示所述第一结果已经在所述视口中的时间量、所述第一结果在所述视口中的位置以及所述第一结果在所述视口中的百分比。作为另一示例,可以使用在所述视口中先前显示的结果的至少一个驻留分值来确定所述第一多个搜索结果。作为另一示例,对所述第二多个搜索结果进行排名可以包括:响应于确定结果具有与所述第一多个搜索结果中的具有满足阈值的相应驻留分值的结果相同的类别来提高该结果的排名。
根据某些方面,一种方法包括:在视口中显示可滚动的搜索结果集合,其中所述搜索结果集合表示响应于查询的减小的搜索结果集合;以及,在等待滚动动作或链接选择时,针对所述搜索结果集合中的具有在所述视口中可见的内容的每个结果核算相应驻留分值以及基于所述相应驻留分值来更新排名信号,其中,经更新的排名信号用于响应于对搜索结果的下一页面的请求而生成响应于所述查询的下一搜索结果集合。
这些方面和其他方面可以单独地或组合地包括以下中的一个或多个。例如,响应于确定所述搜索结果集合中的第一搜索结果的相应驻留分值满足阈值,该方法还可以包括在所述视口中显示所述第一搜索结果的建议链接。在一些实现方式中,所述建议链接可以包括与从关联于所述第一搜索结果的内容偏离的内容相关联的至少一个链接以及与和关联于所述第一搜索结果的内容类似的内容相关联的至少一个链接。作为另一示例,使用经更新的排名信号来生成所述下一搜索结果集合可以包括:响应于确定结果类似于所述搜索结果集合中的具有满足阈值的相应驻留分值的结果来提高该结果的排名。作为另一示例,用于结果的相应驻留分值可以基于以下中的至少两个来核算:所述结果已经在所述视口中的时间量、所述结果在所述视口中的位置、所述结果距光标的距离或所述结果在所述视口中的百分比。
根据一个方面,一种系统包括:生成针对响应于查询的缩小的搜索结果集合中的至少一个结果的驻留分值的装置以及使用所述驻留分值来生成响应于所述查询的第二缩小的搜索结果集合的装置。根据一个方面,一种系统包括:生成搜索结果集合中的至少一个结果的驻留分值的装置以及基于所述驻留分值在搜索结果页面中注入建议链接的装置。
根据本公开的某些方面,一种系统包括至少一个处理器(形成在基板中)和存储指令的存储器,所述指令使计算设备执行本文所公开的方法及其变型中的任一个。
各种实现方式可以包括一个或多个计算机程序中的实现方式,所述计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,所述可编程系统可以为专用或通用,其耦合以从存储系统、至少一个输入设备以及至少一个输出设备接收数据和指令并且向其传送数据和指令。
这些计算机程序(也称作程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且能够以高级程序和/或面向对象的编程语言来实现,和/或以汇编/机器语言来实现。如这里所使用的,术语“机器可读介质”、“计算机可读介质”是指用来向可编程处理器提供机器指令和/或数据的任意非暂时性计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器(包括读取存取存储器)、可编程逻辑设备PLD)。
这里所描述的系统和技术可在计算系统中实现,所述计算系统包括后端组件(例如,数据服务器),或者其包括中间件组件(例如,应用服务器),或者其包括前端组件(例如,具有用户能够通过其与这里所描述的系统和技术的实现方式进行交互的图形用户界面或web浏览器的客户端计算机),或者这些后端、中间件或前端组件的任意组合。所述系统的组件可通过任意形式或介质的数字数据通信(例如,通信网络)进行互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和互联网。
所述计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络进行交互。客户端和服务器的关系源自于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序。
已经描述了许多实现方式。然而,在不脱离本发明的精神和范围的情况下,可以做出各种修改。另外,附图中所描绘的逻辑流程并不要求所示的特定顺序或连续顺序才能获得所需的结果。此外,可以提供其它步骤,或者可以从所描述的流程中删除步骤,并且可以向所描述的系统添加组件或者从其中去除组件。因此,其它实现方式处于权利要求的范围内。

Claims (21)

1.一种方法,包括:
针对至少部分地显示在视口中的每个结果,该结果是响应于查询而识别出的减少的结果集合的一部分:
基于该结果已经在所述视口中的时间量和该结果在所述视口中的位置来核算该结果的驻留分值;以及
响应于确定所述驻留分值满足阈值,在所述视口中显示针对该结果的建议链接。
2.根据权利要求1所述的方法,其中,所述驻留分值是基于所述结果已经在所述视口中的时间量、所述结果在所述视口中的位置以及所述结果距光标的距离来核算的。
3.根据权利要求1所述的方法,其中,所述驻留分值是基于所述结果已经在所述视口中的时间量、所述结果在所述视口中的位置以及所述结果在所述视口中的百分比来核算的。
4.根据权利要求1所述的方法,其中,显示所述建议链接包括将所述建议链接插入到所述结果的页面元素中。
5.根据权利要求1所述的方法,其中,显示所述建议链接包括在锚定到所述结果的侧边栏中显示所述建议链接。
6.根据权利要求1所述的方法,其中,显示所述建议链接包括用所述建议链接替换所述结果。
7.根据权利要求1所述的方法,其中,所述方法还包括:
基于所述驻留分值来更新排名信号。
8.根据权利要求7所述的方法,其中,所述方法还包括:
确定所述减少的结果集合中的最后一个结果被显示在所述视口中并且下一页面被请求;
请求附加搜索结果;以及
显示所述附加搜索结果中的至少一些,所述附加搜索结果是部分地使用所更新的排名信号来选择的,
其中,所述附加搜索结果是第二减少的搜索结果集合。
9.根据权利要求1所述的方法,其中,所述建议链接表示与所述结果相似的内容和与所述结果偏离的内容两者。
10.一种方法,包括:
从客户端设备接收查询;
从响应于所述查询的倒排索引确定第一多个搜索结果;
提供所述第一多个搜索结果以显示在所述客户端设备处的视口中;
接收用于所述第一多个搜索结果中的至少第一结果的驻留分值;
接收对搜索结果的下一页面的请求;
从响应于所述查询的所述倒排索引确定第二多个搜索结果;以及
部分地基于所述驻留分值对所述第二多个搜索结果进行排名,使得来自所述第二多个搜索结果中的与所述第一结果相似的结果接收排名的提升。
11.根据权利要求10所述的方法,其中,所述第一多个搜索结果中的搜索结果的数目是适合于所述视口的搜索结果的数目的小的倍数。
12.根据权利要求10所述的方法,其中,所述驻留分值是响应于所述驻留分值满足阈值而被接收的。
13.根据权利要求10所述的方法,其中,所述驻留分值是基于所述第一结果已经在所述视口中的时间量、所述第一结果在所述视口中的位置以及所述第一结果距光标的距离来核算。
14.根据权利要求10所述的方法,其中,所述驻留分值表示所述第一结果已经在所述视口中的时间量、所述第一结果在所述视口中的位置以及所述第一结果在所述视口中的百分比。
15.根据权利要求10所述的方法,其中,所述第一多个搜索结果是使用在所述视口中先前显示的结果的至少一个驻留分值来确定的。
16.根据权利要求10所述的方法,其中,对所述第二多个搜索结果进行排名包括:响应于确定结果具有与所述第一多个搜索结果中的具有满足阈值的相应驻留分值的结果相同的类别来提高所述结果的排名。
17.一种方法,包括:
在视口中显示可滚动搜索结果集合,其中,所述搜索结果集合表示响应于查询的减少的搜索结果集合;以及
在等待滚动动作或链接选择时:
针对所述搜索结果集合中的具有在所述视口中可见的内容的每个结果核算相应驻留分值,以及
基于所述相应驻留分值来更新排名信号,
其中,所更新的排名信号用于响应于对搜索结果的下一页面的请求而生成响应于所述查询的下一搜索结果集合。
18.根据权利要求17所述的方法,还包括:响应于确定所述搜索结果集合中的第一搜索结果的相应驻留分值满足阈值,在所述视口中显示所述第一搜索结果的建议链接。
19.根据权利要求18所述的方法,其中,所述建议链接包括与从关联于所述第一搜索结果的内容偏离的内容相关联的至少一个链接以及与和关联于所述第一搜索结果的内容相似的内容相关联的至少一个链接。
20.根据权利要求17所述的方法,其中,使用所更新的排名信号来生成所述下一搜索结果集合包括:响应于确定结果与所述搜索结果集合中的具有满足阈值的相应驻留分值的结果相似来提高所述结果的排名。
21.根据权利要求17所述的方法,其中,结果的所述相应驻留分值基于以下中的至少两个来核算:所述结果已经在所述视口中的时间量、所述结果在所述视口中的位置、所述结果距光标的距离或所述结果在所述视口中的百分比。
CN202110637286.4A 2020-06-08 2021-06-08 在搜索结果中动态注入相关内容 Pending CN113360741A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/946,150 US11379490B2 (en) 2020-06-08 2020-06-08 Dynamic injection of related content in search results
US16/946,150 2020-06-08

Publications (1)

Publication Number Publication Date
CN113360741A true CN113360741A (zh) 2021-09-07

Family

ID=77533134

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110637286.4A Pending CN113360741A (zh) 2020-06-08 2021-06-08 在搜索结果中动态注入相关内容

Country Status (2)

Country Link
US (1) US11379490B2 (zh)
CN (1) CN113360741A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799561A (zh) * 2021-02-05 2021-05-14 北京字节跳动网络技术有限公司 一种信息展示的方法、装置以及计算机存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117197B1 (en) * 2008-06-10 2012-02-14 Surf Canyon, Inc. Adaptive user interface for real-time search relevance feedback
US7693869B2 (en) 2006-09-06 2010-04-06 International Business Machines Corporation Method and apparatus for using item dwell time to manage a set of items
US8959104B2 (en) * 2008-03-21 2015-02-17 Microsoft Corporation Presenting query suggestions based upon content items
WO2011117320A1 (en) * 2010-03-23 2011-09-29 Philipp Von Hilgers Method and device for dynamically updating a list of search results
US20150193390A1 (en) 2012-12-03 2015-07-09 Google Inc. Visited hyperlink appearance based on user activity
US20140280890A1 (en) * 2013-03-15 2014-09-18 Yahoo! Inc. Method and system for measuring user engagement using scroll dwell time
US10007957B2 (en) * 2015-04-14 2018-06-26 Amadeus S.A.S. Selecting search results for responding to search query
US20180011854A1 (en) 2016-07-07 2018-01-11 Yahoo Holdings, Inc. Method and system for ranking content items based on user engagement signals

Also Published As

Publication number Publication date
US11379490B2 (en) 2022-07-05
US20210382905A1 (en) 2021-12-09

Similar Documents

Publication Publication Date Title
US20210027203A1 (en) Action suggestions for user-selected content
US10733360B2 (en) Simulated hyperlinks on a mobile device
US10175860B2 (en) Search intent preview, disambiguation, and refinement
US10635677B2 (en) Hierarchical entity information for search
US10061820B2 (en) Generating a user-specific ranking model on a user electronic device
US9449079B2 (en) Method of and system for displaying a plurality of user-selectable refinements to a search query
US20170140006A1 (en) Method and system for presenting a search result in a search result card
US20210406268A1 (en) Search result annotations
US11379490B2 (en) Dynamic injection of related content in search results
RU2608468C2 (ru) Легкая двумерная навигация базы данных видео
US20230350955A1 (en) Comparative search within user-generated content
US11714867B2 (en) Discovering alternate online service providers
CN115150657B (zh) 多媒体播放方法、装置、终端及存储介质
TW201447615A (zh) 查詢建構中之社群實體預覽

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