  Bipartite networks are currently regarded as providing a major insight into
the organization of many real-world systems, unveiling the mechanisms driving
the interactions occurring between distinct groups of nodes. One of the most
important issues encountered when modeling bipartite networks is devising a way
to obtain a (monopartite) projection on the layer of interest, which preserves
as much as possible the information encoded into the original bipartite
structure. In the present paper we propose an algorithm to obtain
statistically-validated projections of bipartite networks, according to which
any two nodes sharing a statistically-significant number of neighbors are
linked. Since assessing the statistical significance of nodes similarity
requires a proper statistical benchmark, here we consider a set of four null
models, defined within the exponential random graph framework. Our algorithm
outputs a matrix of link-specific p-values, from which a validated projection
is straightforwardly obtainable, upon running a multiple hypothesis testing
procedure. Finally, we test our method on an economic network (i.e. the
countries-products World Trade Web representation) and a social network (i.e.
MovieLens, collecting the users' ratings of a list of movies). In both cases
non-trivial communities are detected: while projecting the World Trade Web on
the countries layer reveals modules of similarly-industrialized nations,
projecting it on the products layer allows communities characterized by an
increasing level of complexity to be detected; in the second case, projecting
MovieLens on the films layer allows clusters of movies whose affinity cannot be
fully accounted for by genre similarity to be individuated.
