How to Build Smart Data Labeling Systems for Machine Learning