GitHub projekt , u sklopu kojeg su pripremljeni modeli strojnog učenja i skupovi podataka potrebni za analizu, klasifikaciju i analizu koda na različitim programskim jezicima. CodeSearchNet, analogno , uključuje veliku zbirku odlomaka koda, opskrbljenih anotacijama koje formaliziraju radnje koje kod izvršava. Komponente za obuku modela i primjeri korištenja CodeSearchNet napisani su u Python programskom jeziku koristeći Tensorflow okvir i pod MIT licencom.
Pri izradi CodeSearchNet korištene su tehnologije obrade prirodnog jezika, koje omogućuju sustavima strojnog učenja da uzmu u obzir ne samo sintaktičke značajke, već i značenje radnji koje kod izvršava. U GitHub sustavu u eksperimentima s organizacijom semantičkog pretraživanja koda koristeći upite na (na primjer, kada se zatraži „sortiranje popisa nizova”, ispisuje se kod s implementacijom odgovarajućih algoritama).
Predloženi skup podataka uključuje više od 2 milijuna veza „kod-komentar”, pripremljenih na temelju izvornih tekstova postojećih otvorenih biblioteka. Kod pokriva puni izvorni tekst pojedinih funkcija ili metoda, dok komentar opisuje radnje koje funkcija izvršava (pruža se detaljna dokumentacija). Trenutno su skupovi podataka pripremljeni za jezike Python, JavaScript, Ruby, Go, Java i PHP. Pruženi su primjeri korištenja predloženih skupova podataka za obuku različitih vrsta neuronskih mreža, uključujući , , (BERT) i .
Za razvoj mehanizama pretraživanja na prirodnom jeziku dodatno je pripremljen skup CodeSearchNet Challenge, koji uključuje
upita s oko 4 tisuće stručnih anotacija, koje opisuju najvjerojatnije veze s kodom u skupu podataka CodeSearchNet Corpus, koji obuhvaća oko 6 milijuna metoda i funkcija ( oko 20 GB). CodeSearchNet Challenge može poslužit kao referenca za ocjenu učinkovitosti različitih metoda pretraživanja koda na prirodnom jeziku. Koristeći alati pripremljen
motor za pretraživanje koda.
Izvor: opennet.ru
