Imagine a graph schema similar to this one:
Users are linked to products they bought. Recommending products for each user is therefore a link prediction problem where we try to predict the new link between users and products.
However, there is a fundamental difference between this kind of link prediction and the link prediction used in social networking. This difference comes from the graph's nature; in a social network, the graph is said to be monopartite, while the user-product graph is bipartite. The difference is illustrated in the following diagram:
In a bipartite graph, the graph is made up of two sets of nodes, N and M, and the edges necessarily connect a node N to a node M. In the previous graph schema showing users and products, relationships only connect users and products; we never see user-user or product-product relationships. This is what makes the graph bipartite – users on one side and products on the other side.
The techniques we...