Google Feed Personalization and Recommender Systems
Let's take a look at Google feed personalization and recommender systems. Also explore the limitations of Machine Learning.
Join the DZone community and get the full member experience.Join For Free
Lately, I've been using Google's feed on Android and it contains several interesting best practices for content discovery.
Google's feed strikes an effective balance between Machine Learning and follow relationships. With the recent advancements in AI, it can be hard to know when to apply AI and when to use a more manual method. This is particularly true for content discovery. Certain sites rely on Machine Learning to show content you might be interested in. Other apps allow you to follow the topics or people you care about.
With that said, let's have a look at what we can learn from Google's personalized feed:
Google has some of the best Machine Learning hardware and software expertise in the market.
Their feed technology figures out what you're interested in automatically. Note how the feed above detected that I'm interested in Space and in VR. I'm not 100% sure what they base this on but I suspect it's my browsing behavior or search history.
Understand the Limitations of Machine Learning
Google allows you to follow and unfollow topics. In the event that the Machine Learning algorithm gets it wrong you can say that you're not interested in a specific publication or topic. In the screenshot above I can say that I'm not interested in stories from "Road to VR."
If a post is about multiple things, Google will allow you to specify what exactly you're not interested in. Let's say the system recommends a post about Ronaldo's transfer to Juventus on Goal.com. This menu will show the options "not interested in Ronaldo" and "not interested in stories from Goal.com". This feature is an elegant way to provide the user with control over their feed.
I personally think many users are more likely to use this ability to mute/unfollow compared to the effort of carefully selecting topics to follow to begin with.
Google's feed shows you multiple articles about the same event. Note how the 3rd screenshot groups together 3 different announcements of the Diablo 3 release for Nintendo Switch. It shows the Eurogamer and Forbes articles. You can scroll to the right to see more.
This helps show different sides of the same argument and helps the user get out of their filter bubble.
Who to Follow
When the content in the feed runs out Google encourages you to follow additional topics. Many apps only show the "who to follow" screen for new users. Google's approach is better, you should show a "who to follow" type of screen whenever you don't have enough data about the user. Some common scenarios:
- The user is new
- The user follows topics/friends which are no longer active
- The user only follows a few items and has run out of content
Ease of Use
Most users won't bother with preference panels or drop-down menus. Here at Stream, we've seen this often with apps trying to make their feeds and content discovery too complex. Google shows a question: "Is this card useful right now" right in the feed. You can't miss it and it provides users with an easy way to customize their feed.
Combining Machine Learning With User Controls
Google uses Machine Learning for their feed but provides the user with powerful controls to change how their feed is displayed and the content within it. Google does this by allowing the user to:
- Say whether they are not interested in a specific topic (and allow for unfollowing/muting of a specific group of content)
- Easily and effortlessly follow the topics they care about
I think this approach strikes an interesting balance. A pure Machine Learning-based solution will always be limited by the quality of the underlying dataset. Just because I open a page or click on something doesn't necessarily mean that I'm interested in it. It's a signal, but there is noise in the data. That's why it's so important to combine Machine Learning with more manual controls over the feed.
Content discovery is a vital part of the internet. Users often don't know what's out there and need a way to discover content without searching for it. This is a challenge for companies and users in many different industries. Whether you're looking at jobs, houses, articles about your favorite interests or anything else there is always the challenge of enabling your users to discover the right content.
Google's feed strikes an elegant balance between Machine Learning and giving the user control over what content they want to see. The grouping of related articles also encourages users to get out of their filter bubble and explore different perspectives.
Most other apps can learn from these best practices that Google follows:
- Combine Machine Learning with powerful manual controls for your users
- Allow users to indicate when they are not interested in something
- Ideally, give them multiple options to indicate why they are not interested
- Leverage aggregation to show different articles about the same topic
- Focus on ease of use by allowing customization from within the feed interface
Google is one of the leading companies in Machine Learning. They still chose to combine Machine Learning with more manual control over the feed. Since the data used for Machine Learning isn't perfect, this approach makes a lot of sense and results in the best user experience.
To learn more about Stream's API, try the tutorial or read more about personalization.
Published at DZone with permission of Thierry Schellenbach, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.