GitHub har åbnet op for forskning i anvendelse af maskinlæring til kode søgning og analyse

GitHub den projekt CodeSearchNet, hvor der er udarbejdet modeller for maskinlæring og datasæt, der er nødvendige til at analysere, klassificere og gennemgå kode i forskellige programmeringssprog. CodeSearchNet, analogt med ImageNet, inkluderer en stor samling af kodeudsnit, der er forsynet med annotationer, som formaliserer de handlinger, der udføres af koden. Komponenterne til træning af modeller og eksempler på anvendelse af CodeSearchNet er skrevet i Python ved hjælp af Tensorflow-rammerne og distribueres under MIT-licensen.

Ved oprettelsen af CodeSearchNet blev der anvendt teknologier til behandling af naturligt sprog, der gør det muligt for maskinlæringssystemer at tage hensyn til ikke blot syntaktiske karakteristika, men også meningen bag de handlinger, der udføres af koden. I GitHub-systemet typeforbindelse i eksperimenter med at organisere semantisk kode-søgning ved hjælp af forespørgsler på naturligt sprog (for eksempel, når man beder om "sortering af en liste med strenge", vises koden, der implementerer de relevante algoritmer).

Det foreslåede datasæt omfatter over 2 millioner forbindelser "kode-kommentar", der er forberedt på grundlag af kildekode fra eksisterende åbne biblioteker. Koden dækker den fulde kildekode til individuelle funktioner eller metoder, mens kommentaren beskriver de handlinger, funktionen udfører (der gives detaljeret dokumentation). I øjeblikket er datasæt forberedt til sprog som Python, JavaScript, Ruby, Go, Java og PHP. Der gives eksempler på anvendelse af de foreslåede datasæt til træning af forskellige former for neurale netværk, herunder Neural-Bag-Of-Words, RNN, Self-Attention (BERT) og 1D-CNN+Self-Attention Hybrid.

For at udvikle mekanismer til søgning på naturligt sprog er der yderligere forberedt et datasæt kaldet CodeSearchNet Challenge, som omfatter
99 standardiserede forespørgsler med omkring 4.000 ekspertannotationer, der beskriver de mest sandsynlige forbindelser til koden i datasættet CodeSearchNet Corpus, der dækker omkring 6 millioner metoder og funktioner (datasættets størrelse er omkring 20 GB). CodeSearchNet Challenge kan tjene som reference til vurdering af effektiviteten af forskellige metoder til søgning af kode på naturligt sprog. Ved hjælp af værktøjet Kubeflow er forberedt
eksempel som motor til kode-søgning.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster