Sebastian is right that in this case, you might well model these as
preferences with low value. It's reasonable, but, I also agree that
somehow an 'ignored' recommendation does not necessarily mean the same
as a low preference. There are some situations where you might want to
exclude items from recommendation for many reasons (e.g. it's
currently out of stock).

This is what the Rescorer does in the non-distributed code. There is
not yet any counterpart in the distributed code.

It would be fairly simple. You just need a job to modify the estimated
preference vector after recommendation, in whatever way you want. Here
you just clear the entries in the vector for anything you don't want
recommended. Any other transformation is possible.

This is how such a function like this ought to look in Mahout, I think
-- some kind of RescorerMapper / RescorerReducer. If you can make a
patch along those lines, I'm sure we could integrate it.

Sean

On Mon, Aug 23, 2010 at 3:28 PM, han henry <[email protected]> wrote:
> Hi,Sebastian
>
> Actually we has three types feedback types:
>
> 1) user more likes the recommendation, we give a higher score and add a new
> preference,this preference is used to calculate similarity.
>
> 2) user less likes the recommendation, we give a lower score and add a new
> preference,this preference is used to calculate similarity.
>
> 3) user just want to remove this item,because we always get certain number
> recommendation,user want to get more new recommendation,he just need remove
> the item form list (he can bookmark this items for future viewing).
>
>    So we add a new preference,this preference  is not used to calculate
> similarity,but we can not recommend the preference again.
>
> My proposal is for the third feedback type. for first and second feedback
> type ,it just need add one preference.
>
> ---Henry Han
>
>
> 2010/8/23 Sebastian Schelter <[email protected]>
>
>> Hi,
>>
>> I think it is an interesting feature. But maybe it is not the best way
>> to exclude the item at the end of the recommendation process.
>>
>> Another way could be to just add a preference with a negative rating to
>> the input data whenever a user rejects an item. That way this would
>> provide more information about the user and the item would automatically
>> be excluded from the output of the RecommenderJob as the user has
>> already seen this item.
>>
>> The question is whether it's conceptually okay to add a negative
>> preference whenever the user rejects an item. Any thoughts on this?
>>
>> --sebastian
>>
>> Am 23.08.2010 15:57, schrieb han henry:
>> > Hi,All
>> >
>> > Sometimes user's dislikes some recommendation we generated ,he/she
>> > does not want to see the recommended items again.
>> >
>> > Here is a example from Amazon.com (see the attachment ).
>> >
>> > I have written one patch for it.the logic as following :
>> >
>> > 1) Dump user's non-interested items to HDFS, format like
>> > userId+"_"+item_id. before we run RecommenderJob
>> > 2) Load user's invalid data to HashMap when
>> > AggregateAndRecommendReducer setup
>> > 3) Skip user's non-interested items when choose TOP N recommendations
>> > for user.
>> >
>> > Does it make sense and can merge to the repository ?
>> >
>> >
>>
>>
>

Reply via email to