Next step: create a corpus, and feed into a CycleGAN with landscape paintings & photographs as the other, so you can turn a book into a landscape.
Final step: since CycleGAN goes both directions, you can decode an arbitrary landscape painting into a 'book' and use a language model to fill in all the words with the highest-probability word that fits.
It'd be interesting to see if persistent homology can be found in this representation (like it often can be found in phase-delay representations of time-series).
Final step: since CycleGAN goes both directions, you can decode an arbitrary landscape painting into a 'book' and use a language model to fill in all the words with the highest-probability word that fits.