Tuesday, January 2, 2018

Recommender systems enforce filter bubble, or not really?

Hello recommender enthusiasts,

First of all, happy new year and shall your recommendations be useful all year long :).

Now to the topic, few weeks ago I noticed a linkedin post from my colleague (here is the link linkedin post ) which took a view from the pure user point of view on how inconvenient a filter bubble created by recommender system can be. Small interim, filter bubble is a term used in RS other name in public would be "echo chamber".

I liked the post because it came from someone who is not in RS academia and is mostly a user exposed to recommender system around the internet. The view, as you can read in the post, was rather negative about the effect of RS on filter bubble. The post even mentioned that it would be cool to present user with stuff they would deliberative dislike (his case was in news domain). It got me thinking that taken aside by bias to like recommender system I can see how users could find opposing news articles to their own views useful just to purely wanting to stay more objective with their opinions. Obviously not in every domain but in news articles I found it an interesting thought.

I liked the post and immediately decided to put together a reaction simply because at the RecSys 2017 I got into this discussion and I thought it would be good to put it together. I want to share it here with you too.

First surprising point I found out is that the recommender even helps to lessen the effect of filter bubble. There was research on movielens which showed that filter bubble was less of an issue for users who were exposed to recommendations comparing to users who were not (source Joe Konstant on quora https://www.quora.com/Do-recommender-systems-create-a-“filter-bubble” ) and additonally here is a link to Pierce's page which summarizes the research on "filter bubble" http://www.intotheminds.com/blog/en/recommendation-algorithms-the-myth-of-filter-bubbles-at-stake/

Interestingly enough Xaviar points out that even people running/controling the page's content are much worse in creating filter bubble than algorithms - source Xavier Amatriain on quora https://www.quora.com/Should-we-worry-about-the-filter-bubble-created-by-recommender-systems . And my last two cents. If you think about it from different perspective, RS are made to support business's goal. So even though there are techniques which can be used to deliberately aim to break the filter bubble, but if the business takes more benefit for enforcing filter bubble I don't think many managers would take the stance "Let's not enforce filter bubble because it is less ethical even though we make more money out of it....".

https://www.linkedin.com/feed/update/urn:li:activity:6344900674899185664https://www.linkedin.com/feed/update/urn:li:activity:6344900674899185664

Monday, December 4, 2017

Article on A/B testing

Hello folks!

Just previous week I came across an interesting article from Netflix about A/B testing the article. It drew my attention because I have been also thinking recently about how to shorten the time/users needed for A/B testing. I encourage all of you to read it.

One thought I immediately got (and posted there) is that as you go though the courses and conferences you hear and read that the impression of the whole list matters. So in this approach what would be the limit to which the two tested algorithm outputs can differ? If there are too different would the interleaved list as a whole seemed to be a "random" draw from the items to the end user?

I don't have answers, just the feeling that if you test too different outputs then it might seem too "random" to the user. Anybody has thoughts? I am curious to hear your opinions.

Wednesday, July 5, 2017

Books on recommender systems

Hello fellow enthusiasts,

I just came across a quora post about what books are out there on recommender systems. It seems we are gettier luckier and the amount of literature is nicely increasing. The answers are from known names who, for example, present at RecSys so I recommend looking into the books they suggest.

https://www.quora.com/Do-you-know-a-great-book-about-building-recommendation-systems

Monday, May 29, 2017

Stuff from the internet on evaluating RS

Hello recommender engine enthusiasts,

Just completely accidentally came across this great answer from Xavier on quora on the topic of evaluating the recommender systems and the importance of A/B testing. Here is the link https://www.quora.com/How-do-you-measure-and-evaluate-the-quality-of-recommendation-engines

Inside his response he mentions other very interesting articles on his paper and on talks of other people, recommend reading it.

Tuesday, May 16, 2017

YouTube recommender system article

Hello All,
have been doing some browsing around the Internet and found this interesting article on the YouTube recommender system. It is not one of the super newest but interesting so posting it in case someone finds it useful.

Link

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

Monday, November 21, 2016

Intro to Recommender systems - are they used anywhere?

Hello All, happy to see you back. In this post I want to cover a question: "I have not seen it, it is used anywhere?", if somebody might have that.

Simple answer would be yes, everywhere :) but let's dwell on it a little bit. I usually get a reaction from non-technical people "yeah recommendations are all those adds that pop around the place with offers for the stuff I was recently looking or searching for". That is certainly some recommender system powering those but quite heavy usage of recommender systems are also elsewhere in online services, such as online stores, online music or video sites, social networks, and others. Here are some of the players who heavily utilizes a RS: Netflix, Amazon, YouTube, Google Now, Spotify. Netflix case-study in the Recommender system handbook chapter 11.2 contains more details on this and other examples of places using recommender systems.

Netflix is a video streaming company and they say that about 80% of all viewership comes from what they recommended to users not what a user would actively search for. Their whole home page is produced by a RS speaking of which rows comes on the landing page, what is their order or what is an order of movies within a row. Even such a thing as a thumbnail of the movie is chosen by a recommender system. Netflix even values their RS at a price of $1 billion per year (link). Amazon, an online store, is very heavy on recommending right items to right audience in right spots all around their pages. I don't know it for sure neither have worked for Amazon but I believe it is pretty close when I say that most of the landing Amazon page would be put together with the help from a recommender system. The items on FB feed are picked by a recommender system. And there would be much more examples...

If you were doubting if RS were used anywhere nowadays, now you can see they are and with more and more data they will be more and more important.

Other references:
https://www.cs.umd.edu/~samir/498/Amazon-Recommendations.pdf Description of Amazon's recommender system
https://code.facebook.com/posts/861999383875667/recommending-items-to-more-than-a-billion-people/ Scaling RS at Facebook
http://hpac.rwth-aachen.de/teaching/sem-mus-16/presentations/Pruefer.pdf Spotify's slides about their RS