Hey,
I have implemented a cross recommender based on the approach Ted Dunning 
proposed (cannot find the original post, but here is a follow up 
http://www.mail-archive.com/[email protected]/msg12983.html). 
Currently I am struggling with the last step of blending the initial 
recommendations. 

My current approach:
1. Compute a cooccurrence matrix for each useful combination of user-product 
interaction (e.g. which product views and purchased do appear in common …)
2. Perform initial recommendation based on each matrix and the required type of 
user vector (e.g. a user's history of views OR purchases) (like the item-based 
recommender implemented in Mahout)

In step 2, I adapted the AggregateAndRecommendReducer of Mahout, which 
normalizes vectors while building the sum of weighted similarities or in this 
case => cooccurrences. 

Now I end up with multiple recommendations for each product, but all of them 
are on a different scale. 
How can I convert them to have the same scale, in order to be able to weight 
them and build the linear combinations of initial recommendations as Ted 
proposed?
Would it make sense to normalize user vectors (before multiplying) as well? 

Otherwise views would have a much higher influence than purchases due to their 
plain characteristics (they just appear way more frequently). Or is this the 
reason for weighting purchases higher and views lower? If so, I think it's sort 
of inconvenient. Wouldn't it be much more favorable to get each type of 
interaction within the same scale and use the weights just to control each 
types influence on the final recommendation?

Thanks in advance for any suggestions!



Regards
Dominik

Sent from my iPhone

Reply via email to