[ 
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)

Reply via email to