mahout-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Octavian Covalschi <octavian.covals...@gmail.com>
Subject Re: Recommendations without explicit ratings
Date Fri, 21 Oct 2011 03:12:24 GMT
I'm not an expert but I do have a comment on B). Similarity between meta
data can be achieved by using some kind of search engine. For this kind of
functionality I'm using SOLR (http://wiki.apache.org/solr/MoreLikeThis), it
has a builtin feature that would give ya similar documents. All you have to
give it is a doc id... However I think this won't be a real recommendation,
since similar items may not be something that user want... for example if I
bought an expensive camera, I may not need any more similar items, right?
But in the same time, if I'm buying batteries every half a year.. I may be
interested in similar products.... so it depends.

Just a thought.


On Thu, Oct 20, 2011 at 4:30 PM, Sean Owen <srowen@gmail.com> wrote:

> On Thu, Oct 20, 2011 at 10:13 PM, Camilo Rostoker
> <camilorostoker@hotmail.com> wrote:
> > A) Use an item-based recommender, with the rating being the number of
> times they bought the item (perhaps normalize the data between 1-10).
>
> Yes, good. My first reaction might be to use the logarithm of number
> of purchases, or ignore it altogether and just record the association
> (a 'boolean' pref) regardless of the purchase count. This only makes a
> complete system together with B) or C) though.
>
> >
> > B) Use the meta-data to generate similarities between the items, then
> simply recommend to a user the top N items that are similar to one that
> they've previously purchased.  This could be implemented in Mahout by
> overriding the ItemSimilarity (as described in this post:
> http://lucene.472066.n3.nabble.com/Content-based-Recommender-Implementation-td913981.html).
>   Obviously the challenging part here is figuring out how to generate a
> similarity score for the two items using the meta-data.
>
> Exactly. You can plug in whatever you logic you want there, but
> equally you have to make up that logic. To start, you can experiment
> with simplistic rules like considering only items in the same category
> "similar". It might do reasonably well as a start.
>
> You can of course just use purchases, pure collaborative filtering, to
> generate similarity. For instance log-likelihood similarity works
> well.
>
>
> >
> > C) Use frequent item-sets to figure out other items that are usually
> bought with that one, and recommend those.
>
> You could use frequent item sets to determine item-item similarity, as
> in B). That's kind of what log-likelihood is doing. This would then be
> a plug-in similarity to your item-based algorithm in A).
>
> If you mean you just want to start with an *item*, and find similar
> items, sure you can do that. This is simpler than the full recommender
> problem.
>

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