Исследовательская группа

Методы машинного обучения в области программной инженерии

Поиск похожих репозиториев на GitHub

Руководитель проекта: Тимофей Брыксин
Статус: Активный

Мы разработали инструмент для поиска похожих репозиториев на GitHub. Мы обучили эмбеддинги сабтокенов с помощью fastText на датасете, состоящем из 120,000 проектов на GitHub и использовали другой датасет из 9 миллионов проектов в качестве опорной поисковой базы. Инструмент работает в два шага. На первом шаге пользователь вводит интересующие его проекты (либо в виде локальных директорий, либо в виде ссылок на GitHub), и инструмент распознаёт наиболее популярные языки программирования среди файлов, парсит их, извлекает идентификаторы и разбивает их на сабтокены. Данная часть инструмента доступна отдельно для использования в любых других целях.

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

Разработанный инструмент на GitHub.

Используемый в проекте инструмент для извлечения имён из кода на GitHub.

Участники

Публикации