遇见数据集

CircularBalls/plaincode-cnl-100k

收藏
Hugging Face2026-05-30 更新2026-05-31 收录
官方服务:

资源简介:

该数据集由Plaincode生成,通过流式处理Python源文件,将每个接受的Python模块/函数投影到当前的受控自然语言表面,并对每种语言强制执行严格的Python往返证明。数据集包含Python源文件以及六种语言的受控自然语言表面:英语、西班牙语、法语、葡萄牙语、普通话(中文)和印地语。每个行只有在所有请求的CNL表面通过Plaincode证明精确反向转换为原始Python字节时才会被接受,确保数据的准确性和一致性。数据集模式包括行ID、Python源代码信息、各语言的CNL文本、往返恢复的Python代码、证明字典、严格语言精确性检查以及语义家族标签等字段。生成统计显示有86,550个接受行,分布在多个数据分片中。

This dataset is generated by Plaincode, which stream-processes Python source files, projects each accepted Python module/function onto current controlled natural language (CNL) surface forms, and enforces strict Python round-trip verification for each language. The dataset contains Python source files and CNL surface forms in six languages: English, Spanish, French, Portuguese, Mandarin (Chinese), and Hindi. Each row is accepted only when all requested CNL surface forms are proven by Plaincode to be accurately reversibly converted back to the original Python bytes, ensuring data accuracy and consistency. The dataset schema includes fields such as row ID, Python source code information, CNL texts in each language, round-trip recovered Python code, verification dictionaries, strict language accuracy checks, and semantic family tags. Generation statistics show that there are 86,550 accepted rows distributed across multiple data shards.

提供机构:
CircularBalls
搜集汇总
数据集介绍
CircularBalls/plaincode-cnl-100k 数据集图片
构建方式
Plaincode CNL 100k 数据集通过流式处理 Python 源文件构建而成,将每个被接受的 Python 模块或函数投影到受控自然语言(Controlled Natural Language, CNL)表面,并强制为每个生成的语义表示施行严格的精确 Python 往返证明(roundtrip proof)。具体而言,数据集从 Python 源代码出发,利用 Plaincode 引擎将代码映射为英语、西班牙语、法语、葡萄牙语、普通话和印地语六种受控自然语言。每一行数据仅当所有请求的 CNL 表面能通过 Plaincode 证明精确还原为原始 Python 字节码时方可被接纳,这一接纳门控机制保障了语义一致性,但证明细节不存储于最终公开行中。最终数据集包含 10 万条被接受的 Python 源记录,涵盖函数、类、异常、导入等多样化的语义家族。
特点
该数据集的核心特点在于其语义往返完整性:每一条 CNL 表示均经过从自然语言到原始 Python 源码的严格双向还原验证,消除了机器翻译或代码注释生成的歧义性。数据集提供了丰富多语言的代码-自然语言对齐,覆盖英语、西班牙语、法语、葡萄牙语、普通话和印地语六种语言,为跨语言代码理解研究提供了高质量平行语料。此外,每条记录包含原始源码、多语言 CNL 列、源元数据、语义家族标签及行哈希校验值,结构规整且可溯源。过滤机制剔除了自动生成模板、语法错误及字面量误用等问题源码,确保数据纯净度。
使用方法
该数据集在 Hugging Face 平台上以 JSONL 格式存储,分 20 个碎片文件(train-00000 至 train-00019),可通过 datasets 库直接加载,指定配置名称为 'default' 即可访问训练集。行模式包含 14 个有序字段:'source' 为原始 Python 源码,'english_cnl' 至 'portuguese_cnl' 为六种语言的 CNL 表示,'ids' 为标识符,'roundtrip_python_by_language' 存储各语言往返还原的 Python 代码,'source_stats'、'source_metadata'、'semantic_family'、'engine' 及 'row_sha256' 分别提供统计信息、元数据、代码形状标签、引擎元数据和行完整性哈希。适用于多语言代码检索、跨语言代码生成、受控自然语言编程模型训练及代码-文本对齐任务,也可作为基准数据集评估语义保持型代码转换系统的性能。
背景与挑战
背景概述
Plaincode CNL 100k数据集诞生于多语言代码理解与受控自然语言(Controlled Natural Language, CNL)交叉研究的前沿,由致力于弥合编程语言与人类语言语义鸿沟的研究团队构建。该数据集围绕一个核心问题展开:如何保证代码在不同自然语言表述下仍能精确还原为原始Python字节流,从而验证语义的完备性。通过将10万条Python源码同步投射至英语、西班牙语、法语、葡萄牙语、中文及印地语六种CNL表面,并实施严格的Python语义往返验证(roundtrip proof),数据集为跨语言代码理解、机器翻译及代码生成模型提供了高质量的平行语料基础。其创新性的“接受门控”(Acceptance Gate)机制确保了每条记录的语言变体均与源码保持绝对等价,这一设计对后续多模态代码研究具有标杆意义。
当前挑战
该数据集面临的核心挑战在于构建过程中必须解决领域内代码语义保真度的根本性问题。首先,所应对的领域问题是如何在代码翻译与自然语言生成中消除语义歧义,确保跨语言转换不会引入逻辑误差,这在需要高可靠性支撑的自动化编程助手、教育工具及代码翻译系统中尤为关键。其次,构建过程中遭遇了多重技术难关:原始源码需经过严格的编译与语法过滤,例如处理无效转义序列(如\d、\s)、检测字节与字符串字面量的误用(如“is”替代“==”)、纠正缺失括号及缩进错误等,从生成统计可见大量源码因语法或编译错误被剔除;同时,必须保证每条中文、印地语等CNL表面通过Plaincode引擎逆向还原为与原始Python二进制完全一致的字节码,这要求生成过程能够处理编码兼容性(如Unicode转义异常)并绕过Python版本的语法限制。此外,去重与语义族(如async、classes、comprehensions)的均衡分布也构成了数据质量控制的实际考验。
常用场景
经典使用场景
在自然语言处理与程序合成交叉的研究领域中,Plaincode CNL 100k数据集为跨语言代码理解与受控自然语言生成提供了独特的双语平行语料。该数据集将Python源代码精确投射为英语、西班牙语、法语、葡萄牙语、中文及印地语六种受控自然语言表达,并经由严格的往返验证确保语义无损。研究者可借助这一资源训练模型实现从多语言自然语言描述到可执行Python代码的转换,或评估代码注释生成、跨语言代码搜索等任务的性能,其双射映射特性为可逆代码翻译研究奠定了坚实的数据基础。
实际应用
在实际工程场景中,该数据集可赋能国际化代码协作平台的开发,使得非英语母语的开发者能够以母语自然语言描述功能逻辑并自动生成对应Python实现。代码审查工具可借助其多语言描述能力,为不同语种的开发者提供语义一致的代码解读服务。此外,教育科技领域可基于该资源构建多语言编程教学助手,通过受控自然语言向学生阐释代码逻辑,同时支持从自然语言查询到代码片段的智能检索,显著降低跨语言编程学习曲线。
衍生相关工作
该数据集的独特结构催生了多个前沿研究方向,包括基于往返验证约束的对抗训练框架,用于提升代码摘要模型对语言变化的鲁棒性;基于多语言受控自然语言的统一代码表示学习,探索跨六种语言的共享语义空间;以及可逆神经符号系统的设计,旨在实现自然语言与编程语言之间的双向无损转换。此外,该数据集的精密过滤机制为构建高可信代码语料库提供了方法论参考,激励了后续工作在语义等价性验证、代码复用性分析等领域的深化探索。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务