CN113661487A - 使用机器训练词条频率加权因子的产生密集嵌入向量的编码器 - Google Patents
使用机器训练词条频率加权因子的产生密集嵌入向量的编码器 Download PDFInfo
- Publication number
- CN113661487A CN113661487A CN202080024993.XA CN202080024993A CN113661487A CN 113661487 A CN113661487 A CN 113661487A CN 202080024993 A CN202080024993 A CN 202080024993A CN 113661487 A CN113661487 A CN 113661487A
- Authority
- CN
- China
- Prior art keywords
- vector
- term
- input
- terms
- neural network
- 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
Links
- 239000013598 vector Substances 0.000 title claims abstract description 231
- 238000012549 training Methods 0.000 claims abstract description 108
- 238000013528 artificial neural network Methods 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000003860 storage Methods 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 18
- 210000002569 neuron Anatomy 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 11
- 230000009471 action Effects 0.000 claims description 8
- 230000003247 decreasing effect Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 7
- 238000012015 optical character recognition Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 5
- 230000000295 complement effect Effects 0.000 claims description 4
- 230000004048 modification Effects 0.000 abstract description 24
- 238000012986 modification Methods 0.000 abstract description 24
- 230000006870 function Effects 0.000 description 29
- 239000000047 product Substances 0.000 description 23
- 230000007246 mechanism Effects 0.000 description 19
- 239000010410 layer Substances 0.000 description 17
- 230000008569 process Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000011176 pooling Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000002356 single layer Substances 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000013065 commercial product Substances 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000003313 weakening effect Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Abstract
本文中描述了一种用于生成提供输入文本的分布表示的密集嵌入向量的计算机实现的技术。在一种实现中,该技术包括:生成维度为g的输入词条频率(TF)向量,该输入TF向量包括与输入文本的实例中的词条的出现频率相关的频率信息;使用TF修改通过相应机器训练加权因子来修改输入TF向量中的词条特定频率信息,以产生维度为g的中间向量;使用投影组件将维度为g的中间向量投影到维度为k的嵌入向量中,其中k小于g。TF修改组件和投影组件都可以使用相应机器训练神经网络。应用组件可以基于嵌入向量来执行基于取回的功能、基于识别的功能、基于推荐的功能、基于分类的功能等中的任何功能。
Description
背景技术
文本处理引擎通常使用编码器将输入文本转换为嵌入向量。嵌入向量捕获与输入文本相关联的特征。然后,文本处理引擎使用嵌入向量来执行一些应用任务,诸如基于查询的提交来取回信息。
发明内容
本文中描述了一种用于生成表示输入文本的实例的嵌入向量的计算机实现技术。在一种实现中,该技术包括:生成维度为g的输入词条频率(TF)向量,该输入TF向量包括与输入文本中的词条的出现频率相关的频率信息;使用TF修改组件通过相应机器训练加权因子来修改输入TF向量中的词条特定频率信息,以产生维度为g的中间向量;使用投影组件将维度为g的中间向量投影到维度为k的嵌入向量中,其中k小于g;在应用组件中利用嵌入向量产生输出结果;并且将输出结果提供给用户计算设备的输出设备。
根据一个说明性方面,输入TF向量是稀疏n-hot向量,该向量包括输入文本中的每个词条的维度(例如,在一种非限制性情况中,g=10,000),而嵌入向量是提供输入文本中的语义信息的分布式紧凑表示的密集向量(例如,在一种非限制性情况中,k=256)。换言之,k<<g。
根据另一说明性方面,TF修改组件和投影组件都被实现为相应机器训练神经网络。在一种实现中,TF修改组件应用加权因子的对角矩阵,而投影组件应用加权因子的完整矩阵。
根据另一说明性方面,TF修改组件应用至少一个负加权因子,这表示对对应词条的否定强调(negative emphasis)。
根据另一说明性方面,应用组件可以执行以下中的任何一个:基于取回的功能;基于识别的功能;基于推荐的功能;基于分类的函数等、或其任何组合。
根据另一说明性方面,训练环境产生由TF修改组件和投影组件使用的机器训练模型。训练环境通过收集多个训练示例来执行该任务。训练示例包括查询词条、肯定词条和否定词条。每个肯定词条与标识出的查询词条具有肯定关系,而每个否定词条与标识出的查询词条具有否定关系。然后,训练环境通过迭代地减小与查询词条和查询词条的相关联的肯定词条相关联的嵌入向量之间的距离并且迭代地增加与查询词条和查询词条的相关联的否定词条相关联的嵌入向量之间的距离来产生机器训练模型。
该技术的一个技术优点是,它产生嵌入向量,各种应用可以使用该嵌入向量来产生良好的信息取回性能;同时,嵌入向量表现出良好的语义意识。另一技术优点是,它产生嵌入向量,该嵌入向量允许应用淡化输入文本中的词条的存在。另一技术优点是,它产生嵌入向量,该嵌入向量捕获输入文本中的词条的关系。另一技术优点是,它产生密集嵌入向量。最后一个特性允许嵌入向量容易与由其他机器训练模型(诸如产生密集的基于图像的向量的机器训练的基于图像的编码器组件)产生的密集向量组合。
以上总结的技术可以体现在各种类型的系统、设备、组件、方法、计算机可读存储介质、数据结构、图形用户界面呈现、制品等中。
本“发明内容”旨在以简化的形式介绍一些概念;这些概念在下面的“具体实施方式”中进一步描述。本“发明内容”并非旨在确定所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护的主题的范围。
附图说明
图1示出了用于训练和应用编码器组件的说明性计算环境。
图2示出了神经网络中的代表性神经元层。
图3示出了用于实现图1的计算环境的说明性计算设备。
图4示出了执行取回功能的图1的编码器组件的第一应用。
图5示出了执行推荐功能的图1的编码器组件的第二应用。
图6示出了执行分类功能的图1的编码器组件的第三应用。
图7示出了(图1的)训练环境可以挖掘以收集训练示例的知识库的一部分。训练环境基于训练示例生成编码器组件。
图8展示了训练环境关于包括查询词条、肯定词条和否定词条的三元组的操作。
图9是示出图1所示的产生环境的一种说明性操作方式的流程图。
图10是示出图1所示的训练环境的一种说明性操作方式的流程图。
图11示出了可以用于实现上述附图中示出的特征的任何方面的一种说明性类型的计算设备。
在整个公开和附图中使用相同的数字来表示相似的组件和特征。100系列编号是指最初在图1中发现的特征,200系列编号是指最初在图2中发现的特征,300系列编号是指最初在图3中发现的特征,以此类推。
具体实施方式
本公开组织如下。A部分描述用于训练和应用编码器组件的说明性计算环境。B部分阐述说明性方法,该说明性方法说明A部分的计算环境的操作。C部分描述说明性计算功能,该说明性计算功能可以用于实现A部分和B部分中描述的特征的任何方面。
作为初步事项,词条“硬件逻辑电路”至少部分对应于执行被存储在存储器中的机器可读指令的一个或多个硬件处理器(例如,CPU、GPU等)、和/或使用固定和/或可编程逻辑门的任务特定集合来执行操作的一个或多个其他硬件逻辑单元(例如,FPGA)。C部分提供有关硬件逻辑电路的一种实现的附加信息。术语“组件”和“引擎”中的每个是指执行特定功能的硬件逻辑电路的一部分。
在一种情况中,图中所示的将各个部分分成不同单元的图示可以反映在实际实现中对应的不同物理和有形部分的使用。备选地或附加地,图中所示的任何单个部分可以由多个实际物理部分实现。备选地或附加地,图中任何两个或更多个单独部分的描绘可以反映由单个实际物理部分执行的不同功能。
其他图以流程图的形式描述概念。在这种形式中,某些操作被描述为构成以特定顺序执行的不同块。这样的实现是说明性的和非限制性的。本文中描述的某些块可以组合在一起并且在单个操作中执行,某些块可以分解为多个组件块,并且某些块可以按照与本文中示出的顺序不同的顺序执行(包括执行块的并行方式)。在一种实现中,流程图中所示的与处理相关功能相关的块可以由部分C中描述的硬件逻辑电路实现,而该系统又可以由一个或多个硬件处理器和/或其他逻辑单元(包括逻辑门的任务特定集合)实现。
关于措辞,短语“被配置为”涵盖用于执行标识出的操作的各种物理和有形机制。这些机制可以被配置为使用部分C的硬件逻辑电路来执行操作。术语“逻辑”同样包含用于执行任务的各种物理和有形机制。例如,流程图中所示的每个处理相关操作对应于用于执行该操作的逻辑组件。逻辑组件可以使用部分C的硬件逻辑电路来执行其操作。当由计算设备实现时,逻辑组件表示作为计算系统的物理部分的电气元件,无论以何种方式实现。
本文中描述的任何存储资源、或这些存储资源的任何组合都可以被视为计算机可读介质。在很多情况中,计算机可读介质表示某种形式的物理和有形实体。术语计算机可读介质还包括传播信号,例如,经由物理管道和/或空气或其他无线介质等传输或接收的传播信号。然而,特定术语“计算机可读存储介质”明确地排除传播信号本身,而包括所有其他形式的计算机可读介质。
以下解释可以将一个或多个特征标识为“可选的”。这样的声明不应当被解释为对可以被视为可选的特征的详尽说明;也就是说,其他特征可以被视为可选的,尽管在文本中没有明确指出。此外,对单个实体的任何描述并不旨在排除使用多个这样的实体;同样,对多个实体的描述并不排除使用单个实体。此外,虽然描述可以将某些特征解释为执行标识出的功能或实现标识出的机制的替代方式,但是这些特征也可以按照任何组合方式被组合在一起。最后,术语“示例性”或“说明性”是指潜在的很多实现中的一种实现。
A.说明性计算环境
A.1.概述
存在与将文本信息转换为嵌入向量的操作相关联的很多技术挑战。在某些情况中,编码器可以将文本的两个实例映射到在密集语义向量空间中彼此接近的密集嵌入向量(由诸如余弦相似性等任何向量相似性度量来衡量)。例如,编码器可以将单词“apple”和“orange”映射到附近的嵌入向量中,因为这两个单词都指代水果。但搜索“apple”的用户不太可能对有关“orange”的信息感兴趣,反之亦然。因此,利用这些嵌入向量的取回引擎可能会表现出较差的取回性能。其他类型的嵌入向量提供更好的基于取回的性能。然而,在某些情况中,这些嵌入向量可以对应于稀疏的高维信息。在使用机器学习的一些下游应用任务中利用这种高维信息是具有挑战性的,特别是在下游应用任务组合由不同编码器组件产生的两个或更多个嵌入向量的情况中,其中一些可能是密集的。
图1示出了用于训练和应用至少解决上述技术挑战的编码器组件102的计算环境的概述。计算环境包括训练环境104,训练环境104包括用于产生机器训练模型108的训练组件106。编码器组件102基于由机器训练模型108提供的加权因子(也被称为权重值或权重)进行操作。计算环境还包括产生环境110,产生环境110在各种应用场景中应用编码器组件102。本小节提供整个计算环境的概述。小节A.2提供关于编码器组件102的说明性应用的另外的信息。小节A.3提供关于训练环境104的另外的信息。
编码器组件102本身包括输入生成组件112,输入生成组件112用于接收输入文本的实例,并且用于基于输入文本生成维度为g的输入词条频率(TF)向量114。正如将在下一小节中阐明的那样,输入文本可以来自不同来源。例如,输入生成组件112可以接收用户使用诸如键输入设备或触敏表面等输入设备而手动提供的输入文本。或者,输入生成组件112可以接收用户例如通过选择预先存在的文档的一部分而手动选择的输入文本。或者,输入生成组件112可以接收由光学字符识别组件从图像中提取的输入文本,等等。这些示例是为了说明而非限制而提及的;输入生成组件112可以从其他来源接收输入文本。
输入TF向量114的每个维度对应于大小为g的词汇表中的词条。为便于解释,假定每个词条对应于词汇表中的完整单词,诸如单词“apple”、“orange”等。在另一实现中,词条对应于词汇表中的唯一字母n元语法(诸如在单词“apple”、“application”、“appear”等中使用的三字母组合“app”)。输入生成组件112通过基于与该维度相关联的词条在输入文本中出现的次数来设置输入TF向量114的每个维度中的值来操作。例如,假定输入文本对应于书名“Visiting Venice on a Budget”。输入生成组件112通过在输入TF向量114中为标题中的每个单词设置非零值并且为其他维度设置零值来操作。因此,输入TF向量114是稀疏的高维n-hot向量。n-hot向量是为输入信息中要描述的每个变量投入一个维度的向量,针对输入信息的特定实例,其中任何一个都可以是非零(hot)。
不同实现可以使用不同算法来生成输入TF向量114中的每个值。在一种情况中,输入生成组件112通过将特定词条在输入文本中出现的次数除以输入文本中的词条总数来计算归一化值。备选地或附加地,输入生成组件112可以对每个值应用加权因子。例如,假定输入文本源自书名的图像。输入生成组件112可以通过加权因子来修改与词条相关联的计数值,该加权因子取决于该词条出现在图像中的字体的大小。这将具有与词条在图像中的大小成比例地增加词条的相关性的效果。例如,这将具有与同样出现在书籍的封面上的较小的出版商相关信息相比强调出现在书名中的大字的效果。
词条频率修改(TF修改)组件116接下来将输入TF向量114的每个TF值(TFi)乘以相应机器训练加权因子(wi),以产生大小为g的中间向量118。也就是说,中间向量118的值由[TF1w1,TF2w2,TF3w3...]T给出。在一种实现中,编码器组件102使用神经网络实现TF修改组件116,该神经网络使用单层全连接神经元执行线性变换。神经网络通过将输入TF向量114乘以大小为g×g的对角加权矩阵120来操作。该对角矩阵包括沿其对角线的与输入TF向量114的相应维度相关联的加权因子、以及其他位置处的0值。注意,尽管神经网络中的神经元是完全连接的,但是由于对角加权矩阵120仅沿其对角线包括非零加权因子的这一事实,每个TF值将通过单个加权因子被修改。在另一实现中,TF修改组件116以逐元素方式修改输入TF向量114中的TF值,而不使用对角矩阵120。在其他情况中,TF修改组件116可以使用神经网络,该神经网络应用在其对角线以外的位置包括非零加权因子的矩阵。注意,中间向量118(如输入TF向量114)是n-hot稀疏向量。在TF修改组件116由神经网络实现的实现中,TF修改组件116在本文中也被称为TF修改神经网络。
针对参考框架,注意,依赖于TF-IDF(词条频率逆文档频率)特征的取回引擎也通过将每个TF值乘以另一值(在这种情况中,是IDF值)来操作。但是这些取回引擎以手工算法的方式计算IDF值。也就是说,最常见的是,这些取回引擎通过将语料库中的文档总数(N)除以语料库中包含所考虑的词条的文档数(Nt)来计算IDF值(例如,IDF=log(N/(1+Nt))。相反,编码器组件102的TF修改组件116应用由训练组件106基于经验数据学习的加权因子。
此外,TF修改组件116可以潜在地生成负值加权因子,而如上定义的IDF值不能为负。下游取回引擎可以依赖于负加权因子来弱化输入文本中的词条。例如,假定用户输入书名“Visiting Venice on a Budget”,意图在于定位与该书籍相关联的产品页面。但是假定有另一书籍的标题非常接近,上面写着“Venice on a Shoestring Budget”。最后假定TF修改组件116基于试图区分标题中的短语“Budget”和“Shoestring Budget”的先前训练来对词条“Shoestring”应用负加权因子。下游取回引擎可以通过适当地弱化书名“VisitingVenice on a Shoesstring Budget”来利用这个负加权因子(以及由此产生的嵌入向量124)。这将提示取回引擎将标题“Vising Venice on a Budget”标识为最匹配的标题。
接下来,投影组件122(本文中也被称为投影神经网络)使用另一神经网络将中间向量118映射到大小为k的嵌入向量124中。在一种实现中,投影组件122通过应用大小为g×k的机器训练的完整矩阵126来实现该结果。也就是说,完整矩阵126包括散布在其行和列中、而不仅仅是散布在对角线位置的非零加权因子。在一种实现中,k远小于g(k<<g),以使得嵌入向量124成为输入文本的密集表示。例如,k可以对应于256,而g为10,000。嵌入向量124也是在输入文本中表示的语义信息的分布式紧凑表示,因为嵌入向量124的多个维度组合以表达输入文本的含义。这与n-hot表示形成对比,n-hot表示为每个要描述的变量指定维度。高维数据到低维数据的转换是可取的,因为它提供了一种将语义向量空间中的相似概念(诸如词条“robot”和“android”)简洁地组合在一起的方法。它还使得下游应用组件能够更容易地将该信息与由其他编码器组件产生的其他密集嵌入向量组合,如将在下面的小节A.2中更详细地描述的。
此外,因为投影组件122使用全连接神经网络,嵌入向量124的任何维度的值取决于中间向量118的多个维度的值。该特性反过来允许编码器组件102考虑输入文本中不同词条之间的关系。相比之下,传统的TF-IDF特征依赖于孤立的单个词条。
与使用传统TF-IDF向量(其由TF-IDF值组成)的引擎相比,利用嵌入向量124的取回引擎可以产生更可靠的结果。例如,在n-letter-gram布置中,使用传统TF-IDF向量的取回引擎可能难以充分地区分单词“smile”和“mile”。相比之下,图1的编码器组件102使用基于经验数据的机器学习权重,并且因此对这两个词条之间的差异表现出更好的语义意识。
现在参考训练环境104,示例提供组件128基于数据存储库130中提供的源语料库生成训练示例的语料库。在一个非限制性实现中,源语料库对应于在关系知识库中提供的信息。关系知识库包括表示实体的多个节点和表示实体之间关系的节点之间的多个链接。示例提供组件128将其生成的训练示例存储在数据存储库132中。训练示例包括查询词条、肯定词条和否定词条。
更具体地,仅考虑其中关系知识库提供关于书籍的信息的说明性情况。示例提供组件128可以选择从关系知识库中提取的规定数目的书名作为查询词条。示例提供组件128可以通过查找关系知识库标识为与查询词条具有肯定关系的书名来选择关于给定查询词条的肯定词条。例如,查询词条和肯定词条可以来自同一书籍封面的两个图像。示例提供组件128可以通过查找关系知识库标识为与查询词条具有否定关系的书名来选择关于给定查询词条的否定词条。例如,这两个词条可以来自不同书籍的相应图像。A.2小节详细说明了这一操作。
如还将在小节A.2中描述的,示例提供组件128可以通过选择接近其相应查询词条但仍未被认为是这些查询词条的匹配项的否定词条来改进训练。也就是说,通过包括这些“硬”否定词条,训练组件106被迫学习能够检测书籍封面之间的细微差别的加权因子。
训练组件106通过迭代地减小查询词条与其相应肯定词条之间的距离同时增加查询词条与其相应否定词条之间的距离来产生机器训练模型108。所得到的机器训练模型108在语义空间中提供密集分布式编码向量,这允许它检测相关单词(诸如“robot”和“android”)之间的相似性。同时,凭借TF修改组件116,机器训练模型108提供良好的取回性能。例如,当用户显然正在尝试查找有关“apple”的信息时,机器训练模型108将不会提供有关“orange”的信息。简而言之,机器训练模型108提供语义感知,同时准确地衡量用户的基于取回的意图。
图1还介绍了将在下一小节中更详细地解释的应用组件134的集合。这些应用组件134中的每个对嵌入向量124进行操作以实现应用特定目标。例如,取回引擎136使用嵌入向量124来标识与输入文本具有规定相似度的候选词条。例如,取回引擎136可以标识与由用户在输入文本中描述的产品相关联的产品页面。(如本文中使用的,“产品”泛指与事物或服务相关联的任何实体,而不限于商业产品或服务。)识别引擎138使用嵌入向量124来确定与输入文本相关联的产品的身份。例如,识别引擎138可以向用户通知他们已经标识出的输入文本对应于特定产品名称或种类。推荐引擎140使用嵌入向量124来标识与用户在输入文本中描述的产品互补的产品。上述引擎(136、138、140)中的每个使用基于取回的功能来执行其操作。该任务需要查找一个或多个候选词条,该候选词条具有与输入嵌入向量124具有规定关系的嵌入向量。
分类引擎142使用嵌入向量124来对输入文本分类。例如,分类引擎142可以使用嵌入向量124来确定与输入文本相关联的图像是否示出书籍封面。分类引擎142执行该功能而不必使用取回功能。
图2示出了神经网络中的神经元层202的示例。在全连接情况中,层j中的每个神经元被连接到前一层j-1中的每个神经元,或输入向量的每个维度(针对j-1的情况)。更具体地,在最一般的情况中,层202产生输出值zj,该输出值由公式zj=f(Wjzj-1+bj)给出,其中j=2,...N。符号Wj表示层j的机器学习权重矩阵,符号bj表示层j的机器学习偏置向量。激活函数f(·)可以用不同方式表述,诸如tanh函数或sigmoid函数。在一种实现中,TF修改组件116和投影组件122都使用不使用非线性激活函数的单层神经网络。这种神经网络设计的一个技术优点是,它允许训练组件106以高效方式训练机器学习模型108。神经网络的层202由C部分中描述的硬件逻辑电路实现。
图3示出了可以用于实现图1的计算环境的计算设备302。计算设备302包括经由计算机网络208耦合到一个或多个用户计算设备306的一个或多个服务器304。用户计算设备306可以对应于以下中的任何一种:台式计算设备、膝上型计算设备、任何类型的手持计算设备(智能电话、平板型计算设备等)、混合现实设备、游戏机、可穿戴计算设备、智能物联网设备等。每个用户计算设备(诸如代表性用户计算设备310)包括本地程序功能(诸如代表性本地程序功能312)。计算机网络308可以对应于广域网(例如,互联网)、局域网、一个或多个点对点链路等、或其任何组合。
图1的计算环境的功能可以按照任何方式被分布在服务器304与用户计算设备306之间。在一种实现中,服务器304实现图1的计算环境的所有功能。这里,用户使用由用户计算设备提供的浏览器应用来访问这些功能。在另一实现中,每个用户计算设备实现图1的计算环境的所有功能。在另一实现中,服务器304实现计算环境的一些功能,而每个用户计算设备实现其他功能。例如,本地计算设备可以捕获书籍封面的图像并且从图像中提取文本。服务器随后可以处理由本地计算设备标识出的文本信息。服务器还可以实现与训练环境104相关联的功能。
A2.说明性应用
图4示出了编码器组件102的第一应用402。该应用402通过基于输入文本(这里对应于查询“Go to Venice on a Budget”)取回一个或多个候选词条来操作。用户可以按照任何方式输入该文本,诸如通过使用输入设备手动键入,或通过手动选择它(诸如通过选择较大文档的段落或页面),或通过拍摄包含文本的产品的数码照片,等等。编码器组件102以小节A.1中描述的方式将输入文本转换为嵌入向量124。在该应用上下文中,嵌入向量124可以被称为查询嵌入向量。
在离线过程(未示出)中,编码器组件102可以为多个候选词条计算嵌入向量。数据存储库404将候选词条连同其相应嵌入向量一起存储。
取回引擎406查找与查询嵌入向量124匹配的一个或多个候选词条。通常,取回引擎406将查询嵌入向量124和与每个相应候选词条相关联的嵌入向量比较。取回引擎406然后可以选择具有最接近查询嵌入向量124(关于向量相似性的任何度量(例如,余弦相似性等))的嵌入向量的n个候选词条。在这个仅仅是说明性的情况中,取回引擎406提供输出结果,该输出结果示出与输入文本最匹配的书籍封面的图像408。
在一种实现中,取回引擎406可以通过将查询嵌入向量124与关联于候选词条的每个嵌入向量比较来以线性方式执行上述操作。在另一实现中,取回引擎406可以使用邻居搜索组件410来执行该功能,例如,使用任何类型的近似最近邻居(ANN)技术。ANN技术的示例包括:各种局部敏感散列(LSH)技术;各种树划分技术;各种基于邻域的技术,等等。例如,一种基于树的技术使用k均值聚类将嵌入向量划分为连续较小区域。该技术将这些集群表示为分层树。邻居搜索组件410通过从树的根节点到其叶节点遍历树来查找最接近查询嵌入向量124的嵌入向量。关于被应用于一般数据集的ANN的一般主题的背景信息可以在Wen Li等人的“Approximate Nearest Neighbor Search on High Dimension Data-Experiments,Analyses,and Improvement”(2016年10月8日的arXiv:1610.02455v1的26页)中查找。
在上述场景中,用户有兴趣取回与输入文本最匹配的一个或多个候选词条。例如,用户可能有兴趣访问与由输入文本描述的产品相关联的产品页面。在另一种情况中,用户可以提供输入文本,目的是确定与输入文本相关联的产品的身份。在这种情况中,取回引擎406可以执行与上述相同的功能,但是提供主要试图向用户通知他或她已经描述的产品的身份的输出结果。换言之,图4所示的功能可以用于实现取回引擎或识别引擎,具体取决于应用上下文。在后一种情况中,应用402使用基于取回的函数来近似分类函数。
图5示出了第二应用502,第二应用502使用推荐引擎504来查找被认为与由输入文本描述的产品互补的一个或多个候选词条。例如,假定输入文本描述书名“VisitingVenice on a Budget”。推荐引擎504标识被认为与由输入文本描述的书籍相关的书籍的图像506,尽管与由输入文本描述的书籍不同。
推荐引擎504以与图4的取回引擎406相同的方式操作。也就是说,推荐引擎504在数据存储库508中查找具有与查询嵌入向量124最匹配(关于向量相关性的任何度量(例如,余弦相似性))的嵌入向量的一个或多个候选词条。而且,推荐引擎504可以使用线性搜索算法或ANN技术来执行该操作。图5与图4的场景不同,主要是因为它依赖于机器训练模型,该模型与图4的情况相比在不同训练示例上被训练。也就是说,在图4的情况中,在查询词条与相同词条或密切相关词条相关时,示例提供组件128将查询词条视为与候选肯定词条相关。在图5的情况中,在查询词条与补充词条但不是同一词条相关时,示例提供组件128将查询词条视为与候选肯定词条相关。
图6示出了编码器组件102的第三应用602。在该示例中,数码相机604拍摄产品的数码照片,这里是书籍封面606。然后光学字符识别组件608将所得到的图像转换为输入文本。编码器组件102接下来以与上述相同的方式将输入文本转换为嵌入向量124。
在并行路径中,机器训练图像编码组件610将图像转换为基于图像的嵌入向量612。例如,图像编码组件610可以使用任何类型的卷积神经网络(CNN)来执行该任务。通常,CNN在流水线级中执行分析。多个卷积级之一(未示出)对输入图像执行卷积操作。一个或多个池化级(未示出)执行下采样操作。一个或多个前馈级(未示出)分别提供一个或多个全连接神经网络,每个神经网络包括任何数目的层。更具体地,一个CNN可以按照任何顺序散布上述三种级。例如,CNN可以包括与池化级交错的两个或更多个卷积级。
在每个卷积操作中,卷积级在输入图像上移动n×m内核(其中“输入图像”在该一般上下文中是指被馈送到卷积级的任何图像)。在一种情况中,在内核的每个位置,卷积级生成内核值与图像的底层像素值的点积。卷积级将该点积存储为输出图像中与内核的当前位置对应的位置的输出值。
更具体地,卷积级可以对具有不同机器学习内核值的一组不同内核执行上述操作。每个内核对应于不同模式。在早期处理层中,卷积级可以应用内核来标识图像中相对原始的模式(诸如边缘、角落等)。在后面的级,卷积级可以应用内核来查找更复杂的形状(诸如类似于书籍封面的形状等)。
在每个池化操作中,池化级在输入图像上移动预定大小的窗口(其中输入图像对应于馈送到池化级的任何图像)。然后,池化级对由该窗口包围的输入图像的值执行某种聚合/汇总操作,诸如通过标识和存储窗口中的最大值,生成和存储窗口中值的平均值,等等。
下游分类组件614接受基于文本的嵌入向量124和基于图像的嵌入向量612作为输入信息。例如,下游分类组件614可以接受这两个嵌入向量(124、612)的级联。分类组件614可以容易地组合这两个嵌入向量(124、612),因为它们都对应于密集的低维向量。例如,在一种仅仅是说明性的情况中,基于图像的嵌入向量612的维度可以为512,而基于文本的嵌入向量124的维度可以为256。
然后分类组件614可以使用任何机器学习模型来将输入信息映射到分类结果中。在一个仅仅是说明性的情况中,分类结果可以提供与图像示出书籍封面的概率对应的第一值、以及与图像不示出书籍封面的概率对应的第二值。在一种实现中,分类组件614可以使用单层神经网络来执行该任务。在另一实现中,分类组件614可以使用n层神经网络后接Softmax组件(对应于归一化指数函数)来执行该操作。在其他实现中,分类组件614可以使用逻辑回归模型、支持向量机(SVM)模型、决策树模型等来执行其分类操作。
可选的后处理组件616可以基于分类结果执行任何功能。例如,后处理组件616可以对应于图4所示的相同种类的取回引擎406。例如,取回引擎406可以标识和取回与书籍封面606的输入图像相关联的页面,假定分类组件614将其标识为书籍封面。取回引擎406还在执行其取回任务时利用基于文本的嵌入向量124(和/或基于图像的嵌入向量612)。因此,第三应用602在其分析的两个级使用嵌入向量124:图像分类级和信息取回级。
本小节中描述的应用是出于说明而非限制的精神而提出的;很多其他应用是可能的。例如,在另一应用(未示出)中,推荐引擎可以使用与查询相关联的嵌入向量124来查找相似查询(具有相似嵌入向量)。推荐引擎然后可以向用户提供这些其他查询作为查询建议。在另一应用(未示出)中,分类引擎可以使用与输入文本相关联的嵌入向量124来评估由输入文本表达的情绪,等等。
A.3.训练环境
如小节A.1中总结的那样,示例提供组件128从源语料库(在数据存储库130中)编译训练示例,并且将这些训练示例存储在数据存储库132中。训练示例包括查询词条、肯定词条和否定词条。
在一种实现中,示例提供组件128从关系知识库中提取示例。图7示出了代表性知识库的一小部分702。该部分702包括与两本相应书籍(book1、book2)相关联的两个书籍节点。每个书籍节点还链接到与图像相关联的多个图像节点。例如,每个书籍节点都链接到与表示同一书籍封面的书籍封面图像相关联的图像节点。基于这些关系,可以说,链接到同一书籍节点的两个图像节点是相关的,而链接到不同书籍节点的两个图像节点是不相关的。
假定示例提供组件128将图像节点d11标识为查询词条,例如通过随机选择该节点。示例提供组件128可以将图像节点d12标识为肯定词条,因为它与图像节点d11链接到同一书籍。它可以将图像节点d21标识为否定词条,因为它链接到与图像节点d11不同的书籍。示例提供组件128可以通过利用这些类型的关系来收集多个查询词条、肯定词条和否定词条。示例提供组件128可以使用光学字符识别从这些词条中的每个中提取文本。
以上获取训练示例的方式仅是说明性的。在另一种情况中,示例提供组件128可以基于由搜索引擎提供的点击日志来编译训练示例。在该上下文中,示例提供组件128可以将导致点击同一URL的两个查询分别标识为查询词条和产品词条。示例提供组件128可以将没有导致点击同一URL的两个查询分别标识为查询词条和否定词条。更一般地,可以说,训练环境104提供有监督训练方法,因为它基于应用有标签的示例来执行训练。
在一些实现中,示例提供组件128还可以标识满足附加相关性测试的否定词条的子集,而不是随机地选择否定词条。例如,示例提供组件128可以为每个候选词条生成传统的TF-IDF向量。示例提供组件128然后可以在以下情况中将两个候选词条视为查询词条和否定词条的良好配对:(a)在关系知识库中这两个词条之间没有联系(如果这是正在采用的相关性的度量);以及(b)与这两个词条相关联的TF-IDF向量具有规定的相关度(相对于向量相似性的任何度量,诸如余弦相似性)。满足该测试的否定词条在本文中被称为“硬”否定词条。通过采用硬否定词条,训练组件106可以产生更稳健的机器训练模型108。这是因为,训练组件106被迫处理两个词条具有一定程度的相似性但仍不匹配的接近情况。
在另一场景中,示例提供组件128可以使用机器训练模型108本身而不是使用TF-IDF向量来测量两个词条之间的相关度。例如,训练组件106可以执行规定数目的训练循环以产生部分训练的模型。示例提供组件128然后可以使用部分训练的模型来查找硬否定词条,然后在后续训练中使用这些硬否定词条。示例提供组件128可以执行这些示例挖掘和训练操作的任何次数的迭代。
在一种实现中,训练组件106基于以下三元组损失函数来执行训练:
L(q,p,n)=max(0,|f(q)-f(p)|2-|f(q)-f(n)|2+ξ).
在该等式中,q指代与查询词条相关联的输入TF向量,p指代与肯定词条相关联的输入TF向量,n指代与否定词条相关联的输入TF向量。f(·)是指由上述TF修改组件116和投影组件122产生的端到端变换,其用于产生嵌入向量。在对大量训练示例应用该等式时,训练组件106尝试最小化每个查询词条与其对应肯定词条(与等式中的第一平方差词条相关联)之间的距离,并且尝试最大化每个查询词条与其对应否定词条之间的距离(与等式的第二平方差词条相关联)。训练组件106可以使用任何机器学习技术来执行这些迭代操作,诸如随机梯度下降。符号ξ对应于引起训练组件106忽略(q,p)差异词条仅略大于(q,n)差异词条的情况的参数值。在一种非限制性实现中,ξ=-0.1。
图8示出了被应用于由查询词条802、肯定词条804和否定词条806组成的说明性三元组的上述等式的示例。查询词条802对应于书籍封面的图像。肯定词条804对应于同一书籍封面的另一图像。并且否定词条806对应于关于查询词条的不同书籍封面的图像。同样,示例提供组件128可以使用光学字符识别来从这些图像中的每个中提取文本。
在另一实现中,任何词条配对可以混合从不同来源获取的信息。例如,查询词条802可以对应于书籍的封面图像,而肯定词条808可以对应于从图像之外的某个其他来源获取的同一书籍的标题。例如,示例提供组件128可以从与书籍相关联的产品页面中提取肯定词条808。
B.说明性过程
图9和图10以流程图形式示出了解释部分A的计算环境的操作的过程(902、1002)。由于计算环境操作的基本原理已经在A节中进行了描述,因此本节将简要介绍某些操作。如“具体实施方式”的序言部分所述,每个流程图表示为以特定顺序执行的一系列操作。但是这些操作的顺序仅仅是代表性的,并且可以按照任何方式改变。
图9示出了概述图1的产生环境110的操作的过程902。在框904中,编码器组件102响应于由用户使用用户计算设备采取的动作而接收输入文本的实例。例如,用户的动作可以对应于以下中的任何一个:在按键输入设备上手动输入输入文本、手动选择预先存在的文本、捕获包含输入文本的图像等。在框906中,编码器组件102生成维度为g的输入TF向量114,该输入TF向量114包括与输入文本中的词条的出现频率相关的频率信息。输入TF向量对应于n-hot向量,该n-hot向量包括针对输入文本中的每个词条的维度。在框908中,编码器组件使用TF修改组件116通过相应机器训练加权因子修改输入TF向量114中与相应词条相关联的频率信息,以产生维度为g的中间向量118。在框910中,编码器组件102使用投影组件122将维度为g的中间向量118投影到维度为k的嵌入向量124中,其中k<g(更具体地,k<<g)。嵌入向量对应于提供输入文本中的语义信息的分布式密集(紧凑)表示的密集向量。在一种实现中,第一神经网络实现TF修改组件116,第二神经网络实现投影组件122。在框912中,应用组件利用嵌入向量124来产生输出结果。在框914中,应用组件134将输出结果提供给用户计算设备的输出设备。
图10示出了概述图1的训练环境104的操作的过程1002。在框1004中,示例提供组件128收集多个训练示例,训练示例包括查询词条、肯定词条和否定词条。每个肯定词条与标识出的查询词条具有肯定关系,每个否定词条与标识出的查询词条具有否定关系。如果尚未提供,示例提供组件128还可以为每个查询词条、肯定词条和否定词条生成输入TF向量。在框1004中,训练组件106通过迭代地减小与查询词条和查询词条的相关联的肯定词条相关联的嵌入向量之间的距离并且迭代地增加与查询词条和查询词条的相关联的否定词条相关联的嵌入向量之间的距离来产生机器训练模型108。
C.代表性计算功能
图11示出了可以用于实现上述附图中阐述的机制的任何方面的计算设备1102。例如,参考图3,图11所示的计算设备1102的类型可以用于实现任何服务器或任何用户计算设备等。在所有情况中,计算设备1102表示物理和有形的处理机制。
计算设备1102可以包括一个或多个硬件处理器1104。硬件处理器1104可以包括但不限于一个或多个中央处理单元(CPU)和/或一个或多个图形处理单元(GPU)和/或一个或多个专用集成电路(ASIC)等。更一般地,任何硬件处理器都可以对应于通用处理单元或专用处理器单元。
计算设备1102还可以包括与一个或多个计算机可读介质硬件单元对应的计算机可读存储介质1106。计算机可读存储介质1106保留任何种类的信息1108,诸如机器可读指令、设置、数据等。在没有限制的情况中,例如,计算机可读存储介质1106可以包括一个或多个固态设备、一个或多个磁性硬盘、一个或多个光盘、磁带等。计算机可读存储介质1106的任何实例可以使用任何技术来存储和取回信息。此外,计算机可读存储介质1106的任何实例可以表示计算设备1102的固定或可移除单元。此外,计算机可读存储介质1106的任何实例可以提供信息的易失性或非易失性保留。
计算设备1102可以按照不同方式利用计算机可读存储介质1106的任何实例。例如,计算机可读存储介质1106的任何实例可以表示用于在计算设备1102对程序的执行期间存储瞬时信息的硬件存储器单元(诸如随机存取存储器(RAM))、和/或用于更永久地保留/归档信息的硬件存储单元(诸如硬盘)。在后一种情况中,计算设备1102还包括用于从计算机可读存储介质1106的实例存储和取回信息的一个或多个驱动机构1110(诸如硬盘驱动机构)。
当(多个)硬件处理器1104执行被存储在计算机可读存储介质1106的任何实例中的计算机可读指令时,计算设备1102可以执行上述功能中的任何一个。例如,计算设备1102可以执行计算机可读指令以执行B部分中描述的每个过程块。
备选地或附加地,计算设备1102可以依赖于一个或多个其他硬件逻辑单元1112来使用逻辑门的任务特定集合来执行操作。例如,(多个)硬件逻辑单元1112可以包括硬件逻辑门的固定配置,例如,这些硬件逻辑门在制造时创建和设置,并且此后不可更改。备选地或附加地,其他硬件逻辑单元1112可以包括可以被设置为执行不同应用特定任务的可编程硬件逻辑门的集合。后一类器件包括但不限于可编程阵列逻辑器件(PAL)、通用阵列逻辑器件(GAL)、复杂可编程逻辑器件(CPLD)、现场可编程门阵列(FPGA)等。
图11总体上指示硬件逻辑电路1114包括(多个)硬件处理器1104、计算机可读存储介质1106和/或(多个)其他硬件逻辑单元1112的任何组合。也就是说,计算设备1102可以采用执行在计算机可读存储介质1106中提供的机器可读指令的(多个)硬件处理器1104和/或使用硬件逻辑门的固定和/或可编程集合执行操作的一个或多个其他硬件逻辑单元1112的任何组合。更一般地说,硬件逻辑电路1114对应于基于存储和/或以其他方式体现在(多个)硬件逻辑单元中的逻辑来执行操作的(多个)任何类型的一个或多个硬件逻辑单元。
在一些情况中(例如,在计算设备1102表示用户计算设备的情况中),计算设备1102还包括用于接收各种输入(经由输入设备1118)并且用于提供各种输出(经由输出设备1120)的输入/输出接口1116。说明性输入设备包括键盘设备、鼠标输入设备、触摸屏输入设备、数字化板、一个或多个静态图像相机、一个或多个视频相机、一个或多个深度相机系统、一个或多个麦克风、语音识别机制、任何运动检测机制(例如,加速度计、陀螺仪等)等。一种特定输出机制可以包括显示设备1122和相关联的图形用户界面呈现(GUI)1124。显示设备1122可以对应于液晶显示设备、发光二极管显示(LED)设备、阴极射线管设备、投影机构等。其他输出设备包括打印机、一个或多个扬声器、触觉输出机构、存档机构(用于存储输出信息)等。计算设备1102还可以包括用于经由一个或多个通信管道1128与其他设备交换数据的一个或多个网络接口1126。一个或多个通信总线1130将上述单元通信耦合在一起。
(多个)通信管道1128可以按照任何方式而被实现,例如,通过局域计算机网络、广域计算机网络(例如,互联网)、点对点连接等、或任何其组合。(多个)通信管道1128可以包括由任何协议或协议组合管理的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
图11将计算设备1102示出为由分离单元的离散集合组成。在一些情况中,单元集合可以对应于在具有任何形状因数的计算设备机箱中提供的离散硬件单元。图11在其底部示出了说明性形状因子。在其他情况中,计算设备1102可以包括集成有图11所示的单元中的两个或更多个单元的功能的硬件逻辑单元。例如,计算设备1102可以包括片上系统(SoC或SOC),其对应于组合图11所示的单元中的两个或更多个单元的功能的集成电路。
以下概述提供了本文中阐述的技术的说明性方面的非穷尽的集合。
根据第一方面,描述了一种或多种用于处理文本的实例的计算设备。(多个)所述计算设备包括:硬件逻辑电路,所述硬件逻辑电路包括:(a)一个或多个硬件处理器,通过执行被存储在存储器中的机器可读指令来执行操作,和/或(b)一个或多个其他硬件逻辑单元,使用逻辑门的任务特定集合来执行操作。所述操作包括:响应于由用户使用用户计算设备采取的动作而接收输入文本的实例;生成输入词条频率(TF)向量,所述输入TF向量包括与所述输入文本中的词条的出现频率相关的频率信息,所述输入TF向量对应于包括针对所述输入文本中的每个词条的维度的n-hot向量;使用TF修改神经网络通过相应机器训练加权因子修改所述输入TF向量中的与相应词条相关联的所述频率信息,以产生中间向量,所述TF修改神经网络由所述硬件逻辑电路实现并且包括至少一层神经元;使用投影神经网络将所述中间向量投影到维数(dimensionality)小于所述输入TF向量的维数的嵌入向量中,所述嵌入向量提供所述输入文本中的语义信息的分布式紧凑表示,所述投影神经网络由所述硬件逻辑电路实现并且包括至少一层神经元;利用所述嵌入向量产生输出结果;以及将所述输出结果提供给所述用户计算设备的输出设备。
根据第二方面,所述TF修改神经网络应用对角加权矩阵。
根据第三方面,由所述TF修改神经网络应用于词条的至少一个机器训练加权因子是负的,这表示对所述词条的否定强调。
根据第四方面,所述投影神经网络是应用全加权矩阵的全连接神经网络。
根据第五方面,所述利用操作包括查找一个或多个候选词条,所述一个或多个候选词条中的每个候选词条具有候选嵌入向量,所述候选嵌入向量与向量空间中的与所述输入文本相关联的所述嵌入向量具有规定关系。所述输出结果向所述用户传达关于(多个)所述候选词条的信息。
根据与第五方面相关的第六方面,所述查找操作使用最近邻居搜索技术来标识(多个)所述候选词条。
根据与第五方面相关的第七方面,每个候选词条对应于由所述输入文本描述的候选产品。
根据与第五方面相关的第八方面,每个候选词条对应于与由所述输入文本描述的产品互补的候选产品。
根据第九方面,所述接收操作包括:接收由所述用户使用数码相机拍摄的产品的图像;以及使用光学字符识别将所述图像转换为所述输入文本。
根据与第九方面相关的第十方面,所述利用操作包括至少基于所述嵌入向量对所述图像分类。
根据与第十方面相关的第十一方面,所述操作还包括使用由所述硬件逻辑电路实现的机器训练图像编码组件将所述图像转换为基于图像的嵌入向量。此外,所述分类操作使用机器训练模型基于与所述输入文本相关联的所述嵌入向量和所述基于图像的嵌入向量对所述图像分类。
根据第十二方面,所述利用操作包括:将所述嵌入向量与提供输入信息的分布式紧凑表示的另一嵌入向量组合,以产生组合向量;以及基于所述组合向量执行分析。
根据第十三方面,所述TF修改神经网络和所述投影神经网络基于由训练环境产生的机器训练模型操作。所述训练环境通过以下产生所述机器训练模型:收集多个训练示例,所述训练示例包括查询词条、肯定词条和否定词条,其中每个肯定词条与标识出的查询词条具有肯定关系,并且每个否定词条与标识出的查询词条具有否定关系;以及通过迭代地减小与查询词条和查询词条的相关联的肯定词条相关联的嵌入向量之间的距离并且迭代地增加与查询词条和查询词条的相关联的否定词条相关联的嵌入向量之间的距离来产生所述机器训练模型。
根据与第十三方面相关的第十四方面,所述收集操作包括从关系知识库中收集所述查询词条、肯定词条和否定词条,所述关系知识库提供与实体相关联的节点和与所述实体之间的关系相关联的链接。
根据与第十三方面相关的第十五方面,所述操作还包括标识满足与相应查询词条的规定的相关性测试但仍未被视为与所述相应查询词条匹配的硬否定词条的子集。所述产生操作使用所述硬否定词条来生成所述机器训练模型。
根据与第十五方面相关的第十六方面,所述规定的相关性测试使用词条频率(TF)逆文档频率(IDF)信息来评估相关性。
根据与第十五方面相关的第十七方面,所述规定的相关性测试使用所述机器训练模型的部分训练版本来评估相关性。
根据第十八方面,描述了一种由一个或多个计算设备实现的用于处理文本的实例的方法。所述方法包括:响应于由用户使用用户计算设备采取的动作而接收输入文本的实例;生成输入词条频率(TF)向量,所述输入TF向量包括与所述输入文本中的词条的出现频率相关的信息,所述输入TF向量对应于包括针对所述输入文本中的每个词条的维度的n-hot向量;使用TF修改神经网络通过相应机器训练加权因子修改所述输入TF向量中的与相应词条相关联的所述频率信息,以产生中间向量,所述TF修改神经网络应用包括至少一个负加权因子的对角加权矩阵,所述TF修改神经网络由所述(多个)计算设备实现并且包括至少一层神经元;使用投影神经网络将所述中间向量投影到维数小于所述输入TF向量的维数的嵌入向量中,所述嵌入向量提供所述输入文本中的语义信息的分布式紧凑表示,所述投影神经网络应用全加权矩阵,所述投影神经网络由所述(多个)计算设备实现并且包括至少一层神经元;利用所述嵌入向量产生输出结果;以及将所述输出结果提供给所述用户计算设备的输出设备。
根据与第十八方面相关的第十九方面,所述利用操作包括查找一个或多个候选词条,所述一个或多个候选词条中的每个候选词条具有候选嵌入向量,所述候选嵌入向量与向量空间中的与所述输入文本相关联的所述嵌入向量具有规定关系。所述输出结果向所述用户传达关于所述(多个)候选词条的信息。
根据第二十方面,描述了一种用于存储计算机可读指令的计算机可读存储介质。所述计算机可读指令在由一个或多个硬件处理器执行时执行一种方法,所述方法包括:响应于由用户使用用户计算设备采取的动作而接收输入文本的实例;生成输入词条频率(TF)向量,所述输入TF向量包括与所述输入文本中的词条的出现频率相关的信息;使用TF修改神经网络通过相应机器训练加权因子修改所述输入TF向量中的与相应词条相关联的所述频率信息,以产生中间向量,所述TF修改神经网络包括至少一层神经元;使用投影神经网络将所述中间向量投影到维数小于所述输入TF向量的维数的嵌入向量中,所述嵌入向量提供所述输入文本中的语义信息的分布式紧凑表示,所述投影神经网络包括至少一层神经元;利用所述嵌入向量产生输出结果;以及将所述输出结果提供给所述用户计算设备的输出设备。所述TF修改神经网络和所述投影神经网络基于由训练环境产生的机器训练模型操作。所述训练环境通过以下产生所述机器训练模型:收集多个训练示例,所述训练示例包括查询词条、肯定词条和否定词条,其中每个肯定词条与标识出的查询词条具有肯定关系,并且每个否定词条与标识出的查询词条具有否定关系;以及通过迭代地减小与查询词条和查询词条的相关联的肯定词条相关联的嵌入向量之间的距离并且迭代地增加与查询词条和查询词条的相关联的否定词条相关联的嵌入向量之间的距离来产生所述机器训练模型。
第二十一方面对应于上述第一至第二十方面的任何组合(例如,任何逻辑上一致的布置或子集)。
第二十二方面对应于与第一至二十一方面相关联的任何方法对应物、设备对应物、系统对应物、装置加功能对应物、计算机可读存储介质对应物、数据结构对应物、制品对应物、图形用户界面呈现对应物等。
最后,本文中描述的功能可以采用各种机制来确保以符合适用的法律、社会规范、以及个人用户的期望和偏好的方式处理任何用户数据。例如,该功能可以允许用户明确选择加入(并且然后明确选择退出)该功能的提供。该功能还可以提供合适的安全机制来确保用户数据的隐私(诸如数据清理机制、加密机制、密码保护机制等)。
此外,该描述已经在说明性挑战或问题的上下文中阐述了各种概念。这种解释方式并不旨在暗示其他人已经以本文中指定的方式理解和/或阐明了挑战或问题。此外,这种解释方式并非意在暗示权利要求中记载的主题仅限于解决所标识的挑战或问题;也就是说,权利要求中的主题可以被应用于本文中描述的挑战或问题之外的挑战或问题的上下文中。
虽然已经以结构特征和/或方法动作特定的语言描述了主题,但是应当理解,所附权利要求中定义的主题不一定限于上述特定特征或动作。相反,上述特定特征和动作被公开作为实现权利要求的示例形式。
Claims (15)
1.一种或多种计算设备,用于处理文本的实例,包括:
硬件逻辑电路,所述硬件逻辑电路包括:(a)一个或多个硬件处理器,通过执行被存储在存储器中的机器可读指令来执行操作,和/或(b)一个或多个其他硬件逻辑单元,使用逻辑门的任务特定集合来执行操作,所述操作包括:
响应于由用户使用用户计算设备采取的动作而接收输入文本的实例;
生成输入词条频率(TF)向量,所述输入TF向量包括与所述输入文本中的词条的出现频率相关的频率信息,所述输入TF向量对应于包括针对所述输入文本中的每个词条的维度的n-hot向量;
使用TF修改神经网络通过相应机器训练加权因子修改所述输入TF向量中的与相应词条相关联的所述频率信息,以产生中间向量,所述TF修改神经网络由所述硬件逻辑电路实现并且包括至少一层神经元;
使用投影神经网络将所述中间向量投影到维数小于所述输入TF向量的维数的嵌入向量中,所述嵌入向量提供所述输入文本中的语义信息的分布式紧凑表示,所述投影神经网络由所述硬件逻辑电路实现并且包括至少一层神经元;
利用所述嵌入向量产生输出结果;以及
将所述输出结果提供给所述用户计算设备的输出设备。
2.根据权利要求1所述的一种或多种计算设备,其中所述TF修改神经网络应用对角加权矩阵。
3.根据权利要求1所述的一种或多种计算设备,其中由所述TF修改神经网络应用于词条的至少一个机器训练加权因子是负的,这表示对所述词条的否定强调。
4.根据权利要求1所述的一种或多种计算设备,其中所述投影神经网络是应用全加权矩阵的全连接神经网络。
5.根据权利要求1所述的一种或多种计算设备,其中所述利用包括:
查找一个或多个候选词条,所述一个或多个候选词条中的每个候选词条具有候选嵌入向量,所述候选嵌入向量与向量空间中的与所述输入文本相关联的所述嵌入向量具有规定关系,
其中所述输出结果向所述用户传达关于所述一个或多个候选词条的信息。
6.根据权利要求1所述的一种或多种计算设备,其中所述接收包括:
接收由所述用户使用数码相机拍摄的产品的图像;以及
使用光学字符识别将所述图像转换为所述输入文本,
其中所述利用包括至少基于所述嵌入向量对所述图像分类。
7.根据权利要求6所述的一种或多种计算设备,其中所述操作还包括:
使用由所述硬件逻辑电路实现的机器训练图像编码组件将所述图像转换为基于图像的嵌入向量,并且
其中所述分类使用机器训练模型基于与所述输入文本相关联的所述嵌入向量和所述基于图像的嵌入向量对所述图像分类。
8.根据权利要求1所述的一种或多种计算设备,其中所述利用包括:
将所述嵌入向量与提供输入信息的分布式紧凑表示的另一嵌入向量组合,以产生组合向量;以及
基于所述组合向量执行分析。
9.根据权利要求1所述的一种或多种计算设备,其中所述TF修改神经网络和所述投影神经网络基于由训练环境产生的机器训练模型操作,并且其中所述训练环境通过以下产生所述机器训练模型:
收集多个训练示例,所述训练示例包括查询词条、肯定词条和否定词条,其中每个肯定词条与标识出的查询词条具有肯定关系,并且每个否定词条与标识出的查询词条具有否定关系;以及
通过迭代地减小与查询词条和所述查询词条的相关联的肯定词条相关联的嵌入向量之间的距离并且迭代地增加与查询词条和所述查询词条的相关联的否定词条相关联的嵌入向量之间的距离来产生所述机器训练模型。
10.一种由一个或多个计算设备实现的用于处理文本的实例的方法,包括:
响应于由用户使用用户计算设备采取的动作而接收输入文本的实例;
生成输入词条频率(TF)向量,所述输入TF向量包括与所述输入文本中的词条的出现频率相关的信息,所述输入TF向量对应于包括针对所述输入文本中的每个词条的维度的n-hot向量;
使用TF修改神经网络通过相应机器训练加权因子修改所述输入TF向量中的与相应词条相关联的所述频率信息,以产生中间向量,
所述TF修改神经网络应用包括至少一个负加权因子的对角加权矩阵,所述TF修改神经网络由所述一个或多个计算设备实现并且包括至少一层神经元;
使用投影神经网络将所述中间向量投影到维数小于所述输入TF向量的维数的嵌入向量中,所述嵌入向量提供所述输入文本中的语义信息的分布式紧凑表示,
所述投影神经网络应用全加权矩阵,所述投影神经网络由所述一个或多个计算设备实现并且包括至少一层神经元;
利用所述嵌入向量产生输出结果;以及
将所述输出结果提供给所述用户计算设备的输出设备。
11.一种用于存储计算机可读指令的计算机可读存储介质,所述计算机可读指令在由一个或多个硬件处理器执行时执行一种方法,所述方法包括:
响应于由用户使用用户计算设备采取的动作而接收输入文本的实例;
生成输入词条频率(TF)向量,所述输入TF向量包括与所述输入文本中的词条的出现频率相关的信息;
使用TF修改神经网络通过相应机器训练加权因子修改所述输入TF向量中的与相应词条相关联的所述频率信息,以产生中间向量,所述TF修改神经网络包括至少一层神经元;
使用投影神经网络将所述中间向量投影到维数小于所述输入TF向量的维数的嵌入向量中,所述嵌入向量提供所述输入文本中的语义信息的分布式紧凑表示,所述投影神经网络包括至少一层神经元;
利用所述嵌入向量产生输出结果;以及
将所述输出结果提供给所述用户计算设备的输出设备,
所述TF修改神经网络和所述投影神经网络基于由训练环境产生的机器训练模型操作,
所述训练环境通过以下产生所述机器训练模型:
收集多个训练示例,所述训练示例包括查询词条、肯定词条和否定词条,其中每个肯定词条与标识出的查询词条具有肯定关系,并且每个否定词条与标识出的查询词条具有否定关系;以及
通过迭代地减小与查询词条和所述查询词条的相关联的肯定词条相关联的嵌入向量之间的距离并且迭代地增加与查询词条和所述查询词条的相关联的否定词条相关联的嵌入向量之间的距离来产生所述机器训练模型。
12.根据权利要求5所述的一种或多种计算设备,其中每个候选词条对应于由所述输入文本描述的候选产品。
13.根据权利要求5所述的一种或多种计算设备,其中每个候选词条对应于与由所述输入文本描述的产品互补的候选产品。
14.根据权利要求9所述的一种或多种计算设备,其中所述收集包括从关系知识库收集所述查询词条、肯定词条和否定词条,所述关系知识库提供与实体相关联的节点和与所述实体之间的关系相关联的链接。
15.根据权利要求9所述的一种或多种计算设备,
其中所述操作还包括标识满足与相应查询词条的规定的相关性测试但仍未被视为与所述相应查询词条匹配的硬否定词条的子集,
其中所述产生使用所述硬否定词条来生成所述机器训练模型。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/368,798 | 2019-03-28 | ||
US16/368,798 US11669558B2 (en) | 2019-03-28 | 2019-03-28 | Encoder using machine-trained term frequency weighting factors that produces a dense embedding vector |
PCT/US2020/016305 WO2020197636A1 (en) | 2019-03-28 | 2020-02-03 | Encoder using machine-trained term frequency weighting factors that produces a dense embedding vector |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113661487A true CN113661487A (zh) | 2021-11-16 |
Family
ID=69740793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080024993.XA Pending CN113661487A (zh) | 2019-03-28 | 2020-02-03 | 使用机器训练词条频率加权因子的产生密集嵌入向量的编码器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11669558B2 (zh) |
EP (1) | EP3928220A1 (zh) |
CN (1) | CN113661487A (zh) |
WO (1) | WO2020197636A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11568425B2 (en) * | 2020-02-24 | 2023-01-31 | Coupang Corp. | Computerized systems and methods for detecting product title inaccuracies |
US11764941B2 (en) * | 2020-04-30 | 2023-09-19 | International Business Machines Corporation | Decision tree-based inference on homomorphically-encrypted data without bootstrapping |
US10984075B1 (en) * | 2020-07-01 | 2021-04-20 | Sas Institute Inc. | High dimensional to low dimensional data transformation and visualization system |
US11410445B2 (en) * | 2020-10-01 | 2022-08-09 | Infrrd Inc. | System and method for obtaining documents from a composite file |
US11847555B2 (en) * | 2020-12-04 | 2023-12-19 | International Business Machines Corporation | Constraining neural networks for robustness through alternative encoding |
US20220245326A1 (en) * | 2021-01-29 | 2022-08-04 | Palo Alto Research Center Incorporated | Semantically driven document structure recognition |
US11971885B2 (en) * | 2021-02-10 | 2024-04-30 | Adobe Inc. | Retrieval aware embedding |
US20230122874A1 (en) * | 2021-10-20 | 2023-04-20 | Microsoft Technology Licensing, Llc | Techniques for identifying quotations in images posted to a feed |
US11907643B2 (en) * | 2022-04-29 | 2024-02-20 | Adobe Inc. | Dynamic persona-based document navigation |
US20230359441A1 (en) * | 2022-05-09 | 2023-11-09 | Microsoft Technology Licensing, Llc. | Retrieval-augmented code completion |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060095852A1 (en) * | 2002-11-27 | 2006-05-04 | Trepess David W | Information storage and retrieval |
US20150074027A1 (en) * | 2013-09-06 | 2015-03-12 | Microsoft Corporation | Deep Structured Semantic Model Produced Using Click-Through Data |
CN108009847A (zh) * | 2017-11-30 | 2018-05-08 | 西安电子科技大学 | 外卖场景下店铺embedding特征提取的方法 |
CN108027834A (zh) * | 2015-09-21 | 2018-05-11 | 高通股份有限公司 | 用于通过文本的视频搜索的语义多感官嵌入 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI120807B (fi) | 2006-09-26 | 2010-03-15 | Whitevector Oy | Tietokohteiden suodatus |
US20140067368A1 (en) * | 2012-08-29 | 2014-03-06 | Microsoft Corporation | Determining synonym-antonym polarity in term vectors |
US11061946B2 (en) * | 2015-05-08 | 2021-07-13 | Refinitiv Us Organization Llc | Systems and methods for cross-media event detection and coreferencing |
CN108604383A (zh) * | 2015-12-04 | 2018-09-28 | 奇跃公司 | 重新定位系统和方法 |
US11288297B2 (en) * | 2017-11-29 | 2022-03-29 | Oracle International Corporation | Explicit semantic analysis-based large-scale classification |
US11216701B1 (en) * | 2018-02-09 | 2022-01-04 | Amazon Technologies, Inc. | Unsupervised representation learning for structured records |
US20200042580A1 (en) * | 2018-03-05 | 2020-02-06 | amplified ai, a Delaware corp. | Systems and methods for enhancing and refining knowledge representations of large document corpora |
RU2701995C2 (ru) * | 2018-03-23 | 2019-10-02 | Общество с ограниченной ответственностью "Аби Продакшн" | Автоматическое определение набора категорий для классификации документа |
US11507846B2 (en) * | 2018-03-26 | 2022-11-22 | Nvidia Corporation | Representing a neural network utilizing paths within the network to improve a performance of the neural network |
US10956522B1 (en) * | 2018-06-08 | 2021-03-23 | Facebook, Inc. | Regular expression generation and screening of textual items |
US20200005247A1 (en) * | 2018-06-27 | 2020-01-02 | Taxbot Llc | Systems and methods for meeting purpose determination |
US11481416B2 (en) * | 2018-07-12 | 2022-10-25 | International Business Machines Corporation | Question Answering using trained generative adversarial network based modeling of text |
CN111104306A (zh) * | 2018-10-26 | 2020-05-05 | 伊姆西Ip控股有限责任公司 | 用于应用中的错误诊断的方法、装置和计算机存储介质 |
-
2019
- 2019-03-28 US US16/368,798 patent/US11669558B2/en active Active
-
2020
- 2020-02-03 CN CN202080024993.XA patent/CN113661487A/zh active Pending
- 2020-02-03 WO PCT/US2020/016305 patent/WO2020197636A1/en unknown
- 2020-02-03 EP EP20709002.8A patent/EP3928220A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060095852A1 (en) * | 2002-11-27 | 2006-05-04 | Trepess David W | Information storage and retrieval |
US20150074027A1 (en) * | 2013-09-06 | 2015-03-12 | Microsoft Corporation | Deep Structured Semantic Model Produced Using Click-Through Data |
CN108027834A (zh) * | 2015-09-21 | 2018-05-11 | 高通股份有限公司 | 用于通过文本的视频搜索的语义多感官嵌入 |
CN108009847A (zh) * | 2017-11-30 | 2018-05-08 | 西安电子科技大学 | 外卖场景下店铺embedding特征提取的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020197636A1 (en) | 2020-10-01 |
US11669558B2 (en) | 2023-06-06 |
US20200311542A1 (en) | 2020-10-01 |
EP3928220A1 (en) | 2021-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113661487A (zh) | 使用机器训练词条频率加权因子的产生密集嵌入向量的编码器 | |
US10909459B2 (en) | Content embedding using deep metric learning algorithms | |
US11605019B2 (en) | Visually guided machine-learning language model | |
GB2547068B (en) | Semantic natural language vector space | |
US9792534B2 (en) | Semantic natural language vector space | |
AU2016256753B2 (en) | Image captioning using weak supervision and semantic natural language vector space | |
US11182408B2 (en) | Generating and applying an object-level relational index for images | |
US10089580B2 (en) | Generating and using a knowledge-enhanced model | |
US11244205B2 (en) | Generating multi modal image representation for an image | |
Sawant et al. | Automatic image semantic interpretation using social action and tagging data | |
Li et al. | Bootstrapping visual categorization with relevant negatives | |
WO2020180430A1 (en) | Intent encoder trained using search logs | |
Desai et al. | Hybrid approach for content-based image retrieval using VGG16 layered architecture and SVM: an application of deep learning | |
Patel et al. | Dynamic lexicon generation for natural scene images | |
Mironica et al. | Fisher kernel based relevance feedback for multimodal video retrieval | |
Tian et al. | Multimedia integrated annotation based on common space learning | |
Maynard et al. | Entity-based opinion mining from text and multimedia | |
Fonseca et al. | Research trends and applications of data augmentation algorithms | |
Chaudhary et al. | A survey on image enhancement techniques using aesthetic community | |
HS et al. | Advanced text documents information retrieval system for search services | |
Lakshmi | An efficient telugu word image retrieval system using deep cluster | |
Youpeng et al. | Amvae: Asymmetric multimodal variational autoencoder for multi-view representation | |
Mercy Rajaselvi Beaulah et al. | Categorization of images using autoencoder hashing and training of intra bin classifiers for image classification and annotation | |
Sharma et al. | Optical Character Recognition Using Hybrid CRNN Based Lexicon-Free Approach with Grey Wolf Hyperparameter Optimization | |
Xu et al. | Two-stage semantic matching for cross-media retrieval |
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 |