发明内容
本说明书实施例的目的是提供一种数据的处理方法、装置及设备,以提供一种敏感信息的识别准确性更高、识别过程更简化的敏感信息识别机制。
为了实现上述技术方案,本说明书实施例是这样实现的:
本说明书实施例提供的一种数据的处理方法,所述方法包括:
获取针对指定业务的第一文本数据;
基于所述第一文本数据训练预先设定的语言模型,得到初始语言模型,所述初始语言模型用于确定输入到所述初始语言模型的文本数据中包含的词语之间的关联关系;
获取针对所述指定业务的预定敏感类型的第二文本数据,所述第二文本数据中包括已标注的所述预定敏感类型的敏感信息;
使用所述第二样本数据对所述初始语言模型进行调整,得到用于识别所述预定敏感类型的敏感信息的目标语言模型。
可选地,所述预先设定的语言模型为基于来自于Transformers的双向编码器BERT的语言模型。
可选地,所述用于识别所述预定敏感类型的敏感信息的目标语言模型为基于命名实体识别NER的语言模型。
可选地,所述基于所述第一文本数据训练预先设定的语言模型,得到初始语言模型,包括:
基于所述第一文本数据,对双向多层Transformer神经网络模型进行预训练,得到依赖上下文关系的Word Embedding模型,将所述Word Embedding模型确定为所述初始语言模型。
可选地,所述预定敏感类型包括财务信息类和医疗信息类中的一种或多种。
可选地,所述方法还包括:
获取针对所述指定业务的待输出的目标文本数据;
将所述目标文本数据输入到所述用于识别所述预定敏感类型的敏感信息的目标语言模型中,确定所述目标文本数据中是否包含所述预定敏感类型的敏感信息;
如果所述目标文本数据中包含所述预定敏感类型的敏感信息,则输出所述目标文本数据中包含的敏感信息,并取消对所述目标文本数据进行输出。
本说明书实施例提供的一种数据的处理装置,所述装置包括:
第一数据获取模块,用于获取针对指定业务的第一文本数据;
模型训练模块,用于基于所述第一文本数据训练预先设定的语言模型,得到初始语言模型,所述初始语言模型用于确定输入到所述初始语言模型的文本数据中包含的词语之间的关联关系;
第二数据获取模块,用于获取针对所述指定业务的预定敏感类型的第二文本数据,所述第二文本数据中包括已标注的所述预定敏感类型的敏感信息;
模型调整模块,用于使用所述第二样本数据对所述初始语言模型进行调整,得到用于识别所述预定敏感类型的敏感信息的目标语言模型。
可选地,所述预先设定的语言模型为基于来自于Transformers的双向编码器BERT的语言模型。
可选地,所述用于识别所述预定敏感类型的敏感信息的目标语言模型为基于命名实体识别NER的语言模型。
可选地,所述装置还包括:
第三数据获取模块,用于获取针对所述指定业务的待输出的目标文本数据;
识别模块,用于将所述目标文本数据输入到所述用于识别所述预定敏感类型的敏感信息的目标语言模型中,确定所述目标文本数据中是否包含所述预定敏感类型的敏感信息;
处理模块,用于如果所述目标文本数据中包含所述预定敏感类型的敏感信息,则输出所述目标文本数据中包含的敏感信息,并取消对所述目标文本数据进行输出。
本说明书实施例提供的一种数据的处理设备,所述数据的处理设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取针对指定业务的第一文本数据;
基于所述第一文本数据训练预先设定的语言模型,得到初始语言模型,所述初始语言模型用于确定输入到所述初始语言模型的文本数据中包含的词语之间的关联关系;
获取针对所述指定业务的预定敏感类型的第二文本数据,所述第二文本数据中包括已标注的所述预定敏感类型的敏感信息;
使用所述第二样本数据对所述初始语言模型进行调整,得到用于识别所述预定敏感类型的敏感信息的目标语言模型。
由以上本说明书实施例提供的技术方案可见,本说明书实施例通过获取针对指定业务的第一文本数据,基于第一文本数据训练预先设定的语言模型,得到初始语言模型,初始语言模型用于确定输入到初始语言模型的文本数据中包含的词语之间的关联关系,获取针对指定业务的预定敏感类型的第二文本数据,第二文本数据中包括已标注的预定敏感类型的敏感信息,使用第二样本数据对初始语言模型进行调整,得到用于识别预定敏感类型的敏感信息的目标语言模型,这样,通过语言模型的方式来进行敏感信息的识别,相比于通过正则的规则进行匹配的方式来识别敏感信息具有更好的准确性,而且,采用能够很好地体现出词语间的内在联系的语言模型进行敏感信息的识别,可以使得只需要使用少量的第二文本数据即可完成对初始语言模型的调优处理,进而可以快速响应指定业务的相关需求,从而达到较好的识别效果,而且不需要频繁的增加规则,简化了敏感信息的识别过程,并具有很好的扩展性。
具体实施方式
本说明书实施例提供一种数据的处理方法、装置及设备。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
实施例一
如图1所示,本说明书实施例提供一种数据的处理方法,该方法的执行主体可以为终端设备或服务器等,其中,该终端设备可以如手机或平板电脑等移动终端设备,还可以如个人计算机等设备。该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,而且,该服务器可以是某网站(如网络购物网站或购物应用等)的后台服务器,或者可以是某业务(如金融业务等)的服务器等。该方法可以用于提供一种文本数据的处理机制,以能够提高信息识别的准确性。为了提高文本数据的处理效率,本实施例的执行主体可以以服务器为例进行说明,对于执行主体为终端设备的情况,可以根据下述相关内容执行,在此不再赘述。该方法具体可以包括以下步骤:
在步骤S102中,获取针对指定业务的第一文本数据。
其中,指定业务可以是任意业务,例如支付业务、风险防控业务、搜索业务、信息推荐业务、智能交互业务或翻译业务等,具体可以根据实际情况设定,本说明书实施例对此不做限定。第一文本数据可以包含任何相关内容的文本数据,第一文本数据可以通过预定的语言文字构成,例如,第一文本数据可以是由英文书写的文本数据或由中文书写的文本数据等,第一文本数据中可以包括一个文本的数据,也可以包括多个不同文本的数据等。
在实施中,随着终端技术和网络技术的不断发展,互联网成为人们日常生活与工作中的重要组成部分,尤其是在工作中,文本类(或文档类)的非结构化数据是日常工作中常见的数据类型,其中可能包含如人们所在的公司或组织的战略决策、业务计划等敏感信息,而上述敏感信息对于该公司或组织之外的组织或用户是需要保密的,因此,上述敏感信息需要进行重点保护。由于,在日常工作中上述类型的敏感信息较多、且流动性很强,如果管控不到位则会存在较大的信息泄露风险。
例如,某用户通过文本编辑工具编写了一份某业务的改进方案的文档,该用户需要向其他用户寻求该文档中记录的该业务的改进方案的意见,如果该用户直接将该文档的全部内容发给该用户所在公司或组织之外的用户,则接收到该文档的用户很可能将该改进方案的内容泄露给其他人,从而造成敏感信息的泄露。
如何对文本数据中包含的敏感信息进行识别成为信息安全领域中需要解决的重要问题,目前针对非结构化敏感信息的识别方法,通常可以采用正则的规则进行匹配的方式来识别敏感信息,但是,由于敏感信息的种类较多、概念较宽泛,且很多敏感信息并没有明显的规则特征,因此,采用正则的规则进行匹配的方式来识别敏感信息的效果较差。此外,还可以采用有监督的机器学习方法训练相应的模型,然后,通过训练的模型来进行识别敏感信息,然而,如果要使得上述模型能够达到一定准确率,则需要大量的已标注的语料,这样,不仅价格高昂、标注周期长,而且,可行性和可扩展性都较差。为此,本说明书实施例提供一种能够提高敏感信息识别准确性的技术方案,具体可以包括以下内容:
针对某一项业务(即指定业务,具体如金融业务或即时通讯业务等),可以通过多种方式获取相关的文本数据(即第一文本数据),具体地,业务提供商可以根据业务需求开发相应的应用程序,如即时通讯或支付业务的应用程序等,该应用程序可以为用户提供一种或多种不同的业务入口,用户可以通过该应用程序处理相应的业务,此外,为了满足用户之间的沟通需求,还可以设置即时通讯页面,或者商品的评价或评论区等,用户可以在即时通讯页面内互发通讯消息等。另外,为了及时确定用户发送的文本数据中是否包含敏感信息,在发送该文本数据之前,需要对该文本数据进行敏感信息的识别。如图2所示,基于上述内容,用户的终端设备可以获取需要进行传输的第一文本数据,并可以将该第一文本数据发送给服务器。通过上述方式服务器可以获取到针对指定业务的第一文本数据,服务器还可以对该第一文本数据进行分析,确定该第一文本数据中所包含的是哪种语言(如汉语和/或英语等)等。
需要说明的是,第一文本数据可以是由用户输入或提供的文本数据确定,还可以是由用户输入或提供的音频数据确定,或者,可以是由用户输入或提供的音频数据,以及输入或提供的文本数据等确定,其中,对于输入或提供的音频数据的情况,还可以预先对该音频数据进行识别,可以将音频数据转换为文本数据,然后,可以得到第一文本数据。此外,第一文本数据除了可以由用户提供外,还可以通过购买或奖励等方式收集等。另外,第一文本数据可以是一条文本数据,还可以是由多条文本数据组成的数据组合等。
在步骤S104中,基于第一文本数据训练预先设定的语言模型,得到初始语言模型,初始语言模型用于确定输入到初始语言模型的文本数据中包含的词语之间的关联关系。
其中,该语言模型可以是用于对文本数据进行分析处理的模型,该语言模型可以包括多种,例如可以根据不同的功能,将语言模型可以分为用于风险防控的语言模型和用于信息推荐的语言模型等。该语言模型可以通过预先设定的算法构建,且该语言模型或初始语言模型用于确定输入到该语言模型的文本数据中包含的词语之间的关联关系,例如可以基于BERT(Bidirectional Encoder Representations from Transformers,源于Transformers的双向编码器)机制构建的相应的语言模型等。
在实施中,针对指定业务,可以通过上述内容,基于BERT机制构建初始语言模型,BERT对应的模型采用了Transformer的编码器作为主体模型结构,完全基于注意力机制来对一段文本数据进行建模。Transformer所使用的注意力机制的核心思想可以是去计算一个语句中的每个字符对于该语句中所有字符的相互关系,然后认为该字符与字符之间的相互关系在一定程度上反应了该语句中不同字符之间的关联性及重要程度,基于此,可以再利用上述关联性及重要程度来调整每个字符的重要性(或权重)就可以获得每个字符的新表达。该新表征不但蕴含了该字符本身,还蕴含了其他字符与该字符的关系。然而,与单纯的词向量相比,词语是一个更加全局的表达,一个词语(或分词)中的多个字符之间可以具备强关联,不同词语(或分词)之间的关联性相对较弱。
通过上述方式获取到第一文本数据后,可以对第一文本数据进行分析处理,然后可以基于第一文本数据,通过无监督的方式对BERT机制构建的语言模型进行训练,得到训练后的语言模型(即初始语言模型),其中,如上所述,一个词语(或分词)中的多个字符之间可以具备强关联,不同词语(或分词)之间的关联性相对较弱,这样,可以将第一文本数据中的语义信息代入语言模型中进行计算,从而可以提高更高层的语义信息,而不仅仅只包含单个字符的信息。由于该训练后的初始语言模型为基于BERT机制构建的模型,因此,该训练后的初始语言模型可以包括多个网络层(即Transformer Block)。
在实际应用中,除了可以通过上述BERT机制构建语言模型外,还可以通过其它多种方式构建上述语言模型,例如,可以根据神经网络算法构建神经网络语言模型,或者,可以根据信息检索算法构建信息检索模型,可以将该信息检索模型确定为初始语言模型等,本说明书实施例对此不做限定。
在步骤S106中,获取针对指定业务的预定敏感类型的第二文本数据,第二文本数据中包括已标注的预定敏感类型的敏感信息。
其中,预定敏感类型可以根据不同业务,并可以结合实际情况进行设定,例如,针对支付业务,预定敏感类型可以包括财务类和账户信息类等,其中的财务类的敏感信息可以包括账户余额、账户交易额等,账户信息类的敏感信息可以包括账户名和密码、支付密码、手机号码等。第二文本数据可以包含预定敏感类型的敏感信息的文本数据,第二文本数据可以通过预定的语言文字构成,例如,第二文本数据可以是由英文书写的文本数据或由中文书写的文本数据等,第二文本数据中可以包括一个文本的数据,也可以包括多个不同文本的数据等。
在实施中,通过上述步骤S102和步骤S104的处理得到初始语言模型后,该初始语言模型中能很好地体现出词语间的内在联系,为了使得该初始语言模型能够具备识别敏感信息的能力,可以针对业务方或指定业务需要识别的敏感信息的敏感类型,收集一定数量的语料数据(即第二文本数据),并可以标注该语料数据中的敏感信息,其中,标注敏感信息的方式可以包括多种,例如,可以通过人工标注的方式对语料数据中的敏感信息进行标注等。
需要说明的是,第二文本数据可以是由用户输入或提供的文本数据确定,还可以是由用户输入或提供的音频数据确定,或者,可以是由用户输入或提供的音频数据,以及输入或提供的文本数据等确定,其中,对于输入或提供的音频数据的情况,还可以预先对该音频数据进行识别,可以将音频数据转换为文本数据,然后,可以得到第二文本数据。此外,第二文本数据除了可以由用户提供外,还可以通过购买或奖励等方式收集等。另外,第二文本数据可以是一条文本数据,还可以是由多条文本数据组成的数据组合等。
在步骤S108中,使用第二样本数据对初始语言模型进行调整,得到用于识别预定敏感类型的敏感信息的目标语言模型。
在实施中,可以利用第二文本数据,及其中已标注的预定敏感类型的敏感信息,对上述训练得到的通用模型(即初始语言模型)进行调优,得到能够识别预定敏感类型的敏感信息的目标语言模型模型。由于上述训练的初始语言模型中包含了丰富的语法及语义信息,因此,只需要少量已标注敏感信息的第二文本数据就能够有效识别出已标注的敏感信息,进而能快速响应指定业务或业务方的相关需求。
本说明书实施例提供一种数据的处理方法,通过获取针对指定业务的第一文本数据,基于第一文本数据训练预先设定的语言模型,得到初始语言模型,初始语言模型用于确定输入到初始语言模型的文本数据中包含的词语之间的关联关系,获取针对指定业务的预定敏感类型的第二文本数据,第二文本数据中包括已标注的预定敏感类型的敏感信息,使用第二样本数据对初始语言模型进行调整,得到用于识别预定敏感类型的敏感信息的目标语言模型,这样,通过语言模型的方式来进行敏感信息的识别,相比于通过正则的规则进行匹配的方式来识别敏感信息具有更好的准确性,而且,采用能够很好地体现出词语间的内在联系的语言模型进行敏感信息的识别,可以使得只需要使用少量的第二文本数据即可完成对初始语言模型的调优处理,进而可以快速响应指定业务的相关需求,从而达到较好的识别效果,而且不需要频繁的增加规则,简化了敏感信息的识别过程,并具有很好的扩展性。
实施例二
如图3所示,本说明书实施例提供一种数据的处理方法,该方法的执行主体可以为终端设备或服务器等,其中,该终端设备可以如手机或平板电脑等移动终端设备,还可以如个人计算机等设备。该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,而且,该服务器可以是某网站(如网络购物网站或购物应用等)的后台服务器,或者可以是某业务(如金融业务等)的服务器等。该方法可以用于提供一种文本数据的处理机制,以能够提高信息识别的准确性。为了提高文本数据的处理效率,本实施例的执行主体可以以服务器为例进行说明,对于执行主体为终端设备的情况,可以根据下述相关内容执行,在此不再赘述。该方法具体可以包括以下步骤:
在步骤S302中,获取针对指定业务的第一文本数据。
在步骤S304中,基于第一文本数据,对双向多层Transformer神经网络模型进行预训练,得到依赖上下文关系的Word Embedding模型,将Word Embedding模型确定为初始语言模型。
其中,预先设定的语言模型为基于来自于Transformers的双向编码器BERT的语言模型。初始语言模型也是基于BERT的语言模型,而且,基于BERT的语言模型可以用于确定输入到该语言模型的文本数据中包含的词语之间的关联关系。
在实施中,BERT机制的本质上是通过在海量的语料数据的基础上运行自监督学习方法,从而为单词学习一个好的特征表示,其中的自监督学习方法可以是指在没有人工标注的数据上运行的监督学习的方法。BERT机制的网络架构使用的是多层Transformer结构,其最大的特点是抛弃了传统的RNN(Recurrent Neural Networks,循环神经网络)和CNN(Convolutional Neural Networks,卷积神经网络),通过Attention机制将任意位置的两个单词的距离转换成1,有效的解决了NLP(Neuro-Linguistic Programming,神经语言程序)领域中棘手的长期依赖问题。
Transformer结构在NLP领域中已经得到了广泛应用,Transformer结构可以如图4所示,Transformer结构可以是一个Encoder-Decoder的结构,可以由若干个编码器和解码器堆叠形成。图4中的左侧部分为编码器,由Multi-Head Attention和一个全连接层组成,用于将输入的语料数据转化成特征向量,图4中的右侧部分是解码器,其输入为上述编码器的输出,以及已经预测的结果,由Masked Multi-Head Attention、Multi-Head Attention和一个全连接层组成,用于输出最后结果的条件概率。基于上述图4所示的Transformer结构,BERT的网络结构可以参见如图5所示,其中的Trm可以表示上述图4中的一个编码器(即左侧部分),在实际应用中,一个编码器也可以称为一个Transformer Block。
BERT对应的模型可以包括简单模型和复杂模型等,其中的简单模型对应的网络层数(即Transformer Block的数量)可以包括12个,隐藏层的数量可以包括768,Multi-HeadAttention中的self-Attention的数量可以为12,参数的总量可以为110M。其中的复杂模型对应的网络层数(即Transformer Block的数量)可以包括24个,隐藏层的数量可以包括1024,Multi-Head Attention中的self-Attention的数量可以为16,参数的总量可以为340M。
针对指定业务,可以通过上述内容,基于BERT机制构建语言模型,BERT对应的模型采用了Transformer的编码器作为主体模型结构,完全基于注意力机制来对一段文本数据进行建模。Transformer所使用的注意力机制的核心思想可以是去计算一个语句中的每个字符对于该语句中所有字符的相互关系,然后认为该字符与字符之间的相互关系在一定程度上反应了该语句中不同字符之间的关联性及重要程度,基于此,可以再利用上述关联性及重要程度来调整每个字符的重要性(或权重)就可以获得每个字符的新表达。该新表征不但蕴含了该字符本身,还蕴含了其他字符与该字符的关系。可以将第一文本数据代入语言模型中进行计算,从而可以提高更高层的语义信息。由于该训练后的初始语言模型为基于BERT机制构建的模型,因此,该训练后的初始语言模型可以包括多个网络层(即Transformer Block)。
在步骤S306中,获取针对指定业务的预定敏感类型的第二文本数据,第二文本数据中包括已标注的预定敏感类型的敏感信息。
其中,预定敏感类型可以包括财务信息类和医疗信息类中的一种或多种。在实际应用中,预定敏感类型不限于上述两种类型,可以根据指定业务的需求或实际情况设定。
在步骤S308中,使用第二样本数据对初始语言模型进行调整,得到用于识别预定敏感类型的敏感信息的目标语言模型。
其中,用于识别预定敏感类型的敏感信息的目标语言模型可以为基于命名实体识别NER的语言模型。NER是自然语言处理中的一项基础任务,应用范围广泛,其中的命名实体通常指的是文本数据中具有特定意义或者指代性强的实体,通常可以包括人名、地名、组织机构名称、日期、时间、专有名词等,NER机制就是从非结构化的文本数据中抽取出上述实体,并且可以按照业务需求识别出更多类型的实体,比如产品名称、型号、价格等,其中的实体可以很广泛,只要是指定业务需要的文本数据中的片段都可以称为实体。
通过上述处理过程得到用于识别预定敏感类型的敏感信息的目标语言模型后,可以用于识别将要输出或发送的文本数据,具体可以参见下述步骤S310~步骤S314的相关内容。
在步骤S310中,获取针对指定业务的待输出的目标文本数据。
其中,目标文本数据可以是任意内容的文本数据,目标文本数据所在的文档的格式可以包括多种,例如txt格式、doc格式、docx格式、xls格式、xlsx格式、ppt格式、pptx格式等,本说明书实施例对此不做限定。
在实施中,某用户可以针对指定业务编写相应的文档,如该指定业务的改进方案的文档,或者,指定业务的未来开发规划的文档,或者,指定业务中的一些关键性的数据或代码的文档等,如果用户需要将该文档发送给其他用户,则可以启动终端设备中安装的即时通讯应用程序,可以从该即时通讯应用程序中查找到上述其他用户的通讯账号,可以打开通讯对话框,然后,可以将上述文档拖动到上述通讯对话框中,即时通讯应用程序可以将该文档发送给服务器,服务器可以接收该文档,并可以获取该文档中包含的文本数据,其中获取的文本数据即为针对指定业务的待输出的目标文本数据。
在步骤S312中,将目标文本数据输入到用于识别预定敏感类型的敏感信息的目标语言模型中,确定目标文本数据中是否包含预定敏感类型的敏感信息。
在实施中,服务器获取到针对指定业务的待输出的目标文本数据后,可以将目标文本数据输入到上述用于识别预定敏感类型的敏感信息的目标语言模型中,通过该语言模型,可以识别目标文本数据中是否包含预定敏感类型的敏感信息,如果从目标文本数据中识别出预定敏感类型的敏感信息,则可以确定目标文本数据中包含预定敏感类型的敏感信息,如果未从目标文本数据中识别出预定敏感类型的敏感信息,则可以确定目标文本数据中不包含预定敏感类型的敏感信息。其中,如果确定目标文本数据中包含预定敏感类型的敏感信息,则可以执行下述步骤S314的处理。
在步骤S314中,如果目标文本数据中包含预定敏感类型的敏感信息,则输出目标文本数据中包含的敏感信息,并取消对目标文本数据进行输出。
在实施中,如果目标文本数据中包含预定敏感类型的敏感信息,则输出目标文本数据中包含的敏感信息,并向用户发送相应的提示消息,以提示用户目标文本数据中包含敏感信息,是否发送该文档,如果用户确定需要将该文档发送给其他用户,则用户可以点击提示消息所在页面中提供的确认发送,终端设备可以向服务器发送上述确认发送的指令,服务器可以将目标文本数据发送给其他用户,如果用户点击提示消息所在页面中提供的取消发送,终端设备可以向服务器发送上述取消发送的指令,服务器可以取消对目标文本数据进行输出。此外,服务器还可以对目标文本数据中包含的敏感信息进行处理,如可以将目标文本数据中包含的敏感信息使用其它字符(如字母或数字等)或符号(如“*”或“¥”等)代替,然后,可以将处理后的目标文本数据发送给其它用户,这样,可以最大限度的保证信息的安全性。
本说明书实施例提供一种数据的处理方法,通过获取针对指定业务的第一文本数据,基于第一文本数据训练预先设定的语言模型,得到初始语言模型,初始语言模型用于确定输入到初始语言模型的文本数据中包含的词语之间的关联关系,获取针对指定业务的预定敏感类型的第二文本数据,第二文本数据中包括已标注的预定敏感类型的敏感信息,使用第二样本数据对初始语言模型进行调整,得到用于识别预定敏感类型的敏感信息的目标语言模型,这样,通过语言模型的方式来进行敏感信息的识别,相比于通过正则的规则进行匹配的方式来识别敏感信息具有更好的准确性,而且,采用能够很好地体现出词语间的内在联系的语言模型进行敏感信息的识别,可以使得只需要使用少量的第二文本数据即可完成对初始语言模型的调优处理,进而可以快速响应指定业务的相关需求,从而达到较好的识别效果,而且不需要频繁的增加规则,简化了敏感信息的识别过程,并具有很好的扩展性。
实施例三
以上为本说明书实施例提供的数据的处理方法,基于同样的思路,本说明书实施例还提供一种数据的处理装置,如图6所示。
该数据的处理装置包括:第一数据获取模块601、模型训练模块602、第二数据获取模块603和模型调整模块604,其中:
第一数据获取模块601,用于获取针对指定业务的第一文本数据;
模型训练模块602,用于基于所述第一文本数据训练预先设定的语言模型,得到初始语言模型,所述初始语言模型用于确定输入到所述初始语言模型的文本数据中包含的词语之间的关联关系;
第二数据获取模块603,用于获取针对所述指定业务的预定敏感类型的第二文本数据,所述第二文本数据中包括已标注的所述预定敏感类型的敏感信息;
模型调整模块604,用于使用所述第二样本数据对所述初始语言模型进行调整,得到用于识别所述预定敏感类型的敏感信息的目标语言模型。
本说明书实施例中,所述预先设定的语言模型为基于来自于Transformers的双向编码器BERT的语言模型。
本说明书实施例中,所述用于识别所述预定敏感类型的敏感信息的目标语言模型为基于命名实体识别NER的语言模型。
本说明书实施例中,所述模型训练模块602,用于基于所述第一文本数据,对双向多层Transformer神经网络模型进行预训练,得到依赖上下文关系的Word Embedding模型,将所述Word Embedding模型确定为所述初始语言模型。
本说明书实施例中,所述预定敏感类型包括财务信息类和医疗信息类中的一种或多种。
本说明书实施例中,所述装置还包括:
第三数据获取模块,用于获取针对所述指定业务的待输出的目标文本数据;
识别模块,用于将所述目标文本数据输入到所述用于识别所述预定敏感类型的敏感信息的目标语言模型中,确定所述目标文本数据中是否包含所述预定敏感类型的敏感信息;
处理模块,用于如果所述目标文本数据中包含所述预定敏感类型的敏感信息,则输出所述目标文本数据中包含的敏感信息,并取消对所述目标文本数据进行输出。
本说明书实施例提供一种数据的处理装置,通过获取针对指定业务的第一文本数据,基于第一文本数据训练预先设定的语言模型,得到初始语言模型,初始语言模型用于确定输入到初始语言模型的文本数据中包含的词语之间的关联关系,获取针对指定业务的预定敏感类型的第二文本数据,第二文本数据中包括已标注的预定敏感类型的敏感信息,使用第二样本数据对初始语言模型进行调整,得到用于识别预定敏感类型的敏感信息的目标语言模型,这样,通过语言模型的方式来进行敏感信息的识别,相比于通过正则的规则进行匹配的方式来识别敏感信息具有更好的准确性,而且,采用能够很好地体现出词语间的内在联系的语言模型进行敏感信息的识别,可以使得只需要使用少量的第二文本数据即可完成对初始语言模型的调优处理,进而可以快速响应指定业务的相关需求,从而达到较好的识别效果,而且不需要频繁的增加规则,简化了敏感信息的识别过程,并具有很好的扩展性。
实施例四
以上为本说明书实施例提供的数据的处理装置,基于同样的思路,本说明书实施例还提供一种数据的处理设备,如图7所示。
所述数据的处理设备可以为上述实施例提供的终端设备或服务器。
数据的处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器701和存储器702,存储器702中可以存储有一个或一个以上存储应用程序或数据。其中,存储器702可以是短暂存储或持久存储。存储在存储器702的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对数据的处理设备中的一系列计算机可执行指令。更进一步地,处理器701可以设置为与存储器702通信,在数据的处理设备上执行存储器702中的一系列计算机可执行指令。数据的处理设备还可以包括一个或一个以上电源703,一个或一个以上有线或无线网络接口704,一个或一个以上输入输出接口705,一个或一个以上键盘706。
具体在本实施例中,数据的处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对数据的处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取针对指定业务的第一文本数据;
基于所述第一文本数据训练预先设定的语言模型,得到初始语言模型,所述初始语言模型用于确定输入到所述初始语言模型的文本数据中包含的词语之间的关联关系;
获取针对所述指定业务的预定敏感类型的第二文本数据,所述第二文本数据中包括已标注的所述预定敏感类型的敏感信息;
使用所述第二样本数据对所述初始语言模型进行调整,得到用于识别所述预定敏感类型的敏感信息的目标语言模型。
本说明书实施例中,所述预先设定的语言模型为基于来自于Transformers的双向编码器BERT的语言模型。
本说明书实施例中,所述用于识别所述预定敏感类型的敏感信息的目标语言模型为基于命名实体识别NER的语言模型。
本说明书实施例中,所述基于所述第一文本数据训练预先设定的语言模型,得到初始语言模型,包括:
基于所述第一文本数据,对双向多层Transformer神经网络模型进行预训练,得到依赖上下文关系的Word Embedding模型,将所述Word Embedding模型确定为所述初始语言模型。
本说明书实施例中,所述预定敏感类型包括财务信息类和医疗信息类中的一种或多种。
本说明书实施例中,还包括:
获取针对所述指定业务的待输出的目标文本数据;
将所述目标文本数据输入到所述用于识别所述预定敏感类型的敏感信息的目标语言模型中,确定所述目标文本数据中是否包含所述预定敏感类型的敏感信息;
如果所述目标文本数据中包含所述预定敏感类型的敏感信息,则输出所述目标文本数据中包含的敏感信息,并取消对所述目标文本数据进行输出。
本说明书实施例提供一种数据的处理设备,通过获取针对指定业务的第一文本数据,基于第一文本数据训练预先设定的语言模型,得到初始语言模型,初始语言模型用于确定输入到初始语言模型的文本数据中包含的词语之间的关联关系,获取针对指定业务的预定敏感类型的第二文本数据,第二文本数据中包括已标注的预定敏感类型的敏感信息,使用第二样本数据对初始语言模型进行调整,得到用于识别预定敏感类型的敏感信息的目标语言模型,这样,通过语言模型的方式来进行敏感信息的识别,相比于通过正则的规则进行匹配的方式来识别敏感信息具有更好的准确性,而且,采用能够很好地体现出词语间的内在联系的语言模型进行敏感信息的识别,可以使得只需要使用少量的第二文本数据即可完成对初始语言模型的调优处理,进而可以快速响应指定业务的相关需求,从而达到较好的识别效果,而且不需要频繁的增加规则,简化了敏感信息的识别过程,并具有很好的扩展性。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、***、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书的实施例是参照根据本说明书实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据的处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据的处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据的处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据的处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、***或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。