mahout-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Schilling <>
Subject Re: Hybrid RecSys — ways to do it
Date Tue, 08 Feb 2011 22:24:54 GMT
Hey Ted,

Thanks for this reply.  I was thinking about some way of implementing the FWLS (feature weighted
linear stacking) algorithm on top of the CF stuff in Mahout.  I would like to try to use your
SGD algorithm to learn the weights.  I'll get to that eventually...

In the mean time, is the fix to the SGD ModelDissector available (either by patch or in the

Thanks again,

On Feb 7, 2011, at 6:27 PM, Ted Dunning wrote:

> See also here
> Another approach is to build a conventional recommender for items and attach
> an indicator of how much information that recommender has to work with
> (number of occurrences of the recommended item might be good enough).  Then
> do the same for some prominent characteristic of the items.  This might give
> you a "brand" recommender for retail products or an "artist" recommender for
> music.   For this more generic recommender, you might be able to directly
> use the counts from the user's history.  Finally, build "top-40" models for
> overall item, brand, artist or what have you characteristics.
> Now train a simple model to combine these results to find items that the
> user is likely to engage with.  SGD is an easy choice here.  At
> recommendation time, you would run all of the constituent recommenders and
> use the SGD model to rescore the union of their results.
> If done well, the brand and top-40 models will give you decent cold start
> behavior while the real collaborative filtering models will give you good
> performance after the cold-start.  The SGD should be able to meld these
> values well if it has a good indicator of how reliable each sub-model is.
> On Mon, Feb 7, 2011 at 4:11 PM, Steven Bourke <> wrote:
>> Check out. Do a
>> search
>> on google scholar and you might find  the pdf.
>> What type of data / recommendations are you trying to make? Standard
>> collaborative filtering techniques arent a bad thing.
>> On Tue, Feb 8, 2011 at 12:05 AM, Chris Schilling <>
>> wrote:
>>> I am interested in this problem as well (combining content similarity
>> with
>>> CF).
>>> I want to build a system which makes use of the CF part of Mahout:  I am
>>> recommending products to users.  Along with user ratings/preferences for
>>> products, I also have a content based similarity metric calculated for
>> each
>>> item-item pair.
>>> I do not have a lot of experience in producing "hybrid" recommendations.
>>> Do you generally think the most appropriate thing to do is to boost
>>> recommendations from CF?  Or do you like the 2nd method of using a custom
>>> item similarity to combine cf similarity with content similarity?  It
>> seems
>>> straight forward enough to try both, just trying to get a feel for how to
>>> approach this.
>>> Can you recommend any papers describing combination of content and CF?
>>> Thanks for your help!
>>> Chris S.
>>> On Feb 7, 2011, at 9:50 AM, Sebastian Schelter wrote:
>>>> Hi Alexandre,
>>>> I dont think there is "one golden way" but I can give you some hints
>>> where to start regarding itembased recommenders. I think there are three
>>> points where you could customize the behavior to enable "hybrid"
>>> recommendations:
>>>> * you can use a custom Rescorer to either filter the resulting
>>> recommended items (e.g. restrict the result to a certain type/category of
>>> items) or to boost some of them (e.g. by looking at their content)
>>>> * you can use a custom ItemSimilarity which could compute a blended
>> score
>>> by combining the usual similarity score with an additional contentbased
>>> similarity score
>>>> * as collaborative filtering usually suffers from the "cold-start
>>> problem" (you cannot make any assumptions about new users or items until
>>> you've seen some interactions), you could work around this by
>> implementing a
>>> custom CandidateItemsStrategy/MostSimilarItemsCandidateItemsStrategy that
>>> uses content properties to find items to recommend if the user or the
>> item
>>> is new
>>>> --sebastian
>>>> On 07.02.2011 16:56, Alexandre Rodrigues (FEUP) wrote:
>>>>> Hello Mahouters out there!
>>>>> I'm diving into the amazing world of Mahout and Hadoop and I have some
>>>>> questions about it. My project consists in developing a recommender
>>> system
>>>>> for TV shows, and my objective is to study how can I ensemble/mix some
>>>>> approaches, like content-based and collaborative filtering (with
>> weights
>>> for
>>>>> example). Is there _the way_ to do it using Mahout, or it's an
>>> unexplored
>>>>> subject at the moment?
>>>>> Thanks in advance!
>>>>> --
>>>>> Alexandre Rodrigues

View raw message