GitHub a ouvert les développements dans l'utilisation de l'apprentissage automatique pour la recherche et l'analyse de code

GitHub представил projet CodeRechercheNet, qui a préparé des modèles d'apprentissage automatique et des ensembles de données nécessaires à l'analyse, à la classification et à l'analyse du code dans divers langages de programmation. CodeSearchNet, similaire à ImageNet, comprend une large collection d'extraits de code avec des annotations qui formalisent ce que fait le code. Les composants pour les modèles de formation et les exemples d'utilisation de CodeSearchNet sont écrits en Python à l'aide du framework Tensorflow et distribué par 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 également la signification des actions effectuées par le code. Le système GitHub applique dans des expérimentations sur l'organisation de la recherche de code sémantique à l'aide de requêtes sur langage naturel (par exemple, lors d'une demande de « tri d'une liste de chaînes », le code avec l'implémentation des algorithmes correspondants est affiché).

L'ensemble de données proposé comprend plus de 2 millions de liens code-commentaires, préparés sur la base des textes sources des bibliothèques ouvertes existantes. Le code couvre le texte source complet des fonctions ou méthodes individuelles, et le commentaire décrit les actions effectuées par la fonction (une documentation détaillée est fournie). Actuellement, des ensembles de données sont préparés pour Python, JavaScript, Ruby, Go, Java et PHP. Des exemples sont fournis sur l'utilisation des ensembles de données proposés pour entraîner divers types de réseaux neuronaux, notamment Sac-de-mots neuronal, RNN, Auto-attention (BERT) et Hybride 1D-CNN + auto-attention.

Pour développer des mécanismes de recherche en langage naturel, un ensemble de CodeSearchNet Challenge a également été préparé, notamment
99 typique requêtes avec environ 4 6 annotations d'experts décrivant les liaisons de code les plus probables dans l'ensemble de données CodeSearchNet Corpus, couvrant environ XNUMX millions de méthodes et de fonctions (définir la taille environ 20 Go). Le CodeSearchNet Challenge peut servir de référence pour évaluer l'efficacité de certaines méthodes de recherche de code en langage naturel. Utiliser des outils Kubeflow préparé
exemple moteur de recherche de codes.

Source: opennet.ru

Ajouter un commentaire