You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@predictionio.apache.org by Lin Amy <li...@gmail.com> on 2016/12/24 06:58:29 UTC

Decrease score of user viewed item instead of excluding

Hello everyone,

I am using universal recommendation template, and since sometimes the
number of item isn't that much, so user may have viewed all of items in
given query, which leads to no results for recommendation.
So my question is that, is there any advise on how to decrease the score of
user viewed items instead of sending them into blacklist?

Thank you for any advises!!

Best regards,
Amy

Re: Decrease score of user viewed item instead of excluding

Posted by Pat Ferrel <pa...@occamsmachete.com>.
No. I think this might make sense but my first question is are you using multiple indicators? If you have a lot of users that only get recommendations they already know about, you are not getting a lot of value from the recommender—adding more data might help.

If you’ve done the above, consider that you already have some record of things the user has viewed (maybe in an external DB). It is often more practical to blacklist all of these and then mix-on some fixed number after you get recommendations. You could also create 2 engines, one with a blacklist and the other without—the difference in recs would be the blacklisted items so even if you don’t have a record of them somewhere else (in a db) you can re-create it. Then mix them as you wish.

The final option would be to modify the code. The UR takes a PIO-type query then forms an elasticsearch query from that along with data in the EventServer (including history of views). It would be pretty easy to give a “boost” of 0 < n < 1 to lower viewed items in the recommended items ranking. The UR internally puts them into a “should_not” clause, all you would do is add them to the “should” clause and boost them by a fraction so the score would be lowered. 

If you end up doing this, it could be donated back to the project if you also make it general by adding something to the config in engine.json to specify the boost value and turn the feature on. If you want help start a PR here: https://github.com/actionml/universal-recommender <https://github.com/actionml/universal-recommender>


On Dec 23, 2016, at 10:58 PM, Lin Amy <li...@gmail.com> wrote:

Hello everyone,

I am using universal recommendation template, and since sometimes the number of item isn't that much, so user may have viewed all of items in given query, which leads to no results for recommendation.
So my question is that, is there any advise on how to decrease the score of user viewed items instead of sending them into blacklist?

Thank you for any advises!!

Best regards,
Amy