{"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/reinforced-clarification-question-generation","title":"ClarifyDelphi: Reinforced Clarification Questions with Defeasibility Rewards for Social and Moral Situations","arxiv_id":"2212.10409","date":"2022-12-20","proceeding":null,"authors":["Valentina Pyatkin","Jena D. Hwang","Vivek Srikumar","Ximing Lu","Liwei Jiang","Yejin Choi","Chandra Bhagavatula"],"abstract":"Context is everything, even in commonsense moral reasoning. Changing contexts can flip the moral judgment of an action; \"Lying to a friend\" is wrong in general, but may be morally acceptable if it is intended to protect their life. We present ClarifyDelphi, an interactive system that learns to ask clarification questions (e.g., why did you lie to your friend?) in order to elicit additional salient contexts of a social or moral situation. We posit that questions whose potential answers lead to diverging moral judgments are the most informative. Thus, we propose a reinforcement learning framework with a defeasibility reward that aims to maximize the divergence between moral judgments of hypothetical answers to a question. Human evaluation demonstrates that our system generates more relevant, informative and defeasible questions compared to competitive baselines. Our work is ultimately inspired by studies in cognitive science that have investigated the flexibility in moral cognition (i.e., the diverse contexts in which moral rules can be bent), and we hope that research in this direction can assist both cognitive and computational investigations of moral judgments.","url_abs":"https://arxiv.org/abs/2212.10409v3","url_pdf":"https://arxiv.org/pdf/2212.10409v3.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":"reinforced-clarification-question-generation","repo_url":"https://github.com/allenai/clarifydelphi","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"reinforced-clarification-question-generation","repo_url":"https://github.com/valentinapy/clarifyd","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"question-generation","task_name":"Question Generation"},{"task_slug":"question-generation","task_name":"Question-Generation"}],"methods":[{"method_slug":"flip","method_name":"FLIP"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2212.10409","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2212.10409"}},"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/valentinapy/clarifyd","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/allenai/clarifydelphi","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_honours":1,"ran_draft_wrong":2,"ran":1,"unverified":3},"by_repo_kind":{"official":{"samples":7,"ran":4,"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":"4a71993e45f3b53e","entry":"distinctness","repo":"allenai/clarifydelphi","repo_kind":"official","path":"Code/sample_clarifyd.py","file_url":"https://github.com/allenai/clarifydelphi/blob/HEAD/Code/sample_clarifyd.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4a71993e45f3b53e"}},{"code_sha256_prefix":"e5bacba887a721ef","entry":"reduce_mean","repo":"allenai/clarifydelphi","repo_kind":"official","path":"Code/utils/utils.py","file_url":"https://github.com/allenai/clarifydelphi/blob/HEAD/Code/utils/utils.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e5bacba887a721ef"}},{"code_sha256_prefix":"174bfbbeb1f29e12","entry":"reduce_std","repo":"allenai/clarifydelphi","repo_kind":"official","path":"Code/utils/utils.py","file_url":"https://github.com/allenai/clarifydelphi/blob/HEAD/Code/utils/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"174bfbbeb1f29e12"}},{"code_sha256_prefix":"5874b0a8910897fd","entry":"reduce_sum","repo":"allenai/clarifydelphi","repo_kind":"official","path":"Code/utils/utils.py","file_url":"https://github.com/allenai/clarifydelphi/blob/HEAD/Code/utils/utils.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5874b0a8910897fd"}},{"code_sha256_prefix":"fe3fa19af4368e58","entry":"expand","repo":"allenai/clarifydelphi","repo_kind":"official","path":"Code/sample_clarifyd.py","file_url":"https://github.com/allenai/clarifydelphi/blob/HEAD/Code/sample_clarifyd.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":"fe3fa19af4368e58"}},{"code_sha256_prefix":"1a6e1edcd1558377","entry":"load_model_t5","repo":"allenai/clarifydelphi","repo_kind":"official","path":"Code/reward.py","file_url":"https://github.com/allenai/clarifydelphi/blob/HEAD/Code/reward.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":"1a6e1edcd1558377"}},{"code_sha256_prefix":"7f9ecbcea244ca73","entry":"my_jensenshannon","repo":"allenai/clarifydelphi","repo_kind":"official","path":"Code/reward.py","file_url":"https://github.com/allenai/clarifydelphi/blob/HEAD/Code/reward.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":"7f9ecbcea244ca73"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}