GitHub kod axtarışı və təhlili üçün maşın öyrənməsinin istifadəsində inkişaflar açdı

Github təqdim etdi layihə CodeSearchNet, müxtəlif proqramlaşdırma dillərində kodu təhlil etmək, təsnif etmək və təhlil etmək üçün lazım olan maşın öyrənmə modellərini və məlumat dəstlərini hazırlamışdır. CodeSearchNet, oxşar IMAGEnet, kodun nə etdiyini rəsmiləşdirən annotasiyalarla kod parçalarının böyük kolleksiyasını ehtiva edir. Təlim modelləri üçün komponentlər və CodeSearchNet-dən istifadə nümunələri Tensorflow çərçivəsindən istifadə edərək Python dilində yazılmışdır və yayılır MIT lisenziyası altında.

CodeSearchNet yaradarkən təbii dildə mətn təhlili texnologiyalarından istifadə edilmişdir ki, bu da maşın öyrənmə sistemlərinə təkcə sintaktik xüsusiyyətləri deyil, həm də kodun yerinə yetirdiyi hərəkətlərin mənasını nəzərə almağa imkan verir. GitHub sistemi tətbiq olunur sorğulardan istifadə edərək semantik kod axtarışının təşkili üzrə eksperimentlərdə təbii dil (məsələn, "sətirlərin siyahısını çeşidləmək" tələb edildikdə, müvafiq alqoritmlərin icrası ilə kod göstərilir).

Təklif olunan məlumat dəstinə mövcud açıq kitabxanaların mənbə mətnləri əsasında hazırlanmış 2 milyondan çox kod-şərh keçidi daxildir. Kod ayrı-ayrı funksiyaların və ya metodların tam mənbə mətnini əhatə edir və şərh funksiyanın yerinə yetirdiyi hərəkətləri təsvir edir (ətraflı sənədlər təqdim olunur). Hazırda verilənlər bazası Python, JavaScript, Ruby, Go, Java və PHP üçün hazırlanır. Nümunələr müxtəlif növ neyron şəbəkələrinin, o cümlədən təlim üçün təklif olunan məlumat dəstlərinin istifadəsinə verilmişdir Neyro-Bag-Of-Words, RNN, Özünə Diqqət (BERT) və 1D-CNN+Özünə Diqqət Hibrid.

Təbii dildə axtarış mexanizmlərini inkişaf etdirmək üçün əlavə olaraq CodeSearchNet Challenge dəsti hazırlanmışdır.
99 tipik Təxminən 4 milyon metod və funksiyanı əhatə edən CodeSearchNet Corpus verilənlər bazasında ən çox ehtimal olunan kod bağlamalarını təsvir edən təxminən 6 min ekspert annotasiyası olan sorğular (ölçüsü təyin edin təxminən 20 GB). CodeSearchNet Challenge təbii dil kodunun axtarışı üçün müəyyən metodların effektivliyini qiymətləndirmək üçün etalon rolunu oynaya bilər. Alətlərdən istifadə KubeFlow hazırlanmışdır
misal kod axtarış motoru.

Mənbə: opennet.ru

Добавить комментарий