* UI - once someone clicks "Add" you really should remove that item from the suggested list - it's very confusing to still see it.
* Beam search / diversification -- Your system threw like 100 books at me of which I'd read 95 and heard of 2 of the other 3, so it worked for me as a predictor of what I'd read, but not so well for discovery.
I'd be interested in recommendations that pushed me into a new area, or gave me a surprising read. This is easier to do if you have a fairly complete list of what someone's read, I know. But off the top of my head, I'm imagining finding my eigenfriends, then finding books that are either controversial (very wide rating differences amongst my fellow readers) or possibly ghettoized, that is, some portion of similar readers also read this X or Y subject, but not all.
Anyway, thanks, this is fun! Hook up a VLM and let people take pictures of their bookshelf next.
This is how filmaffinity works, which is the best recommendation system I've tried. They have a group of several dozen 'soulmates', which are users with the most similar set of films seen and ratings given; recommendations are other stuff they also liked, and you get direct access to their lists.
>then finding books that are either controversial or possibly ghettoized
Naively, I’d say the surprises are going to be better if you filter more different friends, rather than more controversial books among your friends. As in “find me a person that’s like me only in some ways, tell me what they love”. Long term this method is much better at exposing you to new ideas rather than just finding your cliques holy wars.
To be useful, the "Intersect" page should have:
- find near matches when there is no exact match with every book,
- ignore fake users (can any human read 80k books in many languages?),
- do not ignore users' votes (my input was books I liked, I expected to find users that rated them highly).
With the "Recommend" page I had the same problem as the GP, and all the recommendations were useless. To fix that, I think some features are needed:
- do not list books by authors from my list (I don't need recommendations for them),
- add a button for marking a suggested book as "disliked" (at the bare minimum, it should remove it from the suggestion, and ideally it should influence le suggestions as much as a "liked" book),
- do not suggest several books by the same author,
- add a button to hide a suggestion or show more suggestions (there were dozens of books I'd read but wouldn't rate high).
Fake users I would agree should be filtered, but I don’t think filtering out users who gave it a bad review is necessarily the intended behavior. If I put in 3 semi obscure Russian history books, I am presumably looking for someone who is an expert in Russian history to see what else they read. In that case I don’t care if they didn’t like one of the books or not. Approximate matches would require something like LSH or cosine similarity of average input book embedding against average embedding of read books of every user which I think wouldn’t work well anyone for retrieving anyone with a moderately long interaction history.
So I think the problem was not in the existence of similar readers, but in the way to reach them. Few people that read classical books log in Goodreads (I don't) and even fewer input what they've read over the past decades.
"[...] you agree not to sell, license, rent, modify, distribute, copy, reproduce, transmit, publicly display, publicly perform, publish, adapt, edit or create derivative works from any materials or content accessible on the Service. Use of the Goodreads Content or materials on the Service for any purpose not expressly permitted by this Agreement is strictly prohibited."
Also did the reviewers give you permission to fed their content into an LLM?
In the US there’s a major precedent [0] which held that scraping public-facing pages isn’t a CFAA "unauthorized access" issue. That’s a big part of why we’ve seen entire venture-backed scraping companies pop up - it’s not considered hacking if the data is already public.
> However, after further appeal in another court, hiQ was found to be in breach of LinkedIn's terms, and there was a settlement.
So why would the same not apply here?
These were some of the notable elements (worth noting that none mention breaching terms of service):
> Damages: Judgment in the amount of $500,000 is entered against hiQ, with all other monetary relief waived.
> CFAA liability: hiQ stipulates that LinkedIn experienced losses sufficient to, and “may establish liability” under a CFAA civil claim “based on hiQ’s data collection practices and based on hiQ’s direct access to password-protected pages on LinkedIn’s platforms using fake accounts.”
> California “CFAA”: hiQ stipulates that LinkedIn “may establish civil liability” under California’s state-law counterpart to the CFAA based on hiQ’s data collection practices, use of fake accounts and other means to evade detection by LinkedIn, hiQ’s direct access to password-protected pages on LinkedIn’s platforms using fake accounts, and hiQ’s unauthorized commercial use of data.
> Trespass: hiQ stipulates that LinkedIn has established judgment as to liability under California law for the common law torts of trespass to chattels and misappropriation.
> Irreparable harm: hiQ stipulates that LinkedIn has established that it has suffered an irreparable injury and that LinkedIn satisfied the remaining factors and is entitled to a permanent injunction.
https://natlawreview.com/article/hiq-and-linkedin-reach-prop...
In America, you can simply pay to not lose any lawsuit ever, and thus never have to face legal consequence or changes to the law you don't like.
And this is the system in most of the world, even if the nomenclature is different between common law countries and civil and others.
This was part of the terms of the settlement.
Google for example has a TOS and is well known for permanently banning accounts for real or imagined or AI-generated violations of it. Google banning you for breaking TOS doesn't mean you broke the law, just that you broke their rules, which apparently include a clause against being in the wrong place at the wrong time.
I imagine that a contract in which someone agrees to become a slave would be void.
Your textbook versus reality conceptualization of things is dogshit. It’s exploitation to do what OP did. You’re endorsing it and minimizing the ethics and this certainly shall poison the well from which you drink. Godspeed.
Out of curiosity, is your point about TOS out of concern for the poster or for Goodreads?
So does it feel to you guys like your comments, say, here in this Hacker News thread should be considered effectively copyrighted as your personal IP?
If so, do you feel the same way about opinions you share out in a supermarket or on the street?
> If so, do you feel the same way about opinions you share out in a supermarket or on the street?
Well being novel isn't the only criteria for copyright, the work must also be "fixated", and opinions in a supermarket usually isn't (but they can be, if I film them and post on reels or something; then the video itself is copyrighted)
https://copyrightalliance.org/education/copyright-law-explai...
> Fixation
> To meet the fixation requirement, a work of authorship must be fixed in a tangible medium of expression. Protection attaches automatically to an eligible work the moment the work is fixed. A work is considered to be fixed so long as it is sufficiently permanent or stable to permit it to be perceived, reproduced, or otherwise communicated for a period of more than transitory duration.
(not a lawyer)
You could try to argue that this falls under "create derivative works from any materials or content accessible on the Service" but even then it seems really flimsy to say that recommending books based on Goodread reviews is an infringemnt.
It's just not that different to a youtuber saying "I read reviews for 50 books, here's the ones to read"
I visit your garden and take 1000 apples from your tree.
Not that different.
And I only charge a tiny subscription for access to all my drone-managed orchards, you can eat as many apples as you want. But don’t steal any and start your own orchard or I sue.
Replace your drones with China or India and you have the current situation in the US.
Apple farmers go out of business so you lose the people who create new varieties.
Steal cuttings, not the fruit, if you plan to start an orchard. From 1000 apples you'll get ~10 000 seeds, statistically you won't even end up with one good tree.
> An output of three cultivars from around 50.000 seeds means that 17.000 seeds were needed to get one cultivar. Only one out of around 9.000 scab resistant seedlings showed the appropriate quality to become a cultivar. This proportion underlines the enormous effort which is necessary to develop a new cultivar.
I suspect we need to wait for the NYT (and others) case to be decided before we know whether scraping sites in contravention of their terms is also fair use for LLM training.
My own opinion (as someone who creates written content on an occasional professional basis) is that if you can’t monetise your content in some other way than blocking people from accessing it then your content probably isn’t as valuable as you think.
But at the same time that’s tricky when it’s genuine journalism, as in NYT’s case.
Obviously user generated content reviewing books online is rather different because the motivation of the reviewers was (presumably) not to generate money. And, indeed, with goodreads there’s a strong argument that people have already been screwed over after their good faith review submissions were packaged up as an asset and flogged to Amazon. A lot of people were quite upset by that when it happened a decade or so back.
So from a ‘moral arguments’ perspective I don’t think scraping goodreads is as problematic as other scraping examples.
(Sorry, none of this was aimed at you - your comment just got me thinking and it seemed as good a place as any to put it!)
If content is publicly available that does not necessarily mean it’s free of copyright control: the justification for using the reviews to train an LLM would be based on the fact that fair use means it is not an infringement of copyright. But if the publisher has terms that forbid scraping then that may mean the fair use argument is undermined if it is precedent in the content being legitimately obtained. I’m not a lawyer but it’s quite easy to see how “books can be used for LLM training under fair use but not if you pirate them” extends to “content on the web can be used for LLM training under fair use but not if you’ve breached the terms set out by the publisher”.
I did notice that when I put in a single book in a series (in my case Going Postal, Discworld #33) that tended to dominate the rest of the selection. That does make sense, but I don't want recommendations for a series I'm already well into.
Also noticed that a few books (Spycraft by Nadine Akkerman and Pete Langman, Tribalism is Dumb by Andrew Heaton) that I know are in goodreads and reviewed didn't show up in the search. I tried both author's name and the title of the book. Maybe they aren't in the dataset.
It did stumble with some books more niche books (The Complete Yes Minister). Trying the "Similar" button gave me more books that were _technically_ similar because they were novelizations of British comedy shows, but not what I was looking for.
For more common books though it lined up very well with books already on my wishlist!
The recommendations from other authors are good, but as far as I can tell I’ve read every single one of them.
Continuing to aggressively add everything it recommends eventually does seem to result in some interesting books I wasn’t familiar with, but I also end up with more and more books that are of zero interest to me.
For what it’s worth, I started with:
Infinite Jest David Foster Wallace
Europe Central William T. Vollmann
Gravity’s Rainbow Thomas Pynchon
White Noise Don DeLillo
One Hundred Years of Solitude Gabriel García Márquez
It is possible that there simply aren’t many books like these in existence, so the pool of relevant recommendations gets exhausted fairly quickly. I’d guess trending towards unrelated popular books is also just a feature of the source data, that largely sums up my experience with goodreads anyway.Very cool project though. I did end up ordering a couple of new books, so thank you very much.
[1] https://www.cs.cmu.edu/~jgc/publication/The_Use_MMR_Diversit...
I’ve only had a short play but a solution to this problem might be to show authors rather than books. Or select authors outside of the list the user has shared and then a top n (1,3,5) for each of those.
I feel like that’s how you’d recommend to someone else - type of book -> unknown author -> best matching few books from them.
After that the other side would be trying to find some diversity (if you think I’d like author X, personally you might suggest three different styles of book from them rather than three very similar books from them)
If you haven't already read it, you might like Lawrence Durrell's Antrobus [1].
[1] https://www.goodreads.com/book/show/759709.Antrobus_complete
My advice from someone who has built recommendation systems: Now comes the hard part! It seems like a lot of the feedback here is that it's operating pretty heavily like a content based system system, which is fine. But this is where you can probably start evaluating on other metrics like serendipity, novelty, etc. One of the best things I did for recommender systems in production is having different ones for different purposes, then aggregating them together into a final. Have a heavy content-based one to keep people in the rabbit hole. Have a heavy graph based to try and traverse and find new stuff. Have one that is heavily tuned on a specific metric for a specific purpose. Hell, throw in a pure TF-IDF/BM25/Splade based one.
The real trick of rec systems is that people want to be recommnded things differently. Having multiple systems that you can weigh differently per user is one way to be able to achieve that, usually one algorithm can't quite do that effectively.
https://www.goodreads.com/robots.txt
So legalities aside, this seems unethical.
This obsession with "everything must be commercialized" is really killing creativity.
Now if the author was commercializing other peoples reviews, sure, it's potentially(!) unethical. But scraping a website for reviews that are publicly(!) posted, training a recommendation LLM and then sharing it, for free, seems ... exactly the ideal use case for this technology.
At the same time, everything you ever posted online has already been scraped by hundreds (maybe thousands) of entities and distributed/sold to countless other entities. The only difference is that OP shared his project here.
Stabbing people with swords is evil, unless they are so big that to them it's at worst a light poke with a fork
Blindly violating it is bad manners, but deliberately scraping a single website over a month isn't the worst.
No, or at least make it configurable.
I’d agree for series, but not for Authors, just because I once read a book by someone doesn’t mean I even know they have other stuff, the list of Authors I read and enjoyed is very long.
VERY few authors write consistenly good books.
If you liked one book by an author, it is not at all likely that you will like the other books as well. For example, Neil Stephenson is probably my favorite author alive today, but I hate almost half of his books.
The only author that I can think of where I read and liked every single book was Terry Pratchett, and that might have be a case of "I was still young and easy to impress".
I also i need a way to describe its recommendations as "meh". For example, if I put Gone Girl in, I get Girl on a Train. Which, personally, I thought was bad. I want to exclude that from all future rec sets, and ideally align my preferences to the intersection of liked A and disliked B. vOv
I would also really like a possibility to add negative signal. It did also recommend books that seemed interesting to me but I ultimately didn’t like.
Overall quite impressive.
Sadly my experience with the book recommender isn't too great because of the 64 book limit. If I import either the most recent or least recent 64 book, 95% of the books it recommends to me are books I've read. Though it was helpful for spotting a few books I've read that I didn't log on Goodreads. Guess I'm pretty consistent.
One suggestion would be to make the search less strict on diacritics. Searching for popular cook J. Kenji López Alt was only successful if I entered the correct O.
1.Sid Meier’s Memoir!: A Life in Computer Games — Sid Meier 2.Source Code: My Beginnings — Bill Gates 3.Build: An Unorthodox Guide to Making Things Worth Making — Tony Fadell 4.Prince of Persia: The Journals — Jordan Mechner 5.A Theory of Fun for Game Design — Raph Koster 6.Ask Iwata: Words of Wisdom from Satoru Iwata, Nintendo’s Legendary CEO — Viz Media (Editor) 7.Control Freak: My Epic Adventure Making Video Games — Cliff Bleszinski 8.Once Upon Atari: How I Made History by Killing an Industry — Howard Scott Warshaw 9.Press Reset: Ruin and Recovery in the Video Game Industry — Jason Schreier 10.Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture — David Kushner
Tigana, Hyperion, A Fire Upon the Deep, Blindsight, Moby Dick
and I got a list. Sure, read all that or wasn't interested for reasons, I added (only Neuromancer on initial recommendations):
Neuromancer, VALIS, Quantum Thief, Towing Jehovah.
List did not get more interesting.
Book recommendations are still kind of difficult.
I won't tell you exactly what to do, but one way to do it is to measure your surprise with me choosing each of those 8 books when you provide a recommendation back to me of what I should read next. I think I get kind of that experience talking to someone about books.
The algorithm didn't do that.
Another thing I noticed is that it tends to recommend 2nd and 3rd books in a series, which is a bit so-so. If I add the first book in a series, I probably already read the whole series...
"It is difficult to pinpoint a single "most helpful" negative review of Original Sin by Jake Tapper, as helpfulness ratings on platforms like Amazon or Goodreads are dynamic and subjective, and the provided search results *do not include specific user reviews with their respective helpfulness votes*."
Some five years ago I was day dreaming about recommendation engine for movies where you could say "hey Ciri, give me a good gangster flick", and it will come up with something that you haven't seen yet but you'd definitely love.
To my amazement almost everyone, even true AI believers, thought it was impossible to achieve. :d
But my question is - having such huge dataset, do we really need AI for it? SASRec/RAG is sexy, but could the same result be achieved with simple ranking and intersections like lastfm did in the past with music?
Some twenty years ago I came up with an idea of "brain" data structure for recommendations where you have all your items (books, movies or articles) modeled as a graph, and whenever you pick something it makes a ripple effect, effectively raising scores in cascade of every adjecent item.
Just like your brain works - when you stumble upon something new it immediately brings back memories of similar things from the past. I never had the opportunity to implement it and test in real life scenario, but I'd be surprised if a variant of this is not widely used across different recommendation systems, like Amazon.
I mean. Is it possible? Hey Zeroq give me a good gangster flick please?
How will you know what i have seen and what I haven’t yet? How will you know what movies I like? Are there even good gangster flicks i would enjoy and haven’t seen yet?
The way the problem is phrased it sounds like your dream recommender has two properties: “it doesn’t receive any other information than what is in the prompt” and “it always recommends a movie you haven’t seen and will enjoy”. Those together are what makes your dream recommendation engine impossible. If you relax those then of course it is possible. That’s just a recommendation engine.
Anyway. I can totally see such site running purely on statistics. Every song, every artists, every genre is a bucket. You listen to a song you put a drop in these buckets. Once there's enough water running we can compare you to other users and their buckets.
It might be hard to run it on scale in real time, but c'mon, it's leetcode junior level assignment level of complication.
But I think to break the content-bubble effects to find the longer tail, some way to reject or blacklist things - and have that be taken into effect in the model - might help.
Feature request: Exclude books already in shelf. This is harder I'm sure. I've got 1146 books in my Read shelf.
Here is the URL with your books: https://book.sv/#52752877,46049530,18437030,52480873,3260654...
Strongly recommend giving that a try yourself. And trying to build an algorithm around it!
Here’s an example: Tolstoy really admired Turgenev, who was friends with Theodore Storm and Gustave Flaubert, and greatly admired Gogol.
If you like Anna Karenina you’ll probably find something of value in Torrents of Spring, Immensee, Madame Bovary or Dead Souls.
It spiders out pretty quickly!
here's my recommendations feature: https://thegreatestbooks.org/recommendations
It's much more powerful if you're a member. you can restrict the results to certain genres or book lengths, as we as published date ranges, etc. If someone wants to try out the more powerful feature, DM me and i'll mark your account as a member.
By the way you could use Summa FTS Wasm + Duckdb Wasm to have the same website without any backend except file hosting. Maybe even just Duckdb Wasm with it's FTS would be enough. Summa FTS is very similar to meilisearch in essence because they're both derived from Tantivy.
I think I could get the model to work with ONNX web but it'd be a 2GB download so the user experience wouldn't be too great. My Meilisearch index is ~40GB but I don't know how much that could be compressed down.
Here's how the similar page for books is generated, which I forgot to mention on the "how it works" page: https://gist.github.com/chris124567/8d06d64bfe827cb7f6121f93...
For example, the title "Impro: Improvisation and the Theatre" by Keith Johnstone, linked by another article posted to HN today gives back the following suggestions:
- Truth in Comedy: The Manual of Improvisation by Charna Halpern - Steve Jobs by Walter Isaacson - 1984 by George Orwell - Harry Potter and the Sorcerer's Stone (Harry Potter, #1) by J.K. Rowling - Sapiens: A Brief History of Humankind by Yuval Noah Harari - The Alchemist by Paulo Coelho - The Tipping Point: How Little Things Can Make a Big Difference by Malcolm Gladwell - Dune (Dune, #1) by Frank Herbert
It's a bit unfortunate that all suggestions are fairly popular titles, which are fairly easy to find, while the unpopular or niche may be just as well written but a lot harder to find.
Within niche topics or books, it is also usually harder to provide multiple similar enough titles up front.
Honestly this would finally be the web2.0 we all wanted & hoped for. It's against majesty that it's all captured owned user content that is legally captured by essentially public message boards/sites.
SASRec was released in 2018 just after transformer paper, and uses the same attention mechanism but different losses than LLMs. Any plans to upgrade to other item/user prediction models?
Other models include Google's TIGER model which uses a VAE to encode more information about items. Similar to how modern text-to-voice operates.
in addition to the goodreads data, i think it would be interesting to add an author's favorite books by scraping their paris review interviews (and other interviews) and using that as a "review" because i've learned about so much good stuff through an artist mention.
and in a retail context, i've always wondered if a recommendation engine like this could have its own "flavor" based on a specific store's customer buying history. like if a bookstore's customers were weighted in the algorithm so that their similarities scores were given preference. much of what a bookstore carries is based on their customers' taste. you could use the goodreads etc as the base recommendations and then train it on a bookstore's sales history.
a project like this is a bit outside of my expertise but i have a tiny bit of knowledge about it, and now i have a lot more to learn after seeing this. if anybody has any good book recommendations (hehe) or papers i should read to learn about these sort of systems, please let me know!
thank you for sharing!!
Any chance we could get an API going at some point? Are you planning to open source the work?
I'm interested in the scrapping of Goodreads too. I'm building a book metadata aggregation API and plan on building a scrapper for Goodreads, but I imagine using a data center IP address will be a problem very fast. Were you scrapping from your home network?
Re the API: The model does actually run fairly well on CPU so it probably wouldn't be too expensive to serve. I guess if there is demand for it I could do it. I think most social book sites would probably like to own their recommendation system though.
So filtering would be great,
I have seen a few versions of the same books listed more than once.
Loved this. Hope you get to tune it a little.
Also, thank you for not ruining the site with a single popup, email subscription list offer, chatbot, wheelspin from hell anywhere.
Blessings from the popup hating part of the interwebs.
- Guns Germs and steel - The Alchemist - The Ramayana (a few others)
Harry Potter and the sorcerers stone came up in all of them near the top. :D
The idea seems good, but since I can't import my GoodReads successfully, it's hard for me to try
p.s. one idea: when you click [Add] on the recommended books list, it should remove it from that list
p.p.s. if there is a way to filter out the spam "Summary of ____" books, that would be good too
I would love to be able to add a recommendation system based on this.
It did suggest Murderbot Diaries (not on the input but a series I have read and did like) and an Adrian Tchaikovsky I hadn't read :).
ChatGPT does a fairly good job at letting you negate/refine whatever it was you where looking for.
Feature request: Be able to import all my goodreads books, unread as well. Not only 64. Most of the recommendations were already on my shelf.
I don't see anyone saying safety or ethics, so I'll just put it out there that it has some safety and ethical considerations you should consider.
Consider "inflammatory" books and how they could be used to harm a group of people. Although I recognize folks post this "publicly", I think the intersection feature provides more than Goodreads.
Let's say, people who have read "Mein Kampf" & "The Anarchists Cookbook" or some other combination that say "Antifa" to the current regime.
I'd recommend you have a list that you consider private, always and allow Users to add to that list so it's more scalable. If folks try to intersect with anything in that list, you can warn that you don't allow intersection with private books.
Anyway, super fun demo!
Also, I don’t use them but based on forum posts I read I think other services like LibraryThing or Storygraph do expose similar information about book readers.
Mein Kampf is absolutely terrible piece of literature not by it's message but by it's quality. It's exactly something I would expect to find in Alex Jones cell if we would sentence him to a year of solitary confinement.
[1] just a tiny exaggeration
I don't think anybody needs to be protected from themselves sharing things intentionally.
I should be able to mark recommended books as "Read, Liked"; "Read, Didn't Like"; "Remove, Other Reason"
and then allow a rerun of Recs, based on additional info
These seem to fit the description you are going for better. The model is trained to predict the next book in the sequence. Those other books you listed happen to be very popular, so in the absence of information about you (only having 1 book), the model will tend to recommend those.
I add those I like to the list, ignoring those I didn't, and in the end I just end up with recommendations I already read and didn't like.
I feel like wasted my time yet with another smart recommendation system.
We are rapidly replaying the worst of the Resource Curse.
Thanks for the new reading list :D
Besides title, I'd like to provide suggestion on what type of books I am looking for.
- It seems to mostly show me books I've already read and know of, including sequels of what I added, which isn't very useful.
- It ultimately seems to prioritize "highest rated in category" too much, rather than focusing more on what made my chosen books stand out over others.
- Needs a "disliked books" list, especially when the recommendations show me a lot of superficially similar books I hated. I'd like to blacklist them.
- Would be cool to have a discovery mechanism for less popular and even obscure titles. Again, the top picks of each category are very well-known.
- Might not be practical, but I'd like some way to filter by specific features of reviews. E.g. prioritize reviews that say "the MC is a psychopath/murderhobo/rapist" higher for anti-recommendation, ignore reviews that say "whiny character", etc.
Also People of HN: - I built an HN aggregator that shows sentiment analysis of comments and . . .
For a while now I have really wanted good book recommendations matching my tastes. The LLMs suck at this (likely due to the mode collapse that Karpathy mentioned in his excellent podcast appearance on Dwarkesh) and Amazon is very good but only recommends based on the current book you're browsing.
I will try this out now! But could you increase the number of books fed to the recommender or maybe get the top-64 highest rated books instead of just the most or least recent 64?
Steve Jobs by Walter Isaacson
Harry Potter and the Sorcerer's Stone (Harry Potter, #1) by JK Rowling
Topology by James R Munkres
and so on.. Munkres' book is relevant and I want to read it, but what have Steve Jobs and Harry Potter got to do with with mathematics?
https://book.sv/similar?id=211570
> Note 1: If you only provide one or two books, the model doesn't have a lot to work with and may include a handful of somewhat unrelated popular books in the results. If you want recommendations based on just one book, click the "Similar" button next to the book after adding it to the input book list on the recommendations page.
Most people that have read a mathematics textbook have also read and enjoyed Harry Potter.
Given you have enjoyed drinking water and breathing in the past, there is a high likelihood that you will enjoy watching the Star Wars films.
HNUser - “OpenAI told you to go swivel until they made a billion and you accepted that. Samesies “
Do you know how your model compares to Cinematch's SVD? Does your model use only books rated highly or also include low rated ones?
Netflix used to have a great recommendation engine based on what you liked/disliked. It included all of their members ratings. They had a contest in which they offered $1M to anyone who could improve their algorithm by 10%. The winning team used some kind of customized version of Singular Value Decomposition. The algorithm is public.
I think it is essential to use the negative ratings.
One request, it would be nice to not have to add Goodreads, since I don't use it. I've love to be able to enter a couple of book titles or an author and just get recommendations!
I put in Thinking in Systems and got a bunch of engineering management stuff which I don't care about. Deep work of course gave me all the rich dad poor dad, steve jobs bio, tim ferriswheel crap which shouldn't surprise me at all. Girl with the dragon tattoo gave me the rest of the series.
Thematic similarity + popularity just seems boring, I'd like something that surfaces unusual deep cuts that I wouldn't necessarily find at the book store on the same shelf, but maybe that I could find if I went to a great library and might be out of print, or that I could find on libgen.
With these:
- Thinking In Systems: A Primer
- Paddle to the Amazon: The Ultimate 12,000-Mile Canoe Adventure
- The Elements of Typographic Style
I was kind of hoping to at least get "Grid Systems in Graphic Design" or something, but mostly got Alchemist, Zen', Into the Wild, almost comically mainstream cuts that of course in some cases I've already read or could find in a Cupertino trash can, not that any of them are not worth reading necessarily, but very typical.
An option to surface rarer choices that combine signals from all the books on the list would be neat, like in the above case, the least read real adventure book that somehow touches on the economics of places travelled through with musings about signage or that just happens to use a similar prose that Robert Bringhurst used to make print design theory not dull. Recommendations that only someone with a real sweaty and weird venn diagram of genuine personal deep interests might conjure up, and that a normal person might say "why the hell would I ever read that" but that otherwise amazing books that are just slept on and might never have found a market, or maybe thematically dissimilar+ conceptually similar in aggregate + unpopular. I'd like to be able to input a seed of inspiration that I haven't been able to find the next deeper step in, rather than all the books on how to start a startup in the garage I don't have. If it's James Hoffman's book on brewing coffee at a high level, I wouldn't want another YouTubers book on brewing coffee at a high level, I'd want the Physics of Filter Coffee, or something in an adjacent sphere grid / tree branch that gives me a way to pursue depth AND breadth but not necessarily the same book by someone else, or the same book with different characters. If I've found a seedling or a mushroom, I'd like to explore the root system of that fruiting body, and then at a certain point find a new seedling based on what I've learned so far, or the one video with 50 views that's somehow the best explanation of how to handle back-pressure in highly concurrent systems after I've realized that I don't know shit about concurrency, but not so deep in the stack that I can't bridge the gap; make the series for me.
Granted, my take here might just be an indictment of reviews in general, or at least those sourced from a generic site like goodreads/amazon which is all about popularity and armchair criticism.
Great project anyway, thanks for sharing and responding to my stream of consciousness, I certainly didn't mean to be insulting and hope my tone didn't come across that way.
Everything about this concept I hate and it’s difficult not to conflate that with the creator. I make comparisons and equivocations. This is an ethical discussion akin to “Can you enjoy Bill Cosby comedy knowing he was a Rapist” and I’m not being glib.