GitHub je otvorio radove na primjeni strojno učenje za pretraživanje i analizu koda

GitHub predstavio projekt CodeSearchNet, 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 ImageNet, 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 distribuira se 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 se koristi u eksperimentima s organizacijom semantičkog pretraživanja koda koristeći upite na prirodnom jeziku (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 Neural-Bag-Of-Words, RNN, Self-Attention (BERT) i 1D-CNN+Self-Attention Hybrid.

Za razvoj mehanizama pretraživanja na prirodnom jeziku dodatno je pripremljen skup CodeSearchNet Challenge, koji uključuje
99 tipičnih 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 (veličina skupa 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 Kubeflow pripremljen
primjer motor za pretraživanje koda.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster