对意图和非意图查询部分的识别的制作方法

文档序号:19734665发布日期:2020-01-18 04:19阅读:240来源:国知局
对意图和非意图查询部分的识别的制作方法

本公开总体上涉及文本处理,并且具体地涉及搜索查询的处理。



背景技术:

随着互联网的使用在全球范围内变得越来越普遍,对信息的查询正成为接入许多基于互联网的服务的中心。例如,互联网用户提交查询以购买他们意图在电子商务(e-commerce)网站上购买的商品。人们在网上购买商品的一个原因是:在线购买被认为更容易并且更快捷。通常,互联网购物者比非互联网购物者更珍惜其时间。因此,可以处理购物者的查询并为购物者快速提供相关结果的电子商务网站将更有可能从该购物者那里获得销售。相反,如果电子商务网站处理购物者的查询,使得该购物者需要花费更多的精力来寻找他们要寻找的商品,则该购物者更有可能转向竞争的电子商务网站。因此,对电子商务查询的正确处理对于从访问电子商务网站的购物者那里获得高比例的潜在收益而言很重要。因此,需要用于查询处理的改进的方法和系统。



技术实现要素:

公开的方法和系统提高了处理查询的能力,以便确定发出查询的用户的意图。例如,该用户可能有意图识别特定类别的商品。对结果的正确类别的识别可以使网络应用能够显示与该用户更相关的查询结果。附加地,在一些方面中,该结果的类别可以是电子商务网站上可用的商品和/或服务的类别。商品和/或服务的类别可以定义该商品/服务的属性。例如,在购买服装时,尺码通常是与购物者相关的属性。相反,尺寸与汽车零件购物者可能较不相关,甚至不合适。代替地,车辆的品牌、型号和年份可能是与汽车零件购物者更相关的属性。因此,通过潜在地实现对查询中包括的属性的识别,对购物者查找的商品或服务的类别的正确识别可以进一步实现改善购物者的易用性。

所公开的方法和系统提高了查询响应系统的能力,将查询结果限制为最可能具有该购物者所查找的商品和/或服务的类别的查询结果。所公开的方法和系统分析经过自动分类的历史查询和预定查询,以确定查询的核心部分和查询的非核心或辅助部分。该查询的非核心或辅助部分不会影响该查询的发出者(例如,电子商务系统上的购物者)查找的商品/服务的类别。换句话说,查询的核心部分揭示了购物者的关于商品和/或服务的类别的意图,而查询的辅助部分则不影响该核心意图。因此,至少在选择响应于该查询而返回的结果的类别方面,这些查询的分类可以仅依赖于核心部分,而有效地忽略查询的非意图或辅助部分。

在一些方面中,通过维持第一查询到类别的第一映射,提供了所公开的方法和系统的改进的分类。当接收到第一查询时,可以过滤来自项目数据库的第一查询的结果,使得仅返回由该映射提供的特定类别的结果。在一些方面中,用户输入的查询必须与第一映射的第一查询精确匹配,以便将该查询的结果自动地过滤为仅在第一映射指定的类别中包括的那些项目。该查询中的附加词语或令牌可以阻止此精确匹配,导致在一些方面中不会对该查询结果进行过滤。

所公开的方法和系统还分析先前查询的历史结果。该历史查询结果可以包括未被自动分类的那些查询。例如,这些历史查询可能未与上述第一映射中的条目匹配,且因此未将这些查询的结果过滤为与第一映射中指定的类别相匹配的项目。因此,这些历史查询提供的结果具有各种类别。然后,该用户可能已经选择了特定类别的结果。该选择可能已被记录在日志文件中或以其他方式记录。根据该信息,可以获得历史查询到发出该查询的用户所查找的项目的第二类别的第二映射。

可以组合第一映射和第二映射来改进查询分类。在高级别上,所公开的方法和系统分析历史查询,以识别包括嵌入式第一查询(该嵌入式第一查询被包括在第一映射中)在内的历史查询。如果特定历史查询的历史结果大致与单独由嵌入式第一查询提供的分类一致,则可以根据该嵌入式第一查询对该历史查询进行分类。

所公开的一个方面是一种对查询结果进行分类的方法。该方法包括:识别查询结果被限制为特定类别的第一查询,识别包括第一查询在内的独特的第二查询,针对每个所识别的第二查询:基于所识别的第二查询和所包括的第一查询来生成模式,确定所识别的第二查询的结果中第一查询的特定类别的排名,并且确定具有与所包括的第一查询的特定类别等价的类别的所识别的第二查询的结果的百分比。该方法还包括:针对匹配模式来汇总排名和百分比;基于满足条件的汇总的排名和百分比来确定第二模式;根据第三查询中包括的第一查询,对与第二模式之一匹配的第三查询进行分类;以及根据该分类来生成第三查询的结果。

在该方法的一些方面中,基于将第一查询映射到其特定类别的数据库来识别该第一查询。该方法的一些方面包括:搜索历史查询数据库以识别独特的第二查询,该历史查询数据库将历史查询映射到各自的类别。在该方法的一些方面中,生成模式包括:生成字符串,该字符串将预定字符串替换为第二查询中的第一查询。在该方法的一些方面中,基于满足条件的汇总的排名和百分比来确定第二模式包括:累积排名第一的匹配模式的百分比,并且响应于该累积的百分比高于阈值,将匹配模式包括在第二模式中。

在该方法的一些方面包括:从第二模式中排除具有少于阈值数目的匹配模式的模式。该方法的一些方面包括从:一个或多个数据库接收第一和第二查询,以及通过网络从客户端设备接收第三查询。在该方法的一些方面中,对第三查询进行分类包括:基于匹配的第二模式,识别第三查询中包括的第一查询,确定第一查询的特定类别;以及将第三查询的结果限制为具有特定类别的项目。在该方法的一些方面中,生成第三查询的结果包括:通过计算机网络向客户端设备发送该限制结果。

在该方法的一些方面中,生成第三查询的结果还包括:基于第三查询和第三查询中包括的第一查询来确定第三查询的类别的属性值;以及进一步将第三查询的结果限制为具有所确定的属性值的项目。在该方法的一些方面中,确定该属性值包括:基于第三查询和第三查询中包括的第一查询来确定辅助令牌;确定与第三查询的类别相关联的一个或多个属性;确定所确定的属性的属性值;基于该辅助令牌来确定一个或多个令牌值;以及响应于该值具有兼容类型,将该令牌值赋予该属性值。在该方法的一些方面中,汇总排名和百分比包括对该排名和百分比的中值求平均或加以确定。

所公开的另一方面是查询结果分类系统。该系统包括一个或多个硬件处理器,被配置为识别具有被限制为特定类别的查询结果的第一查询,识别包括第一查询在内的独特的第二查询,针对每个所识别的第二查询:基于所识别的第二查询和所包括的第一查询来生成模式,确定第二查询的结果中第一查询的特定类别的排名,并且确定具有与所包括的第一查询的特定类别等价的类别的第二查询的结果的百分比;针对匹配模式来汇总该排名和百分比;基于满足条件的汇总的排名和百分比来确定第二模式;根据第三查询中包括的第一查询,对与第二模式之一匹配的第三查询进行分类;以及根据该分类来生成第三查询的结果。在该系统的一些方面中,生成模式包括:生成字符串,该字符串将预定字符串替换为第二查询中的第一查询。在该系统的一些方面中,基于满足条件的汇总的排名和百分比来确定第二模式包括:累积排名第一的匹配模式的百分比,并且响应于该累积的百分比高于阈值,将匹配模式包括在第二模式中。

在该系统的一些方面中,对第三查询进行分类包括:基于匹配的第二模式,识别第三查询中包括的第一查询,确定第一查询的特定类别;以及将第三查询的结果限制为具有特定类别的项目。在该系统的一些方面中,生成第三查询的结果包括:通过计算机网络向客户端设备发送该限制结果。在该系统的一些方面中,生成第三查询的结果还包括:基于第三查询和第三查询中包括的第一查询来确定第三查询的类别的属性值;以及进一步将第三查询的结果限制为具有所确定的属性值的项目。

在该系统的一些方面中,确定该属性值包括:基于第三查询和第三查询中包括的第一查询来确定辅助令牌;确定与第三查询的类别相关联的一个或多个属性;确定所确定的属性的属性值;基于该辅助令牌来确定令牌值;以及响应于该值具有兼容类型,将所述令牌值赋予所述属性值。

所公开的另一方面是一种包括指令在内的非暂时性计算机可读存储介质,该指令在被执行时使处理器执行对查询结果进行分类的方法。该方法包括:识别查询结果被限制为特定类别的第一查询,识别包括第一查询在内的独特的第二查询,针对每个所识别的第二查询:基于所识别的第二查询和所包括的第一查询来生成模式,确定所识别的第二查询的结果中第一查询的特定类别的排名,并且确定具有与所包括的第一查询的特定类别等价的类别的所识别的第二查询的结果的百分比。该方法还包括:针对匹配模式来汇总排名和百分比;基于满足条件的汇总的排名和百分比来确定第二模式;根据第三查询中包括的第一查询,对与第二模式之一匹配的第三查询进行分类;以及根据该分类来生成第三查询的结果。

附图说明

各个附图仅示出了本公开的示例实施例,并且不能被认为限制其范围。

图1示出了示例性数据库分类法。

图2a示出了提供经由网络界面输入的查询的结果的网络界面。

图2b示出了提供经由网络界面输入的第二查询的结果的网络界面。

图3示出了可以在所公开的实施例中使用的多个示例性数据库表。

图4是针对查询集来生成统计信息的方法的流程图。

图5是用于确定查询的最高类别是否与该查询中包括的子查询的自动类别相匹配的流程图。

图6是用于确定模式的分数的过程。

图7是自动查询分类的方法的流程图。

图8示出了上述自动分类增强过程的示例性结果。

图9示出了包括模式在内的查询。

图10示出了示例性数据库表,该数据库表可以在一些方面中被用于实现如上参考图9所述的增强的属性识别。

图11是用于识别查询内的属性的方法的流程图。

图12是改进查询的结果的方法的流程图。

图13是示例性的基于客户端-服务器的架构的框图。

图14是示出了代表性软件架构的框图,该代表性软件架构可以结合本文所描述的各种硬件架构一起使用。

图15是示出了能够执行本文所讨论的方法中的任何一个或多个方法的示例性机器的组件的框图。

具体实施方式

现在将具体参照用于执行本发明主题的具体示例实施例。在附图中示出了这些具体实施例的示例。将会理解,这些示例不旨在将权利要求的范围限制为所示实施例。相反,它们旨在涵盖本公开的范围内可能包括的备选方案、修改和等价物。在以下描述中,阐述了具体细节,以提供对本主题的透彻理解。在没有这些具体细节中的一部分或全部的情况下,实施例也可以被实现。

图1示出了示例性数据库分类法。分类法100包括被称为“所有类别”在内的根级别105。在根级别105内,类别110形成分类的第一级别。每个类别110可以包括一个或多个子类别115。例如,服装、汽车和电子产品是示例性分类法100中的类别110。零件、轿车和卡车、电视、计算机、电话、立体声和照相机是示例性分类法100中的子类别115,因为每个子类别115仅适用于单个类别110中的项目。相反,分类法100还包括用于零件子类别120a的属性130a、用于轿车和卡车子类别120b的属性130b以及用于计算机子类别120c的属性130c。

所公开的方法和系统可以提供对查询响应系统接收的查询的结果进行自动分类的改进的能力。例如,当接收到查询时,所公开的方法和系统可以增强用于提供该查询在单个类别110或子类别115内的结果的能力。对特定类别的结果的这种过滤被设计为向用户提供查询结果,该查询结果与他们经由该查询查找的项目更加相关。尽管类别110和子类别115在图1中被示为是不同的,但是为了理解所公开的实施例的目的,可以认为对术语“类别”或“子类别”的使用是等价的。例如,可以认为在以下方法和系统的描述中引用类别包括在一些方面对子类别的引用。

所公开的方法和系统还提供附加优点。在一些方面中,这些方法和系统可以增强对所接收的查询内的特定类别110或子类别115的属性130的自动识别。通过识别查询中包括的类别属性130,该查询的结果可以进一步被限制为具有所识别的属性的项目。通过用户提交查询,进一步将该查询的结果定位到那些特别感兴趣的结果。查询结果越准,顾客对查询搜索过程的满意级别就越高。这可以使查询响应系统的运营商和/或其商业伙伴实现附加的收益。

图2a示出了提供经由网络界面200输入的查询210的结果205的网络界面200。查询210包括词语“iphone6手机壳”。图2a所示的结果205证明“手机壳、保护套和外皮”的子类别115是由实现网络界面200的查询响应系统基于查询210来识别的。网络界面200显示子类别115在“手机配件”的类别110内。因此,图2a示出了仅基于查询210的自动查询分类的实施例,该自动查询分类提供将查询结果过滤为具有特定类别的查询结果。在一些方面中,所公开的方法和系统可以经由自动分类数据库来实现该自动查询分类,该自动分类数据库将特定查询映射到特定类别。如果用户请求输入为查询210的查询,则如果该查询作为一个整体被包括在自动查询分类数据库中,则该查询的结果可以被过滤或限制为与由该自动分类数据库指示的类别相匹配的那些结果。然而,当例如在查询中包括附加术语时,图2a中所示的自动分类可能会遇到挑战,从而使得用户输入的查询与该自动分类数据库中的查询不匹配,如以下参考图2b所示。

图2b示出了提供经由网络界面200输入的第二查询的结果的网络界面200。查询230包括来自查询210“iphone6手机壳”的词语230a,但还包括附加术语230b“玫瑰金”。图2b示出了当附加术语230b被包括在查询230中时,提供网络界面200的电子商务系统没有识别出用户查找的类别110或子类别115(例如,如图1所示)。取而代之地,网络界面200提供的结果的类别在更宽泛的类别105“所有类别”中,且因此与图2a中提供的结果相比,与用户意图的相关性可能较小。

对于图2a和图2b的查询之间的不同结果的一种解释可以是:图2a的查询210可能已经发生得足够频繁,使得查询210和子类别115之间存在高统计相关性。可以通过与查询210匹配的大量历史查询样本以及指示发出查询210的用户对子类别115感兴趣的相应先前结果来建立这种高相关性。相对地,与查询210相比,图2b的查询230可能较不频繁地执行。在一些情况下,查询230的历史使用量可以具有小于阈值的量,使得即使输入查询230的用户的购物意图类似于输入查询210的用户的购物意图,实现网络界面200的系统也无法建立查询230与类别110或子类别115之间的相关性。

通过将自动分类数据库与根据历史查询所获得的其他数据以及让发出这些历史查询的用户感兴趣的历史结果相关,所公开的一些实现方式可以经由以上参考图2a所讨论的自动分类数据库来扩展对查询结果进行分类的能力。在一些方面中,可以通过与那些结果有关的点击数据(clickthroughdata)来指示曾感兴趣的历史查询的结果。

所公开的方法和系统使查询响应系统能够提供示例性网络界面200中所示的查询结果,以识别查询的核心部分(即,在此示例中为查询的一部分230a),并且识别查询的辅助部分230b。对核心部分230a和辅助部分230b的识别可以促进对查询结果的更精确的分类,改进用户体验并最终为该查询结果的提供者提供增加的收益。

图3示出了可以在所公开的实施例中使用的多个示例性数据库表。将以下参考图3所描述的示例性数据库表作为示例呈现,并且不将所公开的实施例限制为所描述的示例实现。此外,尽管以下每个表都以示例性的列集合进行描述,但是所公开的方法和系统不限于仅利用那些列或所有那些列的实现。各个方面可以包括比以下描述的列更多或更少的数据列。

图3示出了自动分类数据库300、历史查询数据库330、查询统计数据库360、类别匹配数据库375、模式数据库390和库存项目数据库395。

自动分类数据库300包括查询id列301。自动分类数据库300还包括查询列302和自动查询列304。查询id列301是查询302的唯一标识符。自动分类数据库300指示针对以下讨论的项目数据库390的查询302,可以针对查询302来自动提供特定类别304的查询结果。换句话说,在一些方面中,当接收到针对项目数据库390的查询302时,查询响应系统可以在没有其他人工输入的情况下仅提供类别304的查询结果。可以从库存项目数据库395获得查询结果,下文将进一步讨论。

历史查询数据库330包括先前由查询响应系统接收的查询332。历史查询数据库330还包括从过去查询332的结果中选择的项目(例如,商品或服务)的结果类别364。例如,在一些方面中,历史查询数据库330可以是根据查询响应系统(例如,电子商务系统)的日志文件来生成的。日志文件可以捕捉由电子商务系统的用户键入或以其他方式输入的查询。这些查询可被存储在过去查询字段332中。

查询响应系统还可以记录针对过去查询332的查询结果的选择操作。例如,由于过去查询332可能不会导致对查询结果的自动分类,因此可以在过去查询332的结果列表中提供多个类别的结果。在一些方面中,在查看这些结果之后,发出过去查询332的用户可以点击特定类别的一个或多个结果。在一些方面中可以利用该点击数据来指示其过去查询332旨在识别特定类别的项目。该特定类别可被存储在结果类别列334中。

在一些方面中,可以基于自动分类数据库300和历史查询数据库330来生成查询统计数据库360。在一些方面中,过去查询332的一部分包括来自自动分类数据库300的查询302,查询302作为过去查询332的子串或子查询。这些过去查询332可以在查询统计数据库360中具有一行,并且等价于查询362。

在一些方面中,来自历史查询数据库330的多个过去查询332包括与子串相同的查询302。如果这些多个过去查询332导致不同的结果类别334,则查询统计数据库360中可能存在针对同一查询332的多个条目。尽管数据库330包括每个过去查询的行,但是数据库360包括每个独特的类别334/364的行,每个独特的类别334/364由每个独特的过去查询332导致,过去查询332包括作为子串的查询302。子查询id列301存储用于自动分类数据库330的查询302的标识符301,标识符301作为子查询被包括在查询362中。

结果类别列364存储查询362的结果类别,类似于过去查询332的结果类别334。

通过将查询362的与所包括的查询301相匹配的子查询301部分替换为通用或公共字符串(本文也称为占位符),来生成模式列366中存储的值。例如,如果查询302的示例性值是“庞蒂亚克gto”,而查询362的示例性值是“庞蒂亚克gto法官”,则在一些方面中,模式366可以是“<查询>法官”。在此示例中,“<查询>”是占位符。

计数列368对与查询362等价并具有结果类别364的过去查询332的数量进行计数。

百分比列370存储历史查询数据库330中与查询362匹配的过去查询332总数的百分比,并导致结果类别364。

可以在针对至少独特查询362值来生成所有计数条目368之后生成排名列372。对于查询统计数据库360的具有等价查询362值的行,排名列372指示计数字段368中的值相对于其他计数字段368中的其他值的顺序排名。

图3还示出了最高类别匹配数据库375。最高类别匹配数据库375存储查询380。查询380可以等价于查询统计数据库360中存储的查询362。最高类别匹配列382指示查询380最高结果类别是否与查询380中包括的子查询的自动应用类别相匹配。例如,查询380可以包括来自自动分类数据库300的查询302。查询302具有关联的自动类别304。列382反映了:当排名列372等价于一(1)时,用于子查询382/查询302的自动类别304是否与和查询380等价的查询362的结果类别364相匹配。

图3还示出了模式数据库390。模式数据库390包括模式列392和分数列394。模式数据库390在排名列372中存储具有排名一(1)的模式366。分数列394基于查询统计数据库360中包括的模式366的所有条目来存储汇总分数。

图3还示出了示例性项目数据库395。项目数据库395在列399中存储项目信息396和该项目的类别。在一些实施例中,本文讨论的查询可以从项目数据库395中查询信息。项目数据库395中的每个项目包括如图1的分类法100所示的类别110和/或子类别115。也如图1的示例性分类法所示,项目数据库395中的项目还可以可选地包括一个或多个属性。

图4是针对查询集来生成统计信息的方法的流程图。如以下参考图4所讨论的,由过程400生成的查询统计信息可以用于确定如何对查询集的一些部分的结果进行分类。在一些方面中,以下参考图4所讨论的一个或多个功能可以由一个或多个硬件处理器来执行。例如,在一些方面中,硬件存储器1410(以下讨论)中存储的指令1408(以下讨论)可以配置一个或多个硬件处理器(以下讨论的1406)以执行以下参考图4所讨论的一个或多个功能。在一些方面中,查询分类器1345中的指令可以配置一个或多个硬件处理器1406以执行以下参考图4所讨论的功能中的一个或多个。

在方框402中,接收新的历史查询(hq)。在一些方面中,如以上参考图3所讨论的,从历史查询数据库330接收hq。因为历史查询数据库330可以在过去查询字段332中包括重复的查询,所以方框402可以对这些查询进行去重。换句话说,如果查询先前已被处理过,则在一些方面中,在方框402中可以不再次对其进行处理。在一些方面中,方框402可以跳过先前已经被处理的查询332。

在方框404中,接收或获得自动分类查询(acq)。在一些方面中,方框404的acq是从数据库300获得的,并且具体地是从以上参考图3所讨论的查询列302获得的。

判定框406确定在方框404中接收的acq是否被包括在方框402中所接收的历史查询(hq)或者其子集中。例如,如果历史查询是“玫瑰金iphone手机壳”,并且自动分类查询(acq)是“iphone手机壳”,则判定框406将确定acq包含在历史查询(hq)或者其子集中。在这种情况下,过程400移至方框408,其通过在历史查询(hq)中用通用条目替换acq来生成模式。例如,方框408可以通过将“iphone手机壳”的acq替换为通用<查询>来生成模式“玫瑰金<查询>”。在一些方面中,方框406可以将行插入查询统计数据库360中,将所生成的模式记录到模式列366中。

在方框410中,确定历史数据库中与方框402的hq等价并且包括与方框404的acq等价的结果类别334在内的查询的数量。方框410还可以将条目写入查询统计数据库360中,例如,将所确定的数目记录在计数列368中。在一些方面中,方框410还可以对查询hq导致每个独特的类别334的次数进行计数。该信息也可以被存储在计数列368中的查询统计数据库360中。因此,例如,如果历史查询数据库中的查询hq导致五个独特的结果类别334,则方框410可以设置查询统计数据库360的五行,每个独特的结果类别一行。

方框412可以对历史数据库330中具有与方框402中接收的hq等价的过去查询列332的查询的总数进行计数。该信息可以用于确定具有acq类别作为结果类别364的查询hq的百分比。例如,在一些方面中,在方框410中确定的值除以在方框412中确定的查询总数可以提供该百分比。例如,在列370中,该百分比还可以被写入查询统计数据库360。

判定框414确定自动查询数据库300中是否存在附加的acq查询。如果存在,则过程400返回方框402,并且针对相同的hq评估下一个acq查询。

如果没有更多的acq查询剩余,则过程400还可以确定查询统计数据库360的每一行的排名信息。例如,可以对独特的历史查询的每一行的计数列368中的值进行排名,并且将该排名存储在排名列372中。因此,查询统计数据库360中具有最大计数列368的行可以在排名列372中以一(1)的值进行排名。第二最大计数列368可以在排名列372中以二(2)的值进行排名,依此类推。

在将所有acq查询与历史查询进行比较之后,过程400移至方框416,该方框评估在历史查询数据库330中是否还剩有附加的独特历史查询。如果还剩有附加的历史查询待评估,则过程400返回到方框402。否则,过程400继续。

在一方面中,过程400的结果是如图3所示的查询统计数据库360。

图5是用于确定历史查询的(例如,332)最频繁指示的历史类别(例如,334)是否等价于历史查询(例如,332)中包括的子查询(例如,302)的类别(例如,304)的流程图。如果发出历史查询的用户对具有与嵌入式查询对齐的类别的查询结果表现出兴趣(例如,经由选择),则这可以指示查询中包括的附加信息(即,查询的“核心”部分中所不包括的辅助信息)不会影响兴趣类别。因此,在这种情况下,所公开的方法和系统可以在某些条件下确定应将来自历史查询的结果过滤为由嵌入式查询所提供的类别的结果。以下参考图5所讨论的过程500通过确定历史查询的最频繁的兴趣类别(例如,334)是否等价于嵌入式查询的(例如,302)类别(例如,304)来支持该确定。

在一些方面中,以下参考图5所讨论的一个或多个功能可以由一个或多个硬件处理器来执行。例如,在一些方面中,硬件存储器1410(以下讨论)中存储的指令1408(以下讨论)可以配置一个或多个硬件处理器(以下讨论的1406)以执行以下参考图5所讨论的一个或多个功能。在一些方面中,查询分类器1345中的指令可以配置一个或多个硬件处理器1406以执行以下参考图5所讨论的功能中的一个或多个。

在方框510中,获得包括自动分类查询在内的查询。在一些方面中,该查询可以从查询统计数据库360获得,并且具体地从列362获得。

方框520确定查询362最高类别。在一些方面中,方框520可以扫描查询统计数据库360的行以识别与方框510的查询相匹配的行。方框520还可以计算每个独特的结果类别(例如,334)的出现次数。如由具有最大计数的结果类别(例如,最高计数列368)所指示的,最多的结果类别(例如,334)可以由方框520确定。在一些方面中,图4的方框410可以执行上述计数功能中的至少一些。例如,在一些方面中,方框410可以初始化查询统计数据库360的计数列368,并且方框520可以依赖于查询统计数据库360中的计数信息来确定最高类别。

方框530确定方框510的查询中包括的子查询的自动类别。在一些方面中,这可以通过针对经由子查询id字段301所识别的子查询(302)咨询自动分类数据库来确定。在一些方面中,与查询302相关联的自动类别304可以是由方框530确定的自动类别。

判定框540确定在方框530中确定的类别是否与在方框520中确定的类别相匹配。如果类别等价,则在方框550中记录该匹配。如果它们不匹配,则在方框560中记录匹配失败。在一些方面中,可以将方框550和方框560中的结果记录在匹配数据库375的列382中。

如果在判定框570中还有附加查询要处理,则过程500返回方框510。

图6是用于确定模式的分数的过程。在一些方面中,以下参考图6所讨论的过程600可以与以上分别参考图4和图5所讨论的过程400和过程500结合工作。例如,过程400可以生成查询统计信息,该统计信息可用于支持过程500中的进一步确定,例如如上所述,确定查询的最频繁的结果类别是否与嵌入式子查询的类别对齐。一旦经由过程400和/或过程500来生成查询等级统计信息,则可以由过程600来确定模式等级统计信息。例如,作为过程400和过程500的统计收集的一部分,可以确定历史类别内的模式。例如,一个历史查询可以是“红色iphone”,而另一个可以是“红色科尔维特”。这两个非常不同的查询可以共享共同的模式,即“红色<查询>”。过程500回答关于以下内容的问题:这些查询中的每一个查询的结果在被分别考虑时是否与嵌入式子查询的类别(即,“iphone”或“科尔维特”)不同。过程600确定在这方面中特定模式(例如,红色<查询>)是否一致。通过识别在相当不同的历史查询中出现的模式内的一致性,过程600可以理解查询的核心部分和查询的辅助部分,其中,核心部分可以影响查询发出者感兴趣的项目类别,而辅助部分通常不影响兴趣类别。

在一些方面中,以下参考图6所讨论的一个或多个功能可以由一个或多个硬件处理器来执行。例如,在一些方面中,硬件存储器1410(以下讨论)中存储的指令1408(以下讨论)可以配置一个或多个硬件处理器(以下讨论的1406)以执行以下参考图6所讨论的一个或多个功能。在一些方面中,查询分类器1345中的指令可以配置一个或多个硬件处理器1406以执行以下参考图6所讨论的功能中的一个或多个。

在方框610中,获得模式。在一些方面中,该模式可以与查询362相关联,查询362包括有资格进行自动分类的查询302(在一些方面中,该查询经由子查询id列301来识别)。在一些方面中,可以从查询统计数据库360的模式列366获得该模式。

在方框620中,在该模式的排名为一(1)的情况下,汇总该模式的结果。换句话说,方框620寻求确定与该模式匹配的查询具有与其嵌入的子查询相同的期望结果的频率。为了确定这一点,在一些方面中,汇总了查询统计数据库360中具有与模式610等价的模式列366并且在排名列372中的排名值是一(1)的行。在一些方面中,汇总结果可以包括对各结果求平均或确定各结果的中值。例如,首先,可以识别查询统计数据库360中具有等价模式列366的行。这些模式是方框610的模式。然后,在一些方面中,可以确定查询统计数据库360的这些行的百分比列370的平均值,这些行具有等价于一(1)的排名列372。在其他方面中,可以确定百分比列370的中值。

在方框630中,存储汇总结果。在一些方面中,该结果可被存储在模式数据库390中,例如,被存储在方框610中确定的模式380的分数列382中。

如果在方框640中有附加模式需要分析,则过程600返回方框610。否则,过程600移至方框650。在方框650中,识别分数高于阈值的模式。然后记录对该模式质量的查询,以进行自动分类。例如,如果模式“红色<查询>”的分数高于阈值,则将根据<查询>中包括的字符串对匹配该模式的查询自动进行分类。

图7是自动查询分类的方法的流程图。在一些方面中,以下参考图7所讨论的一个或多个功能可以由一个或多个硬件处理器来执行。例如,在一些方面中,硬件存储器1410(以下讨论)中存储的指令1408(以下讨论)可以配置一个或多个硬件处理器(以下讨论的1406)以执行以下参考图7所讨论的一个或多个功能。在一些方面中,查询分类器1345中的指令可以配置一个或多个硬件处理器1406以执行以下参考图7所讨论的功能中的一个或多个。

在方框710中,接收查询(q)以进行分类。在一些方面中,可以从网络接收查询(q)。例如,该查询可以经由基于网络的用户界面来输入,并且经由计算机网络(例如,互联网)向网络应用传输。在一些其他方面中,可以将该查询输入到移动应用中,例如,在苹果iphone或android设备上运行的移动应用。移动应用可以至少部分地通过无线网络向网络应用(例如,以下讨论的查询分类器845)发送该查询。该查询可以包括多个词语和/或令牌。可以在该查询中以特定顺序来提供词语或令牌。词语可以被分组为不同的组合以形成该查询的部分。在一些情况下,分组的单词可以形成子查询。在一些方面中,该子查询可以形成以上参考图3所讨论的自动分类数据库300的查询302。

判定框720确定该查询是否被包括在可以被自动分类的查询的列表中。在方框720的一些方面中,该查询被认为作为完整单元来进行自动分类。换句话说,将该查询的所有词语和/或令牌与可以自动分类的查询的预先存在的列表进行比较。在一些方面中,方框720可以将q的部分(例如,以上讨论的词语或令牌的组)与自动分类数据库300中存储的查询集进行比较,如上所述,自动分类数据库300存储查询302到查询302的自动类别304的映射。如果该查询(例如,作为整体)需要经过自动分类,则过程700移至方框725,并且对该查询进行自动分类。在一些方面中,方框725包括:将该查询的搜索结果的集合过滤为满足与查询q相关联的自动类别的那些结果。例如,在一些方面中,可以对该搜索结果进行过滤以仅包括与自动分类数据库300中的类别304相匹配的那些结果。方框725的一些方面可以包括通过网络来发送经分类的搜索结果以被显示为查询q的搜索结果。在一些方面中,可以在网络用户界面或胖客户端应用(例如,在例如设备上运行的移动应用)的界面中呈现该结果。

如果判定框720确定查询q总体上没有资格进行自动分类,则过程700移至判定框730,判定框730确定查询q是否包括要经过自动分类的模式。例如,在一些方面中,方框720可以确定查询q是否与模式数据库390中存储的模式相匹配。在一些方面中,方框720可以确定模式数据库390中具有满足条件的分数的任何模式是否与该查询相匹配。如果没有找到匹配,则过程700移至方框735,在方框735中,不执行查询的自动分类。在一些方面中,用于查询的搜索结果可以不被过滤到特定类别,并且可以在查询结果的列表中提供搜索结果的多个分类。如以上关于方框725所讨论的,可以在计算机网络上发送这些结果以在基于网络的界面或胖客户端应用中显示。

如果找到模式匹配,则过程700移至方框740,方框740基于该模式从查询中提取子查询。例如,如果查询是“玫瑰金iphone手机壳”,并且模式是“玫瑰金<查询>”,则方框740从查询q中提取“iphone手机壳”。

在方框750中,基于所提取的子查询的类别来过滤查询q的结果。例如,可以根据所提取的查询“iphone手机壳”对查询“玫瑰金iphone手机壳”进行分类。在一些方面中,方框750可以利用自动分类数据库300来确定类别。例如,在一些方面中,自动分类数据库300可以将用于查询302“iphone手机壳”的类别存储为“iphone手机壳”。然后可以过滤查询“玫瑰金iphone手机壳”的查询结果的集合,以仅包括“iphone手机壳”类别中的那些结果。

图8示出了上述自动分类增强过程的示例性结果。图8示出了表格802,该表格802示出了用于各个区域的自动类别的先前数量804、在针对各个区域应用以上公开的方法之后自动类别的更多数量806、以及针对各个区域的结果百分比增加806。

如图8所示,通过应用以上公开的方法,有资格进行自动分类的查询的数量增加了百分之六十三(63)至百分之109。这种增加为实现这些方法的查询响应系统的运营商提供了改进的用户体验和更高的收益。

一旦增强了查询响应系统的能力,使其能够识别查询的核心分量和查询的辅助分量(例如,以上参考图2b所讨论的核心分量(查询)230a和辅助分量230b),则可以通过对辅助部分230b的进一步分析来获得额外的好处。图9在高等级上演示了如何可以在辅助部分230b中识别属性,进一步增强查询响应系统将查询结果限制或过滤为让提交查询的用户特别感兴趣的那些结果的能力。

图9示出了包括如上所讨论的模式在内的查询902。查询902包括查询302以及令牌“黄色”904a和“10”904b。如图所示,所公开的方法和系统可以识别这些所示出的附加令牌904a~904b或词语中的每一个。

然后,所公开的方法和系统可以将查询902中的零个或更多个附加令牌904a和904b映射到结构化数据。例如,图9示出了第一令牌“黄色”904a已经被映射到颜色属性130,颜色属性130具有与第一令牌904a相匹配的值“黄色”。第二令牌“10”904b已经被映射到尺寸属性130,尺寸属性130具有与第二令牌904b相匹配的可能值“10”。该过程的非正式结果910在图9中示出。图9示出了可以将在查询902中识别出的附加属性用于进一步限制查询902的结果。例如,在图9所示的示例中,该结果可以被限制为具有与查询302的类别等价的类别并且具有黄色和尺寸10的属性的项目396。

图10示出了示例性数据库表,该数据库表可以在一些方面中用于实现如上参考图9所述的增强的属性识别。图10示出了属性数据库1000、属性值数据库1020。属性数据库1000包括类别列1002、属性id1004和属性友好名称1104。

属性值数据库1020包括属性标识符1104和经由属性标识符1004识别出的属性的可能值。在一些实施例中,如果属性可以具有多个枚举值(例如,颜色)之一,则对于相同的属性id1004,在属性值数据库1020中可以存在多个条目。在一些方面中,值列1024可以指示属性1004的值的数值范围。

图11是用于识别查询内的属性的方法的流程图。如本文所讨论的,识别查询内的模式的一个好处是:它提供了用于将查询的核心部分和辅助部分加以分离的机制。查询的核心部分可以指示查询的发出者查找的项目类别。例如,如以上参考图8的方框408所讨论的,查询的核心部分可以是替换预定字符串的部分。核心部分可以是查询中与自动分类数据库中的查询相匹配的部分。

查询的辅助部分可以是非核心部分。查询的辅助部分可以指示项目的其他属性(非类别),例如,项目的颜色、尺寸或特定品牌。项目的每个类别可以具有适用于该类别的项目的独特属性集合。例如,如以上参考图1所讨论的,计算机的属性可以不同于汽车部件的属性。下文描述的过程1100通过分析查询的辅助非核心部分以获取对属性值的指示来识别这些属性的值。通过向用户提供不仅被适当类别过滤的结果,而且还向与用户在查询中指定的属性相匹配的那些项目提供结果,可以提高用户满意度,并且可以增强实现这些技术的查询响应系统的收益。

在一些方面中,以下参考图11所讨论的一个或多个功能可以由一个或多个硬件处理器来执行。例如,在一些方面中,硬件存储器1410(以下讨论)中存储的指令1408(以下讨论)可以配置一个或多个硬件处理器(以下讨论的1406)以执行以下参考图11所讨论的一个或多个功能。在一些方面中,查询分类器1345中的指令可以配置一个或多个硬件处理器1406以执行以下参考图11所讨论的功能中的一个或多个。

在方框1105中,接收查询。如上所讨论的,可以从网络接收查询。例如,查询可被输入到基于网络的界面中,并通过网络向服务器或服务器集合发送。在方框1105中,服务器之一可以接收查询。备选地,可以将查询输入到胖客户端应用中。例如,microsoftwindows应用或在移动设备(例如,iphone或android设备)上运行的应用。然后,胖应用可以向网络应用发送包括该查询在内的网络消息。

在方框1110中,识别查询的模式和非模式分量。方框1110可以以与以上讨论的过程400的部分相似的方式操作。例如,方框1110可以包括关于方框404、406、408和414所描述的一个或多个功能。换句话说,在一些方面中,方框1110可以在自动分类数据库300中搜索在方框1105中接收的查询内包括的查询302。查询302部分可以是模式分量,且在方框1105中接收的查询的其余部分是非模式分量。参考图2b,查询部分230a可以被认为是模式分量的示例,而查询部分230b可以被认为是示例性非模式分量。

方框1115确定模式分量的类别。在一些方面中,可以通过咨询将查询映射到类别的数据存储来确定类别。例如,在一些方面中,方框1115可以在自动分类数据库300中搜索与模式分量等价的查询302。然后,在这些方面中,方框1115将模式分量的类别确定为查询302的对应类别304。

方框1118基于该查询的非模式分量来确定一个或多个令牌值。例如,在一些方面中,方框1118可以扫描查询的辅助或非模式分量以确定在非模式分量中存在的令牌。然后可以确定那些令牌的值。作为一个示例,如果查询是“玫瑰金iphone手机壳”,则模式分量可以是“iphone手机壳”,因为该部分可以与自动分类数据库中的查询匹配。该查询的非核心或非模式分量可以包括“玫瑰金”。因此,在这种情况下,值框1118可以确定为“玫瑰”和“金”。

然后,方框1120确定非模式分量中包括的任何令牌是否与方框1115中确定的类别的属性值相匹配。例如,在一些方面中,方框1120可以在属性数据库1000中搜索在方框1115中确定的类别。在一些示例实施例中,可以搜索数据库1000的类别110和子类别115列中的一个或多个。该查询中的一个或多个令牌可以匹配或可以不匹配方框1115的类别的一个或多个属性名称值1004。可以通过咨询属性值数据库1020来确定所识别的属性1004的可能值1024。在一些方面中,方框1120可以确定非模式分量中包括的任何令牌是否具有与该类别的属性类型兼容的类型。例如,颜色属性可以允许与有限字符串集相对应的值,例如,“红色”、“蓝色”等。方框1120可以确定由查询所提供的属性值是否与类别属性的可能值兼容。

判定框1125确定查询内的任何令牌是否是该类别的属性值的唯一匹配。例如,令牌“金”可以仅与颜色属性的值匹配。相对地,在一些方面中,属性值“10”可以是多个属性的可接受值。如果该匹配是唯一的,则过程1100移至方框1140,方框1140将查询q的结果过滤为与在方框1120中标识的类别和属性值相匹配的那些结果。在对该结果进行过滤之后,如上所讨论的,可以将它们通过网络向网络界面或胖客户端应用发送。

图12是改进查询结果的方法的流程图。在一些方面中,以下参考图12所讨论的过程1200识别查询的一部分,该部分揭示了查询发出者关于感兴趣的项目的类别的意图。该查询的一些部分针对该意图,而该查询的其他部分可能至少在商品类别方面未指示该意图。因此,可以基于所确定的意图来对该查询的结果进行分类,而可以将非意图修饰部分不用于对查询的结果进行分类。

以下参考图12所讨论的一个或多个功能可以由一个或多个电子硬件处理器来执行。例如,如以下参考图13~图15所讨论的,在一些方面中,查询分类器1345中包括的指令(例如,指令1408)可以配置一个或多个处理单元1406以执行以下参考图12所讨论的功能。在一些方面中,过程1200可以包括以上参考图4、图5、图6、图7或图11所讨论的任何过程400、500、600、700或1100中的一个或多个功能,或与之结合工作。

在方框1205中,识别一个或多个第一查询。每个第一查询被指定为具有被限制为特定类别的结果。例如,如上所讨论的,在一些方面中,自动分类数据库可以存储可以被自动分类为特定类别304的查询302。该查询可以在项目数据库上执行,例如,以上图3中所示的项目数据库395。该项目数据库可以将单独的项目396映射到对应的类别399。当对查询(例如,第一查询)进行“分类”时,来自项目数据库395的查询结果可以被过滤以仅包括查询类别内的那些结果。

在方框1210中,识别包括第一查询在内的独特的第二查询。在一些方面中,可以从历史查询数据库中读取方框1210的第二查询,历史查询数据库的示例在图3中被示为历史查询数据库330。该历史查询数据库将先前的查询332映射到从那些查询的结果中选择的类别的指示。如上所讨论的,查询响应系统可以记录对查询结果的选择,并标注所选项目的类别。根据该信息,可以在查询与查询通常期望的类别334的类型之间进行推断。如图3所示,该历史查询数据库将这些历史类别332映射到从查询332结果中选择的类别334。因为历史查询数据库330在一些方面中包括先前输入的查询的运行列表,所以一些查询332可以被重复。因此,方框1210识别这些重复的查询以关注于该历史查询数据库中的独特查询。这使得可以正确确定以下讨论的查询统计信息。

方框1215~1235对在方框1210中识别的独特的第二查询进行迭代。例如,方框1215识别所识别的第二查询之一。在方框1220中,基于第二查询和第二查询中包括的第一查询来生成模式。在一些方面中,第二查询中包括的第一查询被预定的字符串或占位符代替,以促进以下讨论的模式的匹配。例如,如果第一查询是“iphone手机壳”,而第二查询是“玫瑰金iphone手机壳”,则模式可以是“玫瑰金<查询>”,其中,字符串“<查询>”为预定字符串或者占位符。所使用的特定占位符串不是特别重要,并且在不脱离所公开的方法和系统的精神的情况下,在这方面各方面可以变化。模式的占位符部分可以表示查询中指示查询发出者的意图的部分。其他部分或辅助部分可能不会影响该意图。

在方框1225中,在(第二查询中包括的)第一查询(例如,302)特定类别(例如,304)和第二查询(例如,332)的类别结果(例如,334)之间确定第一关系。在一些方面中,第一关系可以是结果中具有特定类别的普通排名。例如,在一些方面中,方框1220可以确定为历史查询数据库中的独特查询所指示的独特类别的数量。然后可以确定每个独特类别内的结果数量的计数。然后,方框1220可以通过它们各自的计数对每个独特类别进行排名。在一些方面中,方框1220确定第一查询特定类别在该排名中位于何处。在一些方面中,可以确定其他第一关系。例如,在一些方面中,方框1220可以确定与第一查询的特定类别等价的第二查询的结果的百分比。

在方框1230中,在独特的第二查询的总数(例如,历史查询数据库330中的独特332)和具有与所包括的第一查询(例如,302)的特定类别(例如304)等价的类别的结果(例如,334)之间确定第二关系。在一些方面中,方框1230确定第二查询(例如,334)的结果与第二查询(例如,332)中包括的第一查询(例如,304)的特定类别相匹配的百分比。

如果历史查询数据库中存在附加的独特第二查询,则判定框1235将处理转移回方框1215,在框1215中,如上所述处理附加的独特第二查询。以上参考图4所讨论的过程400描述了确定方框1225和/或1230的关系的一个示例性实施例。

否则,方框1240在方框1220中生成的匹配模式上汇总在方框1225和1240中确定的关系。因此,例如,如果一个独特的第二查询是“玫瑰金iphone手机壳”,而另一个是“玫瑰金科尔维特”,则这两个第二查询可能会分别导致诸如“玫瑰金<查询>”和“玫瑰金<查询”之类的模式。本示例假设第一查询包括“iphone手机壳”和“科尔维特”。这两个模式将在方框1240中匹配,并且在方框1220和1230中确定的关系被分别汇总。在一些方面中,汇总包括求平均或确定中值。在一些方面中,但不是全部方面中,求平均可以是加权平均值。

方框1245基于在方框1240中确定的汇总关系来确定满足条件的第二模式。例如,在一些方面中,可以从第二模式中排除出现次数少于最小阈值的模式。例如,如果在方框1220中生成的与“玫瑰金<查询>”等价的模式的数量低于阈值,则可以将该模式从第二模式中排除。

在一些方面中,方框1245可以确定相对于方框1225中确定的关系来说排名第一的匹配模式。如果模式的结果(例如,334)与高于阈值出现百分比的嵌入的第一查询(例如,302)的结果(例如,304)一致,则该模式可被包括在第二模式中。

在方框1250中,基于第二模式来确定第三查询的结果。在一些方面中,可以针对项目数据库(例如,项目数据库390)来运行第三查询。方框1250可以确定第三查询是否被包括在以上参考图3所讨论的自动分类数据库(例如,自动分类数据库300)中。如果存在第三查询(例如,等价于查询302),则来自项目数据库(例如,390)的第三查询的结果可以被过滤以仅包括具有由自动分类数据库(例如,300)定义的自动类别(例如,第三查询的304=结果的列399)的那些结果。

否则,方框1250可以确定第三查询是否与任何第二模式相匹配。如上所讨论的,模式可以由通用占位符(例如,“<查询>”)以及其他辅助术语组成。第二模式的占位符部分可以指示查询发出者关于所查找的结果的类别的真实意图。模式的辅助部分可能不会影响该意图。当模式和查询共享辅助部分时,查询与模式匹配,并且该查询包括与该模式中的占位符对齐并被包括在自动分类数据库(例如,300)中的子查询。例如,如果第三查询是“玫瑰金iphone手机壳”,并且第二模式中的模式是“玫瑰金<查询>”,则方框1250可以识别该模式中的<查询>与第三查询中的子查询f“iphone手机壳”相匹配,并且模式的其余部分“玫瑰金”也与第三查询的其余部分相匹配。然后,可以执行自动分类数据库的搜索以确定与占位符(例如,“<查询>”)对齐的第三查询(“iphone手机壳”)内的子查询是否等价于需要进行自动分类(例如,经由304)的查询302。如果找到匹配,则第三查询的子查询可以指示查询发出者关于第三查询所查找的结果的类别的真实意图。

如果在自动分类数据库中找到了该子查询,则对来自项目数据库(例如,390)的第三查询的结果进行过滤,以仅包括具有与该子查询(例如,302)的类别(例如,304)等价的类别(例如,399)的结果。在这些方面中,当确定响应于第三查询而返回的结果的类别时,可以忽略其他部分,例如第三查询的辅助部分(例如,“玫瑰金”)。例如,在以上示例中,“玫瑰金”是该查询的辅助部分,且因此在确定要提供的结果的类别时可以将其忽略。取而代之地,查询的非意图或辅助部分可用于确定所确定类别内的项目的属性。以上参考图11对此进行了描述。

方框1250的一些方面包括通过计算机网络向客户端设备发送受限制或过滤后的结果。例如,客户端设备1310(以下讨论)可以发出第三查询,并且通过计算机网络向网络应用(例如,以下讨论的查询分类器1345)发送该第三查询。在将上述处理应用于第三查询之后,可以将结果返回给客户端设备1310。

过程1200的一些方面包括过程1100,过程1100确定项目数据库(例如,390)中的项目的属性。例如,在一些方面中,方框1250可以包括确定第三查询中包括的第一查询(例如,302)的类别(例如,304)的属性值,以及将第三查询的结果限制为具有所确定的属性值的项目。在一些方面中,确定该属性值可以包括:基于第三查询和第三查询中包括的第一查询来确定辅助令牌;确定与第三查询的类别相关联的一个或多个属性;确定所确定的属性的属性值;基于该辅助令牌来确定令牌值;以及响应于该值具有兼容类型,将该令牌值赋予该属性值。

图13是用于查询响应系统的示例性的基于客户端-服务器的架构1300的框图。虽然图13示出了基于客户端-服务器的架构1300,但是本发明的主题当然不限于这种架构,并且同样很好地适用于例如事件驱动的、分布式的或对等的架构系统。此外,为了避免用不必要的细节来模糊本发明的主题,图13中省略了与传达本发明主题的理解无关的各种功能组件。此外,应当理解:尽管图13中所示的各种功能组件以单数意义来讨论,但是可以采用各种功能组件中的任一种功能组件的多个实例。

具有基于网络的系统的示例形式的内容发布平台1302经由网络1304(例如,互联网或广域网(wan))向一个或多个客户端设备1310提供服务器侧功能。例如,图13示出了网络客户端1312(例如,浏览器)、客户端应用1314和在客户端设备1310上执行的编程客户端1316。客户端设备1310可以包括(但不限于):移动电话、台式计算机、膝上型计算机、便携式数字助理(pda)、智能电话、平板计算机、超级本、上网本、笔记本计算机、多处理器系统、基于微处理器或可编程的消费电子产品、游戏机、机顶盒或用户可以用来访问内容发布平台1302的任何其他通信设备。在一些实施例中,客户端设备1310可以包括显示模块(未示出)以显示信息(例如,以用户界面的形式)。在另一些实施例中,客户端设备1310可以包括触摸屏、加速度计、陀螺仪、相机、麦克风、全球定位系统(gps)设备等中的一个或多个。在一个实施例中,内容发布平台1302是基于网络的市场,其发布包括在基于网络的市场上可用的产品的项目列表在内的公告(例如,网络文档)。

一个或多个用户1306可以是人、机器或与客户端设备1310交互的其他装置。在示例实施例中,用户1306不是基于客户端-服务器的架构1300的一部分,但可以经由客户端设备1310或另一装置与基于客户端-服务器的架构1300进行交互。例如,用户1306可以向客户端设备1310提供输入(例如,触摸屏输入或字母数字输入),并且经由网络1304向内容发布平台1302传输该输入。在该实例中,内容发布平台1302响应于从用户1306接收到的输入,经由网络1304向客户端设备1310传输信息以呈现给用户1306。以这种方式,用户1306可以使用客户端设备1310与内容发布平台1302交互。

客户端设备1310可以包括一个或多个客户端应用1314(也称作“app”),例如(但不限于)网络浏览器、消息传送应用、电子邮件(email)应用、电子商务网站应用(也称作市场应用)等。在一些实施例中,如果电子商务网站应用被包括在客户端设备1310中,则该应用被配置为本地提供用户界面以及功能中的至少一些,其中该客户端应用1314被配置为根据需要与内容发布平台1302通信,以获得本地不可用的数据或处理能力(例如,访问可供销售的物品的数据库、认证用户1306、验证支付方法等)。相反,如果电子商务网站应用未被包括在客户端设备1310中,则客户端设备1310可以使用其网络浏览器来访问在内容发布平台102上托管的电子商务网站(或其变型)。

网络1304的一个或多个部分可以是自组织网络、内联网、外联网、虚拟专用网(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、互联网的一部分、公共交换电话网(pstn)的一部分、蜂窝电话网、无线网络、wifi网络、wimax网络、另一类型的网络或两个或更多个这样的网络的组合。

应用程序接口(api)服务器1320和网络服务器1322耦接至应用服务器1340,并分别向应用服务器140提供编程接口和网络接口。应用服务器1340可以托管查询分类器1345和查询结果生成器1350,并且它们中的每一个可以被体现为硬件、软件、固件或其任意组合。在一些方面中,查询分类器1345中包括的指令可以将应用服务器1340配置为执行以上参考图4~图7和/或图9~图12中的任何一个所描述的一个或多个功能。根据所公开的实施例,查询结果生成器1350可以从查询分类器1345接收查询的结果。进而,示出了应用服务器1340被耦接到便于访问数据库1326的数据库服务器1324。在示例实施例中,数据库1326是存储设备,该存储设备将要作为结果返回的信息(例如,出版物或列表)存储到查询分类器1345。根据示例实施例,数据库1326还可以存储数字项目信息。例如,数据库1326可以存储以上参考图3和/或图10中的一个或多个所讨论的数据库和/或表中的一个或多个。

附加地,在第三方服务器1330上执行的第三方应用1332被示为具有经由api服务器1320所提供的编程接口对内容发布平台1302的编程访问。例如,第三方应用1332利用从内容发布平台1302取回的信息来支持由第三方所托管的网站上的一个或多个特征或功能。

虽然在图13中将查询分类器1335和数据库搜索过程1323都示出为形成查询平台1302的一部分,但是应当理解,在备选实施例中,查询分类器235和数据库搜索过程1323中的每一个可以形成与内容查询平台1302分离并且不同的服务或平台的一部分。

图14是示出了代表性软件架构1402的框图1400,该代表性软件架构1402可以结合本文所描述的各种硬件架构一起使用。图14仅是软件架构的非限制性示例,且应该理解可以实施许多其它架构以促进实现本文中所描述的功能。软件架构1402可以在诸如图6的机器600之类的硬件上执行,机器600包括处理器610、存储器630和i/o组件750等。代表性的硬件层1404被示出,并且可以表示例如图6的机器600。代表性的硬件层1404包括具有关联的可执行指令1408的一个或多个处理单元1406。可执行指令1408表示软件架构1402的可执行指令,其包括上述方法和模块等的实现。硬件层1404还包括存储器和/或存储模块1410,该存储器和/或存储模块1410也具有可执行指令1408。硬件层1404还可以包括由1412指示的其它硬件,其表示硬件层1304的任何其他硬件,例如作为机器1500的一部分示出的其他硬件。

在图14的示例架构中,软件架构1402可以被概念化为层的堆栈,其中,每层提供特定的功能。例如,软件架构1402可以包括诸如操作系统1414、库1416、框架/中间件1418、应用1420和表示层1444之类的层。在操作上,应用1420和/或层内的其它组件可以通过软件堆栈来调用应用编程接口(api)调用1424,并且接收响应于api调用1424的、被示出为消息1426的响应、返回值等等。所示出的层在本质上具有代表性,且并不是所有的软件架构都具有所有层。例如,一些移动或专用操作系统可能不提供框架/中间件层1418,而其他系统可以提供这样的层。其他软件架构可以包括附加层或不同层。

操作系统1414可以管理硬件资源并提供公共服务。操作系统1414可以包括例如内核1428、服务1430和驱动程序1432。内核1428可以用作硬件和其他软件层之间的抽象层。例如,内核1428可以负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等。服务1430可以为其它软件层提供其他公共服务。驱动程序1432可以负责控制底层硬件或与底层硬件接口连接。例如,取决于硬件配置,驱动程序1432可以包括显示器驱动程序、相机驱动程序、驱动程序、闪存驱动程序、串行通信驱动程序(例如通用串行总线(usb)驱动程序)、驱动程序、音频驱动程序、电源管理驱动程序等等。

库1416可以提供可由应用1420和/或其它组件和/或层利用的公共基础设施。库1416通常提供允许其他软件模块以比直接与底层操作系统1414的功能(例如,内核1428、服务1430和/或驱动程序1432)接口连接更容易的方式来执行任务。库1416可以包括可以提供诸如存储器分配功能、串操纵功能、数学功能等功能的系统1434库(例如,c标准库)。另外,库1416可以包括api库1436,例如媒体库(例如,用于支持各种媒体格式(诸如mpreg4、h.264、mp3、aac、amr、jpg、png)的呈现和操纵的库)、图形库(例如,可以用于在显示器上渲染图形内容中的2d和3d的opengl框架)、数据库(例如,可以提供各种关系型数据库功能的sqlite)、网络库(例如,可以提供网络浏览功能的webkit)等。库1416还可以包括各种各样的其他库1438,以提供针对应用1420和其他软件组件/模块的许多其他api。

框架/中间件1418(有时也称为中间件)可以提供可以由应用1420和/或其它软件组件/模块利用的更高级别的公共基础设施。例如,框架1418可以提供各种图形用户界面(gui)功能、高级资源管理、高级位置服务等。框架1418可以提供可以由应用1420和/或其它软件组件/模块利用的广泛范围的其它api,其中一些可以特定于特定操作系统或平台。

应用1420包括内置应用1440和/或第三方应用1442。代表性的内置应用1440的示例可以包括(但不限于)联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息传递应用和/或游戏应用。第三方应用1442可以包括任何内置应用以及各种其他应用。在具体示例中,第三方应用1442(例如,由与特定平台的供应商不同的实体使用androidtm或iostm软件开发工具包(sdk)而开发的应用)可以是在移动操作系统(例如,iostm、androidtmphone或其他移动操作系统)上运行的移动软件。在该示例中,第三方应用1442可以调用由移动操作系统(例如,操作系统1414)提供的api调用1424,以有助于实现本文描述的功能。

应用1420可以利用内置操作系统功能(例如,内核1428、服务1430和/或驱动程序1432)、库(例如,系统1434、api1436和其他库1438)、框架/中间件1418来创建用户接口以与系统的用户交互。备选地或附加地,在一些系统中,与用户的交互可以通过表示层(例如,表示层1444)发生。在这些系统中,应用/模块“逻辑”可以与和用户交互的应用/模块的各方面分离。

一些软件架构利用虚拟机。在图14的示例中,这由虚拟机1448示出。虚拟机创建软件环境,在该软件环境中,应用/模块可以像在硬件机器(例如,图14的机器)上执行一样执行。虚拟机由主操作系统(图14中的操作系统1414)托管,并且通常(尽管并不总是)具有管理虚拟机的操作以及与主操作系统(即,操作系统1414)连接的接口的虚拟机监控器1446。软件架构在虚拟机内执行,例如操作系统1450、库1452、框架/中间件1454、应用1456和/或表示层1458。在虚拟机1448内执行的这些软件架构层可以与先前描述的相应层相同或可以不同。

图15是示出了根据一些示例实施例的能够从机器可读介质(例如,机器可读存储设备)中读取指令并执行本文所讨论的方法中的任何一个或多个方法的机器1500的组件的框图。具体地,图15示出了计算机系统的示例形式的机器1500的示意表示图,其中,可以执行指令1516(例如,软件、程序、应用、小应用、app或其他可执行代码)以使机器1500执行本文讨论的任何一种或多种方法。这些指令将通用的未编程的机器转换成被编程为以本文所描述的方式执行所描述和示出的方法的特定机器。机器1500可以作为独立设备操作,或者可以耦接(例如,联网)到其他机器。在联网部署中,机器1500可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份操作,或者作为对等(或分布式)网络环境中的对等机器操作。作为非限制性示例,机器1500可以包括或对应于服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(stb)、个人数字助理(pda)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能表)、智能家居设备(例如,智能家电)、其他智能设备、网络电器、网络路由器、网络交换机、网桥、或能够顺序地或以其他方式执行指定机器1500要采取的动作的指令1516的任何机器。此外,尽管仅示出了单个机器1500,但是术语“机器”也将被认为包括机器1500的集合,其单独地或联合地执行指令1516以执行本文讨论的方法中的任何一个或多个。

机器1500可以包括可被配置为例如经由总线1502彼此通信的处理器1510、存储器/存储设备1530和i/o组件1550。在示例实施例中,处理器1510(例如,中央处理单元(cpu)、精简指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、射频集成电路(rfic)、其他处理器或其任何适当组合)可以包括例如可以执行指令1516的处理器1512和处理器1514。术语“处理器”旨在包括多核处理器1510,该多核处理器1510可以包括可以同时执行指令的两个或更多个独立处理器(有时称为“核”)。尽管图15示出了多个处理器,但是机器1500可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或其任何组合。

存储器/存储设备1530可以包括存储器1532(例如,主存储器或其他存储设备)、以及存储单元1536,存储器1532和存储单元1536两者都可例如经由总线1502由处理器1510访问。存储单元1536和存储器1532存储体现本文所述的任何一种或多种方法或功能的指令1516。在机器1500执行指令1516期间,指令1516还可以完全地或部分地驻留在存储器1532内、存储单元1536内、处理器1510中的至少一个内(例如,处理器的高速缓存存储器内)、或其任何合适的组合内。因此,存储器1532、存储单元1536和处理器1510的存储器是机器可读介质的示例。

如本文所使用,“机器可读介质”是指能够暂时或永久地存储指令和数据的设备,并且可以包括(但不限于)随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪速存储器、光学介质、磁性介质、高速缓存存储器、其它类型的存储设备(例如,可擦除可编程只读存储器(eeprom))和/或其任何合适的组合。术语“机器可读介质”应被视为包括能够存储指令1516的单个介质或多个介质(例如,集中式或分布式数据库、或相关联的高速缓存和服务器)。术语“机器可读介质”还将被认为包括能够存储被机器(例如,机器1500)执行的指令(例如,指令1516)的任何介质或多个介质的组合,使得指令在被机器的一个或多个处理器(例如,处理器1510)执行时,使机器执行本文所描述的方法中的任何一个或多个。因此,“机器可读介质”指单个存储装置或设备、以及包括多个存储装置或设备在内的“基于云”的存储系统或存储网络。术语“机器可读介质”不包括信号本身。在示例实施例中,机器可读介质也可以被称为“机器可读存储设备”。

i/o组件1550可以包括用于接收输入、提供输出、产生输出、发送信息、交换信息、捕捉测量等的各种各样的组件。特定机器中包括的特定i/o组件1550将取决于机器的类型。例如,诸如移动电话之类的便携式机器将可能包括触摸输入设备或其他这种输入机构,而无头服务器机器将可能不包括这种触摸输入设备。应当理解,i/o组件1550可以包括图15中未示出的许多其他组件。i/o组件1550根据功能被分组,以便简化以下讨论,并且分组不以任何方式进行限制。在各种示例实施例中,i/o组件1550可以包括输出组件1552和输入组件1554。输出组件1552可以包括视觉组件(例如,显示器,诸如等离子体显示面板(pdp)、发光二极管(led)显示器、液晶显示器(lcd)、投影仪或阴极射线管(crt))、声学组件(例如,扬声器)、触觉组件(例如,振动马达、阻力机构)、其他信号发生器等。输入组件1554可以包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光电键盘或其他字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或另一定点仪器)、触觉输入组件(例如,物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏或其他触觉输入组件)、音频输入组件(例如,麦克风)等。

在另一些示例实施例中,i/o组件1550可以包括生物特征组件1556、运动组件1558、环境组件1560或定位组件1562、以及许多其他组件。例如,生物特征组件1556可以包括用于检测表达(例如,手表达、面部表达、语音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件1558可以包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境组件1560可以包括例如:照明传感器组件(例如,光度计)、温度传感器组件(例如,一个或多个检测环境温度的温度计)、声学传感器组件(例如,一个或多个检测背景噪声的麦克风)、或可以提供与周围物理环境相对应的指示、测量或信号的其他组件。定位组件1562可以包括位置传感器组件(例如,全球定位系统(gps)接收机组件)、高度传感器组件(例如,高度计或检测气压的气压计(根据气压可以导出高度))、取向传感器组件(例如,磁力计)等。

可以使用各种各样的技术来实现通信。i/o组件1550可以包括通信组件1564,通信组件1564可操作以分别经由耦接1582和耦接1572将机器1500耦接到网络1580或设备1570。例如,通信组件1564可以包括网络接口组件或与网络1580接口连接的其他合适设备。在另一些示例中,通信组件1564可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(nfc)组件、组件(例如低能耗)、组件、以及经由其他模态提供通信的其他通信组件。设备1570可以是另一机器或各种外围设备中的任一种(例如,经由通用串行总线(usb)耦接的外围设备)。

此外,通信组件1564可以检测标识符或包括可操作以检测标识符的组件。例如,通信组件1564可以包括射频识别(rfid)标签读取器组件、nfc智能标签检测组件、光学读取器组件(例如,用于检测以下各项的光学传感器:一维条形码(例如通用产品代码(upc)条形码)、多维条形码(例如快速响应(qr)码)、阿兹台克码、数据矩阵、dataglyph、maxicode、pdf417、超码、uccrss-2d条形码和其他光学码)、或声学检测组件(例如,用于识别带标记音频信号的麦克风)。另外,可以经由通信组件1564导出各种信息,诸如经由互联网协议(ip)地理位置的位置、经由信号三角测量的位置、经由检测可以指示特定位置的nfc信标信号的位置等等。

在各种示例实施例中,网络1580的一个或多个部分可以是自组织网络、内联网、外联网、虚拟专用网(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、互联网,互联网的一部分、公共交换电话网(pstn)的一部分、普通老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、另一类型的网络、或两个或更多个这样的网络的组合。例如,网络1580或网络1580的一部分可以包括无线或蜂窝网络,并且耦接1582可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或另一个类型的蜂窝或无线耦接。在该示例中,耦接1582可以实现各种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线电服务(gprs)技术、gsm演进增强数据速率(edge)技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准设置组织定义的其他标准、其他远程协议或其他数据传输技术。

指令1516可以经由网络接口设备(例如,通信组件1564中包括的网络接口组件)使用传输介质并且利用多个公知的传输协议(例如,超文本传输协议(http))通过网络1580来发送或接收。类似地,可以使用传输介质经由耦接1572(例如,对等耦接)向设备1570发送或接收指令1516。术语“传输介质”应被认为包括能够存储、编码或承载用于被机器1500执行的指令1516的任何无形介质,并且包括用于促进该软件的通信的数字或模拟通信信号或其他无形介质。

某些实施例在本文中被描述为包括逻辑或多个组件、模块或机构。模块可以构成软件模块(例如在机器可读介质上或在传输信号中体现的代码)或硬件模块。硬件模块是能够执行某些操作的有形单元,并且可以按特定方式来配置或布置。在示例实施例中,一个或多个计算机系统(例如独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如处理器或处理器组)可以由软件(例如,应用或应用部分)配置为进行操作以执行本文描述的某些操作的硬件模块。

在各实施例中,硬件模块可以用机械方式或电子方式来实现。例如,硬件模块可以包括永久地被配置为执行某些操作的专用电路或逻辑(例如,硬件模块可以是专用处理器,例如现场可编程门阵列(fpga)或专用集成电路(asic))。硬件模块还可以包括由软件暂时配置以执行某些操作的可编程逻辑或电路(例如,通用处理器或其它可编程处理器中包含的可编程逻辑或电路)。应理解:以机械方式、以专用和永久配置的电路或以临时配置的电路(例如由软件配置)实现硬件模块的决定可受到成本和时间的考虑来驱动。

因此,术语“硬件模块”应当被理解为包含有形实体,应当是物理构成的、永久配置(例如,硬连线的)或暂时配置(例如,编程的)以在特定方式下工作或以执行本文描述的特定操作的实体。考虑临时配置(例如编程)硬件模块的实施例,无需在任一时刻配置或实例化硬件模块中的每一个。例如,在硬件模块包括使用软件来配置的通用处理器的情况下,通用处理器就可以在不同时间被配置为相应不同的硬件模块。因此,软件可以将处理器例如配置为在一个时刻构成特定硬件模块并在另一时刻构成不同的硬件模块。

硬件模块可以向其他硬件模块提供信息并从其他硬件模块接收信息。因此,所描述的硬件模块可以被看作通信地耦接。在多个这种硬件模块同时存在的情况下,可以通过信号传输(例如在连接硬件模块的适当的电路和总线上)来实现通信。在多个硬件模块在不同时间被配置或实例化的实施例中,可以例如通过在多个硬件模块可访问的存储器结构中对信息的存储并获取来实现这样的硬件模块之间的通信。例如,一个硬件模块可以执行操作并在与其通信耦接的存储设备中存储该操作的输出。另一硬件模块接着可以稍后访问该存储设备,以取回并处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且能够对资源(例如信息的集合)进行操作。

本文描述的示例方法的各种操作可以至少部分地由临时配置(例如通过软件)或永久配置为执行相关操作的一个或多个处理器来执行。无论是临时还是永久地配置,这样的处理器可以构成进行操作以执行一个或多个操作或功能的处理器实现的模块。在一些示例实施例中,如本文中提到的“模块”包括处理器实现的模块。

类似地,本文中描述的方法可以至少部分由硬件处理器实现。例如,方法的至少一些操作可由一个或多个处理器或处理器实现的模块执行。某些操作的执行可以分布在一个或多个处理器中,并不只驻留在单个机器中,而是跨多个机器来部署。在一些示例实施例中,一个或多个处理器可以位于单个地点(例如,在家庭环境、办公室环境或服务器群中),而在其他实施例中,处理器可以分布在多个地点。

一个或多个处理器还可以操作以支持在“云计算”环境下的相关操作的执行或作为“软件即服务”(saas)的相关操作的执行。例如,至少一些操作可以由一组计算机(例如,包括处理器在内的机器)来执行,且这些操作是可经由网络(例如,互联网)以及经由一个或多个适当的接口(例如,api)来访问的。

示例实施例可以用数字电子电路或者用计算机硬件、固件、或软件或它们的组合来实现的。示例实施例可以使用计算机程序产品来实现,计算机程序产品例如是在信息载体中有形地体现的计算机程序,信息载体例如是由数据处理装置执行的机器可读介质或用于控制数据处理装置的操作的机器可读介质,数据处理装置例如是可编程处理器、计算机、或多个计算机。

可以以任何形式的编程语言来编写计算机程序,该编程语言包括经编译或经解释的语言,并且可以以任何形式来部署计算机程序,包括部署为独立的程序或者部署为适合在计算环境中使用的模块、子例程,或者其它单元。计算机程序可以被部署为在一个计算机上执行,或在位于一个地点处的多个计算机上执行,或者在分布在多个地点上并通过通信网络互连的多个计算机上执行。

在示例实施例中,操作可以通过一个或多个可编程处理器执行计算机程序来执行,以通过操作输入数据并产生输出来执行功能。方法操作还可以通过由专用逻辑电路(例如,fpga或asic)来执行,并且示例实施例的装置可以实现为专用逻辑电路。

计算系统可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络进行交互。客户端和服务器的关系通过在相应计算机上运行并且相互具有客户端-服务器关系的计算机程序来产生。在部署了可编程计算系统的实施例中,将清楚的是:需要考虑硬件架构和软件架构二者。具体地,将清楚的是:在永久配置的硬件(例如asic)中、在暂时配置的硬件中(例如软件与可编程处理器的组合)、还是在永久配置的与暂时配置的硬件的组合中实现特定功能的选择可以是设计选择。

尽管已经参考特定示例实施例描述了本公开的实施例,显然可以对这些实施例做出各种修改和改变,而不离开本公开主题的更宽泛的范围。因此,说明书和附图应被认为是说明性的而不是限制意义的。形成可以实现主题的具体实施例的一部分的附图是通过说明而不是限制的方式示出的。充分详细地描述了所示出的实施例,以使得本领域技术人员能够实践本文中所公开的教导。可以利用并根据这些实施例得出其他实施例,从而可以在不脱离本公开的范围的情况下做出结构和逻辑上的替换和改变。因此,该“具体实施方式”部分不应当看做是限制意义,并且各种实施例的范围仅通过所附权利要求以及权利要求的等价物的全部范围来限定。

本发明主题的这些实施例被单独地和/或统一地由术语“发明”来指代,其仅是为了方便,而不是旨在主动将本申请的范围限制为任意单个发明或发明构思(如果实际上不止一个被公开的话)。因此,尽管本文示出并描述了特定实施例,应当理解,适于实现相同目的的任意设置都可以用于替换所示出的特定实施例。本公开旨在覆盖各种实施例的任意和所有的适应性修改或变化。通过研究上述内容,上述实施例的组合以及本文中没有具体描述的其它实施例对于本领域技术人员来说将是明显的。

本文中提到的所有公开、专利和专利文件通过引用的方式全文并入本文中,就好像通过引用单独并入一样。在本文件中与通过引用并入的文件之间的使用不一致的情况下,并入的参考文献中的使用应当被看做对本文件的补充;对于不可调和的不一致,以本文件中的使用为准。

在本文件中,如专利文件中常见的,术语“一”或“一个”用于包括一个或多于一个,而与对“至少一个”或“一个或多个”的任何其它实例或使用无关。在本文件中,除非另有说明,否则术语“或”用于指非排他性的或者,例如“a或b”包括“a但不是b”、“b但不是a”以及“a和b”。在附加的权利要求中,术语“包括”和“在其中”用作相应术语“包含”和“其中”的英语等价物。另外,在所附的权利要求中,术语“包括”和“包含”是开放式的;也就是说,额外包括除了在权利要求中的该术语之后列出的元素以外的元素在内的系统、设备、物品或过程仍将被视为落入该权利要求的范围内。

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