GitHub le projet , dans le cadre duquel des modèles d'apprentissage automatique et des ensembles de données ont été préparés pour l'analyse, la classification et l'analyse de code dans divers langages de programmation. CodeSearchNet, par analogie avec , comprend une vaste collection d'extraits de code, accompagnés de notes formalisant les actions exécutées par le code. Les composants pour former les modèles et les exemples d'utilisation de CodeSearchNet sont écrits en Python en utilisant le framework Tensorflow et sous licence MIT.
Lors de la création de CodeSearchNet, des technologies d'analyse de texte en langage naturel ont été utilisées, permettant aux systèmes d'apprentissage automatique de prendre en compte non seulement les caractéristiques syntaxiques, mais aussi le sens des actions exécutées par le code. Sur GitHub, le système dans des expériences d'organisation de recherche sémantique de code utilisant des requêtes en (par exemple, en faisant la demande « tri de liste de chaînes », le code correspondant aux algorithmes de réalisation est affiché).
L'ensemble de données proposé comprend plus de 2 millions de paires « code-commentaire », préparées sur la base de textes sources de bibliothèques open-source existantes. Le code couvre le texte source complet de certaines fonctions ou méthodes, tandis que le commentaire décrit les actions exécutées par la fonction (une documentation détaillée est fournie). Actuellement, des ensembles de données ont été préparés pour les langages Python, JavaScript, Ruby, Go, Java et PHP. Des exemples d'utilisation des ensembles de données proposés pour former divers types de réseaux neuronaux sont fournis, y compris , , (BERT) et .
Pour le développement des mécanismes de recherche en langage naturel, un ensemble CodeSearchNet Challenge a également été préparé, comprenant
avec environ 4000 annotations d'experts décrivant les associations les plus probables au code dans l'ensemble de données CodeSearchNet Corpus, couvrant environ 6 millions de méthodes et de fonctions ( environ 20 Go). Le CodeSearchNet Challenge peut servir de référence pour évaluer l'efficacité de différentes méthodes de recherche de code en langage naturel. En utilisant les outils préparé
moteur de recherche de code.
Source : opennet.ru
