Would love to learn more about how this is built. I remember a similar project from 4 years ago[0] that used a classic BERT model for NER on HN comments.
I assume this one uses a few-shot LLM approach instead, which is slower and more expensive at inference, but so much faster to build since there's no tedious labeling needed.
> Would love to learn more about how this is built. I remember a similar project from 4 years ago[0] that used a classic BERT model for NER on HN comments
Yes, I saw that project pretty impressive! Hand-labeling 4000 books is definitely not an easy task, mad-respect to tracyhenry for the passion and hardwork that was required back then.
For my project, I just used the Gemini 2.5 Flash API (since I had free credits) with the following prompt:
"""You are an expert literary assistant parsing Hacker News comments.
Rules:
1. Only extract CLEARLY identifiable books.
2. Ignore generic mentions.
3. Return JSON ARRAY only.
4. If no books found, return [].
5. A score from -10 to 10 where 10 is highly recommended, -10 is very poorly recommended and 0 is neutral.
6. If the author's name is in the comment, include it; otherwise, omit the key.
JSON format:
[
{{
"title": "book title",
"sentiment": "score",
"author" : "Name of author if mentioned"
}}
]
Text:
{text}"""
It did the job quite well. It really shows how far AI has come in just 4 years.
Thanks. I now run a two-step process: first pass reads through all posts and comments to extract patterns, second pass uses those to generate the content. Should be much more representative of your full year now :)
My impression was the same as the poster: it still over-indexes on a couple of recent posts.
Of course, it's possible that we've both been repeating ourselves all year long! I mean, I know I do that, I just think I've ridden more hobby horses than it picked up. :-)
It's fun, though. Thanks for sharing - a couple of my "roasts" gave me a genuine chuckle.
Perhaps it should also avoid putting too much emphasis on several comments to the same story: there was a story about VAT changes in Denmark, where I participated with several comments; but the generator decided that I apparently had a high focus vat, when I just wanted to provide some clarifying context to that story. I wonder how comments are weighed, is it individually or per story?
Specifically this roast:
> You have commented about the specific nuances of Danish VAT and accounting system hardcoding at least four times, proving you are the only person on Earth who finds tax infrastructure more exciting than the books being taxed.
Yeah, but I did it on the same story (i.e. context).
Though the other details it picked up, I cannot really argue with: the VAT bit just stood out to me.
reply