基于crf的敏感数据识别方法、系统、装置及介质
技术领域
1.本发明涉及数据识别技术领域,具体地说是基于crf的敏感数据识别方法、系统、装置及介质。
背景技术:2.大数据背景下,数据类型繁多,内容繁杂、巨大,且处理速度比较快,这是传统信息化数据所不具备的特征。特别是随着互联网等信息技术的发展,大数据已经在各行各业中得到了广泛的应用,并充分发挥中着自己的优势。然而,随着数据价值的深入挖掘,数据中的隐私敏感信息也面临着被泄露和滥用的风险,所以加强对敏感数据的识别和保护已经成为数据安全领域刻不容缓要解决的问题。
3.敏感数据识别是对数据中的敏感信息进行发现识别,包括身份信息、位置信息、联系方式等,这些信息涉及到个人信息的隐私性,因此如果能够在海量的大数据背景下对其中包含的敏感信息进行精确识别,对大数据构建数据安全防护盾具有重要的意义。
4.命名实体识别(named entity recognition,简称ner),又称作“专名识别”,是指识别文本中具有特定意义的实体。命名实体识别是信息提取、问答系统、句法分析、机器翻译等应用领域的重要基础工具,在自然语言处理技术走向实用化的过程中占有重要地位。一般来说,命名实体识别的任务就是识别出待处理文本中的实体类,具体可以指数字类、人名类、机构名类、地名类、时间类等。基于命名实体识别算法模型,可以进行深度机器学习,使其知识库中扩展更多的实体类。通常来说,命名实体识别算法主要包括两个过程:实体边界识别和确定实体类别。基于其知识库中的实体类来鉴定实体的边界,根据边界特征确定实体类别。
5.其中的实体是指某一个概念的实例,所谓的实体识别,即将想要获取到的实体类型,从一段文本中挑出来的过程。ner整个过程是对序列进行标注的问题,因此在对数据识别的过程中也遵照了序列标注问题的方式进行数据标注,主要有bio和bioes两种。以bioes为例,b-begin,表示开始;i-intermediate,表示中间;e-end,表示结尾;s-single,表示单个字符;o-other,表示其他,标记无关字符。主要流程如图1所示。
6.如何快速高效的识别出数据中的敏感信息,是需要解决的技术问题。
技术实现要素:7.本发明的技术任务是针对以上不足,提供基于crf的敏感数据识别方法、系统、装置及介质,来解决如何快速高效的识别出数据中的敏感信息的技术问题。
8.第一方面,本发明的基于crf的敏感数据识别方法,包括如下步骤:
9.基于双向神经网络模型和crf模型构建命名实体模型,所述双向神经网络的损失层中定义有矩阵,所述矩阵用于充当决策表,所述矩阵的shape为[batch_size,num_steps,num_tags],batch_size为数据批量数,num_steps为文本句子长度,num_tags为标记的个数,即命名实体识别总标记的个数;
[0010]
通过预训练后命名实体模型进行敏感数据识别;
[0011]
所述命名实体模型的预训练包括:
[0012]
将含有敏感信息的数据文本作为输入本文,将所述输入文本输入双向神经网络模型进行特征提取,输出特征以及特征概率,并基于特征生成对应的命名实体,构建命名实体库和对应的label知识库,label为命名实体的标签;
[0013]
将双向神经网络的输出结果、所述输入文本的label以及矩阵的输入作为参数,将所述参数输入到crf模型中计算损失;
[0014]
基于所述识别模型的预训练过程进行多次迭代训练,优化模型参数,扩展命名实体库和label知识库,并得到预训练后命名实体模型。
[0015]
作为优选,所述crf模型的参数化表现形式如下:
[0016][0017][0018]
其中,tk表示状态转移函数,vk表示状态转移函数对应的权值,s
l
表示发射函数,u
l
表示发射函数对应的权值,当tk、vk、s
l
以及u
l
已知时,能够计算出p(yi|x)。
[0019]
作为优选,所述损失包括一元损失和二元损失,一元损失为输入句子中,第i个词去某个标记的概率,表示为:
[0020][0021]
二元损失为输入句子对应的整个序列从一个标记转化到下一个标记的损失值,表示为:
[0022][0023]
第二方面,本发明的基于crf的敏感数据识别系统,用于通过第一方面任一项所述的基于crf的敏感数据识别方法进行敏感数据识别,所述系统包括:
[0024]
模型构建模块,所述模型构建模块用于基于双向神经网络模型和crf模型构建命名实体模型,在双向神经网络的损失层中定义有矩阵,所述矩阵用于充当决策表,所述矩阵的shape为[batch_size,num_steps,num_tags],batch_size为数据批量数,num_steps为文本句子长度,num_tags为标记的个数,即命名实体识别总标记的个数;
[0025]
模型预训练模块,所述模型预训练模块用于对构建的命名实体模型进行预训练,并扩展命名实体库和label知识库;
[0026]
识别模块,所述识别模块用于通过预训练后的命名实体模型对敏感数据进行识别发现;
[0027]
所述模型预训练模块用于通过如下步骤进行预训练:
[0028]
将含有敏感信息的数据文本作为输入本文,将所述输入文本输入双向神经网络模
型进行特征提取,输出特征以及特征概率,并基于特征生成对应的命名实体,构建命名实体库和对应的label知识库,label为命名实体的标签;
[0029]
将双向神经网络的输出结果、所述输入文本的label以及矩阵的输入作为参数,将所述参数输入到crf模型中计算损失;
[0030]
基于所述识别模型的预训练过程进行多次迭代训练,优化模型参数,扩展命名实体库和label知识库,并得到预训练后命名实体模型。
[0031]
作为优选,所述crf模型的参数化表现形式如下:
[0032][0033][0034]
其中,tk表示状态转移函数,vk表示状态转移函数对应的权值,s
l
表示发射函数,u
l
表示发射函数对应的权值,当tk、vk、s
l
以及u
l
已知时,能够计算出p(yi|x)。
[0035]
作为优选,所述损失包括一元损失和二元损失,一元损失为输入句子中,第i个词去某个标记的概率,表示为:
[0036][0037]
二元损失为输入句子对应的整个序列从一个标记转化到下一个标记的损失值,表示为:
[0038][0039]
第三方面,本发明的装置,包括:至少一个存储器和至少一个处理器;
[0040]
所述至少一个存储器,用于存储机器可读程序;
[0041]
所述至少一个处理器,用于调用所述机器可读程序,执行第一方面任一所述的方法。
[0042]
第四方面,本发明的介质,为计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面任一所述的方法。
[0043]
本发明的基于crf的敏感数据识别方法、系统、装置及介质具有以下优点:基于双向神经网络模型和crf模型构建命名实体模型,在模型预训练过程中,通过双向神经网络模型进行特征提取,通过特征抽取生成与数据实体相互绑定的label知识库,基于命名实体模型和label知识库可以做到对已定义的敏感数据进行识别,也可以通过对未定义的敏感数据进行命名实体机器训练,不断的扩展其实体知识库和label知识库,从而可高效准确的识别敏感信息。
附图说明
[0044]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述
中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0045]
下面结合附图对本发明进一步说明。
[0046]
图1为ner的流程框图;
[0047]
图2为实施例1基于crf的敏感数据识别的流程框图。
具体实施方式
[0048]
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
[0049]
本发明实施例提供基于crf的敏感数据识别方法、系统、装置及介质,用于解决如何快速高效的识别出数据中的敏感信息的技术问题。
[0050]
实施例1:
[0051]
本发明基于crf的敏感数据识别方法,基于双向神经网络模型和crf模型构建命名实体模型,所述双向神经网络的损失层中定义有矩阵,所述矩阵用于充当决策表,所述矩阵的shape为[batch_size,num_steps,num_tags],batch_size为数据批量数,num_steps为文本句子长度,num_tags为标记的个数,即命名实体识别总标记的个数;通过预训练后命名实体模型进行敏感数据识别。
[0052]
其中,命名实体模型的预训练包括:
[0053]
(1)将含有敏感信息的数据文本作为输入本文,将所述输入文本输入双向神经网络模型进行特征提取,输出特征以及特征概率,并基于特征生成对应的命名实体,构建命名实体库和对应的label知识库,label为命名实体的标签;
[0054]
(2)将双向神经网络的输出结果、所述输入文本的label以及矩阵的输入作为参数,将所述参数输入到crf模型中计算损失;
[0055]
(3)基于所述识别模型的预训练过程进行多次迭代训练,优化模型参数,扩展命名实体库和label知识库,并得到预训练后命名实体模型。
[0056]
本实施例中,基于双向神经网络模型和crf模型构建命名实体模型。
[0057]
crf(条件随机场)是根据给定一组变量的情况下,求解另一组变量的条件概率模型。其核心是基于可观测变量推测出未知变量的条件分布。其参数化表现形式如下:
[0058][0059][0060]
其中,tk表示状态转移函数,vk表示状态转移函数对应的权值,s
l
表示发射函数,u
l
表示发射函数对应的权值,当tk、vk、s
l
以及u
l
已知时,能够计算出p(yi|x)。
[0061]
基于命名实体算法模型的敏感数据识别,是一个分词和序列标注的过程。在模型预训练中,将含有敏感信息的数据文本(身份证、电话号码、家庭住址)经过神经网络(双向
lstm)进行特征提取之后,得到特征输出。在训练时,将这个特征和相应的标记输入到条件随机场中,就可以计算损失了。
[0062]
命名识别属于决策性问题,会有决策表用损失来描述后果,本实施例中,在双向神经网络模型的损失层定义一个矩阵,用矩阵来充当决策表的作用,该矩阵的shape为[batch_size,num_steps,num_tags],batch_size为数据批量数,num_steps为文本句子长度,num_tags为标记的个数,即命名实体识别总标记的个数。
[0063]
将双向神经网络模型最后一层的输出、输入文本句子的label(即每个字的label)和矩阵的输入作为参数,就可以计算出损失了。句子的label即为命名实体模型中识别出的命名实体标签,与特征标识有关。
[0064]
上述求得的损失包括一元损失和二元损失,分别表示序列之间转化的损失和转化矩阵的损失值。在命名实体算法中,一元损失:输入句子中,第i个词,取某个标记的概率;二元损失:整个序列从一个标记转化到下一个标记的损失值。
[0065]
一元损失表示为:
[0066][0067]
二元损失表示为:
[0068][0069]
在预训练过程中,以“小明的联系电话为16452861111”为例,首先对文本进行label标注,“小明”:b-person、“的联系电话为”:o、“16452861111”:e-tel。基于大量这样的训练参数,通过神经网络不断的学习,得到某下标文本标记为某类label的概率,通过扩展label知识库,不断的扩展敏感信息的种类,不断随着训练过程优化,就可以实现敏感数据的发现和识别。
[0070]
通过神经网络训练,扩展命名实体种类库,实现预测文本信息时,获取某段文字被识别出某种命名实体的概率。
[0071]
crf是通过给定一个随机序列的情况下,求另一个随机序列的概率分布的概率图模型。本实施例基于此实现了通过命名实体算法对敏感数据信息进行识别发现的方法。
[0072]
本实施例中,敏感数据识别训练过程,在命名实体识别的神经网络中输入识别文本,首先经过层层的特征提取,并逐步计算序列转化的损失值,得到最终的特征输出,通过不断的训练将输出的特征和相应的标记(label)作为输入送至条件随机场中,计算损失,得到特征概率分布模型。在敏感数据识别的训练中,将敏感数据文本和label标签进行不断的训练,这样经crf就可以识别出敏感数据的命名主体了。
[0073]
本实施例的方法中,基于crf算法实现了命名实体算法模型,通过自定义或预置的命名实体对命名实体算法模型进行不断的机器学习训练,通过特征抽取生成与数据实体相互绑定的label知库。基于命名实体算法模型和label知识库可以做到对已定义的敏感数据进行识别,也可以通过对未定义的敏感数据进行命名实体机器训练,不断的扩展其实体知识库和label知识库。
[0074]
对命名实体算法模型进行机器学习训练,通过前期训练,可基于常见的敏感数据
生成预置的敏感数据命名实体,通过神经网络的不断学习和特征抽取形成与之对应的label知识库。
[0075]
通过神经网络的学习和特征抽取,每一种敏感数据命名实体和与之对应的label进行绑定,那么命名实体算法模型对已绑定的敏感数据实体类型便具有了快速识别扫描并标注label的计算能力。
[0076]
基于预置的敏感数据命名实体库和label知识库,本发明中的命名实体算法模型对常见敏感数据便具有了高效、精准、快速的识别能力。
[0077]
通过扩展自定义的命名实体,并加以进行神经网络机器学习训练,本发明中的命名实体算法模型可以实现敏感数据识别范围的扩容。不断扩展模型中的命名实体库和label知识库。面对未知的敏感数据识别场景,通过神经网络学习抽取未知敏感数据的特征,生成对应的命名实体,加以进行神经网络训练扩容label知识库。使命名实体算法模型面对未知的敏感数据也可以快速的学习、记录并识别。
[0078]
基于命名实体算法模型的敏感数据识别方法,可以消除敏感数据类型不同对识别效率的影响,在本方法中,对每一类型的敏感数据都会进行不断迭代的神经网络特征抽取来生成命名实体,因此对于文本中不同类型的敏感数据,识别方法都会为其标注唯一的label。从而实现了敏感数据识别方法对敏感数据识别的通用性。
[0079]
实施例2:
[0080]
本发明基于crf的敏感数据识别系统,包括模型构建模块、模型预训练模块和识别模块。
[0081]
模型构建模块用于基于双向神经网络模型和crf模型构建命名实体模型,在双向神经网络的损失层中定义有矩阵,所述矩阵用于充当决策表,所述矩阵的shape为
[0082]
[batch_size,num_steps,num_tags],batch_size为数据批量数,num_steps为文本句子长度,num_tags为标记的个数,即命名实体识别总标记的个数,
[0083]
模型预训练模块用于对构建的命名实体模型进行预训练,并扩展命名实体库和label知识库。
[0084]
识别模块用于通过预训练后的命名实体模型对敏感数据进行识别发现。
[0085]
模型预训练模块用于通过如下步骤进行预训练:
[0086]
(1)将含有敏感信息的数据文本作为输入本文,将所述输入文本输入双向神经网络模型进行特征提取,输出特征以及特征概率,并基于特征生成对应的命名实体,构建命名实体库和对应的label知识库,label为命名实体的标签;
[0087]
(2)将双向神经网络的输出结果、所述输入文本的label以及矩阵的输入作为参数,将所述参数输入到crf模型中计算损失;
[0088]
(3)基于识别模型的预训练过程进行多次迭代训练,优化模型参数,扩展命名实体库和label知识库,并得到预训练后命名实体模型。
[0089]
述crf模型的参数化表现形式如下:
[0090]
[0091][0092]
其中,tk表示状态转移函数,vk表示状态转移函数对应的权值,s
l
表示发射函数,u
l
表示发射函数对应的权值,当tk、vk、s
l
以及u
l
已知时,能够计算出p(yi|x)。
[0093]
损失包括一元损失和二元损失,一元损失为输入句子中,第i个词去某个标记的概率,表示为:
[0094][0095]
二元损失为输入句子对应的整个序列从一个标记转化到下一个标记的损失值,表示为:
[0096][0097]
本实施例的系统可执行实施例1公开的方法,通过该方法高效准确的进行敏感信息识别。
[0098]
实施例3:
[0099]
本发明的装置,包括:至少一个存储器和至少一个处理器;
[0100]
所述至少一个存储器,用于存储机器可读程序;
[0101]
所述至少一个处理器,用于调用所述机器可读程序,执行实施例1公开的方法。
[0102]
实施例4:
[0103]
本发明的介质,为一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行实施例1公开的方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
[0104]
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
[0105]
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
[0106]
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
[0107]
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
[0108]
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须
的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
[0109]
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,fpga或asic)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
[0110]
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。