GitHub projekt , v rámci kterého byly připraveny modely strojového učení a datové sady potřebné pro analýzu, klasifikaci a analýzu kódu v různých programovacích jazycích. CodeSearchNet, analogicky s , zahrnuje velkou sbírku kódových fragmentů, které jsou opatřeny anotacemi, formalizujícími akce prováděné kódem. Komponenty pro trénink modelů a příklady použití CodeSearchNet jsou napsány v jazyce Python s využitím frameworku Tensorflow a je licencován pod MIT licencí.
Při vytváření CodeSearchNet byly použity technologie zpracování textu v přirozeném jazyce, které umožňují systémům strojového učení zohlednit nejen syntaktické vlastnosti, ale i význam vykonávaných akcí kódem. Na GitHubu systém v experimentech na organizaci semantického vyhledávání kódu pomocí dotazů v (například při dotazu „řazení seznamu řetězců“ se zobrazí kód s implementací příslušných algoritmů).
Navrhovaný datový soubor zahrnuje více než 2 miliony párů „kód-komentář“, vytvořených na základě zdrojových textů stávajících otevřených knihoven. Kód pokrývá celý zdrojový text jednotlivých funkcí nebo metod a komentář popisuje akce vykonávané funkcí (je poskytnuta podrobná dokumentace). V současnosti byly datové sady připraveny pro jazyky Python, JavaScript, Ruby, Go, Java a PHP. Jsou poskytnuty příklady použití navrhovaných datových sad pro trénink různých typů neuronových sítí, včetně , , (BERT) a .
Pro rozvoj mechanismů vyhledávání v přirozeném jazyce byl navíc připraven datový soubor CodeSearchNet Challenge, který zahrnuje
dotazů s přibližně 4 tisíci expertních anotací, které popisují nejpravděpodobnější vazby na kód v datovém souboru CodeSearchNet Corpus, pokrývajícím přibližně 6 milionů metod a funkcí ( přibližně 20 GB). CodeSearchNet Challenge může sloužit jako norma pro hodnocení účinnosti různých metod vyhledávání kódu v přirozeném jazyce. S využitím nástrojů připraven
vyhledávacího enginu pro kód.
Zdroj: opennet.ru
