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

Neural Code Translation of Legacy Code: APL to C#

यह शोध पत्र लार्ज लैंग्वेज मॉडल्स का उपयोग करके लेगेसी एPL (APL) कोड को C# में अनुवादित करने के लिए एक नवीन ढांचे को प्रस्तुत करता है, जो यह प्रदर्शित करता है कि रिट्रीवल ऑग्मेंटेशन और इटरेटिव रिफाइनमेंट जैसी निर्देशित रणनीतियाँ, एक स्वचालित मूल्यांकन पाइपलाइन के साथ मिलकर, APL की विरल सिंटैक्स और सीमित प्रशिक्षण डेटा की चुनौतियों के बावजूद अनुवाद की गुणवत्ता में महत्वपूर्ण सुधार करती हैं।

मूल लेखक: Abdulrahman Ramadan, Hanen Borchani, Iben Lilholm, Mikkel Almind, Allan Peter Engsig-Karup

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

मूल लेखक: Abdulrahman Ramadan, Hanen Borchani, Iben Lilholm, Mikkel Almind, Allan Peter Engsig-Karup

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

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

अब, कल्पना कीजिए कि आपको इन सभी किताबों को एक आधुनिक पुस्तकालय में ले जाना है जो C# में लिखा गया है, जो आज के सॉफ़्टवेयर दिग्गजों द्वारा उपयोग की जाने वाली एक भाषा है। समस्या यह है कि दोनों भाषाएँ पूरी तरह से अलग बोलियाँ बोलती हैं। APL एक तरल, गणितीय नृत्य की तरह है जहाँ कोड की एक पंक्ति C# में एक पूरे पैराग्राफ का काम कर सकती है। C# कठोर, संरचित है, और यह मांग करता है कि आप हर एक कदम का विस्तार से वर्णन करें।

यह शोध पत्र उन शोधकर्ताओं की एक रिपोर्ट है जिन्होंने इन प्राचीन किताबों को स्वचालित रूप से APL लाइब्रेरी से C# लाइब्रेरी में स्थानांतरित करने के लिए एक रोबोट अनुवादक (आर्टिफिशियल इंटेलिजेंस का उपयोग करके) बनाने की कोशिश की।

उन्होंने इसे कैसे किया, यहाँ सरल भाषा में समझाया गया है:

समस्या: "अनुवाद में खो जाने" का अंतर

शोधकर्ताओं ने पाया कि मानक AI अनुवादक इस कार्य में अक्सर विफल हो जाते हैं। क्यों?

  1. वर्णमाला अजीब है: APL विशेष प्रतीकों का उपयोग करता है जिन्हें अधिकांश AI मॉडल ने पहले कभी नहीं देखा है। यह एक रोबोट को उस भाषा को पढ़ने के लिए सिखाने जैसा है जो ऐसे इमोजी में लिखी गई है जिन्हें वह समझ नहीं पाता।
  2. तर्क (Logic) अलग है: APL एक बार में संख्याओं के पूरे समूह पर काम करता है (जैसे पानी की एक बाल्टी), जबकि C# आमतौर पर एक बार में एक संख्या पर काम करता है (जैसे पानी की एक बूंद)। AI को यह समझना होगा कि "बाल्टी" को "बूंदों" में कैसे तोड़ा जाए बिना तर्क को गिराए।
  3. कोई शब्दकोश नहीं: AI के सीखने के लिए APL कोड और C# कोड के जोड़े बहुत कम हैं। यह एक नई भाषा सीखने जैसा है बिना किसी पाठ्यपुस्तक के।

समाधान: रोबोट के लिए तीन "सहायक"

शोधकर्ताओं ने AI अनुवादक की मदद करने के लिए चार अलग-अलग तरीकों का परीक्षण किया। इन्हें एक कठिन परीक्षा देने वाले छात्र को मिलने वाले सहायता के विभिन्न स्तरों के रूप में सोचें:

  1. "सोलो" प्रयास (बेसलाइन): AI को APL कोड दिया जाता है और कहा जाता है, "बस C# कोड लिखो।"

    • परिणाम: AI भ्रमित हो जाता है। यह अक्सर ऐसा कोड लिखता है जो देखने में ठीक लगता है लेकिन वास्तव में काम नहीं करता, या यह क्रैश हो जाता है क्योंकि यह C# के नियमों को भूल जाता है।
  2. "अनुवादक की टिप्पणी" (प्राकृतिक भाषा): C# कोड लिखने से पहले, AI से पूछा जाता है कि वह पहले साधारण अंग्रेजी में समझाए कि APL कोड क्या कर रहा है (एक मानव अनुवादक द्वारा सारांश लिखने की तरह)। फिर, वह उस सारांश का उपयोग C# कोड लिखने के लिए करता है।

    • परिणाम: इससे बहुत मदद मिली। AI को पहले अंग्रेजी में अर्थ के बारे में "सोचने" के लिए मजबूर करने से, इसने कम गलतियाँ कीं।
  3. "चीट शीट" (रिट्रीवल): AI को संदर्भ कार्डों का एक ढेर (APL नियमों और उदाहरणों का एक डेटाबेस) दिया जाता है और कहा जाता है कि लिखने से पहले उसे आवश्यक विशिष्ट नियम ढूँढ लें।

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

    • परिणाम: इसने सबसे अच्छे परिणाम दिए। यह एक छात्र के अभ्यास टेस्ट लेने जैसा है, अपनी गलतियों को देखने, और टेस्ट को तब तक फिर से देने जैसा है जब तक कि उसे 'A' ग्रेड न मिल जाए।

गुप्त मंत्र: "मेथड सिग्नेचर"

शोधकर्ताओं ने एक महत्वपूर्ण ट्रिक भी खोजी। क्योंकि C# प्रकारों (types) के बारे में बहुत सख्त है (इसे जानने की आवश्यकता है कि संख्या पूर्णांक है या दशमलव), उन्होंने AI को कोड शुरू करने से पहले फ़ंक्शन के आकार का एक "ब्लूप्रिंट" दिया। यह AI को एक टेम्पलेट देने जैसा है जो कहता है, "यह फ़ंक्शन संख्याओं की दो सूचियाँ लेता है और हाँ/नहीं के उत्तरों की एक सूची लौटाता है।" इस ब्लूप्रिंट के साथ, AI ने बहुत अधिक सटीक कोड लिखा।

उन्होंने क्या पाया (परिणाम)

  • AI यह कर सकता है, लेकिन इसे मदद की जरूरत है: एक कच्चा AI मॉडल अभी इसमें अच्छा नहीं है। लेकिन यदि आप इसे "ब्लूप्रिंट" देते हैं, इसे अंग्रेजी में तर्क समझाने के लिए कहते हैं, और इसे अपनी गलतियों को ठीक करने के लिए अभ्यास करने देते हैं, तो यह काम में बहुत अच्छा हो जाता है।
  • अधिक डेटा = बेहतर परिणाम: उन्हें जितने अधिक APL-से-C# जोड़े AI को खिलाए गए, यह उतना ही बेहतर होता गया। हालाँकि, उन्होंने पाया कि अपेक्षाकृत कम डेटा के साथ भी "अभ्यास सत्र" विधि आश्चर्यजनक रूप से अच्छी तरह काम करती है।
  • मुख्य दुश्मन सिंटैक्स नहीं, बल्कि तर्क (Logic) है: अधिकांश समय, AI ऐसा कोड लिख सकता था जो कंपाइल (बिना क्रैश हुए काम करना) हो जाता था, लेकिन वह बिल्कुल वही नहीं करता था जो मूल APL कोड करता था। सबसे कठिन हिस्सा कोड की स्पेलिंग को समझना नहीं, बल्कि गणित के इरादे (intent) को समझना था।

निचोड़

शोधकर्ताओं ने सफलतापूर्वक एक पाइपलाइन बनाई जो पुराने, रहस्यमय APL कोड को आधुनिक, उपयोगी C# कोड में स्वचालित रूप से अनुवाद कर सकती है। उन्होंने साबित किया कि फाइन-ट्यूनिंग (विशेष प्रशिक्षण), व्याख्या (अंग्रेजी सारांश), और फीडबैक लूप (गलतियों को सुधारना) को जोड़कर, AI इन दो बहुत अलग दुनियाओं के बीच के अंतर को पाट सकता है। इसका मतलब है कि APL में लिखे गए पुराने, महत्वपूर्ण सिस्टम वाले कंपनियाँ अब बिना किसी दुर्लभ, महंगे विशेषज्ञ को सब कुछ फिर से लिखने के लिए नियुक्त किए, उन्हें आधुनिक बनाने में सक्षम हो सकती हैं।

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

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

Digest आज़माएँ →