← नवीनतम पेपर
💻 computer science

Improving BM25 Code Retrieval Under Fixed Generic Tokenization: Adaptive q-Log Odds as a Drop-In BM25 Fix

यह शोध पत्र 'एडैप्टिव q-लॉग ऑड्स' (adaptive q-Log Odds) नामक एक ड्रॉप-इन BM25 सुधार प्रस्तावित करता है, जो मानक लॉगरिदमिक IDF के स्थान पर q-लॉगारिदम का उपयोग करता है ताकि स्थिर जेनेरिक टोकनाइज़ेशन के तहत आइडेंटिफायर टेल्स (identifier tails) को बेहतर ढंग से अलग करके कोड रिट्रीवल प्रदर्शन को महत्वपूर्ण रूप से बढ़ाया जा सके, जबकि टेक्स्ट रिट्रीवल पर नगण्य प्रभाव बनाए रखा जाता है और क्वेरी लेटेंसी में किसी भी बदलाव की आवश्यकता नहीं होती है।

मूल लेखक: Santosh Kumar Radha, Oktay Goktas

प्रकाशित 2026-05-19
📖 6 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Santosh Kumar Radha, Oktay Goktas

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

यहाँ सरल भाषा और रचनात्मक उपमाओं का उपयोग करते हुए पेपर का स्पष्टीकरण दिया गया है।

समस्या: "अनुवाद में खोई हुई" खोज (The "Lost in Translation" Search)

कल्पना कीजिए कि आप एक जासूस (एक कोडिंग AI) हैं जो एक अपराध को सुलझाने की कोशिश कर रहे हैं। आपके पास 50,000 फाइलों का एक विशाल पुस्तकालय है, और आपको वह एक विशिष्ट फ़ाइल ढूँढनी है जिसमें सुराग है: एक फंक्शन जिसका नाम handleWebSocketUpgrade है।

आपका वर्तमान टूल एक मानक लाइब्रेरी सर्च इंजन (जिसे BM25 कहा जाता है) है। यह टूल मूल रूप से प्राकृतिक भाषा (natural language) खोजने के लिए बनाया गया था, जैसे समाचार लेख या किताबें। यह "the," "run," या "happy" जैसे शब्दों के लिए अच्छा काम करता है। लेकिन कोड अलग होता है। कोड विशिष्ट, विशेष नामों (identifiers) से भरा होता है जो गुप्त कोड की तरह काम करते हैं।

समस्या:
मानक खोज इंजन एक अद्वितीय कोड नाम (जैसे handleWebSocketUpgrade, जो केवल एक फ़ाइल में दिखाई देता है) को एक थोड़े कम सामान्य नाम (जैसे logger, जो 50 फ़ाइलों में दिखाई देता है) के लगभग समान मानता है।

  • उपमा: एक पुस्तकालय की कल्पना करें जहाँ लाइब्रेरियन किताबों को एक "प्रासंगिकता स्कोर" (relevance score) देता है। यदि आप एक बहुत ही विशिष्ट, एक-मात्र शीर्षक वाली किताब की तलाश में हैं, तो लाइब्रेरियन को चिल्लाना चाहिए, "यही वह किताब है!" लेकिन वर्तमान लाइब्रेरियन फुसफुसाता है, "यह एक अच्छी किताब है, लेकिन वह दूसरी भी है।"
  • परिणाम: AI विचलित हो जाता है। वह गलत फ़ाइलें पढ़ता है, भ्रमित हो जाता है, और बग को ठीक करने में विफल रहता है। पेपर का तर्क है कि विफलता AI की गलती नहीं है; यह सर्च इंजन की गलती है क्योंकि वह अद्वितीय "कोड नामों" को पर्याप्त महत्व नहीं देता।

कारण: एक "जमी हुई" डिक्शनरी (A "Frozen" Dictionary)

लेखक बताते हैं कि कई कंपनियों में, सर्च इंजन एक इंफ्रास्ट्रक्चर टीम द्वारा एक "जमी हुई" डिक्शनरी (tokenizer) का उपयोग करके बनाया जाता है। यह डिक्शनरी शब्दों को इस आधार पर तोड़ती है कि इंसान कैसे बोलते हैं, न कि इस आधार पर कि कोड कैसे लिखा जाता है।

  • सीमा: जो लोग सर्च इंजन का उपयोग कर रहे हैं (AI डेवलपर्स), वे डिक्शनरी को नहीं बदल सकते। वे "जमी हुई" सेटअप के साथ फंसे हुए हैं। उन्हें एक ऐसे समाधान की आवश्यकता है जो पूरे पुस्तकालय को फिर से बनाए बिना काम कर सके।

समाधान: "वॉल्यूम नॉब" (The "Volume Knob" - q-Log)

लेखक सर्च इंजन के स्कोरिंग सिस्टम में एक चतुर, एक-लाइन वाला गणितीय बदलाव प्रस्तावित करते हैं। वे इसे Adaptive q-Log Odds कहते हैं।

उपमा:
सर्च इंजन के स्कोरिंग सिस्टम को विभिन्न प्रकार के शब्दों के लिए एक वॉल्यूम नॉब (आवाज़ नियंत्रित करने वाला बटन) के रूप में सोचें।

  • सामान्य शब्द (जैसे "function" या "return") को कम रखा जाता है क्योंकि वे हर जगह दिखाई देते हैं।
  • दुर्लभ शब्द (अद्वितीय कोड नाम) को बहुत ऊँचा रखने की आवश्यकता है।
  • समस्या: मानक वॉल्यूम नॉब (logarithm) टूटा हुआ है। यह दुर्लभ शब्दों की आवाज़ तो बढ़ाता है, लेकिन पर्याप्त नहीं। यह एक बार दिखने वाले शब्द और 50 बार दिखने वाले शब्द के बीच के अंतर को लगभग समान मानता है।

सुधार:
लेखक मानक वॉल्यूम नॉब को एक नए नॉब से बदलते हैं जिसे q-log कहा जाता है।

  • इस नए नॉब में एक विशेष सेटिंग (पैरामीटर q) है जो दुर्लभ शब्दों के लिए एक "सुपर-एम्पलीफायर" (अति-प्रवर्धक) के रूप में कार्य करता है।
  • यदि आप q = 1 सेट करते हैं, तो यह बिल्कुल पुराने, टूटे हुए नॉब की तरह काम करता है (मानक BM25)।
  • यदि आप q < 1 (जैसे 0.05) सेट करते हैं, तो यह उन शब्दों के लिए चिल्लाता है "यही वह है!" जो केवल एक बार दिखाई देते हैं। यह एक अद्वितीय आइडेंटिफायर और एक सामान्य एक के बीच के अंतर को हजारों गुना बढ़ा देता है।

व्यवहार में यह कैसे काम करता है

पेपर का परीक्षण Go भाषा के कोड (182,000 फ़ाइलें) के एक विशाल संग्रह पर किया गया।

  • पहले: सर्च इंजन शीर्ष 10 परिणामों में केवल 25% बार सही फ़ाइल ढूंढ पाता था।
  • बाद में: नए "वॉल्यूम नॉब" को सही सेटिंग पर सेट करने के बाद, यह 48% बार सही फ़ाइल ढूंढ सका।
  • जादू: यह सटीकता में 89% का सुधार है। AI अब लगभग दोगुने रूप से अधिक बार सही फ़ाइल ढूंढ सकता है, केवल अद्वितीय कोड नामों की आवाज़ बढ़ाकर।

"स्मार्ट" हिस्सा: ऑटो-ट्यूनिंग (Auto-Tuning)

आप पूछ सकते हैं, "हमें कैसे पता चलेगा कि कौन सी सेटिंग (q) का उपयोग करना है?"
लेखकों ने एक सरल फॉर्मूला बनाया है जो सेटिंग तय करने के लिए खुद पुस्तकालय को देखता है।

  • नियम: वे पुस्तकालय में कितने "एक-मात्र" (hapaxes) शब्दों मौजूद हैं, उन्हें गिनते हैं।
  • तर्क:
    • यदि पुस्तकालय अद्वितीय कोड नामों (जैसे Go) से भरा है, तो फॉर्मूला वॉल्यूम नॉब को "सुपर एम्पलीफाई" (q = 0.05) पर सेट करता है।
    • यदि पुस्तकालय में ज्यादातर सामान्य शब्द हैं (जैसे Python या सामान्य टेक्स्ट), तो फॉर्मूला नॉब को वापस "सामान्य" (q = 1) पर सेट कर देता है।
  • यह क्यों महत्वपूर्ण है: इसका मतलब है कि यह सुधार स्वचालित रूप से काम करता है। यह टेक्स्ट सर्च (जहाँ अद्वितीय शब्द महत्वपूर्ण नहीं हैं) को खराब नहीं करता है और इसे हर नए प्रोजेक्ट के लिए मानव विशेषज्ञों द्वारा ट्यून करने की आवश्यकता नहीं होती है।

एक चुनौती: टोकनाइज़र (Tokenizers)

पेपर ने एक सीमा भी खोजी। यदि आप डिक्शनरी (tokenizer) को बदल सकते हैं ताकि वह कोड को बेहतर ढंग से समझ सके (जैसे handleWebSocketUpgrade को handle, web, socket, upgrade में तोड़ना), तो मानक सर्च इंजन ठीक से काम करता है, और इस विशेष "वॉल्यूम नॉब" की आवश्यकता नहीं होती है।

  • सीख: यह सुधार विशेष रूप से उन स्थितियों के लिए है जहाँ आप डिक्शनरी को नहीं बदल सकते। यह एक लॉक-डाउन सिस्टम के लिए "सबसे अच्छा संभव समाधान" है।

सारांश

  1. समस्या: मानक सर्च इंजन अद्वितीय कोड नामों को अनदेखा करते हैं, जिससे AI कोडिंग एजेंट विफल हो जाते हैं।
  2. समाधान: एक गणितीय बदलाव जो उन शब्दों के महत्व को भारी रूप से बढ़ाता है जो केवल एक बार दिखाई देते हैं।
  3. परिणाम: सही कोड फ़ाइलों को खोजने में भारी उछाल (शीर्ष परिणामों में ~25% से ~48% सफलता दर)।
  4. लाभ: यह स्वचालित रूप से काम करता है, मौजूदा सर्च इंफ्रास्ट्रक्चर में कोई बदलाव नहीं करता है, और गणना के लिए मुफ्त है।

संक्षेप में, यह पेपर हमें सिखाता है कि पुस्तकालय में "गुप्त कोडों" की आवाज़ कैसे बढ़ाई जाए, जिससे यह सुनिश्चित हो सके कि जासूस (AI) उन्हें स्पष्ट रूप से सुन सके और सही फ़ाइल ढूंढ सके।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →