数据表与实体的匹配方法及相关设备与流程

文档序号:22429200发布日期:2020-10-02 10:08阅读:167来源:国知局
数据表与实体的匹配方法及相关设备与流程

本发明实施例涉及数据处理技术,尤指一种数据表与实体的匹配方法及相关设备。



背景技术:

目前,数据库在数据存储中扮演了至关重要的角色,但由于各个数据库之间的自治性,使不同数据表在描述同一实体(如人、地址、组织等)时使用了不同的数据库模式。比如,在关系型数据库存储人的信息时,人员证件信息对应的属性名称可能是“证件号码”,或者是“身份证号”,这种不同数据库模式之间异构性,使将数据表对应特定实体的自动化变得困难。

例如,在公安领域,政府部门有多个部门的数据库系统,每个部门的系统创建时间、创建人员不同,导致数据库系统中的表在描述一类信息时用到了不同的描述词语或这类信息的不同方面,此时不同部门之间的数据表之间存在一定的差异性,有时候为了破案需要综合多个部门之间的数据信息,但由于前面提到的数据差异,目前只能靠人工去判断不同部门的两个数据表是否是描述同一实体信息的,导致非常耗时耗力。



技术实现要素:

有鉴于此,本发明实施例提供了一种数据表与实体的匹配方法,包括:

获取待匹配的数据表与实体各自的词向量矩阵;

根据所述数据表与实体各自的词向量矩阵计算所述数据表与实体的相似度;

根据所述相似度确定所述数据表与实体的匹配结果。

本发明实施例还提供了一种数据表与实体的匹配装置,包括:

获取单元,设置为获取待匹配的数据表与实体各自的词向量矩阵;

计算单元,设置为根据所述数据表与实体各自的词向量矩阵计算所述数据表与实体的相似度;

匹配单元,设置为根据所述相似度确定所述数据表与实体的匹配结果。

本发明实施例还提供了一种电子装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述数据表与实体的匹配方法。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有信息处理程序,所述信息处理程序被处理器执行时实现上述数据表与实体的匹配方法。

本发明实施例提供的技术方案,能够自动获取数据表与实体的匹配结果,大大提升了匹配效率。

本申请的其它特征和优点将在随后的说明书中阐述。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。

附图说明

附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。

图1为本发明一实施例提供的一种数据表与实体的匹配方法的流程示意图;

图2为本发明另一实施例提供的一种数据表与实体的匹配方法的流程示意图;

图3为本发明另一实施例提供的一种数据表与实体的匹配方法的流程示意图;

图4为本发明一实施例中数据表与实体的属性示意图;

图5为本发明另一实施例提供的一种数据表与实体的匹配方法的流程示意图;

图6为本发明一实施例提供的一种数据表与实体的匹配装置的结构示意图。

具体实施方式

本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。

本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。

此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。

图1为本发明一实施例提供的一种数据表与实体的匹配方法的流程示意图,如图1所示,该方法包括:

步骤101,获取待匹配的数据表与实体各自的词向量矩阵;

步骤102,根据所述数据表与实体各自的词向量矩阵计算所述数据表与实体的相似度;

步骤103,根据所述相似度确定所述数据表与实体的匹配结果。

在一示例中,所述获取待匹配的数据表与实体各自的词向量矩阵,包括:

对该待匹配数据表与实体各自的属性进行预处理得到该待匹配数据表与实体各自的词语序列;

根据该待匹配数据表与实体各自的词语序列利用词嵌入模型获取该待匹配数据表与实体各自的词向量矩阵;

将该待匹配数据表和实体各自的词向量矩阵分别进行聚合获得该待匹配数据表与实体各自的词向量矩阵。

在一示例中,所述词嵌入模型包括以下至少之一:word2vec模型、glove模型、fasttext模型、其他词嵌入模型;

所述聚合使用取平均或者加权平均聚合函数。

在一示例中,所述根据所述数据表与实体各自的词向量矩阵计算所述数据表与实体的相似度,包括:

根据所述数据表与实体各自的词向量矩阵,采用预设的相似度算法,计算所述数据表与实体的相似度。

在一示例中,所述根据所述相似度确定所述数据表与所述实体的匹配结果,包括:

将所述相似度与预设阈值进行比较;

当所述相似度大于预设阈值时,匹配结果表示该数据表与实体匹配;

当所述相似度不大于预设阈值时,匹配结果表示该数据表与实体不匹配。

在一示例中,所述根据所述数据表与实体各自的词向量矩阵计算所述数据表与实体的相似度,包括:

基于训练好的神经网络相似度计算模型,将所述数据表与实体各自的词向量矩阵作为输入,输出所述数据表与实体的相似度向量;

所述神经网络相似度计算模型是预先采用相似度算法利用第一训练样本对第一神经网络进行训练得到的,以数据表与实体各自的词向量矩阵作为输入,以该数据表与实体的相似度向量作为输出;所述第一训练样本为多个已标注相似度向量的数据表和实体各自的词向量矩阵。

在一示例中,所述根据所述相似度确定所述数据表与所述实体的匹配结果,包括:

基于训练好的神经网络分类模型,将所述相似度向量作为输入,输出所述数据表和实体的匹配结果;

所述神经网络分类模型是预先利用第二训练样本对第二神经网络进行训练得到的,以数据表与实体的相似度向量作为输入,以该数据表与实体的匹配结果作为输出;所述第二训练样本为多个已标注匹配结果的数据表和实体的相似度向量。

本发明实施例提供的技术方案,能够自动获取数据表与实体的匹配结果,大大提升了匹配效率。

图2为本发明另一实施例提供的一种数据表与实体的匹配方法的流程示意图,如图2所示,该方法包括:

步骤201,对该待匹配数据表与实体各自的属性进行预处理得到该待匹配数据表与实体各自的词语序列;

其中数据表是指承载数据的各种表,例如关系型数据库中的关系表等。数据表的属性是指表格数据的列名,例如录入人员信息时,excel表头上会有一些列,如姓名、年龄的描述,这些就是表属性。

其中,实体在自然语言处理领域,可以简单理解为名词,例如人名、机构名、地名以及其他所有以名称为标识的实体,更广泛的实体还包括数字、日期、货币、地址等等。实体的属性是指描述上述实体的一些信息,如实体为人时,描述人这个实体需要提供人的姓名、身份证号等;如实体为机构时,描述机构这个实体需要提供机构的名称、负责人等。

在一示例中,上述预处理是指将数据表与实体各自的所有属性进行分词,去停用词等处理,获得以词语为粒度的词语序列。例如,训练样本中包括m个数据表,seqs1表示数据表s1的词语序列,seqs2表示数据表s2的词语序列,以此类推得到各个数据表的词语序列seqsi,i=1.....m。又例如,训练样本中包括n个实体,seqt1表示实体t1的词语序列,seqt2表示实体t2的词语序列,以此类推,得到各个实体的词语序列seqtj,j=1.....n。

步骤202,根据该待匹配数据表与实体各自的词语序列利用词嵌入模型获取该待匹配数据表与实体各自的词向量矩阵;

在一示例中,该词嵌入模型可以是现有的任一种词嵌入模型,例如:word2vec模型、glove模型、fasttext模型、或者其他词嵌入模型。上述根据该数据表与实体各自的词语序列利用词嵌入模型获取该数据表与实体各自的词向量矩阵是指利用词嵌入模型获得的词向量矩阵表示所有的序列。例如,基于word2vec模型,对于序列seqs1,假设该序列有p个词;对于序列seqt1,该序列有q个词;假设词嵌入后输出的维度为d,则根据seqs1可得到矩阵根据seqt1可得到矩阵

其中,词向量矩阵的计算过程一般输入为分隔成词语的文档,经过深度学习模型训练得到每个词语的向量表示,不同训练模型使用的数学公式不尽相同,但有类似的计算工程,如下:定义目标函数;表示文本为矩阵,输入目标函数;根据函数的输出拟合标记数据;函数最优拟合的参数即表明函数训练好;输入新的输入,可得到文本的向量化表示。由于采用现有的词嵌入模型即已有训练好的词嵌入表示,直接查询对应词语,就可以获取其词向量,不需要进行额外计算与模型训练。

步骤203,将该待匹配数据表和实体各自的词向量矩阵分别进行聚合获得该待匹配数据表与实体各自的词向量矩阵;

其中,该聚合操作可以采用现有的任一种聚合方式。例如在一示例中,上述聚合可以使用简单的聚合函数,例如取平均、加权平均等函数。将由各个属性序列得到的矩阵进行聚合的目的是将各个序列词语得到的矩阵聚合成一个统一维度的向量,从而实现对数据表或实体属性进行集合。例如,使用取平均聚合函数h,以为例,将由p个词语的d维向量在每一维取平均,得到的rd维的向量该向量即为数据表s1的词向量矩阵。例如,假设p=3,d=5,则有三个五维向量,假设分别是u_1=(1,2,3,4,3),u_2=(3,3,4,2,4),u_3=(1,3,2,5,2),取平均就是将三个向量对应位置的数值相加,再除以向量个数,取平均的计算过程就是:

同理,对于序列采用上述聚合函数可以得到rd维的向量该向量即为实体t1的词向量矩阵。

步骤204,根据所述数据表与实体各自的词向量矩阵,采用预设的相似度算法,计算所述数据表与实体的相似度;

在一示例中,该预设的相似度算法可以是现有的任一种相似度算法,例如余弦相似度算法、欧式距离相似度算法等。

在另一示例中,还可以将相似度算法看成一个函数是上一步取平均后数据表和实体各自的词向量矩阵,作为函数f的输入,其输出得到一个相似度向量可以表示向量的相似程度,即该数据表与实体的相似度。

步骤205,将所述相似度与预设阈值进行比较;当所述相似度大于预设阈值时,匹配结果表示该数据表与实体匹配;当所述相似度不大于预设阈值时,匹配结果表示该数据表与实体不匹配。

在一示例中,预先设定一个阈值作为预设阈值。例如预设的阈值为50%。当该数据表与实体的相似度大于50%,表示该数据表与实体匹配,当该数据表与实体的相似度不大于50%,表示该数据表与实体不匹配。

在另一示例中,还可以该步骤中的匹配过程看作一个函数,使用距离来

解释匹配问题。例如,假设一个函数为预设的阈值为50%。该函数的其输入为上一步的输出即数据表与实体的相似度,该函数的输出z是一个[0,1]之间的值,当z超过0.5时,表示输入的关系表与实体匹配,否则表示输入的关系表与实体不匹配。该函数g也可以理解为判断匹配与否的训练好的模型。

本发明实施例提供的技术方案,能够自动获取数据表与实体的匹配结果,大大提升了匹配效率。

图3为本发明另一实施例提供的一种数据表与实体的匹配方法的流程示意图,如图3所示,该方法包括:

步骤301,采用相似度算法利用第一训练样本对第一神经网络进行训练得到神经网络相似度计算模型;

其中,该神经网络相似度计算模型以数据表与实体各自的词向量矩阵作为输入,以该数据表与实体的相似度向量作为输出。

其中,该第一训练样本为多个已标注相似度向量的数据表和实体各自的词向量矩阵。

在一示例中,可以通过如下方式获取第一训练样本中已标注相似度向量的数据表和实体各自的词向量矩阵,包括:

对每一对已标注相似度向量的数据表和实体执行如下操作:

对该数据表与实体各自的属性进行预处理得到该数据表与实体各自的词语序列;

根据该数据表与实体各自的词语序列利用词嵌入模型获取该数据表与实体各自的词向量矩阵;

将该数据表的词向量矩阵进行聚合获得该数据表的词向量矩阵;

将该实体的词向量矩阵进行聚合获得该实体的词向量矩阵。

其中,数据表是指承载数据的各种表,例如关系型数据库中的关系表等。数据表的属性是指表格数据的列名,例如录入人员信息时,excel表头上会有一些列,如姓名、年龄的描述,这些就是表属性。

其中,实体在自然语言处理领域,可以简单理解为名词,例如人名、机构名、地名以及其他所有以名称为标识的实体,更广泛的实体还包括数字、日期、货币、地址等等。实体的属性是指描述上述实体的一些信息,如实体为人时,描述人这个实体需要提供人的姓名、身份证号等;如实体为机构时,描述机构这个实体需要提供机构的名称、负责人等。

在一示例中,上述预处理是指将数据表与实体各自的所有属性进行分词,去停用词等处理,获得以词语为粒度的词语序列。例如,训练样本中包括m个数据表,seqs1表示数据表s1的词语序列,seqs2表示数据表s2的词语序列,以此类推得到各个数据表的词语序列seqsi,i=1.....m。又例如,训练样本中包括n个实体,seqt1表示实体t1的词语序列,seqt2表示实体t2的词语序列,以此类推,得到各个实体的词语序列seqtj,j=1.....n。

在一示例中,该词嵌入模型包括以下至少之一:word2vec模型、glove模型、fasttext模型、其他词嵌入模型。上述根据该数据表与实体各自的词语序列利用词嵌入模型获取该数据表与实体各自的词向量矩阵是指利用词嵌入模型获得的词向量矩阵表示所有的序列。例如,基于word2vec模型,对于序列seqs1,假设该序列有p个词;对于序列seqt1,该序列有q个词;假设词嵌入后输出的维度为d,则根据seqs1可得到矩阵根据seqt1可得到矩阵

其中,词向量矩阵的计算过程一般输入为分隔成词语的文档,经过深度学习模型训练得到每个词语的向量表示,不同训练模型使用的数学公式不尽相同,但有类似的计算工程,如下:定义目标函数;表示文本为矩阵,输入目标函数;根据函数的输出拟合标记数据;函数最优拟合的参数即表明函数训练好;输入新的输入,可得到文本的向量化表示。由于采用现有的词潜入模型即已有训练好的词嵌入表示,直接查询对应词语,就可以获取其词向量,不需要进行额外计算与模型训练。

在一示例中,上述聚合可以使用简单的聚合函数,例如取平均、加权平均等函数。将由各个属性序列得到的矩阵进行聚合的目的是将各个序列词语得到的矩阵聚合成一个统一维度的向量,从而实现对数据表或实体属性进行集合。例如,使用取平均聚合函数h,,以为例,将由p个词语的d维向量在每一维取平均,得到的rd维的向量假设p=3,d=5,则有三个五维向量,假设分别是u_1=(1,2,3,4,3),u_2=(3,3,4,2,4),u_3=(1,3,2,5,2),取平均就是将三个向量对应位置的数值相加,再除以向量个数,取平均的计算过程就是:

同理,对于序列采用上述聚合函数可以得到rd维的向量

在一示例中,该神经网络相似度计算模型的训练过程,可以看成是对一个函数的参数的训练。例如该函数是上一步取平均后数据表和实体各自的词向量矩阵,作为函数f的输入,其输出得到一个相似度向量可以表示向量的相似程度,即该数据表与实体的相似度。然后将该相似度向量与真实的相似度向量进行比较判断其是否一致,当一致时表示该函数的参数可以准确判断数据表与实体的相似度,表示该神经网络相似度计算模型已经训练好了;当不一致时,表示该函数的参数还无法准确判断数据表与实体的相似度,调整该函数的参数,将新的带标签(该标签即为新的数据表和实体真实的相似度向量)的数据(即该新的数据表和实体各自的词向量矩阵)输入函数继续训练;以此类推,通过不断地训练调整该函数的参数,就可以不断提升输出结果的准确性。

需要说明地是,除了词向量矩阵之外,也可以采用那个其他计算相似度度的方法。但是其他方法在处理自然语言处理时无法处理一词多义,多词同义的问题,将词语使用词嵌入模型表示成连续的向量形式,可以更好地表示词语之间的相似度。

其中,神经网络相似度计算模型的训练方法可以使用基于梯度的优化方法,该训练可以在已标注输出的的训练样本上进行,而训练好的模型则可以用于未标注数据的预测。该基于梯度的优化方法包括:梯度下降法、随机梯度下降法、adam优化法等。

步骤302,利用第二训练样本对第二神经网络进行训练得到神经网络分类模型;

其中,该神经网络分类模型以数据表与实体的相似度向量作为输入,以该数据表与实体的匹配结果作为输出。

其中,该第二训练样本为多个已标注匹配结果的数据表和实体的相似度向量。

在一示例中,可以使用神经网络进行相似度计算。例如该神经网络分类模型的训练过程,可以看成是对一个函数的参数的训练。该函数为是上一步得到的相似度向量,作为函数g的输入,其

输出得到一个数值z,z是一个[0,1]之间的值,假设预设的阈值为50%,当z超过0.5时,则将其取1,表示匹配,否则取0,表示不匹配。然后将该匹配结果与真实的匹配结果进行比较判断其是否一致,当一致时表示该函数的参数可以准确判断数据表与实体的匹配结果,表示该神经网络分类模型已经训练好了;当不一致时,表示该函数的参数还无法准确判断数据表与实体的匹配结果,调整该函数的参数,将新的带标签(该标签即为新的数据表和实体真实的匹配结果)的数据(即该新的数据表和实体各自的相似度向量)输入函数继续训练;以此类推,通过不断地训练调整该函数的参数,就可以不断提升输出结果的准确性。

在另一示例中,还可以预先建立一个神经网络分类器。该神经网络分类器的输入是数值向量,输出是一个值或者向量。例如,该神经网络分类器可以看作一个函数,使用距离来解释分类问题。例如,假设该神经网络分类器

表示为一个函数为预设的阈值为50%。该函数的其输入为上一步的输出即数据表与实体的相似度向量,该函数的输出z是一个[0,1]之间的值,当z超过50%时,则将其取1,表示匹配,否则取0,表示不匹配。然后同样将该匹配结果与真实的匹配结果进行比较判断其是否一致,当一致时表示该函数的参数可以准确判断数据表与实体的匹配结果,表示该神经网络分类器已经训练好了;当不一致时,表示该函数的参数还无法准确判断数据表与实体的匹配结果,调整该函数的参数,将新的带标签(该标签即为新的数据表和实体真实的匹配结果)的数据(即该新的数据表和实体各自的相似度向量)输入函数继续训练;以此类推,通过不断地训练调整该函数的参数,就可以不断提升输出结果的准确性。

其中,神经网络分类模型的训练方法可以使用基于梯度的优化方法,该训练可以在已标注输出的的训练样本上进行,而训练好的模型则可以用于未标注数据的预测。该基于梯度的优化方法包括:梯度下降法、随机梯度下降法、adam优化法等。

步骤303,获取待匹配的数据表和实体各自的词向量矩阵,将该词向量矩阵输入训练好的神经网络相似度计算模型输出该待匹配的数据表和实体的相似度向量;

其中,所述获取待匹配的数据表和实体各自的词向量矩阵,包括:

对该待匹配数据表与实体各自的属性进行预处理得到该待匹配数据表与实体各自的词语序列;

根据该待匹配数据表与实体各自的词语序列利用词嵌入模型获取该待匹配数据表与实体各自的词向量矩阵;

将该待匹配数据表和实体各自的词向量矩阵分别进行聚合获得该待匹配数据表和实体各自的词向量矩阵。

步骤304,将该该待匹配的数据表和实体的相似度向量输入训练好的神经网络分类模型输出该待匹配的数据表和实体的匹配结果。

在一示例中,该输出可以使用标识来表示是否匹配,例如当该相似度超过阈值时,则将输出结果取为1,表示该数据表与实体匹配,否则取为0,表示该数据表与实体不匹配。

在另一示例中,该输出还是为一个数值,表示匹配程度。例如,0.5表示匹配程度为50%,0.7表示匹配程度为70%。

在一示例中,例如图4所示,有三张数据表从上到下以此为s1、s2、s3,两个实体t1(人)、t2(机构)。其中,表s1有属性(a1、a2、a3),表s2有属性(b1、b2、b3、b4),表s3有属性(c1、c2、c3、c4、c5)。实体t1(人)有属性(d1、d2、d3),实体t2(机构)有属性(e1、e2、e3、e4、e5)。其中,数据表si与实体tj的匹配过程如图5所示,包括:

首先,通过序列seq1、2分别获取数据表si与实体tj的词语序列,然后利用词嵌入模型得到各自的词嵌入矩阵,再进行矩阵聚合;再然后将聚合后的词向量矩阵输入神经网络相似度计算模型得到相似度向量,将该相似度向量输入神经网络分类模型,最终得到匹配结果(图中匹配结果为匹配,仅为示例)。

本发明实施例提供的技术方案,能够自动获取数据表与实体的匹配结果,大大提升了匹配效率。另外,使用预先训练好的神经网络相似度计算模型和神经网络分类模型,能够大大降低匹配过程中的计算量,降低计算消耗。

在上一实施例的基础上,在本发明的另一实施例中,还可以将神经网络相似度计算模型和神经网络分类模型整合为一个模型。例如,将不用模型的神经网络视作嵌套的函数,将神经网络相似度计算模型的输出作为神经网络分类模型的输入,则两个函数的嵌套关系是按照这个思路,整个神经网络可以看作一个函数,函数有一系列可以学习的参数,假设有一些带标签的数据,指已经标记好数据表与实体的匹配结果,则可以根据这些带标签数据输入到该函数,得到一个输出z,由于已经预先知道数据表与实体的匹配结果即真实的结果z’,然后比较z与z’的结果,就可以判断此时函数设置的参数是否合适,如果z与z’不一致,调整函数的参数;如果z与z’一致,此时函数的参数就可以准确判断带标签数据的匹配结果,则此时函数的参数就是要学习的模型,然后利用这个模型就可以将新的不带标签的数据输入函数,得到模型对不带标签数据的匹配结果。

在一示例中,例如图4所示,有三张数据表从上到下以此为s1、s2、s3,两个实体t1(人)、t2(机构)。其中,表s1有属性(a1、a2、a3),表s2有属性(b1、b2、b3、b4),表s3有属性(c1、c2、c3、c4、c5)。实体t1(人)有属性(d1、d2、d3),实体t2(机构)有属性(e1、e2、e3、e4、e5)。其中,数据表si与实体tj的匹配过程包括:首先获取数据表si词向量矩阵以及实体的词向量矩阵i=1、2、3;j=1、2。将词向量矩阵输入函数该函数的输出z为一个[0,1]之间的值,假设当z超过0.5时,表示数据表si与实体tj的匹配结果为匹配,否则表示数据表si与实体tj的匹配结果为不匹配。本示例的目的是确定一个表到底是描述人的还是描述机构的。该函数的输出还是可以是一种标识,例如当z超过0.5时,输出为1表示数据表si与实体tj的匹配结果为匹配,否则输出为0表示数据表si与实体tj的匹配结果为不匹配。本示例的目的是确定一个表到底是描述人的还是描述机构的。

在另一示例中,如果有三类实体,如人、机构、书籍,要判断一个数据表描述的信息是有关人的,还是机构或者书籍的,需要应用该嵌套函数三次,算出三个值,分别表示该数据表与人、机构、书籍三类实体的匹配程度,例如分别是0.2、0.5、0.7,则可以取最大值的那个实体与数据表匹配起来。如此,就可以确定与每一张表匹配的是哪一个实体(人或者机构),实现了数据表到实体的自动匹配。

图6为本发明一实施例提供的一种数据表与实体的匹配装置的结构示意图,如图6所示,该装置包括:

获取单元,设置为获取待匹配的数据表与实体各自的词向量矩阵;

计算单元,设置为根据所述数据表与实体各自的词向量矩阵计算所述数据表与实体的相似度;

匹配单元,设置为根据所述相似度确定所述数据表与实体的匹配结果。

在一示例中,所述获取待匹配的数据表与实体各自的词向量矩阵,包括:

对该待匹配数据表与实体各自的属性进行预处理得到该待匹配数据表与实体各自的词语序列;

根据该待匹配数据表与实体各自的词语序列利用词嵌入模型获取该待匹配数据表与实体各自的词向量矩阵;

将该待匹配数据表和实体各自的词向量矩阵分别进行聚合获得该待匹配数据表与实体各自的词向量矩阵。

在一示例中,所述词嵌入模型包括以下至少之一:word2vec模型、glove模型、fasttext模型、其他词嵌入模型;

所述聚合使用取平均或者加权平均聚合函数。

在一示例中,所述根据所述数据表与实体各自的词向量矩阵计算所述数据表与实体的相似度,包括:

根据所述数据表与实体各自的词向量矩阵,采用预设的相似度算法,计算所述数据表与实体的相似度。

在一示例中,所述根据所述相似度确定所述数据表与所述实体的匹配结果,包括:

将所述相似度与预设阈值进行比较;

当所述相似度大于预设阈值时,匹配结果表示该数据表与实体匹配;

当所述相似度不大于预设阈值时,匹配结果表示该数据表与实体不匹配。

在一示例中,所述根据所述数据表与实体各自的词向量矩阵计算所述数据表与实体的相似度,包括:

基于训练好的神经网络相似度计算模型,将所述数据表与实体各自的词向量矩阵作为输入,输出所述数据表与实体的相似度向量;

所述神经网络相似度计算模型是预先采用相似度算法利用第一训练样本对第一神经网络进行训练得到的,以数据表与实体各自的词向量矩阵作为输入,以该数据表与实体的相似度向量作为输出;所述第一训练样本为多个已标注相似度向量的数据表和实体各自的词向量矩阵。

在一示例中,所述根据所述相似度确定所述数据表与所述实体的匹配结果,包括:

基于训练好的神经网络分类模型,将所述相似度向量作为输入,输出所述数据表和实体的匹配结果;

所述神经网络分类模型是预先利用第二训练样本对第二神经网络进行训练得到的,以数据表与实体的相似度向量作为输入,以该数据表与实体的匹配结果作为输出;所述第二训练样本为多个已标注匹配结果的数据表和实体的相似度向量。

本发明实施例提供的技术方案,能够自动获取数据表与实体的匹配结果,大大提升了匹配效率。

本发明另一实施例还提供了一种电子装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一项所述数据表与实体的匹配方法。

本发明另一实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有信息处理程序,所述信息处理程序被处理器执行时实现上述任一项中所述数据表与实体的匹配方法。

本发明实施例提供的技术方案,不限制具体的应用领域,只要涉及数据表与实体的匹配问题,都可以使用,举例来说,如在公安领域,政府部门有多个部门的数据库系统,每个部门的系统创建时间、创建人员不同,导致数据库系统中的表在描述一类信息时用到了不同的描述词语或这类信息的不同方面,此时不同部门之间的数据表之间存在一定的差异性,有时候为了破案需要综合多个部门之间的数据信息,但由于前面提到的数据差异,靠人工去判断不同部门的两个数据表是否是描述同一类信息的,耗时耗力。采用本发明实施例提供的技术方案,就可以自动匹配数据表与实体,可以把不同部门描述同一类实体的信息统一起来,便于部门之间信息共享与协作。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1