GitHub кодты іздеу және талдау үшін машиналық оқытуды пайдалану бойынша әзірлемелерді ашты

GitHub енгізілді жоба CodeSearchNet, ол әртүрлі бағдарламалау тілдеріндегі кодты талдау, жіктеу және талдау үшін қажетті машиналық оқыту үлгілері мен деректер жиынын дайындады. CodeSearchNet, ұқсас IMAGEnet, кодтың не істейтінін ресімдейтін аннотациялары бар код үзінділерінің үлкен жинағын қамтиды. Жаттығу үлгілеріне арналған құрамдас бөліктер және CodeSearchNet пайдалану мысалдары Tensorflow негізін пайдаланып Python тілінде жазылған. таралады MIT лицензиясы бойынша.

CodeSearchNet құру кезінде табиғи тілдегі мәтінді талдау технологиялары қолданылды, бұл машиналық оқыту жүйелеріне синтаксистік мүмкіндіктерді ғана емес, сонымен қатар кодпен орындалатын әрекеттердің мағынасын да ескеруге мүмкіндік береді. GitHub жүйесі қолданылады бойынша сұраулар арқылы семантикалық кодты іздеуді ұйымдастыру бойынша эксперименттерде табиғи тіл (мысалы, «жолдар тізімін сұрыптауды» сұрағанда, сәйкес алгоритмдердің орындалуы бар код көрсетіледі).

Ұсынылған деректер жиынтығы бар ашық кітапханалардың бастапқы мәтіндері негізінде дайындалған 2 миллионнан астам код-түсіндірме сілтемелерін қамтиды. Код жеке функциялардың немесе әдістердің толық бастапқы мәтінін қамтиды, ал түсініктеме функция орындайтын әрекеттерді сипаттайды (толық құжаттама ұсынылады). Қазіргі уақытта деректер жинақтары Python, JavaScript, Ruby, Go, Java және PHP үшін дайындалуда. Нейрондық желілердің әртүрлі түрлерін, соның ішінде оқыту үшін ұсынылған деректер жиынын пайдалану мысалдары келтірілген Нейрондық-сөздер қапшығы, RNN, Өзіне көңіл бөлу (БЕРТ) және 1D-CNN+Өзіне назар аудару гибриді.

Табиғи тілде іздеу механизмдерін дамыту үшін CodeSearchNet Challenge жиынтығы қосымша дайындалды, оның ішінде
99 типтік 4 миллионға жуық әдістер мен функцияларды қамтитын CodeSearchNet Corpus деректер жинағындағы ең ықтимал кодтық байланыстыруларды сипаттайтын 6 мыңға жуық сарапшы аннотациялары бар сұраулар (өлшемін орнату шамамен 20 ГБ). CodeSearchNet Challenge табиғи тіл кодын іздеудің белгілі әдістерінің тиімділігін бағалау үшін эталон ретінде қызмет ете алады. Құралдарды қолдану Кубефлоу дайындалған
мысал кодты іздеу жүйесі.

Ақпарат көзі: opennet.ru

пікір қалдыру