A computer-implemented method for presenting content items based on user input, the method comprising: providing access to a set of content items, the content items being associated with metadata that describes a corresponding one of the content items; receiving a first input intended by the user to identify at least one desired content item; receiving second input (403, 405) from the user that is subsequent to the first input; inferring whether the user intended to alter the first input with the second input or supplement the first input with the second input; upon a condition in which it is inferred that the user intended to alter the first input with the second input, determining alternative query input by modifying the first input based on the second input; upon a condition in which it is inferred that the user intended to supplement the first input with the second input, determining alternative query input by combining the first input and the second input; selecting a subset of content items from the set of content items based on comparing the alternative query input and the metadata associated with the content items in the subset of content items; and presenting the subset of content items to the user; wherein: the inferring whether the user intended to alter the first input with the second input or supplement the first input with the second input includes: determining a measure of similarity between the first input and the second input; upon a condition that the similarity measure is above a threshold, inferring that the user intended to alter the first input; and upon a condition that the similarity measure is below a threshold, inferring that the user intended to supplement the first input. providing access to a set of content items, the content items being associated with metadata that describes a corresponding one of the content items; receiving a first input intended by the user to identify at least one desired content item; receiving second input (403, 405) from the user that is subsequent to the first input; inferring whether the user intended to alter the first input with the second input or supplement the first input with the second input; upon a condition in which it is inferred that the user intended to alter the first input with the second input, determining alternative query input by modifying the first input based on the second input; upon a condition in which it is inferred that the user intended to supplement the first input with the second input, determining alternative query input by combining the first input and the second input; selecting a subset of content items from the set of content items based on comparing the alternative query input and the metadata associated with the content items in the subset of content items; and presenting the subset of content items to the user; wherein: the inferring whether the user intended to alter the first input with the second input or supplement the first input with the second input includes: determining a measure of similarity between the first input and the second input; upon a condition that the similarity measure is above a threshold, inferring that the user intended to alter the first input; and upon a condition that the similarity measure is below a threshold, inferring that the user intended to supplement the first input. determining a measure of similarity between the first input and the second input; upon a condition that the similarity measure is above a threshold, inferring that the user intended to alter the first input; and upon a condition that the similarity measure is below a threshold, inferring that the user intended to supplement the first input.