1. A computer system comprising: at least one processor; and memory storing: a bipartite graph having a first set of nodes and a second set of nodes, nodes in the first set being connected to nodes in the second set by edges, and instructions that, when executed by the at least one processor, cause the system to: assign each node in the second set to one of a plurality of categories, for each of the plurality of categories: generate a subgraph, the subgraph comprised of a subset of nodes in the first set and edges linking the nodes in the subset, where the nodes in the subset are selected based on connection to a node in the second set that is assigned to the category, and store the subgraph in the memory.