GitHub ka hapur zhvillime në përdorimin e mësimit të makinerive për kërkimin dhe analizën e kodit

GitHub paraqitur projekt CodeSearchNet, e cila ka përgatitur modele të mësimit të makinerive dhe grupe të dhënash të nevojshme për analizimin, klasifikimin dhe analizimin e kodit në gjuhë të ndryshme programimi. CodeSearchNet, i ngjashëm me ImageNet, përfshin një koleksion të madh të copave të kodit me shënime që zyrtarizojnë atë që bën kodi. Komponentët për modelet e trajnimit dhe shembujt e përdorimit të CodeSearchNet janë shkruar në Python duke përdorur kornizën Tensorflow dhe shperndare nga nën licencën MIT.

Gjatë krijimit të CodeSearchNet, u përdorën teknologjitë e analizimit të tekstit të gjuhës natyrore, duke u mundësuar sistemeve të mësimit të makinerive të marrin parasysh jo vetëm veçoritë sintaksore, por edhe kuptimin e veprimeve të kryera nga kodi. Sistemi GitHub aplikuar në eksperimentet për organizimin e kërkimit të kodit semantik duke përdorur pyetje në gjuha natyrore (për shembull, kur kërkoni "renditjen e një liste vargjesh", shfaqet kodi me zbatimin e algoritmeve përkatëse).

Databaza e propozuar përfshin më shumë se 2 milionë lidhje me komente kodesh, të përgatitura bazuar në tekstet burimore të bibliotekave të hapura ekzistuese. Kodi mbulon tekstin e plotë burimor të funksioneve ose metodave individuale, dhe komenti përshkruan veprimet e kryera nga funksioni (dokumentacioni i detajuar është dhënë). Aktualisht, grupet e të dhënave janë përgatitur për Python, JavaScript, Ruby, Go, Java dhe PHP. Janë dhënë shembuj të përdorimit të grupeve të të dhënave të propozuara për trajnimin e llojeve të ndryshme të rrjeteve nervore, duke përfshirë Neural-Bag-Of-Words, RNN, Vetë-Vëmendje (BERT) dhe 1D-CNN + Hibrid i Vetë-Vëmendjes.

Për të zhvilluar mekanizmat e kërkimit të gjuhës natyrore, është përgatitur gjithashtu një grup i Sfidës CodeSearchNet, duke përfshirë
99 tipike pyetje me rreth 4 mijë shënime ekspertësh që përshkruajnë lidhjet më të mundshme të kodit në grupin e të dhënave CodeSearchNet Corpus, duke mbuluar rreth 6 milionë metoda dhe funksione (madhësia e vendosur rreth 20 GB). Sfida CodeSearchNet mund të shërbejë si pikë referimi për vlerësimin e efektivitetit të disa metodave për kërkimin e kodit të gjuhës natyrore. Duke përdorur mjete KubeFlow përgatitur
shembull motori i kërkimit të kodit.

Burimi: opennet.ru

Shto një koment