跳转到主要内容

Binonymizer是一个Python工具,旨在对平行语料库中的个人数据进行标记。

项目描述

binonymizer

Binonymizer是一个Python工具,旨在对平行语料库中的个人数据进行标记1

例如,对于以下输入:

URL1  URL2  My name is Marta and my email is fake@email.com    Mi nombre es Marta y mi email es fake@email.com

Binonymizer的输出将是:

URL1 URL2 My name is <entity class="PER">Marta</entity> and my email is <entity class="EMAIL">fake@email.com</entity> Mi nombre es <entity class="PER">Marta</entity> y mi email es <entity class="EMAIL">fake@email.com</entity>

可检测实体类型

目前,Binonymizer能够检测和标记以下类型的实体

  • PER:人名
  • ORG:组织和公司名称
  • EMAIL:电子邮件地址
  • PHONE:电话号码
  • ADDRESS:地址
  • ID:个人卡片ID(例如西班牙的DNI)
  • MISC:其他个人数据,或当类型不确定时
  • OTHER:其他

安装与要求

Binonymizer与Python 3.6兼容,可以使用pip安装。

python3.6 -m pip install binonymizer

安装后,两个二进制文件(binonymizerbinonymizer-lite)将位于您的python/installation/prefix/bin目录中。

如果需要,会自动下载和安装与语言相关的包和模型。

巴斯克语的额外说明

如果您计划对巴斯克语数据进行binonymize,您需要从github下载binonymizer,并执行以下步骤

cd binonymizer
git submodule sync
git submodule update --init --recursive --remote
cd prompsit_python_bindings
python3.6 setup.py install

请注意,您需要访问Prompsit的私有仓库。如果您需要更多信息,请联系我们

用法

Binonymizer可以使用以下方式运行

binonymizer [-h] --format {tmx,cols} [--tmp_dir TMP_DIR]
                     [-b BLOCK_SIZE] [-p PROCESSES] [-q] [--debug]
                     [--logfile LOGFILE] [-v]
                     input [output] srclang trglang

参数

  • 位置参数
    • 输入:待匿名化的文件(见以下格式)
    • 输出:包含匿名化注解的文件(默认:标准输出)
    • srclang:输入的源语言代码
    • trglang:输入的目标语言代码
  • 可选参数
    • -h, --help:显示此帮助信息并退出
  • 必须
    • --format {tmx,cols}:输入文件格式。值:cols, tmx("cols"格式:URL1 URL2 SOURCE_SENTENCE TARGET_SENTENCE [extra columns] tab-separated)
  • 可选
    • --tmp_dir TMP_DIR:创建此程序临时文件的临时目录(默认:系统默认临时目录,由Unix中的环境变量TMPDIR定义)
    • -b BLOCK_SIZE, --block_size BLOCK_SIZE:每块的句子对数(默认:10000)
    • -p PROCESSES, --processes PROCESSES:要使用的进程数(默认:所有CPU减一)
  • 日志记录
    • -q, --quiet:静默日志模式(默认:False)
    • --debug:调试日志模式(默认:False)
    • --logfile LOGFILE:将日志存储到文件中(默认:标准错误输出)
    • -v, --version:显示此脚本的版本并退出

示例

binonymizer corpus.en-es.raw corpus.en-es.anon en es --format cols  --tmp_dir /tmpdir -b50000 -p31 

这将读取名为"corpus.en-es.raw"的语料库,该语料库采用基于列的格式,提取个人信息,并将标记输出写入"corpus.en-es.anon"。Binonymizer将在50000个句子的块中运行,使用31个核心,并在/tmpdir中写入临时文件

轻量版

虽然binonymizer通过将工作负载分配给可用核心来实现并行化,但一些用户可能更喜欢实现自己的并行化策略。为此,提供了一个脚本的单线程版本:binonymizer_lite。用法与完整版完全相同,但省略了块大小(-b)和进程(-p)参数。

待办事项

  • 完全支持TMX输入/输出
  • 地址识别
  • GPU支持
  • 自动处理Prompsit-python-bindings子模块(git submodule update --remote, python3.6 setup.py install)

1:见EC对“个人信息”的定义:https://ec.europa.eu/info/law/law-topic/data-protection/reform/what-personal-data_en

项目详情


下载文件

下载适用于您平台上的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

binonymizer-0.1.1.tar.gz (15.0 kB 查看哈希值

上传时间

构建分布

binonymizer-0.1.1-py3-none-any.whl (33.7 kB 查看哈希值

上传时间 Python 3

由以下支持