GouDa
收藏资源简介:
GouDa是由哈根大学研究团队开发的一款综合性合成数据生成工具,旨在为数据质量基准测试提供灵活且可复现的数据集。该工具支持生成JSON格式的表格化和半结构化数据,无需依赖现有数据集,通过自定义属性值列表和多种生成函数实现高度真实的数据模拟,并允许以可控方式插入缺失值、语法违规等20余种错误类型。其创建过程基于GouDa模式定义(GSD)模板,结合图形用户界面实现交互式数据生成,同时自动生成干净数据版本和错误日志作为基准真值。该数据集主要应用于数据清洗算法评估、机器学习模型测试及数据质量研究领域,致力于解决合成数据在真实性、错误覆盖和多格式支持方面的核心挑战。
GouDa is a comprehensive synthetic data generation tool developed by the research team at the University of Hagen, designed to deliver flexible and reproducible datasets for data quality benchmarking. This tool supports the generation of tabular and semi-structured data in JSON format, without relying on pre-existing datasets. It enables highly realistic data simulation via custom attribute value lists and diverse generation functions, and allows controlled insertion of over 20 types of errors including missing values and syntax violations. Its development is grounded in GouDa Schema Definition (GSD) templates, and it supports interactive data generation through a graphical user interface (GUI), while automatically producing clean data versions and error logs as ground truth. This tool is primarily applied in the domains of data cleaning algorithm evaluation, machine learning model testing and data quality research, and is committed to addressing the core challenges of synthetic data in terms of authenticity, error coverage and multi-format support.
GouDa - Generation of universal Datasets 数据集详情
- 项目名称:GouDa
- 项目ID:79781857
- 创建时间:2026年2月25日
- 项目描述:GouDa 是一个基于 Spring Boot 的数据生成框架,用于根据 GouDa JSON schema 定义(GSD)创建合成数据集。它提供灵活的系统和多种内置生成器,能生成包括姓名、日期、计算值、分布数据在内的真实测试数据,并支持可自定义的错误注入,用于数据质量测试。同时支持通过 CLI 和 REST API 接口管理项目并生成数据。
核心功能
-
数据生成:
- 支持通过输入文件(JSON 格式)定义数据生成规则。
- 提供多种数据生成函数,包括:
- 唯一值生成 (
unique):确保属性值唯一,重复则标记为 "- DUPLICATE -"。 - 轮流取值 (
alternate):根据概率在两个值之间切换。 - 计算 (
calculate):对两个数值进行数学运算(加、减、乘、除、模、幂)。 - 数组求和 (
customArraySum):计算数组元素总和。 - 类型转换 (
toInt):将数值截断为整数。 - 标识符生成 (
customAsin):生成类似 ASIN 的10位随机数字标识符。 - 统计分布生成 (
customDistribution):根据指定分布类型(如正态、均匀)生成值。 - 概率性别生成 (
genderWithProbability):根据概率生成“male”或“female”。 - 随机整数数组生成 (
customRandomArray):生成可配置长度和范围的随机整数数组。
- 唯一值生成 (
- 提供基于字典的生成器(从预定义字典文件中读取数据):
customFirstName、customLastName、customBrand、customProduct、customIndustry、customPost、customImgUrl、customFeedback、customSet、customDerivedValue。- 大多数生成器支持可重复的随机种子设置。
-
错误生成:
- 支持在数据中可控地注入错误,生成三个文件:含错误的数据集、无错误的数据集(真实值)、列出所有错误的文本文件。
- 错误生成按层级分类:
- 层级1(单条记录单属性值):缺失值、语法错误、值域违规、集合违规、拼写错误、上下文不匹配值、值项超出上下文、无意义值、错误值。
- 层级2(单属性所有值):属性内重复、统计分布异常值。
- 层级3(单条记录内多属性值):半空元组、计算值错误、元组无关项、派生值错误。
- 层级4(跨多条记录):实体重复、偏差与类不平衡。
- 支持用户自定义新的错误类型,通过扩展
ErrorCommand.java和ErrorGenerator.java实现。
-
关系定义:
- 支持在输入文件中通过命令定义记录间的关系,包括:
- 无关系 (
None) - 1:1 关系 (
OneToOne) - 1:n 关系 (
OneToMany) - n:m 关系 (
ManyToMany)
- 无关系 (
- 支持在输入文件中通过命令定义记录间的关系,包括:
快速开始
- 通过
docker compose up命令启动应用程序。 - Web UI 访问地址:
http://localhost。
技术架构
- 框架:Spring Boot
- 接口:提供 CLI 和 REST API 接口(含 Swagger UI 文档)。
- 配置:支持 Spring 配置和对象模型定义。
- 项目管理:可通过后端系统管理项目,支持 JSON 序列化与反序列化。
- 部署:提供 Docker Compose 文件和 JAR 包。




