Language serves many functions, but in particular:
1) Language as communication: language is used to transfer mental models (or generally, information) from one mind to another. Requires multiple agents, theory of mind, and having something to talk about (grounding).
2) Language as affordance: language is used by people to achieve some immediate effect on their surroundings, just like any other motor action. Requires an environment, as well as goals, intentionality.
3) Language as operating system for thinking: even in the absence of other agents or an environment to effect, people use language to crystalize & structure their thoughts. Perhaps the most interesting function of language. Requires a way of generating pre-language "thoughts".
There are a few more as well.
I think a system can be said to be capable of "language understanding" if it can use language to perform at least one of these functions, preferably all three. Naturally, all of these require strong forms of external grounding.
You can follow @fchollet.
Tip: mention @threader_app on a Twitter thread with the keyword “compile” to get a link to it.
Enjoy Threader? Sign up.
Threader is an independent project created by only two developers. The site gets 500,000+ visits a month and our iOS Twitter client was featured as an App of the Day by Apple. Running this space is expensive and time consuming. If you find Threader useful, please consider supporting us to make it a sustainable project.