1 Introduction  
2 Traditional Methods  
2.1 Retrieval-Based Methods  
2.2 Template-Based Methods  
3 Deep Learning Methods  
4 Datasets  
5 Evaluation  
6 Discussion & Future Research Directions  
7 Conclusion