{"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-named-entity-recognition-by","title":"Improving Named Entity Recognition by External Context Retrieving and Cooperative Learning","arxiv_id":"2105.03654","date":"2021-05-08","proceeding":"ACL 2021 5","authors":["Xinyu Wang","Yong Jiang","Nguyen Bach","Tao Wang","Zhongqiang Huang","Fei Huang","Kewei Tu"],"abstract":"Recent advances in Named Entity Recognition (NER) show that document-level contexts can significantly improve model performance. In many application scenarios, however, such contexts are not available. In this paper, we propose to find external contexts of a sentence by retrieving and selecting a set of semantically relevant texts through a search engine, with the original sentence as the query. We find empirically that the contextual representations computed on the retrieval-based input view, constructed through the concatenation of a sentence and its external contexts, can achieve significantly improved performance compared to the original input view based only on the sentence. Furthermore, we can improve the model performance of both input views by Cooperative Learning, a training method that encourages the two input views to produce similar contextual representations or output label distributions. Experiments show that our approach can achieve new state-of-the-art performance on 8 NER data sets across 5 domains.","url_abs":"https://arxiv.org/abs/2105.03654v3","url_pdf":"https://arxiv.org/pdf/2105.03654v3.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-named-entity-recognition-by","repo_url":"https://github.com/modelscope/adaseq","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"improving-named-entity-recognition-by","repo_url":"https://github.com/modelscope/AdaSeq/tree/master/examples/RaNER","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"improving-named-entity-recognition-by","repo_url":"https://github.com/Alibaba-NLP/CLNER","is_official":0,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"chinese-named-entity-recognition","task_name":"Chinese Named Entity Recognition"},{"task_slug":"chunking","task_name":"Chunking"},{"task_slug":"named-entity-recognition-1","task_name":"Named Entity Recognition"},{"task_slug":"named-entity-recognition-ner","task_name":"Named Entity Recognition (NER)"},{"task_slug":"retrieval","task_name":"Retrieval"},{"task_slug":"sentence","task_name":"Sentence"}],"methods":[{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"attention-dropout","method_name":"Attention Dropout"},{"method_slug":"bert","method_name":"BERT"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"linear-warmup-with-linear-decay","method_name":"Linear Warmup With Linear Decay"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"weight-decay","method_name":"Weight Decay"},{"method_slug":"wordpiece","method_name":"WordPiece"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/chinese-named-entity-recognition-on-msra","task":"Chinese Named Entity Recognition","dataset":"MSRA","model":"BERT-CRF (Replicated in AdaSeq)","rank_in_archive_order":2,"of":21,"metrics":{"F1":"96.69"},"uses_additional_data":true},{"leaderboard":"/sota/chinese-named-entity-recognition-on-resume","task":"Chinese Named Entity Recognition","dataset":"Resume NER","model":"BERT-CRF (Replicated in AdaSeq)","rank_in_archive_order":1,"of":13,"metrics":{"F1":"96.87"},"uses_additional_data":false},{"leaderboard":"/sota/chinese-named-entity-recognition-on-weibo-ner","task":"Chinese Named Entity Recognition","dataset":"Weibo NER","model":"BERT-CRF (Replicated in AdaSeq)","rank_in_archive_order":1,"of":18,"metrics":{"F1":"72.77"},"uses_additional_data":false},{"leaderboard":"/sota/chunking-on-conll-2000","task":"Chunking","dataset":"CoNLL 2000","model":"BERT-CRF (Replicated in AdaSeq)","rank_in_archive_order":2,"of":9,"metrics":{"Exact Span F1":"97.18"},"uses_additional_data":false},{"leaderboard":"/sota/named-entity-recognition-ner-on-bc5cdr","task":"Named Entity Recognition (NER)","dataset":"BC5CDR","model":"CL-L2","rank_in_archive_order":3,"of":16,"metrics":{"F1":"90.99"},"uses_additional_data":true},{"leaderboard":"/sota/named-entity-recognition-on-cmeee","task":"Named Entity Recognition (NER)","dataset":"CMeEE","model":"BERT-CRF (Replicated in AdaSeq)","rank_in_archive_order":1,"of":2,"metrics":{"F1":"68.97"},"uses_additional_data":false},{"leaderboard":"/sota/named-entity-recognition-ner-on-conll-2003","task":"Named Entity Recognition (NER)","dataset":"CoNLL 2003 (English)","model":"CL-KL","rank_in_archive_order":8,"of":73,"metrics":{"F1":"93.85"},"uses_additional_data":false},{"leaderboard":"/sota/named-entity-recognition-ner-on-conll-2003","task":"Named Entity Recognition (NER)","dataset":"CoNLL 2003 (English)","model":"BERT-CRF (Replicated in AdaSeq)","rank_in_archive_order":25,"of":73,"metrics":{"F1":"93.35"},"uses_additional_data":false},{"leaderboard":"/sota/named-entity-recognition-on-conll","task":"Named Entity Recognition (NER)","dataset":"CoNLL++","model":"CL-KL","rank_in_archive_order":5,"of":11,"metrics":{"F1":"94.81"},"uses_additional_data":false},{"leaderboard":"/sota/named-entity-recognition-ner-on-ncbi-disease","task":"Named Entity Recognition (NER)","dataset":"NCBI-disease","model":"CL-KL","rank_in_archive_order":7,"of":26,"metrics":{"F1":"88.96"},"uses_additional_data":false},{"leaderboard":"/sota/named-entity-recognition-on-wnut-2016","task":"Named Entity Recognition (NER)","dataset":"WNUT 2016","model":"CL-KL","rank_in_archive_order":2,"of":7,"metrics":{"F1":"58.98"},"uses_additional_data":false},{"leaderboard":"/sota/named-entity-recognition-on-wnut-2017","task":"Named Entity Recognition (NER)","dataset":"WNUT 2017","model":"CL-KL","rank_in_archive_order":1,"of":23,"metrics":{"F1":"60.45"},"uses_additional_data":false},{"leaderboard":"/sota/named-entity-recognition-on-wnut-2017","task":"Named Entity Recognition (NER)","dataset":"WNUT 2017","model":"BERT-CRF (Replicated in AdaSeq)","rank_in_archive_order":3,"of":23,"metrics":{"F1":"59.69"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2105.03654","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2105.03654"}},"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/Alibaba-NLP/CLNER","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/modelscope/AdaSeq/tree/master/examples/RaNER","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/modelscope/adaseq","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":4},"by_repo_kind":{"official":{"samples":4,"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":"e17e0c84478d9fdf","entry":"bio2span","repo":"modelscope/AdaSeq","repo_kind":"official","path":"adaseq/models/utils.py","file_url":"https://github.com/modelscope/AdaSeq/blob/HEAD/adaseq/models/utils.py","link_basis":"harvester_set","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":"e17e0c84478d9fdf"}},{"code_sha256_prefix":"1c09f1b2a1673ff7","entry":"convert2span","repo":"modelscope/AdaSeq","repo_kind":"official","path":"adaseq/models/utils.py","file_url":"https://github.com/modelscope/AdaSeq/blob/HEAD/adaseq/models/utils.py","link_basis":"harvester_set","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":"1c09f1b2a1673ff7"}},{"code_sha256_prefix":"d1402dd2781d2ac7","entry":"fix_tag_sequence_error","repo":"modelscope/AdaSeq","repo_kind":"official","path":"adaseq/models/utils.py","file_url":"https://github.com/modelscope/AdaSeq/blob/HEAD/adaseq/models/utils.py","link_basis":"harvester_set","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":"d1402dd2781d2ac7"}},{"code_sha256_prefix":"1bab6e044bc7a5f1","entry":"get_member_set","repo":"modelscope/AdaSeq","repo_kind":"official","path":"adaseq/metainfo.py","file_url":"https://github.com/modelscope/AdaSeq/blob/HEAD/adaseq/metainfo.py","link_basis":"harvester_set","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":"1bab6e044bc7a5f1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}