A computer-implemented method for selecting and 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; determining that at least a portion of the first input has a measure of importance that exceeds a threshold value; providing feedback to the user identifying the portion of the first input; 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 an 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 an 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; characterized in that: 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; determining that at least a portion of the first input has a measure of importance that exceeds a threshold value; providing feedback to the user identifying the portion of the first input; 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 an 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 an 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; characterized in that: 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.