GAP-Gen: Python 代码自动化导向生成工具
本文提出了一种基于树结构的神经架构 (TreeGen) 来生成编程语言代码,该模型使用了 Transformer 的注意力机制解决了长依赖问题,并引入了一种新颖的 AST 阅读器 (encoder) 将语法规则和 AST 结构整合到网络中。在 Python 基准测试、ATIS 和 GEO 语义解析基准测试中,TreeGen 的性能优于之前的最先进方法 4.5 个百分点,同时在 ATIS(89.1%)和 GEO(89.6%)的神经网络方法中实现了最佳精度。
Nov, 2019
通过提出 ChainCoder 程序合成语言模型,从粗到细地分多步生成 Python 代码,以此缓解编程思考的困难,该模型能与自然语言描述和语法对齐的 I /O 数据样本同时编码,这一方法已超越现有技术,并生成更高质量的解决方案。
Apr, 2023
本文提出了一种新型神经体系结构,它由语法模型支持,旨在将自然语言描述解析为基于 Python 等通用编程语言的源代码,并将其显式地捕获为先验知识,以实现从自然语言描述生成复杂程序的规模化。实验证明,这是一种有效缩放到语言描述的复杂程序的方法,取得了优于以前代码生成和语义解析方法的最新成果。
Apr, 2017
近年来,数据作为新的黄金崛起,成为创建智能系统的强大工具。我们开发了 TinyPy Generator,这是一个使用上下文无关文法生成随机 Python 程序的工具。生成的程序通过构建保证正确。我们的工具可以轻松地大规模生成 Python 代码,对机器学习和编程语言研究特别有用。我们的实现是开源的,可以根据用户需求进行定制,并扩展到其他语言的潜在使用。
Mar, 2024
介绍了一种名为 PyMT5 的 Python 方法文本到文本转换器,它可以从自然语言文档字符串(docstrings)预测整个 python 方法,并将代码总结为任何常见文档风格的字符串。经过实验验证,在 docstring 和方法生成方面,PyMT5 比类似大小的自回归语言模型容错性更强。
Oct, 2020
本文重点评估了最流行的大型语言模型 ChatGPT 在自动代码注释中的性能,并将其与其他最先进的代码摘要模型进行比较,结果表明在 BLEU 和 ROUGE-L 方面,ChatGPT 的代码摘要性能显着低于其他三个模型。
May, 2023
本文提出了代码解释生成任务,通过多阶段优化和基线模型的 fine-tuning 使得模型在生成的解释中包含更多实现级别的选择,并在实验中展示了一个经过改进的训练数据集可以比较人工撰写的 docstring 相媲美,这一任务可以极大地受益于软件维护和编程教育。
Nov, 2022
本文提出了一种基于 PDA 的代码生成方法,将 PDA 机构建成模块并设计算法对序列模型生成进行限制,最终构建了一种名为 CodePAD 的代码生成框架,它可以利用 PDA 的状态传递信息辅助本来基于序列的深度学习模型进行更好的学习,实验显示 CodePAD 在四个数据集上均可以达到 100% 的文法正确率,并且相较于基础模型在三个数据集上有着 15% 至 17% 的 BLEU 分数提升。
Nov, 2022
大型语言模型在自然语言到代码生成方面展现出卓越的性能,在通用领域语言(如 C++、Java 和 Python)上表现出最先进的性能。但是,在面向特定领域的结构化语言(如 YAML、JSON)上,它们的实际使用受到限制。为了克服这个挑战,我们提出了 DocCGen 框架,通过将结构化代码语言的自然语言到代码生成任务分为两步处理。通过从库文档中提取的模式规则对解码进行约束,我们的框架在两个复杂的结构化语言(Ansible YAML 和 Bash 命令)上不断改进不同规模的语言模型,并降低了结构化代码中的语法和语义错误。我们计划开源数据集和代码以促进受限制代码生成的研究。
Jun, 2024
本文提出了一个以生成扩展查询为基础的框架,利用强大的代码生成模型来提高代码检索任务。该方法优化了嵌入到潜空间的文档 - 代码对,利用生成的代码片段将文档查询扩展与目标代码片段匹配。该方法在 CodeSearchNet 数据集上实验,并取得了迄今为止最好的性能结果。
Dec, 2022