This reminds me of the very cool research of Chris Harrison, a professor at Carnegie Mellon. Lots of interesting work thinking about different ways to interact with computers. http://www.chrisharrison.net/index.php/Research/Welcome
Some fairly widely-used techniques include LSI, LDA, and word2vec or doc2vec. There a lot of different techniques out there! I'm one of the creators of Tagger News, and we used LDA with python's Gensim package. Here's a good tutorial: https://radimrehurek.com/gensim/tut2.html
The idea of putting the column names into the namespace is very interesting, and blaze looks pretty promising overall as a way to connect to big data sources.