{"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/commongen-a-constrained-text-generation","title":"CommonGen: A Constrained Text Generation Challenge for Generative Commonsense Reasoning","arxiv_id":"1911.03705","date":"2019-11-09","proceeding":"Findings of the Association for Computational Linguistics 2020","authors":["Bill Yuchen Lin","Wangchunshu Zhou","Ming Shen","Pei Zhou","Chandra Bhagavatula","Yejin Choi","Xiang Ren"],"abstract":"Recently, large-scale pre-trained language models have demonstrated impressive performance on several commonsense-reasoning benchmark datasets. However, building machines with commonsense to compose realistically plausible sentences remains challenging. In this paper, we present a constrained text generation task, CommonGen associated with a benchmark dataset, to explicitly test machines for the ability of generative commonsense reasoning. Given a set of common concepts (e.g., {dog, frisbee, catch, throw}); the task is to generate a coherent sentence describing an everyday scenario using these concepts (e.g., \"a man throws a frisbee and his dog catches it\"). The CommonGen task is challenging because it inherently requires 1) relational reasoning with background commonsense knowledge, and 2) compositional generalization ability to work on unseen concept combinations. Our dataset, constructed through a combination of crowdsourced and existing caption corpora, consists of 79k commonsense descriptions over 35k unique concept-sets. Experiments show that there is a large gap between state-of-the-art text generation models (e.g., T5) and human performance. Furthermore, we demonstrate that the learned generative commonsense reasoning capability can be transferred to improve downstream tasks such as CommonsenseQA by generating additional context.","url_abs":"https://arxiv.org/abs/1911.03705v4","url_pdf":"https://arxiv.org/pdf/1911.03705v4.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":"commongen-a-constrained-text-generation","repo_url":"https://github.com/INK-USC/CommonGen","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"commongen-a-constrained-text-generation","repo_url":"https://github.com/allenai/CommonGen-Eval","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"commongen-a-constrained-text-generation","repo_url":"https://github.com/varshakr24/CommonsenseReasoning","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"common-sense-reasoning","task_name":"Common Sense Reasoning"},{"task_slug":"question-answering","task_name":"Question Answering"},{"task_slug":"relational-reasoning","task_name":"Relational Reasoning"},{"task_slug":"sentence","task_name":"Sentence"},{"task_slug":"text-generation","task_name":"Text Generation"}],"methods":[{"method_slug":"test","method_name":"Test"}],"datasets_introduced":[{"slug":"commongen","name":"CommonGen","full_name":""}],"methods_introduced":[],"results":[{"leaderboard":"/sota/text-generation-on-commongen-1","task":"Text Generation","dataset":"CommonGen","model":"UniLM","rank_in_archive_order":1,"of":4,"metrics":{"CIDEr":"14.92"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1911.03705","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1911.03705"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/varshakr24/CommonsenseReasoning","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/allenai/CommonGen-Eval","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/INK-USC/CommonGen","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":6},"by_repo_kind":{"listed":{"samples":6,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"e00658a45cf979c4","entry":"clear_output","repo":"allenai/CommonGen-Eval","repo_kind":"listed","path":"data_utils.py","file_url":"https://github.com/allenai/CommonGen-Eval/blob/HEAD/data_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e00658a45cf979c4"}},{"code_sha256_prefix":"eefaa52fc92c8f55","entry":"get_conv_template","repo":"allenai/CommonGen-Eval","repo_kind":"listed","path":"fastchat_conversation.py","file_url":"https://github.com/allenai/CommonGen-Eval/blob/HEAD/fastchat_conversation.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"eefaa52fc92c8f55"}},{"code_sha256_prefix":"a9d15e4437a4a672","entry":"openai_chat_request","repo":"allenai/CommonGen-Eval","repo_kind":"listed","path":"eval_utils.py","file_url":"https://github.com/allenai/CommonGen-Eval/blob/HEAD/eval_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a9d15e4437a4a672"}},{"code_sha256_prefix":"f8baf14dbe5cc687","entry":"parse_result","repo":"allenai/CommonGen-Eval","repo_kind":"listed","path":"evaluate.py","file_url":"https://github.com/allenai/CommonGen-Eval/blob/HEAD/evaluate.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f8baf14dbe5cc687"}},{"code_sha256_prefix":"2a55bf45c6775c40","entry":"retry_handler","repo":"allenai/CommonGen-Eval","repo_kind":"listed","path":"eval_utils.py","file_url":"https://github.com/allenai/CommonGen-Eval/blob/HEAD/eval_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2a55bf45c6775c40"}},{"code_sha256_prefix":"d257fb6875c46f6e","entry":"shorten","repo":"allenai/CommonGen-Eval","repo_kind":"listed","path":"evaluate.py","file_url":"https://github.com/allenai/CommonGen-Eval/blob/HEAD/evaluate.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d257fb6875c46f6e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}