加入收藏 | 设为首页 | 会员中心 | 我要投稿 惠州站长网 (https://www.0752zz.com.cn/)- 办公协同、云通信、物联设备、操作系统、高性能计算!
当前位置: 首页 > 移动 > 正文

DL时代的代码补全利器,效果远超语言模型

发布时间:2019-08-17 06:57:37 所属栏目:移动 来源:思源、一鸣
导读:副标题#e# 从程序员到数据工程师,编写程序代码是一项基本功,但是编写冗长代码的过程也极大地消耗了开发者的耐心。近来,有不少关于代码补全工具的消息爆出,例如,来自美国的 Kite,来自加拿大的 TabNine 等,一时间获得了不少程序员的关注。但其实很多人

DL时代的代码补全利器,北大出品,效果远超语言模型

在对比过程中,aiXcoder 会使用 Kite 或 TabNine 官方提供的示例代码,并测试完成这段代码到底需要多少次按键。结果表明,aiXcoder 较其他插件在效率上提升 1.5 倍以上。

aiXcoder 是如何打造的

能够实现高效代码补全的 aiXcoder,背后有着强大的技术支撑。据李戈教授介绍,aiXcoder 很早就试过了语言模型,将代码视为一种语言从而直接建模,这就和 Deep TabNine 一样。但是研究者很快发现,只有语言模型是行不通的,它总会提出一些毫无意义、很不科学的补全建议。为此,aiXcoder 融合了基于序列的程序代码语言模型、基于抽象语法树和程序逻辑关系的图神经网络等方法,共同打造一个完整的系统。

为什么直接生成代码是困难的

如果深度学习模型能根据开发者的意图,以端到端的方式直接生成对应的代码,那么这样的模型会很「优雅」。但是经过研究发现,这样的任务需求是很难实现的,这和任务本身所依赖的数据的性质有关系。

李戈教授从机器学习所依赖的数据性质的角度,对代码生成任务和传统的图像处理任务、自然语言处理任务的不同,给出一种较为形象化的解释。

DL时代的代码补全利器,北大出品,效果远超语言模型

对于图像识别或图像分类任务而言,机器学习的目标是建立一个连续的数据集(图像数据)到一个近乎连续的、有着接近清晰边界的数据集(标签)之间的映射关系。

这样一来,由于图像数据异常的稠密,而标签集又有足够清晰的边界,那么这就相当于一个标签拥有大量的数据可以学习。这样的映射关系是比较容易建立的,这也是机器学习中和图像相关的任务相对较为容易完成的原因。

(编辑:惠州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读