I'm working with a Recommendation System that would take as parameters a bunch of "tweets" a user see during his navegation on a mobile app. Every tweet has a property, like a category (which is a input from the Operational team). My recommedation at the end, is show the next "tweet" so it's interesting for the end user.
For the initial training and validation, everything work smoothly. I developed a NxM matrix and calculated the distance between each user. For the columns, I used the categories. As so, similar users read similar tweets of similar categories. I get the distance between these tweets and recommend the one which similar users liked most
My concern is that those categories change over time. New categories (aka dimensional space) expands. So supposed we had categories [Work | News | Health]. Next week, the Operational team would want to test new categories, like [Family, Fitness]. Not overwriting the olds, but launching new tweets with new categories that were not mapped on the training step
How can I maintain the model in prodution, since these new categories are always changing? The initital NxM matrix I built will not work, since the model in production was training using len(categories) that are less than actual. It's like saying model in production has a NxM matrix, but now tha data has NxM+2
Do I need to have a constante training step on the cloud? Since the model just take as a input the last few tweets a user saw, how can I keep the pace on new categories showing up?