GitHub projekt , ktorá pripravila modely strojového učenia a súbory údajov potrebné na analýzu, klasifikáciu a analýzu kódu v rôznych programovacích jazykoch. CodeSearchNet, podobne ako , obsahuje veľkú zbierku úryvkov kódu s anotáciami, ktoré formalizujú, čo kód robí. Komponenty pre tréningové modely a príklady používania CodeSearchNet sú napísané v Pythone pomocou rámca Tensorflow a pod licenciou MIT.
Pri vytváraní CodeSearchNet boli použité technológie na analýzu textu v prirodzenom jazyku, ktoré umožňujú systémom strojového učenia brať do úvahy nielen syntaktické vlastnosti, ale aj význam akcií vykonávaných kódom. Systém GitHub v experimentoch s organizovaním vyhľadávania sémantického kódu pomocou dopytov na (napríklad pri požiadavke „zoradiť zoznam reťazcov“ sa zobrazí kód s implementáciou zodpovedajúcich algoritmov).
Navrhovaný súbor údajov obsahuje viac ako 2 milióny odkazov s komentármi, pripravených na základe zdrojových textov existujúcich otvorených knižníc. Kód pokrýva úplný zdrojový text jednotlivých funkcií alebo metód a komentár popisuje akcie vykonávané funkciou (podrobná dokumentácia je poskytnutá). V súčasnosti sú datasety pripravené pre Python, JavaScript, Ruby, Go, Java a PHP. Uvádzajú sa príklady použitia navrhovaných súborov údajov na trénovanie rôznych typov neurónových sietí, vrátane , , (BERT) a .
Na vývoj mechanizmov vyhľadávania v prirodzenom jazyku bola dodatočne pripravená sada CodeSearchNet Challenge, vrátane
dotazy s približne 4 6 odbornými anotáciami popisujúcimi najpravdepodobnejšie väzby kódu v súbore údajov CodeSearchNet Corpus, ktoré pokrývajú približne XNUMX miliónov metód a funkcií ( približne 20 GB). CodeSearchNet Challenge môže slúžiť ako benchmark na hodnotenie účinnosti určitých metód na vyhľadávanie kódu prirodzeného jazyka. Používanie nástrojov pripravené
vyhľadávač kódov.
Zdroj: opennet.ru
