Back to blog
    pii-redactionphi-redactionon-premisehipaagdprdata-preparation

    面向多行业服务提供商的本地 PII 和 PHI 脱敏工作流

    构建无需云依赖即可处理医疗、法律、金融和政府数据的本地 PII/PHI 脱敏管道的技术指南。

    Edward Xi Yang

    训练数据在使用之前,必须先移除其中的敏感信息。这是 HIPAA、GDPR 以及多数数据处理协议下的法律要求。对同时服务多个行业的服务提供商来说,难点在于「敏感」的定义因行业而异,可接受的脱敏方法也因法规而异。

    医疗客户需要按 HIPAA 安全港标准移除 PHI。法律客户需要保护受律师与客户特权保护的信息。金融客户需要移除账号和社会安全号码。政府客户需要剥离涉密标识。而且他们全都期望脱敏在本地完成,因为把数据送到云 API 去做实体识别,恰恰是他们雇你来防止的那种数据暴露。

    本文讲的是如何构建本地的 PII/PHI 脱敏工作流,在不依赖云的前提下满足多行业的要求。


    PII 与 PHI:各行业要求你脱敏什么

    PII(个人可识别信息)

    PII 指任何能够识别到特定个人的信息。在 GDPR 之下,这个定义很宽,涵盖任何「与已识别或可识别的自然人相关」的数据。在美国法规下,定义因场景而异,但一般包括:

    • 全名
    • 社会安全号码
    • 驾照号码
    • 电子邮箱
    • 电话号码
    • 实际住址
    • 出生日期
    • 生物特征标识
    • 金融账号

    PHI(受保护的健康信息)

    PHI 是 HIPAA 专有的类别,在 PII 之外还包括与健康相关的数据。HIPAA 的安全港方法列出了 18 类标识符,必须全部移除,数据才被视为已去标识化:

    序号标识符示例
    1姓名患者全名
    2地理信息地址、邮编(人口少于 20,000 时取前 3 位)
    3日期除年份外的所有日期(89 岁以上患者连年份也要处理)
    4电话号码所有电话号码
    5传真号码所有传真号码
    6电子邮箱所有邮箱地址
    7SSN社会安全号码
    8MRN病历号
    9医保计划编号保险受益人编号
    10账号金融账号
    11证书/执照编号专业执照
    12车辆标识车牌、车辆识别码
    13设备标识序列号、UDI
    14URL网址
    15IP 地址网络地址
    16生物特征标识指纹、声纹
    17照片正面全脸照片
    18其他任何唯一标识兜底条款,涵盖各类唯一 ID

    各行业特有的敏感实体

    在标准的 PII/PHI 之外,每个行业还有各自领域内的敏感数据:

    行业额外的敏感实体
    医疗诊断编码、与患者绑定的药品名称、治疗日期、医患通信
    法律案件编号、对方当事人姓名、和解金额、受特权保护的通信、封存案件中的法官姓名
    金融账号、路由号、与可识别账户绑定的交易金额、信用分、贷款条款
    政府密级、涉密项目代号、设施代码、人员标识
    建筑投标金额、专有技术规格、分包商报价、场地门禁凭证

    本地脱敏的几种方法

    所有脱敏都必须在本地完成,不得为了实体识别把数据发送到外部 API。以下是四种主要方法及其取舍。

    1. 正则表达式匹配

    最简单也最可预测的方法。为已知的实体格式定义模式,并替换匹配项。

    优点:确定性强、速度快、不依赖模型、可在物理隔离环境中运行,对定义良好的模式漏检率为零。

    缺点:只能抓到格式可预测的实体,无法识别姓名、非规范格式的地址或依赖上下文的实体。对短模式误报率高(例如 6 位数字既可能是病历号,也可能是页码)。

    最适合:社会安全号码(\d{3}-\d{2}-\d{4})、电话号码、邮箱地址、格式已知的账号、标准格式的日期。

    2. 本地 NER 模型

    命名实体识别模型在本地运行,用于识别人名、机构名和地名这类实体。spaCy 的 en_core_web_trf、Flair NER 或微调过的 BERT 变体,都可以完全在本地运行。

    优点:能识别没有固定格式的实体(姓名、机构)。可针对特定领域的实体做微调。不依赖云端。

    缺点:Transformer 模型要达到可用吞吐通常需要 GPU。准确度因领域而异,用新闻语料训练的通用 NER 模型在临床记录上表现会明显下滑。需要下载模型并在本地部署。

    最适合:人名、机构名、地名,以及其他缺乏统一格式的实体。

    3. 基于本地大模型的识别

    在本地跑一个语言模型(如 Llama 3.1 8B、Qwen 2.5 7B),配上 PII 识别的提示词,让模型逐段读取文本并标出敏感实体。

    优点:能处理依赖上下文的判断(比如「Dr. Smith」是医生姓名,而「Smith & Wesson」是产品名)。改一下提示词就能识别新的实体类型。可以一次处理多种实体类型。

    缺点:比正则和 NER 慢。非确定性,不同次运行可能给出不同结果。算力需求可观(8B 以上的模型需要 6 到 16GB 显存)。在物理隔离环境中需要预先载入模型权重。

    最适合:复杂或含糊的实体、依赖上下文的识别,以及需要灵活性的跨领域脱敏。

    4. 基于字典的匹配

    维护一份已知敏感值的清单(医生姓名、机构名称、已批准药品列表),并据此匹配。

    优点:对已知实体精确率很高。速度快。完全确定。

    缺点:只能抓到字典里有的实体。需要持续维护。无法识别此前未收录的实体。

    最适合:已知实体清单(员工姓名、设施代码、客户公司名称),以及作为其他方法的补充。


    推荐的多层方案

    生产级脱敏没有哪一种方法单独够用。实务上的做法是分层:

    1. 正则层:抓住所有格式可预测的实体(社会安全号码、电话、邮箱、日期、账号)
    2. 字典层:抓住客户提供清单中的所有已知实体
    3. NER 模型层:抓住正则漏掉的人名、机构名和地名
    4. 验证环节:对统计样本做人工复核,衡量脱敏的完整程度

    顺序很重要。先跑正则和字典匹配可以减轻 NER 模型的负担,并提供一个基线,让模型只需做补充。


    替换策略

    你如何替换识别出的实体,会同时影响合规性和数据可用性。

    掩码

    把实体替换为通用标记:[NAME][SSN][DATE]

    优点:简单,保留文本结构,清楚地标出实体被移除的位置。 缺点:破坏了实体类型信息,而这些信息对模型训练可能有用。同类型的多个实体无法区分。

    假名化

    把实体替换为逼真但虚构的值:「John Smith」换成「Robert Chen」,「555-12-3456」换成「555-98-7654」。

    优点:保留语义结构。训练数据保有真实实体的「形状」,有助于提升模型在下游任务上的表现。在 GDPR 之下,假名化数据适用另一套(限制更少的)处理基础。 缺点:需要一张映射表,而这张表本身就是敏感的。存在与真实值撞车的风险。

    删除

    把实体整个删掉,不留痕迹。

    优点:保护力度最强,不留任何残余信息。 缺点:破坏文本结构,句子变成不连贯的片段,作为训练数据质量很差。

    各行业的推荐做法

    行业推荐策略理由
    医疗假名化或掩码HIPAA 安全港要求移除标识符,而假名化能保留临床语境
    法律掩码受特权保护的内容必须被清楚标示为已脱敏
    金融掩码把账号替换成 [ACCOUNT] 可以保留交易结构
    政府删除或掩码涉密标识不得留下任何残余信息

    验证脱敏是否彻底

    脱敏的可靠程度取决于验证。一条声称移除了 PII、实际却漏掉 3% 姓名的流水线,比完全不脱敏更糟,因为它制造了一种虚假的合规感。

    统计抽样

    人工复核随机抽取的一批已脱敏记录。行业惯例是抽 5% 到 10%,对来自新数据源的第一批数据应提高抽样比例。

    注入已知实体

    在脱敏之前注入带有已知 PII 模式的记录,事后核实它们是否全部被抓到。这样能得到一个可量化的检出率。

    交叉方法验证

    对脱敏后的输出再跑一遍另一种独立的识别方法。如果方法 B 找到了方法 A 漏掉的实体,说明流水线有缺口。

    脱敏审计报告

    把验证结果写成文档:样本量、检出率、测试过的实体类型、误报率、漏报率。这份报告会成为你交付给客户的成果的一部分。


    在实践中做集成脱敏

    从零搭一条多层脱敏流水线,包括正则、NER、字典、验证和日志,大约需要 60 到 120 小时的工程投入,另外每接入一个新的客户行业还有持续的维护成本。

    Ertas Data Suite 在其 Clean 模块中内置了 PII/PHI 脱敏能力。它完全在本地运行,不依赖云端,支持按行业配置实体类型,并把每一次脱敏事件(实体类型、位置、替换方法、操作者 ID、时间戳)记入统一的审计链路。脱敏日志可以作为合规文档包的一部分导出。


    结语

    PII/PHI 脱敏是原始客户数据与可用训练数据之间的那道闸门。对多行业服务提供商而言,难点不只是识别实体,更在于同时应对医疗、法律、金融和政府客户各不相同的要求,而且全程在本地完成,并产出能证明脱敏彻底的审计证据。

    这一步做错了,下游的一切,标注、模型、部署,都会继承那份合规风险。

    就本文向 AI 提问

    Ship AI that runs on your users' devices.

    Free plan with 30 credits/mo, no card required. Paid plans from $10/mo USD.

    Keep reading