3 ms·
How do people build recommendation engines? Like, even when you have access to the site's entire API and can write your own client for it, there's still the fa
by nonbirithm 6y ago
How do people build recommendation engines?
Like, even when you have access to the site's entire API and can write your own client for it, there's still the fact that their recommendations are generally better.
It sounds like an extremely important value-add. There are many sites that I will only use the app for because that is where the recommendations are shown. But to me taking a user profile and an article and spitting out a list of articles seems like magic.
I also find it weird that in 2020 Goodreads is the status quo for book recommendations.
- searchableguy 6y agoThe best recommendation engine is other people that you know and understand.
- gbtw 6y ago> How do people build recommendation engines? Poorly, its either shovel so much shit against a wall to see what sticks (youtube) or you sorta watched this for 10 minutes to see if you liked it but you didn't but here is more (netflix). Curated lists made by humans are still nicer.
- SamBam 6y agoErr, I disagree with your assessment of Youtube's recommendation engine being "poor." It is probably the most powerful recommendation engine in the world. 5 billion YT videos, comprising 1 billion hours, are watched every day, a meteoric rise ever since they improved the recommendation engine. That recommendation engine has also been accused of contributing to the rise in polarization and conspiracy theories world-wide. So it may not be a force for good. But it's damn powerful.
- sam_lynx 6y agoPart of what makes YouTube’s recommendation algorithm so powerful is that it doesn’t necessarily have to be very good. I scrolled through my recommendations just now and only found one video after scrolling through fifteen that I was interested in watching — but that’s fine, since it’s easy to decide if you might like a video based on its title, thumbnail, and creator. However, if YouTube was as good at recommending books as it was recommending videos, I would never use its book recommendation algorithm. You necessarily have to get almost every book recommendation “correct” for it to be seen as actually useful by the user.
- SamBam 6y agoHow does that follow? I can't imagine that there are any book recommendations -- be they your friends, the Book Review section of your favorite newspaper, or whatever -- that gets things right for almost every single review. That's absurd. When I see a book recommendation, I read the associated review (if it has one), read other people's reviews, look at the author and the blurb, and, yes, even the cover. That tells me much more than a YouTube thumbnail, with only a little more time (but of course I'm going to put more time into choosing a book that might take me two weeks to finish). Indeed, my initial filter is probably much the same as a YouTube thumbnail: I skim past many recommendations based on the genre and author alone. I think if the Times Book Review always wrote reviews in which 1 out of 15 of them made me thing "I need to get that book," I'd be amazed at how much they "get" me. I wouldn't bother with anything else. Every 15 recommendations lands me another "must-read?" Sign me up! The problem listed in the article is that Goodreads is no where near 1 out of 15.
- sam_lynx 6y agoHm, I change my mind, you are correct.
- hazard 6y agoIt's not that hard. See for instance https://www.coursera.org/lecture/machine-learning/collaborative-filtering-2WoBV https://www.coursera.org/lecture/machine-learning/collaborat... on how to get started
- dtech 6y agoIt's not hard to build something that gives you recommendations. It extremely difficult to build something that works well. For consumer companies I know only Spotify and TikTok that do it well, and Youtube that does it OK-ish.
- moltar 6y agoI personally wouldn’t say that Spotify does it well. I don’t think I’ve ever gotten a good recommendation. And daily playlists are a mess.
- prepend 6y agoFor me, I only use goodreads because there’s nothing better that I’ve found. I think of it as similar to evolution, evolution is just about survival, not necessarily the best at stuff that’s not survival.
- DominikPeters 6y agoThere's an entire research field about Recommender Systems (https://en.wikipedia.org/wiki/Recommender_system https://en.wikipedia.org/wiki/Recommender_system) with its own conference series (https://recsys.acm.org/ https://recsys.acm.org/).
- krrishd 6y agoI get the sense that part of the problem with book recs vs. YouTube video recs is that you can evaluate the quality of a video recommendation super quickly (click in, find out like 10 seconds in that you don't care for it, click out). With books, actioning a recommendation involves 1) getting a copy of the book (digital or physical, both cost money or at minimum the time required to pirate), 2) starting to read it (with the sunken cost of time and/or money + the drive to "give it a chance" both looming over your shoulder, costing you more time), 3) eventually either getting to the end or swallowing your pride and bailing. I think you'd start to see actually useful systems here if you could even eliminate step 1; make it easy as clicking in from a recommendation directly into reading mode. Also solves a critical issue for the engine: gauge recommendation quality by how soon people click out of the rec, as opposed to waiting for the user to go through steps 1-3, and care enough to come back and provide a rating. Way more data to work with. Of course, this all skirts the Actual Problem: the amount of IP law you'd have to trudge through in making enough books this accessible.
- krrishd 6y agoI also recently googled a quote, found it in a specific page in a book hosted on https://www.pagebypagebooks.com/ https://www.pagebypagebooks.com/, and just impulsively clicked through the whole book because it happened to capture my interest, and only "demanded" that I commit to a single page at a time. Hard to explain, but it felt more natural in that every-page-is-a-URL format to trivially bail at any page, without the weird apprehension I get from the same action in an e-reader / physical book. The website is super old/limited, but if all books were that trivial to access + click through, I think we'd see something more interesting here. Made me wonder how hard it'd be to convert the entirety of Project Gutenberg into that sort of Web 1.0 format automatically.
- nelsondev 6y ago> How do people build recommendation engines? One method, collaborative filtering with latent factor analysis, popularized by its efficacy in making recommendations on Netflix, is to use matrix multiplication to solve the problem. E.G. Let’s say you have all users (rows) x all books (columns), in a massive sparsely populated matrix, where the value is the rating that user gives a book. To make recommendations, the goal is to “guess“ what a user would rate a book they haven’t read, and if your guess is they would give it 5 stars, and then you recommend it, and the user gives it 5 stars, it’s a good recommendation. The “latent factor” idea is breaking the problem up, so in order to compute the rating matrix that is the final size N users by M books, you split it into: N users x D latent factor (cross product) D latent factor x M books = N users x M books It then becomes a machine learning problem, using a loss function plus gradient descent, to solve for that D latent factor. Customers with a similar latent factor, will have similar taste. Once you have the latent factors, you find the nearest neighbors (the closest other latent factor vectors measured by dot product or cosine similarity), to compute the nearest books. The vectors that multiply together to give the highest rating, will be the best recommendations for the user.