Recent developments show that Large Language Models (LLMs) produce state-of-the-art performance on natural language (NL) to code generation for resource-rich general-purpose languages like C++, Java, and Python. However, their practical usage for structured domain-specific languages (DSLs) such as YAML, JSON is limited due to domain-specific schema, grammar, and customizations generally unseen by LLMs during pre-training. Efforts have been made to mitigate this challenge via in-context learning through relevant examples or by fine-tuning. However, it suffers from problems, such as limited DSL samples and prompt sensitivity but enterprises maintain good documentation of the DSLs. Therefore, we propose DocCGen, a framework that can leverage such rich knowledge by breaking the NL-to-Code generation task for structured code languages into a two-step process. First, it detects the correct libraries using the library documentation that best matches the NL query. Then, it utilizes schema rules extracted from the documentation of these libraries to constrain the decoding. We evaluate our framework for two complex structured languages, Ansible YAML and Bash command, consisting of two settings: Out-of-domain (OOD) and In-domain (ID). Our extensive experiments show that DocCGen consistently improves different-sized language models across all six evaluation metrics, reducing syntactic and semantic errors in structured code. We plan to open-source the datasets and code to motivate research in constrained code generation.


翻译:近期研究表明,大型语言模型(LLMs)在自然语言(NL)到代码生成任务中,对于C++、Java、Python等资源丰富的通用编程语言已取得最先进的性能。然而,由于领域特定的模式、语法和定制化内容通常在LLMs的预训练过程中未曾出现,它们在YAML、JSON等结构化领域特定语言(DSLs)的实际应用受到限制。已有研究尝试通过相关示例的上下文学习或微调来缓解这一挑战,但这类方法存在DSL样本有限、提示敏感等问题。而企业通常对DSL语言维护着完善的文档。为此,我们提出DocCGen框架,该框架能够利用此类丰富的知识,将结构化代码语言的NL到代码生成任务分解为两个步骤:首先,通过匹配NL查询的库文档检测出正确的库;随后,利用从这些库文档中提取的模式规则来约束解码过程。我们在两种复杂结构化语言(Ansible YAML和Bash命令)上评估了该框架,包含域外(OOD)和域内(ID)两种设置。大量实验表明,DocCGen在全部六项评估指标上持续提升了不同规模语言模型的性能,有效减少了结构化代码中的语法与语义错误。我们将开源数据集与代码,以推动受控代码生成领域的研究。

0
下载
关闭预览

相关内容

代码(Code)是专知网的一个重要知识资料文档板块,旨在整理收录论文源代码、复现代码,经典工程代码等,便于用户查阅下载使用。
Linux导论,Introduction to Linux,96页ppt
专知会员服务
82+阅读 · 2020年7月26日
FlowQA: Grasping Flow in History for Conversational Machine Comprehension
专知会员服务
34+阅读 · 2019年10月18日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
60+阅读 · 2019年10月17日
《DeepGCNs: Making GCNs Go as Deep as CNNs》
专知会员服务
32+阅读 · 2019年10月17日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
164+阅读 · 2019年10月12日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
44+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
STRCF for Visual Object Tracking
统计学习与视觉计算组
15+阅读 · 2018年5月29日
Focal Loss for Dense Object Detection
统计学习与视觉计算组
12+阅读 · 2018年3月15日
IJCAI | Cascade Dynamics Modeling with Attention-based RNN
KingsGarden
13+阅读 · 2017年7月16日
From Softmax to Sparsemax-ICML16(1)
KingsGarden
74+阅读 · 2016年11月26日
国家自然科学基金
13+阅读 · 2017年12月31日
国家自然科学基金
3+阅读 · 2016年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
47+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
Arxiv
14+阅读 · 2023年8月7日
Conditional Prompt Learning for Vision-Language Models
Arxiv
13+阅读 · 2022年3月10日
Arxiv
12+阅读 · 2020年6月20日
Arxiv
30+阅读 · 2019年3月13日
Arxiv
14+阅读 · 2018年4月18日
Arxiv
17+阅读 · 2018年4月2日
Arxiv
12+阅读 · 2018年1月28日
VIP会员
最新内容
“Maven计划”的发展演变之“Maven智能系统”应用
《无人机革命:来自俄乌战场的启示》(报告)
专知会员服务
4+阅读 · 今天6:48
《实现联合作战能力所需的技术》58页报告
专知会员服务
2+阅读 · 今天6:30
以色列运用人工智能优化空袭警报系统
专知会员服务
2+阅读 · 今天6:20
以色列在多条战线部署AI智能体
专知会员服务
3+阅读 · 今天6:12
2025年大语言模型进展报告
专知会员服务
16+阅读 · 4月25日
多智能体协作机制
专知会员服务
14+阅读 · 4月25日
非对称优势:美海军开发低成本反无人机技术
专知会员服务
9+阅读 · 4月25日
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
44+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
STRCF for Visual Object Tracking
统计学习与视觉计算组
15+阅读 · 2018年5月29日
Focal Loss for Dense Object Detection
统计学习与视觉计算组
12+阅读 · 2018年3月15日
IJCAI | Cascade Dynamics Modeling with Attention-based RNN
KingsGarden
13+阅读 · 2017年7月16日
From Softmax to Sparsemax-ICML16(1)
KingsGarden
74+阅读 · 2016年11月26日
相关论文
Arxiv
14+阅读 · 2023年8月7日
Conditional Prompt Learning for Vision-Language Models
Arxiv
13+阅读 · 2022年3月10日
Arxiv
12+阅读 · 2020年6月20日
Arxiv
30+阅读 · 2019年3月13日
Arxiv
14+阅读 · 2018年4月18日
Arxiv
17+阅读 · 2018年4月2日
Arxiv
12+阅读 · 2018年1月28日
相关基金
国家自然科学基金
13+阅读 · 2017年12月31日
国家自然科学基金
3+阅读 · 2016年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
47+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员