CN110309192A - 使用神经网络编码器的结构数据匹配 - Google Patents
使用神经网络编码器的结构数据匹配 Download PDFInfo
- Publication number
- CN110309192A CN110309192A CN201811148169.6A CN201811148169A CN110309192A CN 110309192 A CN110309192 A CN 110309192A CN 201811148169 A CN201811148169 A CN 201811148169A CN 110309192 A CN110309192 A CN 110309192A
- Authority
- CN
- China
- Prior art keywords
- data set
- data
- column
- vector
- encoder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013528 artificial neural network Methods 0.000 title description 6
- 239000013598 vector Substances 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims abstract description 32
- 230000008878 coupling Effects 0.000 claims abstract description 15
- 238000010168 coupling process Methods 0.000 claims abstract description 15
- 238000005859 coupling reaction Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 5
- 210000002569 neuron Anatomy 0.000 description 20
- 230000006870 function Effects 0.000 description 15
- 230000004913 activation Effects 0.000 description 14
- 230000015654 memory Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 7
- 238000003780 insertion Methods 0.000 description 7
- 230000037431 insertion Effects 0.000 description 7
- 230000001537 neural effect Effects 0.000 description 7
- 238000013507 mapping Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000013480 data collection Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000008555 neuronal activation Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2264—Multidimensional index structures
-
- 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
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3082—Vector coding
-
- 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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
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)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施方式包括用于接收第一和第二数据集的方法、系统和计算机可读存储介质,第一和第二数据集包括多个列中的结构化数据,对于第一数据集和第二数据集的每个,将每列输入到特定于相应列的列类型的编码器中,编码器分别提供用于第一数据集和第二数据集的编码数据,基于第一数据集的编码数据提供第一多维向量,基于第二数据集的编码数据提供第二多维向量,并将第一多维向量和第二多维向量输出到损失函数,该损失函数处理第一多维向量和第二多维向量以提供输出,该输出表示第一和第二数据集之间的匹配数据点。
Description
技术领域
本发明涉及一种使用神经网络编码器的结构数据匹配。
背景技术
数据库系统可以存储大量数据集。在某些情况下,数据集可以是相关的。在示例上下文中,第一数据集可以表示计算机系统性能,第二数据集可以表示响应于计算机系统性能而生成的信息技术(IT)警报。数据集之间的匹配数据可用于关联数据集,并匹配类似的数据项。特别地,数据匹配可以包括确定查询数据点(例如,计算机系统性能)与目标数据点(例如,IT警报)之间的关联。
数据匹配的传统方法可以包括基于规则的方法,其提供定义要匹配的数据值的一组规则。然而,这种传统系统可能是资源效率低下的,并且不能提供准确或清晰的结果。例如,对于查询数据点,传统方法可以提供候选目标数据点的排序列表,而不是精确匹配。因此,如果甚至存在于排序列表中,则可能需要花费额外的资源和时间来从排序列表中识别完全匹配。
发明内容
本公开的实施方式包括用于数据匹配结构化数据集的计算机实现的方法。更具体地,本公开的实施方式针对使用深度学习的结构化数据集之间的数据匹配问题。
在一些实施方式中,动作包括接收第一数据集和第二数据集,第一数据集和第二数据集包括多个列中的结构化数据,对于第一数据集和第二数据集的每一个,将每列输入到特定于相应列的列类型的编码器中,编码器分别提供用于第一数据集和第二数据集的编码数据,基于第一数据集的编码数据提供第一多维向量,基于第二数据集的编码数据提供第二多维向量,并将第一多维向量和第二多维向量输出到损失函数,该损失函数处理第一多维向量和第二多维向量以提供输出,该输出表示第一数据集和第二数据集之间的匹配数据点。其他实施方式包括相应的系统、装置和计算机程序,被配置为执行编码在计算机存储设备上的方法的动作。
这些和其他实施方式可以各自可选地包括以下特征中的一个或多个:相同的编码器用于提供第一数据集的编码数据和第二数据集的编码数据;在编码器提供编码数据之前,预处理第一数据集和第二数据集中的一个或多个的数据值以提供修正的数据值;预处理包括将一个或多个零预附加到数值数据值;预处理包括将一个或多个空格预附加到串数据值;动作还包括在提供编码数据之前从第一数据集和第二数据集中的每一个过滤至少一列;并且动作还包括确定多个列中的每列的列类型。
本公开还提供了一个或多个非暂时性计算机可读存储介质,其耦合到一个或多个处理器并且具有存储在其上的指令,当由一个或多个处理器执行时,所述指令使得一个或多个处理器根据本文提供的方法的实施方式执行操作。
本公开还提供了一种用于实现本文提供的方法的系统。该系统包括一个或多个处理器,以及耦合到一个或多个处理器的计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得一个或多个处理器根据本文提供的方法的实施方式执行操作。
应了解,根据本公开的方法可包括本文描述的方面和特征的任何组合。也就是说,根据本公开的方法不限于本文具体描述的方面和特征的组合,还包括所提供的方面和特征的任何组合。
在附图和以下描述中阐述了本公开的一个或多个实施方式的细节。根据说明书和附图以及权利要求,本公开的其他特征和优点将显而易见。
附图说明
图1描绘了可用于执行本公开的实施方式的示例环境。
图2描绘了根据本公开的实施方式的示例数据集。
图3A和3B描绘了根据本公开的实施方式的示例性预处理。
图4A-4D描绘了可以根据本公开的实施方式执行的示例处理。
图5描绘了可以根据本公开的实施方式执行的示例处理。
图6是可用于执行本公开的实施方式的示例计算机系统的示意图。
各附图中的相同参考符号表示相同元件。
具体实施方式
本公开的实施方式包括用于数据匹配结构化数据集的计算机实现的方法。更具体地,本公开的实施方式针对使用深度学习的结构化数据集之间的数据匹配问题。在一些实施方式中,动作可以包括接收第一数据集和第二数据集,第一数据集和第二数据集都包括多个列中的结构化数据,对于第一数据集和第二数据集的每一个,将每列输入到特定于相应列的列类型的编码器中,编码器分别提供第一数据集和第二数据集的编码数据,基于第一数据的编码数据提供第一多维向量,基于第二数据集的编码数据提供第二多维向量,并将第一多维向量和第二多维向量输出到损失函数,该损失函数处理第一多维向量和第二多维向量以提供输出,该输出表示第一数据集和第二数据集之间的匹配数据点。
为了提供用于本公开的实施方式的进一步的上下文,并且如上所述,在不同数据集之间匹配数据点可以是时间和资源密集型任务。在数据库系统中尤其如此,该数据库系统在要匹配的数据集之间具有数百万甚至数十亿个数据点。一些传统的匹配技术可以使用规则集,并且要求匹配严格遵循这些规则。这可能导致匹配数据点的效率低下。例如,代替查询数据点和目标数据点之间的精确匹配,传统方法可以提供表示多个潜在匹配的目标数据点(例如,排序列表)的列表。此外,规则不会自动适应新的匹配场景(例如,新的查询数据点或新的目标数据点),并且需要针对不同的匹配场景进行改变。传统解决匹配问题所缺少的是评估和处理数据本身的特征。也就是说,例如,存在数据结构固有的许多数据特征。
鉴于此,本公开的实施方式利用深度学习来使用数据结构的特性来匹配数据集之间的数据。深度倾斜中使用的深度神经网络已被广泛用于计算机视觉和自然语言处理(NLP)。本公开的实施方式将深度学习技术应用于数据集匹配,以识别查询数据点和目标数据点之间的单一精确匹配。
本公开的实施方式提供了基于数据结构匹配数据的技术。根据本公开的实施方式,提供神经网络用于从数据结构中提取特征,并且从一个或多个第一(“查询”)数据集到一个或多个第二(“目标”)数据集找到匹配数据。深度学习技术用于将编码的目标和查询数据集嵌入到潜在(或环境)空格中,并提供可比较的多维向量以确定两个数据集中的匹配数据。在一些实施方式中,每个数据库上的编码处理由一个或多个编码器基于要编码的数据的类型来执行。在一些实施方式中,数据集包括结构化数据,并且具有一列或多列数据。在一些示例中,基于列中的数据类型对每列进行编码。也就是说,例如,每个编码器特定于数据类型(或列类型),并且仅编码该类型的数据。
在一些实施方案中,在从数据集处理数据之后,从编码数据提供多维向量。在一些示例中,多维向量是可比较的,并且被输出到损失函数以确定数据集之间的匹配数据点。在一些示例中,对于查询数据集中的每个数据列,在目标数据集中标识一个或多个匹配数据列。
这里参考示例上下文进一步详细描述了本公开的实施方式。示例上下文包括来自计算机系统(例如,具有一个或多个计算机设备的公司)的查询数据集,以及来自信息技术(“IT”)提供商的目标数据集。在示例上下文中,使用本公开的实施方式来提供查询数据集中的记录(数据)与目标数据集中的记录之间的匹配。然而,预期可以利用任何适当的上下文(例如,财务记录、个人记录、医疗记录)来实现本公开的实施方式。
图1描绘了可用于执行本公开的实施方式的示例环境100。在一些示例中,示例环境100使得与各个实体相关联的用户能够请求和接收匹配的数据集。示例环境100包括计算设备102、后端系统106和网络110。在一些示例中,用户114使用计算设备102来登录并与执行本公开的数据匹配的平台交互。
在所描绘的示例中,后端系统106包括至少一个服务器系统120。在一些示例中,至少一个服务器系统120托管(host)用户可以使用计算设备与之交互的一个或多个计算机实现的服务。例如,根据本公开的实施方式,后端系统106可以托管计算机实现的数据匹配服务。
在所描绘的示例中,计算设备102被描绘为移动计算设备。然而,可以预期,本公开的实施方式可以用任何适当类型的计算设备(例如,智能手机、平板电脑、膝上型计算机、台式计算机、支持语音的设备)来实现。在一些示例中,网络110包括局域网(LAN)、广域网(WAN)、因特网或其组合,并且连接网站,用户设备(例如,计算设备102)、并且后端系统(例如,后端系统106)。在一些示例中,可以通过有线和/或无线通信链路来访问网络110。例如,诸如智能电话的移动计算设备可以利用蜂窝网络来访问网络110。
在一些示例中,计算设备102包括在其上执行的计算机可执行应用程序,其可以用于登录提供本公开的数据匹配服务的平台。在一些示例中,计算设备102包括在其上执行的万维网浏览器应用,其可以用于显示提供本公开的数据匹配服务的一个或多个万维网页面。
根据本公开的实施方式,处理两个或更多个数据集的数据以匹配数据集之间的数据点。在一些实施方式中,数据点在至少一个查询数据集和至少一个目标数据集之间匹配。在一些实施方式中,数据集包括列中的结构化数据,并且每列存储一个或多个数据点。在一些示例中,一个数据集的数据点将与其他数据集的数据点匹配。
图2描绘了根据本公开的实施方式的示例数据集。示例数据集200包括查询数据集202和目标数据集204。查询数据集202包括系统性能的记录,并且目标数据集204包括基于系统性能记录的IT警报。在所描绘的示例中,查询数据集202和目标数据集204中的数据按列构造。列206、208、210是查询数据集202中的示例列,并且列212是目标数据集204中的示例列。每列存储一个或多个数据点(例如,分别在列210、212中的数据点214、218)。
根据本公开的实施方式,处理每个列以确定列的列类型。在一些实施方式中,每列仅具有一种列类型。示例列类型包括但不限于分类、数值、串和日期。每个列类型指示相应列中的数据点共享特定特征。
在一些实施方式中,数值列指的是具有数字(包括小数)作为数据点的列。在一些实施方式中,串列指的是具有自由文本作为数据点的列。在所描绘的示例中,数据列222是数值列。在一些实施方式中,分类列指示相应列中的数据点由一组选项界定。例如,仅具有“男性”和“女性”选项的列可以是分类列。在所描绘的示例中,列208是分类列,因为列208中对于每个数据点存在有限选项。
在一些实施方式中,可以基于存储在列内的数据点之间的变化程度来确定列是分类的。例如,可以比较列的数据值以确定多个唯一数据值。唯一值的数量可以指示数据点之间的变化程度。在一些示例中,分类类型由具有相对低变化程度的数据点(例如,小于唯一值的阈值数量)指示。例如,具有“男性”和“女性”数据点的列具有相对低的变化程度(例如,仅两个唯一值)。具有数字的列可以指示相对高的变化程度(例如,数百/数千个唯一值)。例如,列210、220中的数据点可以被分类为数值或分类。然而,在所描绘的示例中,这些列被分类为数值列,因为数据点的唯一值的数量超过阈值数量。
在一些实施方式中,日期列指的是具有日期作为数据点的列。在一些实施方式中,由于可能值的数量是有限的,因此将包括日期作为数据点的列视为分类列。在一些示例中,每个日期数据点被分成三个值(例如,日、月、年),并且具有日期数据点的列被分成三列(其可以各自被确定为数值或分类列)。
可以将列中的数据点传送到输入向量空格(space)。例如,可以基于数据点中的字符将数据点传送到输入向量空格中。在一些示例中,可以为每个字符分配唯一编号,并且将唯一编号传送到输入向量空格。在一些实施方式中,利用包括可能出现在数据点中的所有字符的全局字符映射。例如,全局字符映射可以覆盖英语小写字母、英语大写字母、数字和特殊字符(例如,%、@)。这样的全局字符映射可以覆盖例如68个字符。可以根据全局字符映射为数据点字符提供的唯一编号将数据点传输到输入向量。在一些示例中,全局字符映射可以充当字典并将每个字符映射到一组字符(例如,单词)。例如,每个字符可以映射到输入向量空格中的n-gram字。
在一些实施方式中,查询数据集和目标数据集的每列的数据点被预处理以在相应列中提供可比较的数据点。在一些示例中,预处理在每列中生成相等长度的数据点。在一些示例中,基于列的类型对每列执行预处理。在一些示例中,通过确定列中的数据点的最大长度并生成全部具有等于最大长度的长度的新数据点来生成列的新数据点。
图3A和3B描绘了根据本公开的实施方式的示例性预处理。在图3A中,数值列302被预处理以提供修正的数值列304。在该示例中,确定具有最大长度的数据点(例如,数据点312),并且通过预置零,将所有其他数据点(例如,数据点314)的长度增加到最大长度的长度,提供新的数据点(例如,数据点316)。在图3B中,串(或分类)列306被预处理以提供修订的串(或分类)列308。在该示例中,确定具有最大长度的数据点(例如,数据点318),并且通过预置空格来将所有其他数据点(例如,数据点320)的长度增加到最大长度的长度,提供新数据点(例如,数据点322)。预处理的其他示例可以包括添加一个或多个预定义字符(例如,*或-)以匹配列中数据点的长度。例如,为了将这些一个或多个预定义字符与数据点中的其他字符区分开,可以在全局字符映射中提供预定义字符作为预处理(或空)字符。
根据本公开的实施方式,数据列被输入到神经网络,该神经网络包括要处理和编码的一个或多个层。在一些实施方式中,处理和编码(例如,层的类型或数量)基于正在处理的列的类型而变化。在一些实施方式中,编码至少部分地取决于列类型并且部分地在所有类型的列之间共享。
图4A-4D描绘了可以根据本公开的实施方式执行的示例处理。图4A是在查询数据集和目标数据集的列上执行的示例系列处理层400的高级视图。层400包括列类型确定402、列编码404、级联嵌入406、完全连接的层408、映射到潜在空格410和丢失确定412。
列类型确定层402确定每个查询数据集和目标数据集中的每列的类型,如本文所述。在一些实施方式中,列类型确定还包括数据点的预处理,如本文中还描述的。基于列的类型将每列输入到相应的编码器404。编码器404的类型相关输出在级联嵌入406处级联,并且在一个或多个完全连接的层408中进一步处理。用于每个查询数据集以及目标数据集的完全连接的层的输出被映射到潜在空格410以为查询数据集和目标数据集中的每一个提供具有预定维度的多维向量。在一些实施方式中,查询数据集和目标数据集的多维向量具有相同的维度。使用损失确定器412比较这些多维向量,以识别查询数据集与目标数据集之间的匹配数据点和/或列。
在一些实施方式中,列类型编码器404包括基于列的类型以列为目标的一个或多个编码器。在一些实施方式中,404中的编码器特定于编码器接受的列类型作为输入。在一些实施方式中,以第一列类型为目标的编码器的层的数量和/或类型不同于以第二列类型为目标的编码器的层的数量和/或类型。在一些实施方式中,编码器404包括完全连接、卷积和长短期存储器(LTSM)层。在一些实施方式中,每个编码器类型的输出大小不同于其他编码器类型的大小。在一个非限制性示例中,每个分类编码器的输出最多占用20维,每个数值编码器的输出占用5维,并且每个串编码器的输出占用128维。
图4B和4C提供了列类型编码器404的示例编码器。图4B描绘了用于分类列的示例编码器420。编码器420执行两个分类编码422、424。在一些示例中,编码器420包括由426、428、430、432表示的两个神经网络层。分类编码器的输出434被输入到级联嵌入406。
示例编码器420中的分类编码执行字符编码和独热编码。在一些示例中,字符编码将每个数据点编码为预设代码。例如,在字符编码时,图2的列208中所示的第一和第三数据点被编码为预设代码1,并将列208中的第二数据点编码为代码2。
在一些示例中,独热编码将每个数据点编码为具有单个高比特(例如,1)以及针对其他比特的单个低比特(例如,0)的一组比特。在这些示例中,比特组的长度取决于列中数据点变化的数量。例如,假设列208中的数据点只有“APPLE”、“DELL”和“OTHERS”的三种变体,这些变体中的每一个都被分配给一组比特,仅具有在唯一比特位置中的一个高比特。例如,可以将APPLE分配给[0,0,1],将DELL分配给[0,1,0],将OTHERS分配给[1,0,0]。在一些示例中,使用全局字符映射对每个字符执行独热编码。例如,如果全局字符映射中有五个字符,则数据点ABC可以显示为[1,0,0,0,0]、[0,1,0,0,0]、[0,0,1,0,0]。
在一些实施方式中,编码器420中的两个神经网络层(426、428;430、432)是完全连接的层。在图4B中描绘的示例中,第一神经网络层(层1:426、428)具有256维,第二神经网络层(层2:430、432)具有20维。这些层的其他维度也是可行的。例如,426和428可具有512或64维,430和432可具有10、5或30维。层1和层2中的每一层包括线性层和指数线性单元。线性层中的神经元可以连接到线性层之前的层中的所有神经元(或激活)(也可以称为“前一层”)。在示例线性层中,线性层的每个神经元的激活是前一层的神经元激活和神经元的权重(在当前层)的点积。例如,如果线性层中神经元的权重是[w1 w2 w3]并且前一层(线性层之前)的激活是[c1 c2 c3],则线性层中神经元的激活可以是w1c1+w2c2+w3c3。指数线性单元用作完全连接的层1和层2中的激活函数。指数层的每个神经元的激活可以是前一层的神经元激活的指数函数。在一个示例中,指数层的神经元的激活可以是前一层的神经元的激活和神经元的权重(在当前层)的点积的指数函数。例如,如果线性层中神经元的权重是[w1 w2w3]并且前一层(线性层之前)的激活是[c1 c2 c3],则可以提供线性层中神经元的激活如:
在一些示例中,网络的权重(例如,整个网络)用零均值和0.05标准偏差初始化。例如,所有神经元的初始权重(例如,在训练网络之前)可以设置为0.05。
图4C描绘了用于数值列的示例编码器440。编码器440执行分别包括数值编码442、神经网络层444、446;448、450。数值编码器的输出452被输入到级联嵌入406。在一些示例中,示例编码器440中的数值编码包括字符编码。在一些示例中,字符编码将每个数字(在数据点处)编码为预设代码。例如,列220的第一数据点可以被编码为预设代码1(例如,10100111)。
在一些实施方案中,编码器440中的神经网络层是维度为5的完全连接的层(例如,每一层上的五个神经元)。本领域技术人员将认识到,为了描述目的选择了5的维度,并且其他维度(例如,10、20)也是可行的。层,层1和层2中的每一层包括线性层和指数线性单元。数值编码器440中的线性层可以与分类编码器420中的线性层类似(例如,具有相似的权重)或不同(例如,一个或多个神经元中的不同权重)。指数线性单元用作在完全连接的层1和层2中的激活函数。数值编码器440中的指数层可以与分类编码器420中的指数层相似(例如,具有相似的权重)或不同(例如,一个或多个神经元中的不同权重)。在一些示例中,网络的权重被初始化为零均值和0.05标准偏差。
图4D描绘了用于串列的示例编码器460。编码器460执行两个串编码462、464,并包括七个神经网络层466、468、470、472、474-476、478-480、482-484。串编码器的输出486被输入到级联嵌入406。
示例编码器460中的串编码462、464分别执行字符编码和独热编码。在一些示例中,使用全局字符映射对数据点中的每个字符执行一个字符编码和独热编码。例如,如果“Y”、“e”和“s”与全局字符映射中的数字4、2和1相关联,并且由字符编码器分别编码为“0100”、“0010”和“0001”,字符编码器可以将列224中的第一数据点编码为“0111”。
在一些实施方式中,编码器460中的神经网络层包括卷积、丢失、线性和指数线性单元层。在一些示例中,至少一个层是完全连接的层。在所描绘的示例中,层466、470是2-D卷积层,其内核大小为50×3,步长为1×1,其中50是编码后的一个字符的维度;但是卷积层的其他大小和维度是可行的。两个卷积层466、470的输出通道(例如,滤波器的数量)分别是10和20;但其他大小也是可行的。在网络正在训练时,丢失层468、472可以具有随机权重。例如,在测试阶段不使用丢失层。
编码器460还在层5、层6和层7中具有线性层和指数线性单元。串编码器460中的线性层可以与分类编码器420中的线性层是相似的(例如,具有相似的权重)或不同的(例如,在一个或多个神经元中的不同权重)。线性层474、478、482分别具有512、256和128的批量大小;但其他大小也是可行的。在一些示例中,指数线性单元476、480、484用作完全连接的层1和层2中的激活函数。串编码器460中的指数层可以与分类编码器420中的指数层是类似的(例如,具有相似的权重)或不同的(例如,在一个或多个神经元中的不同权重)。
再次参见图4A,在所描绘的示例中,在编码404中编码的数据列在级联嵌入406处级联。在一些示例中,编码列以预定义顺序级联(例如,在输出分类编码器之后,并且输出数值编码器之后,级联串编码器的输出)。在一些示例中,编码列按照它们从列类型编码404输出的顺序进行级联。对于每个查询数据集和目标数据集,级联嵌入406的输出是级联数据(例如,级联的向量)。级联数据的大小取决于编码404的输出的大小。例如,如果目标数据集具有6个分类列、1个数值列和6个串列,则对于目标数据集可以提供1013维度的级联数据(例如,因为分类、数值和串编码器的输出分别具有20、5和128维度)。
来自查询数据集和目标数据集的级联数据被输入到一个或多个完全连接的层408(例如,三个完全连接的层)。完全连接的层中的神经元连接到线性层之前的层中的所有神经元(或激活)(也可以称为“前一层”)。完全连接层的示例包括但不限于线性层和指数层。
用于查询数据集和目标数据集的完全连接的层的输出各自被映射到潜在空格,以为查询数据集和目标数据集提供相应的多维向量。在一些示例中,查询数据集的多维向量具有与查询数据集的多维向量相同的维度。在一个非限制性示例中,每个多维向量具有128维。
将多维向量输入到损失确定器412以提供指示查询数据集与目标数据集之间的一个或多个匹配数据点的输出。损失确定器可用于降低数据匹配中的错误。在一些实施方式中,损失确定器包括确定两个或更多个输入数据之间的差的损失函数。在一些示例中,差通过输入之间的余弦距离来计算。在一些示例中,在潜在空格中评估损失函数,并且将错误反向传播到网络的不同层。
在一些实施方式中,为了最小化查询数据集与目标数据集的匹配数据对之间的距离,使用三元组挖掘来计算损失函数。为此,执行监督训练。例如,提供查询数据集和目标数据集的特定批量大小(例如,大小为100)的训练数据。使用每个查询数据点作为锚点,匹配点是正目标,非匹配点是负目标。对于所选择的锚点,选择一个正目标,并且在正目标和锚点之间计算余弦相似度。在所有负目标和锚点之间计算余弦相似度。选择最接近锚点的四个负点来计算损失函数。在收集关于锚的正目标和选择性负目标的余弦相似性之后,使用Softmax函数来计算锚查询与选择目标之间的相似性的概率。计算锚点与正目标之间所有概率的平均值的加法倒数作为最终损失函数。在一些示例中,动量优化器用于最小化损失函数。反向传播每层中的错误,并调整相应的权重。
图5描绘了可以根据本公开的实施方式执行的示例处理500。在一些实施方式中,可以使用利用一个或多个计算设备执行的一个或多个计算机可执行程序来执行示例处理500。
接收第一和第二数据集(502)。例如,第一数据集是查询数据集,第二数据集是目标数据集。在一些示例中,在后端系统106处(例如,从数据库)接收第一和第二数据集。在一些示例中,从用户114或数据库120接收至少一个数据集。在一些示例中,接收多于一个的第一数据集或多于一个的第二数据集。
确定列类型(504)。例如,对于第一和第二数据集的每一列,确定该列是分类、数值、串还是日期类型。如本文所述,在一些示例中,至少部分地基于列中的数据点的变化程度来确定列的类型。例如,如果列的数据点具有相对低的变化程度,则该列被分类为分类。在一些实施方式中,过滤一个或多个列(506)。在一些示例中,过滤包括在匹配处理中从考虑中移除列。在一些示例中,基于列的内容确定是否过滤列。例如,如果列中的所有数据点具有相同的值(例如,数值和/或字符),则可以从数据集的列中过滤出列。
对列进行预处理(508)。例如,修改每列中的数据点以提供相等长度的数据点。在一些示例中,并且如本文所述,可以将零预置为数字,或者可以将空格预置为字符串以在列内提供相等长度的数据点。在一些示例中,第一和第二数据集的每列被预处理。在一些示例中,仅预处理在过滤之后保持完整的列(如果实施过滤)。
对列中的数据值进行编码(510)。例如,第一和第二数据集的每列被输入到相应的编码器。在一些示例中,编码器特定于列类型。在一些示例中,每个编码器仅处理一种类型的列。在一些示例中,相同的编码器用于第一和第二数据集。在一些示例中,取决于列是来自第一数据集还是来自第二数据集,使用不同的编码器。在一些示例中,一个或多个编码器包括一个或多个神经网络层。编码数据被级联(512)。例如,编码数据以预定义的顺序级联。在一些示例中,在对数据集的所有列进行编码之后执行级联。在一些示例中,与数据编码并行地执行级联(例如,列被级联,而其他列的编码继续)。
在一些实施方式中,级联数据被输入到完全连接的层(514)。例如,将级联的数据提供给三个完全连接的层。可以提供这些完全连接的层以进一步处理数据。提供多维向量(516)。例如,从级联数据提供多维向量。在一些示例中,为第一数据集和第二数据集中的每一个提供多维向量。在一些示例中,每个多维向量是相应数据集的多维表示。在一些示例中,第一数据集和第二数据集的多维向量的维数相等。在一些示例中,所有第一数据集和第二数据集的所有多维向量的维度是128维。
基于多维向量确定损失(518)。例如,将多维向量提供给损失函数以确定第一数据集和第二数据集的数据点之间的距离。在一些示例中,距离被确定为多维向量之间的余弦差。提供输出(520)。在一些示例中,输出指示第一数据集和第二数据集之间的匹配数据点。在一些示例中,匹配数据点(或数据列)被发送到计算设备114,和/或被发送到另一处理单元以用于进一步的数据分析。计算设备114可以在输出上显示或执行进一步的计算和分析。
图6描绘了示例计算系统600的示意图。系统600可以用于执行关于本公开的一个或多个实施方式描述的操作。例如,系统600可以包括在本文讨论的任何或所有服务器组件或其他计算设备中。系统600可以包括一个或多个处理器610、一个或多个存储器620、一个或多个储存设备630、以及一个或多个输入/输出(I/O)设备640。组件610、620、630、640可以是使用系统总线650互连。
处理器610可以被配置为执行系统600内的指令。处理器610可以包括单线程处理器或多线程处理器。处理器610可以被配置为执行或以其他方式处理存储在存储器620或储存设备630中的一个或两个中的指令。指令的执行可以使图形信息通过用户界面显示或以其他方式呈现在I/O设备640。
存储器620可以在系统600内存储信息。在一些实施方式中,存储器620是计算机可读介质。在一些实施方式中,存储器620可以包括一个或多个易失性存储器单元。在一些实施方案中,存储器620可包含一个或多个非易失性存储器单元。
储存设备630可以被配置为为系统600提供大容量储存。在一些实施方式中,储存设备630是计算机可读介质。储存设备630可以包括软盘设备、硬盘设备、光盘设备、磁带设备或其他类型的储存设备。I/O设备640可以为系统600提供I/O操作。在一些实施方式中,I/O设备640可以包括键盘、点击设备或用于数据输入的其他设备。在一些实施方式中,I/O设备640可以包括输出设备,诸如用于显示图形用户界面或其他类型的用户界面的显示单元。
所描述的特征可以在数字电子电路中实现,或者在计算机硬件、固件、软件或它们的组合中实现。该装置可以在有形地体现在信息载体中(例如,在机器可读储存设备中)的计算机程序产品中实现,以由可编程处理器执行;可以由执行指令程序的可编程处理器执行方法步骤,以通过对输入数据进行操作并生成输出来执行所描述的实施方式的功能。所描述的特征可以有利地在可编程系统上可执行的一个或多个计算机程序中实现,该可编程系统包括至少一个可编程处理器,其耦合以从数据储存系统、至少一个输入设备和至少一个输出设备接收数据和指令,并将数据和指令传输到数据储存系统、至少一个输入设备和至少一个输出设备。计算机程序是可以直接或间接地在计算机中使用以执行特定活动或带来某种结果的一组指令。计算机程序可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或适合在计算环境中使用的其他单元。
举例来说,用于执行指令的程序的合适处理器包括通用和专用微处理器,以及任何类型的计算机的唯一处理器或多个处理器之一。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件可包括用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。通常,计算机还可以包括或可操作地耦合以与一个或多个大容量储存设备通信以存储数据文件;这些设备包括磁盘,例如内部硬盘和可移动磁盘;磁光盘;和光盘。适合于有形地体现计算机程序指令和数据的储存设备包括所有形式的非易失性存储器,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,如内部硬盘和可移动磁盘;磁光盘;和CD-ROM和DVD-ROM磁盘。处理器和存储器可以由专用集成电路(ASIC)补充或并入专用集成电路(ASIC)中。
为了提供与用户的交互,这些特征可以在具有诸如阴极射线管(CRT)或液晶显示器(LCD)监视器之类的、用于向用户显示信息的显示设备以及诸如鼠标或轨迹球之类的、用户可通过其向计算机提供输入的键盘和点击设备的计算机上实现。
这些特征可以在计算机系统中实现,该计算机系统包括后端组件(例如数据服务器),或者包括中间件组件(例如应用服务器或因特网服务器)或包括前端组件(例如具有图形用户界面或因特网浏览器的客户端计算机),或它们的任意组合。系统的组件可以通过诸如通信网络的任何形式或介质的数字数据通信连接。通信网络的示例包括例如局域网(LAN)、广域网(WAN)以及形成因特网的计算机和网络。
计算机系统可包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过网络(例如所描述的网络)进行交互。客户端和服务器的关系由于在各自的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
另外,图中描绘的逻辑流程不需要所示的特定顺序或顺序次序来实现期望的结果。另外,可以提供其他步骤,或者可以从所描述的流程中消除步骤,并且可以将其他组件添加到所描述的系统或从所述系统中移除。因此,其他实施方式在以下权利要求的范围内。
已经描述了本公开的许多实施方式。然而,应该理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,其他实施方式在以下权利要求的范围内。
Claims (20)
1.一种由一个或多个处理器执行的计算机实现的方法,该方法包括:
由所述一个或多个处理器接收第一数据集和第二数据集,所述第一数据集和所述第二数据集均包括多个列中的结构化数据;
对于第一数据集和第二数据集的每个,由所述一个或多个处理器将每列输入到特定于相应列的列类型的编码器中,编码器提供分别用于第一数据集以及第二数据集的编码数据;
基于第一数据集的编码数据,由所述一个或多个处理器提供第一多维向量;
基于第二数据集的编码数据,由所述一个或多个处理器提供第二多维向量;和
由所述一个或多个计算机处理器将所述第一多维向量和所述第二多维向量输出到损失函数,所述损失函数处理所述第一多维向量和所述第二多维向量以提供输出,该输出表示第一数据集和第二数据集之间的匹配数据点。
2.如权利要求1所述的方法,其中,使用相同的编码器来提供第一数据集的编码数据和第二数据集的编码数据。
3.如权利要求1所述的方法,其中,在编码器提供编码数据之前,预处理第一数据集和第二数据集中的一个或多个的数据值以提供修正的数据值。
4.如权利要求3所述的方法,其中预处理包括将一个或多个零预附加到数值数据值。
5.如权利要求3所述的方法,其中预处理包括将一个或多个空格预附加到串数据值。
6.如权利要求1所述的方法,还包括在提供编码数据之前从第一数据集和第二数据集中的每个过滤至少一列。
7.如权利要求1所述的方法,还包括确定所述多个列中的每列的列类型。
8.一种非暂时性计算机可读存储介质,其耦合到一个或多个处理器并且具有存储在其上的指令,当由所述一个或多个处理器执行所述指令时,使得所述一个或多个处理器执行操作,所述操作包括:
接收第一数据集和第二数据集,第一数据集和第二数据集均包括多列中的结构化数据;
对于第一数据集和第二数据集的每个,将每列输入到特定于相应列的列类型的编码器中,编码器分别提供第一数据集和第二数据集的编码数据;
基于第一数据集的编码数据,提供第一多维向量;
基于第二数据集的编码数据,提供第二多维向量;和
将第一多维向量和第二多维向量输出到损失函数,该损失函数处理第一多维向量和第二多维向量以提供输出,该输出表示第一数据集和第二数据集之间的匹配数据点。
9.如权利要求8所述的计算机可读存储介质,其中,相同的编码器用于提供第一数据集的编码数据和第二数据集的编码数据。
10.如权利要求8所述的计算机可读存储介质,其中,在所述编码器提供编码数据之前,预处理所述第一数据集和所述第二数据集中的一个或多个的数据值以提供修正的数据值。
11.如权利要求10所述的计算机可读存储介质,其中预处理包括将一个或多个零预附加到数值数据值。
12.如权利要求10所述的计算机可读存储介质,其中预处理包括将一个或多个空格预附加到串数据值。
13.如权利要求8所述的计算机可读存储介质,其中操作还包括在提供编码数据之前从第一数据集和第二数据集的每个过滤至少一列。
14.如权利要求8所述的计算机可读存储介质,其中操作还包括确定所述多个列中的每列的列类型。
15.一种系统,包括:
计算设备;和
计算机可读存储设备,其耦合到计算设备并且具有存储在其上的指令,当由计算设备执行所述指令时,使计算设备执行操作,所述操作包括:
接收第一数据集和第二数据集,第一数据集和第二数据集均包括多列中的结构化数据;
对于第一数据集和第二数据集的每个,将每列输入到特定于相应列的列类型的编码器中,编码器分别提供第一数据集和第二数据集的编码数据;
基于第一数据集的编码数据,提供第一多维向量;
基于第二数据集的编码数据,提供第二多维向量;和
将第一多维向量和第二多维向量输出到损失函数,该损失函数处理第一多维向量和第二多维向量以提供输出,该输出表示第一数据集和第二数据集之间的匹配数据点。
16.如权利要求15所述的系统,其中相同的编码器用于提供第一数据集的编码数据和第二数据集的编码数据。
17.如权利要求15所述的系统,其中,在编码器提供编码数据之前,预处理第一数据集和第二数据集的一个或多个的数据值以提供修正的数据值。
18.如权利要求17所述的系统,其中预处理包括将一个或多个零预附加到数值数据值。
19.如权利要求17所述的系统,其中预处理包括将一个或多个空格预附加到串数据值。
20.如权利要求15所述的系统,其中操作还包括在提供编码数据之前从第一数据集和第二数据集的每个过滤至少一列。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/937,216 | 2018-03-27 | ||
US15/937,216 US11468024B2 (en) | 2018-03-27 | 2018-03-27 | Structural data matching using neural network encoders |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110309192A true CN110309192A (zh) | 2019-10-08 |
CN110309192B CN110309192B (zh) | 2024-02-13 |
Family
ID=63914755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811148169.6A Active CN110309192B (zh) | 2018-03-27 | 2018-09-29 | 使用神经网络编码器的结构数据匹配 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11468024B2 (zh) |
EP (1) | EP3547549A1 (zh) |
CN (1) | CN110309192B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111402327A (zh) * | 2020-03-17 | 2020-07-10 | 韶鼎人工智能科技有限公司 | 一种基于全卷积神经网络的室外照片太阳位置估计方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10885111B2 (en) * | 2018-04-16 | 2021-01-05 | International Business Machines Corporation | Generating cross-domain data using variational mapping between embedding spaces |
US20190318118A1 (en) * | 2018-04-16 | 2019-10-17 | International Business Machines Corporation | Secure encrypted document retrieval |
US10504005B1 (en) * | 2019-05-10 | 2019-12-10 | Capital One Services, Llc | Techniques to embed a data object into a multidimensional frame |
US11183201B2 (en) * | 2019-06-10 | 2021-11-23 | John Alexander Angland | System and method for transferring a voice from one body of recordings to other recordings |
US11657071B1 (en) * | 2020-03-13 | 2023-05-23 | Wells Fargo Bank N.A. | Mapping disparate datasets |
US20210365775A1 (en) * | 2020-05-22 | 2021-11-25 | Accenture Global Solutions Limited | Data identification using neural networks |
US20220092405A1 (en) * | 2020-09-18 | 2022-03-24 | Sap Se | Deep neural network for matching entities in semi-structured data |
US20230237261A1 (en) * | 2022-01-21 | 2023-07-27 | Disney Enterprises, Inc. | Extended Vocabulary Including Similarity-Weighted Vector Representations |
US11941002B1 (en) | 2022-03-31 | 2024-03-26 | Amazon Technologies, Inc. | Dynamically sort data |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100030796A1 (en) * | 2008-07-31 | 2010-02-04 | Microsoft Corporation | Efficient column based data encoding for large-scale data storage |
CN105210064A (zh) * | 2013-03-13 | 2015-12-30 | 谷歌公司 | 使用深度网络将资源分类 |
CN105719001A (zh) * | 2014-12-19 | 2016-06-29 | 谷歌公司 | 使用散列的神经网络中的大规模分类 |
US20170032035A1 (en) * | 2015-07-28 | 2017-02-02 | Microsoft Technology Licensing, Llc | Representation Learning Using Multi-Task Deep Neural Networks |
US20170262491A1 (en) * | 2016-03-14 | 2017-09-14 | Paxata, Inc. | Automatic content-based append detection |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MY138544A (en) * | 2003-06-26 | 2009-06-30 | Neuramatix Sdn Bhd | Neural networks with learning and expression capability |
US7769729B2 (en) | 2007-05-21 | 2010-08-03 | Sap Ag | Block compression of tables with repeated values |
WO2016145423A1 (en) * | 2015-03-11 | 2016-09-15 | Ayasdi, Inc. | Systems and methods for predicting outcomes using a prediction learning model |
US10467760B2 (en) * | 2017-02-23 | 2019-11-05 | Adobe Inc. | Segmenting three-dimensional shapes into labeled component shapes |
US10970629B1 (en) * | 2017-02-24 | 2021-04-06 | Amazon Technologies, Inc. | Encodings for reversible sparse dimensionality reduction |
US10482180B2 (en) * | 2017-11-17 | 2019-11-19 | International Business Machines Corporation | Generating ground truth for questions based on data found in structured resources |
-
2018
- 2018-03-27 US US15/937,216 patent/US11468024B2/en active Active
- 2018-09-26 EP EP18196739.9A patent/EP3547549A1/en not_active Ceased
- 2018-09-29 CN CN201811148169.6A patent/CN110309192B/zh active Active
-
2022
- 2022-10-07 US US18/045,030 patent/US20230059579A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100030796A1 (en) * | 2008-07-31 | 2010-02-04 | Microsoft Corporation | Efficient column based data encoding for large-scale data storage |
CN105210064A (zh) * | 2013-03-13 | 2015-12-30 | 谷歌公司 | 使用深度网络将资源分类 |
CN105719001A (zh) * | 2014-12-19 | 2016-06-29 | 谷歌公司 | 使用散列的神经网络中的大规模分类 |
US20170032035A1 (en) * | 2015-07-28 | 2017-02-02 | Microsoft Technology Licensing, Llc | Representation Learning Using Multi-Task Deep Neural Networks |
US20170262491A1 (en) * | 2016-03-14 | 2017-09-14 | Paxata, Inc. | Automatic content-based append detection |
Non-Patent Citations (2)
Title |
---|
AURÉLIEN BELLET, ET AL.: "A Survey on Metric Learning for Feature Vectors and Structured Data", 《ARXIV.ORG》 * |
AURÉLIEN BELLET, ET AL.: "A Survey on Metric Learning for Feature Vectors and Structured Data", 《ARXIV.ORG》, 12 February 2014 (2014-02-12), pages 1, XP055182418 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111402327A (zh) * | 2020-03-17 | 2020-07-10 | 韶鼎人工智能科技有限公司 | 一种基于全卷积神经网络的室外照片太阳位置估计方法 |
CN111402327B (zh) * | 2020-03-17 | 2024-03-22 | 韶鼎人工智能科技有限公司 | 一种基于全卷积神经网络的室外照片太阳位置估计方法 |
Also Published As
Publication number | Publication date |
---|---|
US20190303465A1 (en) | 2019-10-03 |
CN110309192B (zh) | 2024-02-13 |
US11468024B2 (en) | 2022-10-11 |
US20230059579A1 (en) | 2023-02-23 |
EP3547549A1 (en) | 2019-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309192A (zh) | 使用神经网络编码器的结构数据匹配 | |
Stevens et al. | Exploring topic coherence over many models and many topics | |
CA3059414A1 (en) | Hybrid approach to approximate string matching using machine learning | |
CN107784110B (zh) | 一种索引建立方法及装置 | |
Pan et al. | Product quantization with dual codebooks for approximate nearest neighbor search | |
US20170228643A1 (en) | Augmenting Neural Networks With Hierarchical External Memory | |
JP7149976B2 (ja) | 誤り訂正方法及び装置、コンピュータ読み取り可能な媒体 | |
CN108875065B (zh) | 一种基于内容的印尼新闻网页推荐方法 | |
Gschwind et al. | Fast record linkage for company entities | |
CN112084435A (zh) | 搜索排序模型训练方法及装置、搜索排序方法及装置 | |
CN103020321B (zh) | 近邻搜索方法与系统 | |
US20150006531A1 (en) | System and Method for Creating Labels for Clusters | |
US20150379073A1 (en) | Virtual split dictionary for search optimization | |
CN115410199A (zh) | 图像内容检索方法、装置、设备及存储介质 | |
CN112632406B (zh) | 查询方法、装置、电子设备及存储介质 | |
CN108304469B (zh) | 用于字符串模糊匹配的方法和装置 | |
CN113139558A (zh) | 确定物品的多级分类标签的方法和装置 | |
US11928107B2 (en) | Similarity-based value-to-column classification | |
CN115952800A (zh) | 命名实体识别方法、装置、计算机设备及可读存储介质 | |
CN115168537A (zh) | 语义检索模型的训练方法、装置、电子设备及存储介质 | |
Elkomy et al. | TCE at Qur'an QA 2023 Shared Task: Low Resource Enhanced Transformer-based Ensemble Approach for Qur'anic QA | |
CN114595389A (zh) | 通讯录查询方法、装置、设备、存储介质和程序产品 | |
CN113537349A (zh) | 大型主机硬件故障识别方法、装置、设备及存储介质 | |
CN111046934A (zh) | 一种swift报文软条款识别方法及装置 | |
CN110895573A (zh) | 一种检索方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |