Search code examples
amazon-web-servicesamazon-personalize

Do I need to update item csv in AWS personalize?


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.


Solution

  • 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.