Compilable Neural Code Generation with Compiler Feedback
Wuhan University(武汉大学);Huawei Noah’s Ark Lab(华为诺亚方舟实验室);Huazhong University of Science and Technology(华中科技大学);Huawei Technologies Co., Ltd.(华为技术有限公司);Yunnan University(云南大学)
自动生成具有(或不具有)自然语言描述的可编译程序一直是计算语言学和自动化软件工程的试金石问题。现有的深度学习方法将代码生成建模为文本生成,或者由解码器中的语法结构约束,或者由在大规模代码语料库上预先训练的语言模型驱动(例如,CodeGPT、PLBART和CodeT5)。然而,他们中的一些帐户的编译生成的程序。为了提高生成程序的可编译性,本文提出了一种利用编译器反馈进行可编译代码生成的三级流水线COMPCODER,包括语言模型微调、可编译性增强和可编译性判别。两个代码生成任务的综合实验表明,我们提出的方法的有效性,提高编译成功率从44.18到89.18在代码完成的平均和从70.3到96.2,分别在文本到代码生成,当与最先进的CodeGPT相比。
2022-03-10 cs.AI cs.CL cs.PL
Semantically Aligned Question and Code Generation for Automated Insight Generation
Microsoft(微软公司)
本文提出利用大语言模型同时生成数据问题与对应代码,并通过嵌入过滤语义未对齐的问题-代码对,从而提升自动洞察生成的准确性与问题多样性。
2024-03-21 cs.AI cs.CL cs.SE
Chain-of-Programming (CoP) : Empowering Large Language Models for Geospatial Code Generation
Wuhan University(武汉大学)
针对大语言模型在地理空间代码生成中因需求不清和语法知识不足导致的代码幻觉问题,提出编程链(CoP)框架,通过五步分解及知识库检索等机制实现免微调的端到端生成,显著提升了代码质量并验证了其优越性。
2024-11-16 cs.AI cs.CL cs.SE
Unraveling Text Generation in LLMs: A Stochastic Differential Equation Approach
The Chinese University Of Hong Kong(香港中文大学)
本文提出利用随机微分方程(SDE)解析GPT-4等LLMs的文本生成过程,通过漂移项和扩散项分别刻画确定性趋势与随机扰动,并结合神经网络拟合与真实语料验证,为语言生成提供新视角。
2024-08-17 cs.AI cs.CL cs.LG
Stochastic Natural Language Generation Using Dependency Information
Sharif University of Technology(谢里夫理工大学)
提出了一种基于随机语料库的自然语言文本生成模型。我们的模型首先通过一个特征集对训练数据中的依赖关系进行编码,然后将这些特征连接起来,为给定的含义表示生成一个新的依赖树,最后从生成的依赖树生成一个自然语言话语。我们测试我们的模型在九个领域从表格,对话行为和RDF格式。我们的模型优于在表格数据集上训练的基于语料库的最先进方法,并且还实现了与基于神经网络的方法相当的结果,这些方法在对话行为,E2E和WebNLG数据集上训练,用于BLEU和ERR评估指标。此外,通过报告人的评价结果,我们表明,我们的模型产生高质量的话语方面的信息量和自然性以及质量。
2020-01-12 cs.CL cs.LG
Discrete Stochastic Localization for Non-autoregressive Generation
University of California Riverside(加州大学河滨分校);New York University(纽约大学)
本文提出了一种名为离散随机定位(DSL)的连续状态框架,通过单位球体令牌嵌入实现最优去噪,从而在离散序列生成中提升分布忠实度,并展示了其在OpenWebText上的有效性。
2026-05-20 cs.CL cs.LG
Stochastic Wasserstein Autoencoder for Probabilistic Sentence Generation
University of Waterloo(滑铁卢大学);ByteDance AI Lab(字节跳动人工智能实验室)
变分自编码器(VAE)在潜在空间上施加概率分布(通常为高斯分布),并且惩罚后验和先验之间的Kullback-Leibler(KL)发散。在NLP中,由于KL崩溃为零的问题,VAE非常难以训练。人们必须以精心设计的方式实现各种语法学,如KL权重退火和字丢弃,以成功地训练文本VAE。在本文中,我们建议使用Wasserstein自动编码器(WAE)的概率句子生成,编码器可以是随机的或确定性的。我们从理论上和经验表明,在原来的WAE,随机编码的高斯分布往往成为一个Dirac-delta函数,我们提出了一个变体的WAE,鼓励随机性的编码器。实验结果表明,WAE学习的潜在空间具有VAE的连续性和平滑性,同时获得更高的BLEU分数用于句子重建。
2019-04-12 cs.CL cs.LG stat.ML
CodeExp: Explanatory Code Document Generation
University of Toronto(多伦多大学);Microsoft Research(微软研究院);Beihang University(北京航空航天大学)
开发能够自动生成详细代码解释的模型可以极大地有利于软件维护和编程教育。然而,现有的代码到文本生成模型通常只生成代码的高级摘要,而不捕获这些场景所必需的实现级别的选择。为了填补这一空白,我们提出了代码解释生成任务。我们首先进行了一项人类研究,以确定代码的高质量解释性文档字符串的标准。在此基础上,我们收集并提炼了一个大规模的代码文档串语料库,并制定了最符合人类评估的自动评估指标。最后,我们提出了一个多阶段的微调策略和基线模型的任务。我们的实验表明,(1)与较大的未细化数据(15倍大)相比,我们的细化训练数据集可以让模型在解释生成任务中实现更好的性能,(2)微调模型可以生成结构良好的长文档字符串,与人类编写的文档字符串相当。我们设想我们的训练数据集、人工评估协议、推荐指标和微调策略可以促进未来的代码解释研究。代码和注释数据可在https://github.com/subercui/CodeExp上获得。
2022-11-25 cs.CL cs.LG
Stochastic RAG: End-to-End Retrieval-Augmented Generation through Expected Utility Maximization
University of Massachusetts Amherst(马萨诸塞大学阿默斯特分校);Google(谷歌公司)
本文提出Stochastic RAG,将检索建模为无放回随机采样,并利用straight-through Gumbel-top-k实现端到端可微优化,在七个数据集中六个上取得最先进结果。
2024-05-05 cs.CL cs.IR cs.LG
JuICe: A Large Scale Distantly Supervised Dataset for Open Domain Context-based Code Generation
Paul G. Allen School of Computer Science and Engineering, Univ. of Washington(华盛顿大学保罗 G. 艾伦计算机科学与工程学院)
使用交错代码段单元格和自然语言标记的交互式编程最近以Quixyter笔记本的形式越来越受欢迎,这加速了原型设计和协作。为了研究代码生成的条件下,一个漫长的上下文历史,我们提出了JuICe,语料库的150万个例子与策划的测试集的3.7K实例的基础上在线编程任务。与现有的上下文代码生成数据集相比,JuICe提供了精细的人工策划数据、开放域代码和多一个数量级的训练数据。使用JuICe,我们为两个任务训练模型:(1)在代码单元中生成API调用序列,以及(2)完整代码单元生成,两者都以特定代码单元的NL代码历史为条件。使用当前基线代码生成模型的实验表明,上下文和远程监督都有助于生成,并且数据集对当前系统具有挑战性。
2019-10-09 cs.CL cs.LG cs.SE
CoreGen: Contextualized Code Representation Learning for Commit Message Generation
Harbin Institute of Technology, Shenzhen(哈尔滨工业大学(深圳));The Chinese University of Hong Kong(香港中文大学);Sun Yat-Sen University(中山大学);Nanyang Technological University(南洋理工大学)
为代码提交自动生成高质量的提交消息可以大大方便软件开发人员的工作和协调。然而,源代码和自然语言之间的语义鸿沟给这项任务带来了重大挑战。已经提出了一些研究来减轻挑战,但没有明确涉及提交消息生成过程中的代码上下文信息。具体来说,现有的研究采用静态嵌入代码令牌,它将令牌映射到相同的向量,而不管其上下文。在本文中,我们提出了一种新的上下文代码表示学习策略的提交消息生成(CoreGen)。CoreGen首先学习利用代码提交序列背后的上下文信息的上下文化代码表示。在Transformer上构建的代码提交的学习表示然后被微调以用于下游提交消息生成。在基准数据集上的实验表明,我们的模型在BLEU-4评分方面至少提高了28.18%,优于基线模型。此外,我们还强调了未来的机会,在更大的代码语料库作为解决方案,以低资源的任务和适应上下文的代码表示框架,以其他代码到文本生成任务训练上下文的代码表示。
2021-06-21 cs.CL cs.LG cs.SE
Improving End-to-End Training of Retrieval-Augmented Generation Models via Joint Stochastic Approximation
Speech Processing and Machine Intelligence (SPMI) Lab, Tsinghua University, China(清华大学语音处理与机器智能实验室);TasiTech Co., Ltd., China(TasiTech有限公司)
本文提出JSA-RAG方法,通过联合随机近似提升检索增强生成模型的端到端训练效果,在五个数据集上表现优于传统RAG和VRAG。
2026-04-22 cs.CL
Incorporating External Knowledge through Pre-training for Natural Language to Code Generation
Carnegie Mellon University(卡内基梅隆大学)
开放域代码生成旨在从自然语言(NL)意图生成通用程序设计语言(如Python)的代码。出于开发人员在编写代码时通常在Web上检索资源的直觉,我们探索了将两种外部知识纳入NL到代码生成中的有效性:从在线编程QA论坛StackOverflow和程序设计语言API文档中自动挖掘NL代码对。我们的评估表明,结合这两个来源与数据增强和检索为基础的数据重新采样提高了高达2.2%的绝对BLEU分数的代码生成测试床CoNaLa的当前国家的最先进的。代码和资源可在https://github.com/neulab/external-knowledge-codegen上获得。
2020-04-20 cs.CL
Code Generation for Unknown Libraries via Reading API Documentations
The University of Tokyo(东京大学)
开放域代码生成是一个具有挑战性的问题,因为我们使用的函数和类的集合在编程社区中经常被更改和扩展。我们考虑的挑战,代码生成未知的库,而无需额外的培训。在本文中,我们探索了一个代码生成的框架,它可以像人类程序员一样引用相关的API文档来处理未知的库。作为这个方向的第一步,我们实现了一个模型,可以提取相关的代码签名从API文档的基础上的自然语言的意图和复制原语从提取的签名。此外,为了评估未知库和我们的框架的代码生成,我们扩展了现有的开放域代码生成的数据集,并重新拆分它,使评估数据只包括使用不出现在训练数据中的库的例子。我们的新分裂的实验表明,基线编码器-解码器模型不能生成代码使用未知库的原语预期。相比之下,我们的模型在新的分割上优于基线,并且当提取的代码签名是无噪声的时,可以正确地生成未知的原语。
2022-02-16 cs.CL
MCoNaLa: A Benchmark for Code Generation from Multiple Natural Languages
Carnegie Mellon University(卡内基梅隆大学);Princeton University(普林斯顿大学);Inspired Cognition(Inspired Cognition公司)
虽然最近在自然语言和程序设计语言的交叉点上出现了新兴的应用程序,例如代码生成和代码摘要,但这些应用程序通常以英语为中心。这就给不精通英语的程序开发人员造成了障碍。为了减轻这种差距,在跨语言的技术发展,我们提出了一个多语言数据集,MCoNaLa,基准代码生成从自然语言命令扩展到英语之外。从英语代码/自然语言挑战(CoNaLa)数据集的方法建模,我们用三种语言注释了总共896个NL代码对:西班牙语,日语和俄语。我们提出了一个定量的性能评估的MCoNaLa数据集的测试与国家的最先进的代码生成系统。虽然这三种语言的困难各不相同,但所有系统都明显落后于英语系统,这揭示了使代码生成适应新语言的挑战。
2023-02-07 cs.CL
Uncovering and Quantifying Social Biases in Code Generation
The Chinese University of Hong Kong(香港中文大学);Microsoft Research(微软研究院);Peking University(北京大学);IBM Research(IBM研究院)
本研究提出构建代码提示的新范式以揭示预训练代码生成模型中的社会偏见,并开发了数据集和三个指标量化偏见严重程度,实验证实Codex等模型存在严重偏见,为选择低偏见模型提供了见解。
2023-05-24 cs.CL
The Code2Text Challenge: Text Generation in Source Code Libraries
Institute for Natural Language Processing, University of Stuttgart(斯图加特大学自然语言处理研究所);CITEC, Bielefeld University(比勒费尔德大学认知交互技术中心)
我们提出了一个新的共享任务的战术数据到文本生成域的源代码库。具体来说,我们专注于从示例软件项目的功能描述的文本生成。数据来自用于研究语义解析器归纳相关问题的现有资源(Richardson and Kuhn,2017 b; Richardson and Kuhn,2017 a),并且跨越了各种自然语言和程序设计语言。在本文中,我们描述了这些现有的资源,这些资源将作为任务的训练和开发数据,并讨论了构建新的独立测试集的计划。
2017-07-31 cs.CL
GAP-Gen: Guided Automatic Python Code Generation
University of California, Irvine(加州大学欧文分校)
提出GAP-Gen方法,通过Syntax-Flow和Variable-Flow引入Python语法与语义约束,改进微调过程,在多个数据集上微调T5和CodeT5,显著提升自动Python代码生成性能。
2023-05-10 cs.CL cs.LG cs.PL
Stochastic Language Generation in Dialogue using Recurrent Neural Networks with Convolutional Sentence Reranking
Cambridge University(剑桥大学)
口语对话系统(SDS)的自然语言生成(NLG)组件通常需要大量的手工制作或良好标记的数据集进行训练。这些限制显著增加了开发成本,并使跨域,多语言对话系统变得棘手。此外,人类语言是上下文感知的。最自然的反应应该直接从数据中学习,而不是依赖于预定义的语法或规则。本文提出了一种基于联合递归和卷积神经网络结构的统计语言生成器,它可以在没有任何语义对齐或预定义语法树的情况下对对话行为-话语对进行训练。客观指标表明,这种新的模型优于以前的方法在相同的实验条件下。人类法官的评估结果表明,它不仅产生高质量,但语言上不同的话语相比,n-gram和基于规则的系统是首选。
2015-08-07 cs.CL
Retrieval Augmented Code Generation and Summarization
University of California, Los Angeles(加利福尼亚大学洛杉矶分校);Columbia University(哥伦比亚大学)
软件开发人员在软件开发过程中编写了大量的源代码和文档。本质上,开发人员经常回忆他们过去在实现软件或编写文档时编写的部分源代码或代码摘要。为了模仿开发人员的代码或摘要生成行为,我们提出了一个检索增强框架,REDCODER,检索相关的代码或摘要从检索数据库,并提供它们作为补充代码生成或摘要模型。Redcoder有几个独特之处。首先,它扩展了最先进的稠密检索技术,以搜索相关代码或摘要。其次,它可以与包括单峰(仅代码或自然语言描述)或双峰实例(代码描述对)的检索数据库一起工作。我们进行了实验和广泛的分析,在Java和Python的代码生成和摘要的两个基准数据集,和有前途的结果认可我们提出的检索增强框架的有效性。
2021-09-10 cs.CL cs.SE
A parallel corpus of Python functions and documentation strings for automated code documentation and code generation
The University of Edinburgh(爱丁堡大学)
编程源代码的自动文档化和从自然语言自动生成代码生成是具有实际和科学意义的挑战性任务。这些领域的进展一直受到代码和自然语言描述的并行语料库数量少的限制,这些语料库往往规模较小,局限于特定领域。在这项工作中,我们介绍了一个庞大而多样化的并行语料库,其中包含数十万个Python函数及其文档字符串(“docstrings”),这些字符串是通过抓取GitHub上的开源存储库生成的。我们描述了神经机器翻译获得的代码文档和代码生成任务的基线结果。我们还试验了数据增强技术,以进一步增加训练数据的量。我们发布我们的数据集和处理脚本,以刺激这些领域的研究。
2017-07-07 cs.AI cs.CL
Dynamic Stochastic Decoding Strategy for Open-Domain Dialogue Generation
School of Computer Science & Technology, Beijing Institute of Technology(北京理工大学计算机科学与技术学院)
针对开放域对话中闲聊需多样性、知识问答需低随机性的差异,本文提出DDS动态解码策略,在统一框架内实现序列级与token级自适应搜索,并可用于训练和推理,持续提升预训练对话模型性能。
2024-06-12 cs.AI cs.CL