语料清洗工具 0.1.0:在大语言模型训练之前,检测并编辑训练语料库中的个人身份信息及敏感信息

发布日期:2026-07-17 10:00:51   浏览量 :7
发布日期:2026-07-17 10:00:51  
7

corpus-scrub 0.1.0:在训练前检测并编辑训练语料库中的个人身份信息(PII)和密钥

模型会记忆并过滤训练数据中的内容。corpus-scrub 在训练前对其进行清理:检测个人身份信息(电子邮件、电话、国际银行账号、银行卡、姓名)和密钥(应用程序接口密钥、令牌),并在本地进行编辑,不向任何服务发送任何数据。

问题所在

从网络抓取的语料库通常包含个人数据和凭证。文献已明确指出:

  • 图像合成模型会加剧真实与合成混合数据中的隐私风险(arXiv 2607.13541
  • 在微调过程中无意记忆敏感信息(arXiv 2601.17480
  • 用于个人身份信息泄露的通用激活方向(UniLeak)(arXiv 2602.16980

《通用数据保护条例》和《欧盟人工智能法案》第10条禁止在未经同意的情况下,在训练数据集中使用非结构化的个人数据。廉价的解决方案是在训练前清理语料库。

功能介绍

corpus-scrub 是一个本地优先的命令行界面工具(采用 GNU Affero 通用公共许可证 3.0 或更高版本),可扫描 JSONL/TXT/Parquet 文件,并执行以下操作:

  • 个人身份信息(PII):使用 Presidio(针对 PERSON 实体使用 spaCy 的 en_core_web_lg 命名实体识别模型)+ 自定义正则表达式处理电子邮件 / 国际银行账号 / 银行卡 / 电话号码,不依赖模型,适用于任何语言。
  • 密钥:包含16条规则的策略集,逐字移植自 gitleaks(固定提交哈希值 4c232b5),并在测试中针对原始 gitleaks.toml 文件逐条验证。
  • 编辑处理mask(掩码,显示为 <TYPE>)、hash(截断的 sha256 哈希值)或 drop(删除)。
  • 报告:生成审计 JSON 文件,包含按类型统计的数量和位置信息。

通过专用的 spaCy _lg 模型支持多语言姓名识别(西班牙语/德语/法语),具有明确的多语言回退机制,如果意外使用回退机制,测试将会失败。

工作原理

# 安装
python -m venv .venv && source .venv/bin/activate
pip install -e .
# 首次运行将下载 spaCy 的 en_core_web_lg 模型(约 400 MB)

# 扫描并掩码处理
corpus-scrub scan --input corpus.jsonl --policy mask --out redacted.jsonl --report report.json

# 最小可行产品仅支持英语;其他语言将报错
corpus-scrub scan --input corpus.jsonl --lang en

通用检测器(电子邮件/电话/国际银行账号/银行卡)基于正则表达式,因此不需要模型,可覆盖任何语言。PERSON 实体的命名实体识别在英语中使用 Presidio,在西班牙语/德语/法语中直接使用 spaCy。

明确的局限性

并非所有功能都有保证,且已有文档说明:

  • AC-1 保证电子邮件、PERSON 实体和信用卡的召回率 >= 0.95。电话和国际银行账号在最小可行产品中不保证性能:Presidio 对电话的评分低于阈值,且国际银行账号识别器在某些英语格式下会失败。这是一个已知问题,并非意外情况。
  • 多语言命名实体识别需要 _lg

    免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据