{"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/ensemble-distillation-for-unsupervised","title":"Ensemble Distillation for Unsupervised Constituency Parsing","arxiv_id":"2310.01717","date":"2023-10-03","proceeding":null,"authors":["Behzad Shayegh","Yanshuai Cao","Xiaodan Zhu","Jackie C. K. Cheung","Lili Mou"],"abstract":"We investigate the unsupervised constituency parsing task, which organizes words and phrases of a sentence into a hierarchical structure without using linguistically annotated data. We observe that existing unsupervised parsers capture differing aspects of parsing structures, which can be leveraged to enhance unsupervised parsing performance. To this end, we propose a notion of \"tree averaging,\" based on which we further propose a novel ensemble method for unsupervised parsing. To improve inference efficiency, we further distill the ensemble knowledge into a student model; such an ensemble-then-distill process is an effective approach to mitigate the over-smoothing problem existing in common multi-teacher distilling methods. Experiments show that our method surpasses all previous approaches, consistently demonstrating its effectiveness and robustness across various runs, with different ensemble components, and under domain-shift conditions.","url_abs":"https://arxiv.org/abs/2310.01717v2","url_pdf":"https://arxiv.org/pdf/2310.01717v2.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":"ensemble-distillation-for-unsupervised","repo_url":"https://github.com/manga-uofa/ed4ucp","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[{"task_slug":"constituency-grammar-induction","task_name":"Constituency Grammar Induction"},{"task_slug":"constituency-parsing","task_name":"Constituency Parsing"},{"task_slug":"sentence","task_name":"Sentence"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/constituency-grammar-induction-on-ptb","task":"Constituency Grammar Induction","dataset":"PTB Diagnostic ECG Database","model":"Ensemble (Generative MBR)","rank_in_archive_order":1,"of":24,"metrics":{"Max F1 (WSJ)":"71.9","Mean F1 (WSJ)":"70.4"},"uses_additional_data":false},{"leaderboard":"/sota/constituency-grammar-induction-on-ptb","task":"Constituency Grammar Induction","dataset":"PTB Diagnostic ECG Database","model":"Ensemble (Selective MBR)","rank_in_archive_order":5,"of":24,"metrics":{"Mean F1 (WSJ)":"66.2"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2310.01717","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.01717"}},"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/manga-uofa/ed4ucp","reach":null}],"summary":{"ran":2,"ran_draft_wrong":8,"ran_fixture":4,"ran_honours":2,"unverified":6},"by_repo_kind":{"official":{"samples":22,"ran":16,"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":22,"samples":[{"code_sha256_prefix":"d6e1aa4c953f9558","entry":"Node","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.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":"d6e1aa4c953f9558"}},{"code_sha256_prefix":"a985842eb4760a57","entry":"Stack","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.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":"a985842eb4760a57"}},{"code_sha256_prefix":"22b36bfe9dedd4e5","entry":"add_words_to_str_tree","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"22b36bfe9dedd4e5"}},{"code_sha256_prefix":"6764b3121e89eef4","entry":"build_sub_tree","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6764b3121e89eef4"}},{"code_sha256_prefix":"4f7d2bf7bb64878d","entry":"cyk_variant","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4f7d2bf7bb64878d"}},{"code_sha256_prefix":"231a87f1f865e419","entry":"extract_words_from_str_tree","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"231a87f1f865e419"}},{"code_sha256_prefix":"3ea301f9efa5cada","entry":"filter_by_start","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3ea301f9efa5cada"}},{"code_sha256_prefix":"9dbfbe670c04af83","entry":"filter_includeds","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9dbfbe670c04af83"}},{"code_sha256_prefix":"ede8bd781f29b492","entry":"find_average_tree","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ede8bd781f29b492"}},{"code_sha256_prefix":"e72081d216073a83","entry":"find_median_tree","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e72081d216073a83"}},{"code_sha256_prefix":"a0ba9e2e3043c815","entry":"forest_to_tree","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a0ba9e2e3043c815"}},{"code_sha256_prefix":"1ec46ad3b50cbe0f","entry":"get_largest_span","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1ec46ad3b50cbe0f"}},{"code_sha256_prefix":"2a9af10330595f30","entry":"node2forest","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2a9af10330595f30"}},{"code_sha256_prefix":"e0bb2143d57caccf","entry":"same_span","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e0bb2143d57caccf"}},{"code_sha256_prefix":"6007dcb86b995d93","entry":"spans_except","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6007dcb86b995d93"}},{"code_sha256_prefix":"39e48f05c732688f","entry":"sum_span_scores","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"39e48f05c732688f"}},{"code_sha256_prefix":"abbe0a517c586d0b","entry":"Tree","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"abbe0a517c586d0b"}},{"code_sha256_prefix":"ca29ff79958717b6","entry":"ensemble","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ca29ff79958717b6"}},{"code_sha256_prefix":"b205273797568982","entry":"generate","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b205273797568982"}},{"code_sha256_prefix":"283d86ad8198dcd7","entry":"right_tree","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"283d86ad8198dcd7"}},{"code_sha256_prefix":"d6c04107f4203972","entry":"select","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d6c04107f4203972"}},{"code_sha256_prefix":"fc198a2940fed048","entry":"span_set_to_tree","repo":"manga-uofa/ed4ucp","repo_kind":"official","path":"library/ensemble.py","file_url":"https://github.com/manga-uofa/ed4ucp/blob/HEAD/library/ensemble.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fc198a2940fed048"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}