GitHub a ouvert des travaux sur l'application de l'apprentissage automatique pour la recherche et l'analyse de code

GitHub présenté le projet CodeSearchNet, 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 ImageNet, 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 est distribué 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 utilisons dans des expériences d'organisation de recherche sémantique de code utilisant des requêtes en langage naturel (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 Neural-Bag-Of-Words, RNN, Self-Attention (BERT) et 1D-CNN+Self-Attention Hybrid.

Pour le développement des mécanismes de recherche en langage naturel, un ensemble CodeSearchNet Challenge a également été préparé, comprenant
99 requêtes types 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 (la taille de l'ensemble 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 Kubeflow préparé
exemple moteur de recherche de code.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster