在 Hub 上使用 Presidio 进行自动 PII 检测实验

news/2024/11/15 1:04:48/文章来源:https://www.cnblogs.com/huggingface/p/18335707

我们在 Hugging Face Hub 上托管的机器学习 (ML) 数据集中发现了一个引人关注的现象: 包含个人未经记录的私密信息。这一现象为机器学习从业者带来了一些特殊挑战。

在本篇博客中,我们将深入探讨含有一种称为个人识别信息 (PII) 的私密信息的各类数据集,分析这些数据集存在的问题,并介绍我们在数据集 Hub 上正在测试的一个新功能,旨在帮助应对这些挑战。

包含个人识别信息 (PII) 的数据集类型

我们注意到包含个人识别信息 (PII) 的数据集主要有两种类型:

  1. 标注的 PII 数据集: 例如由 Ai4Privacy 提供的 PII-Masking-300k,这类数据集专门用于训练 PII 检测模型。这些模型用于检测和掩盖 PII,可以帮助进行在线内容审核或提供匿名化的数据库。
  2. 预训练数据集: 这些通常是大规模的数据集,往往有数 TB 大小,通常通过网络爬虫获得。尽管这些数据集一般会过滤掉某些类型的 PII,但由于数据量庞大和 PII 检测模型的不完善,仍可能有少量敏感信息遗漏。

机器学习数据集中的个人识别信息 (PII) 面临的挑战

机器学习数据集中存在的个人识别信息 (PII) 会为从业者带来几个挑战。首先,它引发了隐私问题,可能被用来推断个人的敏感信息。

此外,如果未能妥善处理 PII,它还可能影响机器学习模型的性能。例如,如果一个模型是在包含 PII 的数据集上训练的,它可能学会将特定的 PII 与特定的结果关联起来,这可能导致预测偏见或从训练集生成 PII。

数据集 Hub 上的新实验: Presidio 报告

为了应对这些挑战,我们正在数据集 Hub 上试验一项新功能,使用 Presidio——一种开源的最先进的个人识别信息 (PII) 检测工具。Presidio 依赖检测模式和机器学习模型来识别 PII。

通过这个新功能,用户将能够看到一个报告,估计数据集中 PII 的存在情况。这一信息对于机器学习从业者非常有价值,帮助他们在训练模型前做出明智的决策。例如,如果报告指出数据集包含敏感的 PII,从业者可能会选择使用像 Presidio 这样的工具进一步过滤数据集。

数据集所有者也可以通过使用这些报告来验证他们的 PII 过滤流程,从而在发布数据集之前受益于这一功能。

Presidio 报告的一个示例

让我们来看一个关于这个 预训练数据集 的 Presidio 报告的示例:

Presidio report

在这个例子中,Presidio 检测到数据集中有少量的电子邮件和敏感个人识别信息 (PII)。

结论

机器学习数据集中个人识别信息 (PII) 的存在是机器学习社区不断发展的挑战之一。 在 Hugging Face,我们致力于保持透明度,并帮助从业者应对这些挑战。 通过在数据集 Hub 上试验诸如 Presidio 报告之类的新功能,我们希望赋予用户做出明智决策的能力,并构建更健壯、更符合道德标准的机器学习模型。

我们还要感谢国家信息与自由委员会 (CNIL) 对 GDPR 合规性的帮助。 他们在指导我们应对人工智能和个人数据问题的复杂性方面提供了宝贵的帮助。 请在 这里 查看他们更新的人工智能操作指南。

敬请期待更多关于这一激动人心发展的更新!


英文原文: https://hf.co/blog/presidio-pii-detection

原文作者: Quentin Lhoest, Margaret Mitchell, Omri M, Omri Mendels

译者: Evinci

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/775842.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大厂面经: 字节跳动 iOS开发实习生-飞书

好家伙, 线上面试,总时长1h30mins左右 整体流程: 0.自我介绍(0-2mins) 1.做的比较难的事情(15min) 我讲我之前写的一个低开平台,写了一个撤销回退功能,提了个pr,用了节流,用了命令模式 1.1.节流怎么用的?用在哪?为什么用? 1.2.节流把前面的触发直接clean了还是怎么处理…

Transport Layer Security for UDPTCP(TLS/DTLS1.2)

参考文章:https://blog.csdn.net/alwaysrun/article/details/89076492https://www.jianshu.com/p/fd0a624d0912https://cloud.tencent.com/developer/article/1928677 文档:https://www.rfc-editor.org/rfc/rfc6347https://www.rfc-editor.org/rfc/rfc52461.SSL/TLS 协议 1.1…

代码随想录Day1

704.二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4 …

P2119 [NOIP2016 普及组] 魔法阵

P2119 [NOIP2016 普及组] 魔法阵 传送门 1 我们可以先写出\(O(m^4)\)的暴力 #include <bits/stdc++.h> #define int long long #define PII pair<int, int> using namespace std; const int inf = 0x3f3f3f3f; const int MOD = 1e9 + 7, N = 4e4 + 5; …

Tokitsukaze and Two Colorful Tapes

看这篇题解就好了 解释一下为什么山谷=山峰 证明加强结论:对于每个环,山谷=山峰 证:对于任何一种方案,这种方案下的任意一个环,我们断开某条边,他就会长成这个样子:起点和终点连起来,不难发现是山谷=山峰 再假设我们已经定下了山谷和山峰的个数\(a\),那么\(2(x-y)\)的…

从C++看C#托管内存与非托管内存

进程的内存 一个exe文件,在没有运行时,其磁盘存储空间格式为函数代码段+全局变量段。加载为内存后,其进程内存模式增加为函数代码段+全局变量段+函数调用栈+堆区。我们重点讨论堆区。进程内存函数代码段全局变量段函数调用栈堆区托管堆与非托管堆C# int a=10这种代码申请的内…

Magic-PDF:端到端PDF文档解析神器 构建高质量RAG必备!

项目结构流程解析 预处理的作用是判断文档内容是否需要进行OCR识别,如果是普通可编辑的PDF文档,则使用PyMuPDF库提取元信息。 模型层除了常规的OCR、版面结构分析外,还有公式检测模型,可提取公式内容,用于后续把公式转化为Latex格式。但是目前暂无表格内容识别,官方预计1…

Windows系统常用端口详解

135端口135主要用于Microsoft的远程过程调用(RPC)服务。RPCSS(Remote Procedure Call Subsystem) 服务是 COM 和 DCOM 服务器的服务控制管理器。它执行 COM 和 DCOM 服务器的对象激活请求、对象导出程序解析和分布式垃圾回收。如果此服务被停用或禁用,则使用 COM 或 DCOM 的…

Albumentations库使用

介绍Albumentations的核心使用方法,提供对应测试代码1 Albumentations库介绍 一个好用的开源图像处理库,适用于对RGB、灰度图、多光谱图像,以及对应的mask、边界框和关键点同时变换。通常用于数据增广,是PyTorch生态系统的一部分。 主页:https://albumentations.ai/ 2 核心…

LinkAI RAG知识库平台优化之路

LinkAI RAG知识库平台支持无结构文档、Q&A问答对、多列表格以及网站内容自动导入,并加入了自研的增强解析功能支持对文档中图片以及表格的自动解析。支持基于语义的向量检索和基于关键词的全文检索的增强混合检索功能,生成的回复可以标注答案来源,同时可以在使用记录中查…

14. 迭代器、生成器、模块与包、json模块

1.迭代器 1.1 迭代器介绍 迭代器是用来迭代取值的工具 每一次迭代得到的结果会作为下一次迭代的初始值,单纯的重复并不是迭代# while循环实现迭代取值 a = [1, 2, 3, 4, 5, 6] index = 0 while index < len(a):print(a[index])index += 1 1.2 可迭代对象 内置有_ _iter_ _方…

# 代码随想录二刷(哈希表)

代码随想录二刷(哈希表) 三数之和思路反正对于我来说是真的难想出来。若这道题还是采用哈希表的思路去做,非常麻烦,并且还要考虑去重的操作。所以这道题其实用双指针,是更方便的。具体程序如下: class Solution:def threeSum(self, nums: List[int]) -> List[List[int]]…