Including negative feedback in AWS Personalize

0

Hi, I am trying to figure out how to feed explicit negative feedback into AWSP. I have seen from previous questions and replies that is not possible to give negative feedback or weigh the events in a way that show that certain event is more important than another. Is my understanding correct? (I see that one of the suggestions is to use the negative feedback items for filtering only, whereas training should be on positive events only. As we already have a filtering functionality post-recommendation, so I am not interested in the filtering part) I can see the following options:

  • Include only interactions that received positive feedback in the interactions dataset
  • Include the whole interactions dataset, but train on positive interactions only (what will be the difference comparing it to the previous case?)
  • Artificially create multiple entries for an interaction record (e.g. 5 for positive feedback, 1 for negative, this way showing preference for the item)
  • Use impressions (with the negative feedback items shown as displayed, but not selected, to indicate less relevance) Which way would work better? Has anyone tried any of these? Any pitfalls with any of those options? Thank you very much for your help!
asked 3 months ago38 views
1 Answer
0
Accepted Answer

Hi,

You are correct that there, currently, is no direct support for sentiment or an ability to add weight to interactions in Amazon Personalize. The existing recipes only model interactions with some using Impressions to guide discovery of new items.

  • Include only interactions that received positive feedback in the interactions dataset

This would be the most predictable option but it does come at the expense of disregarding a valuable portion of your data.

  • Include the whole interactions dataset, but train on positive interactions only (what will be the difference comparing it to the previous case?)

This would effectively be the same as the previous option with the only difference being the data will be loaded into Personalize.

  • Artificially create multiple entries for an interaction record (e.g. 5 for positive feedback, 1 for negative, this way showing preference for the item)

While this will allow you to to add the negative interactions in the dataset and train a solution using them. It may skew your results. Based on your use case it may not make sense to equate a negative interaction to 1/5 of a positive interaction. Consider the case where a customer only has negative interactions with your items, the recommendation will return only these items for this customer.

  • Use impressions (with the negative feedback items shown as displayed, but not selected, to indicate less relevance)

You could make this work as there would be an explicit comparison although you would be reducing your sentiment scale to a binary choice. I would recommend starting here and comparing the recommendations from the first option.

JarrydK
answered 3 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions