GitHub malfermis evoluojn en la uzo de maŝinlernado por kodserĉo kaj analizo

GitHub enkondukita la projekto CodeSearchNet, kiu preparis maŝinlernajn modelojn kaj datumajn arojn necesajn por analizi, klasifiki kaj analizi kodon en diversaj programlingvoj. CodeSearchNet, simila al ImageNet, inkluzivas grandan kolekton de kodaj fragmentoj kun komentarioj, kiuj formaligas tion, kion faras la kodo. Komponantoj por trejnado de modeloj kaj ekzemploj de uzado de CodeSearchNet estas skribitaj en Python uzante la kadron Tensorflow kaj distribuita de sub la MIT-licenco.

Dum kreado de CodeSearchNet, naturlingvaj teksto-analizaj teknologioj estis uzitaj, ebligante maŝinlernajn sistemojn enkalkuli ne nur sintaksajn trajtojn, sed ankaŭ la signifon de la agoj faritaj de la kodo. La GitHub-sistemo aplikita en eksperimentoj pri organizado de semantika kodo serĉo uzante demandojn sur natura lingvo (ekzemple, kiam oni petas "ordigi liston de ĉenoj", montriĝas kodo kun la efektivigo de la respondaj algoritmoj).

La proponita datumaro inkluzivas pli ol 2 milionojn da kodo-komentaj ligiloj, preparitaj surbaze de la fonttekstoj de ekzistantaj malfermitaj bibliotekoj. La kodo kovras la kompletan fonttekston de individuaj funkcioj aŭ metodoj, kaj la komento priskribas la agojn faritajn de la funkcio (detala dokumentaro estas provizita). Nuntempe, datumaroj estas pretaj por Python, JavaScript, Ruby, Go, Java kaj PHP. Ekzemploj estas disponigitaj de uzado de la proponitaj datumaroj por trejnado de diversaj specoj de neŭralaj retoj, inkluzive de Neŭrala-Sako-Da-Vortoj, RNN, Mem-Atento (BERT) kaj 1D-CNN+Mem-Atenta Hibrido.

Por evoluigi naturlingvajn serĉmekanismojn, aro de CodeSearchNet Challenge estis aldone preparita, inkluzive
99 tipaj demandoj kun ĉirkaŭ 4 mil fakkomentoj priskribante la plej verŝajnajn kodligojn en la CodeSearchNet Corpus-datumaro, kovrante ĉirkaŭ 6 milionojn da metodoj kaj funkcioj (starigis grandecon ĉirkaŭ 20 GB). La CodeSearchNet Defio povas funkcii kiel komparnormo por taksi la efikecon de certaj metodoj por serĉi naturlingvan kodon. Uzante ilojn KubeFlow preparita
ekzemplo koda serĉilo.

fonto: opennet.ru

Aldoni komenton