five

GOLEMator

收藏
github2026-03-12 更新2026-03-20 收录
下载链接:
https://github.com/asseco-tech/GOLEMator
下载链接
链接失效反馈
官方服务:
资源简介:
GOLEMator是一个用于波兰行政文档的合成NER训练数据生成器。它通过填充文档模板生成逼真的假数据(如姓名、日期、NIP号码、PESEL号码、地址等),并生成用于训练命名实体识别模型的标记数据集。支持三种生成模式:文本模式(填充.txt模板生成标记的Parquet/CSV数据集)、基于图像的生成(在扫描文档图像上绘制文本)和基于DOCX的生成(填充Word模板并转换为PDF/JPG)。

GOLEMator is a synthetic named entity recognition (NER) training data generator designed for Polish administrative documents. It generates realistic synthetic data (including names, dates, NIP numbers, PESEL numbers, addresses, and other relevant information) by populating document templates, and produces token-labeled datasets for training NER models. It supports three generation modes: 1. Text mode: Populate .txt templates to generate labeled Parquet/CSV datasets; 2. Image-based generation: Render text onto scanned document images; 3. DOCX-based generation: Populate Word templates and convert them to PDF or JPG formats.
创建时间:
2026-03-12
原始信息汇总

GOLEMator 数据集概述

数据集简介

GOLEMator 是一个用于生成波兰行政文档合成命名实体识别(NER)训练数据的工具。它通过向文档模板填充逼真的虚假数据(如姓名、日期、NIP号码、PESEL号码、地址等),生成可用于训练命名实体识别模型的标注数据集。

核心功能

  • 支持50多种实体类型:包括波兰特有的实体(如PESEL、NIP、REGON、地址)以及通用实体(如日期、金额、姓名)。
  • 三种生成模式
    • 文本模式:填充 .txt 模板,生成标注的 Parquet 或 CSV 数据集。
    • 基于图像的文档生成:在扫描的文档图像上的精确坐标处绘制填充的文本,导出为 PDF 或 JPG。
    • 基于DOCX的文档生成:填充包含 {placeholder} 字段的 .docx Word 模板,并转换为 PDF 或 JPG。
  • 启发式后处理与OCR模拟:可对生成的日期、金额、NIP号码和公司名称进行规范化;可选择性地破坏生成值以模拟OCR输出;包含PESEL/日期数字拆分、互斥复选框组和自定义表单后处理器。
  • 提供CLI和Python API

安装与要求

  • Python版本:需要 Python 3.10 或更高版本。
  • 核心安装(文本模式生成)pip install .
  • 文档生成(Linux/Mac,通过LibreOffice)pip install ".[doc]"
  • 文档生成(Windows,通过Microsoft Word)pip install ".[doc-win]"
  • 完整安装(Linux/Mac)pip install ".[all]"
  • 完整安装(Windows)pip install ".[all-win]"
  • 系统依赖
    • 在 Linux/WSL 上进行基于DOCX的生成(dest_ext="pdf""jpg")需要安装 LibreOffice(例如,在 Ubuntu/Debian/WSL 上使用 sudo apt-get install -y libreoffice)。
    • 在 macOS 上进行基于图像的生成需要系统字体(如 Arial.ttfHelvetica.ttc),否则需安装备用字体(如 brew install --cask font-dejavu)。

快速开始

命令行界面(CLI)

bash golemator --config examples/example_config.yaml

主要选项包括 --config(YAML配置文件路径,必需)、--output(输出目录,默认 output/)、--format(输出格式,parquetcsv,默认 parquet)、--name(输出文件基础名称,默认 generated_dataset)。

Python API

  • 文本模式生成:使用 NerDataGenerator 类生成标注文本数据集(Parquet/CSV),不渲染文档图像。
  • 基于图像的文档生成:使用 ImageDocumentWrapper 类。
  • 基于DOCX的文档生成:使用 DocxDocumentWrapper 类,可配置后处理器列表(如 split_pesel_into_digits, create_date_splitter, create_choice_group_handler)。

配置文件(基于图像和文本模式生成)

配置文件为YAML格式,主要字段包括:

  • path_to_templates:指向基于图像的模板目录的路径。
  • document_types:指定要生成的文档类型(子文件夹名称)及数量。
  • use_templates:限制生成到特定的模板文件。
  • generation_settings:生成设置,如 probability_to_generate_OCR_Error_rows(OCR错误行生成概率,0.0-1.0)。

模板格式

基于图像的模板(.txt

纯文本文件,使用 {placeholder} 语法,并与坐标JSON文件配对。坐标文件将每个占位符映射到文档图像上的边界框。占位符名称必须匹配 SupportedEntities 中的条目(完整列表见 golemator/generator/supported_entities.py)。 部分文档类型(如 barthel, formularz_funkcjonowania, kupno_sprzedaz)是纯文本类型(无 coordinates/images/ 文件夹),仅生成标注文本数据集,不渲染图像。其 entities.json 在顶层标记有 "_mode": "text-only"

基于DOCX的模板(.docx + _entities.json

包含 {placeholder} 字段的Word文档,并附带一个实体配置JSON文件。该JSON文件包含 template_name, doc_type, entities(映射模板占位符到实体名称)以及可选的 group_of_dependent_entities(用于配置互斥复选框组)。

后处理器

后处理器是在实体生成后应用的调用函数 (data: dict) -> dict。可将其列表传递给 NerDataGenerator.generate_doc_data()DocxDocumentWrapper

  • split_date_into_digits:将生成的日期拆分为单个数字字段。
  • split_pesel_into_digits:生成有效的PESEL并将其拆分为单数字段。
  • combined_date_pesel_postprocessor:同时应用上述两者的便捷包装器。
  • create_date_splitter:工厂函数,返回使用 day_{prefix}_N 键约定的拆分器。
  • handle_choice_groups:强制执行互斥复选框组。
  • create_choice_group_handler:工厂函数,返回绑定到已加载实体配置的选择组处理器。
  • wrke_custom_postprocessor:用于WRKE风格表单的示例后处理器。

项目结构

主要目录和文件包括:

  • golemator/:核心Python包,包含CLI、数据生成器、文档处理(图像和DOCX)、后处理、模板处理程序和工具模块。
  • templates/:包含 image_based/(基于图像的模板)和 docx_based/(基于DOCX的模板)子目录。
  • examples/:包含示例配置文件(example_config.yaml)和演示工作流程的Jupyter笔记本(test.ipynb, test_docx.ipynb)。

许可证

MIT 许可证。

搜集汇总
数据集介绍
main_image_url
构建方式
在自然语言处理领域,特别是针对波兰语行政文档的命名实体识别任务中,GOLEMator数据集通过创新的合成数据生成方法构建而成。该工具利用文档模板填充技术,将包含占位符的文本或图像模板与真实感强的伪造数据相结合,生成标注完整的训练数据集。构建过程支持三种模式:文本模式通过填充纯文本模板生成结构化标注数据;图像模式在扫描文档图像的指定坐标上绘制文本;而基于DOCX的模式则通过处理Word模板并转换为PDF或JPG格式,实现了多模态数据生成。
特点
GOLEMator数据集的一个显著特点是其覆盖了超过50种实体类型,不仅包含波兰特有的行政标识如PESEL、NIP和REGON,还涵盖了通用实体如日期、金额和姓名。数据集支持灵活的生成方式,包括文本、图像和DOCX模板,并提供了启发式后处理功能,能够模拟OCR输出误差,增强了数据的真实性和多样性。此外,其内置的互斥复选框组处理和自定义后处理器进一步提升了数据生成的精细度和实用性,为模型训练提供了高质量的多场景数据支持。
使用方法
使用GOLEMator数据集时,用户可以通过命令行接口或Python API灵活调用。在文本模式下,只需加载YAML配置文件并运行生成器,即可输出Parquet或CSV格式的标注数据集。对于图像或DOCX模式,用户需指定模板路径和输出格式,并可选配后处理器以优化数据质量。该工具还提供了详细的示例和配置说明,支持从快速启动到高级定制的完整工作流程,使得研究人员能够高效地生成适用于特定行政文档场景的训练数据。
背景与挑战
背景概述
在自然语言处理领域,命名实体识别(NER)作为信息抽取的关键任务,其性能高度依赖于标注数据的质量与规模。针对波兰语行政文档的NER研究,长期以来面临公开标注数据稀缺的挑战,制约了相关模型的发展与应用。GOLEMator数据集应运而生,由专注于多语言NLP技术的研究团队开发,旨在通过合成数据生成技术,自动化构建大规模、高质量的波兰语行政文档NER训练数据。该数据集支持文本、图像及DOCX模板三种生成模式,覆盖超过50种实体类型,包括波兰特有的PESEL、NIP、REGON等标识符以及通用实体,显著提升了波兰语文档信息处理的模型训练效率与研究可复现性。
当前挑战
GOLEMator数据集致力于解决波兰语行政文档命名实体识别任务中标注数据匮乏的核心挑战。其构建过程需确保合成数据的真实性与多样性,例如生成符合波兰法规的PESEL号码与NIP税号,同时模拟文档布局与OCR噪声以贴近实际应用场景。技术实现上,团队需克服多模态生成的一致性难题,包括文本模板与图像坐标的精确对齐、DOCX到PDF的格式转换依赖外部软件(如LibreOffice),以及在跨平台环境中处理字体渲染与长路径文件系统兼容性等工程问题。这些挑战共同指向合成数据在保真度、可扩展性及易用性方面的持续优化需求。
常用场景
经典使用场景
在波兰语自然语言处理领域,GOLEMator数据集生成器主要用于合成高质量的命名实体识别训练数据。其经典应用场景涉及模拟波兰行政文档,如税务申报表或医疗评估表,通过填充模板生成包含真实感虚假信息的文本或图像数据。这一过程不仅支持文本模式生成标注数据集,还能结合图像或DOCX模板,为模型训练提供多样化的数据来源,有效缓解了波兰语领域标注数据稀缺的挑战。
实际应用
在实际应用中,GOLEMator被广泛用于波兰公共部门和企业的文档自动化处理。例如,在医疗保健领域,它可以生成模拟的巴氏量表评估文档,用于训练系统自动提取患者信息;在行政管理中,则能合成税务或商业登记表格,支持OCR后处理系统的开发。这些合成数据能够模拟真实文档的布局和内容,帮助构建鲁棒的文档理解管道,提升自动化流程的准确性和效率。
衍生相关工作
围绕GOLEMator生成的合成数据,衍生了一系列专注于波兰语文档理解的经典研究工作。例如,基于其图像模式输出,研究人员开发了针对扫描文档的端到端NER模型,有效处理了文本定位与实体识别的联合任务。此外,结合其启发式后处理功能,如OCR错误模拟,相关研究探索了噪声鲁棒性增强技术,推动了文档数字化领域在低资源语言环境下的算法创新与应用部署。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作