mahout-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pat Ferrel <>
Subject Re: Negative preferences
Date Fri, 15 Aug 2014 21:24:52 GMT
> On Aug 15, 2014, at 9:05 AM, Ted Dunning <> wrote:
> It is bad practice to use weightings to express different actions.  This
> may be necessary in an ALS framework, but it is still a bad idea.
> A much better approach is to use multi-modal recommendation in which each
> action is used independently in a cross-recommendation fashion to measure
> predictive power.  Some thumbs down actions will likely predict some
> purchases.  If you smash everything together, you won't see that subtlety.

I think that is precisely what I was suggesting with #1. Using thumbs down as the secondary
action—a cross-cooccurrence indicator. For the [B’A]h_b case. Where A is thumbs up and
B is thumbs down.

For that matter about any action that can be recorded for the same user set can now be treated
as if it has some predictive value for the primary action because the cross-cooccurrence indicator
will tell you whether that is a correct assumption or not.

If this pans out it seems like a substantially new way of predicting user behavior by looking
at many correlated actions but recommending only one (or few).

> On Fri, Aug 15, 2014 at 8:35 AM, Pat Ferrel <> wrote:
>> I like the negative click analogy. The data shows an explicit
>> interaction—using only thumbs up ignores that interaction. Yes, the
>> cooccurrence style recommender can’t account for these in the same way ALS
>> does but filtering them seems like a close approximation and maybe good
>> enough.
>> #1 asks the question; do thumbs down actions predict thumbs up. Given the
>> way cross-cooccurrence works the answer will be in the data. Intuition says
>> the signal may be weak if it’s there at all. Seems like the use of some
>> threshold for indicator strength is called for to make sure the correlation
>> is strong enough.
>> This brings up some questions about setting indicator thresholds. On the
>> dev list there has been discussion about a confidence-level type threshold
>> using something like #of standard deviations as a measure. There is no
>> method to set a threshold in the new spark-itemsimilarity yet but maybe
>> this is a good use case for it.
>> On Aug 15, 2014, at 2:08 AM, Sean Owen <> wrote:
>> I have used thumbs-down-like interactions as like an anti-click, and
>> subtracts from the interaction between the user and item. The negative
>> scores can be naturally applied in a matrix-factorization-like model
>> like ALS, but that's not the situation here.
>> Others probably have better first-hand experience here, but yes I have
>> heard of recommending to the negative actions as well and ranking
>> results by the difference between the positive and negative predicted
>> rating. That is, subtract out the scores from the negative recs.
>> Filtering is a crude but more efficient version of this.
>> On Thu, Aug 14, 2014 at 6:22 PM, Pat Ferrel <> wrote:
>>> Now that we have multi-action/cross-cooccurrences in ItemSimilarity we
>> can start playing with taking in multiple actions to recommend one. On the
>> demo site I have data for thumbs up and down but have only been using
>> thumbs up as the primary action. I then filter recs by a user’s thumbs down
>> interactions. However there are now some new options.
>>> 1) Might it be better to use the thumbs down as a second action type?
>> Basically this would imply that a user’s dislike of certain items may be an
>> indicator of their liking others? Since we are using Solr to return recs
>> we’d just use a two field query so no need to combine recs.
>>> 2) Get completely independent thumbs-down recs and filter by those
>> instead of only the thumbs-down interactions? Probably a pretty tight
>> threshold or number of items recommended would be good here to protect
>> against false negatives.
>>> The data is there and the demo site is pretty easy to experiment with.
>> I’m integrating spark-itemsimilarity now so if anyone has a good idea of
>> how to better use the data, speak up. It seems like 1 and 2 could be used
>> together so I’ll probably create some setting that allows a user to
>> experiment on their own recs.

View raw message