JuICe: A Large Scale Distantly Supervised Dataset for Open Domain Context-based Code Generation
Conference: EMNLP-2019
Rajas Agashe, Srinivasan Iyer and Luke Zettlemoyer
Paul G. Allen School of Computer Science and Engineering, Univ. of Washington, Seattle, WA {rajas, sviyer, lsz}@cs.washington.edu
Github: https://github.com/rajasagashe/juice
论文连接: https://arxiv.org/abs/1910.02216
摘要
使用Jupyter notebook进行交互式开发越来越流行,基于交互式开发的场景中往往也存在代码长依赖的情况。为了生成具有长依赖的代码,这篇文章提出了JuICe数据集。其中包含了150万条数据,3.7K条测试用例。
JuICe可用于两种任务
- 在代码单元中生成API调用序列
- 生成整个代码单元中的代码
简介
上图展示了数据集中一个例子。蓝色背景的代码展示了最终的目标代码,前面的代码和注释为输入的上下文信息。d表示距离目标代码的距离。
与其他数据集相对比的结果。这篇文章提出数据集的主要优势是在open domain和large scale。
JuICe的基本统计信息,% Contextual表示使用之前cell中的变量或者方法所占比例;%Multi-cell表示目标代码中至少使用了之前2个cell中的变量或者方法。
上图展示了代码中代码和NL的类型,代码中占比最好的是数据探索类,NL中占比最多的是对代码进行抽象描述的类型。