一种基于预训练主动学习的重复数据融合检测方法技术

技术编号:38276424 阅读:8 留言:0更新日期:2023-07-27 10:27
本发明专利技术公开一种基于预训练主动学习的重复数据融合检测方法,包括在标记数据集中生成候选对,并将候选对进行序列化获得序列化数据集;将序列化数据集输入NER模型来识别已知类型,并使用正则表达式来识别特定类型;对序列化数据集进行预处理;将预处理后的序列化数据集输入预训练模型Bert,将选择当前模型在未标记数据集中最不确定的数据,并进行标记,再将已标记的数据将输入标记数据集;使用R

【技术实现步骤摘要】
一种基于预训练主动学习的重复数据融合检测方法


[0001]本专利技术具体涉及一种基于预训练主动学习的重复数据融合检测方法。

技术介绍

[0002]在大数据时代,数据质量问题越来越突出,特别是数据的重复录入、多源数据库合并导致的类似重复记录等,这些“脏数据”问题严重限制了大数据的有效应用,因此,检测重复数据成为被广泛讨论和研究的课题。在检测重复数据的算法中,目前常用的模糊匹配算法、基于SNM的算法、基于聚类的算法和基于神经网络的算法。基于模糊匹配的算法,主要思想是选择一个或多个关键字,每个数据依次计算与其他数据根据字符串相似度公式,如果相似度大于阈值,它被认为是重复数据,常用算法是:Smith

Waterman算法,N

Gram算法。基于SNM的算法主要分为三个步骤:选择关键词、排序和合并。但上述两种方法都存在一个问题:难以选择关键词。如果关键词选择不合适,不仅会直接影响检测效率,而且对结果的准确率也有很大的影响;基于聚类的方法,如Dedupe,其主要思想是首先使用支持向量机实现由多个字段组成的记录之间的精确距离估计,最后通过层次聚类,距离度量采用“平均度量”的思想,将距离近的聚为一类,但该方法无法很好的理解数据间的语义信息;
[0003]近几年随着深度学习的发展,不少基于神经网络的检测重复记录的算法被提出,如Sentencebert:该模型属于BERT模型的变体,训练句子嵌入用于句子相似性搜索,训练后的模型为每个记录生成一个高维(例如,BERT为768)向量,使用它与向量余弦相似度来找到重复数据。基于Transformer的预训练语言模型(TPLMs),如BERT和RoBERTa,已经在广泛的NLP任务中表现出良好的性能,这些模型使用大量未标记文本语料库进行预训练,如维基百科;由于Transformer架构是从输入序列中的所有令牌计算出的令牌嵌入,因此由预训练模型生成的嵌入比其他方法,如word2vec、GloVe或FastText,更具有高度的上下文相关性,并能充分理解语义;在实体匹配中,预训练模型已被证明能够很好地理解上下文信息,并在脏数据集中表现良好。但上述基于神经网络的方法,都需要大量的标记数据对其进行训练;
[0004]综上所述,传统的重复数据识别模型通常是通过计算不同列数据之间的相似度来确定的,这不仅耗时,而且高度依赖于属性之间的相似度,而不考虑属性之间的语义关系。此外,在实际的业务场景中,手动获取有标记的重复数据用于训练和验证模型的成本很高。

技术实现思路

[0005]本专利技术主要是克服现有技术中存在的缺点,本专利技术提供一种基于预训练主动学习的重复数据融合检测方法。
[0006]本专利技术解决上述技术问题,所提供的技术方案是:一种基于预训练主动学习的重复数据融合检测方法,包括以下步骤:
[0007]步骤1、首先使用Block策略在标记数据集中生成候选对,并将候选对进行序列化获得序列化数据集;
[0008]步骤2、将序列化数据集输入NER模型来识别已知类型,并使用正则表达式来识别
特定类型;
[0009]步骤3、对序列化数据集进行预处理;
[0010]步骤4、将预处理后的序列化数据集输入预训练模型Bert,将选择当前模型在未标记数据集中最不确定的数据,并进行标记,再将已标记的数据将输入标记数据集;
[0011]步骤5、使用R

Drop策略进行数据增强对步骤4中的标记数据集进行增强;
[0012]步骤6、将增强后的标记数据集重复步骤1

6继续迭代,直到迭代结束,获得最终的标记数据集。
[0013]进一步的技术方案是,所述步骤1中根据以下公式进行序列化;
[0014]serialize(e,e

)=[CLS]serialize(e)[SEP]serialize(e

)[SEP][0015]式中:serialize(e,e

)为序列化后的数据。
[0016]进一步的技术方案是,所述步骤2中NER模型为:
[0017]{start,end,label}=NER(serialize(e,e

))
[0018]式中:serialize(e,e

)为序列化后的数据;start为实体的起始位置;end为实体的结束位置;label为被识别实体的标签。
[0019]进一步的技术方案是,所述步骤2中使用[LAST][/LAST]标记已识别的实体片段;
[0020]serialize(e,e

)
start
=[LAST][0021]serialize(e,e

)
end
=[/LAST][0022]式中:serialize(e,e

)为序列化后的数据;start为实体的起始位置;end为实体的结束位置。
[0023]进一步的技术方案是,所述步骤3中的预处理公式为:
[0024]x=MAX_TFIDF(serialize(e,e

))
j
,0<j<n
[0025]式中:serialize(e,e

)为序列化后的数据;x为预处理后得到的序列化条目;n为模型输入的最大字符串长度。
[0026]进一步的技术方案是,所述步骤4中的公式为:
[0027]y
cls
=Bert_CLS(x
i
)
[0028]P=softmax(w*y
cls
+b)
[0029]式中:x
i
为预处理后得到的序列化数据;y
cls
为Bert输出的[CLS];w和b分别为线性层的权重和偏差。
[0030]进一步的技术方案是,所述步骤6中训练损失函数为:
[0031][0032][0033][0034]式中:α为超参数。
[0035]本专利技术的有益效果:
[0036]一、本专利技术提出了一种基于主动学习的预训练重复数据检测模型,该模型基于预训练的Transformer语言模型,并将重复数据删除作为序列对分类问题进行微调,使模型有更好的语义理解;
[0037]二、本专利技术还结合了结合主动学习算法,选择最有价值的数据进行手工标注,降低人工标注的成本,用少量数据快速提高模型的质量;
[0038]三、使用R

Drop对每一轮标记数据进行数据增强。与删除、修改等传统方法相比,R

Drop可以更好地保证增强数据的语义正确性,使训练后的模型更具有鲁棒性。
附图说明
[0039]图1是本方法的模型设计架构图;
[0040]图2是不同模型重复数据检测Recall直方图;
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于预训练主动学习的重复数据融合检测方法,其特征在于,包括以下步骤:步骤1、首先使用Block策略在标记数据集中生成候选对,并将候选对进行序列化获得序列化数据集;步骤2、将序列化数据集输入NER模型来识别已知类型,并使用正则表达式来识别特定类型;步骤3、对序列化数据集进行预处理;步骤4、将预处理后的序列化数据集输入预训练模型Bert,将选择当前模型在未标记数据集中最不确定的数据,并进行标记,再将已标记的数据将输入标记数据集;步骤5、使用R

Drop策略进行数据增强对步骤4中的标记数据集进行增强;步骤6、将增强后的标记数据集重复步骤1

6继续迭代,直到迭代结束,获得最终的标记数据集。2.根据权利要求1所述的一种基于预训练主动学习的重复数据融合检测方法,其特征在于,所述步骤1中根据以下公式进行序列化;serialize(e,e

)=[CLS]serialize(e)[SEP]serialize(e

)[SEP]式中:serialize(e,e

)为序列化后的数据。3.根据权利要求1所述的一种基于预训练主动学习的重复数据融合检测方法,其特征在于,所述步骤2中NER模型为:{start,end,label}=NER(serialize(e,e

))式中:serialize(e,e

)为序列化后的数据;start为实体的起始位置;end为实体的结束位置;label为被识别实体的标签。4.根据权利要求3所述的一种基于预训练主动...

【专利技术属性】
技术研发人员:杜圣东刘心瑶李天瑞胡节
申请(专利权)人:西南交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1