GitHub a deschis dezvoltările privind aplicarea învățării automate pentru căutarea și analizarea codului.

GitHub a prezentat proiect CodeSearchNet, în cadrul căruia au fost pregătite modele de învățare automată și seturi de date necesare pentru analizarea, clasificarea și analiza codului în diverse limbaje de programare. CodeSearchNet, similar cu ImageNet, include o colecție vastă de fragmente de cod, însoțite de comentarii care formalizează acțiunile efectuate prin cod. Componentele pentru antrenarea modelelor și exemplele de utilizare a CodeSearchNet sunt scrise în Python, folosind cadrul Tensorflow și se răspândește sub licența MIT.

În crearea CodeSearchNet au fost utilizate tehnologii de procesare a textului în limbaj natural, care permit sistemelor de învățare automată să țină cont nu doar de aspectele sintactice, ci și de semnificația acțiunilor efectuate prin cod. Pe GitHub, sistemul folosim în experimentele de organizare a căutării semantice a codului utilizând interogări în limbaj natural (de exemplu, la interogarea "sortarea listei de șiruri" apare codul cu implementarea algoritmilor corespunzători).

Setul de date propus include peste 2 milioane de asocieri „cod-comentariu”, pregătite pe baza textelor sursă ale bibliotecilor deschise existente. Codul acoperă întregul text sursă al unor funcții sau metode, iar comentariul descrie acțiunile efectuate de funcție (se oferă documentație detaliată). În prezent, seturile de date sunt pregătite pentru limbajele Python, JavaScript, Ruby, Go, Java și PHP. Sunt oferite exemple de utilizare a seturilor de date propuse pentru antrenarea diferitelor tipuri de rețele neuronale, inclusiv Neural-Bag-Of-Words, RNN, Self-Attention (BERT) și 1D-CNN+Self-Attention Hybrid.

Pentru dezvoltarea mecanismelor de căutare în limbaj natural, a fost pregătit suplimentar setul CodeSearchNet Challenge, care include
99 tipuri de interogări cu circa 4 mii de comentarii de experți care descriu cele mai probabile asocieri cu codul în setul de date CodeSearchNet Corpus, acoperind aproximativ 6 milioane de metode și funcții (dimensiunea setului aproximativ 20 GB). CodeSearchNet Challenge poate servi ca etalon pentru evaluarea eficienței diferitelor metode de căutare a codului în limbaj natural. Folosind instrumentele Kubeflow pregătit
exemplu motorului de căutare a codului.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster