{"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/data-programming-using-semi-supervision-and","title":"Semi-Supervised Data Programming with Subset Selection","arxiv_id":"2008.09887","date":"2020-08-22","proceeding":"Findings (ACL) 2021 8","authors":["Ayush Maheshwari","Oishik Chatterjee","KrishnaTeja Killamsetty","Ganesh Ramakrishnan","Rishabh Iyer"],"abstract":"The paradigm of data programming, which uses weak supervision in the form of rules/labelling functions, and semi-supervised learning, which augments small amounts of labelled data with a large unlabelled dataset, have shown great promise in several text classification scenarios. In this work, we argue that by not using any labelled data, data programming based approaches can yield sub-optimal performances, particularly when the labelling functions are noisy. The first contribution of this work is an introduction of a framework, \\model which is a semi-supervised data programming paradigm that learns a \\emph{joint model} that effectively uses the rules/labelling functions along with semi-supervised loss functions on the feature space. Next, we also study \\modelss which additionally does subset selection on top of the joint semi-supervised data programming objective and \\emph{selects} a set of examples that can be used as the labelled set by \\model. The goal of \\modelss is to ensure that the labelled data can \\emph{complement} the labelling functions, thereby benefiting from both data-programming as well as appropriately selected data for human labelling. We demonstrate that by effectively combining semi-supervision, data-programming, and subset selection paradigms, we significantly outperform the current state-of-the-art on seven publicly available datasets. \\footnote{The source code is available at \\url{https://github.com/ayushbits/Semi-Supervised-LFs-Subset-Selection}}","url_abs":"https://arxiv.org/abs/2008.09887v3","url_pdf":"https://arxiv.org/pdf/2008.09887v3.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":"data-programming-using-semi-supervision-and","repo_url":"https://github.com/ayushbits/Semi-Supervised-LFs-Subset-Selection","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"text-classification","task_name":"Text Classification"},{"task_slug":"text-classification-1","task_name":"text-classification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2008.09887","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2008.09887"}},"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/ayushbits/Semi-Supervised-LFs-Subset-Selection","reach":null}],"summary":{"ran_honours":1,"ran_draft_wrong":3},"by_repo_kind":{"official":{"samples":4,"ran":4,"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":4,"samples":[{"code_sha256_prefix":"cabb3ffe2555a362","entry":"get_timestamp","repo":"ayushbits/Semi-Supervised-LFs-Subset-Selection","repo_kind":"official","path":"utils_rec.py","file_url":"https://github.com/ayushbits/Semi-Supervised-LFs-Subset-Selection/blob/HEAD/utils_rec.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":"cabb3ffe2555a362"}},{"code_sha256_prefix":"dde77c5b9980ebb3","entry":"load_data","repo":"ayushbits/Semi-Supervised-LFs-Subset-Selection","repo_kind":"official","path":"utils_rec.py","file_url":"https://github.com/ayushbits/Semi-Supervised-LFs-Subset-Selection/blob/HEAD/utils_rec.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":"dde77c5b9980ebb3"}},{"code_sha256_prefix":"37ace80c3dfd61d0","entry":"process_books_data","repo":"ayushbits/Semi-Supervised-LFs-Subset-Selection","repo_kind":"official","path":"utils_rec.py","file_url":"https://github.com/ayushbits/Semi-Supervised-LFs-Subset-Selection/blob/HEAD/utils_rec.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":"37ace80c3dfd61d0"}},{"code_sha256_prefix":"2cddc9768ef9402a","entry":"to_var","repo":"ayushbits/Semi-Supervised-LFs-Subset-Selection","repo_kind":"official","path":"model.py","file_url":"https://github.com/ayushbits/Semi-Supervised-LFs-Subset-Selection/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2cddc9768ef9402a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}