1. A computer-implemented method for providing content to a user via a user interface, comprising: analyzing content which is displayed on the user interface; based on the analyzing, identifying a set of candidates elements which are related to the content, the identifying comprises performing a search by providing multiple search calls to a search engine, the multiple search calls include an original call, and variations to the original call which expand a diversity of the set of candidate elements; determining a first set of scores which represent similarities between the content and each of the candidate elements of the set; based on the first set of scores and appropriate thresholds, identifying a subset of candidate elements of the set which are sufficiently similar, but not too similar, to the content, and removing candidate elements of the set which are too similar to the content; determining a second set of scores which represent similarities between the candidate elements of the subset; grouping the candidate elements of the subset in groups based on the second set of scores and a group-wise similarity threshold, the candidate elements in each group are determined to be similar to one another based on the second set of scores and the group-wise similarity threshold; selecting a representative candidate element from each group; and displaying representations of the representative candidate elements on the user interface.