Semi-supervised machine learning is a technique that uses both labeled and unlabeled data for training. It begins by taking a large unlabeled dataset and labeling a small portion of it. Then it uses unsupervised learning to cluster the unlabeled data and supervised learning on the labeled data to classify the remaining unlabeled data. Some applications of semi-supervised learning include internet content classification, where it is not feasible to label all webpages, and audio/video analysis, where the volume of files makes complete labeling impossible.