用于搜索查询重写的系统和方法与流程

文档序号:11216919阅读:663来源:国知局
用于搜索查询重写的系统和方法与流程

相关申请的引用

本申请要求2014年11月19日提交的美国专利申请no.14/548,105的优先权的权益,通过引用将其全部内容并入本文。

本申请一般涉及电子搜索的技术领域,且具体涉及可用作电子搜索的一部分的查询重写系统和过程。



背景技术:

在基于用户查询提供搜索结果的在线系统中,经常在各种因素下评估正在搜索的对象,以便产生满足用户需求和在线系统的需求的搜索结果。查询重写是这种搜索引擎的一个方面。查询重写用于调整搜索中使用的项以匹配可用的搜索结果,以及在某些系统中,查询重写主要负责建立响应于用户的搜索查询而检索到的结果集合。本文描述的系统和方法涉及改进的查询重写。

附图说明

在附图中通过举例说明而非限制性的方式示出了一些实施例,在附图中:

图1是用于生成、处理和使用查询重写输入语言(qril)记录的系统的示例实施例的框图。

图2是示出根据一个实施例的用于生成、处理和使用qril记录的示例方法的细节的流程图。

图3是示出根据一个示例实施例的用于生成qril的示例方法的流程图。

图4是示出根据一个示例实施例的生成qril记录的各方面的框图。

图5示出了可以与各种实施例一起使用的qril记录的一个示例实现。

图6示出了根据本文所述的实施例的可以使用标准化查询重写的搜索引擎的一个示例实施例。

图7是示出可以与本文描述的实施例一起使用的基于网络的发布系统的框图。

图8是可以在各种实施例中使用的示例机器。

具体实施方式

描述了用于电子搜索的示例方法和系统,包括与电子搜索一起使用的查询重写系统和过程的示例实施例。

查询重写是某些搜索引擎的一个方面。查询重写是指以下过程:将从用户接收到的查询项与和查询项有关的同义词或其他已知信息进行匹配,并且使用该信息来提供优于通过向接收到的查询项应用标准搜索算法会提供的搜索结果的搜索结果集合。因此,查询重写可以在处理用户的搜索查询中和在生成搜索结果集合中起作用,其中所述搜索结果集合是响应于用户的查询发送给用户的结果集合。

本文描述的某些实施例结合用于提供改进的查询重写的重写系统和方法使用查询重写输入语言(qril)来实现改进的查询重写。例如,搜索引擎可以包括单独地或分组地生成的特设(adhoc)的重写指令集,但是没有用于考虑新的重写对系统的影响的系统和方法。随着附加的重写被添加到这种特设的重写系统,不同的重写之间的冲突可能存在,而系统操作者不知道该冲突。例如,当搜索项或触发与两个不同的重写值相关联时,这样的冲突可能存在。这可能会根据应用重写值的方式响应于用户查询而产生意外和不期望的搜索结果集合。本文描述的实施例可将各个重写转码成标识个体重写特征的qril记录。然后可以由qril处理器将该qril记录与系统中的所有其他qril记录一起处理,以生成标准化重写集合。当处理qril记录时,利用任何重叠或冲突的qril记录以及相关联的重写来建立标准化结构关系。例如,由qril处理器根据优先顺序(precedence)规则来解决具有重叠约束的两个qril记录,该重叠约束指示应该通过两种不同方式重写查询记号(token)。优先顺序规则可以基于重写类型、输入时间、输入实体或包含在qril记录内的任何其他元数据或标记。然后可以将由qril处理器生成的标准化重写提供给搜索引擎以用于响应用户搜索查询。这可以是从其获得特设查询重写集合的相同搜索引擎,或者这可以是不同的搜索引擎。

许多实施例搜索引擎具有严格的服务规范,该服务规范要求在短时间内向用户搜索查询发送响应。因此,根据某些示例实施例的查询重写系统在一些实施例中必须在几分之一秒或甚至几分之一毫秒内提供重写。由于与这种呼叫关联的时间,这种服务要求不允许搜索引擎或重写系统调用qril记录数据库或标准化重写数据库。相反,在某些示例性实施例中,标准化记录被集成在搜索引擎系统中以在接收到用户查询时提供足够的查询重写响应时间。

如本文所述,重写或查询重写是指由搜索引擎使用的将用户查询的全部或部分改变或变换为另一形式的翻译。查询重写至少包括触发和重写值,所述触发是要被变换的值或者值集合以及逻辑运算符,所述重写值是应用于触发的变换值。查询重写是指由搜索引擎使用并具有被搜索引擎使用的形式的转换。其可包括使用特定的文件格式、文本配置以及与相关联的qril记录中的元素集合不同的简化(streamlined)的元素集合。因此,本文所使用的查询重写与查询重写输入语言(qril)记录不同,尽管下面将查询重写和qril记录放在一起详细讨论。标准化查询重写是由qril处理器根据qril记录创建的重写,用以消除冲突并向qril记录描述的重写应用施加标准化的规则集合。

本文描述的qril记录是指特定于域的数据结构,其描述查询重写以及关于查询重写的其他信息,该其他信息使得系统能够解决不同查询重写之间的冲突,并解决与未充分根据搜索引擎的期望定义的查询重写有关的歧义。下面详细描述用于生成和使用qril记录及其相关联的查询重写的系统和方法。

如本文所述,用户查询是指由搜索引擎系统从客户端设备接收的表示用户对信息的搜索的信息。在各种实施例中,用户查询可以采取各种形式。在一个具体实施例中,用户查询包括字符串。字符串可以包括任何格式的多个单词、符号、空格或数字。

本文所提及的搜索引擎是被配置为接收用户查询以及可供搜索引擎用来创建与用户查询中的信息相关的匹配的列表的搜索信息的一个或多个设备。根据本文描述的实施例,搜索引擎可以使用任何数量的不同匹配算法。本文详细描述的查询重写具体使得可由系统操作者调整由搜索引擎生成的匹配。当可以调整搜索引擎所使用的匹配算法的系统操作者进行类似的调整时,查询重写使得系统操作者能够进行这样的调整而不使匹配算法的完整性面临风险。在调整匹配算法中的权重具有以意想不到的方式影响匹配结果的重大风险的情况下,使用本文描述的这种标准化重写的标准化重写和搜索引擎的实施例使得用户能够使用使匹配算法保持原样并保持不变的查询重写来通过所定义且可预测的方式影响搜索引擎输出的搜索结果集合。相反,标准化重写将调整匹配算法的输入,以便根据系统操作者或其他系统用户的需要自定义或调整搜索引擎操作使得其具有生成查询重写的能力。类似地,在涉及数据挖掘、第三方、电子商务销售页面、与大量电子商务销售页面和产品相关联的搜索引擎以及另外的系统复杂性的大型复杂系统中,标准化查询重写系统使得可将电子商务搜索元素从复杂搜索引擎系统中脱离出来。这还通过使这样的不同的各方容易理解各个查询重写的方式来确立(formalize)查询重写,并且还确立特定查询重写与系统中的每个其他查询重写的交互。

此外,尽管查询重写的使用维持了搜索引擎匹配算法的完整性,但是非结构化查询重写可能会相互冲突。例如,第一查询重写可能会将“智能手机a”翻译成“产品b”。第二查询重写可能将“智能手机a”翻译成“产品特征c”。第三查询重写可能将“智能手机”的每个记号实例翻译为“设备a”。这些查询重写可能会以复杂且不可预测的方式进行交互。如果第一查询重写的来源不同于第三查询重写的来源,使得第一查询重写的创建者不知道其他重叠或冲突的查询重写,尤其会出现上述问题。大型搜索引擎实施例可以包括数百万的查询重写。例如,大型电子商务系统的搜索引擎可能包括超过2500万重写。本文描述的实施例提供了标准化优先顺序规则,该标准化优先顺序规则确定如何解决在同一系统中操作的不同查询重写之间的冲突和交互。

本文描述的实施例的各方面涉及重写类型的分类。特定实施例可以使用重写类型的不同分类。如本文所讨论的,“直接”或基本重写是一种重写类型,短语重写是一种重写类型,“记号细化”是一种重写类型,以及“全查询重写”是一种重写类型。其他实现可以包括重写的其他分类。

如本文所述,直接重写涉及与重写值直接相关联的触发。虽然直接重写可能具有其他关联方面(包括各种约束、类别和元数据),但基本结构是触发与重写值之间的直接关联。包括与电子商务搜索引擎相关联的附加信息的直接重写结构的示例是:

约束=[发出查询的电子商务网站,触发,类别约束,查询起始国家]

重写=[重写值,类别重写,方面重写,项目列表位置id]

使用上述结构的重写示例是:

约束=[发出查询的电子商务网站=“美国”,关键字触发=“fone”,类别=“电子”,查询起始国家=“加拿大”]

重写=[关键字重写=“智能手机”,类别重写=“123456”,方面重写=“无”,项目列表位置id=“加拿大”]

如本文所使用的,短语重写涉及将触发重写为短语,其中,短语被定义为连续单词记号的序列。这与直接重写的不同之处在于:直接重写可能具有作为单个记号的重写值,而短语重写的重写值是涉及多个记号的短语。此外,虽然直接重写可能具有带多个记号的重写短语,但是未指定直接重写的重写值的记号顺序。与对应的直接重写相比,短语重写使得能够调用更具体的项目集合。例如:与具有触发“内置相机”和重写值“内置的phrase(后置相机)”的短语重写相比,具有相同的触发“内置相机”和重写值“内置的后置相机”的直接重写将匹配更多的项目。在某些情况下,短语重写是优选的,因为它将匹配更精确的项目集合。

如本文所使用的,记号细化是指涉及向触发添加或从其删除关键字的重写。例如,如果触发“便宜的新的公主智能电话外壳”没有提供可接受的搜索结果集合,则系统可以使用记号细化重写从查询中删除单词(即,记号)。如果在用户查询中足够频繁地看到该项触发,则系统可以收集足以确定记号“便宜”和“新”对于用户通常使用该搜索查询来尝试检索的搜索结果元素而言并不关键的信息。因此,删除这些项的记号细化可用于将“便宜的新的公主智能手机外壳”重写为“公主智能手机外壳”。这是记号丢弃的例子。相反,记号细化也可以用于向查询添加单词。例如,触发“品牌a”可能具有记号细化重写值“型号#123”,这可能是电子商务搜索引擎内与品牌a相关联的唯一受欢迎的产品。记号细化是对触发的更改,而不是使用重写值替换用户查询中的触发值的传统重写。虽然在某些情况下某些记号细化可能具有与直接重写相同的功能效果,但是在各种实施例中,创建针对直接重写和记号细化重写的类别能够实现冲突解决和某些类型的qril记录结构。

图1是用于生成、处理和使用查询重写输入语言(qril)记录的系统100的示例实施例的框图。qril是特定于域的语言。本文描述的具体实施例可以提供qril,其是用于电子商务搜索和特定于电子商务的搜索查询重写的特定于域的语言。虽然本文描述的某些示例性实施例与电子商务和电子商务搜索查询特别相关,但是明显的是,本文描述的实施例的各方面可以应用于其他类型的搜索查询域。

系统100包括查询重写源110、查询转码设备120、qril记录数据库130、qril处理器140、产品数据库150和搜索引擎160。标准化重写集合142也被示出为被传送给搜索引擎160、产品数据库150或这两者的qril处理器140的输出。

如系统100所示,查询重写源110包括多个不同的重写源。其可包括任何数量的所示出的示例重写源以及其他类型的重写源。查询重写源110被示为包括查询数据库112、数据挖掘模块114、重写优化模块116和编辑web服务模块118。

查询数据库112包括本地数据库,该本地数据库具有来自各种联网数据库源的特设查询重写或特设查询重写的集合。例如,查询数据库112可以包括查询重写集合或与搜索引擎160不同的搜索引擎。这可以包括与搜索引擎160使用的不同的查询重写格式和/或结构的搜索引擎。该信息可以作为查询重写数据集合发送给查询转码设备120。

数据挖掘模块114包括分析以下各项的系统:用户查询、作为搜索引擎对这些用户查询的响应的搜索结果以及在用户接收到搜索结果之后的用户选择。这样的用户选择可以包括:选择到具体网站的链接,用户购买在搜索结果中列出的产品,或者在用户接收到与用户查询相关联的搜索结果之后采取的任何其他记录的用户动作。这样的数据可以附加地包括关于与提交相同初始搜索查询的不同用户一起使用的不同查询重写的信息。利用足够大的数据集合,可以针对具体的输入查询、查询重写、搜索结果和用户响应生成统计信息和分析。数据挖掘模块114可以分析这样的信息以生成查询重写数据集合。

重写优化模块116包括诸如产品数据库150之类的重写数据库。例如,可以向重写优化模块116传送来自产品数据库150的标准化重写142。重写优化模块116然后可以分析标准化重写142集合以识别低效的冗余的重写,或者基于作为标准化重写集合142的一部分存在的重写来生成新的重写。由优化模块116识别的新重写或由重写优化模块116识别的任何冗余或低效的重写可以作为查询重写数据集合传送给查询转码设备120。

编辑web服务模块118包括服务门户,所述服务门户允许第三方访问系统100以生成定制的qril记录和相关联的标准化重写。例如,编辑web服务模块118可以包括注册服务器,所述注册服务器使得在与搜索引擎162相关联的电子商务门户上销售产品的商户能够向查询转码设备120提交查询重写数据集合。在这样的实施例中,商户可以与具体约束相关联。例如,商户可以具有作为与搜索引擎160相关联的电子商务站点的一部分的店面或门户。根据商户提供的查询重写数据集合生成的qril记录可以自动地包括将根据那些qril记录生成的标准化重写限制到商户的店面的约束。此外,由于qrll处理器140实现优先顺序规则,系统100限制了可能因为经由编辑web服务模块118接收的来自第三方的查询重写数据集合而引入的潜在错误。

查询转码设备120接受来自查询重写源110的查询重写数据集合,并使用该信息生成qril记录。这样的qril记录可以专门根据从单个查询重写源110接收的信息生成,或者可以根据从多个源接收的查询重写数据生成qril记录。在某些实施例中,可以结合来自craig重写源110的查询重写数据使用查询转码设备120存储的历史数据,以生成qril记录。下面关于图4的查询转码系统400讨论与查询转码和查询转码设备120相关的附加细节。

一旦由查询转码设备120生成一个或多个qril记录,则qril记录被存储在qril记录数据库130处。qril记录数据库130可以是与查询转码设备120、qril处理器140或任何其他设备集成的存储器存储设备。qril记录数据库130存储可用于生成标准化重写集合(例如,标准化重写142的集合)的qril记录集合。在某些实施例中,qril记录数据库130可以包括不同的qril记录集合。这可以使单个查询转码设备120、qril记录数据库130和qril处理器140能够提供对于不同搜索引擎而言不同的标准化重写集合。

当要针对搜索引擎160生成标准化重写142集合时,qril处理器143使用来自qril记录数据库130的qril记录。在某些实施例中,可以分别检索每个qrl记录,或者可以由qril处理器140一次性地请求qril记录集合。然后,qril处理器140分析来自qril记录数据库130的qril记录集合,以生成标准化重写142集合。作为该过程的一部分,可以识别与每个qril元素相关联的重写类型,并且可以处理其他约束和/或元标记信息以既生成标准化重写又解决不同qril元素定义的标准化重写之间的任何冲突。标准化重写142集合是qrl处理器140的输出,其由qril处理器140分析来自qril记录数据库130的qril记录而产生。当标准化重写集合142完成时,可将它从qril处理器140输出给产品数据库150。在各种实施例中,产品数据库150是可选的。如上所述,产品数据库150可用于验证在搜索引擎160中激活的实际标准化重写。产品数据库150还可被重写优化模块116用来在该标准化重写142集合的稍后更新版本中进一步细化重写。产品数据库150还可以与测试搜索引擎一起使用,以验证某些qril记录对标准化重写以及与由标准化重写所重写的用户查询相关联的搜索结果的影响。例如,编辑web服务模块118可以提供对测试搜索引擎(未示出)的商户访问以及对与产品数据库150中的商户相关的标准化重写142集合的重写。编辑web服务模块118可以使商户能够基于来自商户查询重写数据集合的商户改变来提供将由corey转码设备120和qril处理器144处理的查询重写数据集合,即非生产(nonproduction)标准化重写集合。然后,商户可以提交测试查询以观察这些测试查询重写如何与先前存在的标准化重写相互作用,以在测试搜索引擎内生成搜索结果集合。

搜索引擎160可以是使用诸如标准化重写142集合之类的查询重写的任何搜索引擎。如上所述,在此(特别是在图8的搜索引擎800中)详细描述具体的电子商务相关搜索引擎。在一个具体实施例中,搜索引擎160是电子商务搜索引擎,其使用作为搜索匹配算法的一部分的产品类别树来根据用户查询生成搜索结果。因为与这样的电子商务搜索引擎相关联的电子商务门户被引导到识别供用户购买的产品,与搜索引擎160集成到一起的这种类别树可提供可以与查询重写集成的约束和元标记信息,以在电子商务搜索引擎内构建产品搜索和搜索结果。例如,这样的类别树可以使与某些产品类型相关联的品牌名称匹配到针对产品类型的搜索。这种匹配在使用文本或单词匹配算法的系统中可能不会进行。下面更详细地讨论与这种电子商务搜索引擎有关以及与标准化查询重写和相关联的qril记录内的类别元标记信息有关的附加细节。

系统100描述了用于生成qril记录和相关联的标准重写并在搜索引擎中使用根据qril记录生成的标准重写的系统的一个可能实现。在各种实施例中,系统100的每个元素可以被实现为单个设备或多个设备中的模块。这样的元素也可以被实现为分离的设备或者跨多个设备操作的系统。因此,查询转码设备可以是在与qril处理器140相同的设备上操作的模块。或者,查询转码设备120可以是计算设备的网络系统,其是与构成qril处理器140的一个或多个设备相距较远的网络。

图2是示出根据一个实施例的用于生成、处理和使用qril记录的示例方法200的细节的流程图。虽然这样的方法200可以由本文呈现的创新的各种不同实施例来执行,但为了说明的目的,方法200的操作在系统100的上下文中描述。

操作205是关于编辑web服务模块118的上述可选注册步骤。这样的注册可以使某些系统用户能够生成具有约束值的qril记录,该约束值将与qril记录相关联的重写限制到与系统用户具体相关联的搜索而不是生成qril记录。这样的关联的示例可以是操作虚拟店面的商户,其具有对诸如系统700的更广泛的发布系统的访问权。这样的qril记录可以包括将相关联的标准化重写限制为仅应用于从商户的虚拟店面接收的查询的约束。当向第三方(诸如商户、搜索顾问、系统用户、中间件提供商或任何其他此类第三方)提供了对系统100的访问权时,可以进行操作205。操作205是向查询转码设备120的注册。在各种其他实施例中,中间的编辑web服务模块118可以完全地处理注册系统,或者可以呈现用于处理注册、访问和其他各种帐户细节的附加安全层和用户界面层。在其他实施例中,查询重写资源110和查询转码设备120可以作为网络或某些其他通信路径的一部分通信地耦合,而不需要相关联的注册过程。

在操作210中,查询重写数据由查询转码设备120接收。这可以是响应于操作者选择,或者是作为系统更新的一部分周期性地提供给查询转码设备120的查询重写数据的自动更新。在响应于操作者选择将查询重写数据提供给转码设备120的实施例中,可以由操作诸如第三方服务器730、客户端机器710或客户端机器712等机器的用户来做出选择(下面进行更详细描述)。作为这样的设备的操作的一部分,第三方应用程序728、web客户端706或程序化客户端708可以包括具有输入选择的用户界面,其使得用户能够向查询转码设备120发送查询重写数据。这样的应用或客户端可以与查询转码设备120或中间注册设备或应用进行通信,以作为先前操作205的一部分来向系统100注册。针对查询重写数据的自动通信或查询重写的用户选择通信的选项可以作为注册的一部分由用户来选择,或者可以通过预定的系统设置来自动设置。

在操作215中,分析在操作210中接收到的查询重写数据,以识别触发和相关联的重写值。如本文所使用的,触发是指字符、单词、短语、符号或任何其他信息集合,触发当作为用户查询的一部分被接收到时,用于发起重写以作为重写的一部分将这些信息集合变换成另一形式。例如,“智能手机”一词可以是触发。而相关联的重写价值可能是“a牌手机”。如果从查询数据库112接收到包括查询重写集合的查询重写数据,则可以在查询重写数据中显式地标识触发和相关联的重写值。在这种情况下,字符解析器可用于从查询重写数据中识别触发和重写值。如果分析查询重写数据的字符解析器没有显式地识别到触发和相关联的重写值,则可以执行附加分析以识别重写中的触发,或者查询转码设备120可以将查询重写数据标记为不包含触发或重写的数据,并且不能根据该数据来创建qril记录。下面关于图4的查询转码设备400描述与触发识别和重写识别有关的附加细节。

在操作220中,将查询重写类型分配给识别出的触发和重写。查询重写类型被用于确定从查询重写数据导出的标准化重写将被接收的优先级或优先顺序等级。查询重写类型由重写的结构、支持数据或与重写相关联的作为查询重写数据的一部分的元数据确定,或由此二者确定。将“智能手机”与重写“品牌a电话”相关联的上述重写在本文中被称为直接重写。直接重写的结构包括触发和重写值。这是最简单的结构,其中重写涉及用重写值替换触发。重写类型的其他示例包括短语重写、记号细化重写和全查询重写。关于查询重写类型和不同查询重写类型的具体示例实施例的附加细节将在下面参考图4进行讨论。

在操作225中,可以识别存在于查询重写数据中的任何其他相关约束或元数据信息。与重写值中的触发的识别类似,该其他相关约束或元数据信息可以作为集合字符存在于数据中,并且字符解析器可以识别已知与和qril记录的元素有关的某些约束相匹配的字符分组。图7所示的qril记录700以及qril记录700的各个组成示出了包括多个不同的qril元素的示例qril记录。作为操作220的一部分,解析器可以识别qril记录700的任何组成。

此外,在操作225中,根据在操作215和220中识别出的触发、重写值、查询重写类型以及相关约束或元数据信息生成qril记录。这样的记录可以使用处理器来生成,以创建记录结构并且从在操作215和220中使用的解析器收集文本、符号或其他操作者信息。下面将参考图4讨论可用于qril记录生成的系统的附加细节。可以使用特定数量的元素来构造qril记录,或者可以仅使用具有从查询重写数据标识的关联信息的元素来生成qril记录。如果qril记录是利用所设置数目的元素来构造的,并且不针对具体的qril元素来识别信息,则可以使用具有零或空条目的元素来构造qril记录。如上所述,qril700是qril记录的示例,并且在一个实现中,可以在操作225期间生成qril记录700。下面将讨论与qril记录有关的附加细节,特别是关于图5的qril记录500来讨论。

在操作230中,系统检查是否可以根据接收到的查询重写数据生成附加的qril记录,或者是否存在要从一个或多个查询重写源110接收和分析的附加查询重写数据。如果还要分析附加的查询重写数据,则过程在操作235中继续,处理来自一个或多个源的附加重写数据。该查询重写数据可以来自单个查询重写源110或多个查询重写源110。其可以包括作为查询重写源110的一部分示出的任何源,该查询重写源110包括查询数据库112、数据挖掘模块114、重写优化模块116或编辑web服务模块118。然后重复操作215到230,可以断定没有剩余附加的查询重写数据要处理。在各种实施例中,可以使用任何数量的处理器、查询转码设备120或执行这种操作的其他模块或装置来同时执行操作210至230中的这种查询重写数据处理。在其他实施例中,该处理可以是周期性执行的操作集合,或者是在每当接收到识别新的查询重写数据的触发时执行的操作集合。在某些实施例中,可以在操作210至230中生成qril记录并进行聚合,使得在不同时间生成的qril记录都被一起传送给qril记录数据库。在其它实施例中,将每个qril记录在其被生成时存储在qril记录数据库130中。在某些实施例中,单个查询转码设备120可以向多个数据库发送qril记录,并且可以由根据查询记录数据识别出的信息,由查询重写源110的标识,或者由作为操作205中注册的一部分接收到的信息来确定目标数据库。

如果在操作230中没有识别出附加的重写数据,则在操作240中将所有的qril记录都存储在qril记录数据库130中。存储在qril记录数据库130中的qril记录可以被存储以便稍后使用,使得在操作240和操作245之间存在时间延迟,或者存储在qril数据库130中的更新和新的qril记录可以被立即传送给qril处理器以用于分析。

在操作245中,由一个或多个qril处理器分析qril记录。在某些实施例中,可以由单个qril处理器串行分析各个qril记录。在其他实施例中,可以由一个或多个qril处理器(例如qril处理器140)并行分析qril记录。qril处理器分析确定与搜索引擎相关联的格式,以及来自qril记录的信息,该信息是以搜索引擎可接受的格式生成标准化重写所需的。虽然方法200描述了qril处理器分析和标准化查询生成的一个示例实现,但是下面关于图5的qril处理器540描述可以在不同实施例中使用的qril处理器操作的附加细节和其他方面。

作为操作245的一部分,可以由qril处理器140识别作为qril记录的元素包括的查询类型,并且可以基于qril记录的查询类型来实现各种不同的处理操作。下面讨论与不同查询类型相关联的细节,并且在操作245期间,qril处理器140可以使用不同查询类型的特征。在操作245中对qril记录进行初步分析之后,如下详细所述,可以使用重写冲突和优先顺序规则来在操作250至290中生成一个或多个重写。

除了上面讨论的不同类型的查询重写之外,某些qril记录和相关联的重写可能涉及递归重写。操作250检查qril记录以获取与递归重写相关的设置。术语递归重写是指当与第一重写相关联的重写值是与第二重写相关联的触发时可能发生的重写链。例如,如果第一直接重写具有触发“fone”和重写值“智能手机”,并且第二直接重写具有触发“智能手机”和重写值“电话型号#12345”,则重写链可能导致用户查询中的记号“fone”被重写为“电话型号#12345”。操作250的检查可以涉及qril记录元素,其指示针对与qril记录相关联的重写是否允许或启用递归重写。在某些实施例中,某些qril记录可以包括特别地允许或特别地禁止重写值被用作另一重写的触发的元素。在其他实施例中,系统规则可以确定是否允许递归重写。如果允许递归重写,则系统可以进行到分析任何相关的qrl记录或先前生成的标准化重写。例如,如果使用触发“fone”的重写是指示不允许递归重写的qril元素的一部分,则在针对该qril元素生成标准化重写期间忽略作为标准化查询重写集合的一部分的第二重写。然而,如果允许递归重写,则在操作255中,qril处理器140将检查具有与正在处理的qril元素的全部或部分重写值相匹配的触发的重写。这可包括检查qril记录数据库130中的所有qril元素。这也可涉及检查来自当前标准化重写集合142的所有标准化重写。如果在操作255期间发现可应用的重写,则在操作245的重复中分析递归重写。然后在操作250的重复中检查递归重写以获得双重递归重写。该过程以嵌套方式进行,直到没有其他的递归重写,或者直到达到递归重写的系统限制。在某些实施例中,单个qrl可以具有来自相同触发的两个嵌套重写。例如,如果第一qril具有重写值“比利时双巧克力”,并且对于“比利时”和“双巧克力”都存在可应用的触发,则如果没有其他约束来阻止,可对“比利时”和“双巧克力”二者的嵌套重写进行分析,并将其各自的重写值用在创建标准化重写中。

在操作260中,qril处理器140可以确定是否存在与重写的任何冲突。冲突的示例包括具有相同触发和不同重写值的重写。操作260可以涉及qril处理器140相对于其他qril记录,相对于已经被qril处理器140并入标准化重写集合的先前生成的标准化重写,或相对于其二者来检查对当前qril记录的重写。

如果识别出冲突,则在操作265中,系统分析冲突中的重写,并应用优先顺序规则来解决冲突。当相同的触发与多个不同的重写相关联,并且一个重写与一个或多个重写冲突时,需要解决冲突。这可能发生在例如当短语重写和直接重写具有相同触发时,该相同触发具有相同记号。在这种情况下,短语重写通常将仅与通过对应的直接重写匹配的项目的子集相匹配。系统可以用固定规则解决这种冲突。一个实施例规定了当短语重写和直接重写包括相同的触发时,直接重写被丢弃,并且在提供更简洁的匹配集合时由系统使用短语重写。另一实施例评估来自两个冲突重写的预期结果集合。选择具有更大量的重写细节的重写,该更大量的重写细节会被期望返回更窄的搜索结果。可以基于重写值中的字符或记号的数量来对此进行评估。也可以基于qril记录中的元标记值或其他相关信息来对此进行评估。例如,qril记录可以包括针对优先顺序分数或细节值的元标记元素。这样的元标记值可用于解析当触发是搜索查询的一部分时的qril记录或者应用触发的顺序。

在一个潜在的实施例中,基于查询类型来为某些冲突的查询类型赋予优先顺序。在一个潜在的实施例中,全查询重写被赋予优先级,因为全查询重写是与用户查询字符串的精确匹配。全查询重写包括没有导数变换(derivativetransformation)或递归重写的特定重写值,因为全查询重写是专门针对精确的用户查询而量身打造的。因此,全查询重写是优先重写,并且鉴于全查询重写的优先顺序,不会执行不同类型的任何冲突的重写。因为全查询重写具有与用户查询精确匹配的触发,冲突的全查询重写可能会导致错误的标记被输出给系统操作员。在没有这种冲突输出错误的实施例中,如上所述,整个查询冲突可以被解决,包含最大量的细节的重写值取得优先顺序。

继续讨论全查询重写的冲突解决的示例实施例,在本实施例中,记号调整重写可在然后取得全查询重写之后的优先顺序,并且短语重写可如上所述取得高于直接重写的优先顺序。可以如上所述解决相同类型的重写之间的任何重写冲突,以有利于最窄的重写值。如果允许衍生(derivative)重写或递归重写以使得重写的查询的重写值可以作为附加重写的触发,则完成的重写之后的每个递归级别可以使用与如上所述相同的规则来解决每个衍生级别的重写冲突。

当确定冲突解决时,所有相关的冲突重写作为操作275的一部分在标准化重写集合中被更新。在某些实施例中,这可以涉及从标准化重写集合中移除该重写中的一个。在其他实施例中,这涉及选择重写顺序,使得将会使用第一重写,并且在用重写值变换触发之后,将不再应用另一触发。在优先顺序规则集合的一个潜在实施例中,全查询重写具有高于所有其他重写的优先顺序,直接重写具有高于短语重写和记号细化的优先顺序,且短语重写具有高于记号细化的优先顺序。可以基于重写值中的细节级别(例如,字符、记号或符号的数量)来向相同类型的重写赋予优先级,其中,较高的细节等级(例如,更多字符)具有高于较低细节量的优先级。在某些实施例中,qril可以具有用于解决相同类型的重写之间的冲突的优先级元标记元素。

在操作270中,在考虑了qril记录的所有元素并且已经解决了任何冲突之后,由qril处理器140生成标准化查询重写。在操作280中,更新标准化查询重写集合以包括新的查询重写。在操作285中,qril处理器140检查任何附加的qril记录是否要被考虑到并用于生成将用作标准化查询重写集合的一部分的标准化重写。由qril处理器140执行的处理然后重复操作245至285,直到考虑了所有可应用的qril记录。

当结束考虑所有qril记录时,从qril处理器140输出标准化重写142集合。在各种实施例中,这可以是来自qril处理器140的高速缓存或本地存储器的输出通信。在其他实施例中,这可以是由qril处理器140对存储在单独存储器中的文本文件进行的最终调整,其中,文本文件包括标准化重写142集合。在操作290中,将标准化查询重写集合提供给搜索引擎160。在操作295中,搜索引擎使用标准化查询重写集合来操作,以响应于从客户端设备接收到的查询来生成搜索结果。搜索引擎继续进行,直到作为操作298的一部分发生系统更新。当发生系统更新时,该过程可以从操作230开始重复,生成新的qril记录,处理qril记录以更新或生成新的标准化查询重写集合且更新搜索引擎160使用的标准化查询重写集合。

图3是示出根据一个示例实施例的用于生成qril的示例方法300的流程图。方法300可以由更大系统的一部分执行,作为计算设备内的模块执行,或者由查询转码设备(例如,查询转码设备120或查询转码设备400)执行,查询转码设备120或查询转码设备400各自包括存储设备、输入和输出模块以及耦合到存储设备及输入和输出模块的一个或多个处理器。

图4是耦合到qril记录数据库130和查询重写源110的查询转码设备400的框图,以上将qril记录数据库130和查询重写源110二者作为系统100的一部分进行了讨论。下面在使用图4的查询转码设备400的示例性实施例中描述方法300。

方法300从操作305开始,在查询转码设备处从第一查询重写源设备接收第一查询重写数据集合。在查询转码设备400的示例性实施例中,在输入模块422处接收该查询重写数据。查询重写数据集合可以包括与产品或搜索相关的任何信息,并且包括约束数据、元标记数据和任何其他相关的查询重写数据。查询重写数据包括可用于标识第一触发值和相关联的第一查询重写值的信息,第一查询重写值与第一触发值一起构成将成为重写的核心信息。约束数据可用于标识对相关重写的适当限制。元标记数据包括与实际触发和重写值之外的重写类型相关的任何信息或数据。元标记数据还可以包括指示递归重写是否被允许用于相关重写的数据,在类别约束没有被显式地标识的情况下可协助标识可能与重写相关联的类别的数据,或不同于显式地标识的可能与重写相关联的类别的其他类别。

在操作310中,处理查询信息以识别第一触发和第一查询重写值。在查询转码设备400的示例实施例中,可以使用数据解析器模块424来完成该处理。数据解析器模块可以是分析查询数据以构建给出查询数据表示的数据结构的文本解析器或其他计算解析器。数据解析器分析查询数据中的字符或符号,以识别触发和重写值来作为重写的核心部分,该核心部分将会是qril元素的基础。数据解析器还可以使用记号或字符库来识别查询数据中通过该库来与某些元数据、约束或者qril记录的其他元素相关联的匹配记号或字符串。

操作315然后涉及分析第一查询数据集合以识别多个查询重写类型中与第一查询重写数据集合相关联的第一查询重写类型。在一个实施例中,由数据解析器模块424生成的数据结构可以与多个重写类型标识符模块结合使用,识别与数据查询相关联的查询类型。例如,直接重写标识符模块426、短语重写标识符模块428、记号细化标识符模块431和全查询细化标识符431可以各自包括与由重写系统表征的重写类型有关的库记号或结构信息。随着数据解析器模块422分析查询重写数据,模块可以使用来自由数据解析器模块424分析和构造的查询重写数据的信息,以将查询重写数据与查询类型相关联。如果使用数据解析器模块424的模块426-431没有识别出查询类型,则qrl生成和格式化模块436可以确定不根据查询重写数据生成qril记录。

除了在操作310中识别第一查询重写值中的第一触发和在操作315中识别第一查询重写类型之外,附加实施例可以分析查询重写数据以获得其他信息。这些其他信息可能包括用于创建元标记的细节,用于对在重写将被使用或将不被使用时告诉系统的约束进行识别的细节,或其他此类信息。关于这种元标记的附加细节在下面参照图5进行讨论。可以使用由数据解析器模块424与查询转码设备400的任何数量的其他模块相结合所标识的结构来收集这些信息。这包括约束标识符模块432,其可以特别地适配和配置有分析系统,以识别对具体重写的约束。这种约束的示例包括只有当查询源自具体国家或其他地理区域中的客户端设备时才应用重写,只有当查询源自具体网站市场时才应用重写,或任何其他这样的约束。例如,查询重写数据可以源自具体查询重写源(例如,编辑web服务模块118)。作为注册过程的一部分,编辑web服务模块118可以向查询转码设备400注册,并且这可以向数据解析器模块424提供记号值,该记号值使得数据解析器模块424能够识别源自编辑web服务模块118的重写查询数据。当由与约束标识符模块432一起操作的数据解析器模块424识别出该记号值时,针对qril记录生成约束值,该约束值限制将相关联的查询重写用于与编辑web服务模块118相关联的用户查询。这可以包括具有使用编辑web服务模块118和搜索引擎160二者的电子商务网站的商户,搜索引擎160从包括查询转码设备400的系统接收标准化查询重写。类似地,可以由与标记标识符模块434一起操作的数据解析器模块422生成可与qril记录的元标记元素相关联的元数据。此外,这些模块中的每一个可以使用重写类型标识符模块426-430中的一个来识别对于具体重写类型可能是唯一的标记或约束。

然后,操作320涉及根据第一查询重写数据集合生成第一查询重写输入语言(qril)记录。然后,操作325涉及在具有多个qril记录的qril记录数据库中存储第一qril记录。第一qril记录包括第一触发值和第一查询重写值。可以由qril生成和格式化模块436使用利用上述查询转码设备400的任何模块识别或生成的值来生成qril记录。然后,作为操作325的一部分,输出模块437可以将qril生成和格式化模块436生成的qril记录传送给qril记录数据库130。在某些实施例中,qril记录可以包括除核心元素第一触发值和第一查询重写值以外的附加元素。

图5示出了可以与各种实施例一起使用的qril记录的一个示例实现。图5的qril记录500示出了具有多个附加元素的qril记录的示例。在某些实施例中,可以在操作320的实现中由qril生成和格式化模块436生成qril记录500。qril记录500包括触发元素540和重写值元素550。此外,qril记录500包括多个约束510,该多个约束510包括类别元素512、站点元素514和国家元素516。类别元素512可以标识与电子商务搜索引擎相关联的一个或多个类别,与qril500相关联的查询重写将被应用于该电子商务搜索引擎。如下面另外详细描述,基于这些查询的细节和与用户或用户客户端设备有关的其他信息,搜索引擎可以基于电子商务搜索引擎类别树中的类别对用户查询进行分类。该类别信息可以附加地被用于查询重写。该使用的一个示例是识别由类别元素512标识的类别约束。

类似地,搜索引擎可以具有关于用户查询所源自于的国家或其他地理位置的信息,并且这可以与国家元素516一起使用以当查询源于由具体qril记录(例如,qril记录500)的国家元素516所标识的位置时对要使用或不使用某些查询重写进行约束。

站点元素514可以标识可以充当具体查询重写的另一约束的网站、商家店面或其他电子商务门户。例如,在一个实施例中,系统700可经由市场应用的720托管多个电子商务市场。与市场应用720相关联的每个市场可以具有站点标识符。该站点标识符可以用作qril记录500中的站点元素512的值。这可以使得具体市场应用720的运营商能够创建qril记录500,并且使用站点元素514来将qril记录500约束为仅应用于源自由站点元素514的值标识的商户市场应用720的查询。

qril记录500的元标记520可以包括针对任意数量的不同类型信息的qril元素。在图5的qril记录500中,元标记520用于标识与qril500相关联的重写的查询重写类型。这是通过针对每个查询重写类型提供元素来完成的。因此,qril记录500包括可以指示全查询重写类型的全查询元素526、可以指示直接重写类型的直接元素528、可以指示记号细化类型的记号细化元素534以及可以指示短语重写类型的短语元素536。

除了查询重写类型之外,元标记520还可以指示与重写qril记录500相关联的其他细节。排除元素530可以用于指示某些重写类型是消极的而不是积极的。这意味着重写是为了排除包含重写值的搜索结果而不是为了搜索包含该重写值的结果而进行的。衍生重写禁用元素532可以用于识别递归重写是否被允许使用重写值元素550的重写值来作为后续重写的触发。类别匹配539和短语类别538可以标识电子商务搜索引擎的类别树中要与搜索一起使用的类别,该搜索是利用重写值元素550的重写值来执行的。在其他实施例中,可以使用任何数量的其他元素来作为qril记录(例如,qril记录500)的一部分。

图6示出了可以使用根据本文所述的实施例的标准化查询重写的搜索引擎系统600的一个示例实施例。例如,系统600可以是从qril处理器140接收标准化重写集合的搜索引擎160的各方面的实现。在某些实施例中,系统600可以是与诸如图7的系统700的电子商务平台或发布系统相关联的电子商务搜索引擎。

对于用户访问在线资源,诸如电子商务网站提供商的提供商通常提供搜索服务来定位与用户兴趣相关的资源。提供商的目标是提供满足用户和提供商的若干关注的结果,例如引起用户再次使用提供商的相关结果,提供商的创收以及满足业务伙伴(例如,广告商或赞助商)关注。当提供商是电子商务提供商时,考虑例如从搜索结果或业务合作伙伴关注中返回的项目列表的销售中产生收入在对结果进行排名(例如,给予更多的权重)而不是将项目与搜索简单相关而言可能尤其重要。提供商可能具有大量且多样的信息(其可用于对结果进行排名),例如关于其提供的资源的信息,关于用户行为的信息(例如,用户响应于搜索而选择给定资源的频率),提供商收入信息或业务伙伴信息。通常,作为响应用户搜索的结果,提供商将使用这些信息的部分来识别和呈现资源,以满足提供商的目标。可以使用该信息对结果进行排名,其中排名可以提供将结果显现给用户的顺序。

传统上,提供商可能会花费大量的时间来尝试确定其拥有的哪些信息与通过达到其目标的方式查找和呈现用户搜索结果相关。所选择的信息通常必须被组合,用作各种功能的输入,并且相对彼此加权。所有这些动作通常涉及提供商在每一步骤(例如,识别要使用的数据,开发功能以及确定功能的相对权重)的手动干预。作为搜索或匹配算法的一部分以提供与用户查询相匹配的搜索结果的这种加权包括错误或者匹配完整性损坏的风险。操纵匹配权重可能会有意想不到的结果。通过使用查询重写来转换部分或全部用户查询,搜索引擎可以实现防止某些这种意外风险的优化。另外,如上所述,约束可以与查询重写一起使用,以使得能够针对每个用户、针对每个店面、针对每个地理位置或针对其他目标来执行优化。

图6是示出用于对与用户查询相关联的搜索结果进行排名的示例搜索引擎系统600的细节的框图。系统600可以包括模块604、查询前端606、查询节点612和数据库614。查询节点612还可以包含排序模型610集合、项目索引616以及对应于查询602和作为搜索结果返回的项目列表618的排序因子620集合。

这样的系统可以使用可用于将用户查询与数据库项相匹配的一个或多个匹配算法,并且可以用于对用户搜索结果进行排名,将顶端的结果作为搜索结果集合返回给用户的客户端设备。图6示出了对搜索结果进行排名的组件的一个实现。前端606可以从用户接收查询602。然后,前端606可以与查询因式分解模块604通信,以重写查询602并根据查询602生成数据因子。然后可以向查询节点612发送查询简档,查询简档基本上是由重写系统修改并加上所添加的数据因子的用户查询。数据因子的示例可以是基于用户查询中的项以及该项与类别树的类别之间的关联来与用户查询相关联的类别标识符。

在一个示例性实施例中,系统600可以是与诸如系统700的发布平台相关联的电子商务搜索引擎。系统700的平台可以包括大量商户的的店面和针对商户的销售平台。系统700还可以包括拍卖平台、拍卖支付系统和商店店面以及其他电子商务服务。作为所有这些电子商务服务的一部分,系统700可以包括类别树,其用于对通过系统700可出售或拍卖的产品进行分类。这样的类树可以包括标识类别树的顶级,在顶级下的第二级中的广泛类别,例如,电子设备类别、运动器材类别、汽车类别或任何其他这样的类别。这些类别中的每一个可被用作如上所述的qril记录中的约束。每个二级类别可以包括在树中与一个或多个二级类别相关联的一个或多个三级类别。例如,电子设备类别可以具有三级类别,该三级类别包括电视、计算机、智能电话、平板设备以及在类别树中构建在第二级电子设备类别下的其他这样的类别。类别树中的每个底级类别或任何类别可以具有与由类别树分类的可通过系统700销售的产品相关的关联关键字、元数据或其他此类信息。

此外,重写可能不仅具有触发和重写值,而且可以可具有类别重写。类别重写可能会将搜索限制在类别树中的具体类别。例如,qril记录500包括类别重写552。类别重写可以是如下重写:其将基于用户查询的搜索限制为类别树的具体类别,而不是用重写值来替换触发记号。例如,qril记录500可以包括触发“品牌a电视”,其中重写是用于删除记号“电视”并添加类别重写“电子设备/电视”的记号调整重写。因此,当接收到包括“品牌a电视”的用户查询时,与作为搜索引擎的标准化重写集合的一部分的该qrli相关联的重写会将“品牌a电视”重写为诸如“品牌a:类别=电子设备/电视”的查询。搜索引擎将搜索“品牌a”项,但只在类别树中“电子设备”下的“电视”类别中搜索。

当在606中由前端接收到用户查询时,可以将用户查询发送给qfm604以进行查询重写和数据因子生成。qfm604中的查询重写可以使用如上所述的标准化查询重写集合。此外,数据因子生成可以识别与用户查询相关联的类别。例如,与提交用户查询602的用户相关联的历史数据可被用于区分诸如“苹果”之类的模糊的项。这种分类可以与用户查询602相关联,并且被用作基于与查询重写相关联的任何约束的约束信息,作为标准化巴黎重写集合的一部分。另外,如例如在qril记录500中所描述的,根据qril记录生成的查询重写可以包括与上述类别树相关联的类别值。在这样的实施例中,附加查询重写类型可以包括模糊类别重写。模糊类别重写是指qfm604的数据因子生成对关键字、产品或者类别树中与用户查询或任何用户查询中的记号相关联的其他项的使用。因此,qfm604可以包括用于对用户查询602进行分类的一个或多个模块,其然后基于模块内的信息用于动态查询重写。该信息可以包括与商户销售相关联的时间敏感信息、假日销售、与具体商户相关联的用户历史或者可以在数据因子生成中使用的任何其它此类信息,其是模糊类别查询重写的动态输入。

在使用模糊类别查询重写的实施例中,除了可用于系统的所有其他类型的重写之外,系统将包括用于这种类型的重写的冲突规则。在一个实施例中,例如,模糊类别查询重写具有最低优先级,并且仅当用户查询602不存在其他重写时才使用。在某些实施例中,通常不会发生多个模糊查询重写之间的冲突,因为模糊查询重写将是由模糊重写系统生成的单个重写。该单个重写由模糊重写系统基于类别分析或其他分析系统来生成,在该其他分析系统中,重写基于成组的类别关联而不是所定义的从用户查询的记号到重写值的变换。相反,模糊查询重写将基于作为qfm604中的数据因子生成的一部分的查询模糊重写模块内的偏好信息或系统设置。

当模糊查询重写被允许有派生(descendent)或递归查询重写时,模糊查询重写可能会导致问题。例如,模糊查询重写可以将用户查询602的关键词重写为类别树的类别。因此,不是搜索用户查询的记号,而是将针对关键字、产品或与类别树的类别相关联的其他信息来执行搜索。对类别的这种重写还可以允许基于类别内的信息进行查询重写。作为示例,可以通过对“品牌a”的模糊查询重写以及关于“服装、鞋和配饰/男鞋/运动”的相关联类别搜索限制来重写用户查询“品牌a男鞋”。如果系统还包括利用触发“品牌a鞋子”,利用重写值“品牌a”和对类别“服装,鞋子和配饰/男鞋”的类别搜索限制的直接重写,则第二冲突搜索将潜在地包括比第一重写更广泛的结果集合。如上所述,这样的冲突可以通过对重写类型进行优先化来解决,或者通过对将导致更窄的搜索结果集合的重写进行优先化来解决。

可以使用所接收的标准化重写集合(例如由qril处理器140根据qril记录数据库130中的qril记录集合生成的标准化重写142集合)来重写查询。

查询节点612可以向查询简档应用一个或多个排名目标模型610。这样的排名目标模型610可以识别有资格成为具体查询或查询简档的搜索结果的匹配类型。在一个示例中,目标模型也可以用于从数据库614选择搜索结果。数据库614可以返回作为查询602的结果返回的项目列表的搜索索引。

项目索引616可以将原始的所返回项目数据包括到查询节点612,在查询节点612处,项目列表618的列表未排名(例如,无序)。排名数据因子620的集合可以包括针对要由排名目标模型610的集合使用的给定项目列表和查询602的所有数据因子。这些因子可被输入到排名目标模型610中,以产生可在然后呈现给用户的排名结果集合622。在一个示例中,较高排名的项目列表可以比较低排名的项目列表更显著地显示(例如,较高排名的项目列表在呈现给用户的搜索结果的列表中可以比较低排名的项目列表更高。在一个示例中,显著地显示较高排名的列表可以包括使用颜色(例如,变化的背景或前景颜色)、动画或其他视觉装饰(例如,边框、标题等)。

在示例600中,搜索查询可以用于在在线发布系统或市场中出售的项目,但是也可以考虑用户查询数据资源并对结果进行排名和返回的其他示例。系统600的各种组件可以通过软件、硬件或其某种组合来执行。在软件组件的情况下,将理解,执行该软件所需的硬件也将存在。

图7是示出可以与本文描述的实施例一起使用的基于网络的发布系统的框图。图7描绘了可以与各种实施例一起使用的客户端-服务器系统700。例如,可以将搜索引擎160或系统600部署为系统700的一部分。具有基于网络的市场或发布系统的示例形式的联网系统702经由网络704(例如互联网或广域网(wan))向一个或多个客户端提供服务器侧功能。在某些实施例中,商户可以使用诸如上述的操作过程305的注册过程向发布(系统?)注册。这样的商户可以使用系统700向客户端设备呈现店面,包括作为商户店面的一部分提供的搜索引擎操作。然后,商户可以向重写转码器提供重写,该重写转码器生成qril记录,qril记录包括当在系统700上操作时仅应用于商户的店面的约束。客户端设备然后可以向系统700提交搜索查询,并且作为系统700的一部分操作的搜索引擎可以使用根据qril记录生成的标准化查询重写来生成搜索结果并将搜索结果发送给客户端设备。

例如,图7示出了web客户端706(例如浏览器,如由华盛顿州雷德蒙德市的微软公司开发的internetexplorer浏览器)和在各客户端机器710和712上执行的编程客户端708。客户端机器710和712以及第三方服务器730可以向搜索引擎723发送搜索查询,搜索引擎723与市场应用程序720一起操作以向用户提供电子商务服务。搜索引擎723可以使用如上在示例实施例中所描述的标准化查询重写。

应用程序接口(api)服务器714和web服务器716连接到一个或多个应用服务器718,并提供分别到一个或多个应用服务器118的编程和web接口。应用服务器718托管一个或多个市场应用720、支付应用722和搜索引擎723。应用服务器718继而被示出为耦合到一个或多个数据库服务器724,该一个或多个数据库服务器724便于访问一个或多个数据库726。

市场应用720可以向访问联网系统702的用户提供多个市场功能和服务。支付应用722可以类似地向用户提供多个支付服务和功能。支付应用722可以允许用户在账户中累积值(例如流通货币(如美元)或专有货币(如“积分”)),随后用累积的值兑换通过市场应用720可以购买到的产品(例如商品或服务)。虽然在图7中示出了市场应用720和支付应用722都形成联网系统702的一部分,但是将理解,在备选实施例中,支付应用722可以形成与联网系统702分开且远离的支付服务的一部分。

此外,虽然图7所示出的系统700采用客户端-服务器架构,但是本发明当然不限于此种架构,并且可以同样良好地应用于例如分布式或对等架构系统。各种市场和支付应用720和722以及搜索引擎723也可以被实现为不一定具有联网能力的独立的软件程序,或者作为经由网络连接的单独的专用设备。

网络客户端706通过网络服务器716所支持的网络接口访问各个市场应用720和支付应用722。类似地,编程客户端708通过api服务器714所提供的编程接口访问由市场应用720和支付应用722提供的各种服务和功能。例如,编程客户端708可以是卖家应用(例如,由加利福尼亚州圣何塞的ebayinc.开发的turbolister应用),其用于使得卖家能够以离线方式创作和管理联网系统702上的列表,并且执行编程客户端708与联网系统702之间的批处理模式通信。

图7还示出在第三方服务器机器730上执行的第三方应用728,该第三方应用128能够经由api服务器714提供的编程接口对联网系统702进行编程访问。例如,第三方应用728可以利用从联网系统702获取的信息来支持由第三方主管的网站上的一个或多个特征或功能。例如,第三方网站可以提供由联网系统702的相关应用支持的一个或多个促销、市场或支付功能。

图8示出具有计算机系统800的示例形式的机器的示图表示,在所述计算机系统800中,可以执行一组指令以使所述机器执行本文讨论的方法中的任意一个或多个方法。例如,在某些实施例中,查询转码设备120、qril处理器160和搜索引擎160可以各自使用计算机系统800的元件来实现上述专门的计算设备系统和过程。在备选实施例中,机器可以作为独立设备来操作,或者可以连接(例如联网)到其它机器。在联网部署中,机器可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力进行操作,或者作为对等(或分布式)网络环境中的对等机器进行操作。机器可以是服务器计算机、客户端计算机、个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助手(pda)、蜂窝电话、web设备、网络路由器、交换机或桥接器、或能够(顺序地或以其他方式)执行指定要由机器进行的动作的指令集的任何机器。此外,虽然只示出单个机器,但是术语“机器”还应当指包括单独或共同地执行指令集合(或多个集合)以执行本文描述的任意一个或更多个方法的机器的任意集合。

示例计算机系统800包括处理器802(例如中央处理单元(cpu)、图形处理单元(gpu)或这二者)、主存储器804和静态存储器806,它们经由总线808相互通信。计算机系统800还可包括视频显示单元810(例如液晶显示器(lcd)或阴极射线管(crt))。计算机系统800还包括字母数字输入设备812(例如键盘)、光标控制设备814(例如鼠标),磁盘驱动单元816、信号产生设备818(例如扬声器)、以及网络接口设备820。

磁盘驱动器单元816包括在其上存储体现本文所描述的方法或功能中的一个或多个的一组或多组指令和数据结构(例如,软件824)的机器可读介质822。在计算机系统800执行软件824时,软件524还可以完全地或至少部分地位于主存储器804中和/或位于处理器802中,主存储器804和处理器802还构成机器可读介质。

还可以经由网络接口设备820通过网络826发送或接收软件824。

尽管在示例实施例中,机器可读介质822示出为单个介质,但是术语“机器可读介质”应理解为包括存储一个或多个指令集合的单个介质或多个介质(例如,集中或分布式数据库和/或相关联的高速缓存和服务器)。术语“机械可读介质”还应被视为包括能够存储、编码或承载被机器执行、并且使该机器执行本发明的方法中的任意一个或更多个的指令集合的任意介质。术语“机器可读介质”因此应当被视为包括但不限于:固态存储器、光学和磁介质以及信号(例如,电信号或电磁信号)。

因此,已经描述了使用机器学习的搜索结果排名的方法和系统。尽管已经参照特定示例实施例描述了本发明,将显而易见的是:可以在不脱离更宽泛的发明的精神和范围的情况下对这些实施例做出各种修改和改变。因此,说明书和附图应当被看做说明性的而不是限制意义的。

虽然在前述说明书中已经描述了本发明的某些实施例,并且为了说明的目的已经阐述了许多细节,但是对于本领域技术人员显而易见的是,本发明主题容易受到附加的实施例的限制,并且某些在不脱离本发明的基本原理的情况下,本文描述的细节可以相当地变化。

提供摘要以允许读者快速确定本技术公开的性质和要点。应理解,其并不用于解释或限制权利要求的范围或含义。因此,下述权利要求被并入具体实施方式中,每个权利要求作为单独的实施例独立存在。

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