mahout-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sean Owen <>
Subject Re: Mix of Content Based and Collaborative Filtering
Date Thu, 01 Nov 2012 17:41:38 GMT
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.


On Thu, Nov 1, 2012 at 5:33 PM, shubham srivastava <>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

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message