Intégration de connaissances externes par pré-entraînement pour la génération de code à partir de langage naturel

La génération de code en domaine ouvert vise à produire du code dans un langage de programmation généraliste (comme Python) à partir d’intentions exprimées en langage naturel (LN). Inspirés par l’intuition selon laquelle les développeurs consultent fréquemment des ressources en ligne lorsqu’ils écrivent du code, nous explorons l’efficacité de l’intégration de deux types de connaissances externes dans la génération de code à partir de langage naturel : des paires LN-code automatiquement extraites à partir du forum de questions-réponses en programmation StackOverflow, et la documentation des API des langages de programmation. Nos évaluations montrent que la combinaison de ces deux sources, couplée à une augmentation de données et à un re-échantillonnage basé sur la récupération, améliore l’état de l’art actuel de jusqu’à 2,2 points absolus de score BLEU sur le jeu de tests de génération de code CoNaLa. Le code et les ressources sont disponibles à l’adresse suivante : https://github.com/neulab/external-knowledge-codegen.