SPEAR : Semi-supervised Data Programming in Python

Guttu Sai Abhishek,Harshad Ingole,Parth Laturia,Vineeth Dorna,Ayush Maheshwari,Rishabh Iyer,Ganesh Ramakrishnan
DOI: https://doi.org/10.48550/arXiv.2108.00373
2022-10-06
Abstract:We present SPEAR, an open-source python library for data programming with semi supervision. The package implements several recent data programming approaches including facility to programmatically label and build training data. SPEAR facilitates weak supervision in the form of heuristics (or rules) and association of noisy labels to the training dataset. These noisy labels are aggregated to assign labels to the unlabeled data for downstream tasks. We have implemented several label aggregation approaches that aggregate the noisy labels and then train using the noisily labeled set in a cascaded manner. Our implementation also includes other approaches that jointly aggregate and train the model for text classification tasks. Thus, in our python package, we integrate several cascade and joint data-programming approaches while also providing the facility of data programming by letting the user define labeling functions or rules. The code and tutorial notebooks are available at <a class="link-external link-https" href="https://github.com/decile-team/spear" rel="external noopener nofollow">this https URL</a>. Further, extensive documentation can be found at <a class="link-external link-https" href="https://spear-decile.readthedocs.io/" rel="external noopener nofollow">this https URL</a>. Video tutorials demonstrating the usage of our package are available here. We also present some real-world use cases of SPEAR.
Machine Learning
What problem does this paper attempt to address?