mahout for content based recomendation

243 Views Asked by At

I have a list user data : user name, age, sex , address, location etc and

a set of product data : Product name, Cost , description etc

Now i would like to build a recommendation engine that will be able to :

1 Figure out similar products

eg :

 name : category : cost : ingredients

 x : x1 : 15 : xx1, xx2, xx3

 y : y1 : 14 : yy1, yy2, yy3

 z : x1 : 12 : xx1, xy1

here x and z are similar.

2 Recommend relevant products from the product list to user

How this kind or recommendation engine can be implement with mahout ? Which all are the available methods ? Is there any useful tutorial/link available ? Please help

1

There are 1 best solutions below

0
On

In mahout v1 from here https://github.com/apache/mahout your can use "spark-rowsimilarity" to create indicators for each type of metadata, categroy, cost, and ingredients. This will give you three matrices containing similar items for each item based on that particular metadata. This will give you a "more like this" type of recommendation. You can also try combining the metadata into one input matrix and see if that gives better results.

To personalize this record which items the user has expressed some preference for. Index the indicator matrices in Solr, one indicator per Solr "field" all attached to the item ID (name?). Then the query is the user's history against each field. You can boost certain fields to increase their weight in the recommendations.

This is described On the Mahout site: http://mahout.apache.org/users/recommender/intro-cooccurrence-spark.html And some slides here: http://occamsmachete.com/ml/2014/10/07/creating-a-unified-recommender-with-mahout-and-a-search-engine/