Skip to main content Accessibility help
  • Print publication year: 2016
  • Online publication date: July 2016

9 - Bipartite Graph Analysis



A bipartite graph (see, e.g., [9, 233, 432, 469, 810]), or shortly a bigraph, is a graph such that the node set may be partitioned into two disjoint sets, and each edge has one endpoint in the first set of nodes and the other in the second set of nodes (see Figure 9.1). In social sciences, such bipartite graphs are also called two-mode network data [804]. This type of network is very common and deserves special attention with specific techniques and models [101, 110, 482, 495].

The two sets of nodes will be called the left set (denoted as X or X-set) and the right set (denoted as Y or Y-set), respectively. We thus obviously have XY = ∅, XY = V, and each link between nodes i and j, ij ϵ ε, either has i ϵ X, j ϵ Y or i ϵ Y, j ϵ X. The number of nodes in the left set (right set) is n x = |X| (n y = |Y|).

Bipartite graphs naturally appear in applications involving two types of objects, or objects playing different roles. Such applications include, among others, collaborative recommendation, reputation models, items rating, information retrieval, and matching problems. In the context of collaborative recommendation, the left set contains consumers while the second set contains items that were purchased by the consumers. In that situation, there is a link between a consumer i (left set) and an item j (right set) if and only if the consumer i purchased the item j. The weight of the link can be set, for example, to the number of times consumer i bought item j. In information retrieval, the left set contains documents while the right set contains words (the well-known document-term matrix). Each link is weighted, for example, by the number of times the term is contained in the document.

In many situations, bipartite graphs are related to the analysis of contingency tables [11, 92, 101], also called frequency tables or co-occurrence data. Indeed, in the case of an undirected weighted bipartite graph, if the weights can be interpreted as a number, or magnitude, of interactions between a node of the left set and a node of the right set, the data can also be viewed as a contingency table.