Introduction To Semi-Supervised Learning by Xiaoxian Zhu & Andrew B. Goldberg