2 Punkte von GN⁺ 2023-10-05 | 1 Kommentare | Auf WhatsApp teilen
  • Verstreute Kommentare aus HN-Threads zu Buchempfehlungen wurden gesammelt, um mit der Chat Completions API Titel, Autoren und URLs der häufig empfohlenen Bücher zu extrahieren
  • Stand 2023 gab es auf HN etwa 200 Stories, deren Titel „book“ als eigenes Wort enthielten und die nicht auf externe Links verwiesen; verarbeitet wurden Beiträge, die wie Buchempfehlungen wirkten. Die Verarbeitung von 57k Kommentaren kostete mit gpt-3.5-turbo etwa 40 $
  • An der Spitze der Auswertung standen seit Langem auf HN wiederholt erwähnte Bücher wie Structure and Interpretation of Computer Programs mit 376 Nennungen, Gödel, Escher, Bach mit 365 Nennungen und How to Win Friends and Influence People mit 292 Nennungen
  • In der praktischen Verarbeitung beeinträchtigten ungültiges JSON, Kommentare mit nur Autorennennungen, unterschiedliche Bücher mit gleichem Titel, falsch erkannter Linktext und selbst bei temperature 0 auftretende Nichtdeterministik die Qualität
  • Die rohen GPT-Ausgaben und die Eingabe-CSV wurden veröffentlicht; durch Normalisierung wie Kleinschreibung von Titeln, Entfernen eines vorangestellten „the“ und Entfernen von Untertiteln sollten Auslassungen durch abweichende Namensformen reduziert werden

Wie Buchinformationen aus HN-Kommentaren extrahiert wurden

  • Die Arbeit begann mit dem Ziel, in Buchempfehlungs-Threads auf HN herauszufinden, welche Bücher am häufigsten empfohlen oder erwähnt werden
  • Stand 2023 gab es auf HN fast 200 Stories, deren Titel „book“ als eigenes Wort enthielt und die nicht auf eine andere Seite verlinkten
  • Aus den über die HN API bezogenen Daten wurde eine Teilmenge ausgewählt, die wie Threads zu Buchempfehlungen wirkte, und deren Kommentartexte wurden verarbeitet
  • Aus jedem Kommentar wurden per Chat Completions API die folgenden Informationen extrahiert
    • Buchtitel
    • Autor
    • URL

Die am häufigsten erwähnten Bücher

Auswertungsfehler und Datenbereinigung

  • In der ersten Liste gab es einige Fehler beim Autor-Matching
    • Der Autor von Dune ist nicht Brian Herbert, sondern Frank Herbert
    • Meditations stammt nicht von Descartes, sondern von Marcus Aurelius
    • Calculus wurde als Buch von Michael Spivak erfasst, in der betreffenden Auswertung waren jedoch auch 14 Nennungen von Apostols Calculus enthalten
  • Die SQL-Abfrage musste so geändert werden, dass sie nicht min(author) für jeden Titel zurückgibt, sondern den häufigsten Autor
  • Im Update vom 12. Oktober 2023 wurde die Top-50-Liste korrigiert
    • Javascript und Calculus wurden als Fehler eingestuft, weil mehrere Bücher mit demselben Namen vermischt worden waren
    • Javascript: The Good Parts wurde im Datenverarbeitungscode in „javascript“ umbenannt, es gab aber auch andere Bücher mit demselben Titel
    • Nach der Deduplizierung fielen diese Einträge aus den Top 50 heraus

Einschränkungen bei der Nutzung der ChatGPT API

  • Fälle, in denen kein gültiges JSON zurückgegeben wurde, traten häufig auf, wenn HN-Kommentare sehr kurz waren, etwa „thanks“, oder als Frage formuliert waren
    • In den Antworten tauchten mitunter auch Sätze wie „I apologize for the confusion…“ oder „You’re welcome!“ auf
  • Der Prompt war so gestaltet, dass Antworten mit leerem Titel verworfen werden konnten
    • Das sollte Probleme reduzieren, bei denen ChatGPT bereits reine Autorennennungen ohne konkreten Buchtitel als Bucherwähnung einbezog
  • Die Verarbeitung von 57k Kommentaren kostete mit der gpt-3.5-turbo API etwa 40 $
  • Auch bei einer temperature-Einstellung von 0 unterschieden sich die GPT-Ergebnisse von Aufruf zu Aufruf
    • Fälle von Nichtdeterminismus bei GPT-4 sind bekannt, aber auch gpt-3.5-turbo zeigte stärkere Schwankungen als frühere GPT-3-Modelle
  • Links ließen sich im Text identifizieren, allerdings mussten HTML-Tags entfernt werden, sodass nur die URL übrig blieb
    • Andernfalls griff GPT statt der tatsächlichen URL den abgeschnittenen Linktext auf

JSON-Ausgabeformat und Prompt-Bedingungen

  • Ein von ChatGPT für einen HN-Kommentar erzeugtes JSON-Beispiel hatte zwar das richtige Format, aber bis auf den Link waren alle Werte falsch
  • Die Ausgabe ist ein Array-Format mit den Feldern match, title, author und link
  • Der Prompt enthielt folgende Bedingungen
    • Buchtitel und Autoren im Dokument identifizieren
    • die Wörter anzeigen, die für den Titel abgeglichen wurden
    • abgekürzte Titel ausschreiben
    • wenn nur ein Autor erwähnt wird und kein Buch vorhanden ist, title leer lassen
    • wenn lediglich nach Empfehlungen gefragt wird, ohne ein Buch zu erwähnen, ein leeres Array zurückgeben
    • Untertitel nicht einbeziehen

Öffentliche Daten und Titel-Normalisierung

  • Die raw data produced by GPT sind nach Titel sortierte Rohdaten der GPT-Ausgabe
    • Die Spalte match enthält einen Teil des Kommentars, in dem das Buch identifiziert wurde
  • Auf Buchtitel wurde eine Normalisierung angewendet
    • Kleinschreibung
    • Entfernen eines vorangestellten „the“ im Titel
    • Entfernen von Untertiteln
  • Diese Normalisierung sollte verhindern, dass Einträge wegen von GPT erzeugter Namensabweichungen in der Abfrage der Top-Bücher fehlen
  • Die Eingabedaten werden im zipped csv format bereitgestellt und ergeben nach dem Entpacken eine Datei von 24 MB
  • Den Amazon-URLs in der Tabelle wurde ein Amazon affiliate link zu Lernzwecken hinzugefügt

1 Kommentare

 
GN⁺ 2023-10-05
Meinungen auf Hacker News
  • ChatGPT hat ein paar ausgelassen, vermutlich sogar noch mehr: https://hn.algolia.com/?q=A+non-standard+book+list+for+softw...
    In den Kommentaren gibt es noch weitere: https://news.ycombinator.com/item?id=30651273
    Diese Website wirkt wie eine clevere Methode, mit Amazon-Affiliate-Links viele Klicks zu erzeugen

    • Verdient wirklich noch jemand mit dem Amazon-Affiliate-Programm Geld? Ich dachte, das sei schon vor etwa 10 Jahren vorbei gewesen
  • Über HN bin ich durch [0b] auf Hacker Recommended Books [0a] gestoßen, habe angefangen, die dort genannten Bücher zu lesen, mehrere ausprobiert und etwa 20 gelesen. Die Erfahrung war sehr gut, ich habe viel Neues gelernt, und einige Bücher haben meinen Horizont erweitert
    Wenn man Bücher mag, kann ich sehr empfehlen, auf HN einfach nach books zu suchen und nach dem „Ask HN“-Tag [1] oder einfach nach „books“ zu filtern. Englische Bücher wähle ich inzwischen fast ausschließlich so aus, auch nicht-technische. Ich mache das seit über zwei Jahren und mag die Buchempfehlungen auf HN wirklich sehr
    In buchbezogenen HN-Threads haben sich über die Jahre hochwertige Leseempfehlungen vieler Hacker angesammelt; das ist fast eine Goldgrube. Es gibt auch Hacker News Books [2], und die Sektion Top Books of All Time [3] ist ebenfalls einen Blick wert
    [0a]: https://hacker-recommended-books.vercel.app/category/0/all-t...
    [0b]: https://news.ycombinator.com/item?id=28595967
    [1]: https://hn.algolia.com/?q=Ask+HN+books
    [2]:https://hackernewsbooks.com
    [3]: https://hackernewsbooks.com/top-books-on-hacker-news

    • Ich habe beschlossen, heute ein von HN empfohlenes Buch anzufangen. Beim Link [0a] habe ich die letzten 6 Monate ausgewählt; das ergab 58 Seiten mit Empfehlungen, jeweils 15 Bücher pro Seite
      Also habe ich mit einem 15-seitigen Würfel eine Seite ausgewählt und dann noch einmal gewürfelt, um das Buch auf dieser Seite zu bestimmen. Das Buch, das ich lesen werde, ist The Very Hungry Caterpillar
    • https://news.ycombinator.com/item?id=28595967 („Show HN: 40k HN comments mentioning books, extracted using deep learning“) ist großartig, und ich nutze es immer noch regelmäßig
    • „Hacker Recommended Books“ sah enorm nützlich aus, also wollte ich es in meinem Pinboard-Account als Bookmark speichern; dann erschien „bereits vor 2 Jahren gespeichert
      Das ist keine Kritik an der Site, sondern eher ein Seufzer über mich selbst: Ich speichere solche nützlichen Dienste in bester Absicht und vergesse sie dann trotzdem
  • Wie man billigen Amazon-Affiliate-Link-Spam noch weiter von Qualität entfernt: Man lässt ihn von „AI“ erzeugen

  • Ich bin überrascht, dass Charles Petzolds Code es nicht in die Top 50 geschafft hat. Es ist eines der zugänglichsten Bücher, um zu lernen, wie Computer tatsächlich funktionieren
    Ich habe Code auf HN oft erwähnt gesehen, aber vielleicht ist meine Stichprobe durch die Links verzerrt, unter denen ich Kommentare gelesen habe

    • Für Menschen mit Schlafproblemen ist es ein fantastisches Buch. Ich wusste nicht, dass man ein interessantes Thema wie die Grundlagen der Computerfunktion so leblos und langweilig machen kann – und dass man dafür so viele Wörter braucht
      Ich lese es gerade, aber bevor ich mehr als 3–4 Seiten schaffe, geht bei mir das Licht aus, deshalb dauert es ewig
    • Das Buch hat etwas von „zeichnen Sie den Rest des Pferdes“. Es ist ein hervorragendes Buch, aber in der zweiten Hälfte setzt der Autor voraus, dass man die erste Hälfte nicht nur verstanden, sondern auch die Bausteine auswendig gelernt hat, sodass die restliche Erklärung im Arbeitsgedächtnis präsent sein muss, damit sie Sinn ergibt
      Die zweite Hälfte war ehrlich gesagt anstrengend. Selbst wenn ich „es verstanden habe“, hatte ich die erste Hälfte nicht wirklich auswendig gelernt
      Trotzdem gefällt mir der Ansatz, es so zu erklären, als würde man es einem Fünfjährigen beibringen. Heutzutage neigen Leute dazu, Grundlagen nicht als von Natur aus ausreichend komplex zu sehen und sie nur oberflächlich abzuhaken
    • Ich mag dieses Buch wirklich sehr. Es ist das Buch, das ich technisch nicht versierten Menschen empfehle, die die Theorie dahinter verstehen wollen, wie das Ganze funktioniert
    • Nach den Daten meiner Site HNLikes.com ist dies der Amazon-Link, der in HN-Kommentaren am zweithäufigsten auftaucht
    • Es steht ganz oben auf der von rito oben referenzierten Liste Hacker News All Time Top Books
  • Dass Knuths Bücher nicht unter den Top 5 sind, ist schon überraschend, und dass Descartes’ Meditations dabei ist, ist sehr überraschend. Selbst in Frankreich liest das heute niemand mehr; vermutlich ist das ein Ergebnis, das mit HN-Beiträgen zum Thema Meditation vermischt wurde.
    Und Dune wurde nicht von Franck Herbert geschrieben, sondern von Frank Herbert. Diesem Beitrag fällt es schwer zu glauben, und seit LLMs populär geworden sind, ist im Grunde kaum noch etwas im Internet vertrauenswürdig.

    • Dieser Beitrag hat die von GPT gelieferten Rohdaten ergänzt, sodass sich die Integrität der Daten überprüfen lässt. Aus methodischer Sicht ist er deshalb glaubwürdig.
      Unabhängig vom Medium und von der jeweiligen Publikation musste man die Integrität von Daten und Methode schon immer überprüfen. Die Verantwortung von Autor und Leser hat sich durch LLMs nicht geändert. Wenn man vor LLMs einfach alles geglaubt hat, hätte man das nicht tun sollen; und wenn man nach LLMs vertrauenswürdigen Autoren nicht mehr glaubt, ist auch das ein Problem.
    • Descartes’ Meditations on First Philosophy ist eines der wichtigsten Bücher in der Geschichte des westlichen Denkens. Zu sagen, „das liest selbst in Frankreich heute niemand mehr“, ist ungefähr so, als würde man sagen, The Origin of Species sei irrelevant, weil man niemanden in der Londoner U-Bahn damit lesen sieht.
    • Knuths Werke sind eher wie The Power Broker in der Stadtplanung: ein fachspezifischer Kanon, aber Bücher, die tatsächlich nur wenige gelesen haben.
      Ich besitze ein paar Bände, habe sie aber geschenkt bekommen und nie gelesen. Daher überrascht es mich nicht besonders, sie nicht in den Top 5 zu sehen.
    • Der Autorenname von Meditations ist falsch. Der Link führt zum richtigen Buch, aber das sind die Meditations von Marcus Aurelius.
    • Die Angabe Descartes scheint falsch zu sein. Der Link führt zu Marcus Aurelius.
  • Ich verstehe nicht, wozu ChatGPT nötig war. Algolia und Datenanalyse hätten doch gereicht; was war hier die neue und schwierige Aufgabe?

    • Es wäre großartig, anhand der Kommentare zu analysieren, welche Neigungen die Nutzer haben, die jeweils ein Buch empfohlen haben. Zum Beispiel könnte man Anteile zeigen wie: „80 % der Leute, die Ayn Rand empfohlen haben, sind politisch rechts orientiert.“
  • Der Nutzen von HN-Buchempfehlungen liegt eher im Gegenteil. In den Kommentaren weiter unten, die keine Empfehlungspunkte bekommen haben, finden sich Buchempfehlungen, von denen ich noch nie gehört habe, und genau das ist wertvoll. Diese Liste populärer Optionen ist größtenteils vorhersehbar.
    Wenn man sich in Beiträge vom Typ „Bitte empfehlt mir Bücher“ vertieft, findet man nahe am Ende wirklich hervorragende Empfehlungen.

    • Bei Musik ist es genauso. Man geht dorthin, wo Leute über eine Band sprechen, die man mag, und scrollt nach unten, bis Namen auftauchen, die man noch nie gehört hat.
  • Empfindet sonst noch jemand es als Warnsignal, wenn jemand How to Win Friends and Influence People als eines seiner Lieblingsbücher oder als eines der Bücher nennt, die ihn am stärksten geprägt haben?

    • Das sehe ich nicht so. Diese Reaktion habe ich oft von Leuten gesehen, die das Buch nicht tatsächlich gelesen haben. Viele denken, es gehe darin um Manipulationstechniken, tatsächlich ist es ein sehr grundlegender Leitfaden dafür, Freunde zu finden und Freundschaften zu pflegen.
      Wenn man bereits einen Freundeskreis hat und sich keine Sorgen macht, ihn aufrechtzuerhalten, kennt man vermutlich fast alles, was in dem Buch steht. Für jemanden, der immer als Einzelgänger aufgewachsen ist, waren die Ratschläge in diesem Buch wirklich nützlich. Es war wie eine Zusammenfassung von sozialen Fähigkeiten, die ich mit 10 hätte lernen sollen, aber nicht gelernt habe.
      Das einzige „Warnsignal“, das ich bei jemandem sehe, der dieses Buch erwähnt, ist, dass er wahrscheinlich – wie ich – irgendwann einmal sozial sehr unbeholfen war. Vielleicht ist er es noch, aber immerhin versucht er, sich zu verbessern.
    • Für Menschen mit sozialer Angst, im Autismus-Spektrum oder mit einer Mischung aus beidem hat es große Wirkung. Dieses Buch hat mir beigebracht, wie man mit Menschen spricht, und mich von starker sozialer Angst und Isolation hin zu einem Leben geführt, in dem ich mit anderen Menschen sprechen und sie kennenlernen kann.
      Die meisten Menschen in meinem Umfeld brauchen dieses Buch wahrscheinlich nicht, und vielleicht wirkt es auf sie ein bisschen albern. Für mich war es aber ein Wendepunkt, und ich vermute, dass es auf HN viele mit ähnlichen Erfahrungen gibt.
    • Nein. Es ist eine solide Lektüre über menschliches Verhalten.
  • Die Meditations in der Liste scheinen, wenn man sich die Rohdaten unten auf der Seite ansieht, nicht auf Descartes’ „Meditations on First Philosophy“ zu verweisen, sondern auf das Werk von Marcus Aurelius.
    Das ist nur eine Teilprüfung, keine vollständige Untersuchung. In den Rohdaten gibt es zwar auch viele Erwähnungen von Descartes, aber meistens beziehen sie sich auf andere Werke. Ich halte das für einen interessanten Fehler.

  • Eine immer bessere Frage, die man sich heutzutage stellen kann, ist: Wie ließe sich das ohne direkten Einsatz von LLMs, noch weitergehend sogar ohne Machine Learning, machen? Danach kann man in einem zweiten Schritt fragen, wie potenzielle Unterstützung durch generative Tools oder Machine Learning diese Lösung verbessern könnte.

    • Ich habe eine Version davon mit langweiliger Technik (Postgres, Django, Python) gebaut. Sie zählte, wie oft in HN-Kommentaren nicht nur Buchlinks, sondern auch YouTube-Videos, arXiv-Paper usw. auftauchten, und führte auch verschiedene Berechnungen zu den Personen durch, die die Links posteten, sowie zu den Antworten auf diese Links.
      Die Realität ist: Mit langweiliger Technik ist es schwer, Aufmerksamkeit und Engagement zu bekommen.
    • Ich denke, ein großer Teil der Basisarbeit, die man mit LLMs macht, wäre auch ohne Machine Learning möglich. Interessant ist aber trotzdem, zu lernen, wie man mit LLMs spannende Dinge macht, und dass die Obergrenze deutlich höher liegt als bei traditionellen Methoden.
      Zu lernen, wie man neue Werkzeuge auf alte Aufgabenarten anwendet, ist ebenfalls nützlich und erhellend.