GitHub imefungua maendeleo katika matumizi ya kujifunza kwa mashine kwa utafutaji na uchambuzi wa msimbo

GitHub kuletwa mradi CodeSearchNet, ambayo imetayarisha miundo ya mashine ya kujifunza na seti za data zinazohitajika kwa kuchanganua, kuainisha na kuchanganua msimbo katika lugha mbalimbali za programu. CodeSearchNet, sawa na ImageNet, inajumuisha mkusanyiko mkubwa wa vijisehemu vya msimbo na vidokezo vinavyorasimisha kile ambacho msimbo hufanya. Vipengee vya miundo ya mafunzo na mifano ya kutumia CodeSearchNet vimeandikwa katika Python kwa kutumia mfumo wa Tensorflow na kusambazwa na chini ya leseni ya MIT.

Wakati wa kuunda CodeSearchNet, teknolojia za uchanganuzi wa maandishi ya lugha ya asili zilitumiwa, kuwezesha mifumo ya kujifunza ya mashine kuzingatia sio vipengele vya kisintaksia tu, bali pia maana ya vitendo vinavyofanywa na kanuni. Mfumo wa GitHub inatumika katika majaribio ya kupanga utafutaji wa msimbo wa kisemantiki kwa kutumia maswali kwenye lugha ya asili (kwa mfano, wakati wa kuomba "kupanga orodha ya masharti", msimbo na utekelezaji wa algorithms sambamba huonyeshwa).

Seti ya data inayopendekezwa inajumuisha zaidi ya viungo milioni 2 vya maoni ya msimbo, vilivyotayarishwa kulingana na maandishi asilia ya maktaba huria zilizopo. Nambari inashughulikia maandishi kamili ya chanzo cha kazi au mbinu za mtu binafsi, na maoni yanaelezea vitendo vinavyofanywa na kazi (nyaraka za kina hutolewa). Hivi sasa, hifadhidata zimetayarishwa kwa Python, JavaScript, Ruby, Go, Java na PHP. Mifano imetolewa ya kutumia hifadhidata zilizopendekezwa kwa mafunzo ya aina mbalimbali za mitandao ya neva, ikijumuisha Mfuko wa Neural-Wa-Maneno, RNN, Kujitazama (BERT) na 1D-CNN+Mseto wa Kujizingatia.

Ili kuunda mbinu za utafutaji wa lugha asilia, seti ya CodeSearchNet Challenge imetayarishwa zaidi, ikijumuisha
99 ya kawaida maswali yenye maelezo ya kitaalamu takriban elfu 4 yanayoelezea uwezekano mkubwa wa kufungwa kwa msimbo katika mkusanyiko wa data wa CodeSearchNet Corpus, unaojumuisha mbinu na utendakazi zipatazo milioni 6 (kuweka ukubwa kuhusu 20 GB). Changamoto ya CodeSearchNet inaweza kutumika kama kigezo cha kutathmini ufanisi wa mbinu fulani za kutafuta msimbo wa lugha asilia. Kutumia zana KubeFlow tayari
mfano injini ya utafutaji ya kanuni.

Chanzo: opennet.ru

Kuongeza maoni