A Unified Framework for Heterogeneous Semi-supervised Learning