Author: buildbot
Date: Thu Oct 2 21:27:35 2014
New Revision: 924457
Log:
Staging update by buildbot for mahout
Modified:
websites/staging/mahout/trunk/content/ (props changed)
websites/staging/mahout/trunk/content/users/recommender/intro-cooccurrence-spark.html
Propchange: websites/staging/mahout/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu Oct 2 21:27:35 2014
@@ -1 +1 @@
-1629072
+1629073
Modified:
websites/staging/mahout/trunk/content/users/recommender/intro-cooccurrence-spark.html
==============================================================================
---
websites/staging/mahout/trunk/content/users/recommender/intro-cooccurrence-spark.html
(original)
+++
websites/staging/mahout/trunk/content/users/recommender/intro-cooccurrence-spark.html
Thu Oct 2 21:27:35 2014
@@ -348,7 +348,7 @@ to recommend. </p>
</pre></div>
-<h3 id="wzxhzdk17how-to-use-multiple-user-actionswzxhzdk18"><a
name="multiple-actions">How To Use Multiple User Actions</a></h3>
+<h3 id="wzxhzdk18how-to-use-multiple-user-actionswzxhzdk19"><a
name="multiple-actions">How To Use Multiple User Actions</a></h3>
<p>Often we record various actions the user takes for later analytics. These
can now be used to make recommendations.
The idea of a recommender is to recommend the action you want the user to
make. For an ecom app this might be
a purchase action. It is usually not a good idea to just treat other actions
the same as the action you want to recommend.
@@ -531,7 +531,7 @@ a blog post,
the only similarity method supported this is not the optimal way to determine
general "bag-of-words" document similarity.
LLR is used more as a quality filter than as a similarity measure. However
<em>spark-rowsimilarity</em> will produce
lists of similar docs for every doc if input is docs with lists of terms. The
Apache <a href="http://lucene.apache.org">Lucene</a> project provides several
methods of <a
href="http://lucene.apache.org/core/4_9_0/core/org/apache/lucene/analysis/package-summary.html#package_description">analyzing
and tokenizing</a> documents.</p>
-<h1 id="wzxhzdk234-creating-a-unified-recommenderwzxhzdk24"><a
name="unified-recommender">4. Creating a Unified Recommender</a></h1>
+<h1 id="wzxhzdk244-creating-a-unified-recommenderwzxhzdk25"><a
name="unified-recommender">4. Creating a Unified Recommender</a></h1>
<p>Using the output of <em>spark-itemsimilarity</em> and
<em>spark-rowsimilarity</em> you can build a unified cooccurrence and content
based
recommender that can be used in both or either mode depending on indicators
available and the history available at
runtime for a user.</p>
@@ -631,10 +631,13 @@ For instance you may want to put persona
by tagging items with some category of popularity (hot, warm, cold for
instance) then
index that as a new indicator field and include the corresponding value in a
query
on the popularity field. If we use the ecom example but use the query to get
"hot" recommendations it might look like this:</p>
-<p>Query:
- field: purchase; q:user's-purchase-history
- field: view; q:user's view-history
- field: popularity; q:"hot"</p>
+<div class="codehilite"><pre><span class="n">Query</span><span
class="o">:</span>
+ <span class="n">field</span><span class="o">:</span> <span
class="n">purchase</span><span class="o">;</span> <span class="n">q</span><span
class="o">:</span><span class="n">user</span><span
class="s1">'s-purchase-history</span>
+<span class="s1"> field: view; q:user'</span><span class="n">s</span>
<span class="n">view</span><span class="o">-</span><span
class="n">history</span>
+ <span class="n">field</span><span class="o">:</span> <span
class="n">popularity</span><span class="o">;</span> <span
class="n">q</span><span class="o">:</span><span
class="s2">"hot"</span>
+</pre></div>
+
+
<p>This will return recommendations favoring ones that have the intrinsic
indicator "hot".</p>
<h2 id="notes">Notes</h2>
<ol>