1 poin oleh GN⁺ 2025-11-07 | 1 komentar | Bagikan ke WhatsApp
  • Jika pengguna memasukkan buku yang telah dibaca, model rekomendasi akan menyarankan buku berikutnya untuk dibaca
  • Hanya buku dengan ambang popularitas minimum yang disertakan dalam hasil pencarian dan rekomendasi
  • Buku dengan popularitas rendah dapat dimanfaatkan di bagian lain situs (intersect)
  • Hasil rekomendasi paling akurat diberikan saat memasukkan 3 buku atau lebih
  • Implementasi eksperimental dari teknologi rekomendasi bacaan yang dipersonalisasi dengan memanfaatkan data ulasan berskala besar

Fitur rekomendasi buku

  • Jika pengguna memasukkan buku yang sudah dibaca, sistem memberikan hasil rekomendasi berbasis model
    • Berdasarkan daftar buku yang dimasukkan, sistem menyarankan buku yang layak dibaca berikutnya
  • Dalam hasil rekomendasi dan pencarian, hanya buku yang memiliki tingkat popularitas tertentu ke atas yang disertakan
    • Buku di bawah ambang popularitas dikecualikan dari hasil rekomendasi
Iklan

Metode input dan pencarian

  • Hasil ditampilkan saat memasukkan dua huruf atau lebih di kotak pencarian
  • Buku yang dipilih pengguna ditampilkan di area Selected Books,
    dan jika belum ada yang dipilih, akan muncul teks “No books selected yet”

Fitur tambahan

  • Buku dengan popularitas rendah dapat dimanfaatkan secara terpisah di halaman /intersect
  • Jika memasukkan 3 buku atau lebih, akurasi rekomendasi meningkat

Ikhtisar layanan

  • Situs ini menggunakan model rekomendasi yang berbasis pada data ulasan Goodreads berskala besar (3 miliar ulasan)
  • Tujuannya adalah memberikan pengalaman rekomendasi buku yang dipersonalisasi sesuai riwayat bacaan pengguna
  • Tidak ada detail teknis tambahan atau penjelasan algoritme dalam teks asli

1 komentar

 
GN⁺ 2025-11-07
Opini Hacker News
  • Saya penasaran apakah ini melanggar pasal 4 ketentuan layanan Goodreads
    Tertulis bahwa “konten dalam layanan tidak boleh digunakan untuk memodifikasi, menyalin, mendistribusikan, membuat karya turunan, dan sebagainya”, jadi sepertinya perlu izin eksplisit untuk memakai konten para pengulas guna melatih LLM
    • Di zaman sekarang saya rasa klausul seperti ini tidak terlalu berarti
      Legalitas scraping berbeda tergantung yurisdiksi. Di AS, lewat preseden HiQ Labs v. LinkedIn, scraping halaman web publik diakui bukan pelanggaran CFAA. Karena itu banyak bermunculan startup scraping data publik
    • Secara teknis ini bukan penggunaan publik atas karya Goodreads itu sendiri
      Informasi yang ditampilkan di situs hanya judul dan penulis, dan itu bukan milik Goodreads.
      Mungkin bisa dianggap kena klausul “membuat karya turunan”, tetapi sulit melihat rekomendasi buku berbasis ulasan sebagai suatu pelanggaran.
      Kurang lebih setara dengan YouTuber yang membuat video “buku rekomendasi setelah membaca 50 ulasan”
    • Belakangan ini bahkan melatih seluruh buku ke LLM dianggap fair use, jadi kemungkinan ulasan juga tidak memerlukan izin. Meski begitu, saya tetap ingin mendengar pendapat ahli hukum
    • Saya tidak paham kenapa menanyakan sesuatu yang jawabannya sebenarnya sudah diketahui
  • Saya terus menambahkan buku lalu mendapat pesan “terlalu banyak”. Ide yang benar-benar menarik
    Tapi saya punya beberapa saran
    • UI: buku yang sudah ditekan “Add” sebaiknya hilang dari daftar rekomendasi. Kalau tetap ada jadi membingungkan
    • Keragaman rekomendasi: sistem memang sangat akurat menebak buku yang sudah pernah saya baca, tetapi penemuan baru masih sedikit.
      Kalau daftar buku yang sudah saya baca cukup banyak, akan menarik jika sistem mencari pembaca yang mirip dengan saya (‘eigenfriends’) lalu merekomendasikan buku yang kontroversial atau selera minoritas yang mereka baca
      Selanjutnya akan menarik kalau VLM dihubungkan agar input bisa lewat foto rak buku
    • Di halaman “intersect” situs itu, kita bisa memasukkan beberapa buku untuk mencari himpunan pembaca yang sama.
      Misalnya, jika memasukkan “Lenin’s Tomb” dan “Secondhand Time”, kita bisa melihat buku lain yang dibaca oleh orang-orang yang membaca keduanya.
      Ini mirip dengan cara kerja Filmaffinity. Mereka memberi rekomendasi berdasarkan kelompok pengguna dengan selera mirip yang disebut ‘soulmates’
      Secara pribadi saya merasa daripada buku kontroversial, rekomendasi yang lebih segar bisa didapat dengan memfilter teman yang seleranya berbeda
  • Situsnya cepat dan sangat keren
    Tapi kalau memasukkan satu buku dari sebuah seri (misalnya Discworld #33), seri itu jadi mendominasi rekomendasi. Saya ingin bisa mengecualikan seri yang sudah sedang saya baca
    Selain itu, beberapa buku yang ada di Goodreads tidak muncul saat dicari. Sepertinya ada yang hilang dari dataset
    Saat menekan tombol “Similar”, yang muncul adalah buku yang mirip secara formal tetapi konteksnya berbeda.
    Meski begitu, untuk buku-buku umum hasilnya cukup cocok dengan wishlist saya
    • Menurut saya cara penanganan seri adalah masalah terbesar
      Metrik pengujian dan pengecekan kualitasnya memuaskan sehingga dirilis, tetapi solusinya kemungkinan menghasilkan 100~200 kandidat dengan model transformer lalu menerapkan reranker
  • Dari sudut pandang orang yang pernah membuat sistem rekomendasi, mulai sekarang inilah bagian yang benar-benar sulit
    Sekarang ini masih lebih dekat ke rekomendasi berbasis konten, tetapi ke depan perlu mempertimbangkan metrik seperti serendipity dan novelty
    Dalam layanan nyata, akan lebih efektif jika ada rekomender berbeda untuk tiap tujuan lalu hasilnya digabung dengan bobot
    Misalnya mencampurkan yang berbasis konten, berbasis graf, model yang disesuaikan untuk tujuan tertentu, bahkan yang berbasis TF‑IDF/BM25/Splade
    Karena tiap orang ingin direkomendasikan dengan cara yang berbeda, penyesuaian bobot per pengguna adalah kuncinya
  • Penulis dari buku yang dimasukkan sebaiknya dikecualikan dari hasil
    Kalau saya sudah suka penulis itu, saya bisa mencari karya lainnya sendiri, jadi merekomendasikan buku dari penulis yang sama terasa tidak terlalu bermakna
    Rekomendasi yang benar-benar menarik adalah yang (1) saya suka dan (2) tidak saya duga
    Rekomendasi yang terlalu mirip berisiko menciptakan echo chamber
    • Saya setuju seri perlu dikecualikan, tetapi untuk penulis sebaiknya dijadikan opsi
      Sering kali orang juga tidak tahu ada karya lain dari penulis yang pernah dibacanya
    • Buku yang sudah pernah dibaca terus direkomendasikan juga kurang bagus
  • Saya memasukkan berbagai macam buku, dan sistem ini cukup akurat menebak buku-buku yang sudah saya baca dan sukai
    Hanya saja akan bagus kalau bisa juga menambahkan sinyal buku yang tidak disukai (negative signal)
    Secara keseluruhan hasilnya cukup mengesankan
  • Di robots.txt tertulis jelas larangan scraping (disallow)
    Terlepas dari persoalan hukum, ini terasa tidak etis
    • Sebagai orang yang sering menulis ulasan di Goodreads, penggunaan seperti ini terasa tidak menyenangkan
  • Sepertinya buku yang ditambahkan paling akhir memberi pengaruh berlebihan pada hasil rekomendasi
    • Ini karena sifat positional embedding
      Item terakhir tercermin sebagai yang paling relevan untuk prediksi interaksi berikutnya
      Jika menambahkan lebih banyak buku, efek ini akan berkurang
  • Kami sudah membangun dataset ini sejak 2016, dan itu sudah tercakup
    Saat ini sedang dalam beta tertutup TestFlight dan akan segera dirilis
  • Sekitar 5 tahun lalu saya membayangkan sebuah mesin yang bisa menemukan film baru kalau saya berkata “rekomendasikan film gangster yang bagus
    Waktu itu kebanyakan orang bilang itu mustahil, tetapi sekarang tampaknya sudah memungkinkan
    Namun kalau dataset sebesar ini sudah ada, saya jadi ragu apakah AI benar-benar diperlukan
    Saya merasa mungkin hasil serupa bisa dicapai bukan dengan model seperti SASRec/RAG, melainkan dengan peringkat sederhana dan perhitungan irisan seperti last.fm dulu
    Dulu saya pernah membayangkan struktur graf ‘otak’ untuk rekomendasi, yaitu menyebarkan skor dengan mengikuti hubungan antaritem.
    Sepertinya variasi seperti ini juga dipakai di tempat seperti Amazon
    • Hanya dengan permintaan “rekomendasikan film gangster yang bagus” saja itu tidak cukup
      Tanpa mengetahui film yang sudah ditonton pengguna atau informasi preferensinya, tidak mungkin merekomendasikan secara akurat “film yang belum ditonton tapi akan disukai”
      Pada akhirnya ini menjadi sistem rekomendasi umum yang dimungkinkan dengan melonggarkan batasan informasi
    • Sebagai catatan, last.fm juga bukan sekadar peringkat sederhana, tetapi menggunakan algoritme machine learning dasar