1. A method for providing product recommendations, comprising: identifying context items as a product page is navigated, using a processor; selecting a similarities dataset from a plurality of similarities datasets as a source of recommendations based on the context items, the plurality of similarities datasets having products with a relationship to a product on the product page based on customer actions and each of the plurality of similarities datasets being derived from an independent source, wherein the similarities dataset is selected using a machine learning model that yields patterns representative of an underlying mechanism based on the context items as input for the machine learning model, and wherein the plurality of similarities datasets are prepared for the product page, and the machine learning model selects the similarities dataset based on a fallback strategy where one of the plurality of similarity datasets is a new similarities dataset, wherein the fallback strategy is learned by the machine learning model using logged data regarding the plurality of similarities datasets used for past recommendations; logging the similarities dataset selected by the machine learning model for use in making future recommendations; generating product recommendation candidates from the similarities dataset selected based on the context items; ranking the product recommendation candidates based on the context items, using the processor; and providing product recommendations for display based on the ranking of the product recommendation candidates.