GitHub Projekt , im Rahmen dessen Modelle des maschinellen Lernens und DatensĂ€tze erstellt wurden, die erforderlich sind, um Code in verschiedenen Programmiersprachen zu verstehen, zu klassifizieren und zu analysieren. CodeSearchNet, Ă€hnlich wie , umfasst eine groĂe Sammlung von Codeausschnitten, die mit Annotationen versehen sind, die die durch den Code ausgefĂŒhrten Aktionen formal beschreiben. Die Komponenten zum Trainieren von Modellen und Beispiele fĂŒr die Nutzung von CodeSearchNet sind in Python unter Verwendung des Tensorflow-Frameworks geschrieben, und unterliegt der MIT-Lizenz.
Bei der Erstellung von CodeSearchNet wurden Technologien zur Verarbeitung natĂŒrlicher Sprache genutzt, die es Machine-Learning-Systemen ermöglichen, nicht nur syntaktische Merkmale, sondern auch die Bedeutung der durch den Code ausgefĂŒhrten Aktionen zu berĂŒcksichtigen. Auf GitHub hat das System in Experimenten zum Aufbau einer semantischen Codesuche unter Verwendung von Anfragen in (zum Beispiel wird bei der Anfrage âSortierung einer Liste von Zeichenfolgenâ der Code ausgegeben, der die entsprechenden Algorithmen implementiert).
Der angebotene Datensatz enthĂ€lt ĂŒber 2 Millionen âCode-Kommentarâ-Paare, die auf den Quelltexten bestehender Open-Source-Bibliotheken basieren. Der Code umfasst den vollstĂ€ndigen Quelltext einzelner Funktionen oder Methoden, wĂ€hrend der Kommentar die durch die Funktion ausgefĂŒhrten Aktionen beschreibt (eine detaillierte Dokumentation wird bereitgestellt). Derzeit sind DatensĂ€tze fĂŒr die Sprachen Python, JavaScript, Ruby, Go, Java und PHP verfĂŒgbar. Beispiele fĂŒr die Nutzung der angebotenen DatensĂ€tze zum Training verschiedener Arten von neuronalen Netzwerken werden bereitgestellt, einschlieĂlich , , (BERT) und .
Um die Mechanismen der Suche in natĂŒrlicher Sprache weiterzuentwickeln, wurde zusĂ€tzlich der CodeSearchNet Challenge-Datensatz vorbereitet, der
mit rund 4.000 Expertenannotations, die die wahrscheinlichsten Zuordnungen zu Code im CodeSearchNet-Korpus beschreiben, der etwa 6 Millionen Methoden und Funktionen umfasst ( betrĂ€gt etwa 20 GB). Der CodeSearchNet Challenge kann als Referenz zur Bewertung der EffektivitĂ€t verschiedener Methoden zur Codesuche in natĂŒrlicher Sprache dienen. Unter Verwendung des Werkzeugs vorbereitet
eine Engine zur Codesuche.
Quelle: opennet.ru
