GitHub ha obert desenvolupaments en l'ús de l'aprenentatge automàtic per a la cerca i l'anàlisi de codi

GitHub introduït projecte CodeSearchNet, que ha preparat models d'aprenentatge automàtic i conjunts de dades necessaris per analitzar, classificar i analitzar codi en diversos llenguatges de programació. CodeSearchNet, similar a IMAGEnet, inclou una gran col·lecció de fragments de codi amb anotacions que formalitzen el que fa el codi. Els components per a models d'entrenament i exemples d'ús de CodeSearchNet s'escriuen en Python mitjançant el marc Tensorflow i Distribuït per sota la llicència MIT.

En crear CodeSearchNet, es van utilitzar tecnologies d'anàlisi de text en llenguatge natural, que van permetre que els sistemes d'aprenentatge automàtic tinguessin en compte no només les característiques sintàctiques, sinó també el significat de les accions realitzades pel codi. El sistema GitHub aplicat en experiments sobre l'organització de la cerca de codi semàntic mitjançant consultes sobre llenguatge natural (per exemple, quan es demana “ordenar una llista de cadenes”, es mostra el codi amb la implementació dels algorismes corresponents).

El conjunt de dades proposat inclou més de 2 milions d'enllaços de codi i comentaris, preparats a partir dels textos font de les biblioteques obertes existents. El codi cobreix el text font complet de funcions o mètodes individuals, i el comentari descriu les accions realitzades per la funció (es proporciona documentació detallada). Actualment, els conjunts de dades estan preparats per a Python, JavaScript, Ruby, Go, Java i PHP. Es proporcionen exemples d'ús dels conjunts de dades proposats per entrenar diversos tipus de xarxes neuronals, incloses Neural-Bossa-de-Paraules, RNN, Autoatenció (BERT) i 1D-CNN+Híbrid d'autoatenció.

Per desenvolupar mecanismes de cerca en llenguatge natural, també s'ha preparat un conjunt de CodeSearchNet Challenge, inclòs
99 típic consultes amb unes 4 anotacions d'experts que descriuen els enllaços de codi més probables al conjunt de dades de CodeSearchNet Corpus, que cobreixen uns 6 milions de mètodes i funcions (establir la mida uns 20 GB). El repte CodeSearchNet pot servir com a referència per avaluar l'efectivitat de determinats mètodes per cercar codi de llenguatge natural. Ús d'eines Kubeflow preparat
exemple motor de cerca de codi.

Font: opennet.ru

Afegeix comentari