The document discusses data programming, which uses labeling functions created by domain experts to quickly generate large training datasets. It describes how labeling functions work independently to label examples, and a generative model is used to determine the accuracy of each function and estimate true labels. Dependencies between functions can also be modeled to improve accuracy. Experimental results show data programming outperforms other techniques in generating training data.