{"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/annotating-columns-with-pre-trained-language","title":"Annotating Columns with Pre-trained Language Models","arxiv_id":"2104.01785","date":"2021-04-05","proceeding":null,"authors":["Yoshihiko Suhara","Jinfeng Li","Yuliang Li","Dan Zhang","Çağatay Demiralp","Chen Chen","Wang-Chiew Tan"],"abstract":"Inferring meta information about tables, such as column headers or relationships between columns, is an active research topic in data management as we find many tables are missing some of this information. In this paper, we study the problem of annotating table columns (i.e., predicting column types and the relationships between columns) using only information from the table itself. We develop a multi-task learning framework (called Doduo) based on pre-trained language models, which takes the entire table as input and predicts column types/relations using a single model. Experimental results show that Doduo establishes new state-of-the-art performance on two benchmarks for the column type prediction and column relation prediction tasks with up to 4.0% and 11.9% improvements, respectively. We report that Doduo can already outperform the previous state-of-the-art performance with a minimal number of tokens, only 8 tokens per column. We release a toolbox (https://github.com/megagonlabs/doduo) and confirm the effectiveness of Doduo on a real-world data science problem through a case study.","url_abs":"https://arxiv.org/abs/2104.01785v2","url_pdf":"https://arxiv.org/pdf/2104.01785v2.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":"annotating-columns-with-pre-trained-language","repo_url":"https://github.com/megagonlabs/doduo","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"column-type-annotation","task_name":"Column Type Annotation"},{"task_slug":"columns-property-annotation","task_name":"Columns Property Annotation"},{"task_slug":"management","task_name":"Management"},{"task_slug":"multi-task-learning","task_name":"Multi-Task Learning"},{"task_slug":"relation-prediction","task_name":"Relation Prediction"},{"task_slug":"table-annotation","task_name":"Table annotation"},{"task_slug":"type-prediction","task_name":"Type prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/column-type-annotation-on-viznet-sato-full","task":"Column Type Annotation","dataset":"VizNet-Sato-Full","model":"DODUO","rank_in_archive_order":2,"of":4,"metrics":{"Macro-F1":"84.6"},"uses_additional_data":false},{"leaderboard":"/sota/column-type-annotation-on-viznet-sato-1","task":"Column Type Annotation","dataset":"VizNet-Sato-MultiColumn","model":"DODUO","rank_in_archive_order":1,"of":2,"metrics":{"Macro-F1":"83.8"},"uses_additional_data":false},{"leaderboard":"/sota/column-type-annotation-on-wikitables-turl-cta","task":"Column Type Annotation","dataset":"WikiTables-TURL-CTA","model":"DODUO","rank_in_archive_order":2,"of":3,"metrics":{"F1 (%)":"92.45"},"uses_additional_data":false},{"leaderboard":"/sota/columns-property-annotation-on-wikitables","task":"Columns Property Annotation","dataset":"WikiTables-TURL-CPA","model":"DODUO","rank_in_archive_order":2,"of":3,"metrics":{"F1 (%)":"91.72"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2104.01785","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.01785"}},"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/megagonlabs/doduo","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"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":"81a017ea0efbf876","entry":"collate_fn","repo":"megagonlabs/doduo","repo_kind":"official","path":"doduo/dataset.py","file_url":"https://github.com/megagonlabs/doduo/blob/HEAD/doduo/dataset.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":"81a017ea0efbf876"}},{"code_sha256_prefix":"2c2972d495039592","entry":"f1_score_multilabel","repo":"megagonlabs/doduo","repo_kind":"official","path":"doduo/util.py","file_url":"https://github.com/megagonlabs/doduo/blob/HEAD/doduo/util.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":"2c2972d495039592"}},{"code_sha256_prefix":"9475d24c6719f1eb","entry":"parse_tagname","repo":"megagonlabs/doduo","repo_kind":"official","path":"doduo/util.py","file_url":"https://github.com/megagonlabs/doduo/blob/HEAD/doduo/util.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":"9475d24c6719f1eb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}