GitHub on avanud arendused masinõppe kasutamisel koodiotsinguks ja -analüüsiks

GitHub tutvustatud projekt CodeSearchNet, mis on koostanud erinevates programmeerimiskeeltes koodi parsimiseks, klassifitseerimiseks ja analüüsimiseks vajalikud masinõppemudelid ja andmekogumid. CodeSearchNet, sarnane IMAGEnet, sisaldab suurt kogumit koodilõike koos annotatsioonidega, mis vormistavad koodi toimimise. Treeningmudelite komponendid ja CodeSearchNeti kasutamise näited on kirjutatud Pythonis, kasutades Tensorflow raamistikku ja jaotatud MIT litsentsi alusel.

CodeSearchNeti loomisel kasutati loomuliku keele teksti parsimise tehnoloogiaid, mis võimaldasid masinõppesüsteemidel võtta arvesse mitte ainult süntaktilisi tunnuseid, vaid ka koodi poolt sooritatavate toimingute tähendust. GitHubi süsteem rakendatud semantilise koodi otsingu korraldamise katsetes päringute abil loomulik keel (näiteks kui küsite "stringide loendi sortimist", kuvatakse kood vastavate algoritmide rakendamisega).

Kavandatav andmestik sisaldab enam kui 2 miljonit koodi-kommentaari linki, mis on koostatud olemasolevate avatud raamatukogude lähtetekstide põhjal. Kood hõlmab üksikute funktsioonide või meetodite täielikku lähteteksti ja kommentaaris kirjeldatakse funktsiooni poolt sooritatavaid toiminguid (kaasas on üksikasjalik dokumentatsioon). Praegu on andmestikud ette valmistatud Pythoni, JavaScripti, Ruby, Go, Java ja PHP jaoks. Esitatakse näiteid pakutud andmekogumite kasutamisest erinevat tüüpi närvivõrkude, sealhulgas Neuraalne sõnakott, RNN, Enesetähelepanu (BERT) ja 1D-CNN + enesetähelepanu hübriid.

Loomuliku keele otsingumehhanismide arendamiseks on lisaks ette valmistatud CodeSearchNet Challenge'i komplekt, sealhulgas
99 tüüpiline päringud umbes 4 tuhande ekspertannotatsiooniga, mis kirjeldavad CodeSearchNet Corpuse andmestiku kõige tõenäolisemaid koodide sidumisi, hõlmates umbes 6 miljonit meetodit ja funktsiooni (määratud suurus umbes 20 GB). CodeSearchNet Challenge võib olla võrdlusaluseks teatud loomuliku keele koodi otsimise meetodite tõhususe hindamisel. Tööriistade kasutamine KubeFlow ette valmistatud
näide koodi otsingumootor.

Allikas: opennet.ru

Lisa kommentaar