Of course it's much better to keep your program small and your data sets huge than the other way around - we'd all do it if we could. But it ought to be a lot like keeping a 2^64-N look-up table to implement 32b integer multiplication; it's ultimately larger and costlier than figuring out how multiplication works, and you give wrong results for the N entries missing in your table.
Or something along those lines. (Of course natural languages are "scruffier"/not as "neat" as multiplication - but demonstrably not as scruffy as to be impossible to reasonably learn in any way except reading everything ever written and translated into another language.)