1 पॉइंट द्वारा GN⁺ 2025-11-07 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • उपयोगकर्ता द्वारा पढ़ी गई किताबें दर्ज करने पर recommendation model अगली पढ़ने योग्य किताब सुझाने वाला सिस्टम
  • search results और recommendations में केवल लोकप्रियता threshold से ऊपर की किताबें शामिल
  • कम लोकप्रिय किताबों का उपयोग साइट के अन्य section (intersect) में किया जा सकता है
  • 3 या अधिक किताबें दर्ज करने पर सबसे सटीक recommendation results मिलते हैं
  • बड़े पैमाने के review data का उपयोग करने वाली personalized reading recommendation technology का प्रायोगिक implementation

पुस्तक recommendation सुविधा

  • उपयोगकर्ता पहले से पढ़ी हुई किताबें दर्ज करे तो model-based recommendation results प्रदान किए जाते हैं
    • दर्ज की गई किताबों की सूची के आधार पर आगे पढ़ने लायक किताबें सुझाई जाती हैं
  • recommendation और search results में केवल एक निश्चित स्तर से अधिक लोकप्रिय किताबें शामिल होती हैं
    • लोकप्रियता मानदंड से नीचे की किताबें recommendation results से बाहर रखी जाती हैं

इनपुट और search तरीका

  • search box में दो या अधिक अक्षर दर्ज करने पर results दिखते हैं
  • उपयोगकर्ता द्वारा चुनी गई किताबें ‘Selected Books’ क्षेत्र में दिखाई जाती हैं,
    और अभी तक कुछ न चुना हो तो “No books selected yet” संदेश दिखाई देता है

अतिरिक्त सुविधाएँ

  • कम लोकप्रिय किताबों का /intersect पेज पर अलग से उपयोग किया जा सकता है
  • 3 या अधिक किताबें दर्ज करने पर recommendation accuracy बेहतर होती है

सेवा overview

  • साइट बड़े पैमाने के Goodreads review data (3 अरब entries) पर आधारित recommendation model का उपयोग करती है
  • उद्देश्य उपयोगकर्ता के पढ़ने के इतिहास के अनुसार personalized book recommendation experience प्रदान करना है
  • मूल पाठ में अतिरिक्त तकनीकी विवरण या algorithm explanation नहीं है

1 टिप्पणियां

 
GN⁺ 2025-11-07
Hacker News की राय
  • यह जानने की जिज्ञासा है कि क्या यह Goodreads की Terms of Service की धारा 4 का उल्लंघन नहीं है
    इसमें लिखा है, “सेवा के भीतर की सामग्री को संशोधित, प्रतिलिपि, वितरित, या derivative works बनाने आदि के लिए उपयोग न करें,” इसलिए लगता है कि समीक्षकों की सामग्री को LLM training में इस्तेमाल करने के लिए स्पष्ट अनुमति चाहिए
    • मुझे लगता है कि आज के दौर में ऐसी शर्तों का बहुत मतलब नहीं रह गया है
      scraping की वैधता jurisdiction पर निर्भर करती है। अमेरिका में HiQ Labs v. LinkedIn मिसाल की वजह से यह माना गया कि सार्वजनिक web pages को scrape करना CFAA का उल्लंघन नहीं है। इसी वजह से public data scraping startups बहुत बने हैं
    • तकनीकी रूप से Goodreads के copyrighted works को सीधे सार्वजनिक रूप से इस्तेमाल नहीं किया जा रहा
      साइट पर दिखने वाली जानकारी सिर्फ title और author है, और वह Goodreads की संपत्ति नहीं है।
      यह “derivative works” वाली शर्त में आ सकता है, लेकिन reviews के आधार पर किताबें recommend करना infringement कहना मुश्किल है।
      यह कुछ वैसा ही है जैसे कोई YouTuber “50 reviews पढ़कर सुझाई गई किताबें” वाला वीडियो बनाता है
    • आजकल तो पूरी किताबों को LLM में train करना भी fair use माना जा रहा है, इसलिए reviews के लिए भी शायद अनुमति की ज़रूरत न हो। फिर भी किसी legal expert की राय सुनना चाहूँगा
    • समझ नहीं आता कि ऐसा सवाल क्यों पूछा जा रहा है जिसका जवाब पहले से पता है
  • मैं किताबें जोड़ता रहा और फिर “बहुत ज़्यादा हैं” वाला संदेश मिला। आइडिया सच में काफ़ी मज़ेदार है
    लेकिन कुछ सुझाव हैं
    • UI: जिन किताबों पर “Add” दबाया गया है, वे recommendation list से गायब हो जानी चाहिए। वहीं बने रहने से भ्रम होता है
    • recommendation diversity: सिस्टम ने मेरी पहले से पढ़ी किताबों को बहुत अच्छी तरह पकड़ा, लेकिन नई खोज कम थीं।
      अगर मेरी पढ़ी हुई किताबों की सूची काफ़ी बड़ी हो, तो मेरे जैसे पाठकों (‘eigenfriends’) को ढूँढकर उन्होंने जो विवादास्पद या niche taste वाली किताबें पढ़ी हैं, वे सुझानी चाहिए
      अगला मज़ेदार कदम शायद VLM जोड़कर bookshelf की photo से input लेने का हो सकता है
    • साइट के “intersect” पेज पर कई किताबें डालकर साझा पाठकों का समूह ढूँढा जा सकता है।
      उदाहरण के लिए “Lenin’s Tomb” और “Secondhand Time” डालें, तो आप देख सकते हैं कि दोनों किताबें पढ़ने वाले लोगों ने और क्या पढ़ा।
      यह Filmaffinity के तरीके जैसा है। वे ‘soulmates’ कहलाने वाले समान taste वाले user groups के आधार पर recommendations देते हैं
      मेरी निजी राय में विवादास्पद किताबों से बेहतर, अलग taste वाले दोस्तों को filter करके ज़्यादा ताज़ा recommendations मिल सकती हैं
  • साइट तेज़ भी है और सच में शानदार है
    लेकिन अगर series की एक किताब (जैसे Discworld #33) डालें, तो वही series recommendations पर हावी हो जाती है। जो series मैं पहले से पढ़ रहा हूँ, उसे बाहर रखना चाहूँगा
    साथ ही Goodreads की कुछ किताबें search में नहीं मिलीं। लगता है dataset में छूटी हुई हैं
    “Similar” बटन दबाने पर रूप में मिलती-जुलती लेकिन संदर्भ में अलग किताबें आईं।
    फिर भी सामान्य किताबों के मामले में यह मेरी wishlist से अच्छी तरह मेल खाता था
    • मुझे लगता है कि series को संभालने का तरीका सबसे बड़ी समस्या है
      test metrics और quality checks संतोषजनक थे, इसलिए release कर दिया, लेकिन समाधान शायद transformer model से 100~200 candidates बनाकर फिर reranker लगाना होगा
  • recommendation systems बना चुके व्यक्ति के नज़रिए से, अब असली मुश्किल हिस्सा शुरू होता है
    अभी यह ज़्यादा content-based recommendation जैसा है, लेकिन आगे serendipity और novelty जैसे metrics भी देखने होंगे
    असली services में अलग-अलग उद्देश्य के लिए अलग recommenders रखना और उनके नतीजों को weighted integration से मिलाना प्रभावी रहा है
    जैसे content-based, graph-based, किसी खास उद्देश्य के लिए tuned models, यहाँ तक कि TF‑IDF/BM25/Splade आधारित तरीकों को भी मिलाना
    क्योंकि हर व्यक्ति अलग तरह से recommendations पाना चाहता है, इसलिए user-specific weight tuning सबसे महत्वपूर्ण है
  • input में दी गई किताबों के authors को output से बाहर रखना चाहिए
    अगर मुझे वह लेखक पहले से पसंद है, तो उसकी दूसरी किताबें मैं खुद भी ढूँढ लूँगा, इसलिए उसी author की किताबें recommend करना बहुत अर्थपूर्ण नहीं है
    सच में दिलचस्प recommendation वह है जो (1) मुझे पसंद आए और (2) अप्रत्याशित हो
    बहुत ज़्यादा समान recommendations echo chamber बनाने का जोखिम रखती हैं
    • series को बाहर रखने पर सहमत हूँ, लेकिन authors को विकल्प के रूप में रखना बेहतर होगा
      कई बार लोगों को यह पता ही नहीं होता कि जिस लेखक को उन्होंने एक बार पढ़ा है, उसकी और कौन-सी किताबें हैं
    • पहले से पढ़ी किताबें बार-बार recommend होना अच्छा नहीं लगता
  • मैंने कई तरह की किताबें input कीं, और इसने वे किताबें काफ़ी अच्छी तरह पकड़ लीं जिन्हें मैं पहले से पढ़ चुका था और पसंद करता था
    लेकिन अगर नापसंद किताबों का signal (negative signal) भी जोड़ा जा सके तो अच्छा होगा
    कुल मिलाकर नतीजे काफ़ी प्रभावशाली थे
  • robots.txt में साफ़ तौर पर scraping निषिद्ध (disallow) लिखा है
    कानूनी मुद्दे अलग, लेकिन नैतिक रूप से यह अनुचित लगता है
    • Goodreads पर अक्सर reviews लिखने वाले व्यक्ति के रूप में, ऐसा उपयोग अप्रिय लगता है
  • लगता है कि अंत में जोड़ी गई किताब recommendation results पर अत्यधिक प्रभाव डालती है
    • यह positional embedding की प्रकृति की वजह से है
      क्योंकि आख़िरी item अगले interaction की भविष्यवाणी में सबसे अधिक प्रासंगिक रूप से झलकता है
      ज़्यादा किताबें जोड़ने पर यह प्रभाव कम हो जाता है
  • हम 2016 से यह dataset बना रहे हैं, और यह पहले से कवर हो चुका है
    अभी TestFlight private beta में है और जल्द सार्वजनिक होगा
  • लगभग 5 साल पहले मैंने एक ऐसे engine की कल्पना की थी जो “मुझे अच्छी gangster movies recommend करो” कहने पर नई फ़िल्में ढूँढ दे
    तब ज़्यादातर लोगों ने कहा था कि यह असंभव है, लेकिन अब लगता है कि यह संभव हो गया है
    फिर भी अगर इतना बड़ा dataset है, तो क्या AI सच में ज़रूरी है, इस पर सवाल है
    SASRec/RAG जैसे models की बजाय, क्या पुराने last.fm की तरह simple ranking और intersection calculation से भी मिलते-जुलते नतीजे नहीं मिल सकते?
    मैंने पहले recommendations के लिए एक ‘brain’ graph structure सोचा था, जिसमें items के बीच connections के साथ score फैलाया जाता है।
    लगता है Amazon जैसी जगहों पर भी इसका कोई रूप इस्तेमाल होता होगा
    • सिर्फ “मुझे अच्छी gangster movies recommend करो” कहना पर्याप्त नहीं है
      अगर user ने क्या देखा है या उसकी पसंद क्या है, यह न पता हो, तो “जो उसने अभी तक नहीं देखी लेकिन उसे पसंद आएगी” ऐसी चीज़ सही-सही recommend नहीं की जा सकती
      अंततः यह जानकारी की सीमाओं को ढीला करने पर संभव होने वाला सामान्य recommendation system बन जाता है
    • संदर्भ के लिए, last.fm भी simple ranking नहीं बल्कि बुनियादी machine learning algorithms इस्तेमाल करता था