Speaking with no principles in hand at all, I find that it is possible to encode multiple item similarity matrices together in a SolR instance and then do very nice coordinated recommendations from multiple sources of information.
Abusing a text retrieval engine this way has only vague basis in theory, but it can be particularly nice from a practical point of view. On Thu, Nov 1, 2012 at 10:41 AM, Sean Owen <[email protected]> wrote: > There is not a very direct way to do this in Mahout, but, you can piece > together a solution that reuses a lot of what Mahout has. > > It sounds like you should look at this as an item-item similarity-based > recommender to start. You have two sources of similarity. First is based on > interactions (no ratings); for this, you can use LogLikelihoodSimilarity > and an existing DataModel. This much is straightforward. > > You can also make an ItemSimilarity based on item properties. There is no > pre-packaged solution for this. You can make up a similarity metric, or > export some similarities based on, say, descriptions, maybe from Solr yes. > > Then you can combine them. There's no great principled answer. You could > make an ItemSimilarity that just returns the product of these two > similarity measures (assuming they are both >= 0). > > And then the rest is a matter of using GenericItemBasedRecommender with > your hybrid ItemSimilarity. > > This isn't a distributed solution but is a good start. > > Sean > > > On Thu, Nov 1, 2012 at 5:33 PM, shubham srivastava <[email protected] > >wrote: > > > Hi, > > > > I am looking into designing implementing a recommendation engine with > the > > below use cases . There is no specific rating's etc given by user's as > such > > for items accessed. > > > > 1. Item's viewed by other user's who viewed this particular Item > > > > 2. Item's booked by other user's who viewed this particular Item > > > > 3. Most viewed item('s) viewed by other user's who viewed this particular > > Item > > > > The idea behind is the below : > > > > 1.I want to interpret user behavior where recommendation would be based > on > > the other user's patterns which falls into the bracket of CF(item based > > similarities or user based) . > > > > 2.I want to exploit item item similarity which is based on N number of > > attributes. The attributes can be say : price,location,features(1...n) as > > so on. > > > > The recommendation should be a mix of both of the above. > > > > A) For 1 given that I don't have an explicit rating my initial thought > was > > around interpreting ratings as based on what user does for a product eg > > > > If he only views it I give a 1 rating > > If he further sees the details I give 2 rating > > If he goes to the booking page I give him 3 rating > > If he books it I give him 4 rating etc > > > > And when I have the same I would go for a standard CF item-item > similarity > > implemented through Mahout > > > > B) For 2. I was looking into our search framework(Solr) to give the same > > i.e Solr's MoreLikeThis feature. Also carrot also seems to make it better > > but I don't how much would that be scalable etc. > > > > Idea is to get an intersection if A and B to get started with. Also I > need > > to figure out the processing and latency part of getting the results as > > well. > > > > I guess the group user's must have solved a similar problem more > > efficiently and could advise better. > > > > Please let me know the same. > > > > Regards, > > Shubham > > >
