3 ms·
Even with perfect NLP, natural language is a poor interface for performing most of the tasks we want to do. The absolute best case for a natural language interf
by enkiv2 10y ago
Even with perfect NLP, natural language is a poor interface for performing most of the tasks we want to do. The absolute best case for a natural language interface is to start off like trying to explain how to use a computer to your grandparents and end up evolving into something like a command line interface (only totally unstandardized).
Natural language interfaces are flashy and they have a shallow learning curve, but their upper limit on utility is extremely low. Current implementations don't evolve in the course of conversations with users, but in order to be even minimally useful for long-term intensive use, they would need to be able to learn words from non-technical users (who would essentially be creating macros by explaining what things mean) and learn aliases and priority patterns from context. Ultimately, we're talking about a programming language here, and this isn't a coincidence: if you want to be specific with another (human) programmer, you speak in a kind of creole formed of a combination of code, english, and extremely specific technical definitions of terms that bear many other meanings in other contexts. Adding strong AI will just bring this machine up to the level of a human programmer, and we've all had the experience of failing to explain something to a human programmer.
For users who have to perform a bunch of simple tasks frequently, a minimally flexible language composed of a bunch of very short aliases is desirable. For users who are unfamiliar with computers, natural language makes sense for onboarding, but making smalltalk with an AI as though you were chatting with a stranger has no benefits over actually chatting with a stranger, so who will continue to do it when they could spend a fraction of the time reading a manual in order to learn specific commands? And, long term users with complex work to do will always want something as flexible and unambiguous as a programming language, without the boilerplate and ego-stroking we find in natural language.