CN110494852B - 智能匹配自动完成系统 - Google Patents

智能匹配自动完成系统 Download PDF

Info

Publication number
CN110494852B
CN110494852B CN201780019537.4A CN201780019537A CN110494852B CN 110494852 B CN110494852 B CN 110494852B CN 201780019537 A CN201780019537 A CN 201780019537A CN 110494852 B CN110494852 B CN 110494852B
Authority
CN
China
Prior art keywords
category
feature
user input
data
input
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.)
Active
Application number
CN201780019537.4A
Other languages
English (en)
Other versions
CN110494852A (zh
Inventor
维卡斯·辛格
斯里尼瓦桑·瓦里皮雷迪
普拉莫德·波楚
苏什马·夏尔马
卡夫亚·穆加杜尔
克里斯多夫·迈克尔·马休斯
康斯坦丁·奥尔洛夫
米歇尔·瓦斯佩特-克拉默
玛格丽特·麦克唐纳
夏·克里斯廷·宋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
eBay Inc
Original Assignee
eBay Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by eBay Inc filed Critical eBay Inc
Publication of CN110494852A publication Critical patent/CN110494852A/zh
Application granted granted Critical
Publication of CN110494852B publication Critical patent/CN110494852B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90324Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/027Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes for insertion of the decimal point
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging

Abstract

本公开的各个方面包括一种系统和计算机实现的方法,所述系统包括存储至少一个程序的计算机可读存储介质,所述方法用于向对数据输入字段输入用户输入的用户提供附加输入的建议。在一些实施例中,所述方法包括接收经由客户端设备上呈现的用户界面的数据输入字段输入的初始用户输入,并且识别与初始用户输入相对应的主导类别。所述方法还包括识别与主导类别相对应的特征集合,并且基于特征集合中的每个特征的排名从特征集合中选择特征建议集合。所述方法还包括使得显示结合数据输入字段呈现的建议框。建议框包括特征建议集合的呈现。

Description

智能匹配自动完成系统
相关申请的交叉引用
本PCT申请要求于2016年7月19日递交的标题为“SMART MATCH AUTOCOMPLETESYSTEM”的美国专利申请序列号为15/214,237的优先权权益,并且还要求于2016年3月23日递交的标题为“SMART MATCH AND AUTOCOMPLETE CATEGORIZATION”的美国临时专利申请序列号62/312,032以及于2016年4月14日递交的标题为“SMART MATCH AND AUTOCOMPLETE”的美国临时专利申请序列号62/322,532的优先权权益,其所有内容通过引用整体并入本文。
技术领域
本申请涉及在线内容发布平台。具体地,示例实施例涉及用于通过提供输入与输入到数据输入字段中的输入相关联的附加相关项的提示来改进在线内容发布平台中的搜索取回的系统和方法。
背景技术
许多在线内容发布平台允许用户在线生成并发布内容,例如以web文档(例如,网页)的形式,其可以由其他用户使用网页浏览器或应用来查看。通常,内容发布平台包括搜索引擎或其他此类导航工具,其允许用户输入关键字并返回包括由内容发布平台容纳的相关内容物品或发布在内的结果的集合。
首次或不常来的用户经常无法为他们的内容创建针对其他用户的兴趣和搜索召回(search recall)的详细标题。结果,内容发布平台容纳了大量未被查看同时仍然在数据存储中使用宝贵空间的内容。此外,尽管内容发布平台可以容纳与用户的查询相关的内容,但是由于内容物品的标题的不足,内容发布平台所采用的搜索方法可能无法取回这种内容。备选地,搜索方法可能无法取回相关内容物品,因为用户查询缺乏足够的细节来识别用户正在搜索的内容的类型。
在线市场是示例内容发布平台,其允许用户以产品列表的形式创建内容,以将他们供出售的产品提供给其他用户。首次卖家和不常来的卖家可能无法创建针对买家兴趣和搜索召回的详细列表标题。这导致低质量标题的列表具有变低的转换率,这以负面的方式影响卖方的满意度,并且可能导致卖方不愿继续使用在线市场。
附图说明
各个所附附图仅示出了本公开的示例实施例,并且不可以被认为限制其范围。
图1是示出了根据示例实施例的智能匹配自动完成(SMAC)系统的架构图。
图2是示出了根据示例实施例的作为SMAC系统的子系统提供的索引生成系统的架构图。
图3是示出了根据示例实施例的SMAC系统运行的网络环境的框图。
图4至图7是示出了根据示例实施例的索引生成系统在生成紧凑索引文档时的示例操作的流程图。
图8至图12是示出了根据示例实施例的SMAC系统在提供SMAC服务时的示例操作的流程图。
图13A至图13F是示出了根据示例实施例的SMAC系统在提供SMAC服务时提供的用户界面的各方面的界面图。
图14A至图14C是示出了根据示例实施例的SMAC系统在提供SMAC服务时提供的用户界面的各方面的界面图。
图15是示出了根据一些实施例的可以实现SMAC系统的服务架构的图。
图16是示出了根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质)中读取指令并执行本文所讨论的方法中的任何一个或多个的机器的组件的框图。
具体实施方式
现在将具体参照用于执行本发明主题的具体示例实施例。在附图中示出了这些具体实施例的示例。将会理解,这些示例不旨在将权利要求的范围限制为所示实施例。相反,它们旨在涵盖本公开的范围内可能包括的备选方案、修改和等同物。在以下描述中,阐述了具体细节,以提供对本主题的透彻理解。在没有这些具体细节中的一部分或全部的情况下,实施例也可以被实现。
本公开的各方面涉及智能匹配自动完成(SMAC)系统,其通过帮助用户创建用于关键字搜索和标题创建(例如,物品列表标题创建)的高质量内容描述来解决上述问题。利用其自己的数据,内容发布平台可以基于内容的类别(例如,物品类别)指导用户在有意义的查询或标题中包括哪些关键字和描述。该数据基于识别哪些物品属性最重要的数据分析,并将这些特征表达给用户,以便他们可以在内容标题中包含这些特征以供发布。
图1是示出了根据示例实施例的SMAC系统100的架构图。如图所示,SMAC系统100包括:协调引擎102;搜索集群104;索引生成系统106;类别识别模块108;产品数据取回模块110;自动完成模块112;特征提取模块114;以及接口模块118。SMAC系统100的上述功能组件中的每一个被配置为彼此通信(例如,经由应用程序接口(API))。图1中示出的以及本文描述的任何一个或多个功能组件可以使用硬件(例如,机器的处理器)或硬件与软件的组合来实现。例如,本文描述的任何模块可以将处理器配置为执行本文中针对该模块描述的操作。
为了避免不必要的细节使本发明主题变得不清楚,对理解本发明主题来讲并不密切相关的各个功能组件(例如,模块、引擎和数据库)已在图1中略去。然而,本领域技术人员将容易地认识到,各个附加功能组件可得到SMAC系统100的支持,以促进在本文中没有特别描述的附加功能。此外,这些组件中的任何两个或更多个组件可被合并为单个组件,且本文中针对单个组件描述的功能可以细分到多个组件中。此外,根据各种示例实施例,图1中所示的任何功能组件可以在单个机器、数据库或设备内一起实现或单独实现,或者可以分布在多个机器、数据库或设备中。例如,SMAC系统100的任何功能组件可以实现为在一个或多个服务器上执行的网络服务。
协调引擎102与搜索集群104、类别识别模块108、数据取回模块110、自动完成模块112和特征提取模块114中的每一个通信并交换数据,以协调SMAC系统100的功能。在这样做时,协调引擎102接收并处理从用户设备接收的请求,并且进而经由API向搜索集群104、类别识别模块108、数据取回模块110、自动完成模块112和特征提取模块114中的一个或多个传送一个或多个请求,以取回从所请求的模块提供的数据。例如,协调引擎102可以经由表述性状态转移(REST)API向上述组件提交超文本传输协议(HTTP)请求(例如,GET请求)。
搜索集群104包括一组计算机器(例如,服务器),其被配置为提供具有可由协调引擎102访问的接口的分布式、具有多租户能力的全文搜索引擎。更具体地,搜索集群104被配置为提供针对离线过程中由索引生成系统106生成的紧凑索引文档116的搜索能力。搜索集群104可以例如实现为弹性搜索(Elasticsearch)集群。
紧凑索引文档116包括与各种内容类别相关的描述信息。内容类别与基于网络的内容发布平台容纳的内容相对应。以下参考图3讨论根据一些实施例的示例内容发布平台的更多细节。在示例中,内容发布平台是容纳产品列表的在线市场,并且内容类别是产品类别。紧凑索引文档116可以例如包括每个类别的特征集合、每个特征的特征值集合、条件数据、产品目录数据和特征元数据(例如,识别特征父子关系的元数据标签、指示特征是强制还是可选的元数据标签、指示特征集合是开集还是闭集的元数据标签、以及指示某些特征具有单个还是多个可能值的元数据标签)。关于索引生成系统106的更多细节将在下面参照图2进行讨论,并且以下参照图4至图8讨论关于用于生成紧凑索引文档116的离线过程的更多细节。
响应于从协调引擎102接收到请求,搜索集群104对紧凑索引文档116执行一系列查询以识别特定类别的特征集合,该特定类别可以是由内容发布平台容纳的内容的任何类别。在类别是产品类别的实例中,搜索集群104可以查询紧凑索引文档来识别与产品特征和产品类别相关的信息。在查询紧凑索引文档116时,搜索集群104利用针对紧凑索引文档116的格式优化过的查询结构。例如,搜索集群104可以按类别查询紧凑索引文档116,以识别类别的各个特征和每个特征的特征值。作为另一示例,搜索集群104可以按特征查询紧凑索引文档116,以识别该特征所属的类别和该特征的特征值。在又一示例中,搜索集群104可以按特征值查询紧凑索引文档116,以识别该特征值所属的特征和识别的特征所属的类别。
搜索集群104还可以从识别的特征中选择并返回某些重要特征,作为对来自协调引擎102的请求的响应。例如,搜索集群104从类别的每个可能特征中识别产品差异化特征、价格差异化特征以及可能是遵守内容发布者的商业规则所必需的强制性特征。产品差异化特征提供关于用户试图描述的产品的差异化细节,而价格差异化特征提供关于产品的货币价值的差异化细节。例如,在鞋子类别中,尺寸在许多情况下不是价格差异化特征,即,无论尺寸是10还是12,鞋子的货币价值都保持不变。然而,尺寸是产品差异化特征,因为买家可能会专门寻找特定的尺寸。另一方面,鞋子是皮鞋的事实将是价格差异化特征,也是产品差异化特征。强制性特征可以基于类别而变化,并且可以包括内容发布者认为是非可选的一个或多个特征。
类别识别模块108被配置为分析文本输入以识别与文本输入相对应的一个或多个类别。文本输入可以包括用户输入中包括的一个或多个关键字。在一些实例中,一个或多个关键字对应于或包括产品的描述符,并且类别识别模块108识别的一个或多个类别包括与产品相对应的产品类别。
在识别一个或多个类别时,类别识别模块108可以识别与文本输入相对应的多个可能类别。类别识别模块108基于与文本输入匹配的类别的可能性来确定每个识别出的可能类别的置信度分数。置信度分数的确定可以例如基于初始文本输入中包括的多个字符、特定类别中的产品的历史供求情况,或者基于二者的组合。响应于从协调引擎102接收到的请求,类别识别模块108可以选择具有最高置信度分数的类别以返回到编配引擎102。
数据取回模块110被配置为识别与接收到的用户输入相关联的数据记录(例如,文本输入或按钮的选择)并获取其中包括的信息。数据记录包括与内容发布平台所容纳的内容相关的描述性信息。在用户输入描述产品的实施例中,数据取回模块110取回产品数据记录,该产品数据记录包括与产品相关的描述性信息,例如图像、描述,并且在一些实例中,包括可用库存。例如,数据取回模块110可以使用文本输入中包括的一个或多个关键字来查询存储数据记录的数据库(例如,产品数据库)。例如,可以通过标题或诸如品牌名称、型号等的其他特征在数据库中对数据记录进行索引,并且文本输入中包括的关键字可以引用标题或包括其他这些特征,从而使数据取回模块110能够在数据库中定位相应的数据记录。
自动完成模块112被配置为在用户输入文本输入时预测单词或短语的剩余部分。自动完成模块112监视用户击键并基于最初键入的字符建议单词列表。这样,自动完成模块112可以分析部分文本输入,并提供针对附加文本输入的一个或多个建议以完成部分文本输入。可以在用户输入文本输入的图形用户界面(GUI)内显示针对附加文本输入的建议。例如,用户可以通过与GUI的适当交互来接受任何一个建议,诸如通过选择建议(例如,使用鼠标光标或通过提供基于触摸的手势)或通过按下tab键。
特征提取模块114被配置为分析文本输入以提取其中包括的类别特征值。在文本输入包括与产品相对应的关键字的实例中,特征提取模块114可以分析文本输入以提取产品的产品特征值。例如,在接收到“diesel slim fit jeans 32”(diesel修身牛仔裤)作为文本输入时,特征提取模块114可以提取“diesel”作为品牌特征的值,“slim fit”(修身)作为风格特征的值,以及“32”作为尺寸特征的值。特征提取模块114通过解析文本输入并将各个词语与类别识别模块108识别出的文本输入的类别的各个特征的已知特征值进行比较,来从文本输入中识别特征值。
如图所示,SMAC系统100还可以包括接口模块118,以将SMAC系统100的功能暴露给用户设备。接口模块118还提供允许与SMAC系统100交换数据的多个接口(例如,API或UI)。接口模块118接收来自用户设备的请求,并向设备传送适当的响应。接口模块118可以例如从设备接收具有超文本传输协议(HTTP)请求或其他基于web的API请求的形式的请求。
接口模块118还可以通过向用户设备发送呈现数据来提供用户界面,使得用户设备能够在显示器上呈现UI。接口模块118可以将呈现数据和一组指令一起发送给用户设备以显示呈现数据。用户设备可以临时存储呈现数据以使得能够显示UI。UI还可以包括允许用户指定各种输入的各种输入控制元素(例如,滑块、按钮、下拉菜单、复选框和数据输入字段),并且接口模块118接收并处理通过这些输入控制元素接收的用户输入。
图2是示出了根据示例实施例的索引生成系统106的架构图。如上所述,索引生成系统106是SMAC系统100的组件,因此可以被认为是SMAC系统100的子系统。如图所示,索引生成系统106包括索引生成器200,其获得包括叶类别204、特征数据206、特征元数据208、目录数据210和物品状况数据212在内的源数据202。
内容发布平台使用特定分类法对所容纳的内容进行分类。可以用类别树来维护分类法。类别树是包括分层树结构的数据结构,其中链接节点表示内容类别。继在线市场的示例内容发布平台之后,类别树可以与产品类别树相对应,并且每个节点表示产品类别。树的顶部节点被视为根节点。根节点可以包括一个或多个子节点(例如,直接连接到根节点的节点),每个子节点可以是附加的子节点的父节点。在类别树的上下文中,每个子节点可以表示父节点表示的类别的子类别。没有子节点的节点被视为叶节点。因此,叶类别204与类别树中没有子节点的类别相对应,或者换言之,与没有进一步的子类别的类别或子类别相对应。因此,叶类别204表示内容发布平台用于分类和组织内容的类别树中的最低级别粒度。
特征数据206包括每个叶类别204的特征集合,其与内容发布平台的内容分类法的最精细分类相对应。特征集合可以包括来自各种特征分类的特征,例如,价格差异化特征、产品差异化特征和强制性特征。特征数据206还包括每个特征的差异化分数。差异化分数包括:产品差异化分数,提供将与初始用户输入相对应的产品与主导类别中的其他产品差异化的特征的度量;以及价格差异化分数,其提供将与初始用户输入相对应的产品的货币价值与主导类别中的其他产品的货币价值差异化的特征的度量。可以基于对在线市场上销售的产品的历史供求情况的分析(例如,基于交易记录的分析)来确定差异化分数。例如,可以分析由在线市场维护的交易记录,以确定产品的哪些特征导致以更高的价格售出产品。
特征元数据208包括一个或多个标签,其提供关于特征数据206中包括的特征的附加信息。例如,标签可以包括以下各项的任何一个或多个:父/子标签,指示特定特征是否与另一特征具有父子关系;多选/单选标签,指示特征是否具有单个值或多个值;以及开/关标签,指示特征集合是开集还是闭集。
目录数据210包括目录启用标志,其指示任何叶类别204是否得到目录产品数据的支持。换言之,目录启用标志指示内容发布平台是否维护目录产品数据,其包括描述给定叶类别的特定产品的信息。针对包括目录启用标志的叶类别204,目录数据210还可以包括那些叶类别204中包括的产品的目录产品数据。
物品状况数据212包括每个叶子类别204中的产品的状况集合。在服装的示例类别中,物品状况可以包括“新”、“新且带标签”和“已使用”。在黑胶唱片的示例类别中,物品状况可以包括“新”、“已使用-像新的”、“已使用-非常好”、“已使用-好”、“已使用-可接受”。
索引生成器200可以通过经由一个或多个网络服务的一个或多个API传送适当的请求(例如,HTTP GET请求)来从一个或多个网络服务(例如,在服务器上执行的应用)获得源数据202。索引生成器200使用源数据202的组合来生成紧凑索引文档116。针对每个叶类别204,紧凑索引文档116包括相应的特征集合(例如,强制性特征、价格差异化特征和产品差异化特征)、每个特征的特征值集合(例如,对于特征“颜色”,特征值包括“红色”、“白色”、“蓝色”和“黑色”)、特征元数据(例如,指示特征集合是开集还是闭集或者指示特征是否包括父/子关系)、物品状况集合、特征集合中的每个特征的差异化分数、目录启用标志、以及在一些实例中,产品目录数据。紧凑索引文档116中的特征值可以被转换为键,以实现紧凑索引文档116的更有效的搜索(例如,更快的召回)。例如,包括特殊字符的特征值可以被转换为省略这种特殊字符的键(例如,特征值“rockies-wireless”可以被转换为键“RockiesWireless”)。索引生成器200可以生成具有与语言无关的格式的紧凑索引文档116,例如,JavaScript对象表示法(JSON)格式。
与一些实施例一致,作为离线批处理作业的一部分(例如,在没有人工干预的情况下执行的一系列任务),索引生成器200可以生成紧凑索引文档116。作为离线批处理作业的一部分,生成紧凑索引文档116提供了如下益处:将作业处理的时间转移到计算资源不太繁忙的时间,同时避免了频繁的人工干预和监督使计算资源闲置。此外,不同于多次运行一个程序来一次处理一个业务,离线批处理过程针对多个业务只执行一次,从而减少了系统开销。以下参考图4至图8讨论根据关于索引生成器200的用于生成紧凑索引文档116的过程的更多细节。
参考图3,示出了高级的基于客户端-服务器的架构300的示例实施例。虽然图3示出了基于客户端-服务器的架构300,但是本发明的主题当然不限于这种架构,并且同样适用于例如事件驱动的、分布式的或对等的架构系统。此外,为了避免用不必要的细节来模糊本发明的主题,图3中省略了与传达本发明主题的理解无关的各种功能组件。此外,应当理解,尽管图3中所示的各种功能组件以单数意义来讨论,但是可以采用各种功能组件中的任一种的多个实例。
内容发布平台302经由网络304(例如,互联网或广域网(WAN))向一个或多个客户端设备310提供服务器侧功能。例如,图3示出了web客户端312(例如,浏览器)、客户端应用314和在客户端设备310上执行的编程客户端316。网络304的一个或多个部分可以是adhoc网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网的一部分、公共电话交换网(PSTN)的一部分、蜂窝电话网、无线网络、WiFi网络、WiMax网络、另一类型的网络或两个或更多个这种网络的组合。
客户端设备310可以包括但不限于:移动电话、台式计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、笔记本计算机、多处理器系统、基于微处理器或可编程的消费电子产品、游戏机、机顶盒或用户可以用来访问内容发布平台302的任何其他通信设备。在一些实施例中,客户端设备310可以包括显示模块(未示出)以显示信息(例如,以用户界面的形式)。在另一些实施例中,客户端设备310可以包括触摸屏、加速度计、陀螺仪、相机、麦克风、全球定位系统(GPS)设备等中的一个或多个。在一个实施例中,内容发布平台302是基于网络的市场,其发布包括在基于网络的市场上可用的产品的物品列表的公开(例如,web文档)。
一个或多个用户306可以是人、机器或与客户端设备310交互的其他装置。在示例实施例中,用户306不是网络架构300的一部分,但可以经由客户端设备310或另一装置与网络架构300进行交互。例如,用户306可以向客户端设备310提供输入(例如,触摸屏输入或字母数字输入),并且经由网络304将该输入传送给内容发布平台302。在该实例中,内容发布平台302响应于从用户306接收到的输入,经由网络304将信息传送给客户端设备310以呈现给用户306。以这种方式,用户306可以使用客户端设备310与内容发布平台302交互。
每个客户端设备310可以包括一个或多个客户端应用314(也称作“app”),例如但不限于web浏览器、消息应用、电子邮件(email)应用、电子商务网站应用(也称作市场应用)等。在一些实施例中,如果电子商务网站应用被包括在客户端设备310中,则该应用可以被配置为本地提供用户界面以及功能中的至少一些,其中该应用被配置为根据需要与内容发布平台302通信,以获得本地不可用的数据或处理能力(例如,访问可供销售的物品的数据库、认证用户、验证支付方法等)。相反,如果电子商务网站应用未被包括在客户端设备310中,则客户端设备310可以使用其web浏览器来访问内容发布平台302上容纳的电子商务网站(或其变型)。
应用程序接口(API)服务器320和网络服务器322耦接至应用服务器340,并分别向应用服务器340提供编程接口和网络接口。应用服务器340可以容纳发布系统342和SMAC系统100,发布系统342和SMAC系统100中的每一个可以包括一个或多个模块或应用,并且每个模块或应用可以体现为硬件、软件、固件或它们的任意组合。继而,示出了应用服务器340被耦接到便于访问数据库326的数据库服务器324。在示例实施例中,数据库326是存储要由发布系统342公告(例如,发布或列表)的信息(例如,数据记录)的存储设备。根据示例实施例,数据库326还可以存储数字物品信息。
附加地,在第三方服务器330上执行的第三方应用332被示为具有经由API服务器320所提供的编程接口对内容发布平台302的编程访问。例如,第三方应用332利用从内容发布平台302获取的信息,支持第三方所容纳的网站上的一个或多个特征或功能。
发布系统342向访问内容发布平台302的用户306提供多个发布功能和服务。例如,发布系统342提供允许用户306使用客户端设备310创建并发布web文档的接口(例如,通过与客户端设备310通信)。发布系统342还可以提供允许用户306修改发布的web文档的各个部分的接口。
虽然发布系统342和SMAC系统100在图3中都被示为形成内容发布平台302的一部分(例如,发布系统342和支SMAC系统100是内容发布平台302的子系统),但是应当理解,在备选实施例中,每个系统342和100可以形成与内容发布平台302分离且不同的服务的一部分。在一些实施例中,SMAC系统100可以形成发布系统342的一部分。
图4是示出了根据示例实施例的索引生成系统106在执行生成紧凑索引文档116的方法400时的示例操作的流程图。方法400可以以计算机可读指令实现,指令由一个或多个处理器执行,使得方法400的操作可以部分或全部由索引生成系统106执行;因此,下面通过参考其示例的方式描述方法400。然而,应当理解,方法400的至少一些操作还可以部署在各种其他硬件配置上,并且方法400不意图限制于索引生成系统106。
在操作405,索引生成器200识别内容发布平台302的类别树中包括的叶类别204。类别树是包括分层树结构的数据结构,其中链接节点表示类别(例如,内容或产品类别)。内容发布平台302使用类别树来分类和组织内容。如上所述,叶类别204是类别树中最低级别粒度的类别(例如,没有子节点的节点)。
在操作410,索引生成器200取回描述叶类别204的源数据202。如上所述,除了叶类别204之外,源数据202还包括特征数据206、特征元数据208、目录数据210和物品状况数据212。可以从一个或多个源(例如,内容发布平台302内部的网络服务,或第三方提供的网络服务)取回源数据202。例如,索引生成器200可以经由一个或多个API向一个或多个网络服务传送一个或多个适当格式化的请求(例如,HTTP GET请求),以从中取回源数据202。
在操作415,索引生成器200使用源数据202的组合来生成复合文档(例如,电子文档)。该文档为紧凑索引文档116提供了基础。针对每个叶类别204,紧凑索引文档包括相应的特征集合、特征元数据(例如,指示特征集合是开集还是闭集,或者特征是否包括父/子关系)、物品状况集合、特征集合中的每个特征的差异化分数、目录启用标志、以及在一些实例中,产品目录数据。索引生成器200可以生成具有与语言无关的格式(例如JSON)的紧凑索引文档。
在操作420,索引生成器200基于源数据202中包括的差异化分数(例如,产品差异化分数和价格差异化分数)对每个叶类别204的特征集合进行排序。例如,索引生成器200可以按排名顺序对特征集合进行排序,所述排名顺序考虑被识别为强制性特征的特征、特征的产品差异化分数以及特征的价格差异化分数。
在一些实施例中,作为排序的一部分,索引生成器200可以基于排名顺序来分割特征集合。例如,索引生成器200可以基于指示特征是强制性的特征元数据208来将特征的这类子集分类为强制性特征。作为另一示例,索引生成器200可以根据产品差异化分数将排名顺序最高的特征的子集分类为产品差异化特征。作为又一示例,索引生成器200可以将根据价格差异化分数将排名顺序最高的特征的子集分类为价格差异化特征。索引生成器200可以按如下排名顺序对特征进行排序:1)强制性特征;2)价格差异化特征;以及3)产品差异化特征。
在操作425,索引生成器200对复合文档进行索引,从而生成紧凑索引文档116。索引生成器200可以使用任何索引算法来执行便于搜索集群104进行搜索的操作425。
在操作430,索引生成器20将紧凑索引文档116注入搜索集群104中。索引生成器200可以通过执行一个或多个API调用来注入紧凑索引文档116,所述API调用使得紧凑索引文档116存储在搜索集群104可访问的存储仓库(例如,网络数据库)中。
如图5所示,方法400可以包括附加操作505、510、515、520、525、530、535和540。在一些示例实施例中,操作505和510可以作为方法400的操作405的一部分(例如,前期任务、子例程或部分)来执行,其中索引生成器200识别叶类别204。在操作505,索引生成器200经由第一API向负责维护和分析类别树的第一网络服务传送第一请求(例如,HTTP GET请求)。响应于接收到该请求,第一网络服务遍历类别树以识别与叶类别204相对应的叶节点(例如,没有子节点的节点)。在操作510,索引生成器200响应于第一请求从第一网络服务接收叶类别204。
在一些示例实施例中,操作515、520、525、530、535和540可以作为方法400的操作410的一部分(例如,前期任务、子例程或部分)来执行,其中索引生成器200获得源数据202。在操作515,索引生成器200经由第二API向负责维护和分析特征数据206和特征元数据208的第二网络服务传送第二请求(例如,HTTP GET请求)。作为响应,第二网络服务访问一条或多条数据记录(例如,存储在数据库326中的)以识别特征数据206和特征元数据208。在操作520,索引生成器200响应于第二请求从第二网络服务接收特征数据206和特征元数据208。
在操作525,索引生成器200经由第三API向负责维护和分析目录数据210的第三网络服务传送第三请求(例如,HTTP GET请求)。作为响应,第三网络服务访问一条或多条数据记录(例如,存储在数据库326中的)以确定哪些类别启用了产品目录数据,并且在类别启用了产品目录数据的情况下,第三网络服务获取相应的目录数据210。在操作530,索引生成器200响应于第三请求从第三网络服务接收目录数据210。
在操作535,索引生成器200经由第四API向负责维护和分析物品状况数据212的第四网络服务传送第四请求(例如,HTTP GET请求)。作为响应,第四网络服务访问一条或多条数据记录(例如,存储在数据库326中的)以识别物品状况数据212。在操作540,索引生成器200响应于第四请求从第四网络服务接收物品状况数据212。
如图6所示,方法400可以包括附加操作605、610、615和620。在一些示例实施例中,操作605、610、615和620可以作为方法400的操作415的一部分(例如,前期任务、子例程或部分)来执行,其中索引生成器200生成复合文档。
在操作605,索引生成器200创建包括特征数据206和特征元数据208的特征数据文件。特征数据文件包括每个叶类别204的特征集合、每个特征的差异化分数、以及一个或多个元数据标签。索引生成器200创建具有与语言无关的格式(例如JSON)的特征数据文件。
在操作610,索引生成器200创建包括目录数据210的目录数据文件。目录数据文件包括任何叶类别204是否包括产品目录数据的指示(例如,标志),并且在类别204包括产品目录数据的情况下,目录数据文件包括产品目录数据。索引生成器200创建具有与语言无关的格式(例如JSON)的目录数据文件。
在操作615,索引生成器200创建包括状况数据212的状况数据文件。状况数据212包括每个叶类别的状况集合。索引生成器200创建具有与语言无关的格式(例如JSON)的状况数据文件。
在操作620,索引生成器200合并特征数据文件、目录数据文件和状况数据文件以创建复合文档。如上所述,索引生成器200创建具有与语言无关的格式(例如JSON)的复合文档。
如图7所示,方法400可以包括附加操作705、710、715和720。在一些示例实施例中,所包括的操作705、710、715和720可以作为方法400的操作420的一部分(例如,前期任务、子例程或部分)来执行,其中索引生成器200对复合文档中的特征进行排序。在图7的上下文中,可以针对(叶类别204中的)每个叶类别的相应的特征集合重复操作705、710、715和720。
在操作705,索引生成器200基于特征元数据208的一部分(例如,特征元数据208的描述特征集合的部分)从特征集合中识别叶类别的强制性特征。索引生成器200通过识别特征集合的子集来识别强制性特征,所述特征集合的子集包括指示特征是强制性的元数据标签。
在操作710,索引生成器200基于叶类别中的每个特征的价格差异化分数,从特征集合中识别叶类别的最靠前的价格差异化特征。例如,索引生成器200可以通过根据价格差异化分数识别具有最高排名顺序的特征集合的子集,以识别价格差异化特征。
在操作715,索引生成器200基于类别中的每个特征的产品差异化分数,从特征集合中识别叶类别的最靠前的产品差异化特征。例如,索引生成器200可以通过根据产品差异化分数识别具有最高排名顺序的特征集合的子集,以识别产品差异化特征。
在操作720,索引生成器200使用强制性特征、最靠前的价格差异化特征和最靠前的产品差异化特征对所述特征集合进行排名。例如,索引生成器200可以根据特征分类对特征集合进行排名,例如,按以下顺序:1)强制性特征;2)最靠前的价格差异化特征;以及3)最靠前的产品差异化特征。索引生成器200可以对经排名的特征集合进行去重(例如,通过移除集合中的一个或多个重复特征),以便对特征出现在多于一个特征分类中的情况(例如,特征同时是最靠前的价格差异化特征和产品差异化特征)进行补偿。以这种方式,索引生成器200确保单个特征不会在经排名的特征集合中出现多次。
方法400可以全部地或部分地在离线批处理作业中执行(例如,在没有人工干预的情况下执行的一系列任务)。附加地,可以周期性地(例如,每周)重复方法400,以使紧凑索引文档116与当前信息保持最新同步。
图8至图12是示出了根据示例实施例的SMAC系统100在提供SMAC服务的方法800时的示例操作的流程图。方法800可以以计算机可读指令实现,该指令由一个或多个处理器执行,使得方法800的操作可以由SMAC系统100部分地或全部地执行;因此,下面通过参考其示例的方式描述方法800。但是,应当理解,方法800的至少一些操作还可以部署在各种其他硬件配置上,并且不意图限制于SMAC系统100。
在操作805,接口模块118接收由用户输入到客户端设备310上呈现(例如,显示)的用户界面的初始用户输入(例如,文本输入或对交互元素的选择)。例如,数据输入字段可以是诸如搜索框的文本输入字段,并且用户306可以将初始文本输入输入到文本输入字段中。初始用户输入可以包括与(例如,产品的)部分标题或部分描述相对应的一个或多个完整或部分关键字。作为另一示例,数据输入字段可以包括与类别、子类别、方面或特征值相对应的一个或多个交互元素(例如,可选按钮或其他此类UI元素),并且初始用户输入可以包括对一个这样的交互元素(例如,与产品的类别或子类别相对应的按钮)的选择。
在操作810(其在一些实施例中是可选的),协调引擎102检测初始文本输入中包括的阈值数量的字符。阈值数量可以是由SMAC系统100的管理员设置的可配置值。
在操作815,协调引擎102识别与初始用户输入相对应的主导类别,在一些实施例中,其响应于确定作为初始用户输入的一部分所包括的文本输入包括阈值数量的字符。在用户输入包括与产品相对应的关键字的实施例中,协调引擎102识别与该产品相对应的产品类别。在示例中,用户可以输入“牛仔裤”,并且协调引擎102可以将“服装”识别为主导类别。
在识别与初始用户输入相对应的类别时,协调引擎102可以向包括初始用户输入的类别识别模块108传送请求(例如,HTTP GET请求)。作为响应,类别识别模块108识别与初始用户输入相对应的多个可能类别。类别识别模块108基于与初始用户输入匹配的类别的可能性(例如,基于用户输入中的字符数和/或每个类别中的产品的历史供求情况)为每个识别出的可能类别分配置信度分数。然后,类别识别模块108使用置信度分数来选择主导类别,所述主导类别是具有最高置信度分数的类别。类别识别模块108响应于请求将主导类别提供回协调引擎102。在一些实施例中,响应还包括剩余的多个可能类别中的至少一部分。
在操作820,协调引擎102识别与主导类别相对应的特征集合。特征集合包括特征分类的各种组合。例如,特征集合可以包括以下特征分类中的任何一个:强制性特征、价格差异化特征、产品差异化特征。
在识别与主导类别相对应的特征集合时,协调引擎102向搜索集群104传送搜索请求。例如,搜索请求可以包括主导类别,并且响应于接收到搜索请求,搜索集群104使用主导类别来搜索紧凑索引文档116(例如,通过执行一系列查询)来识别与主导类别相对应的特征集合。例如,搜索集群104可以执行查询以按类别识别所有特征、执行查询以按类别和特征名称识别所有特征、以及执行查询以按类别、特征名称和令牌识别所有特征。搜索集群104响应于该请求将特征集合提供回协调引擎102。如上所述,可以基于特征元数据和差异化分数(例如,产品差异化分数或价格差异化分数)对特征集合进行排序。例如,特征集合可以是如下的排名顺序:1)强制性特征;2)价格差异化特征;以及3)产品差异化特征。
在操作825,协调引擎102选择用于在用户界面内呈现的特征集合的子集,以便作为完成输入到数据输入字段中的初始用户输入时要考虑的特征的建议。特征的子集包括被认为是主导类别的最重要特征的特征。因此,特征的子集可以包括产品差异化特征、价格差异化特征和强制性特征。可以基于分配给特征集合的排名来选择特征集合的子集,该排名基于一个或多个差异化分数。例如,协调引擎102可以选择具有最高排名的特征的子集。特征的子集中包括的特征的数量是可配置值,其可以由SMAC系统100的管理员进行设置。还可以基于可用显示空间的量(例如,屏幕大小)动态地配置特征的数量。因此,SMAC系统100提供的SMAC服务可以在移动和web体验之间变化。
在操作830,协调引擎102结合接口模块118进行工作(例如,通过产生一个或多个API调用),使得在客户端设备310上呈现的用户界面内显示结合数据输入字段呈现的建议框(例如,在数据输入字段下方)。建议框包括特征建议集合的呈现以及使用与特征建议集合相关的附加输入(例如,附加文本输入)来完成初始用户输入(例如,文本输入)的提示。更具体地,提示可以请求用户输入与一个或多个特征建议相对应的特征值。以这种方式,如果用户306试图描述产品,则提示用户306输入重要的附加信息(例如,特征建议的特征值)以改善对产品的描述,从而提高内容发布平台302(具有在线市场的示例形式)识别用户正在描述的产品的能力。
在一些实施例中,建议框还可以包括与特征建议集合中的一个或多个特征建议的特征值相对应的可选元素(例如,按钮)。作为其他用户输入的一部分,用户306可以选择可选元素中的任何一个(例如,通过鼠标点击或触摸屏手势)以包括相应的特征值。
如图9所示,方法800可以包括附加操作835、840、845、850和855。在一些示例实施例中,可以在方法800的操作830之后执行操作835、840、845、850和855,其中接口模块118使得结合数据输入字段来显示建议框。
在操作835,接口模块118接收由用户输入到客户端设备310上呈现(例如,显示)的用户界面的其他用户输入(例如,文本输入或对与特征值相对应的按钮的选择)。例如,用户306可以在输入初始文本输入之后在数据输入字段(例如,搜索框)中输入其他文本输入。其他文本输入可以包括与(例如,产品的)标题或描述相对应的一个或多个附加关键字。
在操作840(其在一些实施例中是可选的),协调引擎102检测其他用户输入的其他文本输入中包括的特征建议的特征值。在示例中,在建议框中显示的特征建议包括“尺寸”,并且协调引擎102检测到其他文本输入中包括的“小号”。
响应于检测到特征建议的特征值,协调引擎102向特征提取模块114传送包括其他文本输入的请求(例如,HTTP GET请求)。作为响应,特征提取模块114将其他文本输入与对应于主导类别的特征集合中的每个特征的特征值进行比较。基于该比较,特征提取模块114识别特征值所属的特征。特征提取模块114响应于该请求将识别出的特征返回至协调引擎102。协调引擎102将从特征提取模块114返回的识别出的特征与特征建议集合进行比较,以确定其他文本输入是否包括特征建议之一的特征值。
在操作845,协调引擎102结合接口模块118进行工作,以基于其他用户输入来更新建议框。更新建议框可以包括从所呈现的特征集合中移除特征建议的显示或者用备选特征建议替换特征建议之一的显示。在用备选特征建议替换特征建议的实例中,协调引擎102可以选择排名次高的特征呈现在建议框中作为备选特征建议。
在更新建议框之后,即,在更新之后立即或在输入其他文本输入之后,用户可以提交输入到数据输入字段中的输入(例如,至少初始用户输入或其他用户输入的组合)来作为完整的用户输入。用户可以使用结合用户界面内的数据输入字段呈现的可选元素(例如,按钮)来提交完整输入。
在操作850,数据取回模块110识别与接收到的用户输入相关联的数据记录。数据记录包括与内容发布平台302容纳的内容相关的描述性信息。在内容发布平台302是在线市场形式并且用户输入描述产品的实施例中,数据取回模块110取回产品数据记录,该产品数据记录包括与产品相关的描述性信息,例如图像、描述,并且在一些实例中,包括可用库存。数据取回模块110可以使用完成的用户输入中包括的一个或多个关键字来查询数据库326(例如,产品数据库)。
在操作855,数据取回模块110提供数据记录的一部分以供显示(例如,在客户端设备310上)。在示例中,数据记录可以包括描述产品的web文档(例如,网页),并且数据取回模块110可以向接口模块118提供该web文档以在客户端设备310上进行显示。在另一示例中,数据记录可以包括描述产品的信息,并且数据取回模块110可以向发布系统342提供该信息以预填充用于创建产品描述(例如,产品列表)的电子表单。
如图10所示,方法800可以包括附加操作865和870。在一些示例实施例中,可以在方法800的操作830之后执行方法800中包括的操作865和870,其中接口模块118使得结合数据输入字段来显示建议框。
在操作865,协调引擎102从输入到数据输入字段中的用户输入中包括的文本输入中提取特征值。文本输入包括初始文本输入,并且还可以包括其他文本输入。在提取特征值时,协调引擎102向包括文本输入的特征提取模块114传送请求(例如,HTTP GET请求)。作为响应,特征提取模块114解析文本输入以识别关键字,并将识别出的关键字与对应于主导类别的特征集合中的每个特征的特征值进行比较。基于该比较,特征提取模块114识别特征值所属的特征。特征提取模块114响应于该请求将识别出的特征返回至协调引擎102。
在操作870,可以被SMAC系统100用特征值和识别的特征预配置的发布系统342使用该特征值和识别的特征来预填充电子表单。例如,可以提供电子表单以创建产品描述(例如,用于产品列表)。电子表单可以包括多个数据输入字段,其中每个数据输入字段与一个特征相对应。在预填充电子表单时,发布系统342可以使用特征值来填充(例如,填写)与识别的特征相对应的字段。
如图11所示,方法800可以包括附加操作875、880和885。在一些示例实施例中,可以在方法800的操作830之后或者作为方法800的操作830的一部分(例如,前期任务、子例程或部分)来执行操作875、880和885,其中接口模块118使得结合数据输入字段来显示建议框。
在操作875,接口模块118使得结合用户界面内呈现的建议框来显示备选类别。可以从与类别识别模块108提供的初始文本输入相对应的剩余的多个可能类别中选择备选类别。例如,与主导类别相比,备选类别可以是具有次高置信度分数的类别。
在操作880,接口模块118接收指示用户对备选类别的选择的输入。用户306可以通过使用一个或多个输入设备与备选类别的文本进行适当交互来选择备选类别。
在操作885,协调引擎102结合接口模块118进行工作,以根据备选类别更新建议框的显示。更新建议框的显示可以包括用与备选类别相对应的备选特征建议集合替换与主导类别相对应的特征建议集合。协调引擎102根据上面关于主导类别讨论的方法选择与备选类别相对应的备选特征建议集合。
如图12所示,方法800可以包括操作806、807和808中的一个或多个。在一些示例实施例中,操作806、807和808可以在操作805之后发生,其中接口模块118接收输入到在用户界面内呈现的数据输入字段中的初始文本输入。此外,可以在用户306试图在数据输入字段中输入其他文本输入时执行操作806、807和808。
在一些实例中,初始用户输入(例如,文本输入)包括部分关键字或短语(例如,不完整的单词)。在操作806,自动完成模块112预测附加文本以完成部分关键字或短语。自动完成模块112可以通过解析初始文本来识别部分关键词或短语,并将部分关键词或短语与关键词和短语的语料库进行比较来预测附加文本。语料库可以包括输入语言的关键词和短语的词典,并且还可以包括用户输入的历史关键词和短语的列表。基于该比较,自动完成模块112将部分关键词或短语与语料库中的关键词或短语进行匹配,并将识别出的关键词或短语建议为附加文本输入。自动完成模块112可以使用一个或多个已知的自动完成算法来预测部分关键字或短语。
在操作807,接口模块118使得结合客户端设备310上呈现的用户界面内显示的数据输入字段来显示附加文本。在接收到用户对附加文本的选择时,在操作808,自动完成模块112使用附加文本使得初始文本输入完成。
图13A至图13F是示出了根据示例实施例的SMAC系统100在提供SMAC服务时提供的用户界面的各方面的界面图。参考图13A至图13F描述的SMAC系统100和SMAC服务可以形成自动valet服务和界面流的一部分。界面的示例视图分别标记为1300A-1300F。一些过程操作和用户交互如视图中所示。
在图13A的界面1300A中,在数据输入字段1302内呈现用户提示“你想卖什么?”。在图13B的界面1300B中,用户306通过键入例如“Alessi…”开始在数据输入栏1302中输入文本输入。这种键入在图13C的界面1300C中继续,其中用户输入“手表”。
在图13D的界面1300D中,在确定文本输入包括阈值数量的字符后,SMAC系统100显示特征建议集合,其为SMAC系统100提供了关于所列出的物品是什么以及应当适用于该物品的类别的一定程度的置信度(例如,80%置信度)。在这种情况下,输入单词“手表”通过使文本输入达到阈值数量的字符来提供必要的置信度。在建议框1304内显示特征建议集合,并且显示建议的类别1306(例如,主导类别)。如果建议的类别1306不正确,则建议框1304还包括变更建议的类别1306的邀请。在1308处示出可点击的变更类别操作元素。
当用户306继续在图13E的界面1300E中键入时,更新特征建议集合,并且建议的类别1306被适当微调(例如,腕表变为腕带)。可以响应于确定附加文本(例如,“腕带”)包括与特征建议集合相对应的特征值来更新建议框1304中包括的特征建议集合。更具体地,可以用备选特征建议来替换特征建议集合中的一个或多个。
如图13F的界面1300F所示,如果用户306点击“变更类别”操作元素1308(参考以上对界面1300D的描述)以变更建议的类别1306,则显示“推荐类别”面板1312以供用户306选择备选类别。这些选择可以形成固定类别组的一部分,而不是自由输入的词语。可以提供用于扩大选择的“所有类别”的另一类别面板1314。
图14A至图14C是示出了根据示例实施例的SMAC系统100在提供SMAC服务时提供的用户界面的各方面的界面图。参考图14A至图14C描述的SMAC系统100和SMAC服务可以形成自动valet服务的一部分。界面的示例视图分别标记为1400A-1400C。一些过程操作和用户交互如视图中所示。
在图14A的界面1400A中,在数据输入字段1402上方呈现用户查询“你想卖什么?”。如图所示,用户306在数据输入栏1402中键入了“男士diesel牛仔裤”。响应于从用户306接收文本输入(例如,“男士diesel牛仔裤”),在界面1400A中呈现建议框1404。建议框1404包括与文本输入相对应的产品类别的特征建议集合。具体地,建议框1404包括由SMAC系统100确定的产品类别的最重要的特征。在该示例中,类别被标识为“牛仔裤”,并且最重要的特征是“品牌”、“尺寸类型”和“内缝”。
在图14B的界面1400B中,用户306在数据输入栏1406中键入了“女士设计师鞋”。如图所示,界面1400B包括建议框1408,其包括与用户输入相对应的类别的最重要的特征,在该示例中包括“品牌”、“风格”和“美国鞋码(女款))”。如果建议的类别不正确,则建议框1408还包括变更建议的类别的邀请。在1410处示出可点击的变更类别元素。
在图14C的界面1400C中,用户306已点击界面1400B的1410处所示的变更类别元素,并且作为响应,呈现类别选择菜单1412。用户306可以选择与界面1400C中的类别选择菜单1412中建议的类别不同的类别,并且作为响应,可以在界面1400B的建议框1408中显示新选择的类别的最重要的特征。
服务架构
图15是示出了根据示例实施例的可以实现SMAC系统100的服务架构1500的图。服务架构1500呈现服务架构的各种视图,以便描述如何在各种数据中心和/或云服务上部署服务架构。架构1500表示用于实现本文描述的实施例的合适环境。
服务架构1502表示通常如何向用户、开发者等呈现云架构。该架构通常是实际基础架构实现的抽象表示,在图15的其他视图中表示。例如,服务架构1502包括表示与服务架构1502相关联的不同功能和/或服务的多个层。
体验服务层1504表示从最终客户的角度来看的服务和特征的逻辑分组,其构建在不同的客户端平台上,诸如运行在平台(移动电话、桌面等)上的应用、基于web的呈现(移动web、桌面网页浏览器等)等。它包括呈现用户界面和/或向客户端平台提供信息,以便可以呈现适当的用户界面、捕获客户端输入等。在市场的上下文中,驻留在该层中的服务的示例是主页(即,主视图)、查看物品列表、搜索/查看搜索结果、购物车、购买用户界面和相关服务、销售用户界面和相关服务、售后体验(公告交易、反馈等)等。在其他系统的上下文中,体验服务层1504将包括由系统体现的那些最终用户服务和体验。
API层1506包含允许与业务过程和核心层交互的API。这允许针对服务架构1502的第三方开发,并允许第三方在服务架构1502之上开发附加服务。
业务过程服务层1508是业务逻辑所驻留以便提供服务的位置。在市场的上下文中,这是将实施诸如用户注册、用户登录、列表创建和发布、添加到购物车、提供报价、结账、发送发票、打印标签、物品发货、退货等服务的位置。业务过程服务层1508还在各种业务逻辑和数据实体之间进行协调,从而表示共享服务的组合。该层中的业务过程还可以支持多租户,以提高与一些云服务架构的兼容性。
数据实体服务层1510围绕直接数据访问强制进行隔离,并且包含更高级别层所依赖的服务。因此,在市场的上下文中,该层可以包括诸如订单管理、金融机构管理、用户帐户服务等的基础服务。该层中的服务通常支持多租户。
基础设施服务层1512包括那些不是特定于正在实施的服务架构类型的服务。因此,在市场的上下文中,该层中的服务是指不是市场特定或独特的服务。因此,如加密功能、密钥管理、CAPTCHA、验证和授权、配置管理、日志记录、跟踪、文档和管理等功能都驻留在此层中。
本公开的实施例通常将实现在这些层中的一个或多个层中。例如,接口模块118可以在体验服务层1502中实现,并且协调引擎102、类别识别模块108、数据取回模块110、自动完成模块112和特征提取模块114可以在业务过程层1508中实现,并且搜索集群104和索引生成系统106可以在数据实体服务层1510中实现。
数据中心1514是各种资源池1516及其构成规模单元的表示。数据中心表示示出了在云计算模型中实现服务架构1502所带来的扩充性和弹性。资源池1516包括服务器(或计算)规模单元1520、网络规模单元1518和存储规模单元1522。规模单元是服务器、网络和/或存储单元,它是能够在数据中心内部署的最小单元。当需求增加或减少时,允许部署更多容量的规模单元或移除。
网络规模单元1518包含可以部署的一个或多个网络(例如网络接口单元等)。网络可以包括例如虚拟LAN。计算规模单元1520通常包括包含多个处理单元(例如,处理器)的单元(服务器等)。存储规模单元1522包含一个或多个存储设备,诸如磁盘、存储附连网络(SAN)、网络附连存储(NAS)设备等。这些在下面的描述中统称为SAN。每个SAN可以包括一个或多个卷、磁盘等。
图15的其余视图示出了服务架构1500的另一示例。该视图更加注重硬件,并且示出了图15的其他视图中更多逻辑体系结构的底层资源。云计算架构通常具有多个服务器或其他系统1524、1526。这些服务器包括多个真实和/或虚拟的服务器。因此,服务器1524包括服务器1以及虚拟服务器1A、1B、1C等。
服务器通过诸如网络A 1528和/或网络B 1530的一个或多个网络连接和/或互连。服务器还连接到多个存储设备,例如SAN 1(1536)、SAN 2(1538)等。SAN通常通过诸如SAN访问A 1532和/或SAN访问B 1534的网络连接到服务器。
计算规模单元1520通常是服务器1524和/或1526的一些方面,类似于处理器和与其相关联的其他硬件。网络规模单元1518通常包括或至少利用示出的网络A(1528)和B(1532)。存储规模单元通常包括SAN 1(1536)和/或SAN 2(1538)的一些方面。因此,逻辑服务架构1502可以映射到物理架构。
本文描述的实施例的服务和/或其他实现将在服务器和/或虚拟服务器上运行,并利用各种硬件资源来实现所公开的实施例。
机器架构
图16是示出了根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质)中读取指令并执行本文所讨论的方法中的任何一个或多个的机器1600的组件的框图。具体地,图16示出了计算机系统的示例形式的机器1600的示意表示,其中可以执行指令1616(例如,软件、程序、应用、小应用、app或其他可执行代码)以使机器1600执行本文讨论的任何一种或多种方法。例如,指令1616可以包括使机器1600执行方法400或800中的任一个的可执行代码。这些指令将通用的未编程的机器转换成被编程为以本文描述的方式执行发布系统342和SMAC系统100所描述和示出的功能的特定机器。机器1600可以作为独立设备操作,或者可以耦接(例如,联网)到其他机器。在联网部署中,机器1600可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。作为非限制性示例,机器1600可以包括或对应于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能家电)、其他智能设备、网络设备、网络路由器、网络交换机、网桥、或能够顺序地或以其他方式执行指定机器1600要采取的动作的指令1616的任何机器。此外,尽管仅示出了单个机器1600,但是术语“机器”也将被认为包括机器1600的集,其单独地或联合地执行指令1616以执行本文讨论的方法中的任何一个或多个。
机器1600可以包括可被配置为例如经由总线1602彼此通信的处理器1610、存储器/存储设备1630和I/O组件1650。在示例实施例中,处理器1610(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、其他处理器或其任何适当组合)可以包括例如可以执行指令1616的处理器1612和处理器1614。术语“处理器”旨在包括可以包括可以同时执行指令的两个或更多个独立处理器(有时称为“核”)的多核处理器。尽管图16示出了多个处理器,但是机器1600可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或其任何组合。
存储器/存储设备1630可以包括存储器1632(例如,主存储器或其他存储储存设备)、以及存储单元1636,存储器1632和存储单元1636两者都可例如经由总线1602由处理器1610访问。存储单元1636和存储器1632存储体现本文所述的任何一种或多种方法或功能的指令1616。在机器1600执行指令1616期间,1616还可以完全地或部分地驻留在存储器1632内、存储单元1636内、处理器1610中的至少一个内(例如,处理器的高速缓存存储器内)、或其任何合适的组合内。因此,存储器1632、存储单元1636和处理器1610的存储器是机器可读介质的示例。
如本文所使用,“机器可读介质”是指能够暂时或永久地存储指令和数据的设备,并且可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪速存储器、光学介质、磁性介质、高速缓冲存储器、其它类型的存储器(例如,可擦除可编程只读存储器(EEPROM))和/或其任何合适的组合。术语“机器可读介质”应被视为包括能够存储指令1616的单个介质或多个介质(例如集中式或分布式数据库、或相关联的高速缓存和服务器)。术语“机器可读介质”还将被认为包括能够存储被机器(例如机器1600)执行的指令(例如,指令1616)的任何介质或多个介质的组合,使得指令在被机器的一个或多个处理器(例如,处理器1610)执行时,使机器900执行本文所描述的方法中的任何一个或多个。因此,“机器可读介质”指单个存储装置、介质或设备、以及包括多个存储装置或设备的“基于云”的存储系统或存储网络。
I/O组件1650可以包括用于接收输入、提供输出、产生输出、发送信息、交换信息、捕捉测量等的各种各样的组件。包括在特定机器中的特定I/O组件1650将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他这样的输入机构,而无头服务器机器将可能不包括这样的触摸输入设备。应当理解,I/O组件1650可以包括图16中未示出的许多其他组件。可以根据功能将I/O组件1650分组,以仅用于简化以下讨论,并且分组不以任何方式进行限制。在各种示例实施例中,I/O组件1650可以包括输出组件1652和输入组件1654。输出组件1652可以包括视觉组件(例如,显示器,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、声学组件(例如,扬声器)、触觉组件(例如,振动马达、电阻机构)、其他信号发生器等。输入组件1654可以包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光-光学键盘或其他字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他定点仪器)、触觉输入组件(例如,物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏或其他触觉输入组件)、音频输入组件(例如,麦克风)等。
在另一些示例实施例中,I/O组件1650可以包括在一大批其它组件当中的生物测定组件1656、运动组件1658、环境组件1660或定位组件1662。例如,生物测定组件1656可以包括用于检测表达(例如,手表达、面部表情、语音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件1658可以包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境组件1660可以包括,例如,照明传感器组件(例如,光度计)、温度传感器组件(例如,一个或多个检测环境温度的温度计)、声学传感器组件(例如,一个或多个检测背景噪声的麦克风)、或可以提供与周围物理环境相对应的指示、测量或信号的其他组件。定位组件1662可以包括位置传感器组件(例如,全球定位系统(GPS)接收机组件)、高度传感器组件(例如,高度计或检测气压的气压计(根据气压可以导出高度))、取向传感器组件(例如,磁力计)等。
可以使用各种各样的技术来实现通信。I/O组件1650可以包括通信组件1664,通信组件1664可操作以分别经由耦接1682和耦接1672将机器1600耦接到网络1680或设备1670。例如,通信组件1664可以包括网络接口组件或与网络1680接口连接的其他合适设备。在另一些示例中,通信组件1664可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、组件(例如/>低能)、/>组件、以及经由其他模态提供通信的其他通信组件。设备1670可以是另一机器或各种外围设备中的任一种(例如,经由通用串行总线(USB)耦接的外围设备)。
此外,通信组件1664可以检测标识符或包括可操作以检测标识符的组件。例如,通信组件1664可以包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件(例如,用于检测以下各项的光学传感器:一维条形码(例如通用产品代码(UPC)条形码)、多维条形码(例如快速响应(QR)码)、阿兹台克码、数据矩阵、Dataglyph、MaxiCode、PDF417、超码、UCC RSS-2D条形码和其他光学码)、或声学检测组件(例如,用于识别标记的音频信号的麦克风)。此外,可以经由通信组件1664导出各种信息,诸如经由互联网协议(IP)地理位置的位置、经由信号三角测量的位置、经由检测可以指示特定位置的NFC信标信号的位置等等。
传输介质
在各种示例实施例中,网络1680的一个或多个部分可以是自组织网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网,互联网的一部分、公共交换电话网络(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、另一类型的网络、或两个或更多个这样的网络的组合。例如,网络1680或网络1680的一部分可以包括无线或蜂窝网络,并且耦接1682可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或另一个类型的蜂窝或无线耦接。在该示例中,耦接1682可以实现各种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、GSM演进增强数据速率(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他标准、其他远程协议或其他数据传输技术。
指令1616可以经由网络接口设备(例如,包括在通信组件1664中的网络接口组件)使用传输介质并且利用多个公知的传输协议(例如,超文本传输协议(HTTP))通过网络1680发送或接收。类似地,可以使用传输介质经由耦接1672(例如,对等耦接)向设备1670发送或从其接收指令1616。术语“传输介质”应被认为包括能够存储、编码或承载用于被机器1600执行的指令1616的任何无形介质,并且包括用于促进该软件的通信的数字或模拟通信信号或其他无形介质。传输介质是机器可读介质的实施例。
模块、组件和逻辑
某些实施例在本文中被描述为包括逻辑或多个组件、模块或机制。模块可以构成软件模块(例如在机器可读介质上或在传输信号中体现的代码)或硬件模块。硬件模块是能够执行某些操作的有形单元,并且可以按特定方式来配置或布置。在示例实施例中,一个或多个计算机系统(例如独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如处理器或处理器组)可以由软件(例如,应用或应用部分)配置为进行操作以执行本文描述的某些操作的硬件模块。
在各实施例中,硬件模块可以用机械方式或电子方式来实现。例如,硬件模块可以包括永久地被配置为执行某些操作的专用电路或逻辑(例如,专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC))。硬件模块还可以包括由软件暂时配置以执行某些操作的可编程逻辑或电路(例如,包含在通用处理器或其它可编程处理器中的可编程逻辑或电路)。应当理解:以机械方式、以专用和永久配置的电路或以临时配置的电路(例如由软件配置)实现硬件模块的决定可出于成本和时间的考虑。
因此,术语“硬件模块”应当被理解为包含有形实体,应当是物理构成的、永久配置(例如,硬连线的)或暂时配置(例如,编程的)以在特定方式下工作或以执行本文描述的特定操作的实体。考虑临时配置(例如编程)硬件模块的实施例,无需在任一时刻配置或实例化硬件模块中的每一个。例如,在硬件模块包括由软件配置的通用处理器的情况下,通用处理器就可以在不同时间被配置为各自不同的硬件模块。因此,软件可以将处理器例如配置为在一个时刻构成特定硬件模块并在另一时刻构成不同的硬件模块。
硬件模块可以向其他硬件模块提供信息并从其他硬件模块接收信息。因此,所描述的硬件模块可以被看作通信地耦接。在多个这种硬件模块同时存在的情况下,可以通过信号传输(例如在连接硬件模块的适当的电路和总线上)来实现通信。在多个硬件模块在不同时间配置或实例化的实施例中,可以例如通过存储并获取多个硬件模块可访问的存储器结构中的信息来实现这样的硬件模块之间的通信。例如,一个硬件模块可以执行操作并在与其通信耦接的存储设备中存储该操作的输出。另一硬件模块接着可以稍后访问存储器设备,以取回并处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且能够对资源(例如信息的集)进行操作。
此处描述的示例方法的各种操作可以至少部分地由临时配置(例如通过软件)或永久配置为执行相关操作的一个或多个处理器执行。无论是临时还是永久地配置,这样的处理器可以构成进行操作以执行一个或多个操作或功能的处理器实现的模块。在一些示例实施例中,如本文中使用的“模块”包括处理器实现的模块。
类似地,本文中描述的方法可以至少部分由处理器实现。例如,方法的至少一些操作可由一个或多个处理器或处理器实现的模块执行。某些操作的执行可以分布在一个或多个处理器中,并不只驻留在单个机器中,而是跨多个机器来部署。在一些示例实施例中,一个或多个处理器或处理器可以位于单个地点(例如在家庭环境、办公室环境或服务器群中),而在其他实施例中,处理器可以分布在多个地点。
一个或多个处理器还可以操作以支持在“云计算”环境下的相关操作的执行或作为“软件即服务”(SaaS)的相关操作的执行。例如,至少一些操作可以由一组计算机(例如,包括处理器的机器)来完成,这些操作是可经由网络(例如,互联网)以及经由一个或多个适当的接口(例如,API)访问的。
电子装置和系统
示例实施例可以用数字电子电路或者用计算机硬件、固件、软件或它们的组合来实现。示例实施例可以使用计算机程序产品来实现,计算机程序产品例如是在信息载体中有形地表现的计算机程序,信息载体例如是由数据处理装置执行的机器可读介质或用于控制数据处理装置的操作的机器可读介质,数据处理装置例如是可编程处理器、计算机、或多个计算机。
可以以任何形式的编程语言来编写计算机程序,该编程语言包括:编译或解释语言,并且可以以任何形式来部署计算机程序,包括部署为独立的程序或者部署为适合于用于计算环境的模块、子例程,或者其它单元。计算机程序可以配置为在一个计算机执行或在位于一个地点处的多个计算机上执行或者在分布在多个地点上并通过通信网络304互连的多个计算机上执行。
在示例实施例中,操作可以通过一个或多个可编程处理器执行计算机程序来执行,以通过操作输入数据并产生输出来执行功能。方法操作还可以通过由专用逻辑电路(例如,FPGA或ASIC)来执行,并且示例实施例的装置可以实现为专用逻辑电路。
计算系统可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络进行交互。客户端和服务器的关系通过在相应计算机上运行并且相互具有客户端-服务器关系的计算机程序来产生。在使用可编程计算系统的实施例中,将清楚的是,需要考虑硬件架构和软件架构二者。具体地,将清楚的是,在永久配置的硬件(例如ASIC)中、在暂时配置的硬件中(例如软件与可编程处理器的组合)、或是在永久配置的与暂时配置的硬件的组合中实现特定功能可以是设计选择。
以下编号的示例是实施例。
1.一种系统,包括:
一个或多个处理器;
存储指令的计算机可读介质,所述指令在由一个或多个处理器执行时使所述系统执行包括以下各项的操作:
接收经由客户端设备上呈现的用户界面的数据输入字段输入的初始用户输入;
识别与所述初始用户输入相对应的主导类别;
识别与所述主导类别相对应的特征集合;
基于所述特征集合中的每个特征的排名,从所述特征集合中选择特征建议集合以完成所述初始用户输入,所述特征建议集合包括与所述主导类别相对应的特征集合的子集;以及
使得在所述客户端设备上呈现的用户界面内显示结合数据输入字段呈现的建议框,所述建议框包括所述特征建议集合的呈现以及使用所述特征建议集合来完成所述初始用户输入的提示。
2.根据示例1所述的系统,其中,所述操作还包括:
接收经由所述客户端设备上呈现的用户界面的数据输入字段输入的其他用户输入;以及
通过用备选特征建议替换至少一个特征建议,使得基于所述其他用户输入来更新所述建议框的显示。
3.根据示例1或示例2所述的系统,其中,所述操作还包括:
使得在所述客户端设备上呈现的用户界面内显示至少一个备选类别;
接收对所述至少一个备选类别的选择;以及
响应于接收到对所述至少一个备选类别的选择,通过用与所述备选类别相对应的备选特征集合的呈现替换所述特征建议集合的呈现,使得更新所述建议框的显示。
4.根据示例1至3中任一项所述的系统,其中,所述操作还包括:
接收经由所述客户端设备上呈现的用户界面的输入字段输入的其他用户输入;
基于所述初始用户输入和所述其他用户输入的组合来识别存储在基于网络的存储设备中的数据记录;以及
从所述基于网络的存储设备取回所述数据记录。
5.一种方法,包括:
接收经由客户端设备上呈现的用户界面的数据输入字段输入的初始用户输入;
使用一个或多个处理器来识别与所述初始用户输入相对应的主导类别;
识别与所述主导类别相对应的特征集合;
基于所述特征集合中的每个特征的排名,从所述特征集合中选择特征建议集合以完成所述初始用户输入,所述特征建议集合包括与所述主导类别相对应的特征集合的子集;以及
使得在所述客户端设备上呈现的用户界面内显示结合数据输入字段呈现的建议框,所述建议框包括所述特征建议集合的呈现以及使用特征建议集合来完成所述初始用户输入的提示。
6.根据示例5所述的方法,其中:
接收经由所述客户端设备上呈现的用户界面的数据输入字段输入的其他用户输入;
从所述其他用户输入提取特征值,所述特征值与对应于主导类别的特征建议集合中的特征建议相对应;以及
通过用备选特征建议替换所述特征建议,使得基于所提取的特征值来更新所述建议框的显示。
7.根据示例5或示例6所述的方法,还包括:
接收经由所述客户端设备上呈现的用户界面的数据输入字段输入的其他用户输入;
基于所述初始用户输入和所述其他用户输入的组合来识别存储在基于网络的存储设备中的数据记录;以及
从所述基于网络的存储设备取回所述数据记录。
8.根据示例5至7中任一项所述的方法,其中:
所述提示包括输入与所述特征建议集合中的特征建议相对应的至少一个特征值的建议;以及
其他用户输入包括与所述特征建议集合中的特征建议相对应的至少一个特征值。
9.根据示例5至8中任一项所述的方法,还包括:
使得在所述客户端设备上呈现的用户界面内显示至少一个备选类别;
接收对所述至少一个备选类别的选择;以及
响应于接收到对所述至少一个备选类别的选择,通过用与所述备选类别相对应的备选特征集合的呈现替换所述特征建议集合的呈现,使得更新所述建议框的显示。
10.根据示例5至9中任一项所述的方法,其中,当用户在所述用户界面的所述数据输入字段中输入其他用户输入时,使得发生所述建议框的显示。
11.根据示例5至10中任一项所述的方法,还包括:检测被输入到所述数据输入字段中的阈值数量的字母数字字符;
其中,所述初始用户输入包括文本输入,所述文本输入包括所述阈值数量的字母数字字符;以及
其中,响应于检测到所述阈值数量的字母数字字符而发生选择类别。
12.根据示例5至11中任一项所述的方法,还包括:
识别与所述初始用户输入相对应的多个可能类别;以及
确定所述多个可能类别中的每个可能类别的置信度分数;
其中,基于所确定的所述主导类别的置信度分数,从所识别的所述多个可能类别中选择所述主导类别。
13.根据示例5至12中任一项所述的方法,还包括:
从所述其他用户输入提取特征值,所述特征值与对应于主导类别的特征建议集合中的特征建议相对应;以及
使用所提取的特征值预填充电子表单。
14.根据示例5至13中任一项所述的方法,其中,所述初始用户输入包括文本输入;以及
所述方法还包括:
预测附加文本以完成在所述用户界面的所述数据输入字段中输入的所述初始用户输入;
提供所述附加文本,用于在所述用户界面中结合所述数据输入字段来显示;以及
响应于接收到对所述附加文本的用户选择,使用所述附加文本完成所述初始用户输入。
15.根据示例5至14中任一项所述的方法,其中,识别与主导类别相对应的特征集合包括:
访问紧凑索引文档,所述紧凑索引文档包括多个类别和所述多个类别中的每个类别的特征集合;以及
在所述紧凑索引文档中搜索与所述主导类别相对应的特征集合。
16.根据示例15所述的方法,还包括:
在离线批处理作业中生成所述紧凑索引文档;以及
将所述紧凑索引文档注入用于搜索所述紧凑索引文档的搜索集群;
其中,由所述搜索集群执行对所述紧凑索引文档的搜索。
17.一种包括指令的机器可读存储介质,所述指令在被机器的一个或多个处理器执行时使得所述机器执行包括以下各项在内的操作:
接收经由客户端设备上呈现的用户界面的数据输入字段输入的初始用户输入;
识别与所述初始用户输入相对应的主导类别;
识别与所述主导类别相对应的特征集合;
基于所述特征集合中的每个特征的排名,从所述特征集合中选择特征建议集合以完成所述初始用户输入,所述特征建议集合包括与所述主导类别相对应的特征集合的子集;以及
使得在所述客户端设备上呈现的用户界面内显示结合数据输入字段呈现的建议框,所述建议框包括所述特征建议集合的呈现以及使用所述特征建议集合来完成所述初始用户输入的提示。
18.根据示例17所述的机器可读存储介质,其中,所述操作还包括:
接收经由所述客户端设备上呈现的用户界面的数据输入字段输入的其他用户输入;以及
通过用备选特征建议替换至少一个特征建议,使得基于所述其他用户输入来更新所述建议框的显示。
19.根据示例17或示例18所述的机器可读存储介质,其中,所述操作还包括:
使得在所述客户端设备上呈现的用户界面内显示至少一个备选类别;
接收对所述至少一个备选类别的选择;以及
响应于接收到对所述至少一个备选类别的选择,通过用与所述备选类别相对应的备选特征集合的呈现替换所述特征建议集合的呈现,使得更新所述建议框的显示。
20.根据示例17至19中任一项所述的机器可读存储介质,其中,所述操作还包括:
接收经由所述客户端设备上呈现的用户界面的输入字段输入的其他用户输入;
基于所述初始用户输入和所述其他用户输入的组合来识别存储在基于网络的存储设备中的数据记录;以及
从所述基于网络的存储设备取回所述数据记录。
21.一种承载指令的机器可读介质,所述指令在被机器的一个或多个处理器执行时,使得所述机器执行根据权利要求5-16中任一项所述的方法。
语言
尽管已经参考特定示例实施例描述了本公开的实施例,显然,可以对这些实施例做出各种修改和改变,而不离开本公开主题的更宽泛的范围。因此,说明书和附图应当被看做说明性的而不是限制意义的。形成可以实现主题的具体实施例的一部分的附图是通过说明而不是限制的方式示出的。充分详细地描述了所示出的实施例,以使得本领域技术人员能够实践本文中所公开的教导。可以利用并根据这些实施例得出其他实施例,从而可以在不脱离本公开的范围的情况下做出结构和逻辑上的替换和改变。因此,该“具体实施方式”部分不应当看做是限制意义,并且各种实施例的范围仅通过所附权利要求以及权利要求的等同物的全部范围来限定。
本发明主题的这些实施例被单独地和/或统一地由术语“发明”来指代,其仅是为了方便,而不是旨在主动将本申请的范围限制为任意单个发明或发明构思(如果实际上不止一个被公开的话)。因此,尽管本文示出并描述了特定实施例,应当理解,适于实现相同目的的任意设置都可以用于替换所示出的特定实施例。本公开旨在覆盖各种实施例的任意和所有的适应性修改或变化。通过研究上述内容,上述实施例的组合以及本文中没有具体描述的其它实施例对于本领域技术人员来说将是明显的。
本文中提到的所有公开、专利和专利文件通过引用的方式单独全文并入本文中。在本文中与通过引用并入的文件之间的使用不一致的情况下,并入的参考文献中的使用应当被看做对本文件的补充;对于不可调和的不一致,以本文件中的使用为准。
在本文件中,如专利文件中常见的,术语“一”或“一个”用于包括一个或多个而不是一个,区别于“至少一个”或“一个或多个”的任何其它实例或使用。在本文件中,除非另有说明,术语“或”用于指非排他性的或者,例如“A或B”包括“A但不是B”、“B但不是A”以及“A和B”。在附加的权利要求中,术语“包括”和“在其中”用作相应术语“包含”和“其中”的英语等同体。此外,在下文的权利要求中,术语“包括”和“包含”是开放式的;也就是说,包括除了在权利要求中的该术语之后列出的以外的内容的系统、设备、物品或过程仍将被视为落入该权利要求的范围内。

Claims (13)

1.一种促进卖家创建物品列表标题的系统,包括:
一个或多个处理器;
存储指令的计算机可读介质,所述指令在由所述一个或多个处理器执行时使所述系统执行包括以下各项的操作:
接收经由客户端设备上呈现的用户界面的数据输入字段输入的初始用户输入;
检测与所述初始用户输入表示的物品相对应的主导类别;
识别所检测到的主导类别的子类别;
从所识别的子类别中选择子类别建议集合以完成所述初始用户输入;以及
使得在所述客户端设备上呈现的用户界面内显示结合数据输入字段呈现的建议框,所述建议框包括分层级的与所检测到的主导类别对应的子类别建议集合的呈现、与备选类别对应的备选子类别建议的呈现、以及使用所呈现的建议来完成所述初始用户输入的提示。
2.根据权利要求1所述的系统,其中,所述操作还包括:
接收经由所述客户端设备上呈现的用户界面的输入字段输入的其他用户输入;
基于所述初始用户输入和所述其他用户输入的组合来识别存储在基于网络的存储设备中的数据记录;以及
从所述基于网络的存储设备取回所述数据记录。
3.一种促进卖家创建物品列表标题的方法,包括:
接收经由客户端设备上呈现的用户界面的数据输入字段输入的初始用户输入;
使用一个或多个处理器来检测与所述初始用户输入表示的物品相对应的主导类别;
识别所检测到的主导类别的子类别;
从所识别的子类别中选择子类别建议集合以完成所述初始用户输入;以及
使得在所述客户端设备上呈现的用户界面内显示结合数据输入字段呈现的建议框,所述建议框包括分层级的与所检测到的主导类别对应的子类别建议集合的呈现、与备选类别对应的备选子类别建议的呈现、以及使用所呈现的建议来完成所述初始用户输入的提示。
4.根据权利要求3所述的方法,还包括:
接收经由所述客户端设备上呈现的用户界面的数据输入字段输入的其他用户输入;
基于所述初始用户输入和所述其他用户输入的组合来识别存储在基于网络的存储设备中的数据记录;以及
从所述基于网络的存储设备取回所述数据记录。
5.根据权利要求3所述的方法,其中,当用户在所述用户界面的所述数据输入字段中正在输入其他用户输入时,使得发生所述建议框的显示。
6.根据权利要求3所述的方法,还包括检测被输入到所述数据输入字段中的阈值数量的字母数字字符;
其中,所述初始用户输入包括文本输入,所述文本输入包括所述阈值数量的字母数字字符;以及
其中,响应于检测到所述阈值数量的字母数字字符而发生选择类别。
7.根据权利要求3所述的方法,还包括:
识别与所述初始用户输入相对应的多个可能类别;以及
确定所述多个可能类别中的每个可能类别的置信度分数;
其中,基于所确定的所述主导类别的置信度分数,从所识别的所述多个可能类别中选择所述主导类别。
8.根据权利要求3所述的方法,其中,所述初始用户输入包括文本输入;以及
所述方法还包括:
预测附加文本以完成在所述用户界面的所述数据输入字段中输入的所述初始用户输入;
提供所述附加文本,用于在所述用户界面中结合所述数据输入字段来显示;以及
响应于接收到对所述附加文本的用户选择,使用所述附加文本完成所述初始用户输入。
9.根据权利要求3所述的方法,其中,识别所检测到的主导类别的子类别包括:
访问紧凑索引文档,所述紧凑索引文档包括多个类别和所述多个类别中的每个类别的子类别;以及
在所述紧凑索引文档中搜索与所述主导类别相对应的子类别。
10.根据权利要求9所述的方法,还包括:
在离线批处理作业中生成所述紧凑索引文档;以及
将所述紧凑索引文档注入用于搜索所述紧凑索引文档的搜索集群;
其中,由所述搜索集群执行对所述紧凑索引文档的搜索。
11.一种包括指令的机器可读存储介质,所述指令在被机器的一个或多个处理器执行时使得所述机器执行促进卖家创建物品列表标题的操作,所述操作包括:
接收经由客户端设备上呈现的用户界面的数据输入字段输入的初始用户输入;
检测与所述初始用户输入表示的物品相对应的主导类别;
识别所检测到的主导类别的子类别;
从所识别的子类别中选择子类别建议集合以完成所述初始用户输入;以及
使得在所述客户端设备上呈现的用户界面内显示结合数据输入字段呈现的建议框,所述建议框包括分层级的与所检测到的主导类别对应的子类别建议集合的呈现、与备选类别对应的备选子类别建议的呈现、以及使用所呈现的建议来完成所述初始用户输入的提示。
12.根据权利要求11所述的机器可读存储介质,其中,所述操作还包括:
接收经由所述客户端设备上呈现的用户界面的输入字段输入的其他用户输入;
基于所述初始用户输入和所述其他用户输入的组合来识别存储在基于网络的存储设备中的数据记录;以及
从所述基于网络的存储设备取回所述数据记录。
13.一种承载指令的机器可读介质,所述指令在被机器的一个或多个处理器执行时,使得所述机器执行根据权利要求3-10中任一项所述的方法。
CN201780019537.4A 2016-03-23 2017-03-23 智能匹配自动完成系统 Active CN110494852B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201662312032P 2016-03-23 2016-03-23
US62/312,032 2016-03-23
US201662322532P 2016-04-14 2016-04-14
US62/322,532 2016-04-14
US15/214,237 2016-07-19
US15/214,237 US11314791B2 (en) 2016-03-23 2016-07-19 Smart match autocomplete system
PCT/US2017/023848 WO2017165669A1 (en) 2016-03-23 2017-03-23 Smart match autocomplete system

Publications (2)

Publication Number Publication Date
CN110494852A CN110494852A (zh) 2019-11-22
CN110494852B true CN110494852B (zh) 2023-12-26

Family

ID=59898712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780019537.4A Active CN110494852B (zh) 2016-03-23 2017-03-23 智能匹配自动完成系统

Country Status (5)

Country Link
US (2) US20170277737A1 (zh)
EP (1) EP3433760A4 (zh)
KR (1) KR102214015B1 (zh)
CN (1) CN110494852B (zh)
WO (1) WO2017165669A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9996590B2 (en) * 2015-12-31 2018-06-12 Ebay Inc. System and method for identifying miscategorization
US20170277737A1 (en) 2016-03-23 2017-09-28 Ebay Inc. Compact index document generation for smart match autocomplete system
US10649968B2 (en) 2017-08-30 2020-05-12 Ebay Inc. Smaller proximate search index
CN107885827B (zh) * 2017-11-07 2021-06-01 Oppo广东移动通信有限公司 文件获取方法、装置、存储介质及电子设备
US11048734B1 (en) 2018-08-20 2021-06-29 Pinterest, Inc. Auto-completion based on content similarities
US10996819B2 (en) * 2018-11-12 2021-05-04 Citrix Systems, Inc. Systems and methods for intellisense for SaaS application
CN109885180B (zh) * 2019-02-21 2022-12-06 北京百度网讯科技有限公司 纠错方法和装置、计算机可读介质
US11574467B2 (en) 2019-11-21 2023-02-07 Kyndryl, Inc. Document augmented auto complete
US11206234B2 (en) 2020-01-13 2021-12-21 International Business Machines Corporation Validating proposed message recipients based on number of message keywords
JP2021144271A (ja) * 2020-03-10 2021-09-24 オムロン株式会社 文字入力装置、文字入力方法、および、文字入力プログラム
JP6732277B1 (ja) * 2020-04-09 2020-07-29 Io株式会社 情報処理装置及びプログラム
US11816431B2 (en) * 2020-04-12 2023-11-14 Salesforce, Inc. Autocomplete of user entered text
US11868343B2 (en) * 2020-05-06 2024-01-09 Tableau Software, LLC Utilizing autocompletion as a data discovery scaffold for supporting visual analysis
US11681743B2 (en) 2020-11-20 2023-06-20 International Business Machines Corporation Type ahead search amelioration based on image processing
CN112650738B (zh) * 2020-12-31 2021-09-21 广西中科曙光云计算有限公司 一种开放数据库的构建方法
US11475214B1 (en) 2021-06-08 2022-10-18 Oracle International Corporation Systems and methods for auto-completing fields on digital forms

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102576368A (zh) * 2009-08-31 2012-07-11 谷歌公司 用于选择和呈现与用户输入相关的回答框作为查询建议的框架
CN102667768A (zh) * 2009-10-15 2012-09-12 A9.Com有限公司 动态搜索建议和类别特定完成

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564213B1 (en) * 2000-04-18 2003-05-13 Amazon.Com, Inc. Search query autocompletion
US7493315B2 (en) * 2000-11-15 2009-02-17 Kooltorch, L.L.C. Apparatus and methods for organizing and/or presenting data
US20060218088A1 (en) * 2005-03-24 2006-09-28 Flora John R Intelligent auto-fill transaction data
WO2007081681A2 (en) * 2006-01-03 2007-07-19 Textdigger, Inc. Search system with query refinement and search method
US7739225B2 (en) * 2006-02-09 2010-06-15 Ebay Inc. Method and system to analyze aspect rules based on domain coverage of an aspect-value pair
KR100754768B1 (ko) * 2006-04-06 2007-09-03 엔에이치엔(주) 사용자별 맞춤 추천어를 제공하는 시스템, 방법 및 상기방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독가능한 기록 매체
US20080033964A1 (en) 2006-08-07 2008-02-07 Bea Systems, Inc. Failure recovery for distributed search
US8127251B2 (en) 2007-10-31 2012-02-28 Fimed Properties Ag Limited Liability Company Method and apparatus for a user interface with priority data
US7831584B2 (en) * 2007-12-21 2010-11-09 Glyde Corporation System and method for providing real-time search results on merchandise
US8458171B2 (en) * 2009-01-30 2013-06-04 Google Inc. Identifying query aspects
US8819052B2 (en) * 2010-03-29 2014-08-26 Ebay Inc. Traffic driver for suggesting stores
US20120179705A1 (en) 2011-01-11 2012-07-12 Microsoft Corporation Query reformulation in association with a search box
US8458213B2 (en) 2011-02-28 2013-06-04 Ebay Inc. Method and system for classifying queries to improve relevance of search results
US8983995B2 (en) * 2011-04-15 2015-03-17 Microsoft Corporation Interactive semantic query suggestion for content search
US9633109B2 (en) * 2011-05-17 2017-04-25 Etsy, Inc. Systems and methods for guided construction of a search query in an electronic commerce environment
US8667007B2 (en) * 2011-05-26 2014-03-04 International Business Machines Corporation Hybrid and iterative keyword and category search technique
US9298776B2 (en) * 2011-06-08 2016-03-29 Ebay Inc. System and method for mining category aspect information
CN103218719B (zh) * 2012-01-19 2016-12-07 阿里巴巴集团控股有限公司 一种电子商务网站导航方法及系统
US20140006930A1 (en) 2012-06-15 2014-01-02 Investinghouse, Inc. System and method for internet publishing
US9002889B2 (en) 2012-12-21 2015-04-07 Ebay Inc. System and method for social data mining that learns from a dynamic taxonomy
US11301876B2 (en) * 2012-12-31 2022-04-12 W.W. Grainger, Inc. Systems and methods for providing navigation tendencies to users of a website
US9268880B2 (en) * 2013-03-14 2016-02-23 Google Inc. Using recent media consumption to select query suggestions
US9600228B2 (en) * 2013-09-16 2017-03-21 Here Global B.V. Enhanced system and method for static query generation and entry
US9489461B2 (en) * 2014-03-03 2016-11-08 Ebay Inc. Search ranking diversity based on aspect affinity
US10410224B1 (en) * 2014-03-27 2019-09-10 Amazon Technologies, Inc. Determining item feature information from user content
US10325304B2 (en) * 2014-05-23 2019-06-18 Ebay Inc. Personalizing alternative recommendations using search context
US9946771B2 (en) * 2014-05-30 2018-04-17 Apple Inc. User interface for searching
US20150379010A1 (en) 2014-06-25 2015-12-31 International Business Machines Corporation Dynamic Concept Based Query Expansion
US10740368B2 (en) * 2015-12-29 2020-08-11 Facebook, Inc. Query-composition platforms on online social networks
US10671653B2 (en) * 2016-02-18 2020-06-02 Adobe Inc. Analyzing search queries to provide potential search query modifications via interactive user-interfaces
US20170277737A1 (en) 2016-03-23 2017-09-28 Ebay Inc. Compact index document generation for smart match autocomplete system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102576368A (zh) * 2009-08-31 2012-07-11 谷歌公司 用于选择和呈现与用户输入相关的回答框作为查询建议的框架
CN102667768A (zh) * 2009-10-15 2012-09-12 A9.Com有限公司 动态搜索建议和类别特定完成

Also Published As

Publication number Publication date
US11314791B2 (en) 2022-04-26
EP3433760A1 (en) 2019-01-30
KR20190047656A (ko) 2019-05-08
EP3433760A4 (en) 2019-10-16
CN110494852A (zh) 2019-11-22
US20170277770A1 (en) 2017-09-28
KR102214015B1 (ko) 2021-02-09
US20170277737A1 (en) 2017-09-28
WO2017165669A1 (en) 2017-09-28

Similar Documents

Publication Publication Date Title
CN110494852B (zh) 智能匹配自动完成系统
US11775844B2 (en) Visual aspect localization presentation
US11580589B2 (en) System, method, and medium to select a product title
CA2960714C (en) Enhanced search query suggestions
JP2019537120A (ja) 画像解析および予測に基づく視覚検索
US20230177579A1 (en) System and method for computing features that apply to infrequent queries
KR102170012B1 (ko) 데이터베이스 검색 최적화기 및 주제 필터
US20160342288A1 (en) Intelligent highlighting of item listing features
KR20180095910A (ko) 시맨틱 의미 벡터를 사용하는 교차 언어적 검색
US20190068730A1 (en) Entity based search retrieval and ranking
US11741112B2 (en) Identification of intent and non-intent query portions
CN110785755B (zh) 用于内容生成的上下文识别
EP3430528A1 (en) Catalogue management
CN110073346B (zh) 群体辅助查询系统
US9804741B2 (en) Methods and systems for managing N-streams of recommendations
AU2019271941A1 (en) Context modification of queries
CN117932138A (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