A GitHub fejlesztéseket nyitott a gépi tanulás kódkeresésre és -elemzésre való használatában

GitHub benyújtott terv CodeSearchNet, amely különféle programozási nyelveken készített gépi tanulási modelleket és a kód elemzéséhez, osztályozásához és elemzéséhez szükséges adatkészleteket. CodeSearchNet, hasonló ImageNet, kódrészletek nagy gyűjteményét tartalmazza megjegyzésekkel, amelyek formalizálják a kód működését. A képzési modellek összetevői és a CodeSearchNet használatára vonatkozó példák Pythonban a Tensorflow keretrendszer és forgalmazza az MIT engedélye alapján.

A CodeSearchNet létrehozásakor természetes nyelvű szövegelemző technológiákat alkalmaztak, amelyek lehetővé tették, hogy a gépi tanulási rendszerek ne csak a szintaktikai jellemzőket vegyék figyelembe, hanem a kód által végrehajtott műveletek jelentését is. A GitHub rendszer alkalmazott a szemantikus kódkeresés lekérdezések segítségével történő megszervezésével kapcsolatos kísérletekben természetes nyelv (például amikor a „karakterláncok listájának rendezése” kéri, megjelenik a megfelelő algoritmusokat tartalmazó kód).

A javasolt adatkészlet több mint 2 millió kód-megjegyzés hivatkozást tartalmaz, amelyek a meglévő nyílt könyvtárak forrásszövegei alapján készültek. A kód lefedi az egyes függvények vagy metódusok teljes forrásszövegét, a megjegyzés pedig leírja a funkció által végrehajtott műveleteket (részletes dokumentációt biztosítunk). Jelenleg az adatkészletek Python, JavaScript, Ruby, Go, Java és PHP számára készülnek. Példák találhatók a javasolt adatkészletek felhasználására különféle típusú neurális hálózatok betanítására, beleértve Neurális Szavak-zsák, RNN, Önfigyelem (BERT) és 1D-CNN+Self-Attention hibrid.

A természetes nyelvi keresési mechanizmusok fejlesztése érdekében egy CodeSearchNet Challenge sorozat készült, beleértve
99 tipikus lekérdezések körülbelül 4 ezer szakértői megjegyzéssel, amelyek leírják a CodeSearchNet Corpus adatkészlet legvalószínűbb kódösszerendeléseit, körülbelül 6 millió módszert és funkciót lefedve (beállított méret körülbelül 20 GB). A CodeSearchNet Challenge viszonyítási alapként szolgálhat bizonyos természetes nyelvi kódkeresési módszerek hatékonyságának értékeléséhez. Eszközök használata KubeFlow előkészített
példa kód kereső.

Forrás: opennet.ru

Hozzászólás