基于预训练模型的基层治理敏感实体识别方法
2023-10-07汪杭军
吴 磊,汪杭军
(1.浙江农林大学 数学与计算机科学学院,浙江 杭州 311300;2.浙江农林大学暨阳学院 工程技术学院,浙江 诸暨 311800)
0 引言
随着中国特色社会主义进入新时代,构建现代化的基层治理体系对乡村振兴和国家长治久安意义重大,而治理体系现代化需要信息化要素的融入[1]。基层治理数字化产生的大量数据经过数据分析与挖掘,可用于乡、镇、街道的信息化、智慧化建设。这些数据难以避免地会包含个人隐私信息,且在现有安全条件下这些数据采集和使用可能存在数据泄露风险[2]。数据脱敏是一种将结构化或非结构化数据中的敏感信息按照一定脱敏规则进行数据变形的技术,经过脱敏后的数据兼顾了可用性和安全性,能够在保护隐私的前提下正常应用于各个场景。文献[3]阐述司法领域结构化文本和非结构化文本的脱敏问题,并以匈牙利法律文件作为案例研究可能的方案。该文献提供了一种思路,即将命名实体识别与数据脱敏联系起来。结构化数据中敏感数据较为明确,可依据不同的数据列划分,但非结构化数据需要将敏感数据从大量文本中识别出来,这就需要命名实体识别技术应用于基层治理文本的数据脱敏过程中。
命名实体识别[4]是一种从非结构化文本中识别出具有特定意义实体的技术,为自然语言处理中的一项基础任务。该任务有助于关系抽取、知识图谱等下游任务[5]。常见的实体有人名、地名、机构名等,例如在“李彦宏在北京举办了百度AI 开发大会”识别出李彦宏(人名)、北京(地名)、百度(机构名)3 个实体。命名实体识别技术的发展可划分为3 个阶段:基于词典和规则的方法、基于机器学习的方法和基于深度学习的方法[4]。除了通用语料的实体识别,还存在面向特定应用场景的领域命名实体识别(Domain Named Entity Recognition,DNER),例如医疗、生物、金融、司法、农业等领域[6]。双向长短期记忆网络(Bidirectional Long Short-Term Memory Networks,BiLSTM)和条件随机场(Conditional Random Field,CRF)的组合模型由于良好的表现,在不同领域都被作为最经典的模型而广泛使用。本文将基层治理非结构化文本的敏感词识别任务转换为命名实体识别任务,沿用常规的序列标注方法。
英文单词之间有空格划分,分词边界明确,以及首字母、词根、后缀等区分信息使得命名实体识别表现较好。而中文最明显的特点是词界模糊,没有分隔符来表示词界[7]。由于中文字词之间没有空格分隔,中文命名实体识别若以词粒度划分,必须先进行分词。分词错误导致的误差传递使得词粒度识别效果差于字粒度。因此,中文命名实体识别常采用字粒度进行识别。文献[8]综述了中文命名实体识别的方法、难点问题和未来研究方向。文献[9]通过在中文词嵌入加入语义、语音信息以提升识别效果。目前,命名实体识别广泛应用于各个领域,但在基层治理领域的相关应用较少。与通用领域数据相比,基层治理过程中的敏感信息识别实体嵌套、一词多义和字词错误等问题更为严重。
此外,通用领域的命名实体识别虽包含了人名、地名和机构名等部分敏感实体,但未能将身份证号、手机号和银行卡号等数字类型的敏感实体作为数据标注,难以包含基层治理过程中产生的众多敏感实体类型。
1 基层治理敏感词实体识别模型
基层治理敏感实体识别模型由预训练语言模型基于Transformers 的双向编码表示(Bidirectional Encoder Representation from Transformers,BERT)、BiLSTM 网络和CRF 层构成,模型架构图如图1 所示。首先,将信访语料输入序列输入BERT 模型中进行预训练获得上下文相关的表征,特征表示层采用BERT 模型可有效解决信访文本一词多义、实体嵌套等问题;表示层输出特征向量输入BiLSTM 进行编码,从而将序列前向和后向的隐藏状态拼接起来形成输出,包含了字符的上下文联系;最后经由CRF 层解码优化输出序列,获得最优标签序列。
图1 敏感实体识别模型结构
1.1 BERT 预训练模型
本文针对Word2Vec 等静态词向量无法解决信访语料中存在的一词多义、实体嵌套和表述不规范等问题,选择BERT[10]预训练语言模型作为特征表示层。BERT模型是谷歌公司在2018 年发布的一种预训练模型。BERT 在自然语言处理11 项测试任务中均取得最佳表现[11]。基层治理信访文本数据量相较通用领域偏少,为此BERT 模型引入先验知识显得尤为重要。BERT 模型在大量通用文本语料上进行无监督学习训练,其训练不需要人工标注数据。由通用文本语料训练得到的参数在参与特定任务训练时再进行精调。这种先在通用文本数据建立模型再迁移至特定任务的方法,有效提升了特定任务的识别效果,同时大大缩短了新模型的训练时间。BERT 的内部结构是双向Transformer[12],其编码时能从前后两个方向提取上下文信息进行词向量的表示。其模型结构如图2 所示。
图2 BERT 模型结构
Transformer 由encoder 和decoder 组 成,encoder 由self-attention 层和前馈神经网络组成,decode 在encoder两层中间还包含一个attention 层。BERT 模型只使用encoder。
在encoder 中,经过embedding 操作后的数据输入self-attention 模块得到一个加权特征向量,如式(1)所示:
式中,Q(Query,查询向量)、K(Key,被查询向量)、V(Value,特征向量)表示64 维的字向量矩阵,dk表示输入向量的维度。
Self-attention 层依据词的相互关系产生新权重下的表征,反映出各词之间的关系和重要程度,较其他词向量计算方式表达能力更强。
BERT 的输入为字符级embedding 序列,句子之间以分隔符分割,开始和结尾处增加两个标识符号。其输入向量由Token Embedding(字符)、Segment Embedding(句子)和Position Embedding(位置)三者求和获得[13],如图3 所示。Token Embedding(字符)将单词划分为一组有限的公共子词单元;Segment Embedding(句子)是句子的唯一向量表示,将句子整体的embedding 对应至每个单词;Position Embedding(位置)将字符在向量中位置信息编码,以表征单词的顺序。例如“李媛园住址诸暨市陶朱街道欢乐家园3 幢1 单元102 号”中人名的“园”和地址的“园”显然不是一个含义,通过3 种Embedding求和获得的输入向量则表达出每个字符的不同含义。
图3 BERT 模型的输入
1.2 BiLSTM 模型
长短时记忆网络(directional Long Short Tern Memory,LSTM)由Hochreiter 等于1997 年提出。该模型是为了解决循环神经网络梯度消失和梯度爆炸问题而提出的改进模型。LSTM 构造了包含3 个控制门开关的可控记忆神经元,用于记录到某一时刻t为止所有的历史信息,并受到输入门it、遗忘门ft 和输出门ot 控制。输入门it 控制应该保存哪些新输入的信息中在内存中,遗忘门ft 控制应该忘记前一个时间步单元状态的哪些信息,输出门ot 决定在每个时间步应该将哪些信息作为输出。
单向的LSTM 只能获取当前信息的上文信息,BiLSTM(双向长短时记忆网络)则由前向LSTM 模型和后向LSTM 模型组合而成,两个模型从两个方向共同编码句子,因此BiLSTM 能从前向后、从后向前两个方面获得上下文信息[14]。从上下文获取信息帮助敏感实体识别的方式,一定程度上扩展了正则表达式匹配等传统脱敏技术的范围,使得能识别更复杂的实体。
1.3 CRF 层
虽然BiLSTM 可以学习到输入序列的上下文信息,但其输出序列没有考虑到标签之间的逻辑关系,各个状态相互独立。而CRF 能够充分利用标签之间的关系,得到全局最优标签序列。因此,根据BiLSTM 模型的输出结果,使用CRF 模型计算标注序列的概率分布。CRF 模型考虑了标注之间的转移特征,输出联合概率最大的标注序列[15]。
CRF 层可以学习到句子的隐含约束条件。例如,实体词的第一个字只能是“B-”或“S-”,绝对不可能以“I-”或“E-”为开头。又如,“B-PER I-LOC“的预测结果必然为错误。依靠这些学习到的隐含规则,可以有效减少错误的预测序列。
训练模型过程中将正确的标注序列生成实体和非实体的掩码(Mask)序列,对假阴性FN 增加相应loss 权重,对假阳性FP 减少相应loss 权重,计算出新的loss 使得模型倾向于尽可能识别潜在的敏感实体,提升识别信访文本敏感实体的召回率。
2 实验与分析
2.1 数据集
此前虽有研究尝试在数据脱敏中引入命名实体识别,但实验数据集仍为仅包含人名、地名和机构名的通用领域公共语料。受此影响,现有数据集无法有效反映数据脱敏实际场景,更缺少基层治理领域数据集可供使用,且暂无对敏感实体的定义。本文收集了诸暨市“数字枫桥”项目建设过程中产生的基层治理信访文本和网上问政平台数据共同构建数据集,并参考数据脱敏常用敏感词定义16 类敏感实体。
从基层治理信访件选取文本内容作为待标注语料,需要进行数据清洗等预处理操作,去除其中空数据和无效数据。信访文本语料与通用领域相比规范性较差,但考虑到模拟现实应用需要,不对其中的口语化表述等进行修正。预处理后的文本语料输入标注工具,按照字粒度进行标注。
命名实体识别常用的标注方式有:BIO、BIOES、BMEOS 等。本文采用BMEOS 标注方式对基层治理信访数据集和MSRA 公共数据集进行标注。其中,B 表示实体的开始,M 表示实体的中间部分,E 表示实体的结束,S 表示单个字符的实体,O 表示非实体的字符。标注敏感实体如表1 所示。
表1 敏感实体标签含义
该基层治理信访数据集具备可扩展性,后续研究可借由政务公开平台或政府热线提供信访件文本,获取更多基层的信访语料后,添入或再构建一个更大规模和更广范围的基层治理信访数据集。本文提出的敏感实体定义参考《中华人民共和国个人信息保护法》《信息安全技术个人信息安全规范》等相关法律及国家标准,数据脱敏通用领域标准和基层治理信访件实际应用需要,构建起16 类常见敏感实体,为今后研究者提供一种可供借鉴的思路。
基层治理信访数据集按8:1:1 划分训练集、验证集和测试集。训练集共5 101 条语料,验证集共637 条语料,测试集共637 条语料。
此外,实验选取微软亚洲研究院公开的MSRA 数据集,在公共数据集上验证模型泛用性。该数据集标注有人名、地名、机构名等26 类实体,训练集包含41 728 条语料,验证集包含4 636 条语料,测试集包含4 365 条语料。
2.2 实验环境及参数
实验环境采用Windows 10 操作系统,CPU 型号为Intel(R) Core(TM) i5-9400F CPU @ 2.90 GHz,内存为8 GB,实验语言为Python3.6 版本,深度学习框架为TensorFlow1.12.0。
实验参数设置迭代次数epoch 为20,编码层单元数为300,隐藏层单元数为300,输入维度seq_length 为128,训练集batch_size 为8,验证集batch_size 为128,测试集batch_size 为128,梯度优化器使用Adam,learning_rate 为0.001,dropout 为0.5,clip 为5。BERT 模型为Bert-Base-Chinese,参数为默认值。
2.3 评价指标
采用准确率(Precision,P)、召回率(Recall,R)和F1值(F1-score)作为基层治理敏感实体识别的评价指标。准确率P表示正确识别的实体数占识别出实体数的百分比,召回率R表示正确识别的实体数占全部实体数的百分比,F1 值是结合准确率P和召回率R的综合评价指标。具体计算如式(2)~式(4)所示。
其中,TP 表示正确识别的实体数,FP 表示识别错误的实体数,FN 表示未识别出的实体数。
信访文本中的敏感实体涉及群众隐私,为尽可能识别出这些实体,减少隐私泄露风险,往往召回率比正确率更为重要。若部分的预测实体范围大于正确实体,按正确率和召回率计算方式认定为识别错误,如预测实体为“市民张宝花”,正确实体“张宝花”。但在脱敏实际应用场景下,该将敏感实体作为预测实体的一部分包含的情况是值得考虑的。因此,本文采用敏感实体框选率(Box Selection,B)作为辅助评价敏感实体识别效果的指标,有助于了解模型快速筛选敏感实体的能力。框选率B定义为识别结果完全一致和部分包含的实体数之和占全部实体数的百分比。
2.4 实验结果及分析
本文选取BiLSTM、BiLSTM+CRF、BERT、BERT+BiLSTM、BERT+CRF、BERT+BiLSTM+CRF 6 组模型进行实验,在基层治理信访数据集上对敏感词实体识别结果如表2 所示。
表2 基层治理信访数据集实验结果 (%)
在公共数据集MSRA 上对26 类实体识别结果如表3所示。
表3 MSRA 数据集实验结果 (%)
由表2 和表3 可见,BiLSTM 模型取得了良好的识别效果,这是由于该模型可以利用上下文信息,作为命名实体识别的经典模型表现不俗。CRF 具有良好的优化标注序列能力,无论是接在BiLSTM 模型还是BERT 模型后都能进一步提升对敏感实体的识别效果。
从实验结果来看,BERT 模型的引入丰富了词向量表示的信息,使向量表示中加入了先验知识,且有效解决了一词多义问题。由于BERT 预训练模型生成了包含信息更准确的词向量,将BERT 作为特征表示的模型识别效果普遍好于没有采用BERT 的模型。
BiLSTM 模型能够充分利用上下文信息进行编码,在BERT 和CRF 之间加入BiLSTM 模型使得识别效果略有提升。最终,三者组合的BERT+BiLSTM+CRF 模型在信访数据集上取得了较其他模型更好的效果。而MSRA 数据集的结果,在BERT 模型后加入BiLSTM 模型反而导致性能略微下降,这可能是由于该数据集实体长度短于基层治理数据集,BiLSTM 模型捕捉连续顺序信息的能力未能很好地体现。
在MSRA 公共数据集上取得的实验结果要好于在基层治理数据集,这可能是由于MSRA 数据集样本量更大,模型能更好地学习到语料信息。此外,信访语料中规范性差的口语表达和敏感实体的复杂性也可能是导致该结果的原因。
在两个数据集上测试敏感实体框选率B表现,结果如表4 所示。
表4 框选率实验结果 (%)
在实际应用中,该敏感实体识别模型能够较好地识别敏感信息,但暴露出F1 值等评价指标的不足。由于实体识别作为序列标注任务固有的缺陷,难以保证敏感实体中每一个标签的识别正确性,导致F1 值无法充分反映模型在数据脱敏应用时的效果。此外,本文采用的敏感实体框选率B虽能评价部分包含的情况,但未能体现出敏感实体之间的联系,而在数据脱敏过程中不同数据之间的推理攻击却是不可忽视的。
综上所述,BiLSTM 模型有效利用了上下文信息,在基层治理信访数据集上表现良好。BiLSTM 模型输出时无法利用输出标签序列之间的逻辑关系,BiLSTM+CRF的组合优化了输出序列。将BERT 模型作为特征表示层,能一定程度上解决信访数据集存在的一词多义、实体嵌套和指代关系等问题,进一步提升敏感实体的识别效果。与此同时,针对数据脱敏实体完整性的需要,应当探索更好的评价指标用于敏感实体识别效果的评价。
3 结论
本文设计实现了基于BERT+BiLSTM+CRF 的基层治理敏感词实体识别模型,利用BERT 预训练模型生成包含更准确信息的词向量,输入BiLSTM 模型中进行编码,最后由CRF 优化输出序列。该模型能有效解决信访数据集存在的一词多义和嵌套实体等问题,与经典模型BiLSTM+CRF 相比识别性能更强。在收集标注好的基层治理信访数据集和MSRA 数据集上进行了相关实验,BERT+BiLSTM+CRF 模型表现出最好的识别效果,证明了模型的有效性。
由于BERT 预训练模型采用字粒度的方式,未能充分结合词粒度层面的信息,未来可以考虑融入词粒度信息至BERT 模型中增强特征表示性能。此外,也可以尝试探索将BiLSTM 模型替换为编码能力更强的模型,以提升模型预测识别能力。值得注意的是,后续研究若期望进一步将数据脱敏和命名实体识别技术相融合,有必要探索新的敏感实体完整性的评价指标体系。