About fact-checking. I think this feature contains two big parts: 1) extract a fact from the text 2) to check a fact
For 1s task on the basic level and numeric data, it seems not so difficult with NLP (just tried to create a tree and it looks pretty simple: https://nbviewer.jupyter.org/github/SerafimPikalov/Sandbox/b...)
For 2nd task probably needs to create some kind of "fact-tree" (something like Word population>USA population>target audience for service potential audience...)