StarPII项目介绍
项目概述
StarPII是一个专门用于在代码数据集中检测个人身份信息(PII)的命名实体识别模型。该模型基于bigcode-encoder进行微调,能够识别包括姓名、电子邮件、密钥、密码、IP地址和用户名等6种类型的敏感信息。
技术特点
StarPII模型采用了两阶段训练方法:
- 首先在伪标注数据集上进行初步训练
- 然后在人工标注的数据集上进行精细微调
模型架构上,StarPII在编码器的基础上添加了一个线性层作为token分类头。基础编码器已在包含88种编程语言的The Stack数据集上进行了预训练,具有良好的语言理解能力。
数据集特点
训练数据包含两个重要部分:
- 人工标注数据集包含20,961个敏感信息样本,覆盖31种编程语言
- 伪标注数据集包含18,000个文件,通过集成Deberta-v3-large和stanford-deidentifier-base两个模型进行标注
性能表现
StarPII在各类敏感信息的检测上都展现出了优秀的性能:
- 电子邮件检测:准确率97.73%,召回率98.94%,F1值98.15%
- IP地址检测:准确率90.10%,召回率93.86%,F1值91.94%
- 密钥检测:准确率62.38%,召回率80.81%,F1值70.41%
- 姓名检测:准确率86.45%,召回率97.38%,F1值91.59%
- 密码检测:准确率70.94%,召回率95.96%,F1值81.57%
实用建议
为提高检测质量,建议在使用StarPII时采用以下后处理规则:
- 忽略少于4个字符的敏感信息
- 仅检测完整姓名
- 对于密钥,忽略少于9个字符或非乱码的内容
- 仅识别有效的公网IP地址,忽略私有IP地址和常见DNS服务器地址
使用注意事项
- 模型可能存在误报和漏报的情况
- 在不同类型数据和编程语言上的表现可能有所差异
- 建议在特定场景下进行验证和调优
- 使用者需遵守数据保护措施并维护道德标准
通过开放这个模型,项目组希望推动隐私保护AI技术的发展,同时也提醒使用者注意潜在的PII相关风险。