GitHub projekt , mille valmistatud masinõppe mudelid ja andmekogud, mis on vajalikud erinevate programmeerimiskeelte koodi analüüsimiseks, klassifitseerimiseks ja hindamiseks. CodeSearchNet on sarnane , 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 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 katsetes koodi semantilise otsingu korraldamiseks, kasutades 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 , , (BERT) ja .
Lood keelekoguste loomise mehhanismide arendamiseks on lisaks koostatud CodeSearchNet Challenge andmekogum, mis sisaldab
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 ( umbes 20 GB). CodeSearchNet Challenge võib toimida kui kinnitusmeetod erinevate looduslike keele otsingutehindamise tõhususe hindamiseks. Kasutades tööriistu on valmistatud
koodide otsingu mootori jaoks.
Allikas: opennet.ru
