presidio-research

presidio-research

开源PII检测与评估工具包助力隐私保护

Presidio-research是一个开源的个人身份信息(PII)检测模型开发和评估工具包。它集成了假数据生成、数据表示、模型评估和训练等功能。研究人员可利用该工具包生成合成数据集、评估PII识别性能,以及训练新的命名实体识别模型。Presidio-research支持spaCy、Flair和CRF等主流NLP框架,为PII检测研究提供了综合性解决方案。

PresidioPII检测数据生成模型评估命名实体识别Github开源项目

Presidio-research

这个软件包包含用于开发Presidio新识别器的数据科学相关任务。它用于评估整个系统,以及评估特定的PII识别器或PII检测模型。此外,它还包含一个假数据生成器,可以基于模板和假PII创建虚假句子。

谁应该使用它?

  • 任何对开发或评估PII检测模型、现有Presidio实例或Presidio PII识别器感兴趣的人。
  • 任何对基于先前数据集或句子模板生成新数据感兴趣的人(例如,为命名实体识别模型增加实体值的覆盖范围)。

入门

注意:Presidio评估器需要Python>=3.9

从PyPI安装

conda create --name presidio python=3.9 conda activate presidio pip install presidio-evaluator # 下载presidio-analyzer使用的spaCy模型 python -m spacy download en_core_web_lg

从源代码安装

要安装该软件包:

  1. 克隆仓库
  2. 安装所有依赖,最好在虚拟环境中:
# 安装软件包+依赖 pip install poetry poetry install --with=dev # 要安装所有额外的NER依赖(如Flair、Stanza、CRF),运行: # poetry install --with='ner,dev' # 下载presidio-analyzer使用的spaCy模型 python -m spacy download en_core_web_lg # 验证安装 pytest

请注意,某些依赖项(如Flair和Stanza)不会自动安装,以降低安装复杂度。

这个软件包包含什么?

  1. 用于PII识别器和NER模型的假数据生成器
  2. 用于数据生成、建模和分析的数据表示层
  3. 多个模型/识别器评估文件(如用于Spacy、Flair、CRF、Presidio API、Presidio Analyzer Python包、特定Presidio识别器)
  4. 多个模型的训练和建模代码
  5. 用于结果分析的辅助函数

1. 数据生成

更多详情请参见数据生成器README

数据生成过程接收一个包含模板的文件,例如My name is {{name}}。然后,它通过采样模板和PII值创建新的合成句子。此外,它还对数据进行分词,为新创建的样本创建标签(IO/BIO/BILUO)和跨度。

生成数据后,可以将其分割为训练/测试/验证集,同时确保每个模板只存在于一个集合中。更多详情请参见此笔记本

2. 数据表示

为了标准化流程,我们使用特定的数据对象来保存生成、分析、建模和评估数据及模型所需的所有信息。具体请参见data_objects.py

标准化结构List[InputSample]可以转换为不同的格式:

  • CONLL
from presidio_evaluator import InputSample dataset = InputSample.read_dataset_json("data/synth_dataset_v2.json") conll = InputSample.create_conll_dataset(dataset) conll.to_csv("dataset.csv", sep="\t")
  • spaCy v3
from presidio_evaluator import InputSample dataset = InputSample.read_dataset_json("data/synth_dataset_v2.json") InputSample.create_spacy_dataset(dataset, output_path="dataset.spacy")
  • Flair
from presidio_evaluator import InputSample dataset = InputSample.read_dataset_json("data/synth_dataset_v2.json") flair = InputSample.create_flair_dataset(dataset)
  • json
from presidio_evaluator import InputSample dataset = InputSample.read_dataset_json("data/synth_dataset_v2.json") InputSample.to_json(dataset, output_file="dataset_json")

3. PII模型评估

presidio-evaluator 框架允许您评估 Presidio 作为一个系统、NER 模型或特定的 PII 识别器的精确度和召回率,并进行错误分析。

示例:

4. 训练 PII 检测模型

CRF

要在新数据集上训练原始 CRF,请参阅[此笔记本](https://github.com/microsoft/presidio-research/blob/master/notebooks/models/Train%20CRF.ipynb。要进行评估,请参阅[此笔记本](https://github.com/microsoft/presidio-research/blob/master/notebooks/models/Evaluate%20CRF%20models.ipynb。

spaCy

要训练新的 spaCy 模型,首先将数据集保存为 spaCy 格式:

# dataset 是 List[InputSample] 类型 InputSample.create_spacy_dataset(dataset ,output_path="dataset.spacy")

要进行评估,请参阅[此笔记本](https://github.com/microsoft/presidio-research/blob/master/notebooks/models/Evaluate%20spacy%20models.ipynb

Flair

  • 要训练 Flair 模型,请参阅此辅助类或以下代码片段:
from presidio_evaluator.models import FlairTrainer train_samples = "data/generated_train.json" test_samples = "data/generated_test.json" val_samples = "data/generated_validation.json" trainer = FlairTrainer() trainer.create_flair_corpus(train_samples, test_samples, val_samples) corpus = trainer.read_corpus("") trainer.train(corpus)

注意,这三个 json 文件是使用 InputSample.to_json 创建的。

更多信息

贡献

本项目欢迎贡献和建议。大多数贡献都要求您同意贡献者许可协议(CLA),声明您有权并且确实授予我们使用您贡献的权利。有关详细信息,请访问 https://cla.opensource.microsoft.com

当您提交拉取请求时,CLA 机器人会自动确定您是否需要提供 CLA,并相应地修饰 PR(例如,状态检查、评论)。只需按照机器人提供的说明操作即可。您只需在所有使用我们的 CLA 的存储库中执行一次此操作。

本项目已采用Microsoft 开源行为准则。 有关更多信息,请参阅行为准则常见问题解答或联系 opencode@microsoft.com 获取任何其他问题或意见。

版权声明:

Fake Name Generator 生成的虚假身份信息根据知识共享署名-相同方式共享 3.0 美国许可证授权使用。 Fake Name Generator 和 Fake Name Generator 标志是 Corban Works, LLC 的商标。

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具使用教程AI营销产品酷表ChatExcelAI智能客服
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

数据安全AI助手热门AI工具AI辅助写作AI论文工具论文写作智能生成大纲
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

热门AI工具AI办公办公工具智能排版AI生成PPT博思AIPPT海量精品模板AI创作
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多