GitHub het ontwikkelings in die gebruik van masjienleer vir kodesoektog en -analise geopen

GitHub voorgelê projek CodeSearchNet, wat masjienleermodelle en datastelle voorberei het wat nodig is vir die ontleding, klassifisering en ontleding van kode in verskeie programmeertale. CodeSearchNet, soortgelyk aan IMAGEnet, bevat 'n groot versameling kodebrokkies met aantekeninge wat formaliseer wat die kode doen. Komponente vir opleidingsmodelle en voorbeelde van die gebruik van CodeSearchNet word in Python geskryf deur die Tensorflow-raamwerk en versprei deur onder die MIT-lisensie.

By die skep van CodeSearchNet, is natuurlike taal teksontledingstegnologieë gebruik, wat masjienleerstelsels in staat gestel het om nie net sintaktiese kenmerke in ag te neem nie, maar ook die betekenis van die aksies wat deur die kode uitgevoer word. Die GitHub-stelsel toegepas in eksperimente oor die organisering van semantiese kodesoektog met behulp van navrae op natuurlike taal (byvoorbeeld, wanneer 'n versoek om "sortering van 'n lys stringe" versoek word, word kode met die implementering van die ooreenstemmende algoritmes vertoon).

Die voorgestelde datastel bevat meer as 2 miljoen kode-opmerkingsskakels, voorberei op grond van die brontekste van bestaande oop biblioteke. Die kode dek die volledige bronteks van individuele funksies of metodes, en die kommentaar beskryf die aksies wat deur die funksie uitgevoer word (gedetailleerde dokumentasie word verskaf). Tans word datastelle voorberei vir Python, JavaScript, Ruby, Go, Java en PHP. Voorbeelde word verskaf van die gebruik van die voorgestelde datastelle vir opleiding van verskeie tipes neurale netwerke, insluitend Neurale-sak-van-woorde, RNN, Self-aandag (BERT) en 1D-CNN+Self-aandag hibriede.

Om natuurlike taal soekmeganismes te ontwikkel, is 'n stel CodeSearchNet Challenge addisioneel voorberei, insluitend
99 tipies navrae met ongeveer 4 duisend deskundige annotasies wat die mees waarskynlike kodebindings in die CodeSearchNet Corpus datastel beskryf, wat ongeveer 6 miljoen metodes en funksies dek (stel grootte ongeveer 20 GB). Die CodeSearchNet Challenge kan dien as 'n maatstaf vir die evaluering van die doeltreffendheid van sekere metodes om natuurlike taalkode te soek. Die gebruik van gereedskap KubeFlow voorberei
Byvoorbeeld kode soekenjin.

Bron: opennet.ru

Voeg 'n opmerking