{"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/chain-of-table-evolving-tables-in-the","title":"Chain-of-Table: Evolving Tables in the Reasoning Chain for Table Understanding","arxiv_id":"2401.04398","date":"2024-01-09","proceeding":null,"authors":["Zilong Wang","Hao Zhang","Chun-Liang Li","Julian Martin Eisenschlos","Vincent Perot","Zifeng Wang","Lesly Miculicich","Yasuhisa Fujii","Jingbo Shang","Chen-Yu Lee","Tomas Pfister"],"abstract":"Table-based reasoning with large language models (LLMs) is a promising direction to tackle many table understanding tasks, such as table-based question answering and fact verification. Compared with generic reasoning, table-based reasoning requires the extraction of underlying semantics from both free-form questions and semi-structured tabular data. Chain-of-Thought and its similar approaches incorporate the reasoning chain in the form of textual context, but it is still an open question how to effectively leverage tabular data in the reasoning chain. We propose the Chain-of-Table framework, where tabular data is explicitly used in the reasoning chain as a proxy for intermediate thoughts. Specifically, we guide LLMs using in-context learning to iteratively generate operations and update the table to represent a tabular reasoning chain. LLMs can therefore dynamically plan the next operation based on the results of the previous ones. This continuous evolution of the table forms a chain, showing the reasoning process for a given tabular problem. The chain carries structured information of the intermediate results, enabling more accurate and reliable predictions. Chain-of-Table achieves new state-of-the-art performance on WikiTQ, FeTaQA, and TabFact benchmarks across multiple LLM choices.","url_abs":"https://arxiv.org/abs/2401.04398v2","url_pdf":"https://arxiv.org/pdf/2401.04398v2.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":"chain-of-table-evolving-tables-in-the","repo_url":"https://github.com/cyqiq/multicot","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"chain-of-table-evolving-tables-in-the","repo_url":"https://github.com/google-research/chain-of-table","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[{"task_slug":"fact-verification","task_name":"Fact Verification"},{"task_slug":"in-context-learning","task_name":"In-Context Learning"},{"task_slug":"question-answering","task_name":"Question Answering"},{"task_slug":"semantic-parsing","task_name":"Semantic Parsing"},{"task_slug":"table-based-fact-verification","task_name":"Table-based Fact Verification"},{"task_slug":"table-based-question-answering","task_name":"Table-based Question Answering"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/semantic-parsing-on-wikitablequestions","task":"Semantic Parsing","dataset":"WikiTableQuestions","model":"Chain-of-Table","rank_in_archive_order":8,"of":22,"metrics":{"Accuracy (Dev)":"/","Accuracy (Test)":"67.31"},"uses_additional_data":false},{"leaderboard":"/sota/table-based-fact-verification-on-tabfact","task":"Table-based Fact Verification","dataset":"TabFact","model":"Chain-of-Table","rank_in_archive_order":4,"of":15,"metrics":{"Test":"86.61","Val":"-"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2401.04398","atlas_url":"https://app.syntology.ai/?focus=2401.04398","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2401.04398"}},"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/HKUNLP/Binder","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/google-research/chain-of-table","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cyqiq/multicot","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":6,"unverified":2},"by_repo_kind":{"listed":{"samples":8,"ran":6,"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":"45acaa0c0daeb958","entry":"get_act_func","repo":"google-research/chain-of-table","repo_kind":"listed","path":"utils/chain.py","file_url":"https://github.com/google-research/chain-of-table/blob/HEAD/utils/chain.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"45acaa0c0daeb958"}},{"code_sha256_prefix":"4f44bc316c51d136","entry":"get_all_operation_names","repo":"google-research/chain-of-table","repo_kind":"listed","path":"utils/chain.py","file_url":"https://github.com/google-research/chain-of-table/blob/HEAD/utils/chain.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4f44bc316c51d136"}},{"code_sha256_prefix":"12b7d0b6f145ce34","entry":"get_operation_name","repo":"google-research/chain-of-table","repo_kind":"listed","path":"utils/chain.py","file_url":"https://github.com/google-research/chain-of-table/blob/HEAD/utils/chain.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"12b7d0b6f145ce34"}},{"code_sha256_prefix":"300d8824cd24e444","entry":"get_table_info","repo":"google-research/chain-of-table","repo_kind":"listed","path":"utils/chain.py","file_url":"https://github.com/google-research/chain-of-table/blob/HEAD/utils/chain.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"300d8824cd24e444"}},{"code_sha256_prefix":"1a98c777eabd7e23","entry":"table2df","repo":"google-research/chain-of-table","repo_kind":"listed","path":"utils/chain.py","file_url":"https://github.com/google-research/chain-of-table/blob/HEAD/utils/chain.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1a98c777eabd7e23"}},{"code_sha256_prefix":"3f48a6cd327ba279","entry":"table2string","repo":"google-research/chain-of-table","repo_kind":"listed","path":"utils/chain.py","file_url":"https://github.com/google-research/chain-of-table/blob/HEAD/utils/chain.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3f48a6cd327ba279"}},{"code_sha256_prefix":"3dd6e932075d3fbc","entry":"dynamic_chain_exec_one_sample","repo":"google-research/chain-of-table","repo_kind":"listed","path":"utils/chain.py","file_url":"https://github.com/google-research/chain-of-table/blob/HEAD/utils/chain.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":"3dd6e932075d3fbc"}},{"code_sha256_prefix":"841fa5034671ee1b","entry":"generate_prompt_for_next_step","repo":"google-research/chain-of-table","repo_kind":"listed","path":"utils/chain.py","file_url":"https://github.com/google-research/chain-of-table/blob/HEAD/utils/chain.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":"841fa5034671ee1b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}