%0 Conference Proceedings %T Exploring Dynamic Selection of Branch Expansion Orders for Code Generation %A Jiang, Hui %A Zhou, Chulun %A Meng, Fandong %A Zhang, Biao %A Zhou, Jie %A Huang, Degen %A Wu, Qingqiang %A Su, Jinsong %Y Zong, Chengqing %Y Xia, Fei %Y Li, Wenjie %Y Navigli, Roberto %S Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers) %D 2021 %8 August %I Association for Computational Linguistics %C Online %F jiang-etal-2021-exploring %X Due to the great potential in facilitating software development, code generation has attracted increasing attention recently. Generally, dominant models are Seq2Tree models, which convert the input natural language description into a sequence of tree-construction actions corresponding to the pre-order traversal of an Abstract Syntax Tree (AST). However, such a traversal order may not be suitable for handling all multi-branch nodes. In this paper, we propose to equip the Seq2Tree model with a context-based Branch Selector, which is able to dynamically determine optimal expansion orders of branches for multi-branch nodes. Particularly, since the selection of expansion orders is a non-differentiable multi-step operation, we optimize the selector through reinforcement learning, and formulate the reward function as the difference of model losses obtained through different expansion orders. Experimental results and in-depth analysis on several commonly-used datasets demonstrate the effectiveness and generality of our approach. We have released our code at https://github.com/DeepLearnXMU/CG-RL. %R 10.18653/v1/2021.acl-long.394 %U https://aclanthology.org/2021.acl-long.394 %U https://doi.org/10.18653/v1/2021.acl-long.394 %P 5076-5085