{"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/improving-factual-consistency-for-knowledge","title":"Improving Factual Consistency for Knowledge-Grounded Dialogue Systems via Knowledge Enhancement and Alignment","arxiv_id":"2310.08372","date":"2023-10-12","proceeding":null,"authors":["Boyang Xue","Weichao Wang","Hongru Wang","Fei Mi","Rui Wang","Yasheng Wang","Lifeng Shang","Xin Jiang","Qun Liu","Kam-Fai Wong"],"abstract":"Pretrained language models (PLMs) based knowledge-grounded dialogue systems are prone to generate responses that are factually inconsistent with the provided knowledge source. In such inconsistent responses, the dialogue models fail to accurately express the external knowledge they rely upon. Inspired by previous work which identified that feed-forward networks (FFNs) within Transformers are responsible for factual knowledge expressions, we investigate two methods to efficiently improve the factual expression capability {of FFNs} by knowledge enhancement and alignment respectively. We first propose \\textsc{K-Dial}, which {explicitly} introduces {extended FFNs in Transformers to enhance factual knowledge expressions} given the specific patterns of knowledge-grounded dialogue inputs. Additionally, we apply the reinforcement learning for factual consistency (RLFC) method to implicitly adjust FFNs' expressions in responses by aligning with gold knowledge for the factual consistency preference. To comprehensively assess the factual consistency and dialogue quality of responses, we employ extensive automatic measures and human evaluations including sophisticated fine-grained NLI-based metrics. Experimental results on WoW and CMU\\_DoG datasets demonstrate that our methods efficiently enhance the ability of the FFN module to convey factual knowledge, validating the efficacy of improving factual consistency for knowledge-grounded dialogue systems.","url_abs":"https://arxiv.org/abs/2310.08372v3","url_pdf":"https://arxiv.org/pdf/2310.08372v3.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":"improving-factual-consistency-for-knowledge","repo_url":"https://github.com/amourwaltz/factdial","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2310.08372","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.08372"}},"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/amourwaltz/factdial","reach":{"status":"ok"}}],"summary":{"ran":9},"by_repo_kind":{"official":{"samples":9,"ran":9,"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":9,"samples":[{"code_sha256_prefix":"ac44fc9ea0ce661e","entry":"f1_overlap","repo":"amourwaltz/factdial","repo_kind":"official","path":"codes/dial/utils.py","file_url":"https://github.com/amourwaltz/factdial/blob/HEAD/codes/dial/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ac44fc9ea0ce661e"}},{"code_sha256_prefix":"86d1701b086e4ae2","entry":"get_batch","repo":"amourwaltz/factdial","repo_kind":"official","path":"codes/dial/data.py","file_url":"https://github.com/amourwaltz/factdial/blob/HEAD/codes/dial/data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"86d1701b086e4ae2"}},{"code_sha256_prefix":"f0d5b9eab216acd7","entry":"get_fleiss_kappa","repo":"amourwaltz/factdial","repo_kind":"official","path":"codes/eval/kappa.py","file_url":"https://github.com/amourwaltz/factdial/blob/HEAD/codes/eval/kappa.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f0d5b9eab216acd7"}},{"code_sha256_prefix":"1beff33bbcb6b025","entry":"get_klg_batch","repo":"amourwaltz/factdial","repo_kind":"official","path":"codes/know/data.py","file_url":"https://github.com/amourwaltz/factdial/blob/HEAD/codes/know/data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1beff33bbcb6b025"}},{"code_sha256_prefix":"3d04d521d8efc853","entry":"klg_params_freeze","repo":"amourwaltz/factdial","repo_kind":"official","path":"codes/dial/utils.py","file_url":"https://github.com/amourwaltz/factdial/blob/HEAD/codes/dial/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3d04d521d8efc853"}},{"code_sha256_prefix":"a4e07b8772d41ea1","entry":"params_freeze","repo":"amourwaltz/factdial","repo_kind":"official","path":"codes/know/utils.py","file_url":"https://github.com/amourwaltz/factdial/blob/HEAD/codes/know/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a4e07b8772d41ea1"}},{"code_sha256_prefix":"cfa8a1ab11ef4597","entry":"params_update","repo":"amourwaltz/factdial","repo_kind":"official","path":"codes/dial/utils.py","file_url":"https://github.com/amourwaltz/factdial/blob/HEAD/codes/dial/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cfa8a1ab11ef4597"}},{"code_sha256_prefix":"df87d540249d66e7","entry":"wiki_collect","repo":"amourwaltz/factdial","repo_kind":"official","path":"codes/dial/prep.py","file_url":"https://github.com/amourwaltz/factdial/blob/HEAD/codes/dial/prep.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"df87d540249d66e7"}},{"code_sha256_prefix":"e52c176b86cbf9a9","entry":"wiki_split","repo":"amourwaltz/factdial","repo_kind":"official","path":"codes/dial/prep.py","file_url":"https://github.com/amourwaltz/factdial/blob/HEAD/codes/dial/prep.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e52c176b86cbf9a9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}