'... What if the command line interpreter gets smarter and understands concepts within your query. ...'
Been taking precisely that approach for some time thinking through and trying to create a CLI with recognition. The novel approach consisted (I've since stopped working on this particular problem) of an interface that interacted with some known commands, applications and data.
The more you type into the machine, the more it recognises certain things related information names, associated projects, that appointment you have for next week, the document due next week. The crux was realising that meaning could be attained from small SMS like messages. A message could consist of peoples names, times, predefined commands. Then trying to weave some sort of context within related messages.
The big problem is the contextual awareness. NLP is one way to go, but recognition without having to annoy the user with confirmation is difficult. Recognising language is a big ball of string. One promising approach is to add a Adventure like shell interface onto the front, pre-describe (or dynamically build) the space you can navigate. This means your using a human brain to augment the system offsetting having to use the brute force approach. Then integrate with back-end applications.
We're working on the problem too. The key is to have the machine understand context in the same way humans do, which means building a model of human conceptualization in the computer. We're putting a simple version of our conceptual hierarchy system in our StreamFocus product.
Once we launch StreamFocus and have the system streamlined, we'll get back to that HARD problem. We're pretty close to a solution though, and it involves making a new conceptual language as a subset of lisp. Pattern matching never works, you have to have the actual conceptual hierarchical structure as well as the links between concepts, etc. (We've been working on the underlying epistemology and programming for this since 1998.) We plan to launch a product that creates a conceptual index on top of a standard database, creating effectively a database with conceptual retrieval. The system is multi-lingual as we model the concepts in the same way humans do, independent of the language used to express the concepts.
Been taking precisely that approach for some time thinking through and trying to create a CLI with recognition. The novel approach consisted (I've since stopped working on this particular problem) of an interface that interacted with some known commands, applications and data.
The more you type into the machine, the more it recognises certain things related information names, associated projects, that appointment you have for next week, the document due next week. The crux was realising that meaning could be attained from small SMS like messages. A message could consist of peoples names, times, predefined commands. Then trying to weave some sort of context within related messages.
The big problem is the contextual awareness. NLP is one way to go, but recognition without having to annoy the user with confirmation is difficult. Recognising language is a big ball of string. One promising approach is to add a Adventure like shell interface onto the front, pre-describe (or dynamically build) the space you can navigate. This means your using a human brain to augment the system offsetting having to use the brute force approach. Then integrate with back-end applications.
Sounds good in theory but I agree it is HARD.