Command Palette
Search for a command to run...
Tiefes Reinforcement Learning für die Korrektur von Programmiersprachen
Tiefes Reinforcement Learning für die Korrektur von Programmiersprachen
Rahul Gupta Aditya Kanade Shirish Shevade
Zusammenfassung
Anfänger-Programmierer kämpfen oft mit der formellen Syntax von Programmiersprachen. Um ihnen zu helfen, entwickeln wir einen neuen Korrekturrahmen für Programmiersprachen, der sich auf Reinforcement Learning (Verstärkungslernen) stützt. Dieser Rahmen ermöglicht es einem Agenten, menschliche Aktionen zur Textnavigation und -bearbeitung nachzubilden. Wir zeigen, dass der Agent durch Selbstexploration direkt aus den Rohdaten, also dem Programmtext selbst, trainiert werden kann, ohne irgendein Wissen über die formelle Syntax der Programmiersprache zu besitzen. Wir nutzen Expertendemonstrationen für ein Zehntel der Trainingsdaten, um das Training zu beschleunigen. Die vorgeschlagene Technik wurde anhand von 6975 fehlerhaften C-Programmen mit Tippfehlern evaluiert, die von Studierenden während eines Einführungskurses in die Programmierung verfasst wurden. Unsere Technik korrigiert 14 % mehr Programme und 29 % mehr Kompilierungsfehlermeldungen im Vergleich zu denen, die von einem Stand-of-the-Art-Werkzeug (DeepFix) behoben wurden, das einen vollständig überwachten neuronalen Maschinentranslationsansatz verwendet.