You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by bu...@apache.org on 2015/03/08 18:02:32 UTC

svn commit: r942884 - in /websites/staging/mahout/trunk/content: ./ users/recommender/quickstart.html

Author: buildbot
Date: Sun Mar  8 17:02:32 2015
New Revision: 942884

Log:
Staging update by buildbot for mahout

Modified:
    websites/staging/mahout/trunk/content/   (props changed)
    websites/staging/mahout/trunk/content/users/recommender/quickstart.html

Propchange: websites/staging/mahout/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Sun Mar  8 17:02:32 2015
@@ -1 +1 @@
-1662153
+1665051

Modified: websites/staging/mahout/trunk/content/users/recommender/quickstart.html
==============================================================================
--- websites/staging/mahout/trunk/content/users/recommender/quickstart.html (original)
+++ websites/staging/mahout/trunk/content/users/recommender/quickstart.html Sun Mar  8 17:02:32 2015
@@ -245,20 +245,22 @@
 
   <div id="content-wrap" class="clearfix">
    <div id="main">
-    <h1 id="recommender-quickstart">Recommender Quickstart</h1>
-<p>It's very easy to get started with Mahout's recommenders. You don't need to know and have Hadoop for this. Here we list resources that might be helpful for some first steps:</p>
-<ul>
-<li>
-<p>Steve Cook created a <a href="https://www.youtube.com/watch?v=yD40rVKUwPI">video tutorial</a> on how to create a simple item-based recommender from scratch using Eclipse. (Note that you can avoid manually downloading the library jars by including mahout as <a href="/general/downloads.html">maven dependency</a> into your project). </p>
-</li>
-<li>
-<p>The paper <a href="http://ssc.io/wp-content/uploads/2013/02/cf-mahout.pdf">Collaborative Filtering with Apache Mahout</a> by Sebastian Schelter and Sean Owen gives a short overview of Mahout's non-distributed recommenders and has pointers to research papers describing the underlying algorithms. </p>
-</li>
-<li>
-<p>For a more full featured Multimodal Recommender based on the newest Spark version of Mahout and integration with a 
-fast server using a search engine see references on the <a href="http://mahout.apache.org/users/recommender/intro-cooccurrence-spark.html">Mahout site</a>.</p>
-</li>
-</ul>
+    <h1 id="recommender-overview">Recommender Overview</h1>
+<p>Recommenders have changed over the years. Mahout contains a long list of them, which you can still use. But to get the best  out of our more modern aproach we'll need to think of the Recommender as a "model creation" component&mdash;supplied by Mahout's new spark-itemsimilarity job, and a "serving" component&mdash;supplied by a modern scalable search engine, like Solr.</p>
+<p><img alt="image" src="http://postimg.org/image/6yw9b3fdn/" /></p>
+<p>To integrate with your application you will collect user interactions storing them in a DB and also in a from usable by Mahout. The simplest way to do this is log interactions to csv files (user-id, item-id). The DB should be setup to contain the last n user interactions, which will form part of the query for recommendations.</p>
+<p>Mahout's spark-itemsimilarity will create a table of (item-id, list-of-similar-items) in csv form. Think of this as an item collection with one field containing the item-ids of similar items. Index this with your search engine. </p>
+<p>When your application needs recommendations for a specific person, get the latest user history of interactions from the DB and query the indicator collection with this history. You will get back an ordered list of item-ids. These are your recommendations. You may wish to filter out any that the user has already seen but that will depend on your use case.</p>
+<h2 id="references">References</h2>
+<ol>
+<li>A free ebook, which talks about the general idea: <a href="https://www.mapr.com/practical-machine-learning">Practical Machine Learning</a></li>
+<li>A slide deck, which talks about mixing actions or other indicators: <a href="http://occamsmachete.com/ml/2014/10/07/creating-a-unified-recommender-with-mahout-and-a-search-engine/">Creating a Multimodal Recommender with Mahout and a Search Engine</a></li>
+<li>Two blog posts: <a href="http://occamsmachete.com/ml/2014/08/11/mahout-on-spark-whats-new-in-recommenders/">What's New in Recommenders: part #1</a>
+and  <a href="http://occamsmachete.com/ml/2014/09/09/mahout-on-spark-whats-new-in-recommenders-part-2/">What's New in Recommenders: part #2</a></li>
+<li>A post describing the loglikelihood ratio:  <a href="http://tdunning.blogspot.com/2008/03/surprise-and-coincidence.html">Surprise and Coinsidense</a>  LLR is used to reduce noise in the data while keeping the calculations O(n) complexity.</li>
+</ol>
+<h2 id="mahout-jobs">Mahout Jobs</h2>
+<p>See the page describing <a href="http://mahout.apache.org/users/recommender/intro-cooccurrence-spark.html"><em>spark-itemsimilarity</em></a> for more details.</p>
    </div>
   </div>     
 </div>