The 70's called. Contextual Dependency could answer questions on children's stories back then
The trouble with this idea is that on the surface it sounds quite impressive.
But as others have noted while the answer is directly embedded in the text it really is a case of simple pattern matching.
Humans have some quite amazing abilities where language (both spoken and written) are concerned.
1)Learn a language without being taught a formal grammar, in the computer language sense of the term (or often the rules of grammar, which is a different thing). This is fortunate, given various attempts to write full grammars for human languages are f**king huge.
2) Parse without backup. This used to be thought impossible. Mitch Marcus, during the MIT "Personal Assistant" project (still waiting for one of these) demonstrated otherwise.
3) Parse with minimal lookahead. Marcus reckoned you needed 3 "phrases" but later work at Edinburgh found that 2 were sufficient (but a phrase is not just a single word).
4) Do it all without a complete dictionary of the language.
Which is fortunate, given it would be obsolete the day it was declared "complete."
Humans are really good at recognizing when something is a noun, verb or adverb, even if they've never seen that word before "I just drumped a can of lager off Jack" "Pass me the fribble, said Sarah" are legal sentences with (AFAIK) meaningless words in them, but you probably worked out "Drumped" is some kind of verb for some behavior (not quite sure what) and fribble is a noun for something (not quite sure what). So you know enough to reason about something you don't actually know anything about.
5) Relating new stuff to what they already know or have experienced. With this person relates new stuff to what they know, building out a web of what they need,and relating the new stuff to the old.
Note that property "enough." If you know someone only knows 1 person called John, you (probably) know who they are talking about. If you know they know N people called John (or Jon, or Johanne) you know you're going to have disambiguate and apply some context.
Likewise if you're a molecular biologist and someone gave a paper on plasmids you'd know what they're talking about, as would a plasma physicist. Except that they would be thinking about a different kind of plasmid, and vice versa. This is one of the reasons why any approach starting "We build a complete lexicon of the language" is likely to fail, as is something that does no spell checking/correcting (look at the number of short words where a single letter change changes the word, or the context of the sentence, completely).
Humans brains are multi layer neural nets, but they have the ability to restructure that net based on new input, not just to add another word, but another whole concept, that can provide leverage for all future sentences. Instead of (To be. Verb, Personal,Impersonal, Plural, Historical, Current, Future) it spaws a "Subnet, verb detecting" to find one, and a "Subnet, verb handling" to identify what it is and how to deal with it in terms of the persons view of the world (which I guess is what a verb "means")
I don't think any software efforts have tackled this, and until they do they are always going to be limited.
Note, despite all those 100s of 1000s of word dictionaries different systems have created or look through the fact is about 50% of all English text is made up of 300-350 words, most of them < 8 letters long. The "Semantic Primes" theory has identified 63 words (or concepts) that are universal across all known languages, and which every other word or concept can be expressed in (of course it's taken since 1972 to build that list, which is a bit long for the average AI research grant application).
Do you think, IDK, maybe figuring out how to leverage that fact, and those 300 odd words, could be quite a good idea?
$Deity, wading through all that ancient AI s**t is depressing as f**k. The endless philosophizing and psychobabble. Computational lingusticians are worse than economists for forming tribal groups.
I really do need to get a life.