1 Introduction
2 Foundation: A Sample World
2.1 Database Ontology
2.2 Input Questions
2.3 Question Analysis
3 Background: Natural Language Processing Technologies
3.1 Stop Word
3.2 Synonymy
3.3 Tokenization
3.4 Part of Speech Tagging
3.5 Stemming / Lemmatization
3.6 Parsing
4 Limitations
5 Recently Developed NLIs
5.1 Keyword-based systems
5.2 Pattern-based systems
5.3 Parsing-based systems
5.4 Grammar-based systems
6 Evaluation
6.1 Evaluation of 24 recently developed NLIs
6.2 Evaluation of commercial systems
7 Machine Learning Approaches for NLIs
8 Conclusions