1. Introduction
2. Categorization of QA System
2.1. Categorization Based on Type of Question
2.2. Categorization Based on Answer Type
2.3. Categorization Based on Evidence or Answer Source
2.4. Categorization Based on Modeling Approach
3. Neoteric Challenges of QA Field
3.1. Semantic Related Challenges
3.2. Discourse Related Challenges
3.3. Automatic Question Generation
3.4. Question Similarity Detection
3.5. Challenges Related to Low Resource Languages
4. Question Answering Popular Datasets
4.1. Machine Comprehensive Datasets
4.2. MCQ Datasets
5. Evaluation Metrics
6. Observations
7. Conclusion