  Extracting understanding from the growing ``sea'' of biological and
socio-economic data is one of the most pressing scientific challenges facing
us. Here, we introduce and validate an unsupervised method that is able to
accurately extract the hierarchical organization of complex biological, social,
and technological networks. We define an ensemble of hierarchically nested
random graphs, which we use to validate the method. We then apply our method to
real-world networks, including the air-transportation network, an electronic
circuit, an email exchange network, and metabolic networks. We find that our
method enables us to obtain an accurate multi-scale descriptions of a complex
system.
