GitHub открыл наработки по применению машинного обучения для поиска и анализа кода

Пятница, 27 сентября 2019 г.

Следите за нами в ВКонтакте, Facebook'e и Twitter'e

GitHub представил проект CodeSearchNet, в рамках которого подготовлены модели машинного обучения и наборы данных, необходимые для разбора, классификации и анализа кода на различных языках программирования. CodeSearchNet, по аналогии с ImageNet, включает большую коллекцию отрывков кода, снабжённых аннотациями, формализующими выполняемые кодом действия. Компоненты для обучения моделей и примеры использования CodeSearchNet написаны на языке Python с использованием фреймворка Tensorflow и распространяется под лицензией MIT.

При создании CodeSearchNet использованы технологии разбора текста на естественном языке, дающие возможность системам машинного обучения учитывать не только синтаксические особенности, но и смысл выполняемых кодом действий. В GitHub система применяется в экспериментах по организации семантического поиска кода с использованием запросов на естественном языке (например, при запросе «сортировка списка строк» выводится код с реализацией соответствующих алгоритмов).

Предложенный набор данных включает более 2 млн связок «код-комментарий», подготовленных на основе исходных текстов существующих открытых библиотек. Код охватывает полный исходный текст отдельных функций или методов, а комментарий описывает выполняемые функцией действия (приводится детальная документация). В настоящее время наборы данных подготовлены для языков Python, JavaScript, Ruby, Go, Java и PHP. Предоставлены примеры использования предложенных наборов данных для обучения различных типов нейронных сетей, включая Neural-Bag-Of-Words, RNN, 1D-CNN, Self-Attention (BERT) и 1D-CNN+Self-Attention Hybrid.

Для развития механизмов поиска на естественном языке дополнительно подготовлен набор CodeSearchNet Challenge, включающий 99 типовых запросов с около 4 тысячами экспертных аннотаций, описывающих наиболее вероятные привязки к коду в наборе данных CodeSearchNet Corpus, охватывающем около 6 млн методов и функций (размер набора около 20 Гб). CodeSearchNet Challenge может выступать как эталон для оценки эффективности тех или иных методов поиска кода на естественном языке. С использованием инструментария Kubeflow подготовлен пример движка для поиска кода.

Источник: http://www.opennet.ru/opennews/art.shtml? num=51570

Следите за нами в ВКонтакте, Facebook'e и Twitter'e


Просмотров: 500
Рубрика: Hi-Tech


Архив новостей / Экспорт новостей

Ещё новости по теме:

RosInvest.Com не несет ответственности за опубликованные материалы и комментарии пользователей. Возрастной цензор 16+.

Ответственность за высказанные, размещённую информацию и оценки, в рамках проекта RosInvest.Com, лежит полностью на лицах опубликовавших эти материалы. Использование материалов, допускается со ссылкой на сайт RosInvest.Com.

Архивы новостей за: 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003

Август 2019: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31