Reliable Natural Language Interfaces To Heterogeneous Structured Data