ProHoster > Blag > nuacht idirlín > D'oscail GitHub forbairtí maidir le húsáid meaisínfhoghlama le haghaidh cuardach cód agus anailís
D'oscail GitHub forbairtí maidir le húsáid meaisínfhoghlama le haghaidh cuardach cód agus anailís
GitHub tugadh isteach tionscadal CodeSearchNet, в рамках которого подготовлены модели машинного обучения и наборы данных, необходимые для разбора, классификации и анализа кода на различных языках программирования. CodeSearchNet, по аналогии с IMAGEnet, включает большую коллекцию отрывков кода, снабжённых аннотациями, формализующими выполняемые кодом действия. Компоненты для обучения моделей и примеры использования CodeSearchNet написаны на языке Python с использованием фреймворка Tensorflow и dáilte ag faoi cheadúnas MIT.
При создании CodeSearchNet использованы технологии разбора текста на естественном языке, дающие возможность системам машинного обучения учитывать не только синтаксические особенности, но и смысл выполняемых кодом действий. В GitHub система curtha i bhfeidhm в экспериментах по организации семантического поиска кода с использованием запросов на естественном языке (например, при запросе «сортировка списка строк» выводится код с реализацией соответствующих алгоритмов).
Предложенный набор данных включает более 2 млн связок «код-комментарий», подготовленных на основе исходных текстов существующих открытых библиотек. Код охватывает полный исходный текст отдельных функций или методов, а комментарий описывает выполняемые функцией действия (приводится детальная документация). В настоящее время наборы данных подготовлены для языков Python, JavaScript, Ruby, Go, Java и PHP. Предоставлены примеры использования предложенных наборов данных для обучения различных типов нейронных сетей, включая Neural-Bag-Of-Words, RNN, Self-Attention (BERT) и 1D-CNN+Self-Attention Hybrid.
Для развития механизмов поиска на естественном языке дополнительно подготовлен набор CodeSearchNet Challenge, включающий 99 типовых запросов с около 4 тысячами экспертных аннотаций, описывающих наиболее вероятные привязки к коду в наборе данных CodeSearchNet Corpus, охватывающем около 6 млн методов и функций (размер набора около 20 Гб). CodeSearchNet Challenge может выступать как эталон для оценки эффективности тех или иных методов поиска кода на естественном языке. С использованием инструментария KubeFlow ullmhaithe mar shampla движка для поиска кода.