{"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/well-begun-is-half-done-generator-agnostic","title":"Well Begun is Half Done: Generator-agnostic Knowledge Pre-Selection for Knowledge-Grounded Dialogue","arxiv_id":"2310.07659","date":"2023-10-11","proceeding":null,"authors":["Lang Qin","Yao Zhang","Hongru Liang","Jun Wang","Zhenglu Yang"],"abstract":"Accurate knowledge selection is critical in knowledge-grounded dialogue systems. Towards a closer look at it, we offer a novel perspective to organize existing literature, i.e., knowledge selection coupled with, after, and before generation. We focus on the third under-explored category of study, which can not only select knowledge accurately in advance, but has the advantage to reduce the learning, adjustment, and interpretation burden of subsequent response generation models, especially LLMs. We propose GATE, a generator-agnostic knowledge selection method, to prepare knowledge for subsequent response generation models by selecting context-related knowledge among different knowledge structures and variable knowledge requirements. Experimental results demonstrate the superiority of GATE, and indicate that knowledge selection before generation is a lightweight yet effective way to facilitate LLMs (e.g., ChatGPT) to generate more informative responses.","url_abs":"https://arxiv.org/abs/2310.07659v3","url_pdf":"https://arxiv.org/pdf/2310.07659v3.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":"well-begun-is-half-done-generator-agnostic","repo_url":"https://github.com/qinlang14/gate","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"response-generation","task_name":"Response Generation"}],"methods":[{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2310.07659","atlas_url":"https://app.syntology.ai/?focus=2310.07659","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.07659"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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":"deterministic:regex_extraction","url":"https://github.com/qinlang14/GATE","reach":null}],"summary":{"ran":5,"ran_draft_wrong":3,"ran_fixture":7,"ran_violates":1,"ran_honours":1,"unverified":5},"by_repo_kind":{"official":{"samples":22,"ran":17,"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":22,"samples":[{"code_sha256_prefix":"745b6a678dad608d","entry":"GATv2","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"745b6a678dad608d"}},{"code_sha256_prefix":"dc13861b1653c3b7","entry":"GraphAttentionV2Layer","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dc13861b1653c3b7"}},{"code_sha256_prefix":"aa9e157a88a2fa1d","entry":"InputLayer","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"aa9e157a88a2fa1d"}},{"code_sha256_prefix":"7bb94ec4a40d80dc","entry":"ModalityAttentionLayer","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7bb94ec4a40d80dc"}},{"code_sha256_prefix":"f8f09b2389832b36","entry":"RepresentationLayer","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f8f09b2389832b36"}},{"code_sha256_prefix":"95aefd81c3e7959b","entry":"absolute_path","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"95aefd81c3e7959b"}},{"code_sha256_prefix":"88e52f464cb80873","entry":"bi_tempered_logistic_loss","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"88e52f464cb80873"}},{"code_sha256_prefix":"4f5d21941cbfe9ca","entry":"compute_normalization","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4f5d21941cbfe9ca"}},{"code_sha256_prefix":"069b2792c0279624","entry":"compute_normalization_fixed_point","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"069b2792c0279624"}},{"code_sha256_prefix":"0bc2e58b7e4855cc","entry":"exp_t","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0bc2e58b7e4855cc"}},{"code_sha256_prefix":"cb10af3f4a51397e","entry":"log_t","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cb10af3f4a51397e"}},{"code_sha256_prefix":"1ea29cd4bdfd5f4a","entry":"padding","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1ea29cd4bdfd5f4a"}},{"code_sha256_prefix":"51af59393a7deade","entry":"read_json","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"51af59393a7deade"}},{"code_sha256_prefix":"168f20dbfff6d5a6","entry":"reward_function","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"168f20dbfff6d5a6"}},{"code_sha256_prefix":"d0d4a87ead240b6b","entry":"smooth_labels","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d0d4a87ead240b6b"}},{"code_sha256_prefix":"fedb83c14ad3f3dd","entry":"tempered_softmax","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fedb83c14ad3f3dd"}},{"code_sha256_prefix":"99c6d5cbf25e8327","entry":"topk_accuracy","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"99c6d5cbf25e8327"}},{"code_sha256_prefix":"f4c8aa012f7bf436","entry":"Environment","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f4c8aa012f7bf436"}},{"code_sha256_prefix":"b5461ab093950d3a","entry":"KnowledgeSelectionModel","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b5461ab093950d3a"}},{"code_sha256_prefix":"fae01a57d50f9b0d","entry":"KnowledgeSelector","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fae01a57d50f9b0d"}},{"code_sha256_prefix":"9c0f2e312f48e698","entry":"NodeSelector","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9c0f2e312f48e698"}},{"code_sha256_prefix":"05cc4886d4a3c5eb","entry":"loss_function","repo":"qinlang14/GATE","repo_kind":"official","path":"KnowledgeSelection/GATEModel/model.py","file_url":"https://github.com/qinlang14/GATE/blob/HEAD/KnowledgeSelection/GATEModel/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"05cc4886d4a3c5eb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}