Patent Document ID: 9053208
Application ID: 13038409
Patent Flag: 1

Claim One:
1. A method comprising: receiving identifiers of a plurality of items by a computing device, wherein each item is associated with one or more attributes; receiving a query at the computing device; determining one or more specified attributes of the received query using a correlation of terms of a plurality of previously received queries and attributes associated with the items of the plurality of items by the computing device; determining one or more items from the plurality of items that are associated with attributes that include the determined one or more specified attributes by the computing device; determining one or more attributes associated with the determined one or more items that are not part of the determined one or more specified attributes as one or more unspecified attributes of the received query by the computing device; selecting a subset of the items from the plurality of items based on the one or more attributes associated with each item and the one or more specified attributes and unspecified attributes from the received query by the computing device by: for each item in the plurality of items, associating a cost with the item based on a distance between the attributes of the item that match the one or more specified attributes from the received query; for each pair of items of the plurality of items, associating a weight with the pair based on a distance between the attributes of the items of the pair of items that match the one or more unspecified attributes from the received query; and selecting the subset of items from the plurality of items using a function that minimizes a total cost of the costs associated with the items in the subset while maximizing a total weight of the weights associated with the pairs of items in the subset; and providing identifiers of the items in the subset of the items by the computing device.