{"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/a-frustratingly-easy-approach-for-joint","title":"A Frustratingly Easy Approach for Entity and Relation Extraction","arxiv_id":"2010.12812","date":"2020-10-24","proceeding":"NAACL 2021 4","authors":["Zexuan Zhong","Danqi Chen"],"abstract":"End-to-end relation extraction aims to identify named entities and extract relations between them. Most recent work models these two subtasks jointly, either by casting them in one structured prediction framework, or performing multi-task learning through shared representations. In this work, we present a simple pipelined approach for entity and relation extraction, and establish the new state-of-the-art on standard benchmarks (ACE04, ACE05 and SciERC), obtaining a 1.7%-2.8% absolute improvement in relation F1 over previous joint models with the same pre-trained encoders. Our approach essentially builds on two independent encoders and merely uses the entity model to construct the input for the relation model. Through a series of careful examinations, we validate the importance of learning distinct contextual representations for entities and relations, fusing entity information early in the relation model, and incorporating global context. Finally, we also present an efficient approximation to our approach which requires only one pass of both entity and relation encoders at inference time, achieving an 8-16$\\times$ speedup with a slight reduction in accuracy.","url_abs":"https://arxiv.org/abs/2010.12812v2","url_pdf":"https://arxiv.org/pdf/2010.12812v2.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":"a-frustratingly-easy-approach-for-joint","repo_url":"https://github.com/princeton-nlp/PURE","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"a-frustratingly-easy-approach-for-joint","repo_url":"https://github.com/YaoXinZhi/BERT-for-BioNLP-OST2019-AGAC-Task2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"joint-entity-and-relation-extraction","task_name":"Joint Entity and Relation Extraction"},{"task_slug":"multi-task-learning","task_name":"Multi-Task Learning"},{"task_slug":"named-entity-recognition-ner","task_name":"Named Entity Recognition (NER)"},{"task_slug":null,"task_name":"Relation"},{"task_slug":"relation-extraction","task_name":"Relation Extraction"},{"task_slug":"structured-prediction","task_name":"Structured Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/joint-entity-and-relation-extraction-on-ace","task":"Joint Entity and Relation Extraction","dataset":"ACE 2005","model":"Ours: cross-sentence ALB","rank_in_archive_order":1,"of":1,"metrics":{"Relation F1":"62.2"},"uses_additional_data":false},{"leaderboard":"/sota/joint-entity-and-relation-extraction-on","task":"Joint Entity and Relation Extraction","dataset":"SciERC","model":"Ours: cross-sentence","rank_in_archive_order":5,"of":11,"metrics":{"Cross Sentence":"Yes","Entity F1":"68.9","RE+ Micro F1":"36.7","Relation F1":"50.1"},"uses_additional_data":false},{"leaderboard":"/sota/named-entity-recognition-on-ace-2004","task":"Named Entity Recognition (NER)","dataset":"ACE 2004","model":"Ours: cross-sentence ALB","rank_in_archive_order":1,"of":9,"metrics":{"F1":"90.3","Multi-Task Supervision":"y"},"uses_additional_data":false},{"leaderboard":"/sota/named-entity-recognition-on-ace-2005","task":"Named Entity Recognition (NER)","dataset":"ACE 2005","model":"Ours: cross-sentence ALB","rank_in_archive_order":1,"of":20,"metrics":{"F1":"90.9"},"uses_additional_data":false},{"leaderboard":"/sota/named-entity-recognition-ner-on-scierc","task":"Named Entity Recognition (NER)","dataset":"SciERC","model":"Ours: cross-sentence","rank_in_archive_order":4,"of":7,"metrics":{"F1":"68.2"},"uses_additional_data":false},{"leaderboard":"/sota/relation-extraction-on-ace-2004","task":"Relation Extraction","dataset":"ACE 2004","model":"Ours: cross-sentence ALB","rank_in_archive_order":3,"of":11,"metrics":{"Cross Sentence":"Yes","NER Micro F1":"90.3","RE Micro F1":"66.1","RE+ Micro F1":"62.2"},"uses_additional_data":false},{"leaderboard":"/sota/relation-extraction-on-ace-2005","task":"Relation Extraction","dataset":"ACE 2005","model":"Ours: cross-sentence ALB","rank_in_archive_order":5,"of":30,"metrics":{"Cross Sentence":"Yes","NER Micro F1":"90.9","RE Micro F1":"69.4","Sentence Encoder":"ALBERT"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2010.12812","atlas_url":"https://app.syntology.ai/?focus=2010.12812","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2010.12812"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/princeton-nlp/PURE","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/YaoXinZhi/BERT-for-BioNLP-OST2019-AGAC-Task2","reach":{"status":"ok"}}],"summary":{"ran_fixture":1,"ran_draft_wrong":1,"ran_honours":1,"unverified":1},"by_repo_kind":{"official":{"samples":3,"ran":3,"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":1,"samples":[{"code_sha256_prefix":"f39c75c8e38877a5","entry":"compute_f1","repo":"princeton-nlp/PURE","repo_kind":"official","path":"run_relation.py","file_url":"https://github.com/princeton-nlp/PURE/blob/HEAD/run_relation.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f39c75c8e38877a5"}},{"code_sha256_prefix":"b4727e3523efb30b","entry":"convert_examples_to_features","repo":"princeton-nlp/PURE","repo_kind":"official","path":"run_relation.py","file_url":"https://github.com/princeton-nlp/PURE/blob/HEAD/run_relation.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b4727e3523efb30b"}},{"code_sha256_prefix":"136782e0f93a2faa","entry":"evaluate","repo":"princeton-nlp/PURE","repo_kind":"official","path":"run_entity.py","file_url":"https://github.com/princeton-nlp/PURE/blob/HEAD/run_entity.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"136782e0f93a2faa"}},{"code_sha256_prefix":"3c241ecfe3749a6d","entry":"simple_accuracy","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"3c241ecfe3749a6d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}