The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

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

27.09.2019 07:57

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

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

Предложенный набор данных включает более 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 подготовлен пример движка для поиска кода.

  1. Главная ссылка к новости (https://github.blog/2019-09-26...)
  2. OpenNews: Microsoft открыл код библиотеки векторного поиска, используемой в Bing
  3. OpenNews: Baidu открыл наработки в области машинного обучения
  4. OpenNews: Доступна СУБД EuclidesDB, использующая элементы машинного обучения
  5. OpenNews: Система машинного обучения для синтеза типового кода на языке Java
  6. OpenNews: Intel открыл систему машинного обучения для обработки информации на естественном языке
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: search, code, ai, tensorflow
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (24) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:04, 27/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Покусились на святое -- StackOverflow!!11
     
  • 1.2, Ддд (?), 09:05, 27/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ждемс релиза без костылей
     
     
  • 2.8, Аноним (8), 12:08, 27/09/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Шас придут ребята из PVS-Studio...
     

  • 1.4, Аноним (4), 09:30, 27/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Это она, утилита для анализа кода ДНК-программиста(-ов)
     
     
  • 2.9, Аноним (8), 12:11, 27/09/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Это она, утилита для анализа кода ДНК-программиста(-ов)

    Нет, это IQ-тест.

    Для анализа кода ДНК-программиста(-ов) достаточно спросить что у них за ОС на десктопе стоит.

     
     
  • 3.14, Аноним (14), 16:44, 27/09/2019 [^] [^^] [^^^] [ответить]  
  • –7 +/
    У программистов с синдромом дауна стоит линукс?)
     
     
  • 4.17, Аноним (17), 19:53, 27/09/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не бывает программистов с синдромом дауна.
     
     
  • 5.22, Led (ok), 22:47, 27/09/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Не бывает программистов с синдромом дауна.

    Ты хочешь сказать, что винду написали не програмисты?

     
     
  • 6.24, Зонд (?), 08:27, 28/09/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пишешь так как будто написал что-то лучше
     
     
  • 7.25, Аноним (25), 12:26, 03/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    синдром "сперва добейся" активэйтед
     
  • 2.16, Аноним (16), 19:51, 27/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А на чём пишут ДНК-программисты?
     
     
  • 3.18, Аноним (17), 19:54, 27/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    На LaTeXе.
     
  • 3.20, bobr (?), 20:19, 27/09/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Аденин,гуанин, цитозин,тимин.
    РНК-программисты урацил ещё юзают.
     

  • 1.5, Аноним (5), 09:40, 27/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Спасибо автору за качественно написанную новость.
     
  • 1.6, Аноним (6), 10:48, 27/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну не знаю, сейчас гитхаб не умеет даже склеить в выдаче поиска одинаковые файлы с разных репозиториев: когда ищешь какое-то популярное слово в кода выдаёт десятки страниц одного и того же файла наклонированного разными пользователями.
    Им бы с этим разобраться...
     
     
  • 2.19, анон (?), 19:56, 27/09/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да, поиск на гитхабе - ужаснейшая вещь. То что они не борятся с дубликатами файлов - это половина проблемы. В поиске у них отображается максимум 50 страниц результатов. Учитывая дублирование, часто среди результатов поиска уникальными оказываются всего 3-4 результата.

    Еще для поисковика по коду, они удаляют все спецсимволы. Т.е. невозможно найти, напр., my_obj->size(10). Стрелка и скобки уберутся. 10, скорее всего тоже. И останется полная ерунда. Я, конечно, понимаю, что индексы не резиновые, но вы, блин, популярнейшее хранилище открытого кода. И по нему невозможно ничего найти.

    Зачастую, гугл ищет по гитхабу лучше, чем сам гитхаб. Когда это происходит для сайта, который продает ботинки - это нормально. Но не для проекта такого уровня.

    А разработчики херней страдают с нейронными сетями.

     
     
  • 3.21, Аноним84701 (ok), 21:14, 27/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > А разработчики херней страдают с нейронными сетями.

    Э-э, "мы наконец-то пофиксили неработающий поиск" и "мы запилили нев*нно офигенную машиннообучаемую-нейро-<набор актуальных базвордов> для поиска" -- это в отчете перед начальством (или при пиаре) две большие разницы.
    И вообще, PRщики радостно поддакивают -- машинлёрнинг из ин, а багофиксы особо упоминать как-то и неудобно.
    Ну и вообще-то, в Редмонде вроде как было принято закрывать и фиксить только те баги, которые фиксить "выгодно" (т.е. которые  иначе сказываются на "репутации" или возможности монитезации).
    Nothing personal,  just М$^W business ;)


     

  • 1.7, Аноним (7), 11:09, 27/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    TL;DR - не понял ничерта - что именно этот ИИ делать-то умеет, помимо рыться в чужих исходниках с непонятной целью?

    Или планирует уметь...

    "Сири, что за херня тут написана и как, по мнению той обезьяны, должна была работать?!" - уже спросить можно?

     
     
  • 2.10, Аноним (10), 14:12, 27/09/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    42.
     
     
  • 3.15, Аноним (15), 17:36, 27/09/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да!
     

  • 1.11, Аноним (11), 14:56, 27/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Скоро макака-стайл программирование будет таким "компьютер, запили мне такую программу для форума (вот его исходкики, запиленные тем же образом), чтобы сарказм детектировала, а если он направлен на модератора - бан выписывала автоматом и задеплой в k8s в виде микросервиса". И пофиг, что программа будет жрать терабайты, ведь это мечта хипстеров.
     
     
  • 2.12, пох. (?), 16:08, 27/09/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > И пофиг, что программа будет жрать терабайты, ведь это мечта хипстеров.

    и пофиг. Не пофиг что еще и работать нормально - не будет.

     
     
  • 3.23, Led (ok), 22:49, 27/09/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Когда пох болеет, ему всё пофиг.
     
  • 2.13, Аноним (13), 16:43, 27/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Не жили хорошо, нечего и начинать — я правильно понимаю?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру