一种基于自然语义处理和深度学习的敏感信息提取方法技术

技术编号:36702570 阅读:49 留言:0更新日期:2023-03-01 09:20
本发明专利技术公开了一种基于自然语义处理和深度学习技术的敏感信息提取方法,可对大规模非结构化数据中的敏感信息进行提取。首先,从互联网中下载多个是文本文件,对不同格式的富文本文件使用开源工具进行解析;之后,对解析后的文本文件,使用正则匹配算法对具有可预测模式的敏感信息进行提取;其次,使用自然语义处理模型

【技术实现步骤摘要】
一种基于自然语义处理和深度学习的敏感信息提取方法


本专利技术涉及信息安全
,更具体地,本专利技术考虑了网络中敏感信息的智能提取方法,及文本文件的处理过程,提出一种基于自然语义处理方法如正则匹配和BERT,及改进长短期记忆网络的网络敏感信息提取方法。

技术介绍

信息泄漏一直是信息安全领域的一个重要问题,敏感信息一旦泄漏,会导致严重后果。而大多数敏感信息都储存在非结构化数据中,如何提取来自大量非结构化数据中的敏感信息已成为最重要的信息之一挑战。针对网络中敏感信息提取的研究就是在这种背景下产生。敏感信息提取的目的是通过自然语义处理方法从文本文件中提取出敏感信息,通过判断敏感信息的存在对其加以保护,而网络中存在的文本文件大多存储非结构化数据中,单纯使用基于正则匹配的方法识别提取文件中的敏感信息存在提取不完整,提取准确度不高等问题。因此,有必要对非结构化数据进行处理,进而采用现存的智能方法对敏感信息提取,实现敏感信息提取的高度完整性、精准性。非结构化数据文件格式种类多,不同格式的文件需要特定的工具或软件对其进行解析。目前对于敏感信息提取的研究主要可分为基于正则匹配的方法和基于机器学习算法的方法。前者更加关注敏感信息模式的定义,通过定义提取模板进行信息提取,该种方法的准确率强依赖定义的提取模板,受主观影响较大。基于机器学习的信息提取方法主要基于统计模型,如隐马尔科夫模型、最大熵模型、支持向量机等,但这些方法易受预料库本身问题造成的数据稀疏的问题,实际中经常出现把非敏感信息错当成敏感信息提取出来,误报率较高,而近些年流行的深度学习方法能够将文本内容以序列的方式输入进行模型训练,可学习文本序列内容的词向量间关系。为了将文本内容转化为词向量以实现智能化提取,现存的Word2Vector属于静态模型无法处理文本文件中的多义词,因此有必要使用动态模型对文本内容进行处理。同时,长短期记忆网络(LSTM)作为一种高效的深度学习算法,可一次性输入文本序列内容学习序列内词向量间的关系,这无疑加大了识别敏感信息的准确性,本专利技术通过改进LSTM形成具有注意力机制的双向长短期记忆网络(ABi

LSTM)以实现敏感信息的精准识别。针对具有可预测模型的文本,本专利技术采用传统的正则匹配方法对敏感信息进行提取,为了提高敏感信息识别效果,本专利技术采用BERT模型对文本内容进行向量化实现相同词语在不同句子中具有的不同意义的向量转换,进而生成文本序列并对ABi

LSTM进行训练以实现敏感信息的二次提取。

技术实现思路

本专利技术的目的在于一种基于自然语义处理和深度学习的敏感信息提取方法,该方法可以应用于信息安全、信息检索等领域方面的敏感信息提取工作中。
一种基于自然语义处理和深度学习的敏感信息提取方法,包括如下步骤:步骤S1:文本文件采集,根据格式将文本文件分为纯文本文件集P和富文本文件集R,其中富文本文件格式包括HTML,XML,pdf,doc,pst,rtf;步骤S2:富文本文件解析,使用开源工具HTMLParser,Pugixml,PDFLib,python

docx,libpst,win32com不同格式的富文本文件进行解析;步骤S3:可预测模型的敏感信息提取,使用正则匹配方法对具有可预测模型文本进行敏感信息提取,如IP地址、MAC地址、邮箱、AIP关键字、证书、证书请求、私钥内容;步骤S4:文本序列生成,对解析后的文本文件进行文本清洗,文本文本分割,以及文本替换;步骤S5:词向量嵌入,使用动态词嵌入算法BERT对文本序列中的词进行向量转化;步骤S6:训练、验证、测试数据集划分,按比例将词向量划分为训练数据集,验证数据集和测试数据集;步骤S7:模型训练,将测试词向量数据集输入双向长短期记忆网络(Bi

LSTM)中,并向训练模型增加注意力机制形成双向注意力长短期记忆网络模型(ABi

LSTM);步骤S8:模型有效性测试,使用测试集测试ABi

LSTM模型。上述技术方案中,在步骤S2中,解析富文本文件的具体步骤为:步骤S201:针对HTML文件,使用HTMLParser中的Parser类创建解释器,创建Filter过滤或Visitor访客规则,根据Filter或Visitor使用解释器获取符合条件文本节点,对文本节点解析;步骤S202:针对XML文件,根据文件内标签将原始XML文件转为对象模型集合,使用DOM树存储转换后的数据结构,通过DOM接口随机访问存储数据实现文本文件解析;步骤S203:针对pdf文件,解析文件尾获取交叉应用表和根对象编号,使用PDFLib库根据交叉引用表以及根对象编号逐层解析文档;步骤S204:针对doc、docx文档,获取要解析的文档对象,输出文档中每一段内容,输出段落编号及段落内容完成解析;步骤S205:针对pst文件,使用libpst直接解析文件,抽取邮件正文和附件等进行解析;针对rtf文件,使用win32com抽取文件正文等进行解析。上述技术方案中,在步骤S3中提取具有可预测模型特征的敏感信息,提取可预测模型文本中的敏感信息具体可表示为:步骤S301:定义具有可预测模型特征的敏感信息,如IP地址,email地址,API关键字,私钥和证书文本;步骤S302:使用Python中re模块中的sub()函数提取步骤S301中定义的具有可预测模型特征的敏感信息;步骤S303:保存敏感信息。上述技术方案中,在步骤S4中对解析后文本生成文本序列生成,具体可表示为:步骤S401:文本清洗,移除文本中每行的开始和结束的非ASCII字符和空格字符,将大写字符转化为对应的小写字符;步骤S402:文本分割,对文本进行切割成多行,对每行文本作为句子并使用“WordPiece”进行分词;
步骤S403:文本替换,对文本内容URL、email进行格式替换,替换后格式为:email username domain和http domain letters。上述技术方案中,在步骤S5中对文本序列中的词进行向量转化,具体可表示为:步骤S501:定义步骤S4中生成的文本序列为X={x1,x2,x3,...,x
n
},x
n
为文本序列中第n个单词;步骤S502:使用BERT算法计算文本序列X对应的词向量序列E={e1,e2,e3,...,e
n
},其中e
n
为第n个单词x
n
对应的词向量。上述技术方案中,在步骤S6中对经步骤S5生成的词向量序列划分为训练数据集,验证数据集和测试数据集,具体可表示为:步骤S601:对文本序列进行打标签操作,打标签操作采用“BIO”策略;步骤S602:按一定比例将词向量序列集分为训练数据集、验证数据集和测试数据集,三者数据量比例为7:1:2。上述技术方案中,在步骤S7中使用步骤S6生成的训练数据集,验证数据集对模型进行训练及调整ABi

LSTM模型,具体可表示为:步骤S701:更新长短期记忆网络(LSTM)的门结构,具体步骤如本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于自然语义处理和深度学习的敏感信息提取方法,其特征在于,包括如下步骤:步骤S1:文本文件采集,根据格式将文本文件分为纯文本文件集P和富文本文件集R,其中富文本文件格式包括HTML,XML,pdf,doc,pst,rtf;步骤S2:富文本文件解析,使用开源工具HTMLParser,Pugixml,PDFLib,python

docx,libpst,win32com不同格式的富文本文件进行解析;步骤S3:可预测模型的敏感信息提取,使用正则匹配方法对具有可预测模型文本进行敏感信息提取,如IP地址、MAC地址、邮箱、AIP关键字、证书、证书请求、私钥内容;步骤S4:文本序列生成,对解析后的文本文件进行文本清洗,文本文本分割,以及文本替换;步骤S5:词向量嵌入,使用动态词嵌入算法BERT对文本序列中的词进行向量转化;步骤S6:训练、验证、测试数据集划分,按比例将词向量划分为训练数据集,验证数据集和测试数据集;步骤S7:模型训练,将测试词向量数据集输入双向长短期记忆网络(Bi

LSTM)中,并向训练模型增加注意力机制形成双向注意力长短期记忆网络模型(ABi

LSTM);步骤S8:模型有效性测试,使用测试集测试ABi

LSTM模型。2.根据权利要求1中所述的一种基于自然语义处理和深度学习的敏感信息提取方法,其特征在于,在步骤S2中,解析富文本文件的具体步骤为:步骤S201:针对HTML文件,使用HTMLParser中的Parser类创建解释器,创建Filter过滤或Visitor访客规则,根据Filter或Visitor使用解释器获取符合条件文本节点,对文本节点解析;步骤S202:针对XML文件,根据文件内标签将原始XML文件转为对象模型集合,使用DOM树存储转换后的数据结构,通过DOM接口随机访问存储数据实现文本文件解析;步骤S203:针对pdf文件,解析文件尾获取交叉应用表和根对象编号,使用PDFLib库根据交叉引用表以及根对象编号逐层解析文档;步骤S204:针对doc、docx文档,获取要解析的文档对象,输出文档中每一段内容,输出段落编号及段落内容完成解析;步骤S205:针对pst文件,使用libpst直接解析文件,抽取邮件正文和附件等进行解析;针对rtf文件,使用win32com抽取文件正文等进行解析。3.根据权利要求2中所述的一种基于自然语义处理和深度学习的敏感信息提取方法,其特征在于,步骤S3提取具有可预测模型特征的敏感信息,提取可预测模型文本中的敏感信息具体可表示为:步骤S301:定义具有可预测模型特征的敏感信息,如IP地址,email地址,API关键字,私钥和证书文本;步骤S302:使用Python中re模块中的sub( )函数提取步骤S301中定义的具有可预测模型特征的敏感信息;步骤S303:保存敏感信息。4.根据权利要求2所述的一种基于自然语义处理和深度学习的敏感信息提取方法,其特征在于,在步骤S4中对解析后文本生成文本序列生成,具体可表示为:
步骤S401:文本清洗,移除文本中每行的开始和结束的非ASCII字符和空格字符,将大写字符转化为对应的小写字符;步骤S402:文本分割,对文本进行切割成多行,对每行文本作为句子并使用“WordPiece”进行分词;步骤S403:文本替换,对文本内容URL、email进行格式替换,替换后格式为:email username domain和http domain letters。5.根据权利要求4所述的一种基于自然语义处理和深度学习的敏感信息提取方法,其特征在于,在步骤S5中对文本序列中的词进行向量转化,具体可表示为:步骤S501:定义步骤S4中生成的文本序列为X={x1,x2,x3,...,x
n
},x
n
为文本序列中第n个单词;步骤S502:使用BERT算法计算文本序列X对应的词向量序列E={e1,e2,e3,...,e
n
},其中e
n
为第n个单词x
n
对应的词向量。6.根据权利要求5所述的一种基于自然语义处理和深度学习的敏感信息提取方法,其特征在于,在步骤S6中对经步骤S5生成的词向量序列划分为训练数据集,验证数据集和测试数据集,具体可表示为:步骤S601:对文本序列进行打标签操作,打标签操作采用“BIO”策略;步骤S602:按一定比例将词向量序列集分为训练数据集、验证数据集和测试数据集,三者数据量比例为7:1:2。7.根据权利要求6所述的一种基于自然语义处理和深度学习的敏感信息提取方法,其特征在于,在步骤S7中使用步骤S6生成的训练数据集,验证数据集对模型进行训练及调整ABi

LSTM模型,具体可表示为:步骤S701:更新长短期记忆网络(LSTM)的门结构,具体步骤如下:

更新LSTM的忘记门:f
t
=σ(W
f
e
t
+U
f
h
...

【专利技术属性】
技术研发人员:程兴防陈剑飞王云霄徐明伟赵丽娜
申请(专利权)人:国网山东省电力公司信息通信公司
类型:发明
国别省市:

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

1