Spende an arXiv

Titel:When Deep Learning Met Code Search

Autoren: Jose Cambronero, Hongyu Li, Seohyun Kim, Koushik Sen, Satish Chandra

Download PDF

Abstract: Es gab mehrere aktuelle Vorschläge zur Verwendung tiefer neuronaler Netze fürcodesuche mit natürlicher Sprache. Diesen Vorschlägen gemeinsam ist die Idee von $ \ mathit {embedding} $ Code und Abfragen in natürlicher Sprache in reale Vektoren und dann die Verwendung der Vektordistanz, um die semantische Korrelation zwischen Code und Abfrage zu approximieren. Es gibt mehrere Ansätze zum Erlernen dieser Einbettungen, einschließlich $ \ mathit {unsupervised} $ -Techniken, die nur auf einem Korpus von Codebeispielen basieren, und $ \ mathit {supervised} $ -Techniken, die einen $ \ mathit {aligned} $ -Korpus von gepaarten Code- und Natural Language -Beschreibungen verwenden. Das Ziel dieser Überwachung ist es, Einbettungen zu erzeugen, die für Aquery und das entsprechende gewünschte Code-Snippet ähnlicher sind. Es ist klar, dass es Möglichkeiten gibt, überwachte Techniken überhaupt zu verwenden, und wenn ja, welche Art von Netzwerk und Training für die Überwachung zu verwenden ist. Dieses Papier ist das erste toevaluate diese Wahlen systematisch. Zu diesem Zweck haben wir Zusammengestelltimplementierungen von State-of-the-Art-Techniken auf einer gemeinsamen Plattform,Ausbildung und Bewertung Korpora laufen. Um den Entwurfsraum in networkcomplexity zu erkunden, haben wir auch einen neuen Entwurfspunkt eingeführt, der eine $ \ mathit {minimal} $ – Überwachungserweiterung für eine vorhandene unbeaufsichtigte Technik darstellt. Unsere Evaluation zeigt, dass: 1. das Hinzufügen von Überwachung zu einer bestehenden unbeaufsichtigten Technik kann die Leistung verbessern, wenn auch nicht unbedingt um vieles; 2. einfache Netzwerke für die Überwachung können wirksamer sein als komplexere sequenzbasierte Netzwerke für die Codesuche; 3. während es üblich ist, Docstrings zur Durchführung der Überwachung zu verwenden, besteht eine beträchtliche Lücke zwischen der Wirksamkeit von Docstrings und einem abfragegerechteren Überwachungskorpus.
Der Evaluationsdatensatz ist jetzt bei arXiv verfügbar:1908.09804

Fächer: Software Engineering (cs.SE ); Berechnung und Sprache (cs.CL ); Maschinelles Lernen (cs.LG)
Zitieren als: arXiv:1905.03813
( oder arXiv: 1905.03813v4 für diese version)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.