I would think we could do much of this already if we tried, but there are a lot of things on my list to do until I get to that.
When there are no domain restrictions, computers have not proven very capable of comprehension. Look even at the comparatively simple domain of handwriting recognition.
More importantly, you entirely miss the problem that many times the human doesn't know exactly what he wants until he sees it.
As a software engineer, I have no fear my job will be replaced by computers talking to product managers.
Daily or weekly, feedback nice and quick
In a lecture about this topic (how to create specifications that can be turned into formal correct code) we were given the following simple example of an incorrect specification:
"Everybody loves my baby. But baby loves nobody, but me."
If you formalize this, you can simply conclude that the person that says that is equal to the baby - which clearly is not, what you intended.
And this is a very, very simple specification. Specifications of real software are magnitudes more complicated.