Mintmark
收藏资源简介:
以土耳其语为先的合成数据集,携带着其铸造地点的印记。
A Turkish-first synthetic dataset that bears the imprint of its construction location.
Mintmark 数据集概述
基本信息
- 数据集名称:Mintmark
- 仓库地址:https://github.com/lokomotifai/mintmark
- 定位:Turkish-first synthetic datasets(土耳其语优先的合成数据集)
- 发布平台:PyPI 上的
mintmark - 当前版本:v0.3.4(项目状态标注为 Version 0.1, pre-release,版本冻结名称为 Mintmark)
- 许可证:Apache-2.0
- 支持 Python 版本:CPython 3.12、3.13、3.14
数据集核心特征
- 完全合成:不摄入任何真实数据,所有值来自种子流(seeded stream)、精选词典或声明的语法,每个字符的来源都可追溯到可读文件。
- 土耳其语优先:面向土耳其企业场景。
- 确定性(Deterministic):相同引擎版本、pack digest、recipe、seed、标识符策略与输出格式,产生字节级完全相同的数据文件与标签边车文件。
- 跨度标注(Span-labeled):每个 span 在放置其表层文本时被记录。
- 来源清单密封(Provenance manifest):由
MINTMARK.json绑定引擎、pack digest、recipe、seed、策略、分类法 pin 及每个校验和。
生成路径约束
- 生成路径中不含任何模型(不写句子、不选名字、不平滑分布)。
- 铸币时无网络(No network at mint time)。
- 运行时依赖仅 2 个。
- 无浮点数、无超越函数调用。
数据集内容示例
demo-run/ 包含以下文件:
customer.jsonl:100 条记录,每行一个 JSON 对象transaction.jsonl:100 条记录,每条含渲染后的描述transaction.labels.jsonl:每个描述的 span 偏移MINTMARK.json:来源清单SHA256SUMS:每个输出文件的校验和
单条记录示例(全部字段均为合成数据): json {"customer_id":"CUST-00000000","first_name":"Kaan","last_name":"Kılıç","national_id":"71773625043","email":"kaan.kilic.1256@example.org","phone":"+90 525 886 73 05","il":"Batman","segment":"affluent","balance_kurus":277663,"currency":"TRY"}
标识符引擎(六种)
每种引擎默认 safe 模式,可选 validator 模式:
| 引擎 | 无法为真的原因 |
|---|---|
| TCKN | 两条公开校验规则被正确计算后,第二条被非零偏移破坏,可见形状不变 |
| VKN | 同上,算法在编写前已对两个独立开源实现、200,000 个输入验证 |
| IBAN | 校验位在 02 至 98 窗口内偏移,银行代码为 99999,经 TCMB 参与者列表验证为未分配 |
| PAN | 16 位数字以 9 开头,无商业卡网络使用该主行业标识符;默认输出被掩码 |
| PHONE | 仅格式正确;土耳其编号计划未保留虚构号码段,重合可能被明确记录 |
仅使用 .example 与 example.com 家族,由 RFC 2606 与 RFC 6761 保留 |
分类法
- 18 个标签的封闭分类法(closed taxonomy)。
- 分类法版本:
hushmark-tr v0.1,pin 为af11b31e4916。
确定性声明(精确表述)
相同引擎版本、pack digest、recipe、seed、标识符策略与输出格式,在以下平台产生字节完全相同的数据文件与标签边车文件:Linux x86_64、Linux arm64、macOS arm64 上的 CPython 3.12。
- 清单中的
provenance块(创建时间戳与调用行)被排除,清单其余部分均包含。 - Windows 未声明、未测试。
- 引擎亦可安装在 CPython 3.13 与 3.14。
Mintmark 保护与不保护的内容
做:
- 产生不含真实个人信息的数据(因为不摄入任何数据)
- 提供可让第三方重新推导并检查数据集的记录
- 针对封闭分类法标注 span
- 明确说明字节声明覆盖的平台
- 保持生成的机构为虚构,并与真实机构列表比对扫描
- 默认输出校验和无效的标识符
不做:
- 对真实数据进行匿名化或掩码
- 为任何目的认证数据集或作出合规声明
- 判断检测器是否足够好
- 覆盖未观测的平台
- 保证名称在所有司法管辖区未被占用
- 防止电话号码与已分配号码重合
Mintmark 家族拓扑
- mintmark:本仓库即引擎,含生成、标识符、标注、清单、CLI、一个示例 fixture pack。
- mintmark-banking:第一分支,含客户、账户、卡、交易、投诉、KYC 笔记、支持记录。
- mintmark-insurance:第二分支,含投保人、保单、理赔、支付、理赔笔记、通话记录。
- mintmark-hr:第三分支,含员工、职位历史、休假、薪资、绩效与招聘笔记、HR 请求。
- health:已推迟,其特殊类别密度需更严格的治理审查。
每个 pack 通过带闭合上界的版本范围固定本引擎。
已验证事实(来自公共登记与规范)
| 事实 | 来源 | 结果 |
|---|---|---|
| VKN 校验位算法 | 两个独立开源实现(不同语言、不同作者) | 200,000 个随机输入零分歧 |
IBAN 银行代码 99999 未分配 |
TCMB 支付系统参与者列表,修订版 072025 | 71 个参与者,代码 0001 至 0807,9xxxx 范围为空 |
| 土耳其永久为 UTC+3 | IANA 时区数据库 | 2017 至 2030 单一偏移,夏令时为零 |
| 机构拒绝列表 | 同一 TCMB 列表 | 70 个条目覆盖全部 71 个参与者 |
仓库结构
src/mintmark/ engine/ 流、SplitMix64、无偏抽样、定点表、模板 identifiers/ tckn, vkn, iban, pan, phone, email;safe 与 validator 模式 annotate/ 封闭分类法、span 捕获、渲染、边车文件 packs/ 严格 fail-closed 加载、schema、规范 pack digest emit/ 规范 JSONL 与 CSV、原子输出 manifest/ MINTMARK.json、校验和、verify lexicons/ 土耳其语基础词典与机构拒绝列表 minting.py 组合根 cli.py 七个动词、五个退出码、稳定的 JSON 载荷 schemas/ pack 与 manifest JSON Schema,已版本化 packs/example/ 快速入门使用的 fixture pack assets/ 已提交的分布表与拒绝列表 tools/ 离线表生成器、散文 lint、金丝雀检查 tests/ 单元、属性、黄金、对抗、一致性测试
保护约束(确定性成立的原因)
| 约束 | 原因 |
|---|---|
| 输出数据中无浮点数 | 浮点文本形式依赖平台的二进制近似格式化 |
| 铸币路径中无超越函数调用 | libm 结果在不同平台与版本间不同 |
| 每个生成点独立流 | 新增字段不会移动其他字段的值 |
| 流派生中使用 NUL 分隔符 | 防止 pack 名与版本名产生别名流 |
| 使用拒绝采样而非取模 | 取模会过度代表前几个残差 |
| 序列化采用声明顺序 | 既非排序也非插入顺序 |
项目状态
- 版本 0.1,预发布。
- 语义化版本管理的公开接口:CLI 语法、退出码、
--json载荷、库的两个函数、两个 JSON Schema,以及固定种子产生的字节。 - 改变固定种子输出字节的变更属于主版本事件,即使没有签名移动;主版本为零时由次版本承载(如 0.3.0 所为),补丁版本永不移动字节。
- 名称已冻结,商标筛查于 2026-08-22 通过,PyPI 命名空间由本项目持有。
文档
| 文档 | 内容 |
|---|---|
| docs/determinism.md | 声明、每个术语为何狭窄、如何复现已发布数据集 |
| docs/taxonomy.md | 十八个标签、pin,以及上游移动时的行为 |
| docs/normative-verification.md | 验证了什么、对照哪个来源、何日期、何结果 |
| docs/engineering-notes.md | 构建怪癖、环境陷阱 |
社区契约
- 贡献在 Developer Certificate of Origin 1.1 下接受,无贡献者许可协议。
- README.md 为权威版本,README.tr.md 为完整镜像(非摘要),两者结构由测试比对。





