Last month, we were working on a feature for one of our projects. The requirement was to build a natural-language interface that would allow users to query a fairly large MySQL dataset without having to know anything about the underlying database structure. The idea was simple enough. A user asks a question in plain English, the application understands what information they're looking for, and the corresponding records or analytics are returned. Now, as most crash courses and quick develop...