GANCoder: An Automatic Natural Language-to-Programming Language Translation Approach based on GAN
Table 1: Model accuracy based of three training methods
['Dataset', 'Generator_normal', 'GAN_without_pretraining', 'GAN_with_pretraining']
If the sequence of the generated program is the same as the program sequence of the training data, it means that the generated data is correct, and the correctness of the test set indicates the generation effect of the model. This demonstrates that when training GANCoder, the pre-training has dramatically improved the model. On the ATIS training set, the normal generator is the best. In this model, GAN crashes, which is related to the training data and the grammar rule details of different logical forms. The natural language description sequence of the Jobs data set is relatively simple, so the accuracy of the model is high. The Python language of the Django dataset has relatively good syntax information, but the logic of the program is also more difficult. The game training of GAN also has a good effect. The ATIS dataset is logically difficult, but the grammar information is simple, which cannot provide more details when generating ASTs.