{"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/self-improving-for-zero-shot-named-entity","title":"Self-Improving for Zero-Shot Named Entity Recognition with Large Language Models","arxiv_id":"2311.08921","date":"2023-11-15","proceeding":null,"authors":["Tingyu Xie","Qi Li","Yan Zhang","Zuozhu Liu","Hongwei Wang"],"abstract":"Exploring the application of powerful large language models (LLMs) on the named entity recognition (NER) task has drawn much attention recently. This work pushes the performance boundary of zero-shot NER with LLMs by proposing a training-free self-improving framework, which utilizes an unlabeled corpus to stimulate the self-learning ability of LLMs. First, we use the LLM to make predictions on the unlabeled corpus using self-consistency and obtain a self-annotated dataset. Second, we explore various strategies to select reliable annotations to form a reliable self-annotated dataset. Finally, for each test input, we retrieve demonstrations from the reliable self-annotated dataset and perform inference via in-context learning. Experiments on four benchmarks show substantial performance improvements achieved by our framework. Through comprehensive experimental analysis, we find that increasing the size of unlabeled corpus or iterations of self-improving does not guarantee further improvement, but the performance might be boosted via more advanced strategies for reliable annotation selection. Code and data are publicly available at https://github.com/Emma1066/Self-Improve-Zero-Shot-NER","url_abs":"https://arxiv.org/abs/2311.08921v3","url_pdf":"https://arxiv.org/pdf/2311.08921v3.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":"self-improving-for-zero-shot-named-entity","repo_url":"https://github.com/Emma1066/Self-Improve-Zero-Shot-NER","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"in-context-learning","task_name":"In-Context Learning"},{"task_slug":"cg","task_name":"NER"},{"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":"self-learning","task_name":"Self-Learning"},{"task_slug":"named-entity-recognition","task_name":"named-entity-recognition"}],"methods":[{"method_slug":"self-learning","method_name":"Self-Learning"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2311.08921","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2311.08921"}},"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/Emma1066/Self-Improve-Zero-Shot-NER","reach":{"status":"ok"}}],"summary":{"ran":6,"ran_draft_wrong":1},"by_repo_kind":{"official":{"samples":7,"ran":7,"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":7,"samples":[{"code_sha256_prefix":"293f0c23ae27d129","entry":"dict2json","repo":"Emma1066/Self-Improve-Zero-Shot-NER","repo_kind":"official","path":"code/utils.py","file_url":"https://github.com/Emma1066/Self-Improve-Zero-Shot-NER/blob/HEAD/code/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":"293f0c23ae27d129"}},{"code_sha256_prefix":"7f1d4c631a83cc9c","entry":"json2dict","repo":"Emma1066/Self-Improve-Zero-Shot-NER","repo_kind":"official","path":"code/utils.py","file_url":"https://github.com/Emma1066/Self-Improve-Zero-Shot-NER/blob/HEAD/code/utils.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7f1d4c631a83cc9c"}},{"code_sha256_prefix":"0e2912d3807cf9fa","entry":"load_data","repo":"Emma1066/Self-Improve-Zero-Shot-NER","repo_kind":"official","path":"code/utils.py","file_url":"https://github.com/Emma1066/Self-Improve-Zero-Shot-NER/blob/HEAD/code/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":"0e2912d3807cf9fa"}},{"code_sha256_prefix":"4b1fdbcdbfed77d6","entry":"remove_annotated_sample","repo":"Emma1066/Self-Improve-Zero-Shot-NER","repo_kind":"official","path":"code/self_consistent_annotation/GeneratePrompts.py","file_url":"https://github.com/Emma1066/Self-Improve-Zero-Shot-NER/blob/HEAD/code/self_consistent_annotation/GeneratePrompts.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":"4b1fdbcdbfed77d6"}},{"code_sha256_prefix":"28595443547a8cd2","entry":"response_2_prediction_of_list","repo":"Emma1066/Self-Improve-Zero-Shot-NER","repo_kind":"official","path":"code/utils_parse_answer.py","file_url":"https://github.com/Emma1066/Self-Improve-Zero-Shot-NER/blob/HEAD/code/utils_parse_answer.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":"28595443547a8cd2"}},{"code_sha256_prefix":"ba9475b25c038542","entry":"select_by_random","repo":"Emma1066/Self-Improve-Zero-Shot-NER","repo_kind":"official","path":"code/utils_conf_selection.py","file_url":"https://github.com/Emma1066/Self-Improve-Zero-Shot-NER/blob/HEAD/code/utils_conf_selection.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":"ba9475b25c038542"}},{"code_sha256_prefix":"7fcc99da2a2fb2dd","entry":"select_by_sample_threshold","repo":"Emma1066/Self-Improve-Zero-Shot-NER","repo_kind":"official","path":"code/utils_conf_selection.py","file_url":"https://github.com/Emma1066/Self-Improve-Zero-Shot-NER/blob/HEAD/code/utils_conf_selection.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":"7fcc99da2a2fb2dd"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}