[
https://issues.apache.org/jira/browse/MAHOUT-1422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13908548#comment-13908548
]
Pat Ferrel commented on MAHOUT-1422:
------------------------------------
Yes and no. What you describe makes sense but can be done with the proposed
implementation.
The algorithm when applied to a recommender works in pairs of inputs. In
practice you would create a recommender for purchases, one for purchase from
web-views and purchases, one for purchases from mobile-views and purchases.
Then the results/recs are combined linearly. Or using Solr each of the pairs
creates a field that is indexed separately, the query would be purchases
against the purchase self similarity field, web-views against the
web-view/purchase similarity field, and mobile-view against the
mobile-view/purchase similarity field. This allows each type of history to add
information to the query.
In other words you can do what you are talking about as a combination of pairs.
However in other contexts I believe the cross-similarity can be applied across
any number of inputs as long as the row space is the same and there are some
interesting applications of this. But I think you can get to the same place by
chaining the pairwise jobs. So unless there is some benefit in the
implementation to perform the entire chain at once...
> Make a version of RSJ that uses two inputs
> ------------------------------------------
>
> Key: MAHOUT-1422
> URL: https://issues.apache.org/jira/browse/MAHOUT-1422
> Project: Mahout
> Issue Type: Improvement
> Components: Collaborative Filtering
> Affects Versions: 1.0
> Environment: mapreduce
> Reporter: Pat Ferrel
> Labels: recommender, similarity
> Fix For: 1.0
>
>
> Currently the RowSimiairtyJob uses a similarity measure to pairwise compare
> all rows in a DistributedRowMatrix.
> For many applications including a cross-action recommender we need something
> like RSJ that takes two DRMs and compares matching rows of each. The output
> would be the same form as RSJ, and ideally would allow the use of any
> similarity type already defined--especially LLR.
> There are two implementations of a Cross-Recommender one based on the Mahout
> RecommenderJob, and another based on Solr, that can immediately benefit from
> a Cross-RSJ.
> A modification of the matrix multiply job may be a place to start since the
> current RSJ seems to rely heavily if self-similarity.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)