CN115516448A - 使用分布式训练框架产生的嵌入来评估项之间的相似性 - Google Patents

使用分布式训练框架产生的嵌入来评估项之间的相似性 Download PDF

Info

Publication number
CN115516448A
CN115516448A CN202180032301.0A CN202180032301A CN115516448A CN 115516448 A CN115516448 A CN 115516448A CN 202180032301 A CN202180032301 A CN 202180032301A CN 115516448 A CN115516448 A CN 115516448A
Authority
CN
China
Prior art keywords
embedding
item
query
training
lemma
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.)
Pending
Application number
CN202180032301.0A
Other languages
English (en)
Inventor
V·莫基夫
S·J·安德森
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN115516448A publication Critical patent/CN115516448A/zh
Pending legal-status Critical Current

Links

Images

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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • 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/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3349Reuse of stored results of previous queries
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

描述了一种用于产生和利用经训练的嵌入集合的资源节约技术。关于其训练阶段,该技术接收一组稀疏表达的高维训练样本。该技术使用计算设备的分布式训练框架来处理训练样本。关于其推理阶段,该技术利用由训练框架产生的嵌入。但是在一个实现中,推理阶段处理应用与训练框架所使用的预测函数相比不同的预测函数。推离阶段处理的一个实现涉及确定查询嵌入与候选项嵌入之间的距离,其中每个这样的嵌入都是从由训练框架产生的经训练的嵌入中获得或导出的。推理阶段处理的另一表现形式涉及基于所标识的项嵌入之间的关系来调整点击计数。

Description

使用分布式训练框架产生的嵌入来评估项之间的相似性
背景技术
现代搜索引擎通常使用机器训练模型来帮助确定候选项是否是针对所提交的查询的合适的匹配。候选项可以对应于文档、图像、视频等。然而,这些机器训练模型中的一些也是高度复杂的,例如,如由它们包括大量神经网络层和大量参数的事实所证明的。训练框架可能需要大量的计算资源以产生这种复杂模型,特别是在训练样本包括高维向量的情况下。推理阶段处理系统可能同样需要大量计算资源来运行复杂模型。模型的复杂性还可以不利地影响推理阶段处理系统对由用户提交的查询进行操作的延时。
发明内容
本文中描述了一种用于产生和利用经训练的嵌入集合的资源节约技术。在其训练阶段中,该技术使用分布式训练框架通过对训练样本集合进行操作来产生经训练的嵌入。更具体地,分布式训练框架将训练任务分成多个独立(或大部分独立)的任务,然后以并行方式来执行这些任务。分布式训练框架的使用特别有助于允许该技术高效地对由高维表达式和稀疏表达式表征的训练样本进行操作。在一个实现中,每个训练样本标识特定查询、候选项以及响应于提交的查询,该选项是否由至少一个用户选择过的指示。
关于其推理阶段,该技术依赖于已经由训练框架产生的嵌入。但是在一个实现中,推理阶段处理应用与训练框架所使用的预测函数相比不同的预测函数。推离阶段处理可以避免使用复杂的机器训练模型和高维嵌入,这是允许推理阶段处理以加速和资源节约的方式进行的一个因素。
在一个应用中,推离阶段处理涉及确定相似性得分,该相似性得分描述被考虑的候选项针对用户提交的查询是合适的匹配的程度。确定操作依次包括:标识与查询的一个或多个词元相关联的查询嵌入;标识与候选项相关联的项嵌入;以及确定查询嵌入与项嵌入之间在向量空间中的距离。查询嵌入和项嵌入是从已经由训练框架产生的经训练的嵌入中获得或导出的。例如,该技术可以通过标识与查询中的词元相关联的查询组件嵌入,以及然后形成这些查询组件嵌入的总和来生成查询嵌入。
在另一应用中,推离阶段处理涉及基于其他项已经接收到的点击的加权组合来调整给定项被认为已经接收到的点击的数目,其中响应于给定查询的提交而做出所有这样的点击。该技术通过标识与项相关联的嵌入,以及然后确定嵌入之间的相似性来计算针对一对项的每个加权值。该推离阶段处理具有将点击从流行文档传递到较不流行文档的净效应,只要与这些文档相关联的嵌入表达相似的意图。该技术可以使用由上述训练框架或任何其他嵌入产生机制所产生的嵌入。
以上概括的技术可以在各种类型的系统、设备、组件、方法、计算机可读存储介质、数据结构、图形用户界面呈现、制品等中显现。
提供本发明内容以便以简化的形式介绍一些概念;这些概念将在下文的具体实施方式中还描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
附图说明
图1示出了用于产生经训练的嵌入的训练环境以及用于应用经训练的嵌入的推理阶段环境的概观。
图2示出了可以由图1的训练框架处理的说明性训练样本。
图3示出了作为图1所示的训练环境的部分的分布式训练框架的概观。
图4示出了图3的训练框架的操作的示例。
图5示出了在图1和图3的训练框架内的计算设备中使用的处理逻辑的示例。
图6示出了用于确定查询与候选项的相关性的相似性评估引擎的一个实现。相似性评估引擎是图1的推理阶段环境的一个元件。
图7通过示出向量空间中的嵌入来演示图6的相似性评估引擎的操作。
图8示出了用于调整与项相关联的点击计数的图1的相似性评估引擎的实现。
图9通过示出向量空间中的嵌入来演示图8的相似性评估引擎的操作。
图10示出了提供图1的训练阶段环境的一种操作方式的概述的过程。
图11示出了提供图1、图6和图8的相似性评估引擎的一种操作方式的概述的过程。
图12示出了提供图8的特定相似性评估引擎的概述的过程。该相似性评估引擎调整数据结构中的点击计数信息。
图13示出了可以被用于实现前述附图中所示的特征的任何方面的计算设备的说明性类型。
在整个说明书和附图中使用相同的附图标记来表示相同的组件和特征。系列100的数字指代最初在图1中发现的特征,系列200的数字指代最初在图2中发现的特征,系列300的数字指代最初在图3中发现的特征,以此类推。
具体实施方式
本公开被组织如下。部分A描述了用于生成和应用经训练的嵌入的计算机实现的环境。部分B阐述了解释部分A的计算环境的操作的说明性方法。以及部分C描述了可以被用于实现部分A和B中所描述的特征的任何方面的说明性计算功能。
作为引文,术语“硬件逻辑电路”与包括执行存储在存储器中的机器可读指令的一个或多个硬件处理器(例如,CPU、GPU等)和/或使用固定和/或可编程逻辑门的任务专用集合来执行操作的一个或多个其他硬件逻辑单元(例如,FPGA)的技术相对应。部分C提供关于硬件逻辑电路的一个实现的附加信息。在一些上下文中,术语“组件”,“模块”,“逻辑”,“引擎”,“系统”和“工具”中的每个指代执行特定功能的硬件逻辑电路的部分。
在一种情况下,在附图中示出的将各个组件分离成不同的单元可以反映在实际实现中使用对应的不同的物理和有形部件。备选地或附加地,在附图中示出的任何单个部件可以由多个实际的物理部件实现。备选地或附加地,图中任何两个或更多个分离部件的描绘可以反映由单个实际物理部件执行的不同功能。
其他附图以流程图形式描述了概念。在该形式中,某些操作被描述为构成以某个顺序执行的不同块。这样的实现是说明性的而非限制性的。本文中所描述的某些块可以被分组在一起并且在单个操作中执行、某些块可以被分成多个部件块以及某些块可以以与本文中所示出的顺序不同的顺序执行(包括并行地执行这些块的方式)。在一个实现中,流程图中示出的关于与处理相关的功能的块可以被认为是相应的逻辑组件,并且可以由部分C中所描述的硬件逻辑电路来实现,该硬件逻辑电路又可以由一个或多个硬件处理器和/或包括逻辑门的任务专用集合的其他逻辑单元来实现。
至于术语,短语“配置为”包括用于执行所标识的操作的各种物理和有形机制。这些机制可以被配置为使用部分C的硬件逻辑电路来执行操作。
本文中所描述的任何存储资源或存储资源的任何组合可以被视为计算机可读介质。在多种情况下,计算机可读介质表示一些形式的物理和有形实体。术语计算机可读介质还包括例如经由物理导管和/或空气或其他无线介质等发送或接收的传播信号。然而,特定术语“计算机可读存储介质”明确地排除了传播信号本身,而包括所有其他形式的计算机可读介质。
以下说明可以将一个或多个特征标识为“可选”。该类型的陈述不应当被解释为对可被认为是可选的特征的穷举指示;即,其他特征可以被认为是可选的,尽管在文本中没有明确标识。此外,对单个实体的任何描述并不旨在排除使用多个这样的实体;相似地,对多个实体的描述并不旨在排除使用单个实体。此外,虽然本说明书可以将某些特征解释为执行所标识的功能或实现所标识的机制的备选方式,但是这些特征也可以以任何组合方式组合在一起。此外,术语“多个”指代两个或更多个项,并且不一定暗示特定类型的“所有”项,除非另有明确规定。此外,除非另有说明,否则描述符“第一”、“第二”、“第三”等用于区分不同的项,并且不暗示项之间的排序。最后,术语“示例性”或“说明性”是指潜在的多个实现中的一个实现。
A.说明性计算环境
图1示出了用于产生经训练的嵌入的训练阶段环境102和用于应用由训练阶段环境102产生的经训练的嵌入的推理阶段环境104的概观。以下说明将从训练阶段环境102和推理阶段环境104的概述开始。该说明随后将提供关于这两个环境(102、104)中的单个组件的附加细节。
从训练阶段环境102开始,样本挖掘系统106产生由训练框架108处理的训练样本集合。在一个实现中,样本挖掘系统106基于由搜索引擎110产生并存储在数据存储库112中的一个或多个日志来产生每个训练样本的至少部分。一个训练日志与一个“点击日志”相对应,该“点击日志”提供关于由终端用户在多个搜索会话过程中提交的查询以及响应于这些查询,用户所选择的项的信息。例如,点击日志中的一个条目可以指示至少一个用户提交了查询“funny dog video”。点击日志还指示响应于提交查询“funny dog video”,用户所选择的特定视频。例如,响应于该查询,搜索引擎110可以向用户提供搜索结果页面。用户可能已经点击了搜索结果页面中与具有相似于该查询的名称的视频相关联的链接,例如,“video of a funny dog”。在其他情况下,所选择的项可以与其他类型的内容相对应,诸如但不限于文档、图像、广告、音频文件(例如,歌曲)等。点击日志可以使用任何类型的项标识符来表示所选择的项,诸如分配给所选择的项的统一资源定位符(URL)。
此外或备选地,样本挖掘系统106可以提供查询与文档之间的关系的其他类型的示例。例如,样本挖掘106可以提供允许一组人类分析师为多个文档中的每个文档手动指示给定文档是否与给定查询相关的平台。在其他情况下,样本挖掘系统106可以更一般地标识在一个或多个先前时刻由至少一个用户执行的动作之间的关系。例如,样本挖掘系统106可以从动作日志中提取指示用户在选择另一项之后所选择的一个项的样本。然而,为了简化说明,以下说明将基于样本挖掘系统106依赖于上述点击日志的类型的假定,该点击日志提供响应于提交特定查询,用户所选择的项的记录。
样本挖掘系统106可以过滤点击日志信息以排除潜在的低质量训练样本。例如,样本挖掘系统106可以排除针对不同查询被点击大数目次数的项,其中“大”是利用相对于环境特定的阈值来评估的。此外,样本挖掘系统106可以排除针对给定查询不具有足够数目的点击的样本,再次的其中“低”是利用相对于任意环境特定的阈值来评估的。
样本挖掘系统106可以将每个训练样本公式化为一系列向量。暂时前进到图2,该图示出了基于来自点击日志的信息来产生的说明性训练样本。其指示至少一个用户提交查询“funny dog video”,并且作为响应,点击具有标识符D3的项。样本挖掘系统106可以使用独热向量来表示查询中的每个词。备选地,样本挖掘系统106可以将查询中的每个n元语法(例如,每个三元语法)表示为独热向量。例如,样本挖掘系统106可以利用分别与三元语法“\tfu”、“fun”、“unn”和“nny”、“ny_”、“y_d”、“_do”,“dog”等相关联的独热向量来表示查询“funny dog video”,其中“t\”是表示查询开始的符号,以及“_”标示词元之间的空格。样本挖掘系统106可以将每个这样的三元语法表示为独热向量。样本挖掘系统106可以将项D3表示为另一独热向量。独热向量与将维度专用于词汇表中的每个词元的向量相对应,并且该向量存储与被表示的特定项相关联的维度中提供的“1”条目,以及针对词汇表中所有其他项的“0”条目。例如,样本挖掘系统106可以通过在与单词“funny”相关联的维度中存储“1”条目,以及针对其他条目的“0”条目来表示单词“funny”。
可以理解,总的来说训练样本202具有相对大的大小。例如,每个项向量单独具有至少与可以在项的主集合中所选择的项的总数目一样大的维度,其可以包括几百万项或更多项。训练样本202还可以说是稀疏的,因为其包括仅用于与查询中的词元和所选择的项D3相关联的那些维度的“1”条目;其余维度均是“0”条目。
上述样本的类型是正向样本,因为点击日志包含至少一个用户在提交查询“funnydog video”之后确实点击了项D3的证据。尽管未示出,但是样本挖掘系统106还可以产生一组负向训练样本。每个负向训练样本包括从搜索日志中提取的查询以及随机选择的项标识符。在大多数情况下,因为项是随机选择的,所以它将不是针对该查询的合适的匹配。该假定可以通过确定随机选择的项与查询之间是否存在正向关系来测试;如果存在正向关系,则该配对可以作为可行的负向样本被丢弃。
回到图1,样本挖掘系统106可以将至少一些训练样本存储在数据存储库114中。然后,训练框架108使用机器学习对训练样本进行迭代操作,以产生经训练的嵌入集合。例如,针对图2的训练样本,训练框架108可以针对查询“funny dog video”中的每个单词和/或每个三元语法产生嵌入。训练框架108可以产生标识项D3的另一经训练的嵌入。
更一般地,经训练的嵌入与使用具有维数k的向量表示的信息片段的因式分解或分布式表示相对应。维数k是可调参数。在一个非限制性实现中,k被设置为16。因式分解或分布式嵌入通常可使用相应维度中的多个“1”条目来表达项。这与独热向量形成对比,独热向量将其向量的专用槽分配给相应的项。训练框架108将其经训练的嵌入集合存储在数据存储库116中。
如以下将更详细地解释的,训练框架108使用计算设备118的分布式集合。计算设备118可以与在单个位置处提供的或分布在多个位置上的相应服务器相对应。从逻辑角度来看,多个计算设备118实现了执行不同相应功能的不同处理节点。每个处理节点由一个或多个计算设备提供的计算资源的一些部分来实现。在一些情况下,单个计算设备可以实现单个处理节点。在其他情况下,单个计算设备可以托管两个或更多个处理节点;这些处理节点可以执行相同的功能或不同功能的任意组合。例如,单个计算设备可以托管同时执行功能A和功能B,或者执行功能A后紧跟着功能B的两个处理节点。在其他情况下,两个或更多个计算设备可以实现单个处理节点。为了简化说明,以下解释将假定每个处理节点映射到至少一个计算设备。然而,根据上文的解释,这并不意味着计算设备仅专门用于实现该处理节点,或者该处理节点整体上由计算设备托管。
训练框架108通常可以说是将训练操作拆分为迭代地执行直到实现训练目标的功能流程。在执行每个迭代时,训练框架108还执行该流程的多个实例。该操作方式允许训练框架108生成经训练的嵌入而不压倒其任何计算设备的处理能力。训练框架108的此方面也加速了经训练的嵌入的生成。如将在以下更详细地阐明的,训练框架108可以高效地执行并行操作,因为这些操作在很大程度上(或完全)彼此独立。例如,该操作取决于共享参数(例如,单个全局偏置参数)的最小数目或可能没有共享参数。
现在参考推离阶段环境104,相似性评估引擎120使用在数据存储库116中提供的经训练的嵌入来执行一些类型的实时分析或后端分析。在图1的示例中,相似性评估引擎120通过计算机网络124接收由用户经由用户计算设备122提交的查询。然后,相似性评估引擎120可以生成相似性得分,该相似性得分标识所提交的查询被认为与考虑中的候选项相似的程度。例如,考虑中的候选项可以与文档、图像、视频等相对应。然后,相似性评估引擎120可以向用户提供传达相似性水平的输出结果。
在一个商业语境中,搜索引擎110可以结合上述类型的相似性评估引擎120。即,搜索引擎110可以使用初步匹配过程来标识可能合适于该查询的一组候选项。然后,搜索引擎110可以使用相似性评估引擎120来连续地针对该组中的每个候选项生成相似性得分。然后,搜索引擎110可以根据候选项的相似性得分来对其进行排序,并且选择具有最佳相似性得分的n个候选项。搜索引擎110可以可选地在生成该列表时考虑其他匹配标准,包括任何类型的词汇特征、语义特征、上下文特征等。最后,搜索引擎110可以生成提供与排名靠前的候选项相关联的片段的搜索结果页面。
在另一实现中,相似性评估引擎120可以依赖于任何类型的搜索算法来在数据存储库116中找到最接近于与所提交的查询相关联的查询嵌入的项嵌入。例如,相似性评估引擎120可以依赖近似最近邻(ANN)技术来执行该功能。本文中,搜索引擎110不需要为了考虑首先生成候选项的初始列表。
将参考图6更详细地解释上述类型的相似性评估引擎120的操作。作为后面的解释的介绍,相似性评估引擎120基于数据存储库116中提供的一个或多个经训练的嵌入来提供查询嵌入。相似性评估引擎120还基于在数据存储库116中提供的一个或多个经训练的嵌入来为考虑中的特定候选项提供项嵌入。然后,相似性评估引擎120可以确定查询嵌入与向量空间中的项嵌入之间的距离,以提供查询与候选项之间的相似性得分。其可以使用诸如余弦相似性、曼哈顿距离等的任何度量来计算该距离。
上述类型的搜索应用作为示例而非限制被引用。在另一示例中,给定由用户提交的问题,聊天机器人引擎可以使用相似性评估引擎120来确定合适的回答。在另一示例中,给定用户的当前上下文,广告引擎可以使用相似性评估引擎120来确定将提供给用户的合适的广告。例如,当前上下文可以取决于用户正在使用的网页和/或由用户做出的点击选择。在另一示例中,项组织引擎可以使用相似性评估引擎120来生成在向量空间中位于彼此的规定距离内的嵌入的聚类。与这些相互近似的嵌入相关联的候选项形成一组相似项。例如,图像组织工具可以使用该功能来标识相关数字照片的组。在另一示例中,趋势分析引擎可以使用相似性评估引擎120来确定用户行为关于选择、编辑、发送和/或接收项的趋势。
在以下结合图8更详细地描述的另一示例中,应用可使用相似性评估引擎120来调整假定项已被接收的点击。该应用通过将由第一项接收的点击分发到至少一个其他相关项来操作。第一项贡献于其他项的点击数目取决于第一项与该其他项的关系程度。该应用通过确定两个项在向量空间内的嵌入之间的距离来确定它们之间的关系。
在一些实现中,一个或多个服务器126实现完整的相似性评估引擎120。用户可以使用由用户计算设备122提供的浏览器应用与相似性评估引擎120交互。用户计算设备122可以与执行计算功能的任何类型的设备相对应,诸如台式个人计算设备、任何类型的手持计算设备(例如,智能电话、平板型计算设备等)、游戏控制台、物联网(IoT)设备、智能电器、可穿戴计算设备、混合现实设备等。计算机网络124可以与广域网(例如,互联网)、局域网、一个或多个点对点通信链路等,或其任何组合相对应。在其他实现中,每个用户计算设备可以提供相似性评估引擎120的局部表现。在其他实现中,服务器126实现相似性评估引擎120的一些功能,以及每个局部用户计算设备122实现相似性评估引擎120的其他功能。
作为第一一般点,相似性评估引擎120依赖于已经由训练框架108产生的经训练的嵌入。由于该事实,相似性评估引擎120在处理用户的查询时不一定需要执行复杂的机器训练模型。因此,与调用复杂的机器训练模型来处理查询的系统相比,相似性评估引擎120可以预期消耗更少的计算资源。计算资源包括存储器资源、处理资源和数据存储资源。与调用复杂机器训练模型来处理用户查询的系统相比,相似性评估引擎120还可以预期提供更好的延迟相关性能。
事实上,每当引入新的训练样本时,训练阶段环境102必须重新调用训练框架108。例如,开发者希望将新的项嵌入添加到数据存储库116时,这是合适的。但是该操作的成本对于在推理阶段处理期间使用机器训练模型来动态地生成嵌入可以是优选的。还要注意,新的训练样本通常需要生成并且向数据存储库116仅添加少量新的嵌入,而不是重新调整大型机器训练模型的所有权重。训练阶段环境102实现该行为,因为它对嵌入执行的工作大部分或全部可以与它对其他嵌入执行的工作分开。并且训练的焦点在于特定嵌入的产生,而不是生成或更新将在推理阶段环境104中部署的巨型机器训练模型。实现该点的另一方式是,训练阶段环境102是可扩展的方式,而传统机器训练平台不是这样的方式。
作为第二一般点,相似性评估引擎120可以基于相对小尺寸的嵌入来操作,例如,在一个仅是说明性的情况下具有k=16的维度。该因素还使得相似性评估引擎120与涉及处理较大向量的引擎相比更加资源节约。
作为与第一点相关的第三一般点,训练框架108在生成经训练的嵌入的过程中使用第一预测函数。即,训练框架108使用第一预测函数来生成指示在训练样本中指定的查询是否将导致点击也在训练样本中指定的项的预测。相似性评估引擎120使用测量所提交的查询被认为与候选项相似的程度的第二预测函数。第一预测函数不必与第二预测函数相同。实际上,与第一预测函数相比,第二预测函数可以是较不复杂和较不计算密集的。推理阶段环境104的该方面也使其与传统的机器训练模型分离。在通常情况下,在推理阶段中应用的机器训练模型代表在训练阶段中已经训练过的相同模型。图1中使用的方法是高效的,因为其涉及使用针对潜在的多个下游应用的单个嵌入集,该下游应用使用不同的逻辑来评估相似性。也就是说,该方法是高效的,因为其消除了用于生成专用于特定最终用途应用的自定义嵌入的时间和资源。
图3提供了可以由训练框架108使用的不同类型的处理节点的概观。第一组多个处理节点302针对训练样本集合生成初始嵌入。这些类型的处理节点在本文中被称为嵌入初始化节点。两个或多个计算设备实现嵌入初始化节点。第二组多个处理节点304对相应样本执行相应局部训练操作以产生局部词元嵌入。这些类型的处理节点在本文中被称为嵌入更新节点。两个或更多个计算设备实现嵌入更新节点。第三组多个处理节点306合并多组局部词元嵌入,以产生经合并的词元嵌入。这些类型的处理节点在本文中被称为嵌入合并节点。两个或更多个计算设备实现嵌入合并节点。注意,上述节点类型是作为示例而非限制引用的;其他实现可以将训练任务划分为节点类型的其他组合。作为还提醒,任何计算设备都可以实现两种或更多种不同类型的处理节点。
在一个实现中,训练框架108包括中央控制计算设备(未示出),该中央控制计算设备启动训练过程以及执行其他高级配置任务。但是否则训练框架108中的处理节点以自主方式操作,以对等方式在它们之间发送信息。
图4示出了图4的训练框架108的操作的示例。在该简化的情况下,训练样本包括第一样本,其中至少一个用户已经提交查询“funny dog video”,并且然后点击项D3。训练样本包括第二训练样本,其中至少一个用户已经提交查询“new cat video”,并且然后点击项D2。训练样本包括第三样本,其中至少一个用户已经提交查询“funny video of cat”,并且然后点击项D1。在图4的示例中,训练框架108以词级粒度处理查询。但是,其他实现可以以n元语法级粒度(诸如三元语法级粒度)或n元语法级与词级粒度的组合来处理查询。虽然在图4的示例中未示出,但是训练框架108还处理负向训练样本。如上所述,样本挖掘系统106通过随机地将一个查询与一个项相关联,基于该项与该查询不匹配的假设来产生负向训练样本。
在第一操作402中,训练框架108使用一个或多个嵌入初始化节点(A1、A2、A3、A4)来针对训练样本中的唯一词元产生初始嵌入。例如,嵌入初始化节点A1针对单词“funny”和“new”产生初始嵌入。嵌入初始化节点A2针对单词“cat”和“dog”等产生初始嵌入。训练框架108可以使用任何映射函数来将单词分配给嵌入初始化节点。例如,训练框架108可以将每个单词哈希到键,然后使用键来找到将处理该词的嵌入初始化节点。每个嵌入初始化节点可以使用任何函数来产生初始嵌入,诸如使用经训练的神经网络或查找表来将单词映射到向量。
在操作404中,训练框架108可以将训练样本集合分配给一个或多个嵌入更新节点(B1、B2、B3)。例如,训练框架108将第三训练样本分配给嵌入更新节点B1、将第二训练样本分配给嵌入更新节点B2以及将第一训练样本分配给嵌入更新节点B3。训练框架108可以使用任何映射函数来将单词分配给嵌入初始化节点。例如,训练框架108可以将与训练样本相关联的每个查询和项标识符哈希到键,然后使用键来找到将处理训练样本的嵌入更新节点。
在操作404中,训练框架108还将初始嵌入分发给所选择的嵌入更新节点。例如,训练框架108将“funny”、“video”、“of”和“cat”的初始嵌入分发给嵌入更新节点B1,因为该节点将需要这些嵌入来处理已分配给它的第三样本。
在操作406中,每个嵌入更新节点产生与训练样本相关联的查询是否将导致点击与训练样本相关联的项的预测。例如,嵌入更新节点B1将应用指定查询“funny video ofcat”是否将导致点击项D1的预测功能。训练样本还提供指示项是否确实匹配查询的地面真值信息。在嵌入更新节点B1的情况下,假定项D3实际上是针对查询“funny video of cat”的良好匹配。
然后,每个嵌入更新节点基于其预测与地面真值信息一致或不一致的程度来更新与考虑中的训练样本相关联的嵌入。其可以使用不同的方法来执行该任务,诸如随机梯度下降(SGD),也可以选择使用动量。在一个实现中,嵌入更新节点在其训练中使用逻辑损失,尽管它可以在其他实现中使用其他类型的损失函数。一旦训练完成就丢弃与动量相关的参数值(如果使用的话),并且不在推理阶段环境104中使用该参数值。
例如,假定在知道它实际上是良好匹配时,由嵌入更新节点B1生成的预测指示项D1针对“funny video of cat”不是良好匹配。作为响应,嵌入更新节点B1将调整与训练样本相关联的嵌入,以惩罚其不准确的预测。如果预测指示项D1是良好匹配,则嵌入更新节点B1将调整与训练样本相关联的嵌入,以还支持它作出的预测。在本文中所使用的术语中,每个嵌入更新节点产生局部词元嵌入集。例如,嵌入更新节点B1针对词元“funny”、“video”、“of”、“cat”和“D1”产生经更新的嵌入集。嵌入被称为“局部”,因为它们反映了从仅由嵌入更新节点B1做出的预测收集的见解,并且还不反映从与嵌入更新节点B1并行操作的其他嵌入更新节点(例如,B2和B3)收集的见解。由嵌入更新节点B1做出的预测也不依赖于由其他嵌入更新节点做出的预测,或者不需要与这些其他嵌入更新节点通信。即使在不同的嵌入更新节点由相同计算设备实现时,以及即使在不同的嵌入更新节点处理包括至少一个公共词元(例如,单词“funny”)的查询时,也是如此。
在操作408中,训练框架108将局部词元嵌入分发到合适的嵌入合并节点(C1、C2、C3、C4)。训练框架108可以以上述方式执行该任务,例如通过对每个词元进行哈希以产生键,然后使用键向适当的嵌入合并节点发送与该词元相关联的局部词元嵌入。注意,传统机器训练平台可以通过调整针对每次迭代的梯度来操作,而训练框架108实际上在分离的处理节点之间移动局部嵌入。
在操作410中,每个嵌入合并节点针对其处理的每个词元合并局部词元嵌入的一个或多个示例。例如,嵌入合并节点C1从嵌入更新节点B1接收针对单词“funny”的局部词元嵌入。嵌入合并节点C1还从嵌入更新节点B3接收针对相同单词“funny”的局部词元嵌入。然后,在逐维度的基础上对这两个向量进行平均,以产生用于词元“embedding”的经合并的词元嵌入。
在操作412中,训练框架108将在操作410中产生的经合并的词元嵌入分发给将需要它们来执行后续操作的嵌入更新节点。例如,假定嵌入更新节点B1接下来将处理具有包括单词“funny”的查询的另一训练样本。作为响应,训练框架108将向该嵌入更新节点B1发送针对单词“funny”嵌入的经合并的词元。在执行下一更新操作时,嵌入更新节点B1将依赖于单词“funny”的经合并的词元嵌入,以及从一个或多个其他嵌入合并节点接收的其他经合并的词元嵌入。操作412还意味着嵌入更新节点可以托管完整嵌入集的不同子集。例如,不同的嵌入更新节点可以托管与单词的整个词汇表内单词的不同子集相关联的不同嵌入。
在操作414中,训练框架108重复操作406至412一次或多次,直到实现训练目标。例如,训练框架108可以重复上述操作406至412,直到经训练的嵌入产生满足规定阈值的预测准确度水平。
图5示出了在图1和图3的训练框架108内的说明性计算设备502中使用的处理逻辑的示例。在这种情况下,假定该单个计算设备502可以扮演与嵌入初始化节点、嵌入更新节点和嵌入合并节点相关联的角色。在其他实现中,计算设备可以执行由训练框架108支持的功能的子集,但不是所有功能。
初始化逻辑504针对被分配给计算设备502的每个词元产生初始嵌入。初始化逻辑504可以通过针对所有词元使用相同的预定初始嵌入来执行该任务。备选地,初始化逻辑504可以使用诸如经预训练的神经网络、查找表等的任何映射函数将接收到的词元映射到初始嵌入。
预测逻辑506生成针对给定训练样本x的预测,该给定训练样本x包括给定查询和给定项标识符。在一个实现中,预测逻辑506依赖于以下训练阶段预测函数来生成预测
Figure BDA0003918822340000151
Figure BDA0003918822340000152
在该式中,xi指代构成训练样本x的每个词元。词元包括构成查询的查询词元和提供项标识符的单个项词元。符号w0是全局偏置参数,并且每个wi是被应用于训练样本x中考虑中的每个词元xi的加权参数,并且可以被称为局部偏置参数。全局偏置参数w0是共享参数,该共享参数可以可选地在训练过程中被省略以消除由分布式训练框架108的节点执行的并行过程之间的依赖性。更具体地,可以省略全局偏置参数,因为该省略不会不利地影响经训练的嵌入的质量,以及至少在使用经训练的嵌入的一些推理阶段引擎中不使用全局偏置参数。在训练中消除全局偏置参数提供了效率上的改进,因为如果包括全局偏置参数,则对于每次迭代必须在数据集中的每个样本上对全局偏置参数值进行平均。然而在其他实现中,在那些使用依赖于全局偏执参数的下游推理阶段任务的情况下,全局偏置参数被包括在训练中。
符号Vi指代与词元xi相关联的大小k的嵌入。符号vj指与词元xj相关联的大小k的另一嵌入。项<vi,vj>指代嵌入Vi和vj的点积,嵌入Vi和vj与词元xi和词元xj相关联,例如
Figure BDA0003918822340000161
总体上,式(1)可0.61厘米以被概括为将与样本相关联的嵌入向量映射到预测的函数F,该预测指示在训练样本中指定的查询是否是针对在训练样本中指定的项标识符的良好匹配。虽然未由式(1)表示,但预测逻辑506可以可选地使式(1)的输出通过激活函数,诸如S形生长曲线(sigmoid)函数(其适合于二进制分类的情况)。
尽管在图3和4的描述中没有提及,但是嵌入更新节点还计算它们处理的词元的局部偏置参数值(wi),并将它们发送到适当的嵌入合并节点。然后,可以对接收针对特定词元的这些局部偏置参数值的多个示例的每个嵌入合并节点求平均以产生经合并的局部偏置参数值。然后,该嵌入合并节点可以将经合并的局部偏置参数值散布到所选择的嵌入更新节点。例如,假定两个嵌入更新节点处理单词“funny”。它们将产生针对该单词的嵌入的两个局部版本以及针对该单词的局部偏置参数值的两个局部版本。它们将向相同的嵌入合并节点发送该信息。然后,嵌入合并节点将对“funny”的两个局部嵌入求平均以产生针对“funny”的经合并的嵌入,并且针对“funny”的两个局部偏置参数值求平均以产生针对“funny”的经合并的局部偏置参数值。然后,嵌入合并节点将该经合并的信息发送到需要该信息以在后续训练循环中执行更新操作的任何嵌入更新节点。
然而,在其他实现中,在训练和推理阶段中不使用局部偏置参数值并且因此可以完全省略式(1)的第二项,以及可以消除与其相关联的处理。即使被包括,推理阶段引擎也不需要利用局部偏置参数值(尽管也可以选择利用)。
局部更新逻辑508使用随机梯度下降或一些其他迭代训练算法来更新嵌入,以产生局部词元嵌入。在一个实现中,局部更新逻辑508可以使用下式来执行该操作:
Figure BDA0003918822340000171
同步逻辑510使用任何合并函数合并单词的两个或更多个嵌入。在一种情况下,同步逻辑510通过在逐个元素的基础上对嵌入求平均来合并嵌入。例如,如果存在针对单词“video”的三个嵌入,则同步逻辑510通过将三个向量的第一元素中的三个值相加并且除以三来生成经合并的嵌入的第一元素。
分发逻辑512向一个或多个下游组件发送由计算设备生成的输出。在一个上下文中,该输出与一个或多个初始嵌入相对应。在另一上下文中,该输出与局部词元嵌入集相对应。在另一情况下,该输出与一个或多个全局词元嵌入相对应。
图6示出了相似性评估引擎602,该相似性评估引擎602表示上文结合图1的说明介绍的推理阶段相似性评估引擎120的一个实现。假定相似性评估引擎602当前正在执行确定候选项是否是提交的查询的良好匹配的任务。相似性评估引擎602可以从用户计算设备122或一些其他机制接收查询。相似性评估引擎602可以从搜索引擎110或任何其他上下文特定的查询处理功能接收标识候选项的项标识符。然后,嵌入接收逻辑604从与该输入信息相关联的数据存储库116中取回经训练的嵌入,其中这种经训练的嵌入先前已由训练框架108生成。更具体地,嵌入接收逻辑604可以取回与该查询的每个词元(例如,每个单词)相关联的查询组件嵌入Qi。嵌入接收逻辑604还可以取回与项标识符相关联的项嵌入d。
相似性评估逻辑606基于上述经训练的嵌入来生成相似性得分。例如,求和逻辑608可以首先基于输入查询中的所有|Q|查询组件嵌入Qi来生成单个查询嵌入q。
Figure BDA0003918822340000181
距离计算逻辑610接着使用余弦相似性或任何其他距离度量来确定相似性得分s。针对余弦相似性,相似性得分s由下式给出:
Figure BDA0003918822340000182
训练框架108通过对包括与特定项相关联的项标识符d的训练样本进行操作来产生在式(4)中使用的项嵌入d。如上文所解释的,项标识符可以与与项相关联的URL相对应。换句话说,训练框架108将项标识符d本身视为词元而不考虑项的内容。
总之,注意,训练框架使用式(1)来执行预测,而相似性评估引擎120使用式(3)和(4)来执行预测。这提供了相似性评估引擎如何充分利用由训练框架108产生的经训练的嵌入的一个具体示例,但是不需要使用与训练框架108相同的预测函数。换句话说,由训练框架108应用的预测函数可以被认为是由推离阶段处理应用的一个或多个其他预测函数的代理。
图7示出了相似性评估引擎602相对于向量空间中的向量集合的操作。(注意,向量空间仅以二维的形式示出以便于解释;向量空间实际上具有k维。)查询嵌入q在向量空间中具有由与构成查询的词元相关联的查询组件嵌入Qi之和确定的位置。因此,可以预期查询嵌入q位于由查询组件嵌入Qi限定的点的聚类内的某处。距离计算逻辑610确定每个项嵌入di到查询嵌入的距离。位于最接近查询嵌入q处的项嵌入可以被预期为与查询嵌入q最相关。
在另一实现中,求和逻辑608可使用式(3)来基于标题计算项嵌入d,即通过将Qi替换为Ti,其中Ti引用与出现在项标题中的词元(例如,单词)相关联的项组件嵌入。备选地或附加地,求和逻辑608可以将与词元相关联的嵌入添加到项的一些其他经标识的部分中,诸如其摘要或关键字部分等。在一个实现中,训练框架108仍然以与上述相同的方式操作,而不考虑任何项的内容。换句话说,训练框架108对与项相关联的标识符而不是其内部词元执行分析。
在第三情况下,相似性评估引擎120提供混合模型。如果数据存储库116包括针对考虑中的候选项的项嵌入,则混合模型应用式(3)和(4),其中再次地,项嵌入表示项的标识符的转换而不是其内部内容。然而,如果项嵌入在数据存储库116中不可用,则混合模型通过将与项标题或一些其他部分中的词元相关联的项组件嵌入d加在一起来以上述方式生成经合成的项嵌入。在使用第二选项时,混合模型可以将贴现因子应用于相似性得分,这具有降低相似性得分的效果。这反映了这样的事实:基于项标题中的单词生成的相似性得分可能不如基于数据存储库116中包括的项嵌入生成的相似性得分可靠。这是因为嵌入在数据存储库116中的每个项从关于用户针对特定项的点击行为的证据中导出。
图8示出了相似性评估引擎802,该相似性评估引擎802表示在图1的说明的上下文中介绍的相似性评估引擎120的另一实现。相似性评估引擎802的目标是相对于相同查询q的提交,基于至少一个其他项(di)已经接收到的点击数目来调整目标项dj接收到的点击数目。通过标识与目标项相关联的项嵌入Vj,标识与其他项相关联的项嵌入Vj,然后例如使用余弦相似性或任何其他距离度量来确定这两个嵌入((vj,vi))在向量空间中的关系,进而确定其他项di“贡献”到目标项dj的点击量。
更具体地,图8示出了一个示例,其中存储器中的表804或其他数据结构存储由用户提交的查询列表以及关于用户点击这些项的数目的信息。例如,该表的第一行806指示用户在提交查询Q1之后点击第一项D1总共325次。用户在提交相同查询Q1时点击第二项D2总共仅3次。注意,实际的表可以以任何形式呈现该点击信息,诸如经归一化的点击通过率(CTR)信息;图8示出了仅提供原始点击信息以便于解释的示例。
项D1与D2已经接收到的点击数目之间的差异可以表示一些上下文中的问题。例如,考虑在用户输入查询Q1时搜索引擎110呈现包括匹配项列表的搜索结果页面的情况。还假定搜索引擎110在该列表的顶部显示针对项D1的条目,因为它被确定为与用户的查询Q1最相关的项。在收到该搜索结果页面之后,大多数用户可以被期望点击针对项D1的条目。假定该项满足他们的搜索目标,则还可以期望大多数用户在该阶段终止他们的搜索。这可以防止用户发现在列表中更向下出现的项D2的条目也与他或她的搜索目标相关。搜索引擎110不可能随时间提升列表中项D2的位置,因为很少有用户点击它。另一方面,搜索引擎110将可能加强其关于项D1是相关的结论,因为许多用户继续点击它。这具有高效地将项D2陷入其在列表内的不利位置的效果,即使它可以提供与项D1一样有价值的信息。相似性评估引擎602在这种情况下工作,以提高项D2在达到项D2与项D1充分相关的结论时被认为已经接收到的点击数目,并且因此可能也满足用户的搜索目标。通过提升项D2接收到的点击数目,搜索引擎110可以通过提升其在搜索结果页面中的条目来作出响应。该行为有助于用户发现相关项的能力。
更具体地,嵌入接收逻辑808从表804接收输入信息。相对于第一行806,输入信息包括标识查询Q1的信息,用户响应于查询Q1而选择的项(D1、D2、D3、…),以及原始点击信息。点击信息被称为“原始”,因为它反映了由用户做出的实际选择。然后,嵌入接收逻辑808取回与查询Q1和项(D1,D2,D3、…)中的每个相关联的嵌入。更具体地,在一个实现中,嵌入接收逻辑808取回由训练框架108产生的上述相同类型的嵌入。回顾训练框架108通过对包括查询和项标识符的配对的训练样本的语料库进行操作来产生嵌入。项标识符可以与URL相对应。附加地或备选地,训练框架108可以通过标识与项相关联的词元集合(诸如组成其标题的单词)、标识与那些词元相关联的项组件嵌入以及以上述方式对那些项组件嵌入求和来产生项的嵌入。
在其他实现中,嵌入接收逻辑808取回由训练框架108之外的一些源提供的嵌入。例如,嵌入接收逻辑808可以取回由诸如卷积神经网络(CNN)的任何类型的深度神经网络(DNN)预先产生的嵌入。在一些情况下,这种DNN可以将与项相关联的词元映射到嵌入中。在又一种情况下,嵌入接收逻辑808依赖于在被请求时动态地计算嵌入的算法,即而不是预先计算以及存储嵌入。
点击调整逻辑810调整原始表804的第一行806中的点击信息以产生经修改的表804’的经修改的行806’。在一个非限制性方法中,点击调整逻辑810使用下式来调整第一行806中的目标项dj接收到的点击数目:
Figure BDA0003918822340000211
符号
Figure BDA0003918822340000212
指代项dj接收的点击数目,其中上标“c”指示这些是有条件的或代理的或虚拟的点击。符号
Figure BDA0003918822340000213
指代第一行806中的另一项di接收的点击的实际数目,其中上标“o”指示这些点击或实际或者原始点击。项f(vj,vi)指代测量与考虑中的两个项相关联的嵌入(vj,vi)之间的相似性的任何函数。在一种非限制性情况下,该函数可以与余弦相似性相对应。虽然未示出,但是点击调整逻辑810可以以任何方式归一化由式(5)产生的点击信息,诸如通过将点击信息除以行806或整个表804等中的平均点击数目。
考虑将上式应用于项D2在第一行806中接收到的点击数目。点击调整逻辑810可以确定该项D2与第一行806中的每个其他项的关系。点击调整逻辑810通过与其他项相关联的点击计数的加权和来提升项D2的点击计数,其中与每个贡献相关联的权重由函数f(vj,vi)确定。在图8的仅说明性示例中,这具有将针对项D2的点击计数从3次点击提升到63次点击的净效果。
可选的下游排名引擎812可以基于表804’中的经修正的计数信息和/或基于与项和访问项的环境相关联的任何其他特征(诸如词汇特征、语义特征、上下文特征等)来对项进行排名或对项执行任何其他处理。
图9示出了相对于嵌入在向量空间中的放置的上述情形。每个项嵌入与项D2的嵌入的距离影响它将对项D2的经修正的点击计数有贡献的相对的点击量。例如,与项D1相关联的嵌入最接近于与项D2相关联的嵌入。此外,项D1与第一行806中的其他项相比具有相对大的点击计数。这两个因素使得项D1可能将最大数量的点击数目计数贡献给项D2。另一方面,在针对项D1是目标项的情况重复式(5)时,可以期望点击调整逻辑810降低认为项D1已经接收到的点击数目。总体上,点击调整逻辑810具有平衡密切相关的相集合接收到的点击次数的效果,基于它们是相似的并且因此应该得到相似的点击计数的前提。
B.示例性过程
图10至图12以流程图的形式示出了解释部分A的训练阶段环境102和推理阶段环境104的操作的过程。由于在部分A中已经描述了这些环境(102、104)的操作的基本原理,因此在此部分中将以概述的方式来阐述某些操作。如在具体实施方式的前序部分中所指出的,每个流程图被表示为以特定顺序执行的一系列操作。但是这些操作的顺序仅仅是代表性的,并且可以以任何方式变化。
更具体地,图10示出了提供图1的训练阶段环境102的一种操作方式的概述的过程1002。在框1004中,训练阶段环境102提供训练样本集合,其中的每个训练样本描述由至少一个用户提交的查询、项以及该项是否已由至少一个用户响应于提交该查询而选择的指示。在框1006中,训练阶段环境102向多个相应的嵌入更新计算设备提供与不同训练样本相关联的初始词元嵌入。训练阶段环境102接下来开始循环,该循环重复多次直到实现训练目标。在循环的框1008中,训练阶段环境102使用多个嵌入更新计算设备304来生成多个局部词元嵌入集合。在循环的框1010中,训练阶段环境102向多个嵌入合并计算设备306提供多个局部词元嵌入集合。在循环的框1012中,训练阶段环境102使用多个嵌入合并计算设备来从多个局部词元嵌入集合中生成多个经合并的词元嵌入;特定词元的每个经合并的词元嵌入表示该特定词元的一个或多个局部词元嵌入的合并。在循环的框1014中,训练阶段环境102向所选择的嵌入更新计算设备提供多个经合并的词元嵌入。操作1016指示循环重复至少一次,直到达到训练目标。
图11示出了提供图1的相似性评估引擎120的一种操作方式的概述的过程1102。在框1104中,相似性评估引擎120接收与将被比较的第一项和第二项相关联的标识符。在框1106中,相似性评估引擎120标识与第一项相关联的第一嵌入。在框1108中,相似性评估引擎120标识与第二项相关联的第二嵌入。在框1110中,相似性评估引擎120通过确定向量空间中的第一嵌入与第二嵌入之间的关系来确定第一项与第二项之间的关系,以提供相似性得分。在框1112中,相似性评估引擎提供取决于相似性得分的输出结果。在框1106和1108中识别第一和第二嵌入的操作利用由训练框架108产生的经训练的嵌入的数据存储库116。训练框架108使用分布式的计算设备118集合并且使用预测函数来产生经训练的嵌入,该预测函数与在确定第一项与第二项之间的关系的操作中使用的预测函数不同。
在图6所示的相似性评估引擎602的上下文中,上述第一项是由用户经由用户计算设备122提交的查询。第二项是考虑中的候选项。框1106中的标识操作涉及标识与查询的一个或多个词元相关联的查询嵌入。框1108中的标识操作涉及标识与候选项相关联的项嵌入。框1110中的确定操作涉及确定查询嵌入与项嵌入之间的距离,该距离与相似性得分相对应。框1112中提供的操作涉及向用户计算设备112发送标识候选项与查询的关系的搜索结果。
在图8的相似性评估引擎802的上下文中,第一项是由至少一个用户选择第一次数的项,如由第一原始计数信息所反映的。第二项是由至少一个用户选择第二次数的项,如由第二原始计数信息反映的,第二次数不同于第一次数。过程1102还涉及通过由相似性得分加权的针对第一项的计数信息来调整针对第二项的计数信息,以提供经修正的计数信息。
图12示出了描述图8的特定相似性评估引擎802的一种操作方式的过程1202。该过程1202具有调整一个或多个文档接收的点击次数的效果。在框1204中,相似性评估引擎802访问数据结构,诸如图4所示的表804。在框1206中,相似性评估引擎802从数据结构接收针对第一项的原始计数信息,该原始计数信息指示响应于查询的提交,第一项已被选择第一次数。在框1208中,相似性评估引擎802从数据结构接收关于多个其他项的原始计数信息的其他实例,其他原始计数信息的每个实例指示响应于提交相同查询已选择了另一项多次。在框1210中,相似性评估引擎802标识与第一项相关联的第一嵌入。在框1212中,相似性评估引擎802标识分别与其他项相关联的其他嵌入。在框1214中,相似性评估引擎802通过确定向量空间中的第一嵌入与其他嵌入中的每个之间的关系来确定第一项与其他项中的每个之间的关系,以提供多个相似性得分。在框1216中,相似性评估引擎802通过由相应的相似性得分加权的原始计数信息的其他示例来调整第二项的原始计数信息,以提供经修正的计数信息。然后,相似性评估引擎802将经调整的计数信息存储在数据结构中。
C.代表性计算功能
图13示出了可以被用于实现上述附图中阐述的机制的任何方面的计算设备1302。例如,参考图1,图13所示的计算设备1302的类型可以被用于实现任何用户计算设备或任何服务器。在所有情况下,计算设备1302表示物理的和有形的处理机制。
计算设备1302可以包括一个或多个硬件处理器1304。(多个)硬件处理器1304可以包括但不限于一个或多个中央处理单元(CPU)、和/或一个或多个图形处理单元(GPU)、和/或一个或多个专用集成电路(ASIC)等。更一般地,任何硬件处理器都可以与通用处理单元或专用处理器单元相对应。
计算设备1302还可以包括与一个或多个计算机可读介质硬件单元相对应的计算机可读存储介质1306。计算机可读存储介质1306保留任何类型的信息1308,诸如机器可读指令、设置、数据等。例如,在没有限制的情况下,计算机可读存储介质1306可以包括一个或多个固态设备、一个或多个磁硬盘、一个或多个光盘、磁带等。计算机可读存储介质1306的任何实例可以使用用于存储和取回信息的任何技术。此外,计算机可读存储介质1306的任何实例可以表示计算设备1302的固定或可移除单元。此外,计算机可读存储介质1306的任何实例可以提供信息的易失性或非易失性保留。
计算设备1302可以以不同的方式利用计算机可读存储介质1306的任何实例。例如,计算机可读存储介质1306的任何实例可以表示用于在计算设备1302执行程序期间存储暂态信息的硬件存储单元(诸如随机存取存储器(RAM)),和/或用于在更永久的基础上保留/归档信息的硬件存储单元(诸如硬盘)。在后一情况下,计算设备1302还包括用于存储和取回来自计算机可读存储介质1306的实例的信息的一个或多个驱动机构1310(诸如硬盘驱动器机构)。
在(多个)硬件处理器1304执行存储在计算机可读存储介质1306的任何实例中的计算机可读指令时,计算设备1302可以执行上述任何功能。例如,计算设备1302可以执行计算机可读指令以执行部分B中所描述的过程的每个框。
备选地或附加地,计算设备1302可以依赖于一个或多个其他硬件逻辑单元1312来使用逻辑门的任务专用集合来执行操作。例如,(多个)硬件逻辑单元1312可以包括硬件逻辑门的固定配置,例如在制造时创建和设置并且此后不可改变。备选地或附加地,其他(多个)硬件逻辑单元1312可以包括可编程硬件逻辑门的集合,该可编程硬件逻辑门可以被设置为执行不同的专用任务。后一类设备包括但不限于可编程阵列逻辑器件(PAL)、通用阵列逻辑器件(GAL)、复杂可编程逻辑器件(CPLD)、现场可编程门阵列(FPGA)等。
图13一般指示硬件逻辑电路1314包括(多个)硬件处理器1304、计算机可读存储媒体1306和/或其他(多个)硬件逻辑单元1312的任何组合。即计算设备1302可以采用执行计算机可读存储介质1306中所提供的机器可读指令的硬件处理器1304和/或使用硬件逻辑门的固定和/或可编程集合执行操作的一个或多个其他(多个)硬件逻辑单元1312的任何组合。更一般地讲,硬件逻辑电路1314与基于被存储在(多个)硬件逻辑单元中和/或以其他方式被包括在(多个)硬件逻辑单元中的逻辑来执行操作的任何(多种)类型的一个或多个硬件逻辑单元。
在一些情况下(例如,在计算设备1302代表用户计算设备的情况下),计算设备1302还包括用于接收各种输入(经由输入设备1318)并且用于提供各种输出(经由输出设备1320)的输入/输出接口1316。说明性输入设备包括键盘设备、鼠标输入设备、触摸屏输入设备、数字化输入板、一个或多个静态图像相机、一个或多个摄像机、一个或多个深度相机系统、一个或多个麦克风、语音标识机构、任何移动检测机构(例如,加速计、陀螺仪等)等。一个特定的输出机构可以包括显示设备1322和相关联的图形用户界面呈现(GUI)1324。显示设备1322可以与液晶显示设备、发光二极管显示(LED)设备、阴极射线管设备、投影机构等相对应。其他输出设备包括打印机、一个或多个扬声器、触觉输出机构、存档机构(用于存储输出信息)等。计算设备1302还可以包括用于经由一个或多个通信管道1328与其他设备交换数据的一个或多个网络接口1326。一个或多个通信总线1330将上述单元通信地耦合在一起。
(多个)通信管道1328可以以任何方式实现,例如通过局域计算机网络、广域计算机网络(例如,互联网)、点对点连接等,或其任何组合。(多个)通信管道1328可以包括由任何协议或协议组合管理的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
图13示出了由分离单元的离散集合组成的计算设备1302。在一些情况下,单元的集合可以与在具有任何形状因素的计算设备机箱中提供的分离硬件单元相对应。图13在其底部部分中示出了示例性形状因素。在其他情况下,计算设备1302可以包括集成了图1所示的两个或更多个单元的功能的硬件逻辑单元。例如,计算设备1302可以包括片上系统(SoC或SOC),其与组合了图13所示的两个或更多个单元的功能的集成电路相对应。
以下概述提供了本文中阐述的技术的非详尽的说明性示例集合。
根据第一示例,描述了一种用于产生经训练的嵌入集合的计算机实现的方法。该方法包括提供训练样本集合,每个训练样本描述由至少一个用户提交的查询、项以及该项是否已由至少一个用户响应于提交该查询所选择的指示。该方法还包括向多个相应的嵌入更新计算设备提供与不同训练样本相关联的初始词元嵌入。然后,该方法执行训练循环的迭代,包括:使用多个嵌入更新计算设备来生成多个局部词元嵌入集合;向多个嵌入合并计算设备提供多个局部词元嵌入集合;使用多个嵌入合并计算设备来从多个局部词元嵌入集合生成多个经合并的词元嵌入,针对特定词元的每个经合并的词元嵌入表示针对特定词元的一个或多个局部词元嵌入的合并;以及向所选择的嵌入更新计算设备提供多个经合并的词元嵌入。该方法还包括重复该训练循环,直到实现训练目标为止,此时向嵌入更新计算设备提供的多个经合并的词元嵌入与经训练的嵌入集合相对应。
根据第二示例,多个嵌入更新计算设备中的至少一个嵌入更新计算设备是与嵌入合并计算设备相同的计算设备。
根据第三示例,每个特定训练样本使用一个或多个查询词元来表达特定查询,其中每个查询词元被表达为具有与查询词元的词汇表中的查询词元的数目一样大的维数的查询词元向量。
根据第四示例,每个特定训练样本使用具有与可选择项集合中项的数目一样大的维数的项向量来表达特定项。
根据第五示例,每个嵌入更新计算设备通过以下步骤来生成局部词元嵌入集合:针对标识特定查询和特定项的特定训练样本,生成指示该特定查询是否被认为与该特定项相似的预测;以及基于预测是否与特定训练样本相关联的特定标签一致的指示来更新局部词元嵌入集合。每个嵌入更新计算设备执行依赖于与由其他嵌入更新计算设备执行的过程共享的不多于一个全局参数值的过程。
根据第六示例,针对特定词元的特定经合并的词元嵌入是通过将针对特定词元的两个或更多个局部词元嵌入在一起求平均来产生的。
根据第七示例,向所选择的嵌入更新计算设备提供多个经合并的词元嵌入的操作涉及向已被分配了包括该给定词元的至少一个训练样本的每个嵌入更新计算设备发送与给定词元相关联的给定经合并的词元嵌入。
根据涉及第七示例的第八示例,未被分配包括给定词元的至少一个训练样本的嵌入更新计算设备不接收给定经合并的词元嵌入。
根据第九示例,在推理阶段过程中使用经训练的嵌入来确定相似性得分,该相似性得分测量由用户提交的查询与候选项之间的相似性水平。
根据第十示例,在推理阶段过程中使用经训练的嵌入,以及其中推理阶段过程使用预测函数来生成多个局部词元嵌入集合,该预测函数与训练循环中所使用的预测函数不同。
根据第十一示例,描述了一种用于确定两个或更多个项之间的关系的计算机实现的方法。该方法包括:接收与将被比较的第一项和第二项相关联的标识符;标识与第一项相关联的第一嵌入;标识与第二项相关联的第二嵌入;通过在向量空间中确定第一嵌入与第二嵌入之间的关系来确定第一项与第二项之间的关系,以提供相似性得分;以及提供取决于相似性得分的输出结果。标识第一嵌入和标识第二嵌入的操作利用在由训练框架产生的经训练的嵌入的数据存储库。训练框架使用分布式计算设备集合并且使用预测函数来产生经训练的嵌入,该预测函数与在确定第一项和第二项之间的关系的操作中使用的预测函数不同。
根据涉及第十一示例的第十二示例,第一项是由用户经由用户计算设备提交的查询。第二项是考虑中的候选项。标识第一嵌入的操作涉及标识与查询的一个或多个词元相关联的查询嵌入。标识第二嵌入的操作涉及标识与候选项相关联的项嵌入。确定关系的操作涉及确定查询嵌入与项嵌入之间的距离,该距离与相似性得分相对应。提供输出结果的操作包括向用户计算设备发送标识候选项与查询的关系的搜索结果。
根据涉及第十二示例的第十三示例,标识查询嵌入的操作包括:分别标识与查询的查询词元相关联的多个查询组件嵌入;以及对多个查询组件嵌入求和以产生查询嵌入。
根据涉及第十二示例的第十四示例,标识项嵌入的操作包括从与标识候选项的项标识符相关联的数据存储库中取回单个项嵌入。
根据涉及第十二示例的第十五示例,标识项嵌入的操作包括:分别标识与形成候选项的至少部分的词元相关联的多个项组件嵌入;以及对多个项组件嵌入求和以产生项嵌入。
根据涉及第十五示例的第十六示例,通过在确定在与标识候选项的项标识符相关联的数据存储库中不存在单个项嵌入时,对多个项组件嵌入求和来产生项嵌入。
根据涉及第十五的第十七示例,多个项组件嵌入描述与候选项相关联的标题中的相应词语。
根据涉及第十一示例的第十八示例,第一项是由至少一个用户选择第一次数的项,如由与第一项相关联的第一原始计数信息所描述的。第二项是由至少一个用户选择第二次数的项,如由与第二项相关联的第二原始计数信息所反映的,第二次数不同于第一次数。计算机实现的方法还包括基于由相似性得分加权的第一原始计数信息来生成第二项的经修正的计数信息。该方法包括存储经修正的计数信息。
根据涉及第十八示例的第十九示例,计算机实现的方法还包括基于经修正的计数信息来调整提供给用户的搜索结果中相对于第一项的第二项的排名。
根据第二十示例,描述了一种用于存储计算机可读指令的计算机可读存储介质。该计算机可读指令在由一个或多个硬件处理器执行时执行一种方法,该方法包括:访问数据结构;从数据结构接收第一项的原始计数信息,该原始计数信息指示响应于查询的提交,第一项已被选择第一次数;从数据结构接收关于多个其他项的原始计数信息的其他实例,其他原始计数信息的每个实例指示响应于相同查询的提交,另一项已被选择多次;标识与第一项相关联的第一嵌入;分别标识与其他项相关联的其他嵌入;通过在向量空间中确定第一嵌入与其他嵌入中的每个之间的关系来确定第一项与其他项中的每个之间的关系,以提供多个相似性得分;通过由相应的相似性得分加权的原始计数信息的其他实例来调整针对第二项的原始计数信息,以提供经修正的计数信息,;以及将经修正的计数信息存储在数据结构中。
根据第二十一示例,使用第一示例中所描述的方法来产生由第二十示例产生的嵌入。
第二十二示例与上述第一至第二十一示例的任何组合相对应(例如,任何逻辑上一致的置换或子集)。
第二十三示例与与第一至第二十二示例相关联的任何方法对应物、设备对应物、系统对应物、设备加功能对应物、计算机可读存储介质对应物、数据结构对应物、制品对应物、图形用户界面呈现对应物等相对应。
最后,本文中所描述的功能可以采用各种机制来确保以符合适用法律、社会规范以及个体用户的期望和偏好的方式来处理任何用户数据。例如,该功能可以允许用户明确地选择进入(然后明确地选择退出)该功能的规定。该功能还可以提供适当的安全机制以确保用户数据的隐私(例如数据安全机制、加密机制、口令保护机制等)。
此外,本说明书可以在说明性挑战或问题的上下文中阐述各种概念。这种解释方式并不旨在暗示其他人以本文中指定的方式理解和/或阐明挑战或问题。此外,这种解释方式并非旨在暗示权利要求中所述的主题限于解决所确定的挑战或问题;即,权利要求中的主题可以应用于除了本文中所描述的那些之外的挑战或问题的上下文中。
虽然已经用结构特征和/或方法动作专用的语言描述了本主题,但是应当理解,所附权利要求中限定的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式而公开的。

Claims (15)

1.一种用于产生经训练的嵌入集合的计算机实现的方法,包括:
提供训练样本集合,每个训练样本描述由至少一个用户提交的查询、项以及所述项是否已经由所述至少一个用户响应于提交所述查询而选择的指示;
向多个相应的嵌入更新计算设备提供与不同的训练样本相关联的初始词元嵌入;
执行训练循环的迭代,包括:
使用所述多个嵌入更新计算设备来生成多个局部词元嵌入集合;
向多个嵌入合并计算设备提供所述多个局部词元嵌入集合;
使用所述多个嵌入合并计算设备来从所述多个局部词元嵌入集合生成多个经合并的词元嵌入,针对特定词元的每个经合并的词元嵌入表示针对所述特定词元的一个或多个局部词元嵌入的合并;以及
向所选择的嵌入更新计算设备提供所述多个经合并的词元嵌入,
重复所述训练循环直到训练目标被实现为止,在所述训练目标被实现时,被提供给所述嵌入更新计算设备的所述多个经合并的词元嵌入对应于所述经训练的嵌入集合。
2.根据权利要求1所述的计算机实现的方法,其中每个嵌入更新计算设备通过以下步骤来生成局部词元嵌入集合:
针对标识特定查询和特定项的特定训练样本,生成指示所述特定查询是否被认为与所述特定项相似的预测;以及
基于所述预测是否与关联于所述特定训练样本的特定标签一致的指示来更新局部词元嵌入集合,
其中每个嵌入更新计算设备执行依赖于不多于一个全局参数值的过程,所述不多于一个全局参数值被由其他嵌入更新计算设备执行的过程共享。
3.根据权利要求1所述的计算机实现的方法,其中针对所述特定词元的所述特定经合并的词元嵌入是通过对针对所述特定词元的两个或更多个局部词元嵌入一起求平均来产生的。
4.一种用于确定两个或更多个项之间的关系的计算机实现的方法,包括:
接收与将被比较的第一项和第二项相关联的标识符;
标识与所述第一项相关联的第一嵌入;
标识与所述第二项相关联的第二嵌入;
通过在向量空间中确定所述第一嵌入与所述第二嵌入之间的关系来确定所述第一项与所述第二项之间的关系,以提供相似性得分;以及
提供取决于所述相似性得分的输出结果,
所述标识第一嵌入和所述标识第二嵌入利用由训练框架产生的经训练的嵌入的数据存储库,
所述训练框架使用分布式计算设备集合,并且使用预测函数来产生所述经训练的嵌入,所述预测函数与在所述第一项与所述第二项之间的关系的所述确定中所使用的预测函数不同。
5.根据权利要求4所述的计算机实现的方法,
其中所述第一项是由用户经由用户计算设备提交的查询,
其中所述第二项是考虑中的候选项,
其中所述第一嵌入的所述标识涉及标识与所述查询的一个或多个词元相关联的查询嵌入,
其中所述第二嵌入的所述标识涉及标识与所述候选项相关联的项嵌入,
其中所述关系的所述确定涉及确定所述查询嵌入与所述项嵌入之间的距离,所述距离与所述相似性得分相对应,以及
其中所述提供所述输出结果包括:向所述用户计算设备发送标识所述候选项与所述查询的关系的搜索结果。
6.根据权利要求5所述的计算机实现的方法,其中所述查询嵌入的所述标识包括:
标识分别与所述查询的查询词元相关联的多个查询组件嵌入;以及
对所述多个查询组件嵌入求和以产生所述查询嵌入。
7.根据权利要求5所述的计算机实现的方法,其中所述项嵌入的所述标识包括:
标识分别与形成所述候选项的至少一部分的词元相关联的多个项组件嵌入;以及
对所述多个项组件嵌入求和以产生所述项嵌入。
8.根据权利要求7所述的计算机实现的方法,其中所述项嵌入是通过一旦确定在与标识所述候选项的项标识符相关联的数据存储库中不存在单个项嵌入,对所述多个项组件嵌入求和来产生的。
9.根据权利要求4所述的计算机实现的方法,
其中所述第一项是由至少一个用户选择过第一次数的项,所述第一次数由与所述第一项相关联的第一原始计数信息所描述,
其中所述第二项是由所述至少一个用户选择过第二次数的项,所述第二次数由与所述第二项相关联的第二原始计数信息所反映,所述第二次数不同于所述第一次数,
其中所述计算机实现的方法还包括:基于由所述相似性得分加权的所述第一原始计数信息来生成针对所述第二项的经修正的计数信息,以及
其中所述方法包括存储所述经修正的计数信息。
10.一种计算机可读存储介质,用于存储计算机可读指令,所述计算机可读指令在由一个或多个硬件处理器执行时执行方法,所述方法包括:
访问数据结构;
从所述数据结构接收针对第一项的原始计数信息,所述原始计数信息指示所述第一项响应于查询的提交已被选择过第一次数;
从所述数据结构接收关于多个其他项的原始计数信息的其他实例,其他原始计数信息的每个实例指示另一项响应于所述相同查询的提交已被选择过多次;
标识与所述第一项相关联的第一嵌入;
分别标识与所述其他项相关联的其他嵌入;
通过在向量空间中确定所述第一嵌入与所述其他嵌入中的每个嵌入之间的关系来确定所述第一项与所述其他项中的每个项之间的关系,以提供多个相似性得分;
由原始计数信息的所述其他实例调整针对所述第二项的所述原始计数信息,以提供经修正的计数信息,所述原始计数信息由所述相应的相似性得分加权;以及
将所述经修正的计数信息存储在所述数据结构中。
11.根据权利要求1所述的计算机实现的方法,其中所述经训练的嵌入被用在推理阶段过程中以确定相似性得分,所述相似性得分测量由用户提交的查询与候选项之间的相似性水平。
12.根据权利要求1所述的计算机实现的方法,其中所述经训练的嵌入被用在推理阶段过程中,并且其中所述推理阶段过程使用与所述训练循环中使用的预测函数不同的预测函数来生成所述多个局部词元嵌入集合。
13.根据权利要求5所述的计算机实现的方法,其中所述项嵌入的所述标识包括从与标识所述候选项的项标识符相关联的数据存储库中取回单个项嵌入。
14.根据权利要求7所述的计算机实现的方法,其中所述多个项组件嵌入在与所述候选项相关联的标题中描述相应的词元。
15.根据权利要求9所述的计算机实现的方法,还包括基于所述经修正的计数信息来调整向用户提供的搜索结果中的所述第二项相对于所述第一项的排名。
CN202180032301.0A 2020-05-01 2021-03-23 使用分布式训练框架产生的嵌入来评估项之间的相似性 Pending CN115516448A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/864,964 2020-05-01
US16/864,964 US11657304B2 (en) 2020-05-01 2020-05-01 Assessing similarity between items using embeddings produced using a distributed training framework
PCT/US2021/023550 WO2021221828A1 (en) 2020-05-01 2021-03-23 Assessing similarity between items using embeddings produced using a distributed training framework

Publications (1)

Publication Number Publication Date
CN115516448A true CN115516448A (zh) 2022-12-23

Family

ID=75478309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180032301.0A Pending CN115516448A (zh) 2020-05-01 2021-03-23 使用分布式训练框架产生的嵌入来评估项之间的相似性

Country Status (4)

Country Link
US (1) US11657304B2 (zh)
EP (1) EP4143701A1 (zh)
CN (1) CN115516448A (zh)
WO (1) WO2021221828A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230334070A1 (en) * 2022-04-19 2023-10-19 Sap Se Entity linking and filtering using efficient search tree and machine learning representations

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019763B2 (en) 2006-02-27 2011-09-13 Microsoft Corporation Propagating relevance from labeled documents to unlabeled documents
US9535960B2 (en) * 2014-04-14 2017-01-03 Microsoft Corporation Context-sensitive search using a deep learning model
US10089580B2 (en) 2014-08-11 2018-10-02 Microsoft Technology Licensing, Llc Generating and using a knowledge-enhanced model
US10402750B2 (en) * 2015-12-30 2019-09-03 Facebook, Inc. Identifying entities using a deep-learning model
US20170357890A1 (en) * 2016-06-09 2017-12-14 Sysomos L.P. Computing System for Inferring Demographics Using Deep Learning Computations and Social Proximity on a Social Data Network
US9984683B2 (en) * 2016-07-22 2018-05-29 Google Llc Automatic speech recognition using multi-dimensional models
US10255269B2 (en) * 2016-12-30 2019-04-09 Microsoft Technology Licensing, Llc Graph long short term memory for syntactic relationship discovery
US10474709B2 (en) * 2017-04-14 2019-11-12 Salesforce.Com, Inc. Deep reinforced model for abstractive summarization
EP3602414A1 (en) * 2017-05-20 2020-02-05 Google LLC Application development platform and software development kits that provide comprehensive machine learning services

Also Published As

Publication number Publication date
WO2021221828A1 (en) 2021-11-04
EP4143701A1 (en) 2023-03-08
US11657304B2 (en) 2023-05-23
US20210342711A1 (en) 2021-11-04

Similar Documents

Publication Publication Date Title
EP3724785B1 (en) Fast indexing with graphs and compact regression codes on online social networks
KR102354716B1 (ko) 딥 러닝 모델을 이용한 상황 의존 검색 기법
US10521479B2 (en) Evaluating semantic interpretations of a search query
US10649770B2 (en) κ-selection using parallel processing
US11288573B2 (en) Method and system for training and neural network models for large number of discrete features for information rertieval
US9997157B2 (en) Knowledge source personalization to improve language models
WO2017084362A1 (zh) 模型生成方法、推荐方法及对应装置、设备和存储介质
CN110945500A (zh) 键值记忆网络
CN107291792B (zh) 用于确定相关实体的方法和系统
JP7136752B2 (ja) 受信したデータ入力に基づいて過少データに関連するデータを生成する方法、デバイス、および非一時的コンピュータ可読媒体
CN107408116B (zh) 使用动态知识图谱来促进信息项的发现
US20200285687A1 (en) Intent Encoder Trained Using Search Logs
US11023473B2 (en) Recurrent binary embedding for information retrieval
De Vocht et al. Discovering meaningful connections between resources in the web of data
WO2013075272A1 (en) Prototype-based re-ranking of search results
US10558687B2 (en) Returning search results utilizing topical user click data when search queries are dissimilar
US10467307B1 (en) Grouping of item data using seed expansion
WO2018121198A1 (en) Topic based intelligent electronic file searching
US11663224B2 (en) Processing queries using an attention-based ranking system
WO2023033942A1 (en) Efficient index lookup using language-agnostic vectors and context vectors
CN115516448A (zh) 使用分布式训练框架产生的嵌入来评估项之间的相似性
CN113918807A (zh) 数据推荐方法、装置、计算设备及计算机可读存储介质
US20220366133A1 (en) Training a Model in a Data-Scarce Environment Using Added Parameter Information
US10394913B1 (en) Distributed grouping of large-scale data sets
Ni et al. A comparative study of training objectives for clarification facet generation

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