GitHub on avanud töötlused masinõppe rakendamiseks koodi otsimiseks ja analüüsimiseks

GitHub esitles projekt CodeSearchNet, mille valmistatud masinõppe mudelid ja andmekogud, mis on vajalikud erinevate programmeerimiskeelte koodi analüüsimiseks, klassifitseerimiseks ja hindamiseks. CodeSearchNet on sarnane ImageNet, sisaldab suurt kollektsiooni koodilõike, millel on annotatsioonid, mis formaliseerivad koodiga teostatavaid toiminguid. Mudelite õpetamiseks ja CodeSearchNet'i kasutamise näideteks on komponendid kirjutatud Pythonis, kasutades Tensorflow raamistikku ja GNU Üldine Avaliku litsentsi alusel. on MIT litsentsi all.

CodeSearchNet'i loomisel on kasutatud loomuliku keele analüüsi tehnoloogiaid, mis võimaldavad masinõppe süsteemidel arvesse võtta mitte ainult süntaktilisi omadusi, vaid ka teostatavate kooditoimingute tähendust. GitHubis on süsteem kasutatud katsetes koodi semantilise otsingu korraldamiseks, kasutades loomulikus keeles esitatud päringute see, mis (näiteks päringuga „stringide loendi sortimine” väljundatakse kood vastava algoritmi rakenduse jaoks).

Pakutud andmekogum sisaldab üle 2 miljoni „kood-kommentaar” paari, mis on koostatud olemasolevate avatud raamatukogude algtekstide põhjal. Kood katab konkreetsete funktsioonide või meetodite täieliku algteksti, samas kui kommentaar kirjeldab funktsiooni teostatavaid tegevusi (toodud on detailne dokumentatsioon). Praegu on andmekogud ette valmistatud Python, JavaScript, Ruby, Go, Java ja PHP keelte jaoks. Esitatud on kasutusnäited pakutud andmekogude kohta erinevate närvivõrkude harimiseks, sealhulgas Neural-Bag-Of-Words, RNN, Self-Attention (BERT) ja 1D-CNN+Self-Attention Hybrid.

Lood keelekoguste loomise mehhanismide arendamiseks on lisaks koostatud CodeSearchNet Challenge andmekogum, mis sisaldab
99 tüüpilist päringut umbes 4000 ekspertide märkega, mis kirjeldavad koodiga seonduvaid tõenäolisemaid seoseid CodeSearchNet Corpus andmekogus, mis katab umbes 6 miljonit meetodit ja funktsiooni (andmekogumi suurus umbes 20 GB). CodeSearchNet Challenge võib toimida kui kinnitusmeetod erinevate looduslike keele otsingutehindamise tõhususe hindamiseks. Kasutades tööriistu Kubeflow on valmistatud
an example koodide otsingu mootori jaoks.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster