2

In Myrrix, one can create a user tag via http://myrrix.com/rest-api/#setusertag

I have a setup with dynamic tags (like operating system of a user, or geospatial info) and I would like to remove the tag, although I dont know whether the user has it or not.

Is there any way to remove user tags?

Is there a way to receive all user tags?

If I use http://myrrix.com/rest-api/#removepreference and the engine removes the user, will it keep the user tags, so that when the user will be recreated it will have the old tags already associated?

Sean Owen
  • 66,182
  • 23
  • 141
  • 173
ulkas
  • 5,748
  • 5
  • 33
  • 47

1 Answers1

4

The model for tags is the same as for other input data: it's treated as a continuous stream of value that increase or decrease the association strength. If you added the tag with strength "1", add the association again with strength "-1" to undo it. The approximate real-time update will approximately undo the original change to the user/tag vectors; when the model is fully rebuilt these values will truly cancel and it will be really "gone" then.

removePreference() does something slightly different, and the naming is a bit confusing, since part of it is held over from Mahout. This just makes the item eligible for recommendation again. It forgets the association but doesn't modify information about the user or item.

There is no counterpart for tags, because tags are never recommended anyway. So removing a tag amounts to calling setUserTag() with negative values.

There is not a way to query tags. It may sound surprising but in general the model does not expose, or even necessarily preserve, all the original input data. It is all about access to the derived, learned results: recommendations, similar items, etc.

If you remove all user preferences, but there are user tags, the user will actually remain 'alive' in the model, yes. It would not have recommendations, but its data would indirectly affect other recommendations. If you re-added the user the tags would still have effect.

The API semantics are unusual, I think, but kind of on purpose: the problem domain is different than simple data storage!

Sean Owen
  • 66,182
  • 23
  • 141
  • 173