GitHub-ek garapenak ireki ditu ikaskuntza automatikoaren erabileran kodea bilatzeko eta aztertzeko

GitHub aurkeztu proiektua CodeSearchNet, hainbat programazio lengoaiatan kodea analizatzeko, sailkatzeko eta aztertzeko beharrezkoak diren ikaskuntza automatikoko ereduak eta datu multzoak prestatu dituena. CodeSearchNet, antzekoa ImageNet, kode-zatinen bilduma handi bat biltzen du, kodeak egiten duena formalizatzen duten oharrekin. CodeSearchNet erabiltzeko osagaiak eta CodeSearchNet erabiltzeko osagaiak Python-en idazten dira Tensorflow markoa erabiliz eta arabera banatuta MIT lizentziapean.

CodeSearchNet sortzean, hizkuntza naturaleko testuak analizatzeko teknologiak erabili ziren, ikaskuntza automatikoko sistemak ezaugarri sintaktikoak ez ezik, kodeak egiten dituen ekintzen esanahia ere kontuan har ditzaten. GitHub sistema aplikatuta on kontsultak erabiliz kode semantikoaren bilaketa antolatzeko esperimentuetan hizkuntza naturala (adibidez, "kateen zerrenda ordenatzea" eskatzen denean, dagozkion algoritmoen ezarpenarekin kodea agertzen da).

Proposatutako datu multzoak 2 milioi kode-iruzkin esteka baino gehiago biltzen ditu, dauden liburutegi irekietako iturri-testuetan oinarrituta prestatuak. Kodeak funtzio edo metodo indibidualen iturburu-testu osoa estaltzen du, eta iruzkinak funtzioak egindako ekintzak deskribatzen ditu (dokumentazio zehatza eskaintzen da). Gaur egun, datu multzoak Python, JavaScript, Ruby, Go, Java eta PHPrako prestatuta daude. Proposatutako datu multzoak hainbat motatako sare neuronalak entrenatzeko erabiltzearen adibideak ematen dira, besteak beste Neural-Bag-Of-Words, RNN, Autoarreta (BERT) eta 1D-CNN+Auto-arreta hibridoa.

Hizkuntza naturalen bilaketa-mekanismoak garatzeko, CodeSearchNet Challenge multzo bat ere prestatu da, besteak beste
99 tipikoa CodeSearchNet Corpus datu-multzoko kode-lotura seguruenak deskribatzen dituzten adituen 4 mila oharrekin egiten duten kontsultak, 6 milioi metodo eta funtzio inguru biltzen dituena (ezarri tamaina 20 GB inguru). CodeSearchNet Challenge-k erreferentzia gisa balio dezake hizkuntza naturaleko kodea bilatzeko metodo batzuen eraginkortasuna ebaluatzeko. Tresnak erabiltzea KubeFlow prestatuta
Adibidez kodearen bilatzailea.

Iturria: opennet.ru

Gehitu iruzkin berria