A computer-implemented method of transmitting media units or media unit identifiers for presentation of media units to a user on a user device, the method comprising transmitting a set of media units or respective media unit identifiers for presentation of the media units to the user, each media unit being associated with a respective feature set defining a set of attribute values for respective attributes, wherein one or more of the attribute values are derived from neural activations of a hidden layer of an artificial neural network presented with an image associated with the media unit; and repeatedly: receiving a user input made by the user when presented with media units of the set of media units; updating an intent probability distribution over the attribute values of the set of attribute values using the user input; selecting a next set of media units using the updated intent probability distribution; and transmitting the media units of the next set or respective media unit identifiers for presentation of the media units to the user, wherein selecting the next set of media units comprises: for each attribute, computing a distance between the set of attribute values of one of the one or more user-selected media unit and respective sets of attribute values for a plurality of media units; computing a weighted combination of the distances for at least some of the attributes, wherein each distance is weighted by a respective attribute weight and the attribute weights are computed using the intent probability distribution; and using the weighted combination of the distances to select the next set of media units, or wherein selecting the next set of media units comprises: selecting a media unit of the next set of media units based on similarity of the media unit to a sampled set of attribute values sampled from the intent probability distribution. receiving a user input made by the user when presented with media units of the set of media units; updating an intent probability distribution over the attribute values of the set of attribute values using the user input; selecting a next set of media units using the updated intent probability distribution; and transmitting the media units of the next set or respective media unit identifiers for presentation of the media units to the user, wherein selecting the next set of media units comprises: for each attribute, computing a distance between the set of attribute values of one of the one or more user-selected media unit and respective sets of attribute values for a plurality of media units; computing a weighted combination of the distances for at least some of the attributes, wherein each distance is weighted by a respective attribute weight and the attribute weights are computed using the intent probability distribution; and using the weighted combination of the distances to select the next set of media units, or for each attribute, computing a distance between the set of attribute values of one of the one or more user-selected media unit and respective sets of attribute values for a plurality of media units; computing a weighted combination of the distances for at least some of the attributes, wherein each distance is weighted by a respective attribute weight and the attribute weights are computed using the intent probability distribution; and using the weighted combination of the distances to select the next set of media units, or wherein selecting the next set of media units comprises: selecting a media unit of the next set of media units based on similarity of the media unit to a sampled set of attribute values sampled from the intent probability distribution. <EOS>