来自文档的查询建议的制作方法

文档序号:11458610阅读:140来源:国知局
来自文档的查询建议的制造方法与工艺

分案说明

本申请属于申请日为2009年08月04日的中国发明专利申请200980161677.0的分案申请。

本说明书描述了与搜索查询建议有关的技术。



背景技术:

因特网使得能够访问各种各样的资源,诸如视频或音频文件、关于特定主题的网页、书籍文章或新闻文章。搜索引擎可以响应于包括一个或多个搜索词语(searchterm)或短语的搜索查询而识别资源。搜索引擎基于资源的与查询的相关性和重要性来对资源进行排名、生成链接到所识别的资源的搜索结果以及根据排名对搜索结果进行排序。一个示例搜索引擎是美国加州山景城的谷歌公司提供的googletm搜索引擎。

经常,用户浏览网页,并且可能想要了解更多有关在该网页中描述的主题的事情。该用户可以将该用户确定与在该网页中描述的主题有关的搜索词语或来自该网页的搜索词语提交到搜索引擎。因为该用户可能没有准确表达该用户期望的信息,该用户可能为该用户浏览的每一个页面重复精化查询的过程。虽然该用户可能最终从准确表达该用户期望的信息的网页选择搜索词语,该重复过程会降低用户体验。



技术实现要素:

总的来说,在本说明书中描述的主题的一个方面可以在包括以下动作的方法中被具体化:在客户端设备处接收定义查询触发器的词典,查询触发器中的每一个是一个或多个词语;在客户端设备处识别资源中的查询触发器;对于在资源中识别的每一个查询触发器,在客户端设备处基于该查询触发器的属性为该查询触发器计算排名分值;在客户端设备处根据排名分值对查询触发器进行排名;在客户端设备处从在资源中识别的查询触发器生成搜索查询建议;以及在客户端设备处根据查询触发器的排名展示搜索查询建议。该方面的其他实施例包括对应的系统、装置和计算机程序产品。

在本说明书中描述的主题的另一个方面可以在包括以下动作的方法中被具体化:在客户端设备处接收定义查询触发器的词典,查询触发器中的每一个是一个或多个词语并且具有存储在词典中的受欢迎度分值,受欢迎度分值是对于搜索引擎的多个用户,查询触发器作为查询的受欢迎度的测量;在客户端设备上的web浏览器应用中呈现资源;响应于在web浏览器应用中呈现该资源,在客户端设备处识别该资源中的查询触发器;对于在该资源中识别的每一个查询触发器,在客户端设备处基于该查询触发器的属性和该查询触发器的受欢迎度分值为该查询触发器计算排名分值;在客户端设备处根据排名分值对查询触发器进行排名;在客户端设备处从在该资源中识别的查询触发器生成搜索查询建议;以及与所呈现的资源一起并且根据查询触发器的排名,在web浏览器应用中展示搜索查询建议。

在本说明书中描述的主题的另一个方面可以在包括以下的系统中被具体化:数据处理装置和耦接到该数据处理装置的计算机可读存储介质,该计算机可读介质存储当由该数据处理装置执行时促使该数据处理装置执行操作的指令,所述操作包括:向客户端设备发送定义查询触发器的词典,查询触发器中的每一个是一个或多个词语;向客户端设备发送由客户端设备可执行的模块,该模块当被执行时促使客户端设备执行操作,所述操作包括:在客户端设备处识别资源中的查询触发器;对于在资源中识别的每一个查询触发器,在客户端设备处基于该查询触发器的属性为该查询触发器计算排名分值;在客户端设备处根据排名分值对查询触发器进行排名;在客户端设备处从在资源中识别的查询触发器生成搜索查询建议;以及在客户端设备处根据查询触发器的排名展示搜索查询建议。

可以实现在本说明书中描述的主题的特定实施例来实现下面优势中的一个或多个。可以在客户端侧使用用户的个人浏览会话信息来确定搜索查询建议,因此,用户能够在该用户的客户端设备上私有地维护这样的会话信息,并且仍然接收个性化的搜索查询建议。可以在客户端上对尚未由搜索服务索引的文档,诸如最近发布的文档进行分析,并且可以基于该文档来建议搜索查询。在上面列表中列出的优势和特征是可选的,并且并不是穷尽的。可以独立实现或以各种组合实现优势和特征。

在附图和下面的描述中阐述了在本说明书中描述的主题的一个或多个实施例的细节。主题的其他特征、方面和优势从描述、附图和权利要求将变得显而易见。

附图说明

图1是在其中搜索引擎提供搜索服务的示例环境的框图。

图2是在客户端设备处提供搜索查询建议的系统的框图。

图3a描绘了显示搜索查询建议的示例网页。

图3b描绘了显示搜索查询建议的示例网页。

图4是用于提供搜索查询建议的示例过程的流程图。

各附图中相同的参考数字和标记指示相同的元素。

具体实施方式

图1是在其中搜索引擎110提供搜索服务的示例环境100的框图。诸如局域网(lan)、广域网(wan)、因特网或其组合的计算机网络102连接发布者网站104、客户端设备106和搜索引擎110。在线环境110可以包括成千上万的发布者网站104和客户端设备106。

网站104是与域名相关联的一个或多个网页资源105,以及每一个网站由一个或多个服务器托管。一个示例网站是以超文本标记语言(html)格式化的网页集合,其可以包含文本、图形图像、多媒体内容和诸如脚本的编程元素。每一个网站104由发布者,例如管理和/或拥有该网站的实体维护。

资源是可以由发布者104通过网络102提供并且与资源地址相关联的任何数据。资源包括html页面、字处理文档和可移植文档格式(pdf)文档、图像、视频和馈给源,仅列出一些。资源可以包括内容,诸如字、短语、图片等,以及可以包括嵌入式信息(诸如元信息和超链接)和/或嵌入式指令(诸如javascript脚本)。

客户端设备106是受用户控制并且能够通过网络102请求并接收资源的电子设备。示例客户端设备106包括个人计算机、移动通信设备以及能够通过网络102发送和接收数据的其他设备。客户端设备106典型地包括便于通过网络102发送和接收数据的用户应用,诸如web浏览器。web浏览器可以使用户能够显示典型地位于万维网或局域网上的网站处的网页上的文本、图像、视频、音乐和其他信息,并且与之进行交互。

为了便于搜索这些资源105,搜索引擎110通过爬取(crawl)发布者网站104,并且对发布者网站104所提供的资源进行索引来识别资源。将资源的经索引的,以及可选地缓存的副本存储在索引缓存112中。

客户端设备106向搜索引擎110提交搜索查询。作为响应,搜索引擎110使用经索引的缓存112来识别与查询相关的资源。搜索引擎110以搜索结果的形式识别资源,并且以搜索结果页将搜索结果返回给客户端设备106。搜索结果是搜索引擎110生成的、识别满足特定搜索查询的资源并且包括用于该资源的资源定位符的数据。一个示例搜索结果可以包括网页题目、从网页提取的文本摘录以及网页的url。

基于与搜索结果所识别的资源有关的分值,诸如信息检索(“ir”)分值,以及可选地,每一个资源相对于其他资源的独立排名(例如,权威分值),对搜索结果进行排名。在一些实施方式中,ir分值从与查询和资源相对应的特征向量的点积来计算,以及搜索结果的排名基于为ir分值和权威分值的组合的相关性分值。根据这些分值对搜索结果进行排序,并且根据排序将搜索结果提供给客户端设备。

客户端设备106接收搜索结果页,并且呈现页面以向用户展示。响应于在客户端设备106处用户选择搜索结果,客户端设备106请求由包括在所选择的搜索结果中的资源定位符所识别的资源。托管该资源的网站104的发布者从客户端设备106接收对该资源的请求,并且将该资源提供给发出请求的客户端设备106。

将从客户端设备106提交的查询存储在查询日志114中。将关于查询和搜索结果所引用的网页的点击数据存储在点击日志116中。点击数据定义对搜索引擎110所提供的搜索结果作出响应而采取的动作。可以使用查询日志114和点击日志116来将客户端设备所提交的查询映射到在搜索结果中识别的网页和用户所采取的动作。如果还存储时间数据,则还可以确定采取那些动作的相对时间和提交查询的时间。因此,点击日志116和查询日志114可以被搜索引擎用于客户端设备所提交的查询序列、响应于查询而采取的动作以及查询被提交的频率。

在查阅诸如网页的资源之后,用户可能想要查看描述与在所浏览的资源中描述的主题有关的主题的另外资源。在一些实施方式中,一个或多个客户端设备106可以被配置成基于当前正被浏览的资源来向用户提供搜索查询建议。

在图1中额外详细图示了包括查询建议系统200的特定客户端设备106。客户端设备106包括查询建议系统200和查询触发器的词典202。查询建议系统200访问词典202,并且对在显示设备220上显示的网页的内容230进行处理以识别在内容230中展示的查询触发器(qt)。使用所识别的查询触发器和词典202,查询建议系统202生成在客户端设备106上显示的建议的查询(sq)。

如将在下面更详细描述的,当在资源中找到查询触发器时,可以向用户提供搜索查询建议以供用户使用该搜索查询建议来进行另外的搜索。图2是在客户端设备处提供搜索查询建议的系统200的框图。客户端设备106可以例如是图1的客户端设备106中的一个。在一些实施方式中,在下面描述的系统功能性可以由一个或多个软件模块来提供,所述软件模块诸如安装在客户端设备106上的浏览器上的工具栏应用或浏览器插件。

尽管描述了特定组件,但是不必实现独立组件来实现在下面描述的对应功能。例如,在下面关于组件描述的所有功能可以以单个软件模块或过程来实现。

客户端设备106可以接收用于搜索在客户端设备106上呈现的资源的查询触发器的词典202。词典可以例如由搜索引擎110来创建,并且在预确定时段,例如预确定数量的天或小时被下载到客户端设备106。替选地,词典可以由第三方提供。

在一些实施方式中,新的查询触发器可以在其在排定的更新期间被下载到客户端设备106之后被添加到词典202。排定的更新仅仅将更新下载到词典202,而不是整个词典202。

在一些实施方式中,词典202的查询触发器是搜索查询词语和那些搜索查询词语的扩展词语。例如,搜索查询词语可以是如由搜索引擎110确定的受欢迎的查询204、以及受欢迎的查询204的同义词。受欢迎的查询是在给定时间段被提交给搜索引擎110超过阈值次数的查询。时间段可以变化,以及可以使用多个时间段。例如,可以使用相对较短持续的时间段,例如一天,来识别受欢迎趋势查询,而可以使用较长时间段的时间段,例如一个月或一年,来识别受欢迎一致的查询。受欢迎的查询可以由搜索引擎110来确定,并且被添加到词典202。

扩展词语包括根据关联性标准,例如主题标准或查询同现标准,被确定为与受欢迎的查询有关的同义词或查询。也可以使用其他关联性标准。例如,如果查询“election(选举)”是受欢迎的查询,因为其在给定时间段已提交了超过阈值次数,则词典202还可以包括“referendum(公民投票)”作为词语“election”的扩展词语,因为词语“referendum”是词语“election”的同义词。

查询同现是来自客户端设备106的第一查询与第二查询在同现测量内的出现。用于两个查询的示例同现测量包括该两个查询在例如五分钟的预定义时间段内被提交,或该两个查询具有在两个查询之间的不多于最大数量的介入查询,例如,十个介入查询。如果查询日志114为两个查询指示阈值数量或阈值率的查询同现,则该两个查询中的一个可以被确定为是另一个查询的扩展词语。例如,如果查询词语“republicationconvention(共和党大会)”是受欢迎的查询,则如果查询“gop”和“gopconvention”可能具有与查询“"republicanconvention”的高度查询同现,则词典202还可以包括“gop”和“gopconvention”作为扩展词语。

在一些实施方式中,查询触发器包括实体名称。实体名称将独特实体描述为区别于常见类的实体,例如英语中的专有名词。实体名称的示例包括人名、组织、位置、时代表达、货币值等。例如,“newyork(纽约)”是实体名称,因为描述了独特城市,而不是一般而言的城市。“obama(奥巴马)”是实体名称,因为其是人名。

在一些实施方式中,将实体名称的扩展词语包括在词典202中。实体名称的扩展词语包括根据关联性标准,例如主题标准或查询同现标准,被确定为与受欢迎的查询有关的同义词或查询。例如,查询词语“bigapple(大苹果)”可以是实体名称“newyork”的扩展词语,因为词语“bigapple”构成实体名称“newyork”的同义词。同样地,查询词语“presidentoftheunitedstates(美国总统)”可以是“obama”的扩展词语,因为词语“presidentoftheunitedstates”可能具有与查询“obama”的较高查询同现。

在一些实施方式中,词典202还可以包括当搜索资源时控制对查询触发器的使用的规则。所述规则可以例如定义查询触发器的有效或无效组合;如果两个或多个词语不是全部均在资源中被找到,则包括该两个或多个词语的查询触发器是否被确定为在资源中被找到;以及查询触发器的词干提取或复数形式是否是允许的。

在一些实施方式中,词典202可以包括查询触发器的属性。示例属性可以包括查询触发器中的每一个的一个或多个分值。分值可以基于与用户对包括查询触发器的查询的使用有关的度量。示例分值可以基于受欢迎度度量,诸如测量查询在一个或多个时间段的受欢迎度的受欢迎度分值。

分值还可以基于查询历史分值,其测量查询当向用户建议了时被用户选择的频率。当在客户端设备上选择建议的查询时,将该查询与指示该查询被建议的数据一起提供给搜索引擎110。被接受的建议的查询被认为是“辅助查询”,以及选择率可以由搜索引擎110进行跟踪。搜索引擎110可以使用选择率来确定查询历史分值。例如,作为搜索查询建议被提供了n次并且60%的时间用户对其进行了选择的第一查询触发器将具有比作为建议被提供了n次并且仅40%的时间被选择的第二查询更高的查询历史分值。在客户端设备处执行的查询触发器排名器214使用这些分值来为搜索查询建议对查询触发器进行排名。

可以被包括在词典202中的另一个示例分值是页面频率分值。页面频率分值是词语在其中出现的资源语料库中的资源的数量的测量。例如,如果在索引缓存112中的75,000个网页中出现了词语“airfrance(法国航空)”,则该词语的页面频率与75,000成比例,例如,75,000除以经索引的网页的总数。

其他示例属性包括查询触发器的语言指示符。如果在资源中展示的查询触发器与该资源的主要语言不相匹配,则排名过程可以使用语言指示符来对该查询触发器不予考虑。例如,如果为英语的查询触发器被识别在主要以法语编写的资源中,则其可以不予考虑或被忽略。

另一个示例属性包括查询触发器的文档频率。文档频率是查询触发器在索引缓存中索引的所有文档中出现的次数除以在索引缓存中索引的文档的数量的测量。文档频率用于测量查询触发器与资源的相关程度。例如,第一查询触发器可以具有文档频率0.005,以及第二查询触发器可以具有文档频率0.1。如果两个查询触发器在资源中均出现五次,则第一查询触发器比第二查询触发器更与资源相关。

扫描器210访问词典202,并且对资源212中的文本进行扫描以识别在词典中定义的、在资源212中展示的查询触发器。资源212可以例如是网页。在一些实施方式中,扫描器210当对资源进行扫描以确定查询触发器是否在资源中展示时,可以使用词典202中的规则。例如,如果词典202包括查询触发器“primary”,以及规则指示查询触发器“primary”在资源中可以是单数或复数的,则扫描器210可以将资源中的词“primaries”识别为查询触发器,因为其是查询触发器“primary”的复数形式。

在一些实施方式中,扫描器210可以使用dom树来对资源212进行扫描。可以从dom树中的文本节点选择资源212中的文本。在其他实施方式中,可以将其他扫描技术用于资源212。

在一些实施方式中,第一线程可以用于根据dom树对资源212进行扫描。在下面描述的处理的剩余部分可以由分立的独立线程在完成扫描之后来执行。在其他实施方式中,如果浏览器不允许分立的线程,则包括扫描和dom访问的所有处理可以在单个线程中发生。

在一些实施方式中,如果资源212被确定超过最大扫描大小,则扫描器210可以被配置成扫描资源212中的仅仅题目和标题。例如,如果资源212包括高于某一阈值量的多个词,则扫描器210将仅扫描资源212中的题目或标题,而不是资源212的整个主体。

扫描器210可以另外地为在资源212中识别的每一个查询触发器确定查询触发器属性。查询触发器属性由排名过程使用来为查询触发器计算排名分值。示例查询触发器属性包括查询触发器的出现频率、查询触发器的场境(context)、查询触发器的长度以及客户端历史分值。

为了确定查询触发器的出现频率,扫描器210对查询触发器在资源212中的出现进行计数。出现频率可以是原始分值,例如查询触发器在资源中出现的总次数,或可以与原始分值成比例,例如原始分值除以资源中的总词数。

扫描器210通过识别查询触发器在资源中的显示格式来确定查询触发器在资源212中的场境。示例显示格式包括粗体、下划线、斜体、高亮、脚注或与资源212的文本的其余部分不同大小的字体。场境还可以包括例如查询触发器是在资源212的题目还是标题中出现。在一些实施方式中,每一种类型的场境可以与权重相关联,以及可以使用权重来确定排名分值以对搜索查询建议进行排名,如将在下面更详细描述的。

在一些实施方式中,扫描器210通过对查询中的单个词语进行计数来确定资源212中的查询触发器的词语长度。例如,词语“obama”具有一的词语长度;“presidentoftheunitedstates”具有五的词语长度等。

在其他实施方式中,词语长度等于查询中的字符数。例如,查询触发器“obama”具有五的词语长度,以及查询触发器“newyork”具有七的词语长度。

更长的词语长度能够导致更高的排名分值。词语长度是反向文档频率的指示符,即查询触发器词语越长,所述词语更可能不是常见词语。因此,假设所有其他排名因素相同,具有比其他查询触发器的词语长度更长的词语长度的查询触发器被排名高于其他查询触发器。

扫描器210基于客户端的即时浏览历史来确定查询触发器的客户端历史分值。在一些实施方式中,可以使用客户端访问的先前搜索和资源来确定客户端历史分值。例如,如果查询触发器“obama”在资源中被识别,以及先前提交自客户端的查询是“obamaeconomicplan(奥巴马经济计划)”和“obamatreasuryappointment(奥巴马财政部任命)”,则扫描器210将生成比如果先前提交自客户端的查询不包括查询“obamaeconomicplan”和“obamatreasuryappointment”,则将生成的客户端历史分值更高的客户端历史分值。

查询触发器排名器214使用在资源中识别的每一个查询触发器的查询触发器属性来生成排名分值以对所识别的查询触发器进行排名。查询触发器排名器214可以使用查询触发器属性来为在资源212中识别的每一个查询触发器计算分值。可以使用各种计算来计算该分值。例如,该分值可以是属性值和与属性值相关联的权重的聚合函数;或可以是属性值和与属性值相关联的权重的乘积函数;或其组合。

查询触发器排名器214基于排名分值来对在资源212中识别的查询触发器进行排名,以创建排名的词语216集。排名过程可以可选地选择预确定数量的最高排名的词语216,例如五个,可以从该预确定数量的最高排名的词语216生成搜索查询建议。

在一些实施方式中,建议生成器218可以使用预定义的模板来为每一个最高排名的查询触发器生成建议的查询。词典202可以包括与查询触发器相关联的查询模板。用于查询触发器的示例查询模板包括变量和字符串。变量对应于查询触发器的一个或多个词语和查询触发器的扩展词语,以及字符串定义与查询触发器的一个或多个词语和查询触发器的扩展词语不同的一个或多个另外的词语。

使用模板,建议生成器218可以生成搜索查询建议。例如,建议生成器218可以选择与查询触发器相关联的查询模板,以及将查询触发器或查询触发器的扩展词语中的一个用作关于所选择的查询模板的变量的自变量,从自变量和字符串生成搜索查询建议。例如,模板

%trigger:obama%news

与查询触发器“obama”相关联。如果该查询触发器在资源212中被识别,则可以应用该模板来创建建议的查询“obamanews(奥巴马新闻)”。

在一些实施方式中,还可以使用模板来创建不包括在资源中找到的查询触发器的词语的建议的查询,即模板可以要求使用扩展词语。例如,模板

%trigger:obama->campaign%news

与查询触发器“obama”相关联,并且指定使用查询触发器的扩展词语“campaign”来生成建议的查询。因此,如果资源212包括词语“obama”,则所形成的建议的查询是“campaignnews(竞选新闻)”。

在一些实施方式中,可以从受欢迎的查询和查询同现创建模板。可以对这样的查询进行分析,并且可以识别经常出现的常见词语以供在模板中使用。例如,受欢迎的查询可以包括“electionnews(选举新闻)”、“campaignnews(竞选新闻)”、“newsaboutelection(关于选举的新闻)”。因此,基于这些查询,可以形成模板“%trigger:term%news”,使得将词语“news(新闻)”添加到在资源中识别的相关联的查询触发器来创建建议的查询。

在一些实施方式中,可以将查询触发器提供为建议的查询。例如,如果查询触发器“whitehouse(白宫)”在资源212中被识别,则建议生成器218可以将“whitehouse”提供为建议的查询。

在一些实施方式中,可以使用客户端设备106的即时浏览历史来对搜索查询建议进行过滤。可以针对即时浏览历史来检查建议的查询,以确定用户是否先前选择并提交了搜索查询建议中的一个。如果用户最近,例如在当前搜索会话或n个最近查询提交内,提交了建议的搜索查询,则将不提供该搜索查询建议。替选地,可以使用相关联的模板来改变搜索查询建议,例如用扩展词语替代在资源212中找到的查询触发器词语。

例如,假设建议的查询“campaignnews”被创建并且将要被展示为搜索查询建议。客户端设备106可以确定在当前搜索会话期间用户已使用查询“campaignnews”来请求了搜索。因此,搜索查询建议“campaignnews”作为建议可以被移除,或替选地,可以将模板应用于搜索查询建议“campaignnews”。

在一些实施方式中,可以将存储在词典202中的建议模板用于改变最近已被用户使用的搜索查询建议。例如,可以将模板“%搜索查询建议%developments”应用于搜索查询建议。因此,在该示例中,可以将搜索查询建议从“campaignnews”改变成“campaignnewsdevelopments(竞选新闻进展)”。

在一些实施方式中,可以在与在显示220上的浏览器相关联的工具栏搜索框上显示与最高排名查询触发器相关联的搜索查询建议。在一些实施方式中,可以在搜索框中依序展示搜索查询建议。例如,可以在工具栏搜索框中单个地展示搜索查询建议中的每一个达预定义时间段。在三十秒之后,可以用基于第二高排名词语生成的第二搜索查询建议替代基于最高排名词语生成的第一搜索查询建议。该过程在建议被选择之前可以继续,以及可以循环重复建议的搜索查询。

在一些实施方式中,对于在词之间不包括空格的某些语言,可能需要语言分割。例如,中文在词之间没有空格。对于这些实施方式,词典202包括带有定义中文词的分割的语言模型的语言词典。分割词用作查询触发器。

在一些实施方式中,使用与词典词的逐词语匹配,替代使用分割。在这些实施方式中,还可以使用定义匹配的词在网页中的最小出现数的出现阈值。如果匹配的词语在网页中出现等于或大于出现阈值的次数,则客户端设备确定查询触发器在网页中展示。

图3a描绘了显示搜索查询建议的示例网页300。网页300包括标题302“obamainwashingtondc”。网页300还包括带有新闻报道的文本304的内容。

在其上显示网页300的客户端设备,例如客户端设备106,包括图2的系统200。客户端设备106已接收了词典202,并且识别了包括在词典202中的查询触发器“obama”、“democratic(民主的)”和“whitehouse”。虽然可以在词典202中定义另外的查询触发器,为了说明目的,假设词典中提供仅仅上述引用的查询触发器。

客户端设备106还识别与网页300中的查询触发器中的每一个相关联的查询触发器属性。例如,客户端设备106确定查询触发器“obama”在网页300中出现五次,因此与频率五相关联。另外,客户端设备106确定查询触发器“obama”具有五的词语长度,并且在网页300中的标题场境下以粗体出现一次以及加下划线出现一次。

对于查询触发器“democratic”,客户端设备106确定该查询触发器仅出现一次,因此与频率一相关联;具有10的词语长度;并且不与任何场境相关联。

对于查询触发器“whitehouse”,客户端设备确定该查询触发器出现四次,因此与频率四相关联;具有10的词语长度;以及在网页300中以粗体出现一次。

基于这些查询触发器属性,客户端设备106为查询触发器中的每一个计算排名分值。在一些实施方式中,排名分值基于接收频率(f)、词语长度(tl)、与场境特征相关联的权重([cw])和文档频率(df)作为输入的公式,例如,

排名分值=f(f,tl,[cw],df)

函数f可以是线性或非线性函数。在上面的示例中,查询触发器“obama”得到最高排名分值,查询触发器“whitehouse”得到第二最高排名分值,以及查询触发器“democratic”得到第三最高排名分值。因此,客户端设备106基于排名分值对查询触发器进行排名,因此,查询触发器排名如下:“obama”、“whitehouse”和“democratic”。

客户端设备106然后确定是否要将任何模板应用于查询触发器来创建查询建议。例如,第一模板指定如果词语“obama”被识别为查询触发器,则搜索查询建议是“campaignnews”;第二模板指定如果词语“obama”被识别为查询触发器,则扩展词语“presidentoftheunitedstates”被提供为查询触发器;以及第三模板指定如果词语“whitehouse”被识别为查询触发器,则搜索查询建议是“whitehousenews”。

在一些实施方式中,每一个查询触发器同样地可以具有相关联的权重,其用于对作为结果的建议的查询进行排名。例如,可以对将字符串“news”附加到查询触发器词语或查询触发器扩展词语的模板赋予高于查询触发器词语或查询触发器扩展词语的权重,因此从该模板生成的作为结果的查询建议排名高于查询触发器。

假设模板“campaignnews”具有最高模板权重;因为查询触发器“obama”是三个查询触发器中的最高排名,所以在工具栏308搜索输入框中首先显示搜索查询建议“campaignnews”306。用户然后可以通过选择搜索按钮310来确定是否使用搜索查询建议“campaignnews”306来搜索另外的网页。

如果用户没有选择搜索按钮310,则可以在工具栏308搜索输入框中依序展示另外的查询建议达预定义时间段,例如五秒。在虚线列312内图示了被依序展示的这些另外的查询建议。相应的展示序列为从上到下,即如果查询“campaignnews”未被选择,则建议的查询“presidentoftheunitedstates”将下一个被示出。在一些实施方式中,如果没有建议的查询被选择,即序列前进通过“democratic”查询建议,则序列可以重复。在其他实施方式中,如果没有建议的查询被选择,则建议的查询不再被示出。

另外,在一些实施方式中,用户可以选择扩展控件314,以及作为响应,客户端设备106可以在近似列312的尺寸的扩展框内显示在列312中示出的所有建议的查询。

图3b描绘了显示搜索查询建议的示例网页320。除建议的查询322、324和326在网页320的底部被示出外,网页320类似于图3a的网页300。建议的查询例如按照其相应的排名顺序被示出,其中最高三个查询被显示。查询中的每一个被示出为超链接,并且选择查询中的一个促使客户端设备将该建议的查询作为搜索查询提交给搜索引擎。

如果存在可用的另外查询建议,则显示省略超链接326。在一些实施方式中,对省略超链接326的选择促使下一最高n个查询在页面的底部处显示。在其他实施方式中,对省略超链接326的选择促使客户端设备106在与参考图3a所描述的扩展框类似的扩展框内显示所有建议的查询。

图4是提供搜索查询建议的示例过程400的流程图。示例过程400可以由实现查询建议系统200的客户端设备106来执行。

在客户端设备处识别资源中的查询触发器(402)。例如,扫描器210可以访问查询触发器的词典202,并且为查询触发器的出现搜索诸如网页的所显示的资源的内容。

对于在资源中所识别的每一个查询触发器,在客户端设备处计算基于查询触发器属性的查询触发器的排名分值(404)。例如,查询触发器排名器214可以生成排名分值。在一些实施方式中,查询触发器属性可以基于出现频率、显示场境和查询触发器长度。在一些实施方式中,将与场境和长度相关联的对应的权重存储在词典202中。可以在客户端设备106上将排名分值作为查询触发器属性中的一个或多个的函数来计算。

在客户端设备处基于排名分值对查询触发器进行排名(406)。在一些实施方式中,使用最高n个排名的查询触发器来生成搜索查询建议。

在客户端设备处从在资源中识别的查询触发器生成搜索查询建议(408)。例如,建议生成器218可以生成查询建议。在一些实施方式中,可以使用模板来生成查询建议。模板可以例如指定将词语添加到查询触发器或使用扩展词语。另外,所识别的查询触发器自身可以被提供为搜索查询建议。替选地或另外地,查询触发器的扩展词语可以用作搜索查询建议,或可以将模板应用于扩展词语来生成搜索查询建议。

在客户端设备处,根据对应的查询触发器的排名来展示搜索查询建议(410)。在一些实施方式中,可以在与客户端设备106上的浏览器相关联的工具栏上显示与最高排名查询触发器相关联的搜索查询建议。在预确定时段之后,可以用与下一最高排名查询触发器相关联的新的搜索查询建议替代该搜索查询建议。

在本说明书中描述的主题和功能性操作的实施例可以以数字电子电路,或者以计算机软件、固件或硬件,包括在本说明书中公开的结构以及其结构等价物,或者以以上的一个或多个的组合来实现。可以将在本说明书中描述的主题的实施例实现为一个或多个计算机程序产品,即编码在有形的程序载体上、由数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。有形的程序载体可以是计算机可读介质,诸如机器可读存储设备、机器可读存储基片、存储器设备或以上的一个或多个的组合。

术语“数据处理装置”包含用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除硬件外,所述装置可以包括为讨论中的计算机程序创建执行环境的代码,例如构成处理器固件、协议堆栈、数据库管理系统、操作系统或以上一个或多个的组合的代码。

计算机程序(也称作程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言,或者说明性或过程性语言,并且其可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或适于在计算环境中使用的其他单元。计算机程序没有必要对应于文件系统中的文件。可以将程序存储在保持其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的一部分、专用于讨论中的程序的单个文件或者多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。可以将计算机程序部署为在一个计算机上或者在位于一个地点或跨多个地点分布并且由通信网络互连的多个计算机上执行。

在本说明书中描述的过程和逻辑流可以由执行一个或多个计算机程序的一个或多个可编程处理器执行以通过操作输入数据并且生成输出来执行功能。过程和逻辑流还可以由专用逻辑电路执行,以及装置还可以被实现为专用逻辑电路,所述专用逻辑电路例如fpga(现场可编程门阵列)或asic(专用集成电路)。

适于执行计算机程序的处理器包括例如通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的主要元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还包括用于存储数据的一个或多个海量存储设备,例如磁盘、磁光盘或光盘,或可操作地耦接以从所述一个或多个海量存储设备接收数据或向所述一个或多个海量存储设备传送数据,或两者。然而,计算机不必具有这样的设备。此外,可以将计算机嵌入另一个设备中,所述另一个设备例如移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器,仅列出一些。

适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及cd-rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充,或合并入专用逻辑电路。

为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有下述的计算机上实现:用于向用户显示信息的显示设备,例如crt(阴极射线管)或lcd(液晶显示)监视器,以及用户通过其可以向计算机提供输入的键盘和指示设备,例如鼠标或跟踪球。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感知反馈,例如视觉反馈、听觉反馈或触觉反馈;以及可以以任何形式,包括声学的、话音或触觉的输入,接收来自用户的输入。

本说明书中描述的主题的实施例可以在包括例如作为数据服务器的后端组件、或者包括例如应用服务器的中间件组件、或者包括前端组件,例如具有用户通过其可以与在本说明书中描述的主题的实施方式交互的图形用户界面或web浏览器的客户端计算机、或者一个或多个这样的后端、中间件或前端组件的任何组合的计算系统中实现。系统的组件可以通过例如通信网络的任何形式或介质的数字数据通信互连。通信网络的示例包括局域网("lan")和广域网("wan"),例如因特网。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络交互。客户端和服务器的关系依靠在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序产生。

虽然本说明书包含许多具体实施方式细节,但是这些细节不应当被解释为对任何发明或可以主张的内容的范围的限制,而应当被解释为对可以具体到特定发明的特定实施例的特征的描述。还可以将在本说明书中在分离的实施例的情境中描述的某些特征组合在单个实施例中实现。相反地,也可以将在单个实施例的情境中描述的各种特征分离地在多个实施例中实现或在任何适当的子组合中实现。此外,尽管可能在上面将特征描述为在某些组合中起作用,甚至最初主张如此,但是可以在一些情况下将来自所主张的组合的一个或多个特征从组合中删去,并且可以将所主张的组合指向子组合或者子组合的变体。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1