I’ve recently released The Knowledge Engine, an app with support for a ridiculous amount of languages.
The above link explains the process the engine goes through. But here’s the TL;DR:
The engine tries to abstract input (an unknown entity) into a finite set of ideas it knows about. It then proceeds to file these ideas into (sub)categories. For fun, it also queries the wikipedia API for the identified ideas.
Read more at the above link, or go to brain.turbo to start playing :-)