Contra to "jpc", I think practical systems do exists, although they probably aren't even available as software for purchase, but only as a service. Quoting from an EDN article "IC reverse engineering—a design team perspective":
The ICWorks tool automatically extracts a netlist from the annotations, and from this netlist creates a flat schematic. The schematic, netlist, and annotations are all associated with each other, so one alone cannot be changed. The netlist and schematic can be checked for other simple rule violations, including floating gates, shorted outputs, nets with no inputs or outputs, and shorted supplies.
Schematic organization on a page, or in hierarchy, is essential to making a design coherent. The analysis phase is very iterative and uses many sources of information, including public information such as marketing materials, data sheets, technical papers, or patents. These often help with the schematic organization (for instance, if block diagrams are available) and in understanding architectures and circuit designs.
It looks like a semi-automated process using that (non-public) software. They actually make available a piece of software called ICWorks Browser, but this is not their actual analysis software, but only used to view the results of their analyses (which they sell as a service).
I'm pretty sure that big companies have their own in-house software equivalents of the above analysis (not just Browser) software, but don't expect them to give it away or even mention it publicly...
EDIT: Also, I found a rather obscure product called "E-studio For Test" by Elgris Technologies, which claims to have a "Schematic Generator: Given an input PCB or IC netlist, the tool can generate a schematic from it." How well organized (as in comprehensible to a human) is the generated schematic is anybody's guess since I can't find any reviews for this product; they do offer a 15-day evaluation license, but you have to send them your MAC and IP addresses... and it only works up to Windows XP according to its page, so I think that qualifies it as fairly obsolete or even defunct as of 2014. There are probably other products with this functionality, although I found none free.
EDIT: Never say never... there's an alpha-quality open-source project, http://sourceforge.net/projects/netlistviewer/. It works with its own examples well enough, although when you open a netlist it dumps every component on the same line (visually). You have to drag components around a lot... and that's basically all this version 0.1 will let you do. The connections between components are single straight lines and there's no way to make them anything but autoroute. It would still be usable for me even like that if it actually worked with the common macromodel sub-circuits, such as NE5532, but loading that one throws up a parsing error... So I guess it needs more work.