1. A computer-implemented method of clustering recipes, the method comprising: receiving recipes, each recipe associated with a score; extracting a plurality of features from each of the recipes using a food knowledge graph; determining distances between a plurality of pairs of the recipes based on the plurality of features of each recipe and the food knowledge graph; clustering the recipes based on the distances between the pairs of recipes; identifying candidate clusters with a threshold number of clustered recipes, each cluster having a cluster score based on the scores of the recipes within the cluster; and selecting clusters for display from among the candidate clusters based on a first objective function that selects a diverse plurality of high-scoring clusters.