This is already done, but probabilities are used to determine the best alternative.
So basically we ask
if p("which" | "Ding dong", "is dead") < p("witch" | "Ding dong", "is dead")
then print("witch")
Or basically, which of the alternatives have the highest probability given the context and we find a way to measure similar contexts.This generally doesn't give us an understanding of the text.
The main focus of my proposal is something different: a more intuitive «understanding» using neural networks and lexicons. This is somewhat orthogonal to speech recognition.
Then I suggested that this «understanding» could help make speech recognition more reliable by adjusting of some probabilities.
You see, I have an important insight as a Deaf person. Lipreading only offers a small part of what a person could understand by hearing. But I am often still able to understand what a person says by guessing and using the discourse context to fill in the blanks. I am sure that we all do that to some extent, or we wouldn't have homonyms in the language.
This insight tells me that perhaps a disrupting innovation would be a more natural «understanding» of text (in written form) with the help of neural networks and a lexicon.
For me an important use would be a tool to make speech recognition more reliable, for example to automatically subtitle Youtube videos with better accuracy.
Note that this is partly independent from speech recognition. Perhaps speech could be translated to a string of word alternatives with probabilities, and language understanding gives a hint which alternatives make more sense.
In other words, language understanding could help speech recognition.