本文介绍了一种基于多任务学习的预训练语言模型,采用 Transformer 神经网络架构,通过混合目标函数进行预训练,可以更好地理解和生成代码;在实验中证明了该模型相比现有的方法更为有效,尤其在完成标识符的任务上效果显著。
Dec, 2020
本研究提出了一种基于序列到序列深度学习模型的自然语言到编程语言的建议系统,可以根据自然语言的意图建议源代码片段,并扩展源代码的自动补全功能。该系统通过上下文感知的神经模型直接生成源代码标记,而不是从源代码生成解析树 / 抽象意义表示再转换成源代码。此外,提出的架构还使用预训练策略和数据增强技术来提高性能,并且在 BLEU-4 指标上超过了神经语义解析器 TranX 的表现约 10.82%。该系统还可以用于生成源代码的自然语言文档,并提出了基于 RoBERTa 的掩码语言模型来扩展该系统用于代码补全。
Feb, 2024
本研究旨在解决深度学习模型内存消耗大的问题,通过模块化的神经框架探索多种技术,并设计一种新颖的基于静态分析和细粒度令牌编码相结合的神经重排序模型,其消耗内存仅为 6MB,计算单个补全所需仅 8ms,最高精度达到 90%。
Apr, 2020
基于 Transformer 的语言模型在自动代码补全方面显示出巨大的潜力,但是这些模型的评估很少使用真实数据。本研究提供了对三个公共代码语言模型在完成真实世界代码时的定量和定性评估。
我们开发了一个机器学习模型,可以根据代码上下文和可用的遥测数据准确预测何时调用代码补全工具,该模型显著优于基准模型并在维持低延迟的同时集成了一些额外的遥测数据。
May, 2024
使用神经语言模型并开发定制化的注意力机制以加快现代软件开发中的智能代码补全,同时提出了一个指针混合网络以更好地预测过程中的无法识别词汇。
Nov, 2017
利用动态推理方法优化神经代码补全模型,节约计算资源,减少计算成本,并通过决策机制主动防止生成错误代码。
Jan, 2024
通过对深度学习(DL)模型的大规模实证研究,本文探索了 RoBERTa 模型在支持代码完成不同粒度级别的能力,并从多个角度评估了其预测的准确性与语义等效性。结果表明,BERT 模型是代码完成的可行解决方案,能够实现高达 58% 的完美预测。
Mar, 2021
本文提出了自注意力神经体系结构,采用多任务学习方式,以解决代码补全中的结构性保留和长期依赖问题,并与最先进的方法进行了比较。
Sep, 2019
该研究报告介绍了一种新方法 —— 结构化语言建模(SLM),利用编程语言的严格语法将代码片段建模为树来实现任意代码完成,该方法可以生成任意编程语言的任意代码,在生成 Java 和 C# 代码方面,效果显著优于现有技术。