交互式数据科学笔记本中的自然语言代码生成
本文研究了在 IDE 中使用机器学习代码生成 / 检索技术对开发工作流程和体验产生的影响,设计了一款混合代码生成和检索的插件,并通过用户测试发现虽然开发者的体验得到了改善,但是对于提高生产率、代码质量和程序正确性等方面的具体效果并不确定,同时分析了需要改进的地方和开发者偏好。
Jan, 2021
本研究提出了一种基于序列到序列深度学习模型的自然语言到编程语言的建议系统,可以根据自然语言的意图建议源代码片段,并扩展源代码的自动补全功能。该系统通过上下文感知的神经模型直接生成源代码标记,而不是从源代码生成解析树 / 抽象意义表示再转换成源代码。此外,提出的架构还使用预训练策略和数据增强技术来提高性能,并且在 BLEU-4 指标上超过了神经语义解析器 TranX 的表现约 10.82%。该系统还可以用于生成源代码的自然语言文档,并提出了基于 RoBERTa 的掩码语言模型来扩展该系统用于代码补全。
Feb, 2024
本文研究了利用大型语言模型进行自然语言生成的能力,并应用于编程课程中常见的两种学习资源的制作。研究发现,在创建编程练习时,只需要输入关键词,即可显著影响编程概念和上下文主题的内容,同时也证明了大多数自动生成的内容是全新且合理的。这些结果表明,使用大型生成机器学习模型作为教学工具是有重要价值的,但在交付给学生之前需要一些监督来确保生成的内容质量。文章还探讨了 OpenAI Codex 及类似工具对初学者编程教育的影响,并强调了可能改善教学体验的未来研究方向。
Jun, 2022
该研究论文综述了自然语言处理技术的利用,重点关注使用大型代码训练的基于 Transformer 的大型语言模型在 AI 辅助编程任务领域中的应用。这些模型在包括代码生成、代码补全、代码翻译、代码概述、缺陷检测和克隆检测等 AI 辅助编程应用中扮演着关键角色,而其中值得注意的例子包括由 OpenAI 的 Codex 和 DeepMind AlphaCode 提供支持的 GitHub Copilot。本文概述了主要的大型语言模型及其在与 AI 辅助编程相关的下游任务中的应用,并探讨了在这些应用中结合 NLP 技术和软件自然性面临的挑战和机遇,同时讨论了将 AI 辅助编程能力拓展到苹果的 Xcode 移动软件开发环境中的问题和机会,以使开发人员能够获得更先进的编码辅助,并使软件开发流程更加高效。
Jul, 2023
本文为了促进自然语言处理领域,特别是 NL2Code 的发展,提出了一个基于神经网络模型的综合框架以解决该任务,并对现有研究进行了深入分析,总结了当前的挑战与未来发展方向。
Dec, 2022
本研究通过整合来自 StackOverflow 和编程语言 API 文档等两个不同来源的知识,采用数据增强和检索重采样等方法,提高了 CoNaLa 代码生成测试集上的 BLEU 分数,从而探索了将自然语言转为 Python 代码的任务的有效性。
Apr, 2020
LowCoder 是第一个既支持视觉程序界面又支持自然语言接口的低代码工具,我们通过用户研究发现,LowCoder 特别有用于 AI 操作员的发现性和迭代组合。
May, 2023
本文提出了一种名为 COMPCODER 的三阶段编译反馈机制,采用编译器反馈来生成可编译的代码,实验结果显示该方法的成功编译率从 44.18%提升至 89.18%。
Mar, 2022
大型语言模型在生产性活动的代码生成方面表现出强大的能力。然而,当前的代码合成基准主要面向算法和数据科学的入门任务,在真实世界的编码中对具有挑战性的要求不够满足。为了填补这一差距,我们提出了 NaturalCodeBench(NCB)作为一个具有挑战性的代码基准,旨在模拟真实编码任务的复杂性和多样性。NCB 由来自在线编码服务的自然用户查询中精心挑选的 402 个高质量问题组成,涵盖了 6 个不同领域。我们还引入了半自动化流程来提高测试用例构建的效率,相比手动解决方案,效率提高了 4 倍以上。我们对 39 个大型语言模型进行了系统实验,发现在 NCB 上,具有接近 HumanEval 评分的模型之间的性能差距仍然可能很大,表明对实际代码合成场景的关注不足或在 HumanEval 上过度优化。另一方面,即使是表现最佳的 GPT-4 在 NCB 上仍然远未令人满意。评估工具和开发集可在此 URL 获取。
May, 2024