19. A system for determining whether a first product is an alternative of a second product, the system comprising: a processor, computer-readable memory, and a non-transitory computer-readable storage device; first program instructions for analyzing information regarding a plurality of queries to identify a plurality of product-query pairs, each product-query pair comprising a query and a product that was previously selected from results for the query; second program instructions for determining, for each product-query pair, a number of times that the product was selected from results for the query; third program instructions for determining, for each product-query pair, whether the query of the product-query pair is associated with the product of the product-query pair based on the number of times that the product was selected from results for the query; fourth program instructions for analyzing the information regarding the plurality of queries to identify comparison queries directed to a comparison between two or more of a plurality of products; fifth program instructions for determining a first value by multiplying a ratio between a number of times that a first product (a) was selected from results for a query (x) by a ratio between a number of times that a second product (b) was selected from results for a query (y); sixth program instructions for determining a second value by multiplying the first value by a number of times that a comparison query comprising the query (x) and the query (y) was received; seventh program instructions for determining an association weight by summing the second value over all queries (x) and all queries (y); eighth program instructions for determining whether the association weight meets or exceeds a threshold; and ninth program instructions for, in response to the association weight meeting or exceeding the threshold, determining that the first product is an alternative to the second product; wherein the program instructions are stored on the non-transitory computer-readable storage device for execution by the processor via the computer-readable memory.
20. The system of claim 19 , wherein the comparison query comprises a comparison term disposed between the first query term and the second query term.