Kodgenerering kartlägger en programbeskrivning till körbar källkod på ett programmeringsspråk. Befintliga metoder är huvudsakligen beroende av ett återkommande neuralt nätverk (RNN) som dekoder. Vi finner dock att ett program innehåller betydligt fler polletter än ett naturligt språk mening, och därmed kan det vara olämpligt för RNN att fånga en sådan lång sekvens. I detta dokument föreslår vi ett grammatikbaserat strukturellt konvolutionellt neuralt nätverk (CNN) för kodgenerering. Vår modell genererar ett program genom att förutsäga grammatiska regler för programmeringsspråket; vi utformar flera CNN-moduler, inklusive den trädbaserade konvolutionen och pre-order konvolutionen, vars information ytterligare aggregeras genom dedikerade uppmärksamma poolning lager. Experimentella resultat på HearthStone-riktmärkesdata visar att vår CNN-kodgenerator avsevärt överträffar den tidigare toppmoderna metoden med 5 procentenheter; ytterligare experiment på flera semantiska tolkningsuppgifter visar att vår modell är robust. Vi utför också djupgående ablationstest för att bättre förstå varje komponent i vår modell.
Ref hävdade att traditionella RNN kanske inte skulle klara av det långa beroendeproblemet, och de föreslog ett grammatikbaserat strukturellt CNN.
A Grammar-Based Structural CNN Decoder for Code Generation
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Mathematics', 'Computer Science']}