GitHub zveřejnil výsledky práce na aplikaci strojového učení pro vyhledávání a analýzu kódu

GitHub představil projekt CodeSearchNet, 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 ImageNet, 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 distribuováno 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 se používá v experimentech na organizaci semantického vyhledávání kódu pomocí dotazů v přirozeném jazyce (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ě Neural-Bag-Of-Words, RNN, Self-Attention (BERT) a 1D-CNN+Self-Attention Hybrid.

Pro rozvoj mechanismů vyhledávání v přirozeném jazyce byl navíc připraven datový soubor CodeSearchNet Challenge, který zahrnuje
99 typových 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í (velikost souboru 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ů Kubeflow připraven
příklad vyhledávacího enginu pro kód.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster