{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/neurologic-a-esque-decoding-constrained-text","title":"NeuroLogic A*esque Decoding: Constrained Text Generation with Lookahead Heuristics","arxiv_id":"2112.08726","date":"2021-12-16","proceeding":"NAACL 2022 7","authors":["Ximing Lu","Sean Welleck","Peter West","Liwei Jiang","Jungo Kasai","Daniel Khashabi","Ronan Le Bras","Lianhui Qin","Youngjae Yu","Rowan Zellers","Noah A. Smith","Yejin Choi"],"abstract":"The dominant paradigm for neural text generation is left-to-right decoding from autoregressive language models. Constrained or controllable generation under complex lexical constraints, however, requires foresight to plan ahead feasible future paths. Drawing inspiration from the A* search algorithm, we propose NeuroLogic A*esque, a decoding algorithm that incorporates heuristic estimates of future cost. We develop efficient lookahead heuristics that are efficient for large-scale language models, making our method a drop-in replacement for common techniques such as beam search and top-k sampling. To enable constrained generation, we build on NeuroLogic decoding (Lu et al., 2021), combining its flexibility in incorporating logical constraints with A*esque estimates of future constraint satisfaction. Our approach outperforms competitive baselines on five generation tasks, and achieves new state-of-the-art performance on table-to-text generation, constrained machine translation, and keyword-constrained generation. The improvements are particularly notable on tasks that require complex constraint satisfaction or in few-shot or zero-shot settings. NeuroLogic A*esque illustrates the power of decoding for improving and enabling new capabilities of large-scale language models.","url_abs":"https://arxiv.org/abs/2112.08726v1","url_pdf":"https://arxiv.org/pdf/2112.08726v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"neurologic-a-esque-decoding-constrained-text","repo_url":"https://github.com/GXimingLu/a_star_neurologic","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"machine-translation","task_name":"Machine Translation"},{"task_slug":"table-to-text-generation","task_name":"Table-to-Text Generation"},{"task_slug":"text-generation","task_name":"Text Generation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/text-generation-on-rocstories","task":"Text Generation","dataset":"ROCStories","model":"Beam search + A*esque (beam)","rank_in_archive_order":1,"of":4,"metrics":{"BLEU-1":"34.4","Perplexity":"2.14"},"uses_additional_data":false},{"leaderboard":"/sota/text-generation-on-rocstories","task":"Text Generation","dataset":"ROCStories","model":"Beam search + A*esque (sample)","rank_in_archive_order":2,"of":4,"metrics":{"BLEU-1":"34.4","Perplexity":"2.16"},"uses_additional_data":false},{"leaderboard":"/sota/text-generation-on-rocstories","task":"Text Generation","dataset":"ROCStories","model":"Beam search + A*esque (greedy)","rank_in_archive_order":3,"of":4,"metrics":{"BLEU-1":"34.3","Perplexity":"2.11"},"uses_additional_data":false},{"leaderboard":"/sota/text-generation-on-rocstories","task":"Text Generation","dataset":"ROCStories","model":"Beam search","rank_in_archive_order":4,"of":4,"metrics":{"BLEU-1":"33.7","Perplexity":"2.24"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2112.08726","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}