GitHub ha aperto progetti sull'uso del machine learning per la ricerca e l'analisi del codice

GitHub ha presentato progetto CodeSearchNet, all'interno del quale sono stati preparati modelli di machine learning e dataset necessari per l'analisi, la classificazione e la comprensione del codice in vari linguaggi di programmazione. CodeSearchNet, analogamente a ImageNet, include una vasta collezione di frammenti di codice, dotati di annotazioni che formalizzano le azioni eseguite dal codice. I componenti per l'addestramento dei modelli e gli esempi di utilizzo di CodeSearchNet sono scritti in Python utilizzando il framework Tensorflow e distribuito sotto licenza MIT.

Nella creazione di CodeSearchNet sono state utilizzate tecnologie di analisi del linguaggio naturale, che permettono ai sistemi di machine learning di considerare non solo le caratteristiche sintattiche, ma anche il significato delle azioni eseguite dal codice. Su GitHub, il sistema applicato è stato impiegato in esperimenti sull'organizzazione della ricerca semantica del codice utilizzando query in linguaggio naturale (per esempio, nel caso di una query come «ordinare una lista di stringhe», viene restituito il codice che implementa gli algoritmi corrispondenti).

Il set di dati proposto include oltre 2 milioni di coppie "codice-commento", preparate sulla base di testi sorgente di librerie open source esistenti. Il codice copre il testo sorgente completo di singole funzioni o metodi, mentre il commento descrive le azioni eseguite dalla funzione (è fornita una documentazione dettagliata). Attualmente, i set di dati sono disponibili per i linguaggi Python, JavaScript, Ruby, Go, Java e PHP. Sono forniti esempi di utilizzo dei set di dati proposti per l'addestramento di vari tipi di reti neurali, inclusi Neural-Bag-Of-Words, RNN, Self-Attention (BERT) e 1D-CNN+Self-Attention Hybrid.

Per sviluppare meccanismi di ricerca in linguaggio naturale, è stato preparato un set aggiuntivo chiamato CodeSearchNet Challenge, che include
99 tipologie di query con circa 4.000 annotazioni esperte, descriventi le associazioni più probabili al codice nel set di dati CodeSearchNet Corpus, che comprende circa 6 milioni di metodi e funzioni (dimensione del set circa 20 GB). CodeSearchNet Challenge può fungere da benchmark per valutare l'efficacia di diversi metodi di ricerca di codice in linguaggio naturale. Usando il toolkit Kubeflow è stato preparato
esempio un motore per la ricerca di codice.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster