CN107077320A - 识别对自动完成搜索结果的时间需求 - Google Patents
识别对自动完成搜索结果的时间需求 Download PDFInfo
- Publication number
- CN107077320A CN107077320A CN201580053209.7A CN201580053209A CN107077320A CN 107077320 A CN107077320 A CN 107077320A CN 201580053209 A CN201580053209 A CN 201580053209A CN 107077320 A CN107077320 A CN 107077320A
- Authority
- CN
- China
- Prior art keywords
- user
- automatically performed
- input
- classification
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90324—Query formulation using system suggestions
- G06F16/90328—Query formulation using system suggestions using search space presentation or visualization, e.g. category or range presentation and selection
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
实施例描述了用于识别对查询的时间需求并使用元数据来修改自动完成结果的系统和方法。在一个实施例中,历史查询的记录由系统存储并被分析以识别周期性或重复的事件,其中对与一个或多个类别相关联的自动完成结果的需求偏离正常需求。基于该记录的时间模型用于调整与重复事件相关联的随后时间段期间的自动完成搜索结果。
Description
相关申请
本申请要求于2014年9月30日提交的美国临时申请No.62/057,548的优先权,其全部内容通过引用并入本文。
技术领域
本公开大体上涉及搜索引擎内的自动完成功能,并且涉及使用系统接收的预期搜索的周期性的基于时间的改变以改善自动完成性能。
背景技术
自动完成是接收用户输入的一部分并预测最终用户输入的计算设备的功能。在某些系统中,提供单个预测输入,而在其他系统中,呈现可能的最终输入的列表,然后用户可以选择预测的输入,而不是完成由用户开始的输入。本文描述的实施例涉及用于自动完成功能和搜索结果的改进的系统和方法。
附图说明
附图中的各个附图仅示出了本发明的示例实施例,并且不能被认为是限制其范围。
图1是根据一些示例实施例的可以使用改进的自动完成和搜索结果实现的网络架构的框图。
图2是根据一些示例实施例的可以使用改进的自动完成和搜索结果实现的发布系统的框图。
图3A是根据一些示例实施例的可以与改进的自动完成和搜索结果实现一起使用的类别树数据库的示意图。
图3B是根据一些示例实施例的可以与改进的自动完成和搜索结果实现一起使用的类别树数据库的示意图。
图4A是示出了根据一些示例实施例的与特定术语相关联的搜索请求的基于时间的改变的示意图。
图4B是示出了根据一些示例实施例的与特定术语相关联的搜索请求的基于时间的改变的示意图。
图5A示出了根据一些示例实施例的用户界面的各方面。
图5B示出了根据一些示例实施例的用户界面的各方面。
图5C示出了根据一些示例实施例的用户界面的各方面。
图5D示出了根据一些示例实施例的用户界面的各方面。
图6是示例形式的计算系统中的机器的简化框图,其中可以执行用于使机器执行本文所讨论的方法中的任何一个或多个的指令集。
图7描述了用于使用时间查询数据来生成自动完成结果和搜索结果的方法。
图8描述了可以与一些示例实施例一起使用的软件架构。
图9描述了可以用于实现一些示例实施例的各方面的设备。
具体实施方式
以下的描述包括具体实现说明性实施例的系统、方法、技术、指令序列和计算机程序产品。在下面的描述中,为了解释的目的,阐述了许多具体细节以便提供对主题的各种实施例的理解。然而,对于本领域技术人员显而易见的是,本发明主题的实施例可以在没有这些具体细节的情况下实施。一般来说,未详细示出公知的指令实例、协议、结构和技术。
本文描述的实施例大体上涉及自动完成系统和搜索结果,具体地,涉及识别对系统的用户输入的基于时间的改变的系统。例如,在每隔四年的足球世界杯期间,在搜索引擎处接收的与足球相关联的用户输入可能显著增加。本文描述的实施例可以捕获与足球世界杯的时间接近度有关的信息并将该信息与部分键入的用户输入结合使用,以改进作为自动完成选择呈现的搜索结果。例如,标准搜索可以获取部分用户输入“soc”并呈现包括“socks”“片上系统(SOC)”或“soccer”的自动完成选项的列表。使用与正在进行的世界杯事件有关的信息的系统可以使用“soc”的这个部分输入来提供所有与足球或世界杯相关联的自动完成选项的列表。在世界杯结束之后,搜索结果将返回到世界杯搜索结果的正常加权,这可能显著地低于世界杯期间的加权。
如本文所描述的自动完成是由某些计算程序或服务(例如网络浏览器、字处理器和搜索引擎接口)提供的特征。自动完成涉及用户正在键入的词或短语的预测,而不需要用户完全键入该词或短语,并且可以基于词或短语的初始部分输入。这样的自动完成功能可以减少用户输入时间并且建议可能还未被用户考虑的输入。
许多用户查询从在用户决定最终输入短语之前由用户进行的部分输入开始。除此之外,用户查询通常是宽泛的或不明确的。在某些自动完成系统中,搜索引擎可以尝试基于部分用户输入的重要特征对自动完成结果进行排序,然后基于相关性呈现自动完成结果。自动完成系统具有的信息越多,系统在提供用户选择或优选的结果时将表现得越好。这包括当用户输入更多的输入短语时的改进的性能,以及可以是显式的或隐式的其他信息。显式信息可以包括由用户选择的自动完成系统偏好,其包括用户提供的用户偏好或兴趣。隐式信息包括可以不仅基于特定用户的先前搜索、而且基于所有系统用户的先前搜索的推断信息。
如上所述,对于有权访问与输入到系统的大量或所有用户搜索相关联的历史信息的系统,可能存在特定短语的输入在有限的时间段内更频繁地被接收的周期性事件,并且这些事件可以与年、天或可预测事件的特定时间相关。
某些搜索引擎聚合几天或几周的所有最近搜索以预测未来搜索作为自动完成系统的一部分,但是基于最近历史的这样的系统直到事件正在进行或结束才合并周期性事件,这是由于与最近的时间聚合相关联的滞后。
本文描述的实施例可以使用事件开始信息、事件结束信息和重复周期来提供自动完成结果。在一个实施例中,例如,系统可以识别设定数量的搜索类别,其中每个搜索类别与某些自动完成短语或子类别相关联。系统不保留每个实际搜索的记录,而是保留所有搜索的多少百分比与特定类别相关联的记录。与特定类别相关联的所有搜索的百分比中的周期性尖峰可以与未来日期相关联,并且在那些未来日期期间的自动完成结果可以被加权朝向与特定类别或子类别相关联的短语。例如,“服装”类别可以看到每年在万圣节之前三周开始并且在万圣节当天结束的人气尖峰。在不响应于最近时间段中的搜索结果或实时的改变的情况下,根据本文描述的实施例的自动完成系统将使用该信息在万圣节之前三周自动开始调整自动完成结果,并且将在万圣节之后的第二天停止调整结果。相比之下,使用最近的用户输入的系统将在人气尖峰开始之后开始调整结果,并且将在尖峰结束之后继续使用有偏向的结果。在本文描述的使用历史来预期时间数据移位的实施例中,可以包括任何周期性移位。这种周期性调整可以是每年、每月、每周或者甚至每天。附加调整可以基于系统操作员对事件的识别,该事件是不可预测的,但是可以基于日历、输入日程安排或来自拼凑的新闻数据或其他这样的输入的自动事件触发。
图1是基于高级客户端-服务器的网络架构100的示例实施例,其中部分用户输入可以由联网系统102从客户端设备110或客户端设备112接收,并且可以基于部分用户输入和与自动完成事件时间帧的关联来提供自动完成搜索结果。在网络-服务器侧功能的示例性形式中,联网系统102经由通信网络104(例如,因特网、无线网络、蜂窝网络或广域网(WAN))耦合到一个或多个客户端设备110和112。例如,图1示出了经由浏览器(例如,由华盛顿州雷德蒙市的公司开发的INTERNET 浏览器)进行操作的网络客户端106以及在相应客户端设备110和112上执行的编程式客户端108。网络客户端106和编程式客户端108中的任一个或两者可以提供用户接口以接收部分用户输入并且向设备的用户提供自动完成搜索结果。
客户端设备110和112可以包括移动电话、台式计算机、膝上型计算机、平板电脑、平板手机、可穿戴设备、联网仪器或用户可以用来访问联网系统102的任何其他通信设备。在一些实施例中,客户端设备110可以包括用于显示信息(例如,以用户界面的形式)的显示模块(未示出)。在另外的实施例中,客户端设备110可以包括触摸屏、加速度计、相机、麦克风和GPS设备中的一个或多个。客户端设备110和112可以是用户的设备,其用于执行涉及联网系统102内的数字商品的交易。在一个实施例中,联网系统102是基于网络的市场,其管理数字商品、发布包括在基于网络的市场上可用的产品的物品列表的发布、并管理这些市场交易的支付。
应用程序接口(API)服务器114和网络服务器116耦合到一个或多个应用服务器118并且分别提供到一个或多个应用服务器118的编程和网络接口。应用服务器118托管发布系统120和支付系统122,其中发布系统120和支付系统122中的每一个可以包括一个或多个模块、应用或引擎,并且发布系统120和支付系统122中的每一个可以具体实现为硬件、软件、固件或其任何组合。在某些实施例中,自动完成系统可以集成为发布系统120的一部分、集成为在应用服务器118上操作的单独系统的一部分、或集成为与联网系统102集成的单独服务器系统的一部分。应用服务器118进而耦合到一个或多个数据库服务器124,以便于访问一个或多个信息存储库或(一个或多个)数据库126。在一个实施例中,数据库126是存储要向发布系统120通告的信息(例如,发布或列表)的存储设备。根据示例实施例,数据库126还可以存储数字商品信息。
在示例实施例中,发布系统120在网络(例如,因特网)上发布内容。因此,发布系统120向访问联网系统102的用户提供多个发布以及市场功能和服务。结合图2更详细地讨论了发布系统120。在示例实施例中,围绕在线市场环境来讨论发布系统120。然而,注意,发布系统120可以与诸如信息(例如,搜索引擎)或社交联网环境的非市场环境相关联。
支付系统122向用户提供多个支付服务和功能。支付系统122允许用户在他们的账户中累积值(例如,以商业货币(例如美元)、或专有货币(例如,私人实体提供的积分、里程或其他形式的货币)),然后,稍后兑换累积值以用于经由发布系统120或网络104上的其他地方可用的产品(例如,商品或服务)。支付系统122还便于从支付机制(例如,银行帐户、PayPalTM或信用卡)进行支付以经由任何类型和形式的基于网络的市场购买物品。在某些实施例中,出于隐私和安全的原因,多个自动完成系统可以被集成为单个联网系统102的一部分。例如,发布系统120和支付系统122可以各自与单独的自动完成系统相关联。这些单独的自动完成系统中的每一个可以使用单独的数据库126,其存储关于与用户搜索选择的转变相关联的周期性事件的数据。在其他实施例中,基于与用户搜索偏好的周期性或基于事件的转变有关的历史数据来跟踪和更新搜索系统的共享数据库或系统可以由与不同的搜索应用相关联的多个不同自动完成系统共享。
虽然在图1中将发布系统120和支付系统122示出为二者都形成联网系统102的一部分,但是将理解的是,在备选实施例中,支付系统122可以形成与联网系统102分离且不同的支付服务的一部分。另外,虽然图1的示例网络架构100采用客户端-服务器架构,但是本领域技术人员将认识到,本公开不限于这种架构。示例网络架构100同样可以在例如分布式或对等架构系统中很好地应用。发布系统120和支付系统122还可以被实现为在不一定具有联网能力的单独硬件平台下操作的独立系统或独立软件程序。
现在参考图2,示出了说明在一个实施例中在联网系统102的发布系统120内提供的多个组件的示例框图。在该实施例中,发布系统120是可以提供项目(例如,商品或服务)以供销售的市场系统。这些项目可以包括数字商品(例如,货币或许可权)。发布系统120可以托管在专用或共享的服务器机器(未示出)上,服务器机器被通信地耦合以实现服务器机器之间的通信。多个组件本身直接或间接地通信地彼此耦合以及耦合到各种数据源(例如,经由适当的接口),以允许在组件之间传递信息或允许组件共享和访问公共数据。此外,组件可以经由一个或多个数据库服务器124访问一个或多个数据库126。
发布系统120提供多个发布、列出和价格设置机制,由此卖方可以列出(或发布关于以下各项的信息)待销售的商品或服务,买方可以表达对购买这样的商品或服务的兴趣或指示希望购买这样的商品或服务,并且可以为与商品或服务有关的交易设置价格。为此,发布系统120可以包括至少一个发布引擎202和一个或多个拍卖引擎204,一个或多个拍卖引擎204支持拍卖格式列表和价格设置机制(例如,英语、荷兰语、汉语、双语、反向拍卖等)。
定价引擎206支持各种价格列表格式。一种这样的格式是固定价格列表格式(例如,传统的分类广告型列表或目录列表)。另一种格式包括买入型列表。买入型列表(例如,由加利福尼亚州圣何塞的eBay公司开发的立即购买(BIN)技术)可以与拍卖格式列表一起提供,并允许买家购买商品或服务,这些商品或服务通常也被提供以通过拍卖以通常高于项目的拍卖的起拍价的定价出售。
存储引擎208允许卖方在“虚拟”商店内对列表进行分组,其可以被品牌化并且由卖方进行个性化并针对卖方进行个性化。这样的虚拟商店还可以提供对卖方特定和个性化的促销、激励和特征。在一个示例中,卖方可以提供多个项目作为虚拟商店中的立即购买项目,提供多个拍卖项目,或这两者的组合。
信誉引擎210允许使用联网系统102进行交易的用户建立、构建和维护信誉。可以使得这些信誉可用并发布给潜在的贸易伙伴。因为发布系统120支持未知实体之间的个人对个人的交易,因此根据一个实施例,用户否则可能没有可以由此评估潜在贸易伙伴的可信赖性和可信度的历史或其他参考信息。信誉引擎210允许用户例如通过由一个或多个其他交易伙伴提供的反馈来随时间在基于网络的市场内建立信誉。然后,其他潜在贸易伙伴可以参考信誉,以用于评估可信度和可信赖性的目的。
导航引擎212可以促进基于网络的市场的导航。例如,导航引擎212的浏览器模块(未示出)允许用户浏览各种类别、目录或库存数据结构,据此可以在发布系统120内对列表进行分类。可以提供导航引擎212内的各种其他导航应用以补充浏览应用。任何这样的应用可以包括或访问本文描述的自动完成系统,以基于部分用户输入和自动完成事件时间帧向用户提供自动完成结果。
为了使得经由联网系统102可用的列表和自动完成结果尽可能可视地通知并且具有吸引力,发布系统120可以包括成像引擎214,其使用户能够上传用于包括在发布内的图像并且将图像并入所查看的列表内。成像引擎214还可以从用户接收图像数据作为搜索查询,并且利用图像数据来识别由图像数据描绘或描述的项目。
列表创建引擎216允许用户(例如,卖方)方便地创作项目列表。在一个实施例中,列表涉及用户(例如,卖方)希望经由发布系统120来交易的商品或服务。在其他实施例中,用户可以创建作为广告或其他形式的发布的列表。
列表管理引擎218允许用户管理这样的列表。具体地,在特定用户创作或发布大量列表的情况下,这些列表的管理可能提出挑战。列表管理引擎218提供多个特征(例如,自动重新列出、库存水平监视器等)以帮助用户管理这样的列表。
列表后管理引擎220还帮助用户进行通常在列表后发生的多个活动。例如,在完成由一个或多个拍卖引擎204促进的交易时,卖方可能希望留下与特定买家有关的反馈。为此,列表后管理引擎220向信誉引擎210提供接口,从而允许卖方方便地向信誉引擎210提供与多个买家有关的反馈。另一个列表后动作可以涉及出售项目的运送,由此列表后管理引擎220可以帮助打印运送标签,估计运送成本并建议运送商。
搜索引擎222执行对联网系统102中与查询匹配的发布的搜索。在示例实施例中,搜索引擎222包括使得能够对经由发布系统120发布的发布进行关键词搜索的搜索模块(未示出)。在另一实施例中,搜索引擎222可以将由成像引擎214接收的图像作为用于进行搜索的输入。搜索引擎222获取查询输入并确定来自联网系统102的多个匹配(例如,存储在数据库126中的发布)。注意,搜索引擎222的功能可以与导航引擎212相结合。
比较购物引擎224管理联网系统102中的交易。下面将更详细地讨论比较购物引擎224的操作。
在某些实施例中,来自任何上述元件中的任何一个的显式和隐式信息都可以与部分用户输入和自动完成事件时间段组合,以确定提供给客户端设备的自动完成搜索结果。例如,发布引擎202和相关联的拍卖引擎204可以基于系统用户感兴趣的时间转变来提供与搜索结果变化匹配的列表或发布信息的记录,如本文所描述的。类似地,列表创建引擎可以跟踪与项目的作者列表有关的信息,其包括与周期性或可预测地重现的事件相关联的项目的作者列表的改变。
然后,可以向搜索引擎222或比较购物引擎224提供与可预测地重现的事件和围绕这些事件的用户搜索的转变有关的信息。然后,基于在重现的事件期间发生的识别的变化来更新和调整来自搜索引擎222或比较购物引擎224的结果。在一些实施例中,上面针对发布系统120描述的任何模块可以包括具有自动完成服务的表单、或者用于补充模块的基本操作的搜索服务。基于重现的事件以更多地提供自动完成结果的反馈可以用于发布系统120的这些模块中的任何模块的任何表单元素或搜索元素。
尽管已经围绕各种单独的模块和引擎来定义了发布系统120的各种组件,但是本领域技术人员将认识到,许多项目可以以其他方式组合或组织,并且不是所有模块或引擎都需要根据示例实施例呈现或实现。此外,并不是作为发布系统120的示例的市场系统的所有组件都已经包括在图2中。一般来说,没有详细示出或讨论与示例性实施例的功能(例如,争议解决引擎、忠诚度提升引擎、个性化引擎等)不直接相关的组件、协议、结构和技术。本文给出的描述仅提供了各种示例性实施例以帮助读者理解本文所使用的系统和方法。
图3A和图3B示出了用于管理与重现的事件相关联的搜索偏好的转变的系统的各方面。图3A示出了可用于可以与周期性事件相关联的类别的数据库的结构。图3B描述了根据示例实施例的使用图3A所示的结构的类别树的示例。图3A示出了使用组织成层的类别的顶层自动完成数据库310。自动完成数据库310的示例结构包括第一层1自动完成类别320和第二层1自动完成类别330。自动完成数据库的各种实施例可以包括任何数量的层1类别,并且可以是动态的,使得层1自动完成类别可以随时间增加和移除。还示出了包括多个层2自动完成类别321、322、331和332的自动完成数据库310的结构。每个层2自动完成类别是层1自动完成类别的子类别。在这样的系统中,层1自动完成类别不一定需要具有任何子类别。层2自动完成类别必须与层1类别相关联。层1自动完成类别与任意数量的层2自动完成类别相关联。附加实施例可以包括任何数量的层,其中附加层与每个更高层的至少一个自动完成类别相关联。
图3B示出了用某些类别具体示出的另一示例结构。图3B的类别树数据结构对可以由自动完成或搜索系统使用的类别进行组织。图3B的这个示例树结构包括手机和配件(L1)>手机配件(L2)>充电器和托架(L3和最低级别类别)。类别树的根类别350是所有L1级别类别的父类别,并且可以被认为是数据库的基本结构。L1类别352中的每个类别是所示出的L2类别354的逻辑分组,并且可以被称为对应的L2类别354的父类别。L2类别354可以包括多于一个L3类别356的逻辑分组,并且将是任何对应的L3类别356的父类别。
在树中的任何点处的最低级别类别被称为“叶类别”。叶类别是不具有相关联的下层类别的类别。叶类别可以存在于任何类别层中。如关于图3B所描述的,叶类别可以被认为是类别树中在其下列出项目的最低粒度级别类别。这些类别可以处于类别树的任何级别。这仅仅取决于该路径的子分支的深度或数量。叶类别396是这种最低级别类别的示例。类别398不是叶类别,这是因为类别358是作为类别398的子分支的较低级别类别。这样的低级别类别在树形图中在它们下方不具有任何子孙类别,而是可以包括列出的项目。在一些实施例中,父类别不包括这样的项目列表,并且父类别仅被认为包括每个子孙类别的列表。最低级别类别可以与各种信息相关联。例如,在一个实施例中,最低级别类别可以具有相关联的类别元数据:
类别ID:123417
级别:L3
是最低级别类别:是
类别名称:充电器托架
列表:卖方必须在此类别下列出具有充电器或托架类型的项目。
到类别内容的链接:
http://www.fakeexample.com/sch/Chargers-Cradles-/123417/i.html
在一些实施例中,图3B的示例类别树然后可以用于生成查询类别需求数据。本文所提及的查询是由用户搜索的数据串。数据串可以与输入到搜索引擎以触发搜索响应的任何搜索信息相关。查询类别需求数据可以包括使用已经从系统用户接收的查询的历史(例如,输入的数据串)以及用户做出的任何相关联的选择构建的模型。换句话说,可以通过跟踪用户搜索查询输入并且还跟踪用户随后选择搜索结果的哪个元素(如果有的话)来构建模型。在使用图3A和图3B的结构的模型中,由于项目被列在最低级别类别下方,所以所有搜索数据可以与叶类别相关联。在这样的实施例中,通过跟踪从对“与之交互的项目”的查询到“项目的列表类别(最低级别类别)”的转换,构建模型:基于系统用户搜索的历史来映射对最低级别类别的查询的模型。由于类别具有层次结构,所以可以通过将对最低级别类别的查询变换到对L2类别的查询和对L3类别的查询来构建新模型。这样的模型然后可以用于丰富自动完成系统,其中查询用它们各自的主导类别标记。
一个示例自动完成数据集是通过挖掘用户做出的过去查询并对它们进行评分来构建的。由这样的分数生成的模型还可以被设计为捕获旨在给予用户更多的值的与每个查询相关联的元数据(例如,主导类别、属性等),并且以便提供更多的数据用于评分。
在模型构建的时段期间由多个用户使用的每个查询被指派分数,该分数是以下的加权函数:该查询的频率;使用查询之后的查看项目的数量;使用查询之后购买的项目的数量;使用查询之后出价的项目的数量;以及使用查询之后观看的项目的数量。在各种其他实施例中,可以使用其他输入信息或上述的各种组合。然后,自动完成模型存储查询串以及任何分数或其他元数据。
除了上面的函数输入的列表之外,还可以使用查询类别需求数据、品牌数据(如果查询包括品牌数据)和任何附加属性(如果包括在查询中)来识别特定查询数据集合的主导类别集合。当用户输入查询的一部分(无论是完整的还是部分的令牌)时,对自动完成网络服务进行调用,该服务具有从具有完整前缀(或部分前缀)的自动完成数据存储设备中找到匹配查询的逻辑。基于每个匹配查询的查询分数对可能的结果进行排序。
本文描述的实施例利用用户的搜索的元数据的时间性质来提高自动完成建议和搜索结果的精度。这可以使用上述类别结构来完成,以基于类别调整自动完成结果。许多查询组共享公共前缀(例如,不完整搜索输入串中的初始字符集)。在给定前缀的情况下,共享前缀的每个可能查询作为预期查询的概率随时间而改变。例如,当用户键入“dress(服装)”作为前缀时,如果是夏季,则“dress for summer(夏季的服装)”或“dress for beach(沙滩的服装)”比“dress for cold(防寒的服装)”或“dress for winter(冬天的服装)”的概率更高。在冬季,“dress for winter”的概率比“dress for summer”的概率更高。从存储在接收的用户输入的记录中的用户的过去搜索历史中学习这些搜索的时间性质。根据这些过去的搜索历史构建的时间模型可以向自动完成和其他搜索查询提供时间分数调整。因此,在给定时间内提升在该时间期间较高概率出现的结果,以使它们排名较高,并且将结果呈现给处于更显著的位置的用户。因此,用于响应于接收到部分用户输入和提供给用户的自动完成结果而选择类别的分数可以基于通过将关于部分用户输入的字符与和类别相关联的字符串进行匹配而生成的分数,其中基于时间模型对分数进行加权。
存在元数据值的若干粒度,在该粒度下可以对该时间性质进行计算和建模,然后将该时间性质用于提升在这一年的时间期间达到其峰值的查询。时间也可以处于几个粒度级别,例如一年中的一周、一年中的一天、一天中的一小时、或任何其他这样的时间粒度。
为了在特定粒度级别的每个时间分段的级别捕获足够的信息,存在许多挑战。如果针对每个查询或在非常低的粒度级别捕获时间需求,则一些查询元数据可能是稀疏的。这意味着可能没有足够的数据用于所有查询。例如,如果在查询级别本身计算时间需求,则针对每个查询级别的用户的搜索历史将不具有太多记录。这将在模型行为中生成反复,因此难以用太低的粒度级别来测量时间趋势。另外,在每个查询级别计算时间时序数据也是在计算上密集的。此外,这种方法只能提升在过去观察到的查询而不是从未见过的新查询。因此,实施例可以基于可用的数据量来补偿模型中的粒度级别。当看到新的查询时,可以不进行调整,但是随着时间收集到越来越多的数据,可以基于可用数据量自动地调整粒度级别。这提供了本文所述的重现的事件的跟踪调整同时避免反复的益处。
本文描述的实施例使用元数据级别的时间需求来构建时间模型。可以在任何粒度级别外推或计算时间需求,无论是在类别级别还是任何属性(如品牌、模型等)级别,只要接收到足够的信息以支持特定粒度级别即可。
此外,在元数据级别(例如在类别级别)计算时间数据也可以提供益处。在某些实施例中,每个查询具有由正在使用的模型很好地描述的某一相关联的类别。类别可以是将类似主题的项目分组在一起的定义明确的结构,因此类别数据可以非常好地捕获围绕主题或重现事件的时间性质。例如,可以在“体育用品”L1类别下方捕获L2类别或高尔夫或钓鱼。L1类别的趋势可以捕获作为运动主题的较低级别类别的共享趋势。例如,在给定一年中的特定周的情况下,系统计算有多少独立用户在这周中搜索了属于该类别的查询。为了避免由于对站点的业务的有机生长引起的峰值的假阳性,该数据可以被变换成针对每周的概率。在这样的实施例中,对于给定的一周,搜索到类别的概率等于在给定类别中搜索查询的独立用户的数量除以在系统中在任何类别进行搜索的独立用户的总数。
可以有不同的方式来识别在特定的一周中针对给定类别的搜索(时间需求)是否激增。一个这样的识别可以是基于阈值的:如果存在超过某一阈值的针对给定类别的搜索的概率的变化,并且可以年复一年地观察到该趋势,则该类别可以被标记为针对该时间点的候选类别。另一种这样的识别可以基于针对给定类别的概率的移动平均值(例如,三周移动平均值、每天平均值等)的变化。如果当前时间概率比移动平均值大某一百分比,则类别可以被标记为针对该时间点的候选类别。这种识别可以基于所识别的与正常值的时间偏差、随后返回正常值,其可以被表征为对评分具有可识别的影响。因此,对于每个类别,标记了需求激增的时间(例如,一年的周数或天数),并且在多个时间段中观察到这种激增。然后,所生成的时间模型可以存储在某一数据存储设备中。
在围绕元数据集合(包括类别关联)创建这样的时间模型之后,该模型可以用于调整自动完成结果或搜索结果。在使用自动完成模型的系统中,当用户键入前缀(例如,部分完整的查询或令牌)并且将其传递给自动完成服务时,服务确定它处于这一年的什么时间或用户输入正在考虑的时间段中的哪个时间点发生。服务从存储时间模型(表示元数据的时间需求)的数据存储设备中拉出在给定时间内存在对其的需求激增的元数据(例如,当执行查询时,对周数具有较高需求的类别列表)。在查询阶段期间,可以使用所得到的元数据信息,并且可以基于来自时间模型的输入来调整所有查询文档分数。
可以以几种方式进行调整。在一个潜在的实施例中,系统可以使用ApacheTM搜索平台。系统可以响应于接收到用户查询而发出标准搜索请求。如果系统正在使用时间模型,则可以将查询输入到模型中,并且如果当前事件由时间模型识别,则标准搜索请求可以通过提升查询来修改,该提升查询被添加以基于来自时间模型的信息影响分数。这样的提升可以用作原始查询串,其将被包括以影响与提升的类别相关联的结果的分数。在某些实施例中,单个用户查询可能受到多个提升的影响。例如,如果两个重叠的时间事件与当前时间段相关联并且两者都与用户的部分输入或搜索请求相关联,则这可能发生。
例如,第一类别中的自动完成搜索结果A可以具有标准串匹配分数X,并且第二类别中的搜索结果B可以具有标准串匹配分数Y。与识别在当前考虑的时间段期间发生的重复事件的时间模型相关联的提升可以将第二类别的每个结果分数提升150%,使得用于将结果A相对于结果B进行排序的分数将以X来与1.5倍Y进行比较。然后,将基于修改的分数集将自动完成搜索结果发送给用户。
图4A和图4B随后提供了在选定时间段内与特定类别相关联的所接收的用户输入的记录的示例,其中记录被聚合到模型中。在图4A和图4B的示例中,时间段是一年,其中针对每年的搜索数量的基于时间的信息与特定类别相关联。图4A可以例如与标记为“服装再次扮演/戏剧”的类别相关联,并且图4B与标记为“体育票”的类别相关联。图4A示出了“服装再次扮演/戏剧”类别的每周独立用户数量402的示例数据,并且图4B示出了“体育票”类别的每周独立用户数量412的示例数据。在图3所示的实施例中,这些类别可以是在单独的层1类别下方的层2类别。
在各种实施例中,可以在单年或多年以及多种类别上收集这些图表的信息,并且可以在任何周期性基础上对其进行呈现。图4A和图4B均示出了与对相应类别的搜索相关联的每周的独立用户402、412。图4A示出了与特定周集合中对“服装再次扮演/戏剧”类别的多个搜索相关联的大尖峰。该信息用于构建时间模型并且作为自动完成系统的一部分存储在自动完成数据库310中。该信息可以用于识别与该尖峰相关联的自动完成事件时间帧。在各种实施例中,这可以被识别为单个事件,或者可以被识别为多个事件,以区分在不同时间段的事件的量级。另外,其他信息可以用于将该尖峰与特定事件相关联,诸如将图4A的事件与万圣节假期相关联。模型可以将每周独立访问者402的尖峰识别为具有由在重复考虑的时间段的一个或多个时段上的每周独立用户402的分析和建模所识别的起始点和结束点的提升时间分段403。
类似地,图4B识别了呈现的每周独立用户中的多个事件,其中在图表上标记的事件为超级碗414、三月疯狂416和美国公开赛418。这些事件中的每一个可以与由每周独立用户412的数据表示的较高级别“体育票”类别内的最低级别叶类别相关联。在图4B的自动完成历史数据中识别的这些事件可以用于识别将来的超级碗414、三月疯狂416和美国公开赛417的事件的自动完成事件时间帧413、415和417,并且在这些相应的重复考虑的事件时间帧413、415和417期间调整自动完成搜索结果。因此,如图所示,模型用于提升特定叶类别的结果分数的重复考虑的时间帧可以基于触发事件,而不是基于所考虑的总时间段内的特定时间段。因此,提升的时间段413、415和417可以基于事件日期而不是基于一致的开始和结束数据,事件日期可以在被认为与超级碗414、三月疯狂416和美国公开赛418的相应触发相关联的多个时间段上变化。
此外,多个事件时间帧可以重叠,使得任何数量的自动完成事件时间段可以同时发生,其中每个自动完成事件时间段影响自动完成搜索结果。因此,在使用评分的系统中,单个类别或多个类别可以具有它们的使用修改器调整的分数,以基于模型内的分析来添加或乘以基本分数。类似地,可以基于数据设置提升分数。例如,基于在时段413期间与标准的较大偏差,在所考虑的事件时间段413期间与超级碗414相关联的提升可以大于在所考虑的事件时间段415和417内的提升。
图5A-D然后示出了由于基于时间模型的调整而在不同时间段具有不同自动完成搜索结果的自动完成部分用户输入的四个示例。对于每个示例,使用至少部分地基于来自时间模型的所识别的自动完成事件时间段的一个自动完成搜索结果集合,并且呈现不使用所识别的自动完成事件时间段的第二自动完成搜索结果集合。
图5A示出了部分用户输入502和与根据接收的用户输入和其他元数据的记录识别的重复事件相关联的自动完成事件时间段504。如果在自动完成事件时间段504内的自动完成事件时间段期间接收到部分用户输入502,则第一自动完成结果集合506示出了如由时间模型修改的结果。在一些实施例中,自动完成事件时间段也可以被称为提升时间段。第二自动完成结果集合508示出了没有来自时间模型的调整的基线结果。如上所述,可以通过用与和自动完成事件时间段504相关联的类别相关联的串的提升值修改所考虑的每个可能串的分数来选择第一自动完成结果集合506中的文本串。在其他实施例中,可以使用基于在自动完成事件时间段期间接收的部分用户输入的其他修改。
图5B、图5C和图5D然后示出了基于部分用户输入的自动完成结果的类似比较。图5B示出了部分用户输入512、自动完成事件时间段514、基于时间模型调整的第一自动完成结果集合516和未被时间模型修改的第二自动完成结果集合518。
图5C和图5D然后示出了使用相同的部分用户输入522但在不同的自动完成事件时间段期间的示例。自动完成事件时间段524与作为夏季时段的历年的第20周相关联。基于时间模型,第一自动完成结果集合526略微不同于第二自动完成结果集合528。然而,在图5D中,自动完成事件时间段是历年的第2周,这是冬季时段。时间模型将“冬季运动”识别为在该自动完成时间段534期间基于接收到的用户输入的记录而提升的类别。来自与该类别相关联并且匹配部分用户输入522的先前接收的搜索的数据串因此被提升到第一自动完成结果集合536的顶部。然而,图5D中的第二自动完成结果集合528与图5C中的第二自动完成结果集合相同,其中使用未由时间模型调整的自动完成排序来考虑相同的部分用户输入522。
因此,如本文所述,包括自动完成的任何搜索系统或其他搜索排序系统可以使用由系统存储的历史数据作为接收的用户输入的记录,以识别数据类别的周期性事件或模式、特定数据串或与如图4A和图4B所示的某些元数据相关联的查询。接收到的用户输入的该记录然后用于生成捕获对某些搜索类别的历史需求的时间模型。当接收到部分用户输入时,可以基于如图5A-D所示的时间模型来调整提供给用户的自动完成搜索结果集合。
在一个实现方式中,所识别的自动完成事件时间段可以用于如以下影响自动完成搜索结果。自动完成数据库可以包括所有先前见过的用户输入的列表。这些用户输入可以包括用户键盘条目、自动完成搜索结果的用户选择、或任何其他这样的搜索输入。每个先前见过的用户输入可以与系统时间段或考虑的时间段相关联。这可以是一年中的一周,如图4A和图4B所示,或者可以是在考虑的时间段内的特定的一天、一个小时或一分钟。在某些实施例中,系统可以基于多个考虑的时间段。例如,系统可以包括对用户输入的每天变化以及用户输入中的每周和每年变化的单独调整。每个考虑的时间段可以被划分为多个时间分段。当接收到每个用户输入时,该用户输入与所考虑的时间段的特定时间分段相关联。每个用户输入还与用户输入的一个或多个类别相关联。因此,根据用户输入创建自动完成数据库,其中元数据将每个用户输入与所考虑的时间段的时间分段和一个或多个类别相关联。然后,可以分析自动完成数据库以确定用户输入中的模式。在一个实施例中,在每个时间分段期间分析每个类别以确定在时间分段期间与该类别相关联的所有用户输入的百分比。这是针对所考虑的时间段的每个时间分段来完成的。针对时间分段集合的与每个类别相关联的预期百分比的偏差可以被识别为自动完成事件时间段。这样的偏差可以是在所考虑的时间段期间与平均值的设定数量的标准偏差。这种偏差可以是在所考虑的时间段上百分比的任何其他这种可量化的变化。然后,偏差用于隐式地推断用于所考虑的时间段的未来重复的未来时间分段将包含类似的偏差。例如,可以推断万圣节之前的未来几周将看到与服装相关联的增加的用户输入,并且这将每年都发生。
当用户开始将用户输入键入客户端设备处的界面时,每个键击可以作为部分用户输入被发送到包括自动完成系统的联网系统。当自动完成系统接收到每个键击并调整部分用户输入时,它可以搜索包含在某些类别中的键击模式。对于与自动完成事件时间段不相关联的所考虑时段的时间分段,可以使用不使用来自上述系统的周期性数据的第一自动完成准则集合。取而代之地,这些自动完成准则可以基于平均或标准自动完成匹配,其基于其在整个考虑的时间段上的平均用户输入百分比来对来自自动完成类别的可能匹配进行加权。在其他实施例中,可以使用任何这样的自动完成搜索方法。当在自动完成事件时间段内接收到键击时,可以将加权因子添加到与自动完成事件时间段相关联的类别,其使得来自这些类别的词或短语更可能被选择为自动完成搜索结果,并且可以例如通过将这样的词或短语放置在自动完成搜索结果集合内的优选位置来进一步优先化这样的词或短语。
当接收到附加的键击时,可以用每次键击来更新搜索结果。当用户通过完成键击条目或通过选择所呈现的自动完成搜索结果条目来选择最终用户输入时,自动完成系统可以接收该信息作为用户输入。然后,用户输入可以与基于时间的元数据和类别元数据一起放置在自动完成数据库中。然后,可以使用该反馈信息来更新用于识别自动完成事件时间段的自动完成数据库的分析。可以在接收到每个用户输入时执行该更新,可以周期性地执行该更新,或者可以基于触发或操作员输入来执行该更新。
因此,在某些实施例中,存在周期性发生的事件。这种事件的示例包括年度事件,例如年假或年度体育事件。此外,诸如冬季体育赛季、夏季体育赛季或安排的体育赛季的季节性事件是这样的周期性事件。可以挖掘搜索数据以构建围绕用户搜索查询的时序数据和如查询的主导类别的周围元数据。该分析过程可以重复一个或多个考虑的时间段以识别和过滤可能的异常值或非时间峰值。例如,不是周期性的新产品发布可能在单个考虑的时间段中创建异常值偏差,该异常值偏差可以通过从多个考虑的时间段获得数据来过滤。
可以处理在所考虑的时间段上重复的时序数据,以在看到在给定时间段内的查询的数量的偏差或尖峰时识别时间点。在各种实施例中,可以完成分析以识别某些查询或主导类别或任何其他查询元数据的变化。该信息可以用于捕获与类别相关联的查询的数量的周期变化的模型。可以构建该模型,从而捕获该信息作为一个或多个自动完成事件时间段。然后,系统可以包括多个模型,其中每个模型基于从系统用户接收的观察到的搜索或自动完成选择的历史记录来覆盖特定时间段。
在与自动完成事件时间段相关联的所考虑的时间段的未来分段期间,可以在自动完成搜索结果中提升属于该元数据或类别的查询。换句话说,可以调整属于在先前考虑的时段的相同分段期间已经看到激增或变化的类别的查询,从而定制朝向时间事件的搜索结果。这可以另外具有在排序期间根据时间类别或元数据提升搜索项的结果。
因此,除了通过自动完成事件时间段调整自动完成结果之外,在接收到最终用户输入之后,还可以调整响应于最终用户输入而提供给客户端设备的搜索结果。例如,在基于类别的搜索中,用于调整上述自动完成搜索结果的相同过程还可以用于响应于用户输入来调整搜索结果和搜索结果排序。在某些实施例中,相同的分析、数据库和时间调整系统可用于自动完成搜索结果和响应于完成的用户输入的搜索结果。在其他实施例中,这些可以是具有单独准则的单独系统。
图6是示出了根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文讨论的方法中的任何一个或多个的机器600的组件的框图。在各种实施例中,应用服务器118、发布系统120、客户端设备110和112、数据库服务器124或作为本文所描述的任何实施例的一部分的任何其他这样的设备的各方面可以实现为机器600。在其他实施例中,这样的设备可以使用不同于图6的机器600的其他元件和设备来实现。图6示出了计算机系统的示例形式的机器600的图解表示,在机器600内,可以执行指令624(例如,软件、程序、应用、小应用程序、app或其他可执行代码)以使机器600执行本文所讨论的方法中的任何一个或多个。在备选实施例中,机器600作为独立设备操作或者可以连接至(例如联网至)其他机器。在联网部署中,机器600可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。机器600可以是服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、智能电话、网络设备、网络路由器、网络交换机、网桥或者能够顺序地或以其他方式执行指令624的任何机器,所述指令624指定了该机器要采取的动作。此外,虽然仅示出了单个机器,但是术语“机器”还应视为包括独立或联合执行指令624以执行本文讨论的方法中的任意一个或多个的机器集合。
机器600包括被配置为经由总线608彼此通信的处理器602(例如中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、或其任意适当组合)、主存储器604和静态存储器606。机器600还可以包括视频显示器610(例如等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))。机器600还可以包括字母数字输入设备612(例如键盘)、光标控制设备614(例如鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他定位仪器)、驱动单元616、信号生成设备618(例如,扬声器)和网络接口设备620。
驱动单元616包括其上存储有指令624的机器可读介质622,所述指令624具体实现本文描述的方法或功能中的任意一个或多个。指令624还可以在由机器600执行其期间完全或至少部分驻留在主存储器604内、处理器602内(例如处理器的高速缓存内)或两者内。因此,主存储器604和处理器602可以被视为机器可读介质。指令624可以通过网络626经由网络接口设备620发送或接收。
如本文所使用的,术语“存储器”指能够临时或永久地存储数据的机器可读介质,并且可以被视为包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存以及高速缓存存储器。尽管机器可读介质622在示例实施例中被示为单个介质,但是术语“机器可读介质”应当被视为包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库、或相关联的高速缓存和服务器)。术语“机器可读介质”还应当被视为包括能够存储指令的任何介质或多个介质的组合,所述指令供机器(例如,机器600)执行,使得指令当被机器的一个或多个处理器(例如处理器602)执行时使机器执行本文描述的方法中的任意一个或多个。因此,“机器可读介质”指单个存储装置或设备、以及包括多个存储装置或设备的“基于云”的存储系统或存储网络。因此,术语“机器可读机构”应当被视为包括但不限于固态存储器、光学介质、磁介质或其任意适当组合的形式的一个或多个数据存储库。
指令624还可以使用传输介质在通信网络626上经由网络接口设备620并利用多个已知传输协议中的任意一个(例如HTTP)来发送或接收。通信网络的示例包括局域网(LAN)、广域网(WAN)、互联网、移动电话网络、POTS网络以及无线数据网络(例如WiFi、LTE和WiMAX网络)。术语“传输介质“应当被视为包括能够存储、编码或承载用于由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质,以促进这种软件的通信。
某些实施例在本文中被描述为包括逻辑或多个组件、模块或机构。模块可以构成软件模块(例如,在机器可读介质上具体实现的代码)或硬件模块。“硬件模块”是能够执行某些操作的有形单元,并且可以按照某种物理方式配置或布置。在各种示例实施例中,一个或多个计算机系统(例如独立的计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或多个硬件模块(例如至少一个处理器或处理器组)可以由软件(例如应用或应用部分)配置为操作以执行本文描述的特定操作的硬件模块。
因此,短语“硬件模块”应当被理解为涵盖有形实体,是在物理上构造、永久配置(例如硬线连接)或临时配置(例如编程)为以特定方式操作或执行本文描述的特定操作的实体。如本文所使用的,“硬件实现的模块”指硬件模块。考虑临时配置(例如编程)硬件模块的实施例,无需在任一时刻配置或实例化硬件模块中的每一个。例如,在硬件模块包括被软件配置成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间被配置为分别不同的专用处理器(例如包括不同的硬件模块)。因此,软件将特定的一个或多个处理器例如配置为在一个时刻构成特定硬件模块并在另一时刻构成不同的硬件模块。
硬件模块可以向其他硬件模块提供信息并从其他硬件模块接收信息。因此,所描述的硬件模块可以被看作通信地耦合。在同时存在多个硬件模块的情况下,可以通过两个或更多个硬件模块之间的信号传输(例如通过适当的电路和总线)实现通信。在多个硬件模块在不同时间配置或实例化的实施例中,可以例如通过存储并检索多个硬件模块有权访问的存储器结构中的信息来实现这样的硬件模块之间的通信。例如,一个硬件模块可以执行操作并在与其通信耦合的存储设备中存储该操作的输出。另一硬件模块接着可以稍后访问存储器设备,以取回并处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且能够对资源(例如信息的集合)进行操作。
本文描述的示例方法的各种操作可以至少部分地由临时配置(例如通过软件)或永久配置为执行相关操作的一个或多个处理器执行。无论是临时还是永久配置,这样的处理器可以构成操作以执行本文描述的一个或多个操作或功能的处理器实现的模块。如本文所使用的,“处理器实现的模块”指使用一个或多个处理器实现的硬件模块。
类似地,本文描述的方法可以至少部分地由处理器实现,其中特定处理器或多个处理器是硬件的示例。例如,方法的至少一些操作可以由一个或多个处理器或处理器实现的模块执行。此外,一个或多个处理器还可操作以支持在“云计算”环境中或作为“软件即服务”(SaaS)执行有关操作。例如,至少一些操作可以由一组计算机(例如,包括处理器的机器)来执行,这些操作是可经由网络(例如,互联网)以及经由一个或多个适当的接口(例如,API)访问的。
某些操作的执行可以分布在处理器中,并不只驻留在单个机器内,而是部署在多个机器中。在一些示例实施例中,处理器或处理器实现的模块位于单个地理位置(例如,在家庭环境、办公环境或服务器群中)。在其他示例实施例中,处理器或处理器实现的模块可以分布在多个地理位置中。
图7示出了根据一些示例实施例的可以使用的示例方法700。方法700可以由设备600、联网系统102或本文描述的任何其他此类设备执行。方法700开始于操作702,操作702被执行以将所接收的用户输入的记录作为自动完成模型的一部分存储在自动完成数据库中。所接收的用户输入的记录可以包括部分用户输入和完整的用户输入的记录以及搜索选择。在其他实施例中,接收的用户输入的记录可以不包括每个用户输入的特定记录,而是可以仅包括根据用户输入生成的时间模型。这样的模型可以包括与类别、元数据或自动完成搜索的其他方面相关联的趋势或提升百分比数据。在其他实施例中,可以使用其他模型结构。
为了生成时间模型,在操作704中,接收的用户输入的记录中的每个用户输入与一个或多个类别和重复考虑的时间段的提升时间分段相关联,以构建捕获在提升时间段期间对于一个或多个类别的时间需求的时间模型。在操作704中,然后通过操作来构建时间模型,以将接收的用户输入的记录中的每个用户输入与一个或多个类别以及重复考虑的时间段的多个时间分段中的一个相关联,以便构建捕获对所述一个或多个类别的时间需求的时间模型,其中多个时间分段包括提升时间分段,并且其中一个或多个自动完成类别中的第一类别在提升时间分段期间与比在重复考虑的时间段内的用户输入的平均数量更大平均数量的用户输入相关联。提升分段可以以多种方式识别这种与平均值的偏差,而不是统计平均值的直接计算。这可以通过测量输入数量的阈值或者以识别提升时间分段中存在的偏差的任何其他形式来完成。
然后,在设备被设置为在提升时间分段期间从第一客户端系统接收部分用户输入时,在操作706中使用时间模型。在操作708中,使用时间模型至少部分地基于与部分用户输入相关联的提升时间段的识别来创建自动完成结果集合。
然后,方法700的附加实施例可以以各种方式进行进一步操作。例如,一个实施例可以在所考虑的时间段是一年并且多个时间分段中的每个时间分段是一周的情况下作用。这样的实施例可以进一步在提升的时间分段通过以下方式识别的情况下进一步操作:对于一个或多个类别中的每个类别,识别在所述重复考虑的时间段的每个时间分段内与该类别相关联的所有用户输入的百分比;识别多个时间分段中的与第一类别相关联的所有用户输入的概率偏离预期值大于阈值量的一个或多个时间分段;以及选择作为所述提升的时间分段的一个或多个时间分段,其中与所述第一自动完成类别相关联的所有用户输入的概率偏离所述预期值大于所述阈值量。
其他这样的实施例可以在提升的时间分段进一步与触发事件相关联的情况下操作。其他这样的实施例可以在触发事件是假日日期的情况下操作,其中提升的时间分段包括从假日日期之前的固定周数开始经过假日日期的那周的年度时段。其他这样的实施例可以在提升时间分段与年度开始数据和年度结束日期相关联的情况下操作。其他这样的实施例可以在提升时间分段由每周开始日和时间以及每周结束日和时间来识别的情况下操作。其他这样的实施例可以在至少部分地通过与接收的用户输入的记录中的每个用户输入一起接收的元数据来识别一个或多个类别中的每个类别的情况下操作。其他这样的实施例可以在以下情况下操作:一个或多个类别中的每个类别是在使用多个类别层结构化的类别树中的最低级别叶类别;类别树内的每个最低级别叶类别与数据库内的一个或多个搜索串相关联;以及将所接收的用户输入的记录中的每个用户输入与一个或多个类别相关联包括:访问所述数据库并且将每个用户输入与每个最低级别叶类别的一个或多个搜索串进行比较,以生成一个或多个类别和每个用户输入之间的关联。
其他这样的实施例可以在以下情况下操作:一个或多个处理器还被配置为使用对部分用户输入与一个或多个自动完成类别之间的预期关系排序的第一匹配分数集合来关联一个或多个类别和部分用户输入,其中基于一个或多个自动完成类别中的第一类别在提升的时间分段期间接收到比所考虑的时间段内的用户输入的平均数量更大平均数量的用户输入的确定,来对第一匹配分数集合进行加权。因此,匹配分数可以基于相对于所考虑的时间段的提升时段期间的平均值的变化,如图4A和4B所示。
其他这样的实施例可以在以下情况下操作:接收的用户输入的记录中的每个用户输入基于匹配评分与一个或多个类别相关联,匹配评分将每个用户输入的查询串的字符将和每个用户输入相关联的元数据与每个最低级别叶类别的元数据和每个最低级别叶类别的一个或多个搜索串进行比较以为所接收的用户输入的记录中的每个用户输入生成匹配评分结果集合。
机器和软件架构
软件架构与硬件架构结合使用以创建针对特定目的而定制的设备和机器。例如,与特定软件架构耦合的特定硬件架构将创建移动设备,诸如移动电话、平板设备等。稍微不同的硬件和软件架构可以产生智能设备,而另一组合产生用于在云计算架构内使用的服务器计算机。在这里呈现并非此类软件和硬件架构的所有组合,因为所属领域的技术人员可以容易地理解如何在不同于本文中包含的公开内容的上下文中实施本公开中所包含的构思。
图8是示出了可以结合本文所描述的各种硬件架构使用的代表性软件架构802的框图800。图8仅仅是软件架构的非限制性示例,并且将理解的是,可以实现许多其他架构以促进本文描述的功能。软件架构802可以在诸如图9的机器900的硬件上执行,机器900尤其包括处理器910、存储器930和输入/输出(I/O)组件950。代表性的硬件层804被示出并且可以表示例如图9的机器900。代表性硬件层804包括具有相关联的可执行指令808的一个或多个处理单元806。可执行指令808表示软件架构802的可执行指令。硬件层804还包括存储器和/或存储模块810,其还具有可执行指令808。硬件层804还可以包括如812所示的其他硬件,其表示硬件层804的任何其他硬件,诸如作为机器900的一部分示出的其他硬件。
在图8的示例架构中,软件架构802可以被概念化为层的堆叠,其中每层提供特定的功能。例如,软件架构802可以包括诸如操作系统814、库816、框架/中间件818、应用820和呈现层844的层。在操作上,层中的应用820和/或其他组件可以通过软件栈调用API调用824并接收被示出为响应于API调用824的消息826的响应、返回值等。所示的层本质上是代表性的,并且并非所有软件架构都具有所有层。例如,一些移动或专用操作系统可以不提供框架/中间件818层,而其他移动或专用操作系统可以提供这样的层。其他软件架构可以包括附加的或不同的层。
操作系统814可以管理硬件资源并提供公共服务。操作系统814可以包括例如内核828、服务830以及驱动器832。内核828可以用作硬件和其他软件层之间的抽象层。例如,内核828可以负责存储器管理、处理器管理(例如调度)、组件管理、联网、安全设置等。服务830可以为其他软件层提供其他公共服务。驱动器832可以负责控制底层硬件或与底层硬件接口连接。例如,驱动器832可以包括显示驱动器、相机驱动器、驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、驱动器、音频驱动器、电源管理驱动器等,这取决于硬件配置。
库816可以提供可以由应用820和/或其他组件和/或层使用的公共基础设施。库816通常提供允许其他软件模块以比直接与底层操作系统814的功能(例如,内核828、服务830和/或驱动器832)接口连接更容易的方式执行任务。库816可以包括可以提供诸如内存分配函数、串操作函数、数学函数等的函数的系统库834(例如,C标准库)。另外,库816可以包括API库836,例如媒体库(例如,用于支持各种媒体格式(诸如MPREG4、H.264、MP3、AAC、AMR、JPG、PNG)的呈现和操纵的库,)、图形库(例如,可以用于在显示器上渲染图形内容中的2D和3D的OpenGL框架)、数据库(例如,可以提供各种关系数据库功能的SQLite)、web库(例如,可以提供网络浏览功能的WebKit)等。库816还可以包括各种各样的其他库838以向应用820和其他软件组件/模块提供许多其他API。
框架/中间件818(有时也被称为中间件)可以提供可以由应用820和/或其他软件组件/模块使用的更高级公共基础设施。例如,框架/中间件818可以提供各种图形用户界面(GUI)功能、高级资源管理、高级定位服务等。框架/中间件818可以提供可以由应用820和/或其他软件组件/模块使用的广泛的其他API,其中一些可以特定于特定操作系统或平台。
应用820包括内置应用840和/或第三方应用842。代表性的内置应用840的示例可以包括但不限于联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息收发应用和/或游戏应用。第三方应用842可以包括任何内置应用840以及各种其他应用。在具体示例中,第三方应用842(例如,由除了特定平台的供应商之外的实体使用AndroidTM或iOSTM软件开发工具包(SDK)开发的应用)可以是在移动操作系统(例如iOSTM、AndroidTM、电话或其他移动操作系统)上运行的移动软件。在该示例中,第三方应用842可以调用由移动操作系统(例如,操作系统814)提供的API调用824以促进本文描述的功能。
应用820可以利用内置操作系统功能(例如,内核828、服务830和/或驱动器832)、库(例如,系统834、API 836和其他库838)和框架/中间件818来创建用户接口以与系统的用户交互。备选地或另外,在一些系统中,与用户的交互可以通过呈现层(例如呈现层844)发生。在这些系统中,应用/模块“逻辑”可以与和用户交互的应用/模块的各方面分离。
一些软件架构利用虚拟机。在图8的示例中,这由虚拟机848示出。虚拟机创建软件环境,其中应用/模块可以像在硬件机器(例如,图9的机器)上执行一样执行。虚拟机由主机操作系统(图8中的操作系统814)托管,并且通常但并非总是具有虚拟机监视器846,其管理虚拟机848的操作以及与主机操作系统(即,操作系统814)的接口连接。软件架构在虚拟机848(例如操作系统850、库852、框架/中间件854、应用856和/或呈现层858)内执行。在虚拟机848内执行的这些软件架构层可以与先前描述的相应层相同或可以不同。
图9是示出了根据一些示例实施例的能够从机器可读介质(例如,非易失性机器可读存储介质)读取指令(例如,处理器可执行指令)并且执行本文所讨论的方法中的任何一个或多个的机器900的组件的框图。具体地,图9示出了计算机系统的示例形式的机器900的示意性表示,其中可以执行指令916(例如,软件、程序、应用、小应用程序、app或其他可执行代码),所述指令916用于使机器900执行本文所讨论的方法中的任何一个或多个。例如,指令916可以使机器900执行图7的图的元素或本文所述的任何方法的元素。另外或备选地,指令916可以实现本文所描述的各种模块。在一些实施例中,这些模块可以作为相应模块的虚拟或分布式实现而分布在多个机器上。指令916将一般的未编程的机器变换成被编程为以所述方式执行所描述和示出的功能的特定机器。在备选实施例中,机器900作为独立设备操作或者可以耦合(例如,联网)到其他机器。在联网部署中,机器900可以在服务器-客户端网络环境中以服务器机器或客户端机器的容量操作,或者作为对等(或分布式)网络环境中的对等机器操作。机器900可以包括但不限于车辆集成计算机、服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、可穿戴设备或能够顺序地或以其他方式执行指定要由机器900采取的动作的指令916的任何机器。此外,尽管仅示出了单个机器900,但是术语“机器”也应该被认为包括单独或联合地执行指令916以执行本文所讨论的方法中的任何一个或多个的机器900的集合。
机器900可以包括处理器910、存储器930和I/O组件950,它们可以被配置为例如经由总线902彼此通信。在示例实施例中,处理器910(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC、射频集成电路(RFIC)、另一处理器或其任何适当组合)可以包括例如可以执行指令916的处理器912和处理器914。术语“处理器”旨在包括可以包括可以同时执行指令的两个或更多个独立处理器(有时被称为“内核”)的多核处理器。尽管图9示出了多个处理器910,但是机器900可以包括具有单个内核的单个处理器、具有多个内核的单个处理器(例如,多核处理)、具有单个内核的多个处理器、具有多个内核的多个处理器、或其任何组合。
存储器930可以包括主存储器932、静态存储器934或处理器910可以例如经由总线902访问的其他存储器和存储单元936。存储单元936可以包括或包含机器可读介质938的一个实施例。在一些实施例中,存储单元936、主存储器932和静态存储器934存储具体实现本文描述的方法或功能中的任何一个或多个的指令916。在其他实施例中,在指令916由机器900执行期间,指令916还可以完全或部分地驻留在主存储器932内、存储单元936内、至少一个处理器910内(例如,处理器的高速缓冲存储器内)或其任何合适的组合。因此,主存储器932、存储单元936和处理器910的存储器是机器可读介质的示例。
如本文所使用的,“机器可读介质”或“计算机可读介质”意指能够临时或永久地存储指令和数据的设备,并且可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存、光学介质、磁介质、高速缓冲存储器、其他类型的存储设备(例如,可擦除可编程只读存储器(EEPROM))和/或其任何合适的组合。术语“机器可读介质”或“计算机可读介质”应当被视为包括能够存储指令916的单个介质或多个介质(例如,集中式或分布式数据库或相关联的缓存和服务器)。术语“机器可读介质”还将被视为包括能够存储由机器(例如,机器900)执行的指令(例如,指令916)的任何介质或多个介质的组合,使得指令在由机器900的一个或多个处理器(例如,处理器910)执行时,使机器900执行本文所描述的方法中的任何一个或多个。因此,“机器可读介质”或“计算机可读介质”是指单个存储装置或设备以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。
I/O组件950可以包括用于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量等的各种各样的组件。包括在特定机器中的特定I/O组件950将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他这样的输入机构,而无头服务器机器将可能不包括这样的触摸输入设备。应当理解,I/O组件950可以包括图9中未示出的许多其他组件。I/O组件950根据功能被分组,以便简化以下讨论,并且分组不以任何方式是限制性的。在各种示例实施例中,I/O组件950可以包括输出组件952和输入组件954。输出组件952可以包括视觉组件(例如,显示器,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、声学组件(例如扬声器)、触觉组件(例如振动马达、电阻机构)、其他信号发生器等。输入组件954可以包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光-光学键盘或其他字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他定点仪器)、触觉输入组件(例如,物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏或其他触觉输入组件)、音频输入组件(例如,麦克风)等。
在另外的示例实施例中,I/O组件950可以包括各种其他组件中的相机956、运动组件958、环境组件960或位置组件962。一些实施例可以包括生物测定组件,其可以包括用于以下各项的组件:检测表达(例如,手表达、面部表情、声音表达、身体姿势或眼睛跟踪),测量生物信号(例如,血压、心率、体温、出汗或脑波),识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等。运动组件958可以包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境组件960可以包括例如照明传感器组件(例如光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、接近传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,为了安全而检测危险气体的浓度或测量大气中污染物的气体检测传感器)或可以提供与周围物理环境相对应的指示、测量或信号的其他组件。位置组件962可以包括位置传感器组件(例如,GPS接收器组件)、高度传感器组件(例如,高度计或气压计,其检测可以从其导出高度的气压)、取向传感器组件(例如,磁力计)等。
可以使用各种各样的技术来实现通信。I/O组件950可以包括通信组件964,其可操作以分别通过耦合982和耦合972将机器900耦合到网络980或设备970。例如,通信组件964可以包括网络接口组件或用于与网络980接口连接的其他合适的设备。在另外的示例中,通信组件964可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、组件(例如,低功耗)、组件和通过其他模式提供通信的其他通信组件。设备970可以是另一个机器或者各种外围设备中的任何一种(例如,通过USB耦合的外围设备)。
此外,通信组件964可以检测标识符或包括可操作以检测标识符的组件。例如,通信组件964可以包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件(例如,用于检测以下各项的光学传感器:一维条形码(例如通用产品代码(UPC)条形码)、多维条形码(例如快速响应(QR)码)、阿兹台克码、数据矩阵、Dataglyph、MaxiCode、PDF417、超码、UCC RSS-2D条形码和其他光学码)、或声学检测组件(例如,用于识别标记的音频信号的麦克风)。此外,可以经由通信组件964导出各种信息,例如经由互联网协议(IP)地理位置的位置、经由信号三角测量的位置、通过检测可以指示特定的位置的NFC信标信号的位置等。
具体实现为处理器可执行指令的指令916可以提供任何上述参考模块或结构的算法和编程表达,并且使模块能够执行本文描述的方法。可以经由网络接口设备(例如,包括在通信组件964中的网络接口组件)并利用多个公知的传输协议(例如,超文本传输协议(HTTP))中的任何一个来使用传输介质通过网络980发送或接收指令916。类似地,可以使用传输介质通过与设备970的耦合972(例如,对等耦合)发送或接收指令916。术语“传输介质”应当被视为包括能够存储、编码或携带指令916供机器900执行的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进这种软件的通信。传输介质是计算机可读介质的一个实施例。
在该说明书中,复数实例可以实现被描述为单数实例的组件、操作或结构。虽然一个或多个方法的各个操作被示出和描述为分离的操作,但是各个操作中的一个或多个可以同时执行,并且无需按所示顺序执行操作。在示例配置中被示为分离组件的结构和功能可以被实现为组合结构或组件。类似地,被示为单个组件的结构和功能可以被实现为分离的组件。这些和其他变型、修改、添加和改进落入本文中主题的范围内。
尽管已经参考具体示例实施例描述了本发明主题的概述,但是在不脱离本公开的实施例的更宽范围的情况下,可以对这些实施例进行各种修改和改变。本发明主题的这些实施例在本文中可以单独地或共同地由术语“发明”提及,以仅仅为了方便,并且不旨在自动地将本申请的范围限制为任何单个公开或发明构思(如果事实上公开了一个以上)。
充分详细地描述了本文示出的实施例以使本领域技术人员能够实现所公开的教导。可以利用其他实施例并根据这些实施例导出其他实施例,从而可以在不脱离本公开的范围的情况下做出结构和逻辑上的替换和改变。因此,该“具体实施方式”不应当被视为是限制意义,并且各种实施例的范围仅通过所附权利要求以及权利要求的等同物的全部范围来限定。
如本文所使用的,术语“或”可以被解释为包括性或排他性的意义。此外,可以针对本文中描述为单个实例的资源、操作或结构提供多个实例。另外,各种资源、操作、模块、引擎和数据存储之间的边界在某种程度上是任意的,并且在具体说明性配置的上下文中示出了特定操作。设想了功能的其他分配,并且这些分配可以落入本公开的各种实施例的范围内。一般来说,在示例配置中作为单独资源呈现的结构和功能可以被实现为组合的结构或资源。类似地,作为单个资源呈现的结构和功能可以被实现为单独的资源。这些和其他变型、修改、添加和改进落入由所附权利要求表示的本公开的实施例的范围内。因此,说明书和附图应当被视为说明性的而不是限制意义的。
Claims (20)
1.一种包括自动完成系统的联网系统,所述联网系统还包括:
一个或多个计算机处理器和存储设备,被配置为:
将所接收的用户输入的记录作为自动完成模型的一部分存储在自动完成数据库中;
将所接收的用户输入的记录中的每个用户输入与一个或多个类别以及重复考虑的时间段的多个时间分段中的一个时间分段相关联,以构建捕获对所述一个或多个类别的时间需求的时间模型,其中所述多个时间分段包括提升的时间分段,并且其中在所述提升的时间分段期间,所述一个或多个自动完成类别中的第一类别与相对于在所述重复考虑的时间段内的用户输入的平均数量的偏差相关联;
在所述重复考虑的时间段的所述提升的时间分段期间,从第一客户端系统接收部分用户输入;以及
使用所述时间模型创建自动完成结果集合,其中所述自动完成结果集合至少部分地基于在所述提升的时间分段期间接收的所述部分用户输入的识别。
2.根据权利要求1所述的系统,
其中,所考虑的时间段是一年;
其中所述多个时间分段中的每个时间分段是一周;
其中所述提升的时间分段通过以下方式识别:
针对所述一个或多个类别中的每个类别,识别在所述重复考虑的时间段的每个时间分段内与所述类别相关联的所有用户输入的百分比;
识别所述多个时间分段中的一个或多个时间分段,其中与第一类别相关联的所有用户输入的概率偏离预期值大于阈值量;以及
选择一个或多个时间分段作为所述提升的时间分段,其中与所述第一自动完成类别相关联的所有用户输入的概率偏离所述预期值大于所述阈值量。
3.根据权利要求2所述的系统,其中,所述提升的时间分段还与触发事件相关联。
4.根据权利要求3所述的系统,其中,所述触发事件是假日日期,其中所述提升的时间分段包括从所述假日日期之前的固定周数开始经过所述假日日期的周的年度时段。
5.根据权利要求1所述的系统,其中,所述提升的时间分段与年度开始日期和年度结束日期相关联。
6.根据权利要求1所述的系统,其中,所述提升的时间分段由每周开始日和时间以及每周结束日和时间来识别。
7.根据权利要求1所述的系统,其中,所述一个或多个类别中的每个类别至少部分地由与所接收的用户输入的记录中的每个用户输入一起接收的元数据来识别。
8.根据权利要求1所述的系统,其中,所述一个或多个类别中的每个类别是在利用多个类别层结构化的类别树内的最低级别叶类别;
其中所述类别树内的每个最低级别叶类别与数据库内的一个或多个搜索串相关联;以及
其中将所接收的用户输入的记录中的每个用户输入与所述一个或多个类别相关联包括:访问所述数据库并且将每个用户输入与每个最低级别叶类别的一个或多个搜索串进行比较,以生成所述一个或多个类别和每个用户输入之间的关联。
9.根据权利要求8所述的系统,其中,所述一个或多个处理器还被配置为:
使用对所述部分用户输入和所述一个或多个自动完成类别之间的预期关系进行排序的第一匹配分数集合来关联所述一个或多个类别和所述部分用户输入;以及
其中,基于以下的确定来对所述第一匹配分数集合进行加权:当与所考虑的时间段内的用户输入的平均数量相比时,所述一个或多个自动完成类别中的所述第一类别在所述提升的时间分段期间接收到比用户输入的平均数量更大的数量。
10.根据权利要求9所述的系统,其中,所接收的用户输入的记录中的每个用户输入基于匹配评分与所述一个或多个类别相关联,所述匹配评分将每个用户输入的查询串的字符和与每个用户输入相关联的元数据与每个最低级别叶类别的元数据和每个最低级别叶类别的一个或多个搜索串进行比较来为所接收的用户输入的记录中的每个用户输入生成匹配评分结果集合。
11.一种由包括一个或多个处理器和存储器的自动完成计算设备执行的方法,所述方法包括:
将所接收的用户输入的记录作为自动完成模型的一部分存储在自动完成数据库中;
将所接收的用户输入的记录中的每个用户输入与以下各项相关联:
一个或多个类别;以及
重复考虑的时间段的多个时间分段中的时间分段,用以构建捕获时间需求的时间模型;
根据所接收的用户输入的记录识别自动完成事件时间段,其中所述自动完成事件时间段包括在重复考虑的时间段内的第一时间段,并且其中所述一个或多个自动完成类别中的第一类别在所述自动完成事件时间段期间接收到比所考虑的时间段内的用户输入的平均数量更大数量的用户输入;
在所述自动完成事件时间段期间,从第一客户端系统接收部分用户输入;以及
使用对所述部分用户输入与所述一个或多个自动完成类别之间的预期关系进行排序的第一匹配分数集合来关联所述一个或多个类别和所述部分用户输入,其中基于以下的确定来对所述第一匹配分数集合进行加权:所述一个或多个自动完成类别中的第一类别接收到比在所考虑的时间段内的用户输入的平均数量更大数量的用户输入。
12.根据权利要求11所述的方法,还包括:
至少部分地基于响应于所述部分用户输入的所述自动完成事件时间段的识别来创建自动完成结果集合;以及
将所述自动完成结果集合传送到所述第一客户端设备。
13.根据权利要求12所述的方法,还包括:
在将所述自动完成结果集合传送到所述第一客户端设备之后,从所述第一客户端设备接收与所述部分用户输入相关联的完整用户输入;
将所述完整用户输入与所述自动完成结果集合进行比较;
用所述部分用户输入和所述完整用户输入来更新所接收的用户输入的记录;以及
基于所述完整用户输入与所述自动完成结果集合的比较来更新所述部分用户输入和所述完整用户输入与所述一个或多个类别的关联。
14.根据权利要求13所述的系统,其中,所述一个或多个类别中的每个类别是在利用多个类别层结构化的类别树内的最低级别叶类别;
其中所述类别树内的每个最低级别叶类别与数据库内的一个或多个搜索串相关联;以及
其中将所接收的用户输入的记录中的每个用户输入与所述一个或多个类别相关联包括:访问所述数据库并且将每个用户输入与每个最低级别叶类别的一个或多个搜索串进行比较,以生成所述一个或多个类别和每个用户输入之间的关联。
15.根据权利要求14所述的系统,其中,所接收的用户输入的记录中的每个用户输入基于匹配评分与所述一个或多个类别相关联,所述匹配评分将每个用户输入的查询串的字符和与每个用户输入相关联的元数据与每个最低级别叶类别的元数据和每个最低级别叶类别的一个或多个搜索串进行比较来为所接收的用户输入的记录中的每个用户输入生成匹配评分结果集合。
16.一种携带计算机可读指令的计算机可读介质,所述指令在由一个或多个处理器执行时使设备执行包括以下各项的方法:
将所接收的用户输入的记录作为自动完成模型的一部分存储在自动完成数据库中;
将所接收的用户输入的记录中的每个用户输入与以下各项相关联:
与一个或多个类别相关联的元数据;以及
重复考虑的时间段的多个时间分段中的时间分段,用以构建捕获所述元数据的时间需求的时间模型;
用所述时间模型根据所接收的用户输入的记录识别自动完成事件时间段,其中所述自动完成事件时间段包括在所述重复考虑的时间段内的第一时间段,并且其中所述一个或多个自动完成类别中的第一类别在所述自动完成事件时间段期间接收到比在重复考虑的时间段内的用户输入的平均数量更大数量的用户输入;
在所述重复考虑的时间段的自动完成事件时间段期间从第一客户端系统接收部分用户输入;
将所述部分用户输入与和所述一个或多个类别中的每个类别相关联的一个或多个历史搜索查询串进行比较;
基于以下各项来选择所述一个或多个类别中的第一类别:
所述部分用户输入与和每个类别相关联的一个或多个历史搜索查询串的比较;以及
使用所述时间模型来识别所述自动完成事件在所述重复的考虑时间段内;
基于使用所述时间模型对所述第一类别的选择来创建自动完成结果集合。
17.根据权利要求16所述的计算机可读介质,其中,所述指令还使所述设备执行包括以下各项的方法:
在将所述自动完成结果集合传送到所述第一客户端设备之后,从所述第一客户端设备接收与所述部分用户输入相关联的完整用户输入;
将所述完整用户输入与所述自动完成结果集合进行比较;以及
用所述部分用户输入和所述完整用户输入来更新所接收的用户输入的记录;以及
基于所述完整用户输入与所述自动完成结果集合的比较来更新所述部分用户输入和所述完整用户输入与所述一个或多个类别的关联。
18.根据权利要求17所述的计算机可读介质,其中,所述指令还使所述设备执行包括以下各项的方法:
在接收所述完整用户输入之前,接收第二部分用户输入;
将所述第二部分用户输入与和所述一个或多个类别中的每个类别相关联的一个或多个历史搜索查询串进行比较;
基于所述第二部分用户输入与和每个类别相关联的一个或多个历史搜索查询串的比较来更新对所述一个或多个类别中的第一类别的选择;以及
基于使用所述时间模型对所述第一类别的选择的更新来创建第二自动完成结果集合。
19.根据权利要求16所述的计算机可读介质,其中,所述第二部分用户输入是所述完整用户输入的前缀串,所述前缀串包括与所述完整用户输入的第一部分匹配的字符;以及
其中所述部分用户输入是所述第二部分用户输入的第二前缀串。
20.根据权利要求16所述的计算机可读介质,其中,所述自动完成时间段还与包括假日日期的触发事件相关联,其中所述自动完成时间段包括从所述假日日期之前的固定周数开始经过所述假日日期的周的年度时段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010798172.3A CN112035731B (zh) | 2014-09-30 | 2015-09-29 | 用于自动完成功能的改进的系统和方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462057548P | 2014-09-30 | 2014-09-30 | |
US62/057,548 | 2014-09-30 | ||
PCT/US2015/052862 WO2016053990A1 (en) | 2014-09-30 | 2015-09-29 | Identifying temporal demand for autocomplete search results |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010798172.3A Division CN112035731B (zh) | 2014-09-30 | 2015-09-29 | 用于自动完成功能的改进的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107077320A true CN107077320A (zh) | 2017-08-18 |
CN107077320B CN107077320B (zh) | 2020-08-25 |
Family
ID=55584711
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580053209.7A Active CN107077320B (zh) | 2014-09-30 | 2015-09-29 | 用于自动完成功能的改进的系统和方法 |
CN202010798172.3A Active CN112035731B (zh) | 2014-09-30 | 2015-09-29 | 用于自动完成功能的改进的系统和方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010798172.3A Active CN112035731B (zh) | 2014-09-30 | 2015-09-29 | 用于自动完成功能的改进的系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US10268778B2 (zh) |
EP (1) | EP3201757A4 (zh) |
KR (3) | KR102035400B1 (zh) |
CN (2) | CN107077320B (zh) |
AU (1) | AU2015324030B2 (zh) |
CA (1) | CA2961952C (zh) |
WO (1) | WO2016053990A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10268778B2 (en) | 2014-09-30 | 2019-04-23 | Ebay Inc. | Method of identifying temporal demand of queries and metadata to give better autocomplete queries and improved search results |
CN110009391A (zh) * | 2019-02-22 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 一种周期性事件信息确定方法及装置 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160196348A1 (en) * | 2015-01-07 | 2016-07-07 | International Business Machines Corporation | Re-ordering search results based on viewed pages |
US9928313B2 (en) * | 2015-06-15 | 2018-03-27 | Oath Inc. | Seasonal query suggestion system and method |
US10380190B2 (en) | 2015-11-18 | 2019-08-13 | International Business Machines Corporation | Optimized autocompletion of search field |
US10055095B2 (en) * | 2015-12-30 | 2018-08-21 | Ebay Inc. | Customizable autocomplete option |
US10534783B1 (en) * | 2016-02-08 | 2020-01-14 | Microstrategy Incorporated | Enterprise search |
US10846317B2 (en) * | 2016-11-22 | 2020-11-24 | Sap Se | Method and system for data processing and structural categorizing |
US10558686B2 (en) * | 2016-12-05 | 2020-02-11 | Sap Se | Business intelligence system dataset navigation based on user interests clustering |
US10545954B2 (en) * | 2017-03-15 | 2020-01-28 | Google Llc | Determining search queries for obtaining information during a user experience of an event |
GB201716305D0 (en) * | 2017-10-05 | 2017-11-22 | Palantir Technologies Inc | Dashboard creation and management |
US10769371B1 (en) * | 2017-11-28 | 2020-09-08 | Amazon Technologies, Inc. | Automatic execution of actions responsive to search queries |
US10782986B2 (en) | 2018-04-20 | 2020-09-22 | Facebook, Inc. | Assisting users with personalized and contextual communication content |
US11307880B2 (en) | 2018-04-20 | 2022-04-19 | Meta Platforms, Inc. | Assisting users with personalized and contextual communication content |
US11676220B2 (en) | 2018-04-20 | 2023-06-13 | Meta Platforms, Inc. | Processing multimodal user input for assistant systems |
US11715042B1 (en) | 2018-04-20 | 2023-08-01 | Meta Platforms Technologies, Llc | Interpretability of deep reinforcement learning models in assistant systems |
US11886473B2 (en) | 2018-04-20 | 2024-01-30 | Meta Platforms, Inc. | Intent identification for agent matching by assistant systems |
US10685180B2 (en) | 2018-05-10 | 2020-06-16 | International Business Machines Corporation | Using remote words in data streams from remote devices to autocorrect input text |
US10887262B1 (en) * | 2019-01-25 | 2021-01-05 | Twitter, Inc. | Visibility filtering |
US11574467B2 (en) | 2019-11-21 | 2023-02-07 | Kyndryl, Inc. | Document augmented auto complete |
US11809969B2 (en) * | 2020-06-30 | 2023-11-07 | Adobe Inc. | Dynamically integrating interactive machine learning multi-models |
US11886687B1 (en) * | 2020-09-23 | 2024-01-30 | Jetsmarter Inc. | Efficient route selection for client-initiated segments |
US11681743B2 (en) | 2020-11-20 | 2023-06-20 | International Business Machines Corporation | Type ahead search amelioration based on image processing |
JP2022131271A (ja) | 2021-02-26 | 2022-09-07 | 株式会社ブイ・テクノロジー | レーザアニール装置およびレーザアニール方法 |
AU2021440146A1 (en) * | 2021-04-08 | 2023-11-16 | Xero Limited | Systems and methods for scheduling information retrieval |
US20240104091A1 (en) * | 2022-09-23 | 2024-03-28 | Optum, Inc. | Machine learning techniques for generating personalized autocomplete prediction |
US12032608B1 (en) | 2023-02-06 | 2024-07-09 | Walmart Apollo, Llc | Systems and methods for generating query suggestions |
US12079279B2 (en) | 2023-02-06 | 2024-09-03 | Walmart Apollo, Llc | Systems and methods for generating query suggestions |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070050339A1 (en) * | 2005-08-24 | 2007-03-01 | Richard Kasperski | Biasing queries to determine suggested queries |
CN101196885A (zh) * | 2006-12-06 | 2008-06-11 | 鸿富锦精密工业(深圳)有限公司 | 网页数据自动填充系统及方法 |
US20090094145A1 (en) * | 2006-03-17 | 2009-04-09 | Nhn Corporation | Method and system for automatically completed general recommended word and advertisement recommended word |
US20090119289A1 (en) * | 2004-06-22 | 2009-05-07 | Gibbs Kevin A | Method and System for Autocompletion Using Ranked Results |
CN101681198A (zh) * | 2007-05-21 | 2010-03-24 | 微软公司 | 提供相关文本自动完成 |
WO2012156893A1 (en) * | 2011-05-18 | 2012-11-22 | Koninklijke Philips Electronics N.V. | Performing a search for a document |
US20120310973A1 (en) * | 2011-06-02 | 2012-12-06 | Ebay Inc. | System and method for determining query aspects at appropriate category levels |
CN102867011A (zh) * | 2005-08-24 | 2013-01-09 | 雅虎公司 | 在完成搜索查询之前提出可替代查询 |
CN103646089A (zh) * | 2013-12-13 | 2014-03-19 | 百度在线网络技术(北京)有限公司 | 自动搜索方法及装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564213B1 (en) | 2000-04-18 | 2003-05-13 | Amazon.Com, Inc. | Search query autocompletion |
US7496559B2 (en) * | 2002-09-03 | 2009-02-24 | X1 Technologies, Inc. | Apparatus and methods for locating data |
US20080162506A1 (en) * | 2007-01-03 | 2008-07-03 | Stephenson Janette W | Device and method for world wide web organization |
CN102132300B (zh) * | 2008-06-03 | 2018-02-02 | 扎斯特部件在线有限公司 | 在线列出物品的系统和方法 |
KR101453382B1 (ko) * | 2008-09-08 | 2014-10-21 | 에스케이커뮤니케이션즈 주식회사 | 사용자별 검색어 추천 시스템과 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체 |
US20140108445A1 (en) * | 2011-05-05 | 2014-04-17 | Google Inc. | System and Method for Personalizing Query Suggestions Based on User Interest Profile |
KR101318843B1 (ko) * | 2011-08-30 | 2013-10-17 | 성균관대학교산학협력단 | 시간 정보를 활용한 블로그 카테고리 분류 방법 및 장치 |
US9697016B2 (en) * | 2011-11-15 | 2017-07-04 | Microsoft Technology Licensing, Llc | Search augmented menu and configuration for computer applications |
US9305092B1 (en) * | 2012-08-10 | 2016-04-05 | Google Inc. | Search query auto-completions based on social graph |
US9613165B2 (en) * | 2012-11-13 | 2017-04-04 | Oracle International Corporation | Autocomplete searching with security filtering and ranking |
CN103064945B (zh) * | 2012-12-26 | 2016-01-06 | 吉林大学 | 基于本体的情境搜索方法 |
US20150149482A1 (en) * | 2013-03-14 | 2015-05-28 | Google Inc. | Using Live Information Sources To Rank Query Suggestions |
US9268880B2 (en) * | 2013-03-14 | 2016-02-23 | Google Inc. | Using recent media consumption to select query suggestions |
US9298852B2 (en) * | 2013-06-27 | 2016-03-29 | Google Inc. | Reranking query completions |
US8838518B1 (en) * | 2013-11-15 | 2014-09-16 | Pearson Education, Inc. | Educational querying processing based on detected course enrollment and course-relevant query time |
CA2961952C (en) | 2014-09-30 | 2018-11-20 | Ebay Inc. | Identifying temporal demand for autocomplete search results |
-
2015
- 2015-09-29 CA CA2961952A patent/CA2961952C/en active Active
- 2015-09-29 US US14/869,541 patent/US10268778B2/en active Active
- 2015-09-29 WO PCT/US2015/052862 patent/WO2016053990A1/en active Application Filing
- 2015-09-29 AU AU2015324030A patent/AU2015324030B2/en active Active
- 2015-09-29 EP EP15846998.1A patent/EP3201757A4/en not_active Withdrawn
- 2015-09-29 CN CN201580053209.7A patent/CN107077320B/zh active Active
- 2015-09-29 CN CN202010798172.3A patent/CN112035731B/zh active Active
- 2015-09-29 KR KR1020177011806A patent/KR102035400B1/ko active IP Right Grant
- 2015-09-29 KR KR1020207029217A patent/KR102310114B1/ko active IP Right Grant
- 2015-09-29 KR KR1020197030237A patent/KR102167250B1/ko active IP Right Grant
-
2019
- 2019-03-08 US US16/296,495 patent/US11132405B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090119289A1 (en) * | 2004-06-22 | 2009-05-07 | Gibbs Kevin A | Method and System for Autocompletion Using Ranked Results |
US20070050339A1 (en) * | 2005-08-24 | 2007-03-01 | Richard Kasperski | Biasing queries to determine suggested queries |
CN102867011A (zh) * | 2005-08-24 | 2013-01-09 | 雅虎公司 | 在完成搜索查询之前提出可替代查询 |
US20090094145A1 (en) * | 2006-03-17 | 2009-04-09 | Nhn Corporation | Method and system for automatically completed general recommended word and advertisement recommended word |
CN101196885A (zh) * | 2006-12-06 | 2008-06-11 | 鸿富锦精密工业(深圳)有限公司 | 网页数据自动填充系统及方法 |
CN101681198A (zh) * | 2007-05-21 | 2010-03-24 | 微软公司 | 提供相关文本自动完成 |
WO2012156893A1 (en) * | 2011-05-18 | 2012-11-22 | Koninklijke Philips Electronics N.V. | Performing a search for a document |
US20120310973A1 (en) * | 2011-06-02 | 2012-12-06 | Ebay Inc. | System and method for determining query aspects at appropriate category levels |
CN103646089A (zh) * | 2013-12-13 | 2014-03-19 | 百度在线网络技术(北京)有限公司 | 自动搜索方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10268778B2 (en) | 2014-09-30 | 2019-04-23 | Ebay Inc. | Method of identifying temporal demand of queries and metadata to give better autocomplete queries and improved search results |
CN110009391A (zh) * | 2019-02-22 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 一种周期性事件信息确定方法及装置 |
CN110009391B (zh) * | 2019-02-22 | 2023-06-02 | 创新先进技术有限公司 | 一种周期性事件信息确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107077320B (zh) | 2020-08-25 |
US20160092598A1 (en) | 2016-03-31 |
KR20170066529A (ko) | 2017-06-14 |
US20190228038A1 (en) | 2019-07-25 |
CN112035731B (zh) | 2024-09-24 |
EP3201757A1 (en) | 2017-08-09 |
KR102035400B1 (ko) | 2019-10-22 |
KR20200119913A (ko) | 2020-10-20 |
CA2961952A1 (en) | 2016-04-07 |
US10268778B2 (en) | 2019-04-23 |
KR20190119678A (ko) | 2019-10-22 |
WO2016053990A1 (en) | 2016-04-07 |
KR102167250B1 (ko) | 2020-10-19 |
US11132405B2 (en) | 2021-09-28 |
KR102310114B1 (ko) | 2021-10-08 |
AU2015324030A1 (en) | 2017-04-20 |
CA2961952C (en) | 2018-11-20 |
CN112035731A (zh) | 2020-12-04 |
AU2015324030B2 (en) | 2018-01-25 |
EP3201757A4 (en) | 2018-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107077320A (zh) | 识别对自动完成搜索结果的时间需求 | |
JP6802370B2 (ja) | 製品タイトルの選択 | |
JP6867479B2 (ja) | 画像解析および予測に基づく視覚検索 | |
CN107003987A (zh) | 增强的搜索查询建议 | |
CN109313542A (zh) | 识别缺失的浏览节点 | |
CN108431809A (zh) | 使用语义含义向量的跨语言搜索 | |
CN107430691A (zh) | 识别图像中描绘的物品 | |
CN107111591A (zh) | 在设备之间传送认证的会话和状态 | |
CN108140212A (zh) | 用于确定搜索种子的系统和方法 | |
CN107851091A (zh) | 物品列表特征的智能突出强调 | |
CN108885702A (zh) | 图像的分析和链接 | |
CN108027930A (zh) | 用于个性化的可操作的通知的系统和方法 | |
CN109416697A (zh) | 使用结果反馈的搜索系统 | |
CN108701140A (zh) | 从图像生成结构化查询 | |
CN108027944A (zh) | 电子商务中的结构化项目组织机制 | |
CN110494864A (zh) | 3d模型的集成 | |
CN110785755B (zh) | 用于内容生成的上下文识别 | |
CN107851086A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |