Since you have multiple kinds of action (views, add-to-cart, purchases,
other actions), using a multi-modal recommender based on implicit feedback
should work relatively well.

With the currently released Mahout software, you can only do cooccurrence,
not cross occurrence, but there is a way to deal with this (roughly).  The
idea is that you make up combine action type with item-id to get a combined
id.

Then you do cooccurrence analysis using ItemSimilarityJob on these combined
id's.

The output of this is significant cooccurrences for each of the
view+product, add-to-cart+product and buy+product.  You can rearrange these
so that for each product you have three kinds of indicators (for view, add
and buy) and each indicator field potentially has three kinds of events
(view, add and buy) combined with product.

This data can now be imported into a search index and you are ready to
experiment with recommendations.

Recommendations can be created using this search index by taking a user
history and searching against any combination of one or more of the three
indicator fields.

Users who have only a few view events in their history will match only view
indicators.  These indicators will be more common than adds which will be
more common than purchases.  That means that if the user does have add or
purchase events, these will be given higher weight due to their rarity.

Does this make sense?




On Fri, Jul 11, 2014 at 8:51 AM, Sneha Venkatesh <sneh...@gmail.com> wrote:

> Hi,
>
> I am building a product recommendation engine for an e-commerce website and
> I do not have explicit rating values given by users to products. I instead
> have implicit feedback from the views, add to carts and purchases and I
> generate a preference score using a linear combination of these.
>
> I built a recommender using the parallel ALS-WR recommender for implicit
> data in mahout. However the results do not entirely make sense. This could
> be because around 50-70% users are infrequent users who have just viewed a
> couple of products throughout their history. I am still trying to tune the
> input parameters to the algorithm and clean up the data to get a denser
> data set.
>
> However, I am wondering if a item based collaborative filtering approach
> based on boolean preferences is a better option for my problem. I could use
> the 'TanimotoCoefficientSimilarity' or the 'LogLikelihoodSimilarity' for
> this.
>
> Are there other alternative approaches besides these that I can try ? I
> would love to hear some feedback. Thanks.
>
> Regards,
> Sneha
>

Reply via email to