1 Introduction
1.1 Central hypothesis
1.2 Three main semi-supervised learning families
1.3 Compatibility
1.4 Paper structure
2 Self-Training
2.1 Semi-supervised framework and notations
2.2 Self-training: the idea
2.3 Pseudo-labeling strategies
2.4 Self-training with two classifiers
2.5 Self-training under Domain Shift
2.6 Theoretical studies
3 Related and Unrelated Approaches
3.1 Transductive learning
3.2 Consistency-based approaches
3.3 Self-supervised learning
3.4 Reinforced self-training
4 Applications
4.1 Natural Language Processing
4.2 Computer Vision
4.3 Knowledge-driven applications
5 Conclusion and Perspectives