In this paper, we aim to do code completion based on implementing a Neural Network from Li et. al.. Our contribution is that we use an encoding that is in-between character and word encoding called Byte Pair Encoding (BPE). We use this on the source code files treating them as natural text without first going through the abstract syntax tree (AST). We have implemented two models: an attention-enhanced LSTM and a pointer network, where the pointer network was originally introduced to solve out of vocabulary problems. We are interested to see if BPE can replace the need for the pointer network for code completion.
翻译:在本文中,我们的目标是在实施李等人神经网络的基础上完成代码完成。 我们的贡献是,我们使用的编码是字符和词编码之间的编码,称为Byte Pair Encoding(BPE)。我们在源代码文档中使用这个编码,不首先通过抽象的语法树(AST)将它们作为自然文本处理。我们采用了两种模式:一个是引人注意的增强LSTM和一个指示器网络,最初在该网络中引入了指示器网络,以解决词汇问题。我们有兴趣看看是否BPE可以取代对指示器网络的需要,以便完成代码。