ГитХуб је отворио развоје у коришћењу машинског учења за претрагу и анализу кода

ГитХуб уведен пројекат ЦодеСеарцхНет, који је припремио моделе машинског учења и скупове података неопходне за рашчлањивање, класификацију и анализу кода у различитим програмским језицима. ЦодеСеарцхНет, слично ИмагеНет, укључује велику колекцију исечака кода са напоменама које формализују шта код ради. Компоненте за моделе обуке и примери коришћења ЦодеСеарцхНет-а су написани у Питхон-у користећи Тенсорфлов оквир и дистрибуира под лиценцом МИТ-а.

Приликом креирања ЦодеСеарцхНет-а, коришћене су технологије рашчлањивања текста на природном језику, које су омогућавале системима машинског учења да узму у обзир не само синтаксичке карактеристике, већ и значење радњи које обавља код. ГитХуб систем примењује се у експериментима на организовању претраге семантичког кода коришћењем упита на природни језик (на пример, када се захтева „сортирање листе стрингова“, приказује се код са имплементацијом одговарајућих алгоритама).

Предложени скуп података укључује више од 2 милиона линкова код-коментара, припремљених на основу изворних текстова постојећих отворених библиотека. Код покрива комплетан изворни текст појединих функција или метода, а коментар описује радње које функција обавља (детаљна документација је дата). Тренутно су припремљени скупови података за Питхон, ЈаваСцрипт, Руби, Го, Јава и ПХП. Дати су примери коришћења предложених скупова података за обуку различитих типова неуронских мрежа, укључујући Неурал-Баг-Оф-Вордс, РНН, Селф-Аттентион (БЕРТ) и 1Д-ЦНН+Селф-Аттентион Хибрид.

За развој механизама претраживања природног језика, додатно је припремљен сет ЦодеСеарцхНет Цхалленге-а, укључујући
99 типично упите са око 4 хиљаде стручних напомена које описују највероватније везе кода у скупу података ЦодеСеарцхНет Цорпус, покривајући око 6 милиона метода и функција (поставити величину око 20 ГБ). ЦодеСеарцхНет Цхалленге може послужити као мерило за процену ефикасности одређених метода за претраживање кода природног језика. Коришћење алата Кубефлов припремљен
пример претраживач кода.

Извор: опеннет.ру

Додај коментар