GitHub projekt , amelynek keretében felkészültek a gépi tanulási modellek és az adathalmazok, amelyek szükségesek a különböző programozási nyelveken írt kódok elemzéséhez, osztályozásához és elemzéséhez. A CodeSearchNet, az analógiájára , egy nagy gyűjteményt tartalmaz a kódok fragmentumairól, amelyek annotációkkal vannak ellátva, formalizálva a kód által végrehajtott műveleteket. A modellek tanításához szükséges összetevők és a CodeSearchNet használati példái Python nyelven íródtak, a Tensorflow keretrendszer használatával, és MIT licenc alatt áll.
A CodeSearchNet létrehozásakor a természetes nyelvű szövegek elemzésére szolgáló technológiákat használtak, amelyek lehetővé teszik a gépi tanulási rendszerek számára, hogy figyelembe vegyék nemcsak a szintaktikai jellemzőket, hanem a kód által végrehajtott műveletek értelmét is. A GitHub rendszer kísérleteket végzett a kódok szövegszerű keresésének szervezésében természetes nyelvű lekérdezések használatával (például ha a kérés "a karakterláncok listájának rendezése", akkor a megfelelő algoritmusok végrehajtásával kapcsolatos kódokat jeleníti meg).
A javasolt adathalmaz több mint 2 millió "kód-kommentár" párt tartalmaz, amelyeket meglévő nyílt forráskódú könyvtárak forrásaiból állítottak össze. A kód az egyes funkciók vagy metódusok teljes forráskódját lefedi, míg a kommentár a funkció által végrehajtott műveleteket írja le (részletes dokumentációt tartalmaz). Jelenleg az adathalmazok Python, JavaScript, Ruby, Go, Java és PHP nyelvekre készültek. Példákat adnak a javasolt adathalmazok használatára különböző típusú neurális hálózatok tanításához, beleértve , , (BERT) és .
A természetes nyelvű keresési mechanizmusok fejlesztéséhez további CodeSearchNet Challenge adathalmazt készítettek, amely tartalmaz
lekérdezéseket körülbelül 4000 szakértői annotációval, amelyek a CodeSearchNet Corpus adathalmazban található kód legvalószínűbb kötődéseit írják le, körülbelül 6 millió módszert és funkciót lefedve ( körülbelül 20 GB). A CodeSearchNet Challenge mintaként szolgálhat a természetes nyelvű kódkeresési módszerek hatékonyságának értékelésére. A elkészített
kódkereső motor használatával.
Forrás: opennet.ru
