It has been 3 years since I attended my last RecSys and last week I went again to that conference in Hong Kong. I came back home with lots of useful insights although to get those gems I had to go through lots of boring to death presentations. Hey guys, presenting to an audience doesn’t mean cut and pasting from your latex article directly into your beamer presentation. You have to think about how to communicate to an audience. And don’t tell me it’s about algorithms and complex mathematics, so it was Harald Steck’s from Netflix and it was very pedagogical. Next year make sure you think in your audience before reporting your research.
This is my personal and biased review of the conference. It’s mainly what I found interesting and what it could be easily deployed at my current employer, Softonic.
On Saturday we had an excellent tutorial about Learning To Rank for Recommender Systems by Alex, Linas and Shi. Here I’m completely biased because I’ve worked with them and I know how good they are, but this tutorial was really interesting and full of stuff. I recommend it for a very good introduction to this complex topic.
For me the most interesting session of the conference was the workshop on Large Scale Recommenders. There was an interesting presentation about how to use Multi-armed bandits for recommending videos in a popular Dutch multimedia site. This talk was full of practical information about the technological stack for deploying bandits at scale. Some guys from eBay where presenting how do they recommend items in a domain where users are open to sell whatever they want and describe it free form. They were creating fine grained clusters based mainly on the search queries. The idea was to create semantically consistent cluster of items. They identified different use cases pre-purchase and post-purchase and it seemed that this cluster solution was working very well. For us in the app domain, this also makes sense, when browsing you are interested in similar applications but after a download you are interested in complementary apps not apps in the same niche. Aapo Kyrölä gave two excellent talks about GraphChi and about Personalized PageRank for Big Data. Read them. Funny comparisons about how much it took for his laptop against giant Hadoop clusters. Main take aways, “Before doing anything, think twice” and “Don’t follow the hype, even GraphChi’s hype”.
Although I was in different sessions there were other presentations during the weekend that generated Twitter action, like the keynote in the News Recommender Systems workshop and the tutorial on people recommendations from Linkedin.
From the Monday sessions I liked two papers trying to introduce diversity in the recommendations. The first Trading-off Among Accuracy, Similarity, Diversity, and Long-tail: A Graph-based Recommendation Approach from Baidu where you can model your costs for multi targeted objectives and a random walk in the graph provides the recommendations. The second paper was Nonlinear Latent Factorization by Embedding Multiple User Interests from Google. Here the user is described as a set of latent vectors each one describing one of the user’s interests.
On Tuesday, the Microsoft’s paper, Xbox Movies Recommendations: Variational Bayes Matrix Factorization with Embedded Feature Selection from Noam Koenigstein was very interesting and I think we could use a similar approach for recommending software at Softonic. Here a probabilistic graphical model was proposed for an scenario of binary implicit feedback enriched with metadata in the form of tags. From this same author I discovered in the Large Scale Recommenders workshop the work he has been doing on using Matrix Factorization results in real time. This paper was the perfect companion to the poster he presented about Item-Oriented recommendations. In the afternoon there was the paper Rating Support Interfaces to Improve User Experience and Recommender Accuracy that focused on improving UI for recommenders for helping in eliciting true preferences. Very interesting. Also of interest were Pairwise learning in recommendations of communities from Linkedin and Which App Will You Use Next that proposed a recommender system that predicts which app has higher probability of being used next based on your past behavior. It would be very interesting to pilot a widget for Moba.
The last day of the conference, had the Industry Session with lots of gems, like Huawei App Store using Deep Neural Networks for recommendations so they don’t spend time doing feature engineering. Alibaba told that Diversity and Complementary are worse for CTR but better for conversion, so watch your KPIs. Tencent showed all the metadata for users and items they use and the distributed hybrid algorithm they use to deliver recommendations. For us in the western world, used to the Facebooks and Googles, seeing the technology the Chinese companies are using/developing was a big surprise.
The best paper award was A Fast Parallel SGD for Matrix Factorization in Shared Memory Systems, hardcore algorithmic approach but far from my day to day routine. I’ve mentioned before the paper about Rating-prediction and Ranking from Netflix that addresses the selection bias (you are more likely to rate highly/low valued items but nothing in between) as a related sub-problem. By modeling the decision to rate you gain insight on all the unknown ratings.
The last session about Scalability was the most interesting with all the papers in my ToRead list. Using maximum coverage to optimize recommendation systems used well known algorithms of combinatorial optimization in order to select the set of items with maximum probability of conversion. In Efficient top-n recommendation for very large scale binary rated datasets they presented a large scale matrix factorization algorithm for implicit datasets. This guys presented the extension to the algorithm that won the Million Song contest in Kaggle so this paper must be read carefully. In Distributed Matrix Factorization with MapReduce using a series of Broadcast-Joins it was exposed a distributed Alternating Least Squares (ALS) approach to Matrix Factorization that is going to be included in Mahout. They also taught me about a toolkit for generating synthetic data, Myriad, something I have to research more carefully.
And that was it!! I had a very good time and glad to meet lot of people I admire in person. Hopefully see you next year!!