Friday, November 25, 2016

Intro to Recommender systems - Users input to RS

Hello everybody. Before we proceed to talking about actual methods (Content based, Collaborative filtering) I want to briefly talk about user's input aka feedback.

Feedback is what user provides to the system throughout the time. System consumes it, has to interpret it, and then it can give you recommendations based on that. There are two type of feedback explicit and implicit. This coursera course has a very good video called "preferences and ratings".

Explicit feedback

Explicit feedback is explicitly given by the user usually in form of some rating, like 1 - 5 or stars, or simply thumbs up/down (which for example Spotify uses). On RecSys 2016 I heard during a discussion that explicit feedback is not considered as important as it used to be before. The mentioned reasons for that are the fact that it is rare and might not be correct. The rarity comes in place because explicitely rating stuff is putting higher cognitive load on a user. Even just thinking about "is it 3 starts or 4 stars?" needs user's attention. The finer rating scale you have the higher the cognitive load is. Thumb up/down is simpler than 5 star rating scale, although for you as the RS designer of a weaker explanatory value. There is also an issue which this talk mention that there is what is called "a revealed preference". This means that people actually sometimes do something else than what they say they do. So ratings might be saying that you don't really like that much certain tv show but your doing may reveal that this show is the only one that you watch every single night.

With regards to explicit feedback you also have to pay attention to the rating scale of each user. Naturally not all of us will utilize the same rating scale. When you have 5 star rating someone can consider 3 stars to be an average someone may consider 3 stars to be already pretty bad. The same apply for how big range of the scale each user uses. Some may only use range from 3 to 5 stars some one may use from 2 - 4. Hence, you have to do some normalization in order to be able to compare ratings of one user to ratings of the other. One simple way what you can do is that you can calculate user's mean rating and then substract it from all their ratings. This way each record would then hold how many +/- stars the user gave above/below their mean rating to this movie. The same  is good to do for the range of each user's scale - to put them on the same scale range. For more information take a look at this video I mentioned earlier "preference ratings" from here and connected articles and homework.

Implicit feedback

Implicit feedback means to interpret user actions in your system. Typical example would be buying/viewing an item. When a user buys an item it is very likely that the user likes the item. If the user viewed the item but did not buy it the probability that the user likes an item is less than if they bought it but higher if they did not even viewed it. As, for example, Netflix study in Recommender system handbook describes implicit feedback is much more abundant than explicit feedback, less noisy, and it does not require a user to do anything extra. User can be just browsing though your system and you can be interpreting their actions on the way.

A special feature of implicit feedback in comparison to explicit feedback is that you don't really have clear negative feedback. When a user does not view an item you cannot tell if the user did not view it because they did not see the link to it, or if they were just particularly focused on finding something else at that time. On the other hand there was a discussion at RecSys 2016 that if you show a user an item, for example, 10 times and you are pretty certain they saw it and did not interact with it, it is then likely they are really not interested in this item. To sumarize it in implicit feedback we work with likely hood of how likely certain action means that the user is interested in an item. There is a general section in this paper talking about implicit feedback.

With regards to negative user feedback you can argue, what if a user dismisses a recommendation, for example, clicking on an "X" button or a thumb down button. I don't remember any particular discussion or mention if this is still implicit feedback or explicit because user is actually making an action to tell you "I don't like this one". Personally, I would put it into the implicit feedback bucket. Talking about dismissing here is one interesting fact. In the online coursera course they mentioned that there was a user study which found out that some users actually were using "X" dismiss button in the fashion of "Show me more recommendations" because the system disappeared the recommendation immediately and filled its spot with new one. Another interesting example I want to mention is around "swiping sideways" to dismiss a recommendation. During this presentation at Recsys 2016 the presenter mentioned that it is actually a tricky area to distinguish between "I read it and I am finished with it" (Sometimes just reading a title is enough) or "I don't like it, don't show it to me again".

No comments:

Post a Comment