GitHub har åpnet utviklingen innen bruk av maskinlæring for kodesøk og analyse

GitHub innsendt prosjekt CodeSearchNet, som har utarbeidet maskinlæringsmodeller og datasett som er nødvendige for å analysere, klassifisere og analysere kode på ulike programmeringsspråk. CodeSearchNet, lik IMAGEnet, inkluderer en stor samling kodebiter med merknader som formaliserer hva koden gjør. Komponenter for treningsmodeller og eksempler på bruk av CodeSearchNet er skrevet i Python ved hjelp av Tensorflow-rammeverket og distribuert av under MIT-lisensen.

Når du opprettet CodeSearchNet, ble tekstparsing-teknologier med naturlig språk brukt, noe som gjorde det mulig for maskinlæringssystemer å ta hensyn til ikke bare syntaktiske funksjoner, men også betydningen av handlingene som utføres av koden. GitHub-systemet gjelder i eksperimenter med å organisere semantisk kodesøk ved å bruke spørringer på naturlig språk (for eksempel, når du ber om "sortere en liste over strenger", vises kode med implementeringen av de tilsvarende algoritmene).

Det foreslåtte datasettet inkluderer mer enn 2 millioner kodekommentarlenker, utarbeidet basert på kildetekstene til eksisterende åpne biblioteker. Koden dekker hele kildeteksten til individuelle funksjoner eller metoder, og kommentaren beskriver handlingene som utføres av funksjonen (detaljert dokumentasjon er gitt). Foreløpig utarbeides datasett for Python, JavaScript, Ruby, Go, Java og PHP. Det er gitt eksempler på bruk av de foreslåtte datasettene for opplæring av ulike typer nevrale nettverk, inkludert Nevral-Bag-Of-Ord, RNN, Selvoppmerksomhet (BERT) og 1D-CNN+Selvoppmerksomhet Hybrid.

For å utvikle søkemekanismer for naturlig språk er det i tillegg utarbeidet et sett med CodeSearchNet Challenge, inkludert
99 typisk spørringer med rundt 4 tusen ekspertkommentarer som beskriver de mest sannsynlige kodebindingene i CodeSearchNet Corpus-datasettet, som dekker rundt 6 millioner metoder og funksjoner (angi størrelse ca 20 GB). CodeSearchNet Challenge kan tjene som en målestokk for å evaluere effektiviteten til visse metoder for å søke etter naturlig språkkode. Bruke verktøy KubeFlow forberedt
eksempel kode søkemotor.

Kilde: opennet.ru

Legg til en kommentar