CN110622153A - 用于查询分割的方法和系统 - Google Patents

用于查询分割的方法和系统 Download PDF

Info

Publication number
CN110622153A
CN110622153A CN201880032109.XA CN201880032109A CN110622153A CN 110622153 A CN110622153 A CN 110622153A CN 201880032109 A CN201880032109 A CN 201880032109A CN 110622153 A CN110622153 A CN 110622153A
Authority
CN
China
Prior art keywords
query
token
vector
hardware processors
classifier
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
Application number
CN201880032109.XA
Other languages
English (en)
Other versions
CN110622153B (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 CN110622153A publication Critical patent/CN110622153A/zh
Application granted granted Critical
Publication of CN110622153B publication Critical patent/CN110622153B/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/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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/2455Query execution
    • 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/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了用于查询分割的方法和系统。在一个方面,一种方法包括:由一个或多个硬件处理器接收查询字符串,该查询字符串包括多个标记;由一个或多个硬件处理器从多个标记中识别第一标记和第二标记;由一个或多个硬件处理器确定分别与第一标记和第二标记相关联的第一矢量和第二矢量;由一个或多个硬件处理器基于第一矢量和第二矢量来确定是否在单个查询片段中包括第一标记和第二标记;由一个或多个硬件处理器基于所述确定来生成多个查询片段;以及由一个或多个硬件处理器基于多个查询片段来处理查询。

Description

用于查询分割的方法和系统
技术领域
本公开总体上涉及文本处理,并且具体地涉及搜索查询的处理。
背景技术
随着互联网的使用在全球范围内变得越来越普遍,对信息的查询正成为访问许多基于互联网的服务的中心。这些服务可以对查询进行分割以提高结果搜索的准确度。例如,在线购物者可以在进行在线购物时输入诸如“长袖夏季服装”之类的查询。尽管查询中包含了“长”和“服装”两个词,但购物者可能并非在寻找长款服装。而是,在处理查询时,“长”可能最好与“袖”关联。达到查询处理器准确地确定查询内的标记之间的正确关联的程度,所得的搜索结果更可能满足用户的需求。
分割后的查询也可以被用于附加的后端处理活动,这进一步强调了准确的查询分割的重要性。例如,分割后的查询可以确定中心或主要对象检测(即“服装”)、方面预测和查询片段检测。由于正确的查询分割的重要性,需要对查询分割的准确度进行进一步的技术改进。
发明内容
查询分割是理解用户进行信息检索任务的意图的一个组成部分。查询分割将搜索查询中的标记分成有意义的词语短语,这有助于下游任务提高相关性。所公开的方法和系统通过使用词语嵌入模型来提供更准确和有效的查询分割解决方案。与其他分割技术相比,所公开的方法和系统提供了更高的有效性。还使用包括来自eBay的三个月的查询记录的训练数据集证明了这种有效性。
所公开的一个方面是一种对查询进行分割的方法。所述方法包括:由一个或多个硬件处理器接收查询字符串,所述查询字符串包括多个标记;由所述一个或多个硬件处理器从所述多个标记中识别第一标记和第二标记;由所述一个或多个硬件处理器确定分别与所述第一标记和所述第二标记相关联的第一矢量和第二矢量;由所述一个或多个硬件处理器基于所述第一矢量和所述第二矢量来确定是否在单个查询片段中包括所述第一标记和所述第二标记;由所述一个或多个硬件处理器基于所述确定来生成包括所述单个查询片段的多个查询片段;以及由所述一个或多个硬件处理器基于所述多个查询片段来处理所述查询。
所述方法的一些方面还包括:通过将所述第一矢量与所述第二矢量级联来生成特征;通过将所述特征传递给二元分类器并从所述二元分类器接收关于所述第一标记和所述第二标记是否位于单个查询片段中的指示来确定是否在所述单个查询片段中包括所述第一标记和所述第二标记。在一些方面,所述方法还包括:基于多个训练查询来建立矢量模型,以生成包括所述第一矢量和所述第二矢量的模型数据。在一些方面,所述矢量模型是word2vec模型或GloVe模型。在一些方面,所述方法包括基于所述模型数据来训练分类器,其中,对是否在单个查询片段中包括所述第一标记和所述第二标记的确定是基于经训练的分类器的。在这些方面中的一些方面,所述方法还包括:基于定义所述训练查询的分割的注释数据来训练所述分类器。在一些方面,所述处理包括基于所述多个查询片段来搜索数据库。
所公开的另一方面是一种用于对查询进行分割的装置。所述装置包括一个或多个硬件处理器,所述一个或多个硬件处理器被配置为:接收查询字符串,所述查询字符串包括多个标记;从所述多个标记中识别第一标记和第二标记;确定分别与所述第一标记和所述第二标记相关联的第一矢量和第二矢量;基于所述第一矢量和所述第二矢量来确定是否在单个查询片段中包括所述第一标记和所述第二标记;基于所述确定来生成多个查询片段;以及基于所述多个查询片段来处理所述查询。在一些方面,所述一个或多个硬件处理器还被配置为:基于多个训练查询来建立矢量模型,以生成包括所述第一矢量和所述第二矢量的模型数据。在一些方面,所述矢量模型是word2vec模型或GloVe模型。
在一些方面,所述一个或多个硬件处理器还被配置为:填充所述第一矢量和所述第二矢量以分别生成第一特征和第二特征,其中,对是否在单个查询片段中包括所述第一标记和所述第二标记的确定是基于所述第一特征和所述第二特征的。在一些方面,所述一个或多个硬件处理器还被配置为:基于所述模型数据来训练分类器,其中,对是否在单个查询片段中包括所述第一标记和所述第二标记的确定是基于经训练的分类器的。在一些方面,所述一个或多个硬件处理器还被配置为:基于定义所述训练查询的分割的注释数据来训练所述分类器。在一些方面,所述一个或多个硬件处理器还被配置为:将对所述第一标记和所述第二标记的识别限于所述多个标记中的相邻标记。在一些方面,所述处理包括:基于所述多个查询片段来搜索数据库。在这些方面中的一些方面,所述处理包括:识别所述多个查询片段中的主要查询片段;以及基于所述主要查询片段来搜索数据库。在所述装置的一些方面,所述一个或多个硬件处理器还被配置为:基于所述第一标记和所述第二标记之间的一个或多个标记定界字符,识别所述查询字符串中的所述第一标记和所述第二标记。
所公开的另一方面是一种包括指令的非暂时性计算机可读介质,所述指令在被执行时,将一个或多个硬件处理器配置为执行一种对查询进行分割的方法。所述方法包括:由一个或多个硬件处理器接收查询字符串,所述查询字符串包括多个标记;由所述一个或多个硬件处理器从所述多个标记中识别第一标记和第二标记;由所述一个或多个硬件处理器确定分别与所述第一标记和所述第二标记相关联的第一矢量和第二矢量;基于所述第一矢量和所述第二矢量来确定是否在单个查询片段中包括所述第一标记和所述第二标记;基于所述确定来生成多个查询片段;以及由所述一个或多个硬件处理器基于所述多个查询片段来处理所述查询。
附图说明
各个所附附图仅示出了本公开的示例实施例,并且不可以被认为限制本公开的范围。
图1示出了可以输入到文本字段中的示例性查询字符串105。
图2是用于查询分割系统的示例性数据流图。
图3A是利用分类器来对查询进行分割的方法。
图3B是训练分类器的方法的流程图。
图4是查询分割的方法的流程图。
图5A是查询分割的示例性方法的流程图。
图5B是示出了一些所公开方面的注释器一致意见分布的图。
图5C示出了用于AOL数据集的注释器一致意见。
图6是示出了根据示例实施例的可视化系统可以在其中操作的网络环境的网络图。
图7是示出了根据一些示例实施例的机器的组件的框图,所述机器能够从机器可读介质中读取指令并且执行本文讨论的方法中的任何方法。
图8是示出了代表性软件架构的框图,所述代表性软件架构可以结合本文的各种硬件架构一起使用。
具体实施方式
现在将具体参考用于执行本发明主题的具体示例实施例。在附图中示出了这些具体实施例的示例。将会理解,这些示例不旨在将权利要求的范围限制为所示实施例。相反,它们旨在涵盖本公开的范围内可能包括的备选方案、修改和等同物。在以下描述中,阐述了具体细节,以提供对本主题的透彻理解。在没有这些具体细节中的一部分或全部的情况下,实施例也可以被实现。
查询分割可以是信息检索任务中理解用户的搜索意图的一个组成部分。它可能涉及将搜索查询中的标记分组为有意义的短语,这些短语有助于下游任务,如搜索相关性和查询理解。查询分割可以将搜索查询划分成有意义的连续片段,以辅助搜索精度和检索任务。当搜索引擎能够识别搜索查询中的重要短语时,搜索引擎可能会获取高质量和最相关的结果,其中这些重要短语需要保持在一起以获得有质量的结果。实现此目的的一种方法是,如果用户通过在搜索查询的片段周围添加引号以指示短语来明确表达这些短语。但这几乎不是您在现实世界搜索日志中看到的模式。用户希望搜索引擎能够推断和理解这些短语。在检索期间短语作为整体保持在一起很重要(例如,电影名称、歌名、品牌等)的大多数情况下,这最终降低精度。考虑寻找长袖夏季服装的购物者。购物者可能主要是在寻找长袖的夏季服装。底层搜索引擎需要知道查询是针对服装的,并且具体地是针对夏季衣服,该衣服具有长袖作为该服装的附加特征。如果用户通过在片段(“长袖”、“夏季”、“服装”)周围使用引号进行搜索,则搜索体验是不同的,如果我们向用户显示与具有短袖的长款夏季服装相匹配的用户项目,则结果将完全不准确。顺序在查询分割中起着至关重要的作用,该顺序在词袋模型(bag of words model)中丢失。
所公开的方法、系统和设备可以利用诸如word2vec、GloVe和快速图文(fastext)之类的词语嵌入技术来捕获词语的低维空间表示。这些表示有助于学习语义,同时它们通过其基于窗口的训练样式针对词语语境进行优化。输出概率可以预测在输入词语附近找到每个词汇词语的可能性。
这些词语嵌入技术与许多其他基于矢量的模型不同,这些基于矢量的模型的预测是基于过去的词语的。相反,这些模型检查目标词语之前和之后的词语以形成预测。这种方法被称为连续词袋(CBOW),因为它利用了连续表示。在这些模型中,词语的顺序并不是特别相关的。在一些方面,所公开的方法和系统可以采用skip-gram技术。在这些方面,中心词可以被用来预测周围的词语。
所公开的方法、设备和系统可以利用该语境优化来识别查询中可能的片段边界。与不属于一个片段的词语相比,一个片段n-gram中的词语在相同语境中在查询中出现的频率更高。提供查询嵌入作为分类器的输入特征。对于具有N个标记的查询,标记之间具有N-1个边界。训练二元分类器以做出这些N-1个分割判定。从查询日志中提取一组训练查询,并将其用于训练查询嵌入。考虑具有N个标记的查询Q=W1 W2 W3 W4…WN。可以将查询分割任务建模为独立的判定做出任务,以在任何两个词语之间绘制分割间断(break)。在一些方面,对于查询中的每对词语Wi、Wi+1,我们将表示Wi和Wi+1的2个矢量(每个矢量为D维)级联成2D矢量。然后可以将该级联矢量输入到二元分类器。然后,二元分类器判定是否在Wi和Wi+1之间进行分割。
在一些方面,查询内的标记(例如,词语)可以基于它们彼此之间的亲和度而被分组。在一些方面,亲和度可以基于通过用户自己输入查询而在先前查询中将词语进行分组的频繁程度。在一些方面,该方法认识到,如果输入到查询中的词语在先前查询中已经被提供了某种相邻性,则这些词语的关联更可能是相关的。一些方法可以依赖于使用相似性得分(similarity score)来确定查询中的两个词语是否应包括在公共片段中。例如,一些方法确定查询中两个标记的相似性得分的阈值。如果相似性得分满足特定标准,则两个标记被包括在同一片段中,而如果相似性得分满足第二标准,则两个标记可以被包括在不同的查询片段中。
在一些其他实施方式中,可以基于先前查询来训练分类器。注释数据也可以被提供给分类器,其中注释数据向分类器指示用于每个查询的适当的分割。注释数据可以是例如查询的人为分割的结果。在一些方面,注释数据可以由机器和人为分割的组合产生。根据该训练数据和注释数据,分类器可以独立于(如相似性得分实现中的)任何预定阈值来得知哪些标记被包括在公共片段中以及哪些标记被包括在不同的查询片段中。我们发现,与相似性得分方法相比,分类器方法提供更好的结果。
例如,使用一组测试数据,我们发现相似性得分方法产生73.17%的准确度,而分类器方法产生79.946%的准确度。在另一示例中,相似性得分方法产生79.419%的准确度,而分类器方法产生80.691%的准确度。
在一些方面,所公开的方法和系统可以使用训练查询的集合来训练词语嵌入模型。在一些方面,词语嵌入模型可以是浅的两层神经网络。可以训练这些模型以重构词语的语言语境。在一些方面,所公开的方法和系统的训练查询可以包括由一个或多个web用户在一个或多个web应用上输入的查询。基于训练数据,词语嵌入模型可以提供查询中的两个标记(例如,词语)之间相似性得分。相似性得分可以与在训练数据中在彼此附近发现这两个标记的相对频繁程度有关。例如,如果在训练数据中“经常”一起找到两个词语(即,相似性得分高于预定阈值),则所公开的方法和系统可能不太可能对查询进行分割以使得这些词语位于不同的片段中。类似地,如果在训练数据中在附近很少发现两个词语(即,相似性得分低于或等于预定阈值),则在一些方面,所公开的方法和系统可能更可能对查询进行分割以使得两个词语位于不同的查询片段中。
图1示出了可以输入到文本字段105中的示例性查询字符串105。查询字符串105包括多个标记(token)106a-106d。标记可以是查询中的两个或更多个连续字符,通过标记定界符集合中的一个或多个字符将它们与查询的其他字符分隔开。标记定界符集合中的字符可以根据实施例而变化,但是可以包括一个或多个非字母数字字符。例如,标记定界符可以包括空格、分号、逗号、正斜杠、反斜杠或其他字符中的一个或多个。在图1的示例中,标记等效于查询中的词语,包括词语“长”、“袖”、“夏季”和“服装”。
本文公开的方法和系统确定识别出的标记106a-106d中的哪些与查询字符串105中的其他标记相比彼此具有更大的亲和度。例如,图1示出了词语“长”和“袖”可以在逻辑上被分组为组115,而“袖”和“夏季”可以放置在单独的组150和130中。“夏季”和“服装”也可以被关联成组130,并且“长袖”和“服装”也可以被关联成组120。
图2是查询分割系统200的示例性数据流图。图2示出了训练数据库205。训练数据库可以包括多个训练查询210。训练查询210可以取自各种源,包括例如由一个或多个网站的用户输入的先前查询。训练查询210包括示例查询211,例如“长袖夏季服装”。模型训练过程215从训练数据库205中读取训练查询210,以生成模型数据集220。在一些方面,在各个方面中,模型训练过程215可以是word2vec或GloVe。模型建立器215可以利用矢量空间模型来表示标记在连续矢量空间中的位置。
图2还示出了注释数据库208。注释数据库208可以针对训练数据库205中提供的查询210定义“适当的”查询分割。换言之,在一些方面,可以经由人工审查训练数据库205中的查询210来确定由注释数据库208存储的适当的查询分割。在其他方面,可以基于针对训练数据库中的查询210的查询结果的点击结果来确定对训练数据库205的查询210的适当的查询分割。
图2示出了针对示例查询211的示例注释数据209。注释数据209显示注释209针对示例查询211识别了两个查询片段。在示例注释数据209中,数字在注释数据209中的顺序位置标识了示例查询211中具有相等顺序位置的标记的查询片段。因此,注释数据209指示示例查询211的前两个标记(即“长”和“袖”)。在一些方面,注释数据库208提供的查询分割可以处于所公开的方法和系统被设计以实现的准确度水平。
在一些方面,根据训练查询210生成的词语嵌入模型220可以利用矢量大小三百(350)。预期在所公开的方法和系统中使用其他矢量大小。在一些方面,最小矢量大小可以是五(5),但是也可以预期将其他最小矢量大小用于所公开的方法和系统中。
在一些方面,可以通过所公开的方法和系统来调整模型建立器215,以将训练数据库205的查询中更可能出现在彼此附近的词语映射到矢量空间中的邻近点。
在各个方面,训练查询210的数量可以变化。在一些方面,训练查询的数量可以低至1500。在一些方面,训练查询的数量可以是30,000。在其他方面,训练查询的数量可以是3600万。还可以预期在1500到3600万范围内或高于或低于此范围的训练查询的数量。
模型数据220包括多个记录225,每个记录至少包括标记225a的表示和标记225a在矢量空间中的对应矢量表示225b。模型数据220中的每个标记225a可以存在于训练数据库205中。
在创建模型数据库220之后,可以基于模型数据220和注释数据208来训练分类器235。例如,通过扫描模型数据220,分类器可以基于模型数据225b来确定标记225a彼此之间的紧密相关程度。另外,在一些方面,注释数据208提供对训练数据205中提供的查询的分割的指示。根据该信息,分类器可以确定可以将训练数据205提供的哪些标记一起包括在片段中,以及可以将哪些标记包括在不同的片段中。取决于上下文,例如特定查询中存在的其他标记,对于相同的标记,该分割可以不同。在一些方面,分类器可以根据模型数据进行迭代。例如,在一些方面,可以利用二十(2)次迭代来训练分类器。在其他方面,其他数量的迭代也是可能的。
然后,分类器235可以被用于分割“新的”查询(例如,输入到web页面的查询)。当接收到主题查询105时,模型数据220与新查询105的标记一起被提供给分类器235。分类器235基于模型数据220以及在一些方面基于注释数据208将查询105分割为多个片段240a-240c。例如,在一些方面,分类器可以识别主题查询105中包括的第一标记和第二标记。分类器235可以基于模型数据220和注释数据208来确定两个标记是否紧密相关。例如,它们的相关可以基于两个标记在训练数据210中彼此相邻地出现的频繁程度。在一些方面,它们的相关可以基于这些标记基于注释数据208标记被分割或不被分割的方式。
可以经由标记表示225a和矢量表示225b之间的关联以及单独的第一标记和第二标记在模型数据220中识别第一标记和第二标记的矢量表示225b。例如,在一些方面,标记表示225a可以等同于标记的字符串表示,可以将该字符串表示与主题查询105中的标记进行比较。在一些方面,标记表示225可以是标记的哈希值。在这些方面中,可以对主题查询105中的标记进行哈希处理,然后与模型数据库220中的标记表示225a进行比较,以识别主题查询105中的标记的矢量表示225b。
图2中所示的模型建立器215和分类器235可以单独地或以集成方式包括一个或多个硬件处理器,该硬件处理器被配置为执行可以存储在电子硬件存储器中的指令。在下面进一步讨论示例性实施方式。
图3A是利用分类器来对查询进行分割的示例性方法的流程图。在一些方面,以下关于图3A讨论的过程300可以由一个或多个硬件处理器执行。例如,在一些方面,电子存储器可以存储用于一个或多个硬件处理器的指令,该指令当被执行时将一个或多个硬件处理器配置为执行以下关于图3A讨论的一个或多个功能。例如,下面关于图6讨论的查询分类器635中的指令可以将处理器(例如,图7的处理单元706和/或图8的处理器810中的一个或多个)配置为执行下面关于图3A讨论的一个或多个功能。
在框305中,基于训练数据针对标记建立模型。在一些方面,标记可以包括在作为训练数据的一部分的查询中。如以上关于图2所讨论的,训练数据205可以包括先前记录的在一个或多个网站或应用中输入的查询。查询可以是由网站的人类用户生成的。在一些方面,该模型可以由word2vec或GloVe来建立。这些模型将标记(例如,词语)映射到多维矢量空间。在一些方面,genism 2vec封装器可以用于建立模型。在一些方面,可以利用二和三(2-3)之间的上下文窗口。可以显示较小的上下文模型来学习更好的查询嵌入,尤其是针对分割任务。在一些方面,模型的矢量维度可以被设置为300。但是,可以预期其他维度,例如100、200、225、250、275、325、350、400或1-5000范围内的任何数量。如果将300用作矢量的维度,则当将两个矢量级联(这两个矢量表示查询中的两个标记)时,将形成维度为600的组合矢量。如下所述,该组合矢量成为分类器的输入特征矢量。
在框310中,基于模型训练分类器。分类器的训练使分类器能够确定框305的训练数据中的标记之间的关系。在一些方面,可以使用二元分类器。例如,分类器可以确定两个标记合在一起是否具有定性属性。定性属性可以指示例如两个标记是否在公共查询片段中。在一些方面,分类器可以是罗吉斯(logistic)回归或XGBoost。在一些方面,梯度提升机器可以用于分类。
在框315中,将两个标记提供给分类器。例如,在训练了分类器之后,分类器可以用于确定如何分割包括多个标记的查询。例如,如果在框310中被提供给分类器的两个标记在训练数据中被相对频繁地发现是关联的,则当再次被提供这两个标记时,分类器可以识别该关联。备选地,如果训练数据中两个其他标记通常不关联,则当向分类器提供这两个其他标记时,分类器可以确定这两个其他标记是不关联的,因此可以位于不同的查询片段中。在一些方面,框315可以被包括在下文讨论的图4的框470中。
在框320中,分类器基于分类器的训练确定是要将两个标记包括在不同片段中,还是包括在单个片段中。例如,在一些方面,可能已经根据经注释的训练数据对分类器进行了训练,该经注释的训练数据识别被提供给模型的训练数据的片段边界。
在各个方面,过程300的一个或多个框可以不存在。例如,在一些方面,过程300可以不包括框315和/或320。
下面的表1示出了当利用上述过程300时的分割和查询准确度。对于表1中所示的基准,根据测试数据集建立查询分割模型。表1示出,与原始ngram频率提升技术相比,对嵌入矢量的简单罗吉斯回归提供更好的结果。一些方面可以利用使用维基百科标题提升分割的模型,但是这并未用于生成表1中所示的结果:
表1
谷歌的word2vec在谷歌新闻上发布了预训练的词语嵌入矢量。这些预训练的嵌入是基于数据集构建的,该数据集具有约1000亿个词语以及300万个词语和短语,每个都具有300维的矢量。我们研究了转移学习的思想,以便将这些经预训练的嵌入(来自谷歌新闻数据语料库)用于网络查询分割。我们遵循与从头开始训练嵌入模型时类似的过程。这些经预训练的矢量充当查询中每个词语的特征。它们被级联并馈送给分类器。在一些方面,XGBoost可以用作分类器。可以执行网格搜索以针对树的深度和估计器的数量确定最佳超参数。可以在具有250万个词语词汇的维基百科语料库上在常见的爬虫(crawl)和脸书快速图文(facebook fasttext)预训练模型上重复此过程,但使用经预训练的GloVe矢量。表2示出了该分析的实验结果。通过经Glove网页爬虫预训练的嵌入可以实现最佳性能。
表2
图3B是训练分类器的示例性方法。在一些方面,以下关于图3B讨论的过程310可以由一个或多个硬件处理器执行。例如,在一些方面,电子存储器可以存储用于一个或多个硬件处理器的指令,该指令当被执行时将一个或多个硬件处理器配置为执行以下关于图3B讨论的一个或多个功能。例如,下面关于图6讨论的查询分类器635中的指令可以将处理器(例如,图7的处理单元706和/或图8的处理器810中的一个或多个)配置为执行下面关于图3B讨论的一个或多个功能。
在框355中,获得训练查询。在一些方面,从训练数据库205获得训练查询。训练查询可以包括多个标记,例如由标记定界符分隔的词语或符号。
在框360中,从训练查询生成一对标记。例如,查询可以具有n个标记。框360可以选择n个标记中的任意两个以形成一对。框360的多次迭代可以各自生成唯一标记对。
框365确定框360的两个标记是否包括在公共查询片段中。例如,在一些方面,注释数据208可以识别在框355中获得的训练查询内的查询片段。通过注释数据识别的查询片段均可以包括训练查询的部分,使得训练查询中的每个标记通过注释数据被指定或分配给特定查询片段。框365确定两个标记是否包括在训练查询的查询片段的单个查询片段中。
框370向分类器提供标记对以及该对中的两个标记是否被包括在公共查询片段中的指示。在一些方面,分类器是二元分类器。在一些方面,分类器可以是罗吉斯回归或XGBoost。在一些方面,梯度提升机器可以用于分类。
判定框375确定在框355中获得的训练查询中是否存在更多的唯一标记对。如果是这样,则处理返回到框355,并且从训练查询获得新的唯一标记对。否则,过程310移动到判定框380,该判定框380确定在训练查询的数据库(例如,上文讨论的数据库205)中是否存在可用的附加训练查询。如果没有附加训练查询可用,则分类器的训练可以完成。否则,处理返回到框355,并且从训练数据库获得附加的训练查询。
图4是查询分割的示例性方法的流程图。在一些方面,以下关于图4讨论的过程450可以由一个或多个硬件处理器执行。例如,在一些方面,电子存储器可以存储用于一个或多个硬件处理器的指令,该指令当被执行时将一个或多个硬件处理器配置为执行以下关于图4讨论的一个或多个功能。例如,在一些方面,存储在下面关于图6讨论的查询分类器635中的指令可以将一个或多个硬件处理器配置为执行下面关于图4讨论的一个或多个功能。在一些方面,查询分类器635的指令可以等同于图7所示的指令708和/或图8所示的指令816和/或818。这些指令可以将图7的处理器706和/或图8的处理器810中的一个或多个配置为执行下面关于图4讨论的一个或多个功能。在一些方面,指令816可以将处理器810中的一个或多个配置为执行下面关于图4讨论的一个或多个功能。
在框455中,接收查询字符串。在一些方面,可以从计算机网络接收查询字符串。例如,在一些方面,可以以http post事务的形式接收查询字符串。在一些其他方面,可以从诸如数据库或文件系统之类的数据存储接收查询字符串。在一些方面,可以从应用编程接口接收查询字符串。例如,查询字符串可以位于方法的输入参数中。该方法可以经由作为面向服务的架构的一部分的API暴露,例如经由SOAP或其他协议。
查询字符串包括多个标记。在一些方面,标记是词语或术语。标记可以被标记定界符集合包括的一个或多个字符分隔开。标记定界字符可以包括例如非字母数字字符、空格、逗号、分号、正斜杠或反斜杠中的一个或多个。
在框460中,从查询字符串的多个标记中识别第一标记和第二标记。在一些方面,框460可以包括解析查询字符串以识别标记。
在框465中,识别分别表示第一标记和第二标记的第一矢量和第二矢量。如以上关于图2所描述的,在一些方面,可以训练模型以将标记与矢量相关联,每个矢量表示其相应标记在矢量空间中的相对位置。框465可以基于数据库(例如,图2中所示的模型数据库220)中第一矢量和第二矢量分别与第一标记和第二标记的关联来识别第一矢量和第二矢量。
框470基于第一矢量和第二矢量来确定第一标记和第二标记是否包括在单个查询片段中。在一些方面,可以填充第一矢量和第二矢量以分别生成第一特征和第二特征。然后可以将第一特征和第二特征提供给分类器。分类器可以确定是否将第一标记和第二标记包括在单个查询片段中。例如,在一些方面,是否在公共查询片段中包括第一标记和第二标记可以基于模型的多维矢量空间中第一矢量和第二矢量之间的距离。分类器可以先前已经使用训练查询的数据库进行了训练。
在框475中,基于该确定对查询字符串进行分割。在一些方面,如果第一矢量和第二矢量之间的距离高于预定阈值,则可以将第一标记和第二标记放置在不同的查询片段中。在一些其他方面,在框455中接收到的查询的标记之间的距离可以基于它们相应的矢量之间的距离来分组。例如,具有在彼此的预定阈值距离之内的矢量的标记可以被分组。这可能会导致两组或更多组标记。每个组可以定义唯一查询片段的标记。在一些方面,可以利用聚类分析来确定组。例如,在一些方面可以利用基于密度的聚类模型。
框480基于在框475中生成的查询片段来处理查询。在一些方面,处理查询可以包括基于查询片段搜索一个或多个数据库并返回查询的结果。在一些方面,处理查询可以包括识别主要查询片段和其他非主要查询片段。处理查询还可以包括基于识别出的主要查询片段来搜索数据库(例如,下面讨论的626)。在一些方面,可以从对数据库的搜索中排除一个或多个非主要查询片段。查询的结果可以返回给例如执行查询的用户。例如,如果在框455中接收到的查询是经由web界面提供的,则框480可以包括生成结果页面,以及通过网络将结果页面发送给客户端计算机。客户端计算机然后可以将结果页面显示给用户。备选地,在一些方面,结果可以经由应用编程接口返回,例如,作为方法调用的输出参数。如上所述,在一些方面,SOAP或其他启用方法可以提供查询的结果作为输出参数。
图5A是查询分割的示例性方法的流程图。在一些方面,以下关于图5A讨论的过程500可以由一个或多个硬件处理器执行。例如,在一些方面,电子存储器可以存储用于一个或多个硬件处理器的指令,该指令当被执行时将一个或多个硬件处理器配置为执行以下关于图5A讨论的一个或多个功能。例如,在一些方面,下面关于图6讨论的查询分类器635中的指令可以将处理器810中的一个或多个和/或处理单元706配置为执行下面关于图3-图5中的一个或多个讨论的一个或多个功能。
在框502中,接收查询。例如,在一些方面,可以接收包括多个标记的查询,例如图1中所示的查询105。在一些方面,查询可以从下面讨论的客户端设备610接收,并且可以由也在下面讨论的运行查询分类器635的应用服务器640接收。
在一些方面,可以从计算机网络接收查询字符串。例如,在一些方面,可以以httppost事务的形式接收查询字符串。在一些其他方面,可以从诸如数据库或文件系统之类的数据存储接收查询字符串。在一些方面,可以从应用编程接口接收查询字符串。例如,查询字符串可以位于方法的输入参数中。该方法可以经由作为面向服务的架构的一部分的API暴露,例如经由SOAP或其他协议。
在一些方面,标记是词语或术语。标记可以被标记定界符集合包括的一个或多个字符分隔开。标记定界字符可以包括例如非字母数字字符、空格、逗号、分号、正斜杠或反斜杠中的一个或多个。
在框504中,从查询中生成一对标记。换言之,查询的两个标记以成对关系相关联。在一些方面,仅相邻的标记可以关联成对。在一些其他方面,仅阈值数量的标记内的标记可以关联成对。例如,在这些方面中,利用阈值数量为二(2)的标记,所接收的查询可以包括该对的两个标记之间的另一标记。
在框506中,确定多维矢量空间内的距离。框506可以包括确定与框504的对中包括的每个标记相对应的矢量。可以从诸如以上关于图2描述的模型数据库220之类的模型数据库中识别矢量。
在框508中,存储距离和标记对之间的关联。如下所述,可以存储该信息以用于后续处理。
判定框510确定是否存在从框502中接收到的查询中可用的附加的唯一标记对。如果是,则过程500返回框504,并且生成新的标记对。否则,框512识别具有低于阈值的关联距离的成对标记。标记对之间相对低的距离(即,低于预定距离阈值的距离)可以指示这些标记应被包括在单个查询片段内。
在框514中,将识别出的关联标记进行分组。在一些方面,可以利用聚类分析来对识别出的关联标记进行分组。例如,如果在框502中接收到的查询包括标记a、b、c、d、e、f,并且标记a、b和c中的每个彼此具有三个单位的距离,并且标记d、e、f中的每个彼此具有三个单位的距离,但是a、b、c均与d、e或f中的任何一个具有较大的距离,则可以形成两个组。一个组可以包括标记a、b、c,而另一组可以包括标记d、e、f。这两个组可以形成两个或更多个查询片段。
框516基于框514的分组标记来处理查询。在一些方面,处理查询可以包括基于查询片段搜索一个或多个数据库(例如,下面讨论的626)并返回查询的结果。在一些方面,处理查询可以包括识别主要查询片段,以及基于识别出的主要查询片段来搜索数据库。在一些方面,可以从对数据库的搜索中排除一个或多个非主要查询片段。在一些方面,非主要查询片段可以定义正在搜索的物品的属性,而主要查询片段可以例如经由物品的名称或产品编号来识别物品本身。
在一些方面,框516可以包括在每个查询片段周围放置引号,并基于被引用的查询来搜索数据库。例如,如果框502的查询是“长袖夏季服装”,则在框514将“长”和“袖”分组为第一查询片段并且框514将“夏季”和“服装”分组为第二查询片段之后,框516可以将该查询处理为“长袖”“夏季服装”。还预期使用分割后的查询的其他方法,其中一些是本领域已知的。
查询的结果可以返回给例如执行查询的用户。例如,如果在框502中接收到的查询是经由web界面提供的,则框516可以包括生成结果页面,以及通过网络将结果页面发送给客户端计算机。客户端计算机然后可以将结果页面显示给用户。备选地,在一些方面,结果可以经由应用编程接口返回,例如,作为方法调用的输出参数。如上所述,在一些方面,SOAP或其他启用方法可以提供查询的结果作为输出参数。
图5B是示出了针对一些所公开方面的注释器一致意见分布(annotatoragreement distribution)的图。为了确定所公开的方法和系统的查询分割准确度,我们对在3个月的时间段内从前15,000个eBay类别中抽样的50,000的查询集进行了注释。每个查询收到三(3)个注释,每个注释都有有意义的片段,记住搜索相关性。为了精确起见,要求注释器在eBay的搜索引擎上验证分割后的查询,以确保结果的质量在分割后改善。图5B示出了注释器一致意见分布。我们观察到两个或更多个注释器在大约78%的查询上达成了一致,而所有三个注释器在大约25%的时间都达成了一致。查询分割具有一些歧义,这是因为它可能反映了注释器之间关于注释的意见的差异。所有三个注释器达成一致的百分比很低,表明分割任务可能是主观的。为了训练模型,在上述方法、系统和设备的一些方面,我们利用了三个注释器中至少有两个达成一致的注释。图5C示出了用于AOL数据集的注释器一致意见。
所公开的系统、方法和设备的一些方面利用80%的eBay查询集进行训练,其余的20%用于测试。在这些方面中的一些方面,可以将80%的训练部分进一步划分为80%的训练集和20%的验证集。一些方面使用快速图文来学习查询嵌入,然后训练XGBoost分类器以预测分割间断。使用具有500个估计器且在XGBoost模型上深度为四(4)的skip-gram模型,用于超参数调整的网格搜索可以提供最佳的分割准确度。具有深度为六(6)的800个估计器的连续词袋(cbow)模型也提供了良好的结果。实际上,我们使用cbow架构发现了查询准确度和分割准确度的最佳数字。下面的表3总结了ngram模型和我们方法的准确度。使用我们的技术针对电子商务数据获得的准确度明显优于基于ngram的分割模型。这些数字也与利用AOL查询的嵌入经验相当。
表3
图6是示例性的基于客户端-服务器的架构600的框图。虽然图6示出了基于客户端-服务器的架构600,但是本发明的主题当然不限于这种架构,并且同样很好地适用于例如事件驱动的、分布式的或对等的架构系统。此外,为了避免用不必要的细节来模糊本发明的主题,图6中省略了与传达本发明主题的理解无关的各种功能组件。此外,应当理解,尽管图6中所示的各种功能组件以单数意义来讨论,但是可以采用各种功能组件中的任一种的多个实例。
具有基于网络的系统的示例形式的内容发布平台602经由网络604(例如,互联网或广域网(WAN))向一个或多个客户端设备610提供服务器侧功能。例如,图6示出了web客户端612(例如,浏览器)、客户端应用614和在客户端设备610上执行的编程客户端616。客户端设备610可以包括但不限于:移动电话、台式计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、笔记本计算机、多处理器系统、基于微处理器或可编程的消费电子产品、游戏机、机顶盒或用户可以用来访问内容发布平台602的任何其他通信设备。在一些实施例中,客户端设备610可以包括显示模块(未示出)以显示信息(例如,以用户界面的形式)。在另一些实施例中,客户端设备610可以包括触摸屏、加速度计、陀螺仪、相机、麦克风、全球定位系统(GPS)设备等中的一个或多个。在一个实施例中,内容发布平台602是基于网络的市场,其发布包括在基于网络的市场上可用的产品的列表项的公告(例如,web文档)。
一个或多个用户606可以是人、机器或与客户端设备610交互的其他装置。在示例实施例中,用户606不是基于客户端-服务器的架构600的一部分,但可以经由客户端设备610或另一装置与基于客户端-服务器的架构600进行交互。例如,用户606可以向客户端设备610提供输入(例如,触摸屏输入或字母数字输入),并且经由网络604将该输入传送给内容发布平台602。在该实例中,内容发布平台602响应于从用户606接收到的输入,经由网络604将信息传送给客户端设备610以呈现给用户606。以这种方式,用户606可以使用客户端设备610与内容发布平台602交互。
客户端设备610可以包括一个或多个客户端应用614(也称作“app”),例如但不限于web浏览器、消息传送应用、电子邮件(email)应用、电子商务站点应用(也称作市场应用)等。在一些实施例中,如果电子商务网站应用被包括在客户端设备610中,则该应用可以被配置为本地提供用户界面以及功能中的至少一些,其中该客户端应用614被配置为根据需要与内容发布平台602通信,以获得本地不可用的数据或处理能力(例如,访问可供销售的物品的数据库、认证用户606、验证支付方法等)。相反,如果电子商务网站应用未被包括在客户端设备610中,则客户端设备610可以使用其web浏览器来访问内容发布平台102上托管的电子商务网站(或其变型)。
网络604的一个或多个部分可以是adhoc网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网的一部分、公共电话交换网(PSTN)的一部分、蜂窝电话网、无线网络、WiFi网络、WiMax网络、另一类型的网络或两个或更多个这样的网络的组合。
应用程序接口(API)服务器620和网络服务器622耦接至应用服务器640,并分别向应用服务器640提供编程接口和web接口。应用服务器640可以托管查询分类器635和数据库搜索过程623,并且它们中的每个都可以体现为硬件、软件、固件或其任何组合。查询分类器635可以包括以上关于图2讨论的分类器234。根据所公开的实施例,数据库搜索过程623可以从查询分类器635接收查询片段。应用服务器640进而被示为耦接到便于访问数据库626的数据库服务器624。在示例实施例中,数据库626是存储数据库搜索过程623要查询的信息(例如,发布或列表)的存储设备。根据示例实施例,数据库626还可以存储数字项目信息。
附加地,在第三方服务器630上执行的第三方应用632被示为具有经由API服务器620所提供的编程接口对内容发布平台602的编程访问。例如,第三方应用632利用从内容发布平台602获取的信息,支持第三方所托管的网站上的一个或多个特征或功能。
尽管在图6中将查询分类器635和数据库搜索过程623示为都形成查询平台602的一部分,但是应当理解,在备选实施例中,查询分类器635和数据库搜索过程623中的每个都可以形成与内容查询平台602分离且不同的服务或平台的一部分。
图7是示出了代表性软件架构702的框图700,该代表性软件架构702可以结合本文所描述的各种硬件架构一起使用。图7仅仅是软件架构的非限制性示例,并且将理解的是,可以实现许多其他架构以促进实现本文描述的功能。软件架构702可以在诸如图8的机器800之类的硬件上执行,所述机器800包括处理器810、存储器830和I/O组件850。代表性的硬件层704被示出,并且可以表示例如图8的机器800。代表性的硬件层704包括具有关联的可执行指令708的一个或多个处理单元706。可执行指令708表示软件架构702的可执行指令,包括上述方法和模块等的实现。硬件层704还包括存储器和/或存储模块710,所述存储器和/或存储模块910也具有可执行指令708。硬件层704还可以包括由712表示的其它硬件,其表示硬件层704的任何其他硬件,例如作为机器800的一部分示出的其他硬件。
在图7的示例架构中,软件架构702可以被概念化为层的堆叠,其中每层提供特定的功能。例如,软件架构702可以包括诸如操作系统714、库716、框架/中间件718、应用720和表示层744之类的层。在操作上,应用720和/或层内的其它组件可以通过软件堆叠来调用应用编程接口(API)调用724,并且响应于API调用724接收被示为消息726的响应、返回值等等。所示出的层在本质上具有代表性,并不是所有的软件架构都具有所有层。例如,一些移动或专用操作系统可能不提供框架/中间件层718,而其他系统可以提供这样的层。其他软件架构可以包括附加层或不同层。
操作系统714可以管理硬件资源并提供公共服务。操作系统714可以包括例如内核728、服务730和驱动器732。内核728可以用作硬件和其他软件层之间的抽象层。例如,内核728可以负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等。服务730可以为其它软件层提供其它公共服务。驱动器732可以负责控制底层硬件或与底层硬件通过接口连接。例如,取决于硬件配置,驱动732可以包括显示器驱动、相机驱动、驱动、闪存驱动、串行通信驱动(例如通用串行总线(USB)驱动),驱动、音频驱动、电源管理驱动等等。
库716可以提供可由应用720和/或其它组件和/或层利用的公共基础设施。库716通常提供允许其他软件模块以比直接与底层操作系统714的功能(例如,内核728、服务730和/或驱动732)通过接口连接更容易的方式执行任务。库716可以包括可以提供诸如存储器分配功能、字符串操纵功能、数学功能等功能的系统734库(例如,C标准库)。另外,库716可以包括API库736,例如媒体库(例如,用于支持各种媒体格式(诸如MPREG4、H.264、MP3、AAC、AMR、JPG、PNG)的呈现和操纵的库)、图形库(例如,可以用于在显示器上渲染图形内容中的2D和3D的OpenGL框架)、数据库(例如,可以提供各种关系数据库功能的SQLite)、web库(例如,可以提供网络浏览功能的WebKit)等。库716还可以包括各种各样的其他库738,以提供到应用520和其他软件组件/模块的许多其他API。
框架/中间件718(有时也称为中间件)可以提供可以由应用720和/或其它软件组件/模块利用的更高级的公共基础设施。例如,框架718可以提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等。框架718可以提供可以由应用720和/或其它软件组件/模块利用的广泛范围的其它API,其中一些可以特定于特定操作系统或平台。
应用720包括内置应用740和/或第三方应用742。代表性的内置应用740的示例可以包括但不限于联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息传递应用和/或游戏应用。第三方应用742可以包括任何内置应用以及各种其他应用。在具体示例中,第三方应用742(例如,由与特定平台的供应商不同的实体使用AndroidTM或iOSTM软件开发工具包(SDK)而开发的应用)可以是在移动操作系统(诸如iOSTM、AndroidTMPhone或其他移动操作系统)上运行的移动软件。在该示例中,第三方应用742可以调用由诸如操作系统714之类的移动操作系统提供的API调用736,以有助于实现本文描述的功能。
应用720可以利用内置操作系统功能(例如,内核728、服务730和/或驱动器732)、库(例如,系统734、API 736和其他库738)和框架/中间件718来创建用户接口以与系统的用户交互。备选地或附加地,在一些系统中,与用户的交互可以通过表示层(诸如表示层744)发生。在这些系统中,应用/模块“逻辑”可以与和用户交互的应用/模块的各方面分离。
一些软件架构利用虚拟机。在图7的示例中,这由虚拟机748示出。虚拟机创建软件环境,在该软件环境中应用/模块可以像它们在硬件机器(诸如图8的机器)上执行一样执行。虚拟机由主操作系统(图7中的操作系统714)托管,并且通常(尽管并不总是)具有管理虚拟机的操作以及与主操作系统(即,操作系统714)连接的接口的虚拟机监控器746。软件架构在虚拟机内执行,例如操作系统714、库716、框架/中间件718、应用720和/或表示层744。在虚拟机748内执行的这些软件架构的层可以与先前描述的对应层相同,或者可以不同。
图8是示出了根据一些示例实施例的能够从机器可读介质(例如,机器可读存储设备)中读取指令并执行本文所讨论的方法中的任何一个或多个的机器600的组件的框图。具体地,图6示出了计算机系统的示例形式的机器600的示意图,其中可以执行用于使机器600执行本文讨论的任何一种或多种方法的指令616(例如,软件、程序、应用、小应用、app或其他可执行代码)。这些指令将通用的未编程的机器转换成被编程为以本文所描述的方式执行所描述和示出的方法的特定机器。机器600可以作为独立设备操作,或者可以耦接(例如,联网)到其他机器。在联网部署中,机器600可以在服务器-客户端网络环境中以服务器机器或客户端机器的容量操作,或者作为对等(或分布式)网络环境中的对等机器操作。作为非限制性示例,机器600可以包括或对应于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能家电)、其他智能设备、网络设备、网络路由器、网络交换机、网桥、或能够顺序地或以其他方式执行指定机器600要采取的动作的指令616的任何机器。此外,尽管仅示出了单个机器600,但是术语“机器”也将被认为包括机器600的集合,其单独地或联合地执行指令616以执行本文讨论的方法中的任何一个或多个。
机器600可以包括可被配置为例如经由总线602彼此通信的处理器610、存储器/存储设备630和I/O组件650。在示例实施例中,处理器610(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、其他处理器或其任何适当组合)可以包括例如可以执行指令616的处理器612和处理器614。术语“处理器”旨在包括可以包括可以同时执行指令的两个或更多个独立处理器(有时称为“核”)的多核处理器610。尽管图6示出了多个处理器,但是机器600可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或其任何组合。
存储器/存储设备630可以包括存储器632(例如,主存储器或其他存储储存设备)以及存储单元636,存储器632和存储单元636两者都可例如经由总线602由处理器610访问。存储单元636和存储器632存储体现本文所述的任何一种或多种方法或功能的指令616。在机器600执行指令616期间,指令616还可以完全地或部分地驻留在存储器632内、存储单元636内、处理器610中的至少一个内(例如,处理器的高速缓存存储器内)、或其任何合适的组合内。因此,存储器632、存储单元636和处理器610的存储器是机器可读介质的示例。
如本文所使用,“机器可读介质”是指能够暂时或永久地存储指令和数据的设备,并且可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪速存储器、光学介质、磁性介质、高速缓冲存储器、其它类型的存储器(例如,可擦除可编程只读存储器(EEPROM))和/或其任何合适的组合。术语“机器可读介质”应被视为包括能够存储指令616的单个介质或多个介质(例如集中式或分布式数据库、或相关联的高速缓存和服务器)。术语“机器可读介质”还将被认为包括能够存储被机器(例如机器600)执行的指令(例如,指令616)的任何介质或多个介质的组合,使得指令在被机器的一个或多个处理器(例如,处理器610)执行时,使机器执行本文所描述的方法中的任何一个或多个。因此,“机器可读介质”指单个存储装置或设备、以及包括多个存储装置或设备的“基于云”的存储系统或存储网络。术语“机器可读介质”不包括信号本身。在示例实施例中,机器可读介质也可以被称为“机器可读存储设备”。
I/O组件650可以包括用于接收输入、提供输出、产生输出、发送信息、交换信息、捕捉测量等的各种各样的组件。包括在特定机器中的特定I/O组件650将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他这种输入机构,而无头服务器机器将可能不包括这种触摸输入设备。应当理解,I/O组件650可以包括图6中未示出的许多其他组件。可以根据功能将I/O组件650分组,以仅用于简化以下讨论,并且分组不以任何方式进行限制。在各种示例实施例中,I/O组件650可以包括输出组件652和输入组件654。输出组件652可以包括视觉组件(例如,显示器,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、声学组件(例如扬声器)、触觉组件(例如振动马达、电阻机构)、其他信号发生器等。输入组件654可以包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光电键盘或其他字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或另一定点仪器)、触觉输入组件(例如,物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏或其他触觉输入组件)、音频输入组件(例如,麦克风)等。
在另一些示例实施例中,I/O组件650可以包括生物计量组件656、运动组件658、环境组件660或方位组件662、以及许多其他组件。例如,生物计量组件656可以包括用于检测表达(例如,手表达、面部表情、语音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件658可以包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境组件660可以包括,例如,照明传感器组件(例如,光度计)、温度传感器组件(例如,一个或多个检测环境温度的温度计)、声学传感器组件(例如,一个或多个检测背景噪声的麦克风)、或可以提供与周围物理环境相对应的指示、测量或信号的其他组件。方位组件662可以包括位置传感器组件(例如,全球定位系统(GPS)接收机组件)、高度传感器组件(例如,高度计或检测气压的气压计(根据气压可以导出高度))、取向传感器组件(例如,磁力计)等。
可以使用各种各样的技术来实现通信。I/O组件650可以包括通信组件664,通信组件664可操作以分别经由耦接682和耦接672将机器600耦接到网络680或设备670。例如,通信组件664可以包括网络接口组件或与网络680通过接口连接的其他合适设备。在另一些示例中,通信组件664可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、组件(例如低能耗)、组件、以及经由其他模态提供通信的其他通信组件。设备670可以是另一机器或各种外围设备中的任一种(例如,经由通用串行总线(USB)耦接的外围设备)。
此外,通信组件664可以检测标识符或包括可操作以检测标识符的组件。例如,通信组件664可以包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件(例如,用于检测以下各项的光学传感器:一维条形码(例如通用产品代码(UPC)条形码)、多维条形码(例如快速响应(QR)码)、阿兹台克码、数据矩阵、Dataglyph、MaxiCode、PDF417、超码、UCC RSS-2D条形码和其他光学码)、或声学检测组件(例如,用于识别标记的音频信号的麦克风)。另外,可以经由通信组件664导出各种信息,诸如经由互联网协议(IP)地理位置的位置、经由信号三角测量的位置、经由检测可以指示特定位置的NFC信标信号的位置等等。
在各种示例实施例中,网络680的一个或多个部分可以是自组织网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网,互联网的一部分、公共交换电话网络(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、另一类型的网络、或两个或更多个这样的网络的组合。例如,网络680或网络680的一部分可以包括无线或蜂窝网络,并且耦接682可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或另一个类型的蜂窝或无线耦接。在该示例中,耦接682可以实现各种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、GSM演进增强数据速率(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他标准、其他远程协议或其他数据传输技术。
指令616可以经由网络接口设备(例如,包括在通信组件664中的网络接口组件)使用传输介质并且利用多个公知的传输协议(例如,超文本传输协议(HTTP))通过网络680发送或接收。类似地,可以使用传输介质经由耦接672(例如,对等耦接)向设备670发送或接收指令616。术语“传输介质”应被认为包括能够存储、编码或承载用于被机器600执行的指令616的任何无形介质,并且包括用于促进该软件的通信的数字或模拟通信信号或其他无形介质。
某些实施例在本文中被描述为包括逻辑或多个组件、模块或机构。模块可以构成软件模块(例如在机器可读介质上或在传输信号中体现的代码)或硬件模块。硬件模块是能够执行某些操作的有形单元,并且可以按特定方式来配置或布置。在示例实施例中,一个或多个计算机系统(例如独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如处理器或处理器组)可以由软件(例如,应用或应用部分)配置为进行操作以执行本文描述的某些操作的硬件模块。
在各实施例中,硬件模块可以用机械方式或电子方式来实现。例如,硬件模块可以包括永久地被配置为执行某些操作的专用电路或逻辑(例如,硬件模块可以是专用处理器,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC))。硬件模块还可以包括由软件暂时配置以执行某些操作的可编程逻辑或电路(例如,包含在通用处理器或其它可编程处理器中的可编程逻辑或电路)。应当理解:以机械方式、以专用和永久配置的电路或以临时配置的电路(例如由软件配置)实现硬件模块的决定可出于成本和时间的考虑。
因此,术语“硬件模块”应当被理解为包含有形实体,应当是物理构成的、永久配置(例如,硬连线的)或暂时配置(例如,编程的)以在特定方式下工作或以执行本文描述的特定操作的实体。考虑临时配置(例如编程)硬件模块的实施例,无需在任一时刻配置或实例化硬件模块中的每一个。例如,在硬件模块包括由软件配置的通用处理器的情况下,通用处理器就可以在不同时间被配置为各自不同的硬件模块。因此,软件可以将处理器例如配置为在一个时刻构成特定硬件模块并在另一时刻构成不同的硬件模块。
硬件模块可以向其他硬件模块提供信息并从其他硬件模块接收信息。因此,所描述的硬件模块可以被看作通信地耦合。在多个这种硬件模块同时存在的情况下,可以通过信号传输(例如在连接硬件模块的适当的电路和总线上)来实现通信。在多个硬件模块在不同时间配置或实例化的实施例中,可以例如通过存储并获取多个硬件模块可访问的存储器结构中的信息来实现这样的硬件模块之间的通信。例如,一个硬件模块可以执行操作并在与其通信耦合的存储设备中存储该操作的输出。另一硬件模块接着可以稍后访问存储器设备,以获取并处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且能够对资源(例如信息的集合)进行操作。
本文描述的示例方法的各种操作可以至少部分地由临时配置(例如通过软件)或永久配置为执行相关操作的一个或多个处理器执行。无论是临时还是永久地配置,这样的处理器可以构成进行操作以执行一个或多个操作或功能的处理器实现的模块。在一些示例实施例中,如本文中使用的“模块”包括处理器实现的模块。
类似地,本文中描述的方法可以至少部分由处理器实现。例如,方法的至少一些操作可由一个或多个处理器或处理器实现的模块执行。某些操作的执行可以分布在一个或多个处理器中,并不只驻留在单个机器中,而是跨多个机器来部署。在一些示例实施例中,一个或多个处理器或处理器可以位于单个地点(例如在家庭环境、办公室环境或服务器群中),而在其他实施例中,处理器可以分布在多个地点。
一个或多个处理器还可以操作以支持在“云计算”环境下的相关操作的执行或作为“软件即服务”(SaaS)的相关操作的执行。例如,至少一些操作可以由一组计算机(例如,包括处理器的机器)来完成,这些操作是可经由网络(例如,互联网)以及经由一个或多个适当的接口(例如,API)访问的。
示例实施例可以用数字电子电路或者用计算机硬件、固件、软件或它们的组合来实现。示例实施例可以使用计算机程序产品来实现,计算机程序产品例如是在信息载体中有形地表现的计算机程序,信息载体例如是由数据处理装置执行的机器可读介质或用于控制数据处理装置的操作的机器可读介质,数据处理装置例如是可编程处理器、计算机、或多个计算机。
可以以任何形式的编程语言来编写计算机程序,该编程语言包括:编译或解释语言,并且可以以任何形式来部署计算机程序,包括部署为独立的程序或者部署为适合于用于计算环境的模块、子例程,或者其它单元。计算机程序可以被配置为在一个计算机执行或在位于一个地点处的多个计算机上执行或者在分布在多个地点上并通过通信网络互连的多个计算机上执行。
在示例实施例中,操作可以通过一个或多个可编程处理器执行计算机程序来执行,以通过操作输入数据并产生输出来执行功能。方法操作还可以通过由专用逻辑电路(例如,FPGA或ASIC)来执行,并且示例实施例的装置可以实现为专用逻辑电路。
计算系统可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络进行交互。客户端和服务器的关系通过在相应计算机上运行并且相互具有客户端-服务器关系的计算机程序来产生。在使用可编程计算系统的实施例中,将清楚的是,需要考虑硬件架构和软件架构二者。具体地,将清楚的是,在永久配置的硬件(例如ASIC)中、在暂时配置的硬件中(例如软件与可编程处理器的组合)、或是在永久配置的与暂时配置的硬件的组合中实现特定功能可以是设计选择。
尽管已经参考特定示例实施例描述了本公开的实施例,显然,可以对这些实施例做出各种修改和改变,而不离开本公开主题的更宽泛的范围。因此,说明书和附图应被认为是说明性的而不是限制意义的。形成可以实现主题的具体实施例的一部分的附图是通过说明而不是限制的方式示出的。充分详细地描述了所示出的实施例,以使得本领域技术人员能够实践本文中所公开的教导。可以利用并根据这些实施例得出其他实施例,从而可以在不脱离本公开的范围的情况下做出结构和逻辑上的替换和改变。因此,该“具体实施方式”部分不应当看做是限制意义,并且各种实施例的范围仅通过所附权利要求以及权利要求的等同物的全部范围来限定。
本发明主题的这些实施例被单独地和/或统一地由术语“发明”来指代,其仅是为了方便,而不是旨在主动将本申请的范围限制为任意单个发明或发明构思(如果实际上不止一个被公开的话)。因此,尽管本文示出并描述了特定实施例,应当理解,适于实现相同目的的任意设置都可以用于替换所示出的特定实施例。本公开旨在覆盖各种实施例的任意和所有的适应性修改或变化。通过研究上述内容,上述实施例的组合以及本文中没有具体描述的其它实施例对于本领域技术人员来说将是明显的。
本文中提到的所有公开、专利和专利文件通过引用的方式单独全文并入本文中。在本文中与通过引用并入的文件之间的使用不一致的情况下,并入的参考文献中的使用应当被看做对本文件的补充;对于不可调和的不一致,以本文件中的使用为准。
在本文件中,如专利文件中常见的,术语“一个”用于包括一个或多个,区别于“至少一个”或“一个或多个”的任何其它实例或用法。在本文件中,除非另有明确说明,术语“或”用于指非排他性的或者,例如“A或B”包括“A但不是B”、“B但不是A”以及“A和B”。在附加的权利要求中,术语“包括”和“其中”用作相应术语“包含”和“在其中”的英语等同体。此外,以下权利要求中,术语“包括”和“包含”是开放式的;也就是说,包括除了在权利要求中的该术语之后列出的以外的内容的系统、设备、物品或过程生将被视为落入该权利要求的范围内。

Claims (19)

1.一种对查询进行分割的方法,包括:由一个或多个硬件处理器接收查询字符串,所述查询字符串包括多个标记;由所述一个或多个硬件处理器从所述多个标记中识别第一标记和第二标记;由所述一个或多个硬件处理器确定分别与所述第一标记和所述第二标记相关联的词语嵌入模型的第一矢量和第二矢量;由所述一个或多个硬件处理器基于所述第一矢量和所述第二矢量来确定是否在单个查询片段中包括所述第一标记和所述第二标记;由所述一个或多个硬件处理器基于所述确定来生成包括所述单个查询片段的多个查询片段;以及由所述一个或多个硬件处理器基于所述多个查询片段来处理所述查询。
2.根据权利要求1所述的方法,还包括:通过将所述第一矢量与所述第二矢量级联来生成特征;通过将所述特征传递给二元分类器并从所述二元分类器接收关于所述第一标记和所述第二标记是否位于单个查询片段中的指示来确定是否在所述单个查询片段中包括所述第一标记和所述第二标记。
3.根据权利要求1所述的方法,还包括:基于多个训练查询来建立所述词语嵌入模型,以生成包括所述第一矢量和所述第二矢量的模型数据。
4.根据权利要求3所述的方法,其中,所述词语嵌入模型是word2vec模型或GloVe模型。
5.根据权利要求3所述的方法,还包括:基于所述模型数据来训练分类器,其中,对是否在单个查询片段中包括所述第一标记和所述第二标记的确定是基于经训练的分类器的。
6.根据权利要求5所述的方法,还包括:基于定义所述训练查询的分割的注释数据来训练所述分类器。
7.根据权利要求6所述的方法,还包括:使用连续词袋cbow或skip-gram架构来训练所述分类器。
8.根据权利要求1所述的方法,其中,所述处理包括:基于所述多个查询片段来搜索数据库。
9.一种用于对查询进行分割的装置,包括一个或多个硬件处理器,所述一个或多个硬件处理器被配置为:接收查询字符串,所述查询字符串包括多个标记;从所述多个标记中识别第一标记和第二标记;确定分别与所述第一标记和所述第二标记相关联的词语嵌入模型的第一矢量和第二矢量;基于所述第一矢量和所述第二矢量来确定是否在单个查询片段中包括所述第一标记和所述第二标记;基于所述确定来生成多个查询片段;以及基于所述多个查询片段来处理所述查询。
10.根据权利要求9所述的装置,其中,所述一个或多个硬件处理器还被配置为:基于多个训练查询来建立所述词语嵌入模型,以生成包括所述第一矢量和所述第二矢量的模型数据。
11.根据权利要求10所述的装置,其中,所述词语嵌入模型是word2vec模型或GloVe模型。
12.根据权利要求10所述的装置,其中,所述一个或多个硬件处理器还被配置为:填充所述第一矢量和所述第二矢量以分别生成第一特征和第二特征,其中,对是否在单个查询片段中包括所述第一标记和所述第二标记的确定是基于所述第一特征和所述第二特征的。
13.根据权利要求10所述的装置,其中,所述一个或多个硬件处理器还被配置为:基于所述模型数据来训练分类器,其中,对是否在单个查询片段中包括所述第一标记和所述第二标记的确定是基于经训练的分类器的。
14.根据权利要求13所述的装置,其中,所述一个或多个硬件处理器还被配置为:基于定义所述训练查询的分割的注释数据来训练所述分类器。
15.根据权利要求9所述的装置,其中,所述一个或多个硬件处理器还被配置为:将对所述第一标记和所述第二标记的识别限于所述多个标记中的相邻标记。
16.根据权利要求9所述的装置,其中,所述处理包括:基于所述多个查询片段来搜索数据库。
17.根据权利要求16所述的装置,其中,所述处理包括:识别所述多个查询片段中的主要查询片段;以及基于所述主要查询片段来搜索数据库。
18.根据权利要求9所述的装置,其中,所述一个或多个硬件处理器还被配置为:基于所述第一标记和所述第二标记之间的一个或多个标记定界字符,识别所述查询字符串中的所述第一标记和所述第二标记。
19.一种包括指令的非暂时性计算机可读介质,所述指令在被执行时,将一个或多个硬件处理器配置为执行一种对查询进行分割的方法,所述方法包括:由一个或多个硬件处理器接收查询字符串,所述查询字符串包括多个标记;由所述一个或多个硬件处理器从所述多个标记中识别第一标记和第二标记;由所述一个或多个硬件处理器确定分别与所述第一标记和所述第二标记相关联的词语嵌入模型的第一矢量和第二矢量;基于所述第一矢量和所述第二矢量来确定是否在单个查询片段中包括所述第一标记和所述第二标记;基于所述确定来生成多个查询片段;以及由所述一个或多个硬件处理器基于所述多个查询片段来处理所述查询。
CN201880032109.XA 2017-05-15 2018-05-02 用于查询分割的方法和系统 Active CN110622153B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762506132P 2017-05-15 2017-05-15
US62/506,132 2017-05-15
US15/681,663 US11640436B2 (en) 2017-05-15 2017-08-21 Methods and systems for query segmentation
US15/681,663 2017-08-21
PCT/US2018/030618 WO2018212995A1 (en) 2017-05-15 2018-05-02 Methods and systems for query segmentation

Publications (2)

Publication Number Publication Date
CN110622153A true CN110622153A (zh) 2019-12-27
CN110622153B CN110622153B (zh) 2023-12-19

Family

ID=64097753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880032109.XA Active CN110622153B (zh) 2017-05-15 2018-05-02 用于查询分割的方法和系统

Country Status (5)

Country Link
US (1) US11640436B2 (zh)
EP (1) EP3625706A4 (zh)
KR (1) KR102402340B1 (zh)
CN (1) CN110622153B (zh)
WO (1) WO2018212995A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11392582B2 (en) * 2015-10-15 2022-07-19 Sumo Logic, Inc. Automatic partitioning
US11640436B2 (en) 2017-05-15 2023-05-02 Ebay Inc. Methods and systems for query segmentation
US11216437B2 (en) 2017-08-14 2022-01-04 Sisense Ltd. System and method for representing query elements in an artificial neural network
US20190050725A1 (en) * 2017-08-14 2019-02-14 Sisense Ltd. System and method for approximating query results using local and remote neural networks
US11036746B2 (en) 2018-03-01 2021-06-15 Ebay Inc. Enhanced search system for automatic detection of dominant object of search query
US11151325B2 (en) * 2019-03-22 2021-10-19 Servicenow, Inc. Determining semantic similarity of texts based on sub-sections thereof
CN109948340B (zh) * 2019-03-27 2020-09-01 集美大学 一种卷积神经网络和XGBoost相结合的PHP-Webshell检测方法
CN110287329B (zh) * 2019-07-04 2021-01-29 河海大学 一种基于商品文本分类的电商类目属性挖掘方法
US11210288B2 (en) 2020-05-12 2021-12-28 Coupang Corp. Systems and methods for reducing database query latency
US20230044247A1 (en) * 2021-08-06 2023-02-09 Rockwell Collins, Inc. Cockpit display ambient lighting information for improving gaze estimation
US20230096564A1 (en) * 2021-09-29 2023-03-30 Rakuten Group, Inc. Chunking execution system, chunking execution method, and information storage medium

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1784653A (zh) * 2003-04-04 2006-06-07 雅虎公司 用于从搜索查询中产生概念单元的系统和方法
CN1954321A (zh) * 2004-03-31 2007-04-25 Google公司 具有实体检测的查询改写
US20070124301A1 (en) * 2004-09-30 2007-05-31 Elbaz Gilad I Methods and systems for improving text segmentation
JP2007156932A (ja) * 2005-12-06 2007-06-21 Just Syst Corp 学習方法、学習装置、および検索方法、検索装置
US20090157599A1 (en) * 2007-12-14 2009-06-18 Yahoo! Inc. Segmentation of search topics in query logs
US20100094835A1 (en) * 2008-10-15 2010-04-15 Yumao Lu Automatic query concepts identification and drifting for web search
US20100205198A1 (en) * 2009-02-06 2010-08-12 Gilad Mishne Search query disambiguation
US8135580B1 (en) * 2008-08-20 2012-03-13 Amazon Technologies, Inc. Multi-language relevance-based indexing and search
US20130124474A1 (en) * 2011-11-15 2013-05-16 Arlen Anderson Data clustering, segmentation, and parallelization
US20140236579A1 (en) * 2013-02-18 2014-08-21 Nadine Sina Kurz Method and Device for Performing Natural Language Searches
US20160189047A1 (en) * 2014-12-30 2016-06-30 Yahoo! Inc. Method and System for Entity Linking
US20160275148A1 (en) * 2015-03-20 2016-09-22 Huawei Technologies Co., Ltd. Database query method and device
CN106462630A (zh) * 2014-06-18 2017-02-22 谷歌公司 用于搜索视频内容的方法、系统和介质
US20170060844A1 (en) * 2015-08-28 2017-03-02 Microsoft Technology Licensing, Llc Semantically-relevant discovery of solutions

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5671333A (en) * 1994-04-07 1997-09-23 Lucent Technologies Inc. Training apparatus and method
US6236991B1 (en) * 1997-11-26 2001-05-22 International Business Machines Corp. Method and system for providing access for categorized information from online internet and intranet sources
US6363373B1 (en) 1998-10-01 2002-03-26 Microsoft Corporation Method and apparatus for concept searching using a Boolean or keyword search engine
US6657117B2 (en) * 2000-07-14 2003-12-02 Microsoft Corporation System and methods for providing automatic classification of media entities according to tempo properties
CN1894686A (zh) 2003-11-21 2007-01-10 皇家飞利浦电子股份有限公司 用于文档构造的文本分段和主题注释
US7603349B1 (en) 2004-07-29 2009-10-13 Yahoo! Inc. User interfaces for search systems using in-line contextual queries
US20060188864A1 (en) 2005-01-31 2006-08-24 Pankaj Shah Automated transfer of data from PC clients
US7580926B2 (en) * 2005-12-01 2009-08-25 Adchemy, Inc. Method and apparatus for representing text using search engine, document collection, and hierarchal taxonomy
US20100138451A1 (en) * 2006-04-03 2010-06-03 Assaf Henkin Techniques for facilitating on-line contextual analysis and advertising
US7925652B2 (en) * 2007-12-31 2011-04-12 Mastercard International Incorporated Methods and systems for implementing approximate string matching within a database
US20100191740A1 (en) 2009-01-26 2010-07-29 Yahoo! Inc. System and method for ranking web searches with quantified semantic features
US8745065B2 (en) 2009-07-07 2014-06-03 Google Inc. Query parsing for map search
US20110314011A1 (en) * 2010-06-18 2011-12-22 Microsoft Corporation Automatically generating training data
US9223898B2 (en) * 2013-05-08 2015-12-29 Facebook, Inc. Filtering suggested structured queries on online social networks
US9690847B2 (en) 2014-08-07 2017-06-27 Google, Inc. Selecting content using query-independent scores of query segments
US10606846B2 (en) 2015-10-16 2020-03-31 Baidu Usa Llc Systems and methods for human inspired simple question answering (HISQA)
CN107220231A (zh) 2016-03-22 2017-09-29 索尼公司 用于自然语言处理的电子设备和方法以及训练方法
CN107590153B (zh) 2016-07-08 2021-04-27 微软技术许可有限责任公司 使用卷积神经网络的对话相关性建模
US20190207946A1 (en) * 2016-12-20 2019-07-04 Google Inc. Conditional provision of access by interactive assistant modules
US20180232443A1 (en) * 2017-02-16 2018-08-16 Globality, Inc. Intelligent matching system with ontology-aided relation extraction
US11640436B2 (en) 2017-05-15 2023-05-02 Ebay Inc. Methods and systems for query segmentation

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1784653A (zh) * 2003-04-04 2006-06-07 雅虎公司 用于从搜索查询中产生概念单元的系统和方法
CN1954321A (zh) * 2004-03-31 2007-04-25 Google公司 具有实体检测的查询改写
US20070124301A1 (en) * 2004-09-30 2007-05-31 Elbaz Gilad I Methods and systems for improving text segmentation
JP2007156932A (ja) * 2005-12-06 2007-06-21 Just Syst Corp 学習方法、学習装置、および検索方法、検索装置
US20090157599A1 (en) * 2007-12-14 2009-06-18 Yahoo! Inc. Segmentation of search topics in query logs
US8135580B1 (en) * 2008-08-20 2012-03-13 Amazon Technologies, Inc. Multi-language relevance-based indexing and search
US20100094835A1 (en) * 2008-10-15 2010-04-15 Yumao Lu Automatic query concepts identification and drifting for web search
US20100205198A1 (en) * 2009-02-06 2010-08-12 Gilad Mishne Search query disambiguation
US20130124474A1 (en) * 2011-11-15 2013-05-16 Arlen Anderson Data clustering, segmentation, and parallelization
US20140236579A1 (en) * 2013-02-18 2014-08-21 Nadine Sina Kurz Method and Device for Performing Natural Language Searches
CN106462630A (zh) * 2014-06-18 2017-02-22 谷歌公司 用于搜索视频内容的方法、系统和介质
US20160189047A1 (en) * 2014-12-30 2016-06-30 Yahoo! Inc. Method and System for Entity Linking
US20160275148A1 (en) * 2015-03-20 2016-09-22 Huawei Technologies Co., Ltd. Database query method and device
US20170060844A1 (en) * 2015-08-28 2017-03-02 Microsoft Technology Licensing, Llc Semantically-relevant discovery of solutions

Also Published As

Publication number Publication date
WO2018212995A1 (en) 2018-11-22
US20180329999A1 (en) 2018-11-15
CN110622153B (zh) 2023-12-19
US11640436B2 (en) 2023-05-02
EP3625706A4 (en) 2021-01-06
KR20190139970A (ko) 2019-12-18
KR102402340B1 (ko) 2022-05-27
EP3625706A1 (en) 2020-03-25

Similar Documents

Publication Publication Date Title
CN110622153B (zh) 用于查询分割的方法和系统
US11227004B2 (en) Semantic category classification
US20200320370A1 (en) Snippet extractor: recurrent neural networks for text summarization at industry scale
US11836776B2 (en) Detecting cross-lingual comparable listings
US10268752B2 (en) Automatic taxonomy mapping using sequence semantic embedding
US9965704B2 (en) Discovering visual concepts from weakly labeled image collections
US20170177712A1 (en) Single step cross-linguistic search using semantic meaning vectors
US20170024663A1 (en) Category recommendation using statistical language modeling and a gradient boosting machine
US9946703B2 (en) Title extraction using natural language processing
US20200020000A1 (en) Generating product descriptions from user reviews
CN110168591B (zh) 确定行业相似性以增强职位搜索
US20210056265A1 (en) Snippet generation and item description summarizer
US20180276302A1 (en) Search provider selection using statistical characterizations
KR102236889B1 (ko) 결과 피드백을 이용하는 검색 시스템
KR20200128429A (ko) 자동 로트 분류
EP3430528A1 (en) Catalogue management
US20170364967A1 (en) Product feedback evaluation and sorting
US11790014B2 (en) System and method of determining content similarity by comparing semantic entity attributes
US12002077B2 (en) Automatic listing generation for multiple items
US20210201373A1 (en) Automatic listing generation for multiple items

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