NERdME: a Named Entity Recognition Dataset for Indexing Research Artifacts in Code Repositories
यह शोध पत्र NERdME को प्रस्तुत करता है, जो 200 मैन्युअल रूप से एनोटेट की गई README फाइलों का एक नया डेटासेट है जिसमें 10 एंटिटी प्रकारों के तहत 10,000 से अधिक लेबल किए गए स्पैन शामिल हैं, जिसे कोड रिपॉजिटरी में कार्यान्वयन-स्तर (implementation-level) के अनुसंधान आर्टिफैक्ट्स की स्वचालित अनुक्रमण (automatic indexing) को सक्षम करके विद्वत्तापूर्ण सूचना निष्कर्षण (scholarly information extraction) के अंतराल को पाटने के लिए डिज़ाइन किया गया है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
वैज्ञानिक अनुसंधान की दुनिया की कल्पना एक विशाल, हलचल भरी लाइब्रेरी के रूप में करें। वर्षों से, लाइब्रेरियन (और कंप्यूटर प्रोग्राम) पुस्तकों (प्रकाशित वैज्ञानिक शोध पत्रों) को सूचीबद्ध करने में बहुत कुशल रहे हैं। वे जानते हैं कि किसी पुस्तक का शीर्षक, लेखक और मुख्य विषय कैसे खोजा जाए।
लेकिन एक समस्या है: बैकपैक और टूलकिट जिनका उपयोग वैज्ञानिक वास्तव में अनुसंधान करने के लिए करते हैं, वे अक्सर कोने में एक बिखरी हुई ढेर के रूप में छोड़ दिए जाते हैं। ये टूलकिट कोड रिपॉजिटरी (जैसे GitHub) हैं जहाँ वास्तविक सॉफ़्टवेयर, डेटा और निर्देश रहते हैं।
समस्या यह है कि इन टूलकिट के निर्देश README फाइलों में लिखे होते हैं। README फ़ाइल को एक टूलबॉक्स पर चिपके हुए 'स्टिकी नोट' (एक छोटी पर्ची) के रूप में समझें। यह मुक्त-रूप टेक्स्ट (मार्डाउन) में लिखा जाता है, जो तकनीकी शब्दों (jargon), लिंक और अनौपचारिक विवरणों से भरा होता है। यह अव्यवस्थित, असंरचित और कंप्यूटर के लिए पढ़ने में कठिन है। यदि आप कंप्यूटर से पूछते हैं, "इस प्रोजेक्ट के लिए डेटासेट कहाँ है?" तो वह भ्रमित हो सकता है क्योंकि उत्तर एक वाक्य में छिपा हो सकता है जैसे, "हमने 'COCO' डेटासेट का उपयोग किया है, जिसे आप यहाँ से प्राप्त कर सकते हैं।"
NERdME से मिलिए।
NERdME क्या है?
NERdME कंप्यूटर के लिए एक सुपर-स्मार्ट प्रशिक्षण नियमावली की तरह है, जो उन्हें उन अस्त-व्यस्त स्टिकी नोट्स (README फ़ाइलों) को पढ़ना और उनके अंदर मौजूद महत्वपूर्ण सामग्रियों को खोजना सिखाती है।
लेखकों ने इन README फ़ाइलों की 200 फाइलों का एक डेटासेट बनाया और मैन्युअल रूप से 10,000 से अधिक विशिष्ट सूचनाओं को हाइलाइट (एनोटेट) किया। उन्होंने कंप्यूटर को दो बहुत अलग प्रकार की "सामग्रियों" को पहचानने के लिए प्रशिक्षित किया:
- "पेपर" की सामग्रियाँ: ऐसी चीजें जो एक औपचारिक पुस्तक में मिलती हैं, जैसे कि किसी कॉन्फ्रेंस (Conference), प्रकाशन (Publication), या वर्कशॉप (Workshop) का नाम।
- "कोड" की सामग्रियाँ: ऐसी चीजें जो केवल टूलबॉक्स में ही मिल सकती हैं, जैसे कि उपयोग किया गया सॉफ़्टवेयर (Software), प्रोग्रामिंग भाषा (जैसे Python), लाइसेंस (कोड का मालिक कौन है), या उपयोग किया गया डेटासेट (Dataset)।
इससे पहले, कंप्यूटर "पेपर" की सामग्रियों को खोजने में बहुत अच्छे थे लेकिन "कोड" की सामग्रियों को खोजने में बहुत खराब थे, और इसके विपरीत भी। NERdME पहला ऐसा प्रयास है जो उन्हें एक साथ दोनों को खोजने के लिए प्रशिक्षित करता है।
उन्होंने इसे कैसे बनाया?
कल्पना कीजिए कि आप एक रोबोट को एक अराजक फलों की टोकरी में फल पहचानने के लिए सिखाने की कोशिश कर रहे हैं।
- संग्रह (The Collection): वे एक विशाल ऑनलाइन बाज़ार (GitHub) पर गए और 200 ऐसी टोकरियाँ चुनीं जिनमें अच्छे फल (वास्तविक वैज्ञानिक शोध पत्रों से जुड़े प्रोजेक्ट्स) होने की संभावना थी।
- एनोटेशन (The Annotation): उन्होंने प्रत्येक टोकरी के लिए तीन मानव विशेषज्ञों को काम पर रखा। इन विशेषज्ञों ने स्टिकी नोट्स को पढ़ा और "डेटासेट" या "सॉफ़्टवेयर" के हर उल्लेख को घेरा (circle) लगाया।
- सहमति (The Consensus): यदि दो विशेषज्ञों ने तीसरे विशेषज्ञ के बजाय एक ही शब्द को घेरा, तो रोबोट ने सीखा कि वह निश्चित रूप से एक "डेटासेट" है। यदि वे असहमत थे, तो रोबोट ने भ्रम से बचने के लिए उसे अनदेखा कर दिया। इसने सुनिश्चित किया कि प्रशिक्षण डेटा उच्च गुणवत्ता वाला हो।
उन्होंने क्या खोजा?
उन्होंने रोबोट का परीक्षण करने के लिए दो विधियों का उपयोग किया:
- "अनुमान लगाने वाला" रोबोट (Zero-shot LLMs): एक शक्तिशाली AI जो बिना किसी विशिष्ट प्रशिक्षण के उत्तरों का अनुमान लगाने की कोशिश करता है। यह एक बुद्धिमान व्यक्ति से पूछने जैसा है जिसने कभी टूलबॉक्स नहीं देखा, कि केवल एक फोटो देखकर उसके अंदर क्या है, इसका अनुमान कैसे लगाया जाए। यह ठीक था, लेकिन इसने कई विवरण छोड़ दिए।
- "प्रशिक्षित" रोबोट (Fine-tuned Transformers): एक AI जिसने विशेष रूप से उन 200 एनोटेटेड फाइलों का अध्ययन किया। इसने पैटर्न सीख लिए।
परिणाम:
- प्रशिक्षित रोबोट बहुत बेहतर था। इसने सीखा कि "Python" आमतौर पर एक प्रोग्रामिंग भाषा होती है, जबकि "COCO" आमतौर पर एक डेटासेट होता है।
- "लॉन्ग टेल" (Long Tail) की समस्या: रोबोट सामान्य चीजों (जैसे "सॉफ़्टवेयर" या "डेटासेट") को खोजने में बहुत अच्छा था क्योंकि वे अक्सर दिखाई देते हैं। लेकिन वह दुर्लभ चीजों (जैसे "वर्कशॉप" या "ऑन्टोलॉजी") के साथ संघर्ष करता रहा क्योंकि वे बहुत कम बार दिखाई देते हैं। यह एक ऐसे शेफ की तरह है जो पिज्जा बनाने में मास्टर है लेकिन उसने कभी सूफ़ले (soufflé) नहीं बनाया क्योंकि उसने कभी उसकी रेसिपी नहीं देखी है।
- सीमा चुनौती (The Boundary Challenge): रोबोट के लिए यह जानना कठिन था कि कोई नाम कहाँ शुरू होता है और कहाँ समाप्त होता है। उदाहरण के लिए, क्या नाम "TensorFlow" है या सिर्फ "Tensor"? डेटासेट ने दिखाया कि इन नामों के सटीक किनारों को परिभाषित करना कठिन है।
यह क्यों मायने रखता है? (डाउनस्ट्रीम टेस्ट)
यह साबित करने के लिए कि यह केवल एक खेल नहीं था, उन्होंने एक खजाने की खोज (Treasure Hunt) आयोजित की।
उन्होंने READMEs में रोबोट द्वारा खोजे गए "डेटासेट" के नामों को लिया और उन्हें Zenodo नामक एक वैश्विक डेटाबेस में वास्तविक रिकॉर्ड से मिलाने का प्रयास किया।
- परिणाम: रोबोट इस काम में आश्चर्यजनक रूप से अच्छा था! वह एक अस्त-व्यस्त उल्लेख जैसे "the COCO dataset" को सफलतापूर्वक आधिकारिक COCO रिकॉर्ड से जोड़ सकता था।
- उपमा (Analogy): यह एक हाथ से लिखे नोट को खोजने जैसा है जिसमें लिखा है "नीचे वाले बाग से आया बड़ा लाल सेब" और फिर उस विशाल गोदाम के कैटलॉग में बिल्कुल उसी सेब को सफलतापूर्वक ढूंढ लेना।
बड़ी तस्वीर
NERdME एक सेतु (bridge) है। यह वैज्ञानिक शोध पत्रों की औपचारिक दुनिया को सॉफ़्टवेयर कोड की अस्त-व्यस्त, व्यावहारिक दुनिया से जोड़ता है।
कंप्यूटर को कोड रिपॉजिटरी के "स्टिकी नोट्स" को समझने में सक्षम बनाकर, हम निम्नलिखित कर सकते हैं:
- वैज्ञानिकों द्वारा उपयोग किए गए उपकरणों को स्वचालित रूप से खोजना।
- शोध पत्रों को उस वास्तविक डेटा और कोड से जोड़ना जिस पर वे निर्भर करते हैं।
- वैज्ञानिक अनुसंधान को अधिक पुनरुत्पादनीय (reproducible) बनाना (दूसरों के लिए प्रयोग को दोहराना आसान बनाना) क्योंकि "कैसे करें" के निर्देश अब मशीनों द्वारा समझे जा रहे हैं।
संक्षेप में, NERdME वह डिक्शनरी है जो अंततः कंप्यूटर को वैज्ञानिकों द्वारा पीछे छोड़े गए अस्त-व्यस्त, वास्तविक दुनिया के निर्देशों को समझने में मदद करती है, जिससे शोध उपकरणों के एक अराजक ढेर को एक सुव्यवस्थित लाइब्रेरी में बदल दिया जाता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।