brainsteam.co.uk/new_files/2020/09/04/dark-recommendation-engines.../index.html

185 lines
22 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>Dark Recommendation Engines: Algorithmic curation as part of a healthy information diet. - Brainsteam</title><meta name="viewport" content="width=device-width, initial-scale=1">
<meta itemprop="name" content="Dark Recommendation Engines: Algorithmic curation as part of a healthy information diet.">
<meta itemprop="description" content="In an ever-growing digital landscape filled with more content than a person can consume in their lifetime, recommendation engines are a blessing but can also be a a curse and understanding their strengths and weaknesses is a vital skill as part of a balanced media diet. If you remember when connecting to the internet involved a squawking modem and images that took 5 minutes to load then you probably discovered your favourite musician after hearing them on the radio, reading about them in NME being told about them by a friend."><meta itemprop="datePublished" content="2020-09-04T15:30:19&#43;00:00" />
<meta itemprop="dateModified" content="2020-09-04T15:30:19&#43;00:00" />
<meta itemprop="wordCount" content="2191">
<meta itemprop="keywords" content="machine-learning,ai," /><meta property="og:title" content="Dark Recommendation Engines: Algorithmic curation as part of a healthy information diet." />
<meta property="og:description" content="In an ever-growing digital landscape filled with more content than a person can consume in their lifetime, recommendation engines are a blessing but can also be a a curse and understanding their strengths and weaknesses is a vital skill as part of a balanced media diet. If you remember when connecting to the internet involved a squawking modem and images that took 5 minutes to load then you probably discovered your favourite musician after hearing them on the radio, reading about them in NME being told about them by a friend." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://brainsteam.co.uk/2020/09/04/dark-recommendation-engines-algorithmic-curation-as-part-of-a-healthy-information-diet/" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2020-09-04T15:30:19&#43;00:00" />
<meta property="article:modified_time" content="2020-09-04T15:30:19&#43;00:00" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Dark Recommendation Engines: Algorithmic curation as part of a healthy information diet."/>
<meta name="twitter:description" content="In an ever-growing digital landscape filled with more content than a person can consume in their lifetime, recommendation engines are a blessing but can also be a a curse and understanding their strengths and weaknesses is a vital skill as part of a balanced media diet. If you remember when connecting to the internet involved a squawking modem and images that took 5 minutes to load then you probably discovered your favourite musician after hearing them on the radio, reading about them in NME being told about them by a friend."/>
<link href='https://fonts.googleapis.com/css?family=Playfair+Display:700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" media="screen" href="https://brainsteam.co.uk/css/normalize.css" />
<link rel="stylesheet" type="text/css" media="screen" href="https://brainsteam.co.uk/css/main.css" />
<link id="dark-scheme" rel="stylesheet" type="text/css" href="https://brainsteam.co.uk/css/dark.css" />
<script src="https://brainsteam.co.uk/js/feather.min.js"></script>
<script src="https://brainsteam.co.uk/js/main.js"></script>
</head>
<body>
<div class="container wrapper">
<div class="header">
<div class="avatar">
<a href="https://brainsteam.co.uk/">
<img src="/images/avatar.png" alt="Brainsteam" />
</a>
</div>
<h1 class="site-title"><a href="https://brainsteam.co.uk/">Brainsteam</a></h1>
<div class="site-description"><p>The irregular mental expulsions of a PhD student and CTO of Filament, my views are my own and do not represent my employers in any way.</p><nav class="nav social">
<ul class="flat"><li><a href="https://twitter.com/jamesravey/" title="Twitter" rel="me"><i data-feather="twitter"></i></a></li><li><a href="https://github.com/ravenscroftj" title="Github" rel="me"><i data-feather="github"></i></a></li><li><a href="/index.xml" title="RSS" rel="me"><i data-feather="rss"></i></a></li></ul>
</nav></div>
<nav class="nav">
<ul class="flat">
<li>
<a href="/">Home</a>
</li>
<li>
<a href="/tags">Tags</a>
</li>
<li>
<a href="https://jamesravey.me">About Me</a>
</li>
</ul>
</nav>
</div>
<div class="post">
<div class="post-header">
<div class="meta">
<div class="date">
<span class="day">04</span>
<span class="rest">Sep 2020</span>
</div>
</div>
<div class="matter">
<h1 class="title">Dark Recommendation Engines: Algorithmic curation as part of a healthy information diet.</h1>
</div>
</div>
<div class="markdown">
<h3 id="in-an-ever-growing-digital-landscape-filled-with-more-content-than-a-person-can-consume-in-their-lifetime-recommendation-engines-are-a-blessing-but-can-also-be-a-a-curse-and-understanding-their-strengths-and-weaknesses-is-a-vital-skill-as-part-of-a-balanced-media-diet">In an ever-growing digital landscape filled with more content than a person can consume in their lifetime, recommendation engines are a blessing but can also be a a curse and understanding their strengths and weaknesses is a vital skill as part of a balanced media diet.</h3>
<p>If you remember when connecting to the internet involved a squawking modem and images that took 5 minutes to load then you probably discovered your favourite musician after hearing them on the radio, reading about them in NME being told about them by a friend. Likewise you probably discovered your favourite TV show by watching live terrestrial TV, your favourite book by taking a chance at your local library and your favourite movie at a cinema. You only saw the movies that had cool TV ads or rave reviews you couldnt afford to take a chance on a dud when one ticket, plus bus fare plus popcorn and a drink cost more than two weeks pocket money.</p>
<p>In the year 2020 you can plug your phone into your car, load up Spotify and instantly access over 40 million songs at the touch of a button. You can watch almost any TV show or movie from the last 60 years from your couch. You can read almost any book ever written for free or next to nothing online (especially if your library has free ebook access <a href="https://www.hants.gov.uk/librariesandarchives/library/whatyoucanborrow/ebooksaudiobooks">like mine</a>). In the space of a few years, our media consumption habits have COMPLETELY changed and that is wonderful and amazing in a kind of utopian star trek “land of plenty” kind of way.</p>
<p>Unfortunately theres a downside to having access to the entirety of humanitys collective knowledge at the click of a button. With so much choice and <a href="https://tubularinsights.com/youtube-300-hours/">3 weeks of video content being added to youtube every minute</a> it is easy to become overwhelmed. Humans arent good at choices that have too many options. We are overcome with <a href="https://www.ted.com/talks/barry_schwartz_the_paradox_of_choice">analysis paralysis</a> and if it is left unchecked, we can waste hours of our lives scrolling netflix, reading show synopses but never watching any shows. After all, time is precious and a 90 minute movie is a sizeable, non-refundable investment. What if you dont like it when theres thousands of hours of other movies that you could be watching instead that could be better? Solving this problem across all sorts of media (news articles, movies, songs, video games) was the original motivation behind recommendation systems.</p>
<h2 id="recommender-systems-101">Recommender Systems 101</h2>
<p>Recommendation engines are all about driving people towards a certain type of content in the use case above, its about driving people towards stuff theyll like so that they feel like theyre getting value out of the platform theyre paying for and they continue to use the platform. There are a few different ways that recommender systems work but here are the basics:</p>
<h4 id="collaborative-recommendation">Collaborative Recommendation</h4>
<p><strong><em>If Bob buys nappies (diapers) and Fred buys diapers AND powdered milk then</em> maybe we should recommend powdered milk to Bob</strong></p>
<p>The above sentence summarises the underlying theory behind collaborative recommenders. We can build a big table of all of our customers and the products that they bought (or movies that they watched) and we can use a technique called <a href="https://en.wikipedia.org/wiki/Matrix_factorization_(recommender_systems)">matrix factorization</a> to find sets of products that commonly get consumed together and then finding users who already consumed a subset of these products and recommending the missing piece. The below video explains this concept in more detail.<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"></p>
<div class="wp-block-embed__wrapper">
<span class="embed-youtube" style="text-align:center; display: block;"><iframe class='youtube-player' width='660' height='372' src='https://www.youtube.com/embed/ZspR5PZemcs?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-US&#038;autohide=2&#038;wmode=transparent' allowfullscreen='true' style='border:0;' sandbox='allow-scripts allow-same-origin allow-popups allow-presentation'></iframe></span>
</div></figure>
<p>Collaborative filtering has a neat little surprise up its sleeve: emergent novelty. The chances are that someone you dont know who has similar taste to you is in a good position to introduce you to new content that you didnt know you liked. If Bob buys a coffee machine and we recommend it to Fred, the latter user might go “oh wow, I am pretty tired, I hadnt considered a coffee machine neat!” Of course this can have the opposite effect too.</p>
<h4 id="content-based-recommendation">Content-based Recommendation</h4>
<p><strong><em>Bob likes Terminator 2 which has the properties: science fiction, 80s movie</em>,directed-by-James-Cameron he might also therefore like “Aliens”</strong>,</p>
<p>Content-based recommenders, as the summary above suggests, are all about taking properties of the content and using them to draw similarities with other content that might interest the user. Content-based recommendation is more computationally expensive than collaborative filtering since you need to extract features of the things youre recommending at scale (e.g. you might build an algorithm that looks at every frame of every movie in your collection and checks for cyborgs). Its also very hard to do feature extraction on physical products and e-commerce sites tend to stick to collaborative approaches.</p>
<p>Content-based recommenders can sometimes get stuck in an echo-chamber mode of recommending very samey stuff all the time theres no element of surprise or novelty like youd get with collaborative filtering.</p>
<h4 id="hybrid-content-collaborative-recommendation">Hybrid Content-Collaborative Recommendation</h4>
<p><strong>Bob likes Terminator an 80s sci-fi movie, Fred likes Terminator- an 80s sci-fi movie and Aliens, Janet likes Ghostbusters, an 80s sci-fi comedy. Recommend Aliens and Terminator to Janet and Ghostbusters to Bob and Fred.</strong></p>
<p>In this mode of operating, we get the best of both worlds. Terminator and Aliens have a very different tone to Ghostbusters but theres a decent chance that Bob and Fred would like it and theres some feature overlap between the three movies (80s, sci-fi).</p>
<p>Hybrid recommendation is also pretty useful when you have limited information about your users because they only just joined or they didnt use your system very much yet (This is known as the cold start problem). For example, if a new user, Rachael, comes along we cant use collaborative filtering because we dont know what films she likes and what other users with her taste have watched. However, we could give her an on-boarding questionnaire and if she tells us she likes 80s sci-fi but not comedy then we can recommend Aliens, Terminator and not Ghostbusters. The more we learn about her, the better these recommendations will get.</p>
<h2 id="manipulation-and-ulterior-motive-the-dark-side-of-recommendation-engines">Manipulation and ulterior motive: the dark side of recommendation engines</h2>
<p>Recommendation engines are a great way to introduce people to movies, songs, news articles and even physical products that they might be interested in. But what if the motivation behind your recommendation system is no longer to make the user happy? As long as we have a large, consistent set of data relating products (movies/songs/books etc) to users we can train a recommendation engine to optimise itself towards that end. We could train a recommender that always makes terrible recommendations by flipping the dataset we collected about what users like not a particularly useful exercise but it could be fun.</p>
<p>What if the recommendation engine serving up your news articles isnt optimised to show you what you like but in fact is optimised to show you more of what keeps you engaged? There may be some overlap here but the distinction is <strong>key</strong>. All the systems owner would need to do is collect a table of content that the user likes or comments on or shares.</p>
<p>The phrase “theres no such thing as bad press” is a lot older than social media but has never been more relevant. For decades, traditional print media outlets have used bad news and emotive content to sell more papers. Journalists have become experts at politicising and polarising everything from <a href="https://www.theguardian.com/lifeandstyle/2017/may/15/australian-millionaire-millennials-avocado-toast-house">avocados</a> to <a href="https://www.benzinga.com/fintech/20/09/17377335/the-pandemic-is-contributing-to-financial-scams-and-generation-z-is-especially-vulnerable">gen z</a>. Online news outlets use a similar mechanism.</p>
<p>Online news outlets dont make money from selling print media but from selling space on their websites for showing adverts and they get paid for every person who clicks on an advert. Its probably only 1 in 1000 people that clicks on an ad but if 100,000 people read your article then maybe youll get 100 clicks. This has given rise to <a href="https://www.merriam-webster.com/dictionary/clickbait">“clickbait”</a> headlines that use misleading exaggeration to pull users in to what is more often than not an article of dubious or no interest. Clickbait, at least, is usually fairly easy to detect since the headlines are pretty formulaic and open ended (thats my one neat trick that journalists hate me for).</p>
<p>Social networks, like online news outlets, also make money from driving users towards adverts. Most people would read a news article once and close the page, 1 in 1000 of them might click a relevant advert while theyre at it. However, users typically spend a lot more time on a social network site, liking their neighbours cat picture, wishing their great aunt a happy birthday, getting into arguments and crucially clicking adverts. The longer you spend on the social network site, the more adverts youre exposed to and maybe, just maybe, if you see the picture of the new coffee machine enough times youll finally click buy.</p>
<p>So how can social networks keep users clicking around for as long as possible? Maybe by showing them content that piques their interest, that they respond emotionally to, that they want to share with their friends and comment on. How can they make sure that the content that they show is relevant and engaging? Well they can use recommendation engines!</p>
<h4 id="a-recipe-for-a-8220dark8221-recommendation-engine">A recipe for a “dark” recommendation engine</h4>
<p>In order to train a pretty good hybrid recommendation engine that can combine social recommendations with “features” of the content to get relevant data we need:</p>
<ol>
<li>
<p>Information about users what they like, what they dislike what they had for breakfast (they know it was a muffin and a latte from that cute selfie you uploaded at Starbucks this morning), what your political alignment is (from when you joined “Socialist memes for marxist teens” facebook group) <strong>CHECK</strong></p>
</li>
<li>
<p>Information about the content whats the topic? Does it use emotive words/swears? Does it have a strong political alignment either way? using Natural Language Processing they can automatically find all of this information for millions of articles at a time <strong>CHECK</strong></p>
</li>
<li>
<p>Information about users who interact with certain content they know who commented on what. They know that the photo of your breakfast got 25 likes 2 comments and that the news article in the Washington Post about Trump got 1500 likes, 240 angry reacts and 300 comments. They also know that 250 of the 300 comments were left by people from the left-wing of politics <strong>CHECK</strong></p>
</li>
</ol>
<p>Thats all they need to optimise for “engagement”. A hybrid recommendation engine can learn that putting pro-Trump articles in front of people who like “Bernie 2020” is going to drive a lot of “engagement” and it can learn that displaying articles branding millenials as lazy and workshy in front of 20-to-30-somethings is going to drive a lot of “engagement” too.</p>
<p>Recommendation engines can learn to only ever share left wing content with left wing people, likewise for right-wingers creating an echo-chamber effect. Even worse, articles containing misinformation can be promoted to the top of everyones “to read” list because of the controversial response they will receive.</p>
<p>These effects contribute to the often depressing and exhausting experience of spending time on a social media site in 2020. You might come away miserable but the algorithm has done its job its kept a large number of people engaged with the site and exposed them to lots of adverts.</p>
<h2 id="good-news-everyone">Good news everyone!</h2>
<p>Lets face it its not all bad I love pictures of cats sat in boxes and the algorithms have learned this. Spotify has exposed me to a number of bands that absolutely love and that would never get played on the local terrestrial radio station I periodically listen to in the car. Ive found shows and books I adore on Netflix and Kindle. Ive found loads of scientific papers that were very relevant for my research into NLP using sites like <a href="http://semanticscholar.org/">Semantic Scholar</a></p>
<p>I guess its also worth noting that the motivation of media platforms like Netflix and Spotify is to help you enjoy yourself so that you pay your subscription as opposed to free social sites that are happy to make you miserable if it means that youll use them for longer.</p>
<p>The aim of this article was to show you how recommendation engines work and why the motivation for building them is <strong>SO IMPORTANT.</strong> Secondly, I wanted to show you that its important for us to diversify our information intake beyond what the big social media platforms spoon feed us.</p>
<p>You can use sites like reddit where content is aggregated by human votes rather than machines (although fair warning, controversial material can still be disproportionately represented and certain subreddits might depress you more than your social media feed).</p>
<p>You can use chronological social media systems like <a href="https://mastodon.social/about">mastodon</a> that dont shuffle content around hoping to get you to bite on something juicy. I can also recommend the use of RSS reader systems like <a href="https://feedly.com/">Feedly</a> which aggregate content from blog sites in chronological order with minimal interference.</p>
<p>Finally I want to issue a rallying cry to fellow machine learning engineers and data scientists to really think about the recommendation systems that youre building and the optimisation mission youve been set. Would you let your family use it or would it make them miserable? Be responsible and be kind.</p>
</div>
<div class="tags">
<ul class="flat">
<li><a href="/tags/machine-learning">machine-learning</a></li>
<li><a href="/tags/ai">ai</a></li>
</ul>
</div><div id="disqus_thread"></div>
<script type="text/javascript">
(function () {
if (window.location.hostname == "localhost")
return;
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
var disqus_shortname = 'brainsteam';
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the </a></noscript>
<a href="http://disqus.com/" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
</div>
</div>
<div class="footer wrapper">
<nav class="nav">
<div>2021 © James Ravenscroft 2020 | <a href="https://github.com/knadh/hugo-ink">Ink</a> theme on <a href="https://gohugo.io">Hugo</a></div>
</nav>
</div>
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-186263385-1', 'auto');
ga('send', 'pageview');
}
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>
<script>feather.replace()</script>
</body>
</html>