一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

神经网络模型的训练方法、实体匹配方法及相关装置

2022-06-05 19:34:16 来源:中国专利 TAG:


1.本技术涉及数据库检索领域,并且更具体地,涉及一种神经网络模型的训练方法、实体匹配方法及相关装置。


背景技术:

2.实体匹配,是指从同一数据源或不同数据源中找出所有代表同一实体的记录或标识的过程,其目的是识别出数据集中描述同一真实世界实体的元组。例如,根据实体匹配的结果可以对数据进行去重或对实体进行画像等。
3.现实世界中的数据是错综复杂的,它们不可避免的存在数据缺失问题。基于现有的实体匹配方法对存在缺失值的数据源进行实体匹配时,存在实体匹配准确度低和实体匹配效率低的问题,无法满足不同场景下的实体匹配需求。


技术实现要素:

4.本技术提供一种神经网络模型的训练方法、实体匹配方法及相关装置,在保证实体匹配结果的精度的前提下,能够有效降低实体匹配的开销和提高实体匹配的效率。
5.第一方面,提供了一种神经网络模型的训练方法,其特征在于,该方法包括:
6.构建训练数据集,该训练数据集是对不存在缺失值的原始数据集进行掩码得到的,该原始数据集中的每个元组对包括的两个元组属于同一实体,且该每个元组对包括m个类型的属性的属性值,该训练数据集中的每个元组对包括的至多一个元组的第一属性的属性值是被掩码的,该第一属性是该m个类型的属性中的一个或多个,m为正整数;
7.根据该训练数据集进行神经网络模型的训练,得到训练好的神经网络模型,其中,在训练该神经网络模型的过程中,通过该神经网络模型的第一模型所包括的多个底层神经网络模型来分别学习出每个属性的属性值的特征表示,通过该神经网络模型的第二模型来至少基于该第一模型输出的属性的属性值特征表示学习出预测标签,并至少基于该预测标签与该训练数据集的真实标签之间的差异来更新该神经网络模型的参数。
8.在上述技术方案中,神经网络模型包括第一模型和第二模型。通过第一模型对存在缺失值的训练数据集进行处理,得到该训练数据集包括的每一个元组对的属性的属性值的特征表示,其中每一个元组对中的存在缺失属性值的元组可以基于每一个元组对中的不存在缺失属性值的元组进行特征表示。通过第二模型对上述特征表示进行处理得到预测标签,并基于该预测标签和真实标签对神经网络模型参数进行更新,得到训练好的神经网络模型。
9.基于上述训练好的神经网络模型中的第一模型对存在缺失值的待匹配的数据集进行实体匹配时,由于该训练好的第一模型的输出是对待匹配的数据集包括的元组的属性值的特征表示,故使用该特征进对待匹配的数据集包括的元组进行实体匹配判断时,可以避免现有实体匹配方法中对存在缺失值的待匹配的数据集中的缺失值进行填补的操作,在保证实体匹配结果的精度的前提下,能够有效降低系统开销和提高实体匹配的效率。
10.结合第一方面,在第一方面的某些实现方式中,该训练数据集包括n个元组对,n为正整数,该n个元组对中的第i个元组对中的第一元组在至少k个类型的属性上存在缺失,该第i个元组对中的第二元组在至少p个类型的属性上存在缺失,该至少k个类型的属性与该至少p个类型的属性不相同,k和p为小于等于m的正整数,且1≤k p≤m,i=1,2,3,

,n,该第二模型包括m个多分类器,该m个多分类器与该m个类型的属性一一对应,该根据该训练数据集进行模型训练,得到训练好的神经网络模型,包括:
11.将该第i个元组对包括的该m个类型的属性的属性值输入至该第一模型,得到重构总结向量序列,该重构总结向量序列包括k个第一重构总结向量和p个第二重构总结向量,该k个第一重构总结向量是根据该第二元组在该至少k个类型的属性上的属性值确定的,该p个第二重构总结向量是根据该第一元组在该至少p个类型的属性上的属性值确定的;
12.将该重构总结向量序列输入至该m个多分类器,得到第一预测标签集合,该第一预测标签集合中的第j个第一预测标签表示该第i个元组对中的在第j个属性上存在缺失的该第一元组或该第二元组在该第j个属性上的预测属性值,该第j个属性是该至少k个类型的属性或该至少p个类型的属性中的一个属性,j为小于等于k p的正整数;
13.根据该第一预测标签集合和第一真实标签集合,确定第一损失值,该第一真实标签集合中的第j个第一真实标签表示该第i个元组对中的在该第j个属性上存在缺失的该第一元组或该第二元组在该第j个属性上的真实属性值,该第一损失值包括根据该第j个第一预测标签和该第j个第一预测标签确定的损失值;
14.根据该第一损失值对该神经网络模型的参数进行更新,得到训练好的第一模型和训练好的m个多分类器。
15.基于上述训练好的m个多分类器和得到的重构总结向量序列,可以对一个元组对中的一个元组存在的缺失的属性值进行填补,以满足不同场景的用户需求。
16.结合第一方面,在第一方面的某些实现方式中,
17.该k个第一重构总结向量是根据k个第一比较向量和k个第一总结向量对确定得到的,该k个第一比较向量是基于注意力机制对k个第二比较向量处理得到的,该k个第二比较向量是根据该第二元组包括的该至少k个类型的属性的属性值确定的比较向量,该k个第一总结向量对包括k个第一总结向量和k个第二总结向量,该k个第一总结向量是根据该第一元组包括的该至少k个类型的属性的属性值确定的总结向量该k个第二总结向量是根据该第二元组包括的该至少k个类型的属性的属性值确定的总结向量;
18.该p个第二重构总结向量是根据p个第三比较向量和p个第二总结向量对确定得到的,该p个第三比较向量是基于注意力机制对p个第四比较向量处理得到的,该p个第四比较向量是根据该第一元组包括的该至少p个类型的属性的属性值确定的比较向量,该p个第二总结向量对包括p个第三总结向量和p个第四总结向量,该p个第三总结向量是根据该第一元组包括的该至少p个类型的属性的属性值确定的总结向量,该p个第四总结向量是根据该第二元组包括的该至少p个类型的属性的属性值确定的总结向量。
19.结合第一方面,在第一方面的某些实现方式中,该k个第一比较向量、该k个第一总结向量和该k个第二总结向量是维度为x的向量,x为正整数,
20.当s
1,q
[x]>s
2,q
[x]时,q为小于等于k的正整数,x为小于等于x的正整数,该k个第一重构总结向量中的第q个第一重构总结向量第x维的值通过如下公式表示:
[0021][0022]
当s
1,q
[x]≤s
2,q
[x],该第q个第一重构总结向量第x维的值通过如下公式表示:
[0023][0024]
其中,表示该第q个第一重构总结向量第x维的值,表示该k个第一比较向量中的第q个第一比较向量第x维的值,s
2,q
[x]表示该k个第二总结向量中的第q个第二总结向量第x维的值,s
1,q
[x]表示该k个第一总结向量中的第q个第一总结向量第x维的值。
[0025]
可选的,在一些实现方式中,该p个第三比较向量、该p个第三总结向量和该p个第四总结向量是维度为x的向量,x为正整数,
[0026]
当s
3,q
[x]>s
4,q
[x]时,q为小于等于k的正整数,x为小于等于x的正整数,该p个第二重构总结向量中的第q个第二重构总结向量第x维的值通过如下公式表示:
[0027][0028]
当s
3,q
[x]≤s
4,q
[x]时,该第q个第二重构总结向量第x维的值通过如下公式表示:
[0029][0030]
其中,表示该第q个第二重构总结向量第x维的值,表示该p个第三比较向量中的第q个第三比较向量第x维的值,s
4,q
[x]表示该p个第三总结向量中的第q个第三总结向量第x维的值,s
3,q
[x]表示该p个第四总结向量中的第q个第四总结向量第x维的值。
[0031]
结合第一方面,在第一方面的某些实现方式中,该第一模型包括第一子模型和第二子模型,该第一子模型包括嵌入层、总结层、比较层和第一重建层,该第二子模型包括第二重建层,该将该训练数据集中的第i个元组对包括的该m个类型的属性的属性值输入至该第一模型,得到重构总结向量序列,包括:
[0032]
将该第i个元组对包括的该m个类型的属性的属性值输入至该第一子模型,得到该k个第一比较向量和该p个第三比较向量;
[0033]
将该k个第一比较向量和该p个第三比较向量输入至该第二重建层,得到该重构总结向量序列。
[0034]
结合第一方面,在第一方面的某些实现方式中,该将该第i个元组对包括的该m个类型的属性的属性值输入至该第一子模型,得到该k个第一比较向量和该p个第三比较向量,包括:
[0035]
将该第i个元组对包括的该m个类型的属性的属性值输入至该嵌入层,该嵌入层基于词嵌入对该m个类型的属性的属性值处理得到m个词向量对,该m个词向量对与该m个类型的属性的属性值一一对应;
[0036]
将该m个词向量对输入至该总结层,该总结层对该m个词向量对进行处理得到m个总结向量对,该m个词向量对与该m个总结向量对一一对应;
[0037]
将该m个总结向量对输入至该比较层,该比较层通过计算该m个总结向量对中每个总结向量对包括的两个总结向量之间的距离得到该k个第二比较向量和该p个第四比较向量;
[0038]
将该k个第二比较向量和该p个第四比较向量输入至该第一重建层,该第一重建层基于注意力机制分别对该k个第二比较向量和该p个第四比较向量处理得到该k个第一比较
向量和该p个第三比较向量。
[0039]
结合第一方面,在第一方面的某些实现方式中,该得到训练好的神经网络模型之后,该方法还包括:
[0040]
获取第一元组对;
[0041]
将该第一元组对包括的属性的属性值输入至该训练好的神经网络模型中的第一子模型,得到该第一元组对对应的第一比较向量;
[0042]
将该第一元组对对应的第一比较向量输入至二分类器,得到第二预测标签,该第二预测标签用于指示该第一元组对包括的两个元组是否匹配;
[0043]
根据该第二预测标签和第二真实标签,确定第二损失值,该第二真实标签用于指示该第一元组对包括的两个元组的真实匹配情况;
[0044]
根据该第二损失值对该二分类器的参数进行更新,得到训练好的二分类器。
[0045]
在上述技术方案中,使用已经训练好的第一模型中的第一子模型对第一元组对进行处理,得到该第一元组对对应的第一比较向量,根据该第一元组对对应的第一比较向量和第一元组对的实体标签对二分类器进行训练,得到训练好的二分类器。基于此,该训练好的二分类器和已经训练好的第一子模型可以用于进行实体匹配。
[0046]
结合第一方面,在第一方面的某些实现方式中,该将该第一元组对对应的第一比较向量输入至二分类器,得到第二预测标签,该第二预测标签用于指示该第一个元组对包括的两个元组是否匹配,包括:
[0047]
对该第一元组对对应的第一比较向量进行处理,得到该第一个元组对包括的两个元组匹配的概率;
[0048]
当该概率大于等于预设阈值时,确定该第一个元组对包括的两个元组匹配;
[0049]
当该概率小于预设阈值时,确定该第一个元组对包括的两个元组不匹配。
[0050]
其中,可以根据具体的应用场景对预设阈值进行设置。例如,预设阈值可以设置为0.7、0.8或0.9等。在上述技术方案中,可以通过比较分类器的输出的概率与预设阈值的大小,快速确定实体匹配结果。
[0051]
结合第一方面,在第一方面的某些实现方式中,该根据该第二损失值对该二分类器的参数进行更新,得到训练好的二分类器,包括:
[0052]
根据该第二损失值对该二分类器以及第三子模型的参数进行更新,得到训练好的二分类器和训练好的第三子模型,该第三子模型为该训练好的第一模型中的第一子模型。
[0053]
在上述技术方案中,还可以使用实体匹配的标签,对二分类器和已经根据上述第一方面的方法训练好的第一模型中的第一子模型进行训练。
[0054]
第二方面,提供了一种实体匹配方法,该方法包括:
[0055]
将至少一个元组对输入至第一子模型,得到该至少一个元组对的k个第一比较向量,该至少一个元组对包括m个类型的属性的属性值,该至少一个元组对中的第一元组在至少k个类型的属性上存在缺失,该至少一个元组对中的第二元组在该m个类型的属性上不存在缺失,该k个第一比较向量是基于注意力机制对k个第二比较向量序列处理得到的,该k个第二比较向量是根据该第二元组包括的该至少k个类型的属性的属性值确定的比较向量,m为正整数,k为小于等于m的正整数;
[0056]
将该k个第一比较向量输入至二分类器,得到该至少一个元组对包括的两个元组
是否匹配;
[0057]
其中,该第一子模型是根据上述第一方面训练方法训练得到的第一子模型,或者,该第一子模型是根据上述第一方面训练方法训练得到的第三子模型,该二分类器是根据上述第一方面训练方法训练得到的。
[0058]
在上述技术方案中,由于训练好的第一子模型或训练好的第三子模型的输出能够对元组中存在缺失值进行表示,故基于上述第一方面训练好的第一子模型或训练好的第三子模型进行实体匹配时,可以避免现有实体匹配方法中对存在缺失值的待匹配的数据集中的缺失值进行填补的操作,在保证实体匹配结果的精度的前提下,能够有效降低系统开销和提高实体匹配的效率。
[0059]
结合第二方面,在第二方面的某些实现方式中,该将该k个第一比较向量输入至该二分类器,得到该至少一个元组对包括的两个元组是否匹配,包括:
[0060]
对该k个第一比较向量进行处理,确定该至少一个元组对包括的两个元组匹配的概率;
[0061]
当该概率大于等于第一预设阈值时,确定该至少第一个元组对包括的两个元组匹配;
[0062]
当该概率小于第一预设阈值时,确定该至少第一个元组对包括的两个元组不匹配。
[0063]
其中,可以根据具体的应用场景对预设阈值进行设置。例如,预设阈值可以设置为0.7、0.8或0.9等。在上述技术方案中,可以通过比较分类器的输出的概率与预设阈值的大小,快速确定实体匹配结果。
[0064]
结合第二方面,在第二方面的某些实现方式中,该第一模型还包括第二子模型,该方法还包括:
[0065]
将该k个第一比较向量输入至该第二子模型,得到重构总结向量序列,该重构总结向量序列包括k个第一重构总结向量,该k个第一重构总结向量是根据该k个第一比较向量和k个第一结向量对确定的,该k个第一总结向量对包括k个第一总结向量和k个第二总结向量,该k个第一总结向量是根据该第一元组包括的该至少k个类型的属性的属性值确定的总结向量该k个第二总结向量是根据该第二元组包括的该至少k个类型的属性的属性值确定的总结向量;
[0066]
根据该重构总结向量序列,对该第一元组在该至少k个类型的属性上存在的缺失的属性值进行填补。
[0067]
在上述技术方案中,可以基于第一重构总结向量序列对第一元组中存在的缺失的属性值进行填补处理,以满足不同场景的需求。
[0068]
结合第二方面,在第二方面的某些实现方式中,
[0069]
该k个第一比较向量、该k个第一总结向量和该k个第二总结向量是维度为x的向量,x为正整数,
[0070]
当s
1,q
[x]>s
2,q
[x]时,q为小于等于k的正整数,x为小于等于x的正整数,该k个第一重构总结向量中的第q个第一重构总结向量第x维的值通过如下公式表示:
[0071][0072]
当s
1,q
[x]≤s
2,q
[x]时,该第q个第一重构总结向量第x维的值通过如下公式表示:
[0073][0074]
其中,表示该第q个第一重构总结向量第x维的值,表示该k个第一比较向量中的第q个第一比较向量第x维的值,s
2,q
[x]表示该k个第二总结向量中的第q个第二总结向量第x维的值,s
1,q
[x]表示该k个第一总结向量中的第q个第一总结向量第x维的值。
[0075]
结合第二方面,在第二方面的某些实现方式中,该根据该重构总结向量序列,对该第一元组在该至少k个类型的属性上存在的缺失的属性值进行填补,包括:
[0076]
将该重构总结向量序列输入至m个多分类器,得到k个缺失值预测结果,该m个多分类器与该m个类型的属性一一对应;
[0077]
该k个缺失值预测结果与该第一元组在该至少k个类型的属性上存在的缺失属性值一一对应;
[0078]
根据该k个分类结果,对该第一元组在该至少k个类型的属性上存在的缺失的属性值进行填补;
[0079]
其中,该m个多分类器是根据上述第一方面的训练方法训练得到的。
[0080]
在上述技术方案中,一个元组对包括m个属性对应的属性值,将确定好的该一个元组对的第一重构总结向量序列输入至训练好的m个多分类器,该m个分类器可以输出第一元组存在的缺失的属性值。
[0081]
第三方面,提供了一种神经网络模型的训练装置,所述装置包括用于执行上述第一方面以及第一方面中的任意一种实现方式中的方法的模块或单元。
[0082]
第四方面,提供了一种实体匹配装置,所述装置包括用于执行上述第二方面以及第二方面中的任意一种实现方式中的方法的模块或单元。
[0083]
应理解,在上述第一方面中对相关内容的扩展、限定、解释和说明也适用于第二方面、第三方面和第四方面中相同的内容。
[0084]
第五方面,提供了一种神经网络模型的训练装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面以及第一方面中的任意一种实现方式中的方法。
[0085]
上述第五方面中的处理器既可以是中央处理器(central processing unit,cpu),也可以是cpu与神经网络运算处理器的组合,这里的神经网络运算处理器可以包括图形处理器(graphics processing unit,gpu)、神经网络处理器(neural-network processing unit,npu)和张量处理器(tensor processing unit,tpu)等等。其中,tpu是谷歌(google)为机器学习全定制的人工智能加速器专用集成电路。
[0086]
第六方面,提供了一种实体匹配装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第二方面以及第二方面中的任意一种实现方式中的方法。
[0087]
上述第六方面中的处理器既可以是中央处理器,也可以是cpu与神经网络运算处理器的组合,这里的神经网络运算处理器可以包括图形处理器、神经网络处理器和张量处理器等等。其中,tpu是谷歌为机器学习全定制的人工智能加速器专用集成电路。
[0088]
第七方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面或第二方面中的任意一种实现方式中的方法。
[0089]
第八方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或第二方面中的任意一种实现方式中的方法。
[0090]
第九方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面或第二方面中的任意一种实现方式中的方法。
[0091]
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第二方面中的任意一种实现方式中的方法。
[0092]
上述芯片具体可以是现场可编程门阵列(field-programmable gate array,fpga)或者专用集成电路(application-specific integrated circuit,asic)。
附图说明
[0093]
图1是现有的实体匹配方法的示意性流程图。
[0094]
图2是本技术提供的神经网络模型的训练方法200的示意性流程图。
[0095]
图3是本技术提供的实体匹配方法300的示意性流程图。
[0096]
图4是本技术提供的神经网络模型的训练装置400的示意性框图。
[0097]
图5是本技术提供的神经网络模型的训练设备500的示意性框图。
[0098]
图6是本技术提供的实体匹配装置600的示意性框图。
[0099]
图7是本技术提供的实体匹配设备700的示意性框图。
具体实施方式
[0100]
下面将结合附图,对本技术中的技术方案进行描述。
[0101]
本技术的实施方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术。
[0102]
本技术中术语“第一”“第二”“第三”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”和“第三”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
[0103]
本技术将围绕可包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
[0104]
另外,在本技术实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
[0105]
本技术实施例中,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
[0106]
本技术实施例中,有时候下标如w1可能会笔误为非下标的形式如w1,在不强调其区别时,其所要表达的含义是一致的。
[0107]
本技术实施例描述的网络架构以及业务场景是为了更加清楚的说明本技术实施
例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
[0108]
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0109]
本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
[0110]
下面,介绍本技术的相关技术:
[0111]
为便于理解,在描述本技术提供的训练神经网络模型的方法和实体匹配方法之前,首先对本技术中涉及的相关术语进行简单介绍。
[0112]
1、机器学习(machine learning,ml):机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。机器学习已广泛应用于数据挖掘、计算机视觉、自然语言处理、语音和手写识别、战略游戏和机器人等领域。
[0113]
2、实体匹配(entity matching,em):是指通过对一些要素的比较以确定对应(或同名)的共轭实体的过程。通过实体匹配可以判断数据库中两条记录是否属于同一真实世界的实体。也就是说,当数据库中的两条记录匹配时,可以认为该两条记录属于同一实体;当数据库中的两条记录不匹配时,可以认为该两条记录不属于同一实体。
[0114]
3、线性整流函数(rectified linear unit,relu),又称修正线性单元,是一种人工神经网络中常用的激活函数(activation function),通常指代以斜坡函数及其变种为代表的非线性函数。
[0115]
4、元组(tuple):是关系数据库中的基本概念,当关系是一张表,表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。在二维表里,元组也称为行。
[0116]
5、元组对:一个元组对包括两个元组。
[0117]
为便于理解,首先结合图1,介绍现有的实体匹配流程。
[0118]
图1是现有的实体匹配方法的示意性流程图。如图1所示,现有的实体匹配方法可以包括步骤110至步骤150,下面对步骤110至步骤150进行介绍。
[0119]
步骤110,确定需要对数据表#1包括的数据进行实体匹配。
[0120]
在一个示例中,数据表#1的具体表示可以如下表1所示。
[0121]
表1
[0122]
序号姓名邮件省份城市邮编1张三zs@163.com河北石家庄12345
2李四ls@162.com河南 129653张三zs@163.com河北
ꢀꢀ
4王五ww@qq.com河南郑州12965
[0123]
其中,表1中包括4个元组,每个元组包括5个属性,每个属性对应一个属性值。为便于描述,可以将第1个元组标记为序号1,将第2个元组标记为序号2,将第3个元组标记为序号3,将第4个元组标记为序号4。以第1个元组为例,第1个元组中包括的5个属性分别是:“姓名”、“邮件”、“身份”、“城市”、“邮编”,该5个属性对应的属性值分别是:“张三”、“zs@163.com”、“河北”、“石家庄”、“12345”。同样的,可以得到表1中第2个元组至第4个元组中每个属性对应的属性值,此处不再一一列举。
[0124]
步骤120,从上述数据表#1中,确定需要判断匹配的元组对#1。
[0125]
在一个示例中,确定需要对上述数据表#1中的第1个元组和第3个元组进行实体匹配。也就是说,元组对#1包括上述数据表#1中的第1个元组和第3个元组。
[0126]
步骤130,对上述元组对#1进行预处理。
[0127]
其中,预处理包括缺失值的检测和填补等处理。
[0128]
具体的,经过检测确定第3个元组存在属性值缺失(即,“城市”和“邮编”对应的属性值),故可以对第3个元组缺失的属性值进行填补,填补后的结果可以如下表2所示。
[0129]
表2
[0130]
序号姓名邮件省份城市邮编1张三zs@163.com河北石家庄123452李四ls@162.com河南 129653张三zs@163.com河北石家庄123454王五ww@qq.com河南郑州12965
[0131]
步骤140,对上述预处理后的元组对#1进行实体匹配,得到实体匹配结果。
[0132]
具体的,对上述表2中的第1个元组和第3个元组进行匹配,可以确定这两个元组对应同一属性的属性值相同。
[0133]
步骤150,根据上述实体匹配结果,确定上述元组对是否属于同一实体。
[0134]
具体的,当上述步骤140的实体匹配结果为上述表2中的第1个元组和第3个元组匹配时,可以确定上述表2中的第1个元组和第3个元组属于同一实体。当上述步骤140的实体匹配结果为上述表2中的第1个元组和第3个元组不匹配时,可以确定上述表2中的第1个元组和第3个元组不属于同一实体。
[0135]
由上文可知,现有的实体匹配方法在数据缺失场景下进行实体匹配时,通常需要先对待匹配的数据集中的缺失值进行预测和修复,然后再基于修复缺失值后的数据集进行实体匹配。故上述实体匹配方法应用于数据缺失场景时,主要存在以下几个问题:
[0136]
(1)为了保证实体匹配结果的精度,在进行实体匹配之前必须先进行缺失值的修复,无法直接根据原始数据源进行实体匹配,导致实体匹配效率低、增加额外的开销。
[0137]
(2)在仅需要进行实体匹配无需进行缺失值修复的场景中,如果直接根据获取的原始数据(存在数据缺失)进行实体匹配,会因无法衡量缺失属性上的相似度导致实体匹配精度较低,或无法对有缺失值的记录对进行实体匹配。
[0138]
(3)在同一数据场景下数据频繁更新时,每次进行实体匹配之前需重新计算,无法
利用历史匹配结果,导致开销大、匹配效率低。
[0139]
本技术提供一种神经网络模型的训练方法、实体匹配方法及相关装置,在保证实体匹配结果的精度的前提下,能够有效降低实体匹配的开销和提高实体匹配的效率。
[0140]
下面,结合图2,介绍本技术提供的神经网络模型的训练方法。
[0141]
图2是本技术提供的神经网络模型的训练方法200的示意性流程图。
[0142]
如图2所示,该方法200可以包括步骤210和步骤220,下面对步骤210和步骤220进行详细介绍。
[0143]
步骤210,构建训练数据集,训练数据集是对不存在缺失值的原始数据集进行掩码得到的,原始数据集中的每个元组对包括的两个元组属于同一实体,且每个元组对包括m个类型的属性的属性值,训练数据集中的每个元组对包括的至多一个元组的第一属性的属性值是被掩码的,第一属性是m个类型的属性中的一个或多个,m为正整数。
[0144]
可以理解的是,在步骤210之前,还可以包括如下操作:
[0145]
获取不存在缺失值的原始数据集。
[0146]
在本技术实施例中,对上述不存在缺失值的原始数据集的来源不进行限定。例如,上述不存在缺失值的原始数据集包括的多个元组对可以来自同一数据集,或者,上述不存在缺失值的原始数据集包括的多个元组对可以来自不同的数据集。
[0147]
上述每个元组对包括m个类型的属性的属性值,可以理解为,针对同一类型的属性该每个元组对包括该属性对应的两个属性值,这两个属性值分别为该每个元组对包括的两个元组包括的该属性的属性值。
[0148]
例如,元组对#1包括元组#1和元组#2,且元组#1包括属性#1的属性值为属性值#1,元组#2包括属性#1的属性值为属性值#2。在此情况下,该元组对#1包括属性#1的属性值包括2个,分别是属性值#1和属性值#2。
[0149]
上述训练数据集中的每个元组对包括的至多一个元组的第一属性的属性值是被掩码的,第一属性是m个类型的属性中的一个或多个,可以理解为:对不存在缺失值的原始数据集进行掩码时应满足如下条件:可以对原始数据集包括的一个或多个元组对包括的一个或多个属性的属性值进行掩码,且该一个或多个属性的属性值与该一个或多个元组对中的一个元组对应。在本技术实施例中,对属性的类型不作具体限定。例如,属性可以是“姓名”、“手机号”、“邮件”、“地址”、“价格”或“品牌”等等。例如,当属性为“手机号”时,属性的属性值可以为“139xxxxx963”。例如,当属性为“地址”时,属性的属性值可以为“北京”。
[0150]
下面,以表3作为上述不存在缺失值的原始数据集为例,介绍对不存在缺失值的原始数据集进行掩码得到上述存在缺失值的训练数据集的过程。
[0151]
表3
[0152]
[0153][0154]
上述表3中,包括5个元组对,其中序号0-4分别对应该5个元组对。为了便于描述,记序号0对应的元组对为第1个元组对,序号1对应的元组对为第2个元组对,序号2对应的元组对为第3个元组对,序号3对应的元组对为第4个元组对,序号4对应的元组对为第5个元组对。每个元组对包括两个元组,每个元组包括4个不同类型的属性的属性值,该4个不同类型的属性分别为:category、brand、modelno和price。为了便于描述,将每个元组对中的一元组包括的4个不同类型的属性记为:category#1、brand#1、modelno#1和price#1,将每个元组对中的另一个元组包括的4个不同类型的属性记为:category#2、brand#2、modelno#2和price#2。为了便于描述,将上述一个元组记为第一个元组,将上述另一个元组记为第二个元组。例如,第一个元组对包括的第一个元组的modelno#1属性的属性值为d3010。例如,第四个元组对包括的第二个元组的modelno#1属性的属性值为108r00645。
[0155]
在一个示例中,可以对第1个元组对包括的第一个元组的modelno#1属性的属性值进行掩码,此时,就不能再对该第1个元组对包括的第二个元组的modelno#2属性的属性值进行掩码。还可以对第2个元组对包括的第一个元组的category#1属性的属性值和第二个元组的price#2属性的属性值进行掩码,此时,就不能再对第2个元组对包括的第二个元组的category#2属性的属性值和第一个元组的price#1属性的属性值进行掩码。还可以对第3个元组对包括的第一个元组的modelno#1属性的属性值进行掩码,此时,就不能再对第3个元组对包括的第二个元组的modelno#2属性的属性值进行掩码。还可以对第4个元组对包括的第二个元组的brand#2属性的属性值进行掩码,此时,就不能再对第4个元组对包括的第一个元组的brand#1属性的属性值进行掩码。经过上述对表3的掩码,得到的存在缺失值的训练数据集可以如下表4所示。
[0156]
表4
[0157][0158][0159]
上述表4中的“《mask》”表示被掩码的属性的属性值。
[0160]
应理解,上述对表3进行掩码得到表4的过程仅为示意,并不对本技术提供的根据不存在缺失值的原始数据集进行掩码的到训练数据集的方法构成任何限定。例如,还可以对表3中的第一个元组对的第一个元组的brand#1属性的属性值innovera进行掩码。
[0161]
可选的,在上述步骤210之后,还可以包括如下操作:
[0162]
将上述训练数据集,划分为训练集和验证集,训练集用于训练实体匹配模型,验证集用于对训练集训练后的实体匹配模型进行优化。其中,训练集包括训练数据集中的p个元组对,验证集包括训练数据集中的q个元组对,p和q为正整数,且p和q的和等于训练数据集包括的元组对的数目。
[0163]
步骤220,根据训练数据集进行神经网络模型的训练,得到训练好的神经网络模型,其中,在训练神经网络模型的过程中,通过神经网络模型的第一模型所包括的多个底层神经网络模型来分别学习出每个属性的属性值的特征表示,通过神经网络模型的第二模型来至少基于第一模型输出的属性的属性值特征表示学习出预测标签,并至少基于预测标签与训练数据集的真实标签之间的差异来更新神经网络模型的参数。
[0164]
可以理解的是,上述第一模型可以理解为是一个线性模型。上述第二模型可以理解是一个非线性模型。
[0165]
上述每个属性的属性值的特征表示,可以理解为,一个元组对中存在缺失值的元组可以基于该一个元组对中不存在缺失属性值的元组进行特征表示,以及一个元组对中不存在缺失属性值的元组可以基于该元组自身的属性值进行特征表示。
[0166]
可选的,在一些实施例中,还可以使用上述步骤210中根据训练数据集得到的训练集进行神经网络模型的训练。基于此,可以使用上述步骤210中根据训练数据集得到的验证集对训练集训练得到的神经网络模型进行优化。
[0167]
下面,以训练数据集中为例,介绍训练神经网络模型的方法。
[0168]
在本技术实施例中,训练数据集可以包括n个元组对,n为正整数,n个元组对中的第i个元组对中的第一元组在至少k个类型的属性上存在缺失,第i个元组对中的第二元组在至少p个类型的属性上存在缺失,至少k个类型的属性与至少p个类型的属性不相同,k和p为小于等于m的正整数,且1≤k p≤m,i=1,2,3,

,n,第二模型包括m个多分类器,m个多分类器与m个类型的属性一一对应,根据训练数据集进行模型训练,得到训练好的神经网络模型,包括:
[0169]
将第i个元组对包括的m个类型的属性的属性值输入至第一模型,得到重构总结向量序列,重构总结向量序列包括k个第一重构总结向量和p个第二重构总结向量,k个第一重构总结向量是根据第二元组在至少k个类型的属性上的属性值确定的,p个第二重构总结向量是根据第一元组在至少p个类型的属性上的属性值确定的;
[0170]
将重构总结向量序列输入至m个多分类器,得到第一预测标签集合,第一预测标签集合中的第j个第一预测标签表示第i个元组对中的在第j个属性上存在缺失的第一元组或第二元组在第j个属性上的预测属性值,第j个属性是至少k个类型的属性或至少p个类型的属性中的一个属性,j为小于等于k p的正整数;
[0171]
根据第一预测标签集合和第一真实标签集合,确定第一损失值,第一真实标签集合中的第j个第一真实标签表示第i个元组对中的在第j个属性上存在缺失的第一元组或第二元组在第j个属性上的真实属性值,第一损失值包括根据第j个第一预测标签和第j个第
一预测标签确定的损失值;
[0172]
根据第一损失值对神经网络模型的参数进行更新,得到训练好的第一模型和训练好的m个多分类器。
[0173]
上述m个多分类器与所m个类型的属性一一对应,可以理解为,为每个属性设置一个多分类器,且每个属性对应的多分类器的类别数目可以是根据该每个属性的值域进行确定的。也就是说,该m个多分类器中的每个多分类器对应的类别数目不完全相同。
[0174]
例如,当m=3时,即第i个元组对包括3个属性对应的属性值,为便于描述,将这3个属性分别记为:属性#1、属性#2和属性#3。在此情况下,则有属性#1对应多分类器#1,属性#2对应多分类器#2,属性#3对应多分类器#3。且多分类器#1的类别数目可以是根据对应的属性#1的值域确定的,多分类器#2的类别数目可以是根据对应的属性#2的值域确定的,多分类器#3的类别数目可以是根据对应的属性#3的值域确定的。
[0175]
上述第一模型输出的属性的属性值特征表示,可以理解为,该特征表示包括重构总结向量序列。
[0176]
可选的,在一些实现方式中,在对神经网络模型进行训练之前,还需要获取训练数据集中第i个元组对存在缺失的属性值,i=1,2,3,

,n。
[0177]
上述k个第一重构总结向量是根据第二元组在至少k个类型的属性上的属性值确定的,可以理解为,k个第一重构总结向量是根据k个第一比较向量和k个第一总结向量对确定得到的,k个第一比较向量是基于注意力机制对k个第二比较向量处理得到的,k个第二比较向量是根据第二元组包括的至少k个类型的属性的属性值确定的比较向量,k个第一总结向量对包括k个第一总结向量和k个第二总结向量,k个第一总结向量是根据第一元组包括的至少k个类型的属性的属性值确定的总结向量k个第二总结向量是根据第二元组包括的至少k个类型的属性的属性值确定的总结向量。
[0178]
上述p个第二重构总结向量是根据第一元组在至少p个类型的属性上的属性值确定的,可以理解为,p个第二重构总结向量是根据p个第三比较向量和p个第二总结向量对确定得到的,p个第三比较向量是基于注意力机制对p个第四比较向量处理得到的,p个第四比较向量是根据第一元组包括的至少p个类型的属性的属性值确定的比较向量,p个第二总结向量对包括p个第三总结向量和p个第四总结向量,p个第三总结向量是根据第一元组包括的至少p个类型的属性的属性值确定的总结向量,p个第四总结向量是根据第二元组包括的至少p个类型的属性的属性值确定的总结向量。
[0179]
在本技术实施例中,k个第一比较向量、k个第一总结向量和k个第二总结向量是维度为x的向量,x为正整数。基于此,k个第一重构总结向量是根据k个第一比较向量和k个第一结向量对确定的,可以理解为,k个第一重构总结向量第x维的值是根据k个第一比较向量第x维的值、k个第一结向量第x维的值和k个第二总结向量第x维的值确定的,具体的:
[0180]
当s
1,q
[x]>s
2,q
[x]时,q为小于等于k的正整数,x为小于等于x的正整数,k个第一重构总结向量中的第q个第一重构总结向量第x维的值通过如下公式表示:
[0181][0182]
当s
1,q
[x]≤s
2,q
[x],第q个第一重构总结向量第x维的值通过如下公式表示:
[0183]
[0184]
其中,表示第q个第一重构总结向量第x维的值,表示k个第一比较向量中的第q个第一比较向量第x维的值,s
2,q
[x]表示k个第二总结向量中的第q个第二总结向量第x维的值,s
1,q
[x]表示k个第一总结向量中的第q个第一总结向量第x维的值。
[0185]
在本技术实施例中,p个第三比较向量、p个第三总结向量和p个第四总结向量是维度为x的向量,x为正整数。基于此,p个第二重构总结向量是根据p个第三比较向量和p个第二总结向量对确定的,可以理解为,p个第二重构总结向量第x维的值是根据p个第三比较向量第x维的值、p个第三总结向量第x维的值和p个第四总结向量第x维的值确定的,具体的:
[0186]
当s
3,q
[x]>s
4,q
[x]时,q为小于等于k的正整数,x为小于等于x的正整数,p个第二重构总结向量中的第q个第二重构总结向量第x维的值通过如下公式表示:
[0187][0188]
当s
3,q
[x]≤s
4,q
[x]时,第q个第二重构总结向量第x维的值通过如下公式表示:
[0189][0190]
其中,表示第q个第二重构总结向量第x维的值,表示p个第三比较向量中的第q个第三比较向量第x维的值,s
4,q
[x]表示p个第三总结向量中的第q个第三总结向量第x维的值,s
3,q
[x]表示p个第四总结向量中的第q个第四总结向量第x维的值。
[0191]
上述k个第一比较向量是基于注意力机制对k个第二比较向量处理得到的,k个第一比较向量可以通过下列公式表示:
[0192]
g=relu(g
attn
w1 b1)w2 b2[0193][0194]
其中,g表示k个第一比较向量,relu表示线性整流函数,g表示k个第二比较向量,g
attn
表示基于注意力机制对g进行处理后得到的向量;w1、w2、b1和b2表示第一模型的网络参数;ds表示k个第二比较向量的维度数。
[0195]
应理解,还可以使用上述确定k个第一比较向量的方式确定p个第三比较向量。上述基于注意力机制确定k个第一比较向量的公式仅为示意,并不对本技术构成任何限定。
[0196]
上述将重构总结向量序列输入至m个多分类器,得到第一预测标签的方法与现有的方法相同,本技术对此不限定。
[0197]
例如,当一个元组对中的一个元组的第一重构总结向量序列为[0.5072,-1.9000,-0.2422,-0.6696,-0.4063],基于上述softmax分类器对该一个元组的重构总结向量序列进行处理,可以得到[0.4401,0.0396,0.2080,0.1357,0.1765],其中,0.4401表示该一个元组存在的缺失值的属性是第1个类别的属性的概率,0.0396表示该一个元组存在的缺失值的属性是第2个类别的属性的概率,0.2080表示该一个元组存在的缺失值的属性是第3个类别的属性的概率,0.1357表示该一个元组存在的缺失值的属性是第4个类别的属性的概率,0.1765表示该一个元组存在的缺失值的属性是第5个类别的属性的概率。故该一个元组的第一预测标签指示该一个元组中存在的缺失值的类别为上第1个类别的属性。
[0198]
上述每个比较向量是通过计算对应的一个属性的两个属性值的总结向量之间的距离确定的,例如,可以基于欧式距离、马氏距离或欧式距离欧几里得距离等方法确定的,
本技术实施例对此不作具体限定。
[0199]
在本技术实施例中,根据第一预测标签集合和第一真实标签集合确定第一损失值的方法,以及根据该第一损失值对该神经网络模型的参数进行更新的方法不作限定。例如,可以使用现有的确定损失值的方法。例如,可以使用现有的根据损失值确定神经网络模型的方法。此处不再详细赘述。
[0200]
在一些实现方式中,上述第一模型包括第一子模型和第二子模型,第一子模型包括嵌入层、总结层、比较层和第一重建层,第二子模型包括第二重建层,将训练数据集中的第i个元组对包括的m个类型的属性的属性值输入至第一模型,得到重构总结向量序列,包括:
[0201]
将第i个元组对包括的m个类型的属性的属性值输入至第一子模型,得到k个第一比较向量和p个第三比较向量;
[0202]
将k个第一比较向量和p个第三比较向量输入至第二重建层,得到重构总结向量序列。
[0203]
在一些实现方式中,将第i个元组对包括的m个类型的属性的属性值输入至第一子模型,得到k个第一比较向量和p个第三比较向量,包括:
[0204]
将第i个元组对包括的m个类型的属性的属性值输入至嵌入层,嵌入层基于词嵌入对m个类型的属性的属性值处理得到m个词向量对,m个词向量对与m个类型的属性的属性值一一对应;
[0205]
将m个词向量对输入至总结层,总结层对m个词向量对进行处理得到m个总结向量对,m个词向量对与m个总结向量对一一对应;
[0206]
将m个总结向量对输入至比较层,比较层通过计算m个总结向量对中每个总结向量对包括的两个总结向量之间的距离得到k个第二比较向量和p个第四比较向量;
[0207]
将k个第二比较向量和p个第四比较向量输入至第一重建层,第一重建层基于注意力机制分别对k个第二比较向量和p个第四比较向量处理得到k个第一比较向量和p个第三比较向量。
[0208]
上述m个词向量对与m个类型的属性的属性值一一对应,可以理解为,每个词向量对是通过对对应类型的属性的两个属性值进行词嵌入(token embedding)得到的。
[0209]
上述m个比较向量与m个总结向量对一一对应,可以理解为,每个比较向量是通过计算对应的总结向量对包括的2个总结向量之间的距离得到的。
[0210]
在本技术实施例中,当上述第i个元组对在第k个属性的总结向量对可以表示为(s
1,k
,s
2,k
)时,计算该总结向量对包括的两个总结向量之间的距离,则该总结向量对的比较向量(即第二比较向量的一例或第四比较向量的一例)可以通过下列公式表示:
[0211]gk
=|s
1,k-s
2,k
|
[0212]
其中,gk表示比较向量,s
1,k
表示第i个元组对中的第一元组在第k个属性上的属性值的总结向量,s
2,k
表示第i个元组对中的第一元组在第k个属性上的属性值的总结向量,||表示距离公式。例如,该距离公式可以是欧式距离。例如,该距离公式也可以是马氏距离。
[0213]
为便于理解,下结合具体的一个例子简单描述根据上述方法确定k个第二比较向量的流程。
[0214]
作为示例非限定,当上述第i个元组对包括元组1和元组2,且该元组1和元组2包括
的属性k的属性值可以通过(w
1,k
,w
2,k
)表示,通过词嵌入对(w
1,k
,w
2,k
)可以得到该第i个元组对的词向量对(u
i,k
,u
j,k
)。当词嵌入的维度为n时,该第i个元组对的词向量对(u
i,k
,u
j,k
)的数据大小可以表示为(n
×
seq
len1
×de
,n
×
seq
len2
×de
),n
×
seq
len1
表示将w
1,k
划分为n部分且每部分对应的序列长度为seq
len1
,n
×
seq
len2
表示将w
2,k
划分为n部分且每部分对应的序列长度为seq
len2
,de表示词嵌入的维度。基于此,通过上述总结层对第i个元组对的词向量(u
i,k
,u
j,k
)进行处理可以得到对应的总结向量对(s
i,k
,s
j,k
),该第i个元组对总结向量对的大小可以表示为(n
×ds
,n
×ds
),ds为总结向量的维度。基于此,通过上述比较层对第i个元组对的总结向量对(s
i,k
,s
j,k
)进行处理可以得到对应的比较向量gk=|s
i,k-s
j,k
|,该第i个元组对的比较向量gk的大小可以表示为(n
×
dc),ds为比较向量的维度。可以对第i个元组对包括的每个属性的属性值根据上述方法进行处理,得到每个属性的属性值的比较向量,将每个比较向量进行拼接可以得到第i个元组对的k个第二比较向量。该第i个元组对的k个第二比较向量可以标记为g=contact(gk)=(g1,g2,g3,...,gm),g的大小为n
×m×
dc,m表示第i个元组对包括m个类别的属性的属性值,contact(gk)表示对第二比较向量进行拼接。
[0215]
在本技术实施例中,对将属性的属性值转换为词向量对的方法不作具体限定。例如,可以使用词向量(word to vector,word2vec)模型、词向量模型(global vectors for word representation,glove)模型或语义嵌入(embeddings from language models,elmo)模型将属性的属性值转换为词向量对。在本技术实施例中对词嵌入的维度也不作具体限定。例如,属性值的词嵌入的维度可以是2维。例如,属性值的词嵌入的维度可以是3维等。
[0216]
在本技术实施例中,对将词向量转换为总结向量的实现方法不作具体限定。例如,可以使用均值池化(mean-pooling)的方法、循环神经网络(recurrent neural network,rnn)、或自注意力机制(self-attention)的方法。或者,还可以使用现有的其他方法实现将词向量转换为总结向量。
[0217]
在本技术实施例中,对将总结向量对转换为对应的比较向量的实现方法不作具体限定。例如,可以基于逐元素绝对差element-wise abs diff模型实现将总结向量对转换为比较向量。在此情况下,可以理解上述比较层为element-wise abs diff模型。
[0218]
在本技术实施例中,对将k个第二比较向量转换为对应的k个第一比较向量的实现方法不作具体限定。例如,可以使用自注意力transformer block模型。在此情况下,可以理解上述第一重建层可以transformer block模型。
[0219]
可选的,在一些实现方式中,得到训练好的神经网络模型之后,还可以包括如下步骤:
[0220]
获取第一元组对;
[0221]
将第一元组对包括的属性的属性值输入至训练好的神经网络模型中的第一子模型,得到第一元组对对应的第一比较向量;
[0222]
将第一元组对对应的第一比较向量输入至二分类器,得到第二预测标签,第二预测标签用于指示第一元组对包括的两个元组是否匹配;
[0223]
根据第二预测标签和第二真实标签,确定第二损失值,第二真实标签用于指示第一元组对包括的两个元组的真实匹配情况;
[0224]
根据第二损失值对二分类器的参数进行更新,得到训练好的二分类器。
[0225]
上述将第一元组对对应的第一比较向量输入至二分类器,得到第二预测标签,第二预测标签用于指示第一个元组对包括的两个元组是否匹配,包括:
[0226]
对第一元组对对应的第一比较向量进行处理,得到第一个元组对包括的两个元组匹配的概率;
[0227]
当概率大于等于预设阈值时,确定第一个元组对包括的两个元组匹配;
[0228]
当概率小于预设阈值时,确定第一个元组对包括的两个元组不匹配。
[0229]
在一个示例中,上述对第一元组对对应的第一比较向量进行处理,可以包括如下步骤:先使用二分类器的特征转换层(例如,该特征转换层可以包括多个神经网络层与激活函数,但该特征转换层并不限于此)对第一元组对对应的第一比较向量进行转换操作,再使用二分类器中的激活函数(例如,sigmoid函数)对上述转换后的结果进行处理得到第i个元组对包括的两个元组匹配的概率。应理解,该根据第一元组对对应的第一比较向量得到元组匹配的概率仅为示意,并不对本技术实施例提供的方法构成任何限定。在本技术实施例中,对上述预设阈值的取值不作具体限定。例如,上述预设阈值可以等于0.55、0.6、0.7、0.8或0.9等。
[0230]
以上文所示的表4中的第一个元组对(即序号为0的元组对)为例,介绍本技术提供的如何根据第一元组对对应的第一比较向量,确定该第一元组对包括的两个元组是否匹配。
[0231]
其中,上述表4中的第一个元组对包括2个元组,可以记为第一个元组,第二个元组。第一个元组包括4个属性的属性值,分别为“ststionery&office machinery”、“innovera”、“《mask》”和“68.35”。第二个元组包括4个属性的属性值“inkjet printer ink”、“compatible”、“hp-q6511x”和“28.92”,其中,第二元组包括的4个属性的类型与第一元组包括的4个属性的类型相同。
[0232]
在一个示例中,当第一比较向量的维度dc等于2时,第一元组和第二元组在第1个属性category上的属性值的第一比较向量可以表示为[0.2,0.5],第一元组和第二元组在第2个属性brand上的属性值的第一比较向量可以表示为[0.1,0.3],第一元组和第二元组在第3个属性modelno上的属性值的第一比较向量可以表示为[0.4,0.2],第一元组和第二元组在第4个属性price上的属性值的第一比较向量可以表示为[0.1,0.1]。将上述得到的4个第一比较向量按顺序依次进行拼接后,得到上述表2中第一个元组对对应的第一比较向量g0的维度为m
×
dc=4
×
2=8。将g0输入到二分类器中以得到第一个元组对匹配的概率。在本技术实施例中,该二分类器可以是由linear函数和sigmoid函数构造得到的。该二分类器的输入为8维的g0,输出为1维的linear函数对g0进行计算,如linear(g0)=0.0。再使用sigmoid函数将linear函数得到的结果转换为概率,如sigmoid(linear(g0))=0.5。故该二分类器的输出为0.5,即表示第一元组对包括的第一元组和第二元组的匹配概率为0.5。可以将二分类器的输出与预设阈值进行比较,已确定第一元组对是否匹配。当二分类器的输出大于等于预设阈值时,可以认为该第一元组对匹配;否则,认为第一元组对不匹配。其中,预设阈值的大小可以根据具体的应用场景进行设置。例如,预设阈值可以为0.55,0.6,0.7,0.8或0.9等。
[0233]
上述根据第二损失值对二分类器的参数进行更新,得到训练好的二分类器,可以
包括:
[0234]
根据第二损失值对第二分类器以及第三子模型的参数进行更新,得到训练好的二分类器和训练好的第三子模型,第三子模型为训练好的第一模型中的第一子模型。
[0235]
在本技术实施例中,对上述第一元组对的来源不进行限定。例如,上述第一元组对可以是源数据集中的一个元组对。例如,上述第一元组对也可以是训练数据集中的一个元组对。例如,上述第一元组对还可以是其它数据集中的一个元组对。
[0236]
可以理解的是,基于上述方法得到的一个元组对的重构总结向量序列后,还可以根据该重构总结向量序列对该一个元组对存在的缺失值进行填补。
[0237]
可选的,在一些实施例中,上述神经网络模型包括的嵌入层可以称为“(attribute embedding module,aem)”,总结层可以称为:“(attribute summarization module,asm)”,比较层可以称为:“(attribute comparison module,acm)”,第一重建层可以称为:“(missing attribute comparison reconstruction,macr)”,第二重建层可以称为:“(missing attribute comparison reconstruction,macr)”。
[0238]
可以理解的是,上述一个元组对包括的两个元组匹配,也可以理解为该一个元组对包括的两个元组属于同一实体。
[0239]
应理解,上述图2所述的方法仅为示意并不对本技术提供的训练神经网络模型的方法进行任何限定。例如,方法200中仅以训练数据集为例介绍本技术提供的训练神经网络模型的方法,还可以使用上述步骤210得到的训练集替换上述200中的训练数据集进行神经网络模型的训练。
[0240]
下面,结合图3介绍本技术提供的基于上述方法200训练好的神经网络模型进行对存在缺失值的元组对进行实体匹配的方法。
[0241]
图3是本技术提供的实体匹配方法300的示意性流程图。
[0242]
如图3所示,该方法300可以包括步骤310和步骤320,下面对步骤310和步骤320进行详细介绍。
[0243]
步骤310,将至少一个元组对输入至第一子模型,得到至少一个元组对的k个第一比较向量,至少一个元组对包括m个类型的属性的属性值,至少一个元组对中的第一元组在至少k个类型的属性上存在缺失,至少一个元组对中的第二元组在m个类型的属性上不存在缺失,k个第一比较向量是基于注意力机制对k个第二比较向量序列处理得到的,k个第二比较向量是根据第二元组包括的至少k个类型的属性的属性值确定的比较向量,m为正整数,k为小于等于m的正整数。
[0244]
其中,上述第一子模型和二分类器是根据上述方法200中的训练方法训练得到的。具体的,上述第一子模型可以是根据上述方法200对第一子模型进行训练后得到的模型,或者,上述第一子模型还可以是根据上述方法200对第三子模型训练后得到的模型。
[0245]
可以理解的是,在步骤310之前,还可以包括如下步骤:
[0246]
获取上述至少一个元组对。
[0247]
步骤320,将k个第一比较向量输入至二分类器,得到至少一个元组对包括的两个元组是否匹配。
[0248]
上述将k个第一比较向量输入至二分类器,得到至少一个元组对包括的两个元组是否匹配,可以包括如下步骤:
[0249]
对k个第一比较向量进行处理,确定至少一个元组对包括的两个元组匹配的概率;
[0250]
当概率大于等于第一预设阈值时,确定至少第一个元组对包括的两个元组匹配;
[0251]
当概率小于第一预设阈值时,确定至少第一个元组对包括的两个元组不匹配。
[0252]
其中,对上述第一预设阈值的大小不进行限定。可以根据具体的应用场景对上述第一预设阈值的大小进行设置,例如,可以设置上述第一预设阈值等于0.7、0.85、0.9等。
[0253]
在本技术实施例中,上述第一模型还包括第二子模型,还包括如下操作:
[0254]
将k个第一比较向量输入至第二子模型,得到重构总结向量序列,重构总结向量序列包括k个第一重构总结向量,k个第一重构总结向量是根据k个第一比较向量和k个第一结向量对确定的,k个第一总结向量对包括k个第一总结向量和k个第二总结向量,k个第一总结向量是根据第一元组包括的至少k个类型的属性的属性值确定的总结向量k个第二总结向量是根据第二元组包括的至少k个类型的属性的属性值确定的总结向量;
[0255]
根据重构总结向量序列,对第一元组在至少k个类型的属性上存在的缺失的属性值进行填补。
[0256]
在本技术实施例中,k个第一比较向量、k个第一总结向量和k个第二总结向量是维度为x的向量,x为正整数。基于此,k个第一重构总结向量是根据k个第一比较向量和k个第一结向量对确定的,可以理解为,k个第一重构总结向量第x维的值是根据k个第一比较向量第x维的值、k个第一结向量第x维的值和k个第二总结向量第x维的值确定的,具体的:
[0257]
当s
1,q
[x]>s
2,q
[x]时,q为小于等于k的正整数,x为小于等于x的正整数,k个第一重构总结向量中的第q个第一重构总结向量第x维的值通过如下公式表示:
[0258][0259]
当s
1,q
[x]≤s
2,q
[x],第q个第一重构总结向量第x维的值通过如下公式表示:
[0260][0261]
其中,表示第q个第一重构总结向量第x维的值,表示k个第一比较向量中的第q个第一比较向量第x维的值,s
2,q
[x]表示k个第二总结向量中的第q个第二总结向量第x维的值,s
1,q
[x]表示k个第一总结向量中的第q个第一总结向量第x维的值。
[0262]
在本技术实施例中,上述根据重构总结向量序列,对第一元组在至少k个类型的属性上存在的缺失的属性值进行填补,包括:
[0263]
将重构总结向量序列输入至m个多分类器,得到k个缺失值预测结果,m个多分类器与m个类型的属性一一对应;
[0264]
k个缺失值预测结果与第一元组在至少k个类型的属性上存在的缺失属性值一一对应;
[0265]
根据k个分类结果,对第一元组在至少k个类型的属性上存在的缺失的属性值进行填补;
[0266]
其中,上述m个多分类器是根据方法200中的步骤220的训练方法训练得到的。
[0267]
可以理解的是,上述方法300中未详细介绍的内容与上述方法200中的内容相同(例如,根据k个第一比较向量确定元组对包括的两个元组匹配的概率的方法等),可以参见上述方法200,此处不再详细赘述。
[0268]
应理解,上述图3所述的方法仅为示意并不对本技术提供的实体匹配方法进行任
何限定。例如,上述图3所示的方法是对存在缺失值的元组对进行实体匹配,以确定该存在缺失值的元组对包括的两个元组是否匹配。在另一个示例中,上述步骤310中的“存在缺失值的元组对”还可以替换为“不存在缺失值的元组对”。也就是说,根据本技术图3所示的方法300还可以对不存在缺失值的元组对进行实体匹配。
[0269]
上文结合图1至图3对本技术实施例的神经网络模型的训练方法以及实体匹配方法进行了详细的介绍,下面结合图4至图7对本技术提供的神经网络模型的训练装置、设备以及实体匹配装置、设备进行介绍。
[0270]
图4是本技术提供的神经网络模型的训练装置400的示意性框图。图4所示的神经网络模型的训练装置400包括获取单元401、处理单元402和训练单元403,
[0271]
该获取单元401,用于获取不存在缺失值的原始数据集;
[0272]
该处理单元402,用于构建训练数据集,该训练数据集是对不存在缺失值的原始数据集进行掩码得到的,该原始数据集中的每个元组对包括的两个元组属于同一实体,且该每个元组对包括m个类型的属性的属性值,该训练数据集中的每个元组对包括的至多一个元组的第一属性的属性值是被掩码的,该第一属性是该m个类型的属性中的一个或多个,m为正整数;
[0273]
该训练单元403,用于根据该训练数据集进行神经网络模型的训练,得到训练好的神经网络模型,其中,在训练该神经网络模型的过程中,通过该神经网络模型的第一模型所包括的多个底层神经网络模型来分别学习出每个属性的属性值的特征表示,通过该神经网络模型的第二模型来至少基于该第一模型输出的属性的属性值特征表示学习出预测标签,并至少基于该预测标签与该训练数据集的真实标签之间的差异来更新该神经网络模型的参数。
[0274]
可选的,在一些实施例中,该训练数据集包括n个元组对,n为正整数,该n个元组对中的第i个元组对中的第一元组在至少k个类型的属性上存在缺失,该第i个元组对中的第二元组在至少p个类型的属性上存在缺失,该至少k个类型的属性与该至少p个类型的属性不相同,k和p为小于等于m的正整数,且1≤k p≤m,i=1,2,3,

,n,该第二模型包括m个多分类器,该m个多分类器与该m个类型的属性一一对应,该处理单元402还用于:
[0275]
将该第i个元组对包括的该m个类型的属性的属性值输入至该第一模型,得到重构总结向量序列,该重构总结向量序列包括k个第一重构总结向量和p个第二重构总结向量,该k个第一重构总结向量是根据该第二元组在该至少k个类型的属性上的属性值确定的,该p个第二重构总结向量是根据该第一元组在该至少p个类型的属性上的属性值确定的;
[0276]
将该重构总结向量序列输入至该m个多分类器,得到第一预测标签集合,该第一预测标签集合中的第j个第一预测标签表示该第i个元组对中的在第j个属性上存在缺失的该第一元组或该第二元组在该第j个属性上的预测属性值,该第j个属性是该至少k个类型的属性或该至少p个类型的属性中的一个属性,j为小于等于k p的正整数;
[0277]
根据该第一预测标签集合和第一真实标签集合,确定第一损失值,该第一真实标签集合中的第j个第一真实标签表示该第i个元组对中的在该第j个属性上存在缺失的该第一元组或该第二元组在该第j个属性上的真实属性值,该第一损失值包括根据该第j个第一预测标签和该第j个第一预测标签确定的损失值;
[0278]
该训练单元403还用于:
[0279]
根据该第一损失值对该神经网络模型的参数进行更新,得到训练好的第一模型和训练好的m个多分类器。
[0280]
可选的,在一些实施例中,
[0281]
该k个第一重构总结向量是根据k个第一比较向量和k个第一总结向量对确定得到的,该k个第一比较向量是基于注意力机制对k个第二比较向量处理得到的,该k个第二比较向量是根据该第二元组包括的该至少k个类型的属性的属性值确定的比较向量,该k个第一总结向量对包括k个第一总结向量和k个第二总结向量,该k个第一总结向量是根据该第一元组包括的该至少k个类型的属性的属性值确定的总结向量该k个第二总结向量是根据该第二元组包括的该至少k个类型的属性的属性值确定的总结向量;
[0282]
该p个第二重构总结向量是根据p个第三比较向量和p个第二总结向量对确定得到的,该p个第三比较向量是基于注意力机制对p个第四比较向量处理得到的,该p个第四比较向量是根据该第一元组包括的该至少p个类型的属性的属性值确定的比较向量,该p个第二总结向量对包括p个第三总结向量和p个第四总结向量,该p个第三总结向量是根据该第一元组包括的该至少p个类型的属性的属性值确定的总结向量,该p个第四总结向量是根据该第二元组包括的该至少p个类型的属性的属性值确定的总结向量。
[0283]
可选的,在一些实施例中,
[0284]
该k个第一比较向量、该k个第一总结向量和该k个第二总结向量是维度为x的向量,x为正整数,
[0285]
当s
1,q
[x]>s
2,q
[x]时,q为小于等于k的正整数,x为小于等于x的正整数,该k个第一重构总结向量中的第q个第一重构总结向量第x维的值通过如下公式表示:
[0286][0287]
当s
1,q
[x]≤s
2,q
[x],该第q个第一重构总结向量第x维的值通过如下公式表示:
[0288][0289]
其中,表示该第q个第一重构总结向量第x维的值,表示该k个第一比较向量中的第q个第一比较向量第x维的值,s
2,q
[x]表示该k个第二总结向量中的第q个第二总结向量第x维的值,s
1,q
[x]表示该k个第一总结向量中的第q个第一总结向量第x维的值。
[0290]
可选的,在一些实施例中,
[0291]
该p个第三比较向量、该p个第三总结向量和该p个第四总结向量是维度为x的向量,x为正整数,
[0292]
当s
3,q
[x]>s
4,q
[x]时,q为小于等于k的正整数,x为小于等于x的正整数,该p个第二重构总结向量中的第q个第二重构总结向量第x维的值通过如下公式表示:
[0293][0294]
当s
3,q
[x]≤s
4,q
[x]时,该第q个第二重构总结向量第x维的值通过如下公式表示:
[0295][0296]
其中,表示该第q个第二重构总结向量第x维的值,表示该p个第三比较向量中的第q个第三比较向量第x维的值,s
4,q
[x]表示该p个第三总结向量中的第q个第三总结向量第x维的值,s
3,q
[x]表示该p个第四总结向量中的第q个第四总结向量第x维的值。
[0297]
可选的,在一些实施例中,该第一模型包括第一子模型和第二子模型,该第一子模型包括嵌入层、总结层、比较层和第一重建层,该第二子模型包括第二重建层,该处理单元402还用于:
[0298]
将该第i个元组对包括的该m个类型的属性的属性值输入至该第一子模型,得到该k个第一比较向量和该p个第三比较向量;
[0299]
将该k个第一比较向量和该p个第三比较向量输入至该第二重建层,得到该重构总结向量序列。
[0300]
可选的,在一些实施例中,该处理单元402还用于:
[0301]
将该第i个元组对包括的该m个类型的属性的属性值输入至该嵌入层,该嵌入层基于词嵌入对该m个类型的属性的属性值处理得到m个词向量对,该m个词向量对与该m个类型的属性的属性值一一对应;
[0302]
将该m个词向量对输入至该总结层,该总结层对该m个词向量对进行处理得到m个总结向量对,该m个词向量对与该m个总结向量对一一对应;
[0303]
将该m个总结向量对输入至该比较层,该比较层通过计算该m个总结向量对中每个总结向量对包括的两个总结向量之间的距离得到该k个第二比较向量和该p个第四比较向量;
[0304]
将该k个第二比较向量和该p个第四比较向量输入至该第一重建层,该第一重建层基于注意力机制分别对该k个第二比较向量和该p个第四比较向量处理得到该k个第一比较向量和该p个第三比较向量。
[0305]
可选的,在一些实施例中,该处理单元402还用于:
[0306]
获取第一元组对;
[0307]
将该第一元组对包括的属性的属性值输入至该训练好的神经网络模型中的第一子模型,得到该第一元组对对应的第一比较向量;
[0308]
将该第一元组对对应的第一比较向量输入至二分类器,得到第二预测标签,该第二预测标签用于指示该第一元组对包括的两个元组是否匹配;
[0309]
根据该第二预测标签和第二真实标签,确定第二损失值,该第二真实标签用于指示该第一元组对包括的两个元组的真实匹配情况;
[0310]
该训练单元403还用于:
[0311]
根据该第二损失值对该二分类器的参数进行更新,得到训练好的二分类器。
[0312]
可选的,在一些实施例中,该处理单元402还用于:
[0313]
对该第一元组对对应的第一比较向量进行处理,得到该第一个元组对包括的两个元组匹配的概率;
[0314]
当该概率大于等于预设阈值时,确定该第一个元组对包括的两个元组匹配;
[0315]
当该概率小于预设阈值时,确定该第一个元组对包括的两个元组不匹配。
[0316]
可选的,在一些实施例中,该处理单元402还用于:
[0317]
根据该第二损失值对该二分类器以及第三子模型的参数进行更新,得到训练好的二分类器和训练好的第三子模型,该第三子模型为该训练好的第一模型中的第一子模型。
[0318]
图5是本技术提供的神经网络模型的训练设备500的示意性框图。如图5所示,该神经网络模型的训练设备500包括:收发器510、处理器520和存储器530。其中,收发器510、处
理器520和存储器530之间通过内部连接通路互相通信,传递控制和/或数据信号,该存储器530用于存储计算机程序,该处理器510用于从该存储器530中调用并运行该计算机程序,以控制该收发器520收发信号。
[0319]
具体的,收发器510的功能与图4所示的获取单元401的具体功能相对应,此处不再赘述。
[0320]
具体的,处理器520的功能与图4所示的处理单元402和训练单元403的具体功能相对应,此处不再赘述。
[0321]
图6是本技术提供的实体匹配装置600的示意性框图。图6所示的实体匹配装置600包括获取单元601和处理单元602。
[0322]
该获取单元601,用于获取至少一个元组对;
[0323]
该处理单元602,用于将至少一个元组对输入至第一子模型,得到该至少一个元组对的k个第一比较向量,该至少一个元组对包括m个类型的属性的属性值,该至少一个元组对中的第一元组在至少k个类型的属性上存在缺失,该至少一个元组对中的第二元组在该m个类型的属性上不存在缺失,该k个第一比较向量是基于注意力机制对k个第二比较向量序列处理得到的,该k个第二比较向量是根据该第二元组包括的该至少k个类型的属性的属性值确定的比较向量,m为正整数,k为小于等于m的正整数;
[0324]
该处理单元602还用于:将该k个第一比较向量输入至二分类器,得到该至少一个元组对包括的两个元组是否匹配;
[0325]
可选的,在一些实施例中,该处理单元602还用于:
[0326]
对该k个第一比较向量进行处理,确定该至少一个元组对包括的两个元组匹配的概率;
[0327]
当该概率大于等于第一预设阈值时,确定该至少第一个元组对包括的两个元组匹配;
[0328]
当该概率小于第一预设阈值时,确定该至少第一个元组对包括的两个元组不匹配。
[0329]
可选的,在一些实施例中,该第一模型还包括第二子模型,该处理单元602还用于:
[0330]
将该k个第一比较向量输入至该第二子模型,得到重构总结向量序列,该重构总结向量序列包括k个第一重构总结向量,该k个第一重构总结向量是根据该k个第一比较向量和k个第一结向量对确定的,该k个第一总结向量对包括k个第一总结向量和k个第二总结向量,该k个第一总结向量是根据该第一元组包括的该至少k个类型的属性的属性值确定的总结向量该k个第二总结向量是根据该第二元组包括的该至少k个类型的属性的属性值确定的总结向量;
[0331]
根据该重构总结向量序列,对该第一元组在该至少k个类型的属性上存在的缺失的属性值进行填补。
[0332]
可选的,在一些实施例中,
[0333]
该k个第一比较向量、该k个第一总结向量和该k个第二总结向量是维度为x的向量,x为正整数,
[0334]
当s
1,q
[x]>s
2,q
[x]时,q为小于等于k的正整数,x为小于等于x的正整数,该k个第一重构总结向量中的第q个第一重构总结向量第x维的值通过如下公式表示:
[0335][0336]
当s
1,q
[x]≤s
2,q
[x]时,该第q个第一重构总结向量第x维的值通过如下公式表示:
[0337][0338]
其中,表示该第q个第一重构总结向量第x维的值,表示该k个第一比较向量中的第q个第一比较向量第x维的值,s
2,q
[x]表示该k个第二总结向量中的第q个第二总结向量第x维的值,s
1,q
[x]表示该k个第一总结向量中的第q个第一总结向量第x维的值。
[0339]
可选的,在一些实施例中,该至少一个元组对存在k个缺失值,k为小于m的正整数,该处理单元602还用于:
[0340]
将该重构总结向量序列输入至m个多分类器,得到k个缺失值预测结果,该m个多分类器与该m个类型的属性一一对应;
[0341]
该k个缺失值预测结果与该第一元组在该至少k个类型的属性上存在的缺失属性值一一对应;
[0342]
根据该k个分类结果,对该第一元组在该至少k个类型的属性上存在的缺失的属性值进行填补。
[0343]
图7是本技术提供的实体匹配设备700的示意性框图。如图7所示,该实体匹配设备700包括:收发器710、处理器720和存储器730。其中,收发器710、处理器720和存储器730之间通过内部连接通路互相通信,传递控制和/或数据信号,该存储器730用于存储计算机程序,该处理器720用于从该存储器730中调用并运行该计算机程序,以控制该收发器710收发信号。
[0344]
具体的,收发器710的功能与图6所示的获取单元601的具体功能相对应,此处不再赘述。
[0345]
具体的,处理器720的功能与图6所示的处理单元602的具体功能相对应,此处不再赘述。
[0346]
本技术实施例中的芯片可以是编程门阵列(field programmable gate array,fpga),可以是专用集成芯片(application specific integrated circuit,asic),还可以是系统芯片(system on chip,soc),还可以是中央处理器(central processor unit,cpu),还可以是网络处理器(network processor,np),还可以是数字信号处理电路(digital signal processor,dsp),还可以是微控制器(micro controller unit,mcu),还可以是可编程控制器(programmable logic device,pld)、其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,或其他集成芯片。
[0347]
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0348]
应注意,本技术实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或
者软件形式的指令完成。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0349]
可以理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0350]
根据本技术实施例提供的方法,本技术还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行图2和图3所示实施例中任意一个实施例的方法。
[0351]
根据本技术实施例提供的方法,本技术还提供一种计算机可读介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行图2和图3所示实施例中任意一个实施例的方法。
[0352]
根据本技术实施例提供的方法,本技术还提供一种系统,其包括前述的一个或多个第一模型以及一个或多个第二模型。
[0353]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0354]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0355]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0356]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0357]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0358]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0359]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献