4

I'm trying to use AWS personalize, and following their documents. So I've uploaded dataset files(interaction, user, item) to S3, then created a solution and a campaign. And I implemented PutEvents API using java. GetRecommendations API call works good. At this moment I'm curious I need to update dataset files, especially item csv.

John Rotenstein
  • 241,921
  • 22
  • 380
  • 470
zeide
  • 93
  • 1
  • 7

1 Answers1

3

In general it's done at this point for very basic recommendations.

Since you are using PutEvents call, then all of the real-time events are added to Interactions dataset this way. Interactions datasets created by manual import and by PutEvents calls are separated from themselves. You can actually see them in Personalize Datasets web console.

Still you might want to update dataset files, using dataset import job feature, but it's going to replace your existing dataset. In general I would recommend using it only when:

  • You just created a fresh/bigger/better dump of your database with Interactions.
  • You've found, that your previous interactions dataset was invalid.
  • The schema of dataset changed (pretty much you are forced to do it then).
  • User or Item dataset changed/improved, it's actually a good idea to refresh it often, so Personalize can produce better recommendations. Keep in mind, that it also requires retraining of the Solution, so the new Items/Users will be included during the recommendations generation.

So for interactions you usually don't want to update dataset. For other datasets it might be a good idea to even create an automatic import mechanism.

Keep in mind, that Items and Users datasets are used only with Personalize Recipes, that support metadata. Otherwise they are simply ignored.

PatrykMilewski
  • 922
  • 8
  • 17
  • So, If I am certain my interactions are good, and I keep filling them with events, there is no need for me to update users.csv and items.csv? – Amiga500 Jan 15 '21 at 18:14
  • @Wexoni Exactly. Adding metadata for Users and Items is useful, but if you are fine with what you got, then it's no needed. However metadata can provide you some more features, like providing recommendations based on genre of item, or items availability in given country, but it depends on your case, if you need it. Also recommendations in general when we are using metadata might be slightly better, because Personalize has more context to learn from. – PatrykMilewski Jan 18 '21 at 08:38
  • I'm thinking, AWS has putItem and putUser events. Can we update item attributes by sending putItem event with existing productId but different attribute values.. – safinilnur Dec 15 '21 at 22:56