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

EmbeddedKittens: An Evaluation of Code Embeddings for Scratch

यह शोध पत्र स्क्रैच (Scratch) प्रोग्रामों के लिए चार बड़े भाषा मॉडलों और पांच एम्बेडिंग दृष्टिकोणों का अनुभवजन्य मूल्यांकन करता है, जो यह प्रदर्शित करता है कि बड़े ओपन डेटासेट पर प्रशिक्षित मॉडल संरचनात्मक और अर्थ संबंधी जानकारी को प्रभावी ढंग से कैप्चर कर सकते हैं ताकि बिना किसी अतिरिक्त फाइन-ट्यूनिंग की आवश्यकता के छोटे कक्षा परिवेश में कार्यात्मक शुद्धता की भविष्यवाणी करने जैसे लर्निंग एनालिटिक्स कार्यों का समर्थन किया जा सके।

मूल लेखक: Benedikt Fein, Gordon Fraser

प्रकाशित 2026-07-22
📖 8 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Benedikt Fein, Gordon Fraser

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

कल्पना कीजिए कि आप एक सुपर-स्मार्ट रोबोट को मानव भाषा समझना सिखाने की कोशिश कर रहे हैं। आप उसे लाखों किताबें, फिल्में और वेबसाइटें खिलाते हैं, और अंततः, वह एक वाक्य में अगले शब्द की भविष्यवाणी करने में अद्भुत सटीकता के साथ सीख जाता है। यही लार्ज लैंग्वेज मॉडल्स (LLMs) का जादू है। अब, कल्पना कीजिए कि आप चाहते हैं कि वही रोबोट सोर्स कोड को भी समझ सके—वे निर्देश जो प्रोग्रामर कंप्यूटर को क्या करना है यह बताने के लिए लिखते हैं। चूंकि कोड टेक्स्ट जैसा ही दिखता है, इसलिए शोधकर्ताओं ने पाया है कि ये रोबट इसे भी समझने में सक्षम हैं, जिससे डेवलपर्स सॉफ्टवेयर तेजी से लिख सकते हैं या स्वचालित रूप से बग्स (गलतियों) को ठीक कर सकते हैं।

लेकिन यहाँ एक मोड़ है: सभी कोड टेक्स्ट की तरह नहीं होते। स्कूलों में, कई बच्चे स्क्रैच (Scratch) का उपयोग करके प्रोग्रामिंग सीखते हैं, जो एक रंगीन, ब्लॉक-आधारित प्रणाली है जहाँ वे स्क्रीन पर टाइप करने के बजाय पहेली के टुकड़ों को आपस में जोड़ते हैं। यह कहानी लिखने के बजाय लेगो (Lego) ब्रिक्स से कुछ बनाने जैसा है। वैज्ञानिकों के लिए बड़ा सवाल यह है: क्या वे "रोबोट दिमाग" जो टेक्स्ट-आधारित कोड को पढ़ सकते हैं, इन विजुअल ब्लॉक पहेलियों को भी समझ सकते हैं? और यदि वे कर सकते हैं, तो कौन सी विधि सबसे अच्छा काम करती है? यह महत्वपूर्ण है क्योंकि यदि हम रोबोट को स्क्रैच समझना सिखा सकते हैं, तो हम होमवर्क ग्रेड करने, संघर्ष कर रहे छात्रों को पहचानने या तुरंत संकेत देने में मदद करने वाले उपकरण बना सकते हैं, जिससे कोडिंग सीखना अगली पीढ़ी के लिए बहुत आसान हो जाएगा।


द ग्रेट कोड ट्रांसलेटर चैलेंज

इस अध्ययन में, शोधकर्ताओं बेनेडिक्ट फेन और गॉर्डन फ्रेजर ने एक पेचीदा सवाल का जवाब देने के लिए हाथ मिलाया: क्या हम कंप्यूटर को स्क्रैच प्रोग्रामों को इतना "समझने" के लिए सिखा सकते हैं कि वे कक्षा में मदद कर सकें? उन्होंने केवल अनुमान नहीं लगाया; उन्होंने विभिन्न प्रकार के "कोड ट्रांसलेटर्स" का परीक्षण करने के लिए एक डिजिटल प्लेग्राउंड बनाया।

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

प्रतियोगी

उन्होंने पांच अलग-अलग प्रकार के ट्रांसलेटर्स को मुकाबला करने के लिए खड़ा किया:

  1. "फ्लैट" रीडर्स (The "Flat" Readers): ये मॉडल कोड को शब्दों की एक साधारण सूची की तरह देखते हैं, इसकी संरचना को अनदेखा करते हैं। यह एक रेसिपी पढ़ने जैसा है लेकिन इस बात को अनदेखा करना कि कुछ चरण "मिक्सिंग बाउल" के अंदर होते हैं और कुछ "स्टोव" पर।
  2. "ट्री" रीडर्स (The "Tree" Readers): ये मॉडल कोड की संरचना को देखते हैं, जैसे निर्देशों का एक फैमिली ट्री। वे समझते हैं कि कुछ ब्लॉक्स दूसरों के भीतर समाहित होते हैं।
  3. "फ्लो" रीडर्स (The "Flow" Readers): ये सबसे उन्नत हैं। वे न केवल संरचना को देखते हैं; वे ट्रैक करते हैं कि प्रोग्राम के माध्यम से सूचना कैसे चलती है, जैसे पाइपों के माध्यम से पानी के प्रवाह को देखना। वे जानते हैं कि यदि एक ब्लॉक में कोई वेरिएबल बदलता है और दूसरे में उपयोग किया जाता है।
  4. "बिग ब्रेन्स" (LLMs): ये विशाल, प्री-ट्रेंड एआई मॉडल (जैसे वे जो चैटबॉट्स को शक्ति देते हैं) हैं जिन्होंने पहले ही लाखों टेक्स्ट दस्तावेज़ पढ़े हैं। शोधकर्ताओं ने उन्हें स्क्रैच कोड को देखने और यह अनुमान लगाने के लिए कहा कि वह क्या कर रहा है।

परीक्षण: पात्रों के नामकरण (Naming the Characters)

इन ट्रांसलेटर्स का परीक्षण करने के लिए, शोधकर्ताओं ने "स्प्राइट नेमिंग" (Sprite Naming) नामक एक खेल बनाया। कार्य सरल था: मॉडल को एक स्प्राइट के अंदर का कोड दिखाएं, और उससे स्प्राइट का नाम अनुमान लगाने के लिए कहें। यह किसी को किसी पात्र की डायरी दिखाने और पूछने जैसा है, "इस पात्र का नाम क्या है?"

परिणामों ने एक स्पष्ट पदानुक्रम दिखाया। विजेता "फ्लो" रीडर्स थे (विशेष रूप से एक मॉडल जिसे GGNN कहा जाता है)। ब्लॉक्स के जुड़ने और डेटा के प्रवाह पर ध्यान देकर, ये मॉडल कोड की "कहानी" को समझने में बहुत बेहतर थे। उन्होंने अन्य मॉडलों की तुलना में काफी अधिक सटीकता के साथ स्प्राइट के नाम का अनुमान लगाया।

विशाल "बिग ब्रेन" मॉडल (LLMs) और "फ्लैट" रीडर्स इस विशिष्ट नामकरण कार्य पर खराब प्रदर्शन करते रहे। वे सही नाम का अनुमान लगाने में संघर्ष करते रहे क्योंकि स्क्रैच प्रोग्राम शायद ही कभी उन फैंसी वेरिएबल नामों या कस्टम फंक्शन्स का उपयोग करते हैं जिन्हें ये बड़े मॉडल टेक्स्ट में देखते हैं। इसके बजाय, स्क्रैच ब्लॉक्स की संरचना और उनके जुड़ाव पर बहुत अधिक निर्भर करता है। हालांकि, यह ध्यान देना महत्वपूर्ण है कि विजेता "फ्लो" मॉडल ने भी इसे पूरी तरह से सटीक नहीं बनाया; उसने गलतियाँ भी कीं, जिसका अर्थ है कि कोई भी मॉडल त्रुटिहीन भविष्यवक्ता नहीं था। LLMs भी पूर्ण स्कोर प्राप्त करने में विफल रहे, लेकिन वे लगातार उन मॉडलों से पीछे रहे जो प्रोग्राम की संरचना और प्रवाह को समझते थे।

भाषा की बाधा

शोधकर्ताओं ने यह भी परीक्षण किया कि छात्रों द्वारा उपयोग की जाने वाली भाषा मायने रखती है या नहीं। स्क्रैच का उपयोग दुनिया भर में किया जाता है, ब्राजील, चीन, पोलैंड और कई अन्य स्थानों में। उन्होंने पाया कि मॉडल तब सबसे अच्छा काम करते हैं जब कोड अंग्रेजी या लैटिन वर्णमाला (जैसे A, B, C) का उपयोग करने वाली अन्य भाषाओं में लिखा जाता है। जब कोड अन्य लेखन प्रणालियों (जैसे चीनी अक्षरों या रूसी सिरिलिक) का उपयोग करता है, तो मॉडल भ्रमित हो जाते हैं। यह सुझाव देता है कि इन उपकरणों को वैश्विक स्तर पर काम करने के लिए, उन्हें केवल अंग्रेजी ही नहीं, बल्कि विभिन्न भाषाओं और प्रतीकों को समझने में भी बेहतर होना होगा।

नामकरण से ग्रेडिंग तक: क्या हम इसे कक्षा में उपयोग कर सकते हैं?

असली जादू इसके बाद हुआ। शोधकर्ताओं ने पूछा: "यदि ये मॉडल स्प्राइट का नाम रखने में अच्छे हैं, तो क्या वे शिक्षकों की मदद भी कर सकते हैं?"

उन्होंने दो बड़े विचारों का परीक्षण किया:

  1. सत्यता की जाँच (Checking for Correctness): क्या मॉडल छात्र के अव्यवस्थित प्रोग्राम को देख सकता है और बता सकता है कि क्या वह काम करता है, भले ही वह इसे चलाए बिना हो? उन्होंने पाया कि मॉडल की "समझ" और कोड के वास्तव में टेस्ट पास करने के बीच एक मजबूत संबंध है। यदि मॉडल को लगा कि कोड समाधान के "करीब" है, तो कोड आमतौर पर काम करता था। इसका मतलब है कि ये मॉडल होमवर्क को तुरंत जांचने के लिए एक "सरोगेट" के रूप में कार्य कर सकते हैं।
  2. प्रगति को ट्रैक करना (Tracking Progress): क्या मॉडल यह दिखा सकता है कि छात्र में कितना सुधार हुआ है? उन्होंने छात्र की प्रगति को प्लॉट करने के लिए एक विशेष मानचित्र का उपयोग किया। जैसे-जैसे छात्र अपने गेम में फीचर्स जोड़ते गए, उनका "कोड मैप" अंतिम समाधान के करीब पहुंच गया। मॉडलों ने इस यात्रा को सफलतापूर्वक ट्रैक किया, जिससे शिक्षकों को पता चल सका कि छात्र कहाँ अटका हुआ है या वह कितनी दूर आ गया है।

दिलचस्प बात यह है कि इन व्यापक कार्यों (जैसे प्रोजेक्ट के प्रकार को वर्गीकृत करना या प्रगति को ट्रैक करना) के लिए, LLMs ने वास्तव में काफी अच्छा प्रदर्शन किया, कभी-कभी विशेष संरचनात्मक मॉडलों के बराबर या उनसे बेहतर प्रदर्शन किया। यह सुझाव देता है कि जबकि LLMs विशिष्ट पात्र का नाम रखने के लिए आवश्यक सूक्ष्म संरचनात्मक विवरणों को मिस कर सकते हैं, वे किसी प्रोजेक्ट की "बड़ी तस्वीर" को समझने में बहुत अच्छे हैं।

निष्कर्ष

अध्ययन यह निष्कर्ष निकालता है कि हाँ, यह संभव है कि स्क्रैच के लिए कोड एम्बेडिंग्स का उपयोग किया जाए, लेकिन आपको काम के लिए सही उपकरण चुनना होगा। उन कार्यों के लिए जिनमें गहरी संरचनात्मक समझ की आवश्यकता होती है (जैसे स्प्राइट का नाम रखना), वे विशेष मॉडल जो ब्लॉक्स की संरचना और प्रवाह को समझते हैं, चैंपियन हैं। विशाल चैटबॉट्स (LLMs) उन विशिष्ट पहेलियों के लिए सबसे उपयुक्त नहीं हैं क्योंकि वे उन संरचनात्मक विवरणों को छोड़ देते हैं जिन पर स्क्रैच निर्भर करता है।

हालाँकि, ग्रेडिंग या प्रगति को ट्रैक करने जैसे व्यापक शैक्षिक कार्यों के लिए, LLMs आश्चर्यजनक रूप से प्रभावी हैं और विशेष मॉडलों के समान ही अच्छे हो सकते हैं। इससे भी बेहतर यह है कि इन विशेष मॉडलों को, एक बार प्रशिक्षित होने के बाद, प्रत्येक नए असाइनमेंट के लिए पुनः प्रशिक्षित किए बिना अन्य कार्यों—जैसे ग्रेडिंग या प्रगति को ट्रैक करने—के लिए उपयोग किया जा सकता है। यह शिक्षकों के लिए एक बड़ी जीत है, क्योंकि इसका मतलब है कि वे छात्रों को सीखने में मदद करने के लिए शक्तिशाली, स्वचालित उपकरण बना सकते हैं, यहाँ तक कि छोटे क्लासरूम में भी जहाँ एक नया AI स्क्रैच से प्रशिक्षित करने के लिए पर्याप्त डेटा नहीं होता है।

संक्षेप में, शोधकर्ताओं ने एक तरीका खोजा है जिससे कंप्यूटर को स्क्रैच कोड की एक ऐसी "समझ" दी जा सके जो केवल शब्दों को पढ़ने से परे है। ब्लॉक्स के आकार और प्रवाह को समझकर, ये मॉडल हमें प्रोग्रामिंग शिक्षा के लिए एक स्मार्ट और अधिक सहायक भविष्य बनाने में मदद कर सकते हैं।

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

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

Digest आज़माएँ →