Package: decile-spear
Semi-Supervised Data Programming for Data Efficient Machine LearningSPEAR is a library for data programming with semi-supervision. The package implements several recent data programming approaches including facility to programmatically label and build training data.PipelineDesign Labeling functions(LFs)generate pickle file containing labels by passing raw data to LFsUse one of the Label Aggregators(LA) to get final labelsSPEAR provides functionality such asdevelopment of LFs/rules/heuristics for quick labelingcompare against several data programming approachescompare against semi-supervised data programming approachesuse subset selection to make best use of the annotation effortsfacility to store and save data inpickle fileLabelling Functions (LFs)discrete LFs - Users can define LFs that return discrete labelscontinuous LFs - return continuous scores/confidence to the labels assignedApproaches ImplementedYou can readthis paperto know about below approachesOnly-LLearning to ReweightPosterior RegularizationImply LossCAGEJoint LearningData folder for SMS & TREC can be foundhere. This folder needs to be placed in the same directory as notebooks folder is in, to run the notebooks or examples.Direct download of the zip file can be done via wget usinggdownlibrary .pipinstallgdown
gdown1CJZ73nNa7Ho0BOSDgGx9CRvXoepVSpetInstallationInstall Submodlib librarypip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ submodlibMethod 1To install latest version of SPEAR package using PyPI:pipinstalldecile-spearMethod 2SPEAR requires Python 3.6 or later. First installsubmodlib. Then install SPEAR:gitclonehttps://github.com/decile-team/spear.gitcdspear
pipinstall-rrequirements/requirements.txtCitation@inproceedings{abhishek-etal-2022-spear,title="{SPEAR} : Semi-supervised Data Programming in Python",author="Abhishek, Guttu  andIngole, Harshad  andLaturia, Parth  andDorna, Vineeth  andMaheshwari, Ayush  andRamakrishnan, Ganesh  andIyer, Rishabh",booktitle="Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing: System Demonstrations",month=dec,year="2022",address="Abu Dhabi, UAE",publisher="Association for Computational Linguistics",url="https://aclanthology.org/2022.emnlp-demos.12",pages="121--127",}Quick LinksSPEAR tutorialsSPEAR documentationDemonstration of Cage and Joint Learning using SPEARDemonstration of Imply Loss, Learn2Reweight using SPEARSMS SPAM:CAGE colab,JL colabDECILE websiteSubModLib - Summarize massive datasets using submodular optimizationDISTIL- Deep Diversified Interactive LearningCORDS- COResets and Data Subset SelectionAcknowledgmentSPEAR takes inspiration, builds upon, and uses pieces of code from several open source codebases. These includeSnorkel,Snuba&Imply Loss. Also, SPEAR usesSUBMODLIBfor subset selection, which is provided byDECILEtoo.TeamSPEAR is created and maintained byAyush,Abhishek,Vineeth,Harshad,Parth,Pankaj,Rishabh Iyer, andGanesh Ramakrishnan. We look forward to have SPEAR more community driven. Please use it and contribute to it for your research, and feel free to use it for your commercial projects. We will add the major contributors here.Publications[1] Abhishek et al.SPEAR : Semi-supervised Data Programming in Python, Demonstration Paper.[2] Maheshwari et al.Learning to Robustly Aggregate Labeling Functions for Semi-supervised Data Programming, In Findings of ACL (Long Paper) 2022.[3] Maheshwari, Ayush, et al.Data Programming using Semi-Supervision and Subset Selection, In Findings of ACL (Long Paper) 2021.[4] Chatterjee, Oishik, Ganesh Ramakrishnan, and Sunita Sarawagi.Data Programming using Continuous and Quality-Guided Labeling Functions, In AAAI 2020.[5] Sahay, Atul, et al.Rule augmented unsupervised constituency parsing, In Findings of ACL (Short Paper) 2021.