How to get a new solution version using only recent records?

0

How to generate a solution version(USER_PERSONALIZATION recipes) using only recent records when importing records incrementally?

I’m importing records(interactions, items) incrementally since new items are created every time.
Since importing records incrementally makes training time(price) very high and the integrated records contains unnecessary old items, I want to generate a new solution version using only recent records(interaction, items). Is there any ways to do this?

As far as i know, there is no way to remove old records when generating a new solution version.
Currently, i’m generating a new solution version on all items(old and new) and remove the old items using filter when recommending items.

Q1. If I want to get a new solution version using only recent records, Do I have to create a new DatasetGroup?
Q2. If new items are created every time and old items are unnecessary(e.g. news article recommendations), what is a proper personalize architecture?
(The "architecture" means a pipeline managing recent dataset)

Thanks for reading.

Edited by: hdseo on Aug 1, 2021 12:09 AM

Edited by: hdseo on Aug 1, 2021 12:22 AM

Edited by: hdseo on Aug 1, 2021 12:26 AM

hdseo
asked 3 years ago218 views
2 Answers
0
Accepted Answer

Hey hdseo,

I have a little experience with this, we had a similar issue.
Q1. If I want to get a new solution version using only recent records, Do I have to create a new DatasetGroup?: In our experience, yes. You would need to reimport a dataset only with the new data.

Q2. If new items are created every time and old items are unnecessary(e.g. news article recommendations), what is a proper personalize architecture?: The proper way to do this is as you described, by re-importing the dateset with only the relevant data.

We found that there was no way to remove old records without importing a completely new dataset. The only way to remove old items "quickly" was to use a filter expression to filter them out of recommendations (they were still, however, in the model). Essentially, you can create a status field for each of your items/users, and update it with a putItems or putUsers call and set the status to deleted or inactive, then use a filter expression to filter these out (e.g. filter out items with STATUS = INACTIVE).

This does not actually remove the item from your dataset, rather, just filters them out. This was a major issue for us with personalize because the model was still trying to recommend these now irrelevant items to users, but was just being filtered out of the recommendations.

This is how i understand it, I could be wrong, however. It would be great if there was new functionality added to actually remove items from a model, i hope it comes soon.

law-dwg
answered 3 years ago
0

Hi law-dwg,

Thank you for the reply. It's very helpful for me.
I'm using filter expression now. i hope the new functionality comes soon.

Thanks again :)

hdseo
answered 2 years 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