GitHub projektin , ku do të përgatiten modele të mësimit të makinerisë dhe grupe të dhënash, të nevojshme për interpretime, klasifikim dhe analizë të kodit në gjuhë të ndryshme programimi. CodeSearchNet, ashtu si , përfshin një koleksion të madh fragmentesh kodi, të pajisur me shënime që formalisht përshkruajnë veprimet që kryhen nga kodi. Komponentët për trajnim të modeleve dhe shembujt e përdorimit të CodeSearchNet janë shkruar në gjuhën Python duke përdorur strukturën Tensorflow dhe në përputhje me licencën MIT.
Gjatë krijimit të CodeSearchNet u përdorën teknologji për analizën e tekstit në gjuhë natyrore, duke i mundësuar sistemeve të mësimit të makinerisë të marrin parasysh jo vetëm karakteristikat sintaksore, por edhe domethënien e veprimeve që kryhen nga kodi. Në GitHub sistemi në eksperimentet për organizimin e kërkimit semantik të kodit duke përdorur kërkesa në (për shembull, kur kërkohet "renditja e një liste me vargje", shfaqet kodi me realizimet përkatëse të algoritmeve).
Grupi i të dhënave të propozuara përfshin më shumë se 2 milion lidhje "kod-komentar", të përgatitura mbi bazën e teksteve të burimeve të bibliotekave të hapura ekzistuese. Kodi mbulon tekstin e plotë të veçorive ose metodave individuale, ndërsa komenti përshkruan veprimet e kryera nga funksioni (pra, ofrohet dokumentacioni i detajuar). Aktualisht, grupet e të dhënave janë përgatitur për gjuhët Python, JavaScript, Ruby, Go, Java dhe PHP. Janë ofruar shembuj të përdorimit të grupeve të propozuara të të dhënave për trajnimin e llojeve të ndryshme të rrjeteve neuronale, duke përfshirë , , (BERT) dhe .
Për zhvillimin e mekanizmave të kërkimit në gjuhën natyrore, është përgatitur gjithashtu grupi CodeSearchNet Challenge, i cili përfshin
kërkesash me rreth 4,000 annotime ekspertësh, që përshkruajnë lidhjet më të mundshme me kodin në grupin e të dhënave CodeSearchNet Corpus, që mbulon rreth 6 milion metoda dhe funksione ( rreth 20 GB). CodeSearchNet Challenge mund të shërbejë si standard për vlerësimin e efektivitetit të metodave të ndryshme për kërkimin e kodit në gjuhën natyrore. Me përdorimin e veglave është përgatitur
për motorin e kërkimit të kodit.
Burimi: opennet.ru
