Es cuestion de probabilidades, eso va almacenando las veces que le preguntan por X personaje, y cuantas mas veces le hayan preguntado, más probable será que le vuelvan a preguntar. Asimismo seguro que va almacenando las respuestas que haces a sus preguntas, y las almacena el numero de tipo de respuestas asociadas a cada personaje. De esa manera, por simple probabilidad, va acotando hasta encontrar el personaje en cuestion. Evidentemente no los encontrará todos, los que no estén en su base de datos no los tendrá, pero creo que los usuarios pueden subirlos.
Realmente, no es algo excesivamente complicado de programar, ahora eso si, la base de datos debe ser acojonante xD. Pero lo bueno, es que los propios internautas son los que la actualizan, o eso me parece, sino no lo veo viable meter tal cantidad de información xD.