Hi Sebastian and Sean 
Thanks for your help. 

I re-read the code again (debug seems to be very difficult for me to setup the 
environment) and find the line in SimilarityMatrixRowWrapperMapper,  i past it 
below with the comments: 
    /* remove self similarity */ 
    similarityMatrixRow.set(key.get(), Double.NaN); 
I think the meanning is to mark the similarity between Item X and Item X (the 
identical one) as NaN, but it doesn't exclude Item X from recommendation, then 
in AggregateAndRecommendReducer, it uses simColumn.times(prefValue) as part of 
the formula to calculate the preferences for all items that similar to Item i 
(it could be Item X or some other item), then return the top 10 (default) for a 
user. 
During this process, i cannot see any code to exclude an item which the user 
has already given preference from recommendation. 
Correct me if i miss something, thank you guys. 
Cheers Ramon
> Date: Thu, 20 Oct 2011 13:59:28 +0100
> Subject: Re: Recommend result contains item which user has already given 
> preference, is that correct?
> From: [email protected]
> To: [email protected]
> 
> Ah OK, figured as much. WangRamon does that answer your question
> and/or can you debug to see if this is happening, not happening for
> you in your use case?
> 
> On Thu, Oct 20, 2011 at 1:42 PM, Sebastian Schelter <[email protected]> wrote:
> > It's still included in SimilarityMatrixRowWrapperMapper. We also have a
> > unit test that checks whether a user is only recommended unknown items
> > which still works.
                                          

Reply via email to