返回博客技术

Presidio的22.7%精确度问题:为什么误报正在破坏您的匿名化结果

2024年的基准测试发现,Presidio的人名识别器在商业文档中实现了22.7%的精确度——这意味着77.3%的检测结果是误报。产品名称、公司名称和城市名称与实际的PII一起被删除。以下是混合检测如何解决这个问题。

April 21, 20267 分钟阅读
Presidio precisionfalse positivesNER accuracyPII detection qualityhybrid recognizer

Presidio的22.7%精确度问题:为什么误报正在破坏您的匿名化结果

在PII检测中,误报并不是一个小麻烦。当您的工具标记为“人名”的77.3%实际上不是人名时,您并没有保护隐私——您是在破坏数据。

2024年对Microsoft Presidio的默认NER(命名实体识别)模型的基准研究评估了商业文档上下文中的精确度:财务报告、客户通信、产品文档和支持票据。结果:人名检测的精确度为22.7%。

这意味着每100个标记为人名的检测结果中:

  • 23个是真正的人名(正确检测)
  • 77个是误报(产品名称、公司名称、地点名称、品牌提及)

为什么会这样

Presidio的默认人名识别器使用spaCy的en_core_web_lg模型进行NER。该模型主要是在新闻文本上训练的——在这些文本中,大多数专有名词实际上是新闻文章讨论的人、组织或地点。

商业文档是不同的:

看起来像人名的产品名称:

  • "Apple iPhone 15 Pro发货记录..." → 标记为PERSON
  • "Samsung Galaxy Tab" → 标记为PERSON
  • "Cisco Meraki部署" → 标记为PERSON

具有人名结构的公司名称:

  • "Johnson Controls季度业绩" → "Johnson"标记为PERSON
  • "Goldman Sachs投资组合" → "Goldman"标记为PERSON
  • "BlackRock投资论文" → 标记为PERSON

触发人名NER的地点名称:

  • "维多利亚港开发" → "Victoria"标记为PERSON
  • "圣地亚哥分发中心" → "Santiago"标记为PERSON

在一份包含100个大写专有名词的商业文档中,spaCy的默认模型缺乏可靠区分“Apple”(公司)和“Apple Smith”(人)的上下文理解。

下游影响

一家数据分析公司在与客户分析团队分享结果之前,实施了Presidio进行匿名化。部署后的审计:

  • 40%的调查反馈中产品名称被错误删除
  • 响应中提到的城市名称被系统性删除
  • 品牌提及——分析上下文的一部分——被匿名化
  • 关于特定产品的客户情绪变得无法分析

分析团队收到的数据中,“我喜欢[已删除] Pro,但[已删除]充电器坏了”替换了“我喜欢iPhone Pro,但Apple充电器坏了。”匿名化破坏了收集调查所提供的分析价值。

该公司并没有过度保护隐私——他们是在没有实现合规的情况下破坏了实用性。在审计发现后,Presidio被替换。

混合检测方法

精确度问题并不是Presidio基础模型独有的——这是缺乏上下文的基于标记的NER的固有限制。解决方案需要上下文感知的检测。

基于变换器的模型(XLM-RoBERTa): 在多样文本上训练的大型语言模型理解上下文关系。“Apple宣布其收益”→ Apple是公司(上下文线索:“宣布收益”)。 “Apple Smith加入团队”→ Apple是人名(上下文线索:“加入团队”)。

上下文感知检测显著提高了精确度,同时保持了召回率:

方法精确度召回率
Presidio默认NER22.7%~85%
仅正则表达式~95%~40%
混合(正则表达式 + NLP + 变换器)~85%~80%

混合方法并没有实现完美的精确度——那需要人工审查。但85%的精确度意味着15%的误报率,而不是77.3%。对于商业文档处理,这就是可用输出和损坏数据之间的区别。

混合堆栈的工作原理:

  1. 正则表达式层: 对结构化标识符(SSN、电子邮件地址、电话号码、IBAN)的高精确度检测。这些格式是机器可读的,因此误报很少。首先运行,以接近100%的精确度消除结构化PII。

  2. NLP层(spaCy): 针对人名、组织、地点的标准NER。提供初始检测集。高召回率,较低精确度。

  3. 变换器层(XLM-RoBERTa): 对NLP检测的上下文重新评分。被NLP标记的实体在完整句子上下文中重新评估。“Apple”在产品上下文中失去人实体分数。“John”作为客户投诉主题名称获得人实体分数。

  4. 置信度阈值: 只有超过校准置信度阈值的检测结果才会通过匿名化。阈值是可调的——对精确度关键的用例(商业分析)使用更高的阈值,对合规性关键的用例(HIPAA去识别化)使用更低的阈值。

实际影响:调查分析恢复

切换到混合检测后:

  • 产品名称误报:从40%减少到3%
  • 城市名称误报:从100%的城市提及减少到接近0%
  • 实际人名检测:保持在~82%的召回率(略微减少至85%以换取精确度提升)

调查现在是可用的。“iPhone”、“Apple”、“Samsung”和“Chicago”得以保留。投诉特定上下文中的客户名称被正确匿名化。

权衡:混合检测在计算上更为密集。对于大规模处理,这意味着处理时间略微延长。对于大多数商业用例,精确度的提升是值得的成本。

何时接受更高的误报率

某些合规上下文更倾向于召回而非精确度:

HIPAA安全港去识别化: 错过一个真正的阳性(未能删除人名)是HIPAA违规。如果确保接近100%的实际PHI召回率,10%的误报率是可以接受的。过度匿名化比不足匿名化更可取。

高风险法律文件审查: 错过一个特权的律师-客户名称可能会放弃特权。误报需要律师审查,但不会产生法律责任。

一般商业分析: 过度匿名化破坏数据而没有实现合规好处。精确度更为重要。使用混合检测并设置保守的阈值。

适当的精确度-召回权衡取决于用例。允许阈值配置的工具提供了根据上下文优化结果的灵活性。

结论

22.7%的精确率意味着您PII工具所称的每4个“人名”中就有3个不是人名。对于商业文档,这一精确度水平使得匿名化输出在分析目的上变得不可用,同时提供了对合规性的虚假保证。

结合正则表达式、NLP和基于变换器的上下文评分的混合检测提高了精确度,使得匿名化数据仍然具有分析价值。对于因误报问题而放弃Presidio的组织而言,这一架构是解决方案——而不是同一模型的不同配置。

来源:

准备好保护您的数据了吗?

开始使用 285 种实体类型在 48 种语言中匿名化 PII。