Data Programming using Semi-Supervision and Subset Selection