Natural Language Programming की मूर्खता पर आलोचना
- स्वचालित कंप्यूटिंग के शुरुआती दौर से ही ऐसे लोग मौजूद थे जिन्हें औपचारिक प्रतीक-प्रणाली की मांग करने वाली प्रोग्रामिंग शैली से असंतोष था
- मशीन दिए गए निर्देशों को ज्यों-का-त्यों निष्पादित करने वाली एक 'वफादार दास' की तरह होती है, और स्पष्ट त्रुटियों को भी वैसे ही चला देती है
- कुछ लोगों को उम्मीद थी कि मशीन त्रुटियों को नज़रअंदाज़ कर उन्हें चलाने के बजाय, अधिक 'तार्किक' व्यवहार करेगी
उच्च-स्तरीय प्रोग्रामिंग भाषाओं का आगमन और विकास
- मशीन भाषा को त्रुटि-पहचान या पुनरावृत्ति से लगभग रहित होने के कारण एक खतरनाक इंटरफ़ेस माना गया
- इसी वजह से उच्च-स्तरीय प्रोग्रामिंग भाषाएँ सामने आईं, और error messages के ज़रिए गलत परिणामों को रोकने जैसी प्रगति हुई
- फिर भी प्रोग्रामिंग अब भी औपचारिक प्रतीकों की मांग करती है, और अब भी सूक्ष्म स्तर की सटीकता की आवश्यकता होती है
प्राकृतिक भाषा में प्रोग्रामिंग के पक्ष में तर्क और उसके प्रतिवाद
- यह तर्क दिया गया कि अगर मशीन को प्राकृतिक भाषा में नियंत्रित किया जाए तो उपयोगकर्ता अधिक सहज महसूस करेगा
- ऐसा माना गया कि मशीनें अधिक जटिल होने के साथ यह उपयोगकर्ता के लिए सहायक हो सकता है
- लेकिन इंटरफ़ेस में बदलाव काम के बँटवारे को समायोजित नहीं करता, बल्कि सहयोग और संचार का अतिरिक्त कार्यभार पैदा करता है
- वास्तव में, इंटरफ़ेस जितना व्यापक होता है, दोनों पक्षों का कार्यभार उतना ही बढ़ता है और कई बार चीज़ें और जटिल हो जाती हैं
गणित और प्रतीक-प्रणाली के ऐतिहासिक उदाहरण
- प्राचीन यूनानी गणित भाषा और चित्र-केंद्रित पद्धतियों तक सीमित रहा, जिससे उसका विकास ठहर गया
- इस्लामी गणित भी प्रतीक-प्रणाली को अपनाने में असफल रहा और रुक गया
- यूरोप ने Vieta, Descartes, Leibniz, Boole जैसे व्यक्तियों द्वारा औपचारिक प्रतीक-प्रणाली अपनाने के बाद असाधारण प्रगति की
औपचारिक भाषा के लाभ और प्राकृतिक भाषा की सीमाएँ
- औपचारिक भाषा कुछ सरल नियमों के ज़रिए कई त्रुटियों को रोक सकती है
- औपचारिक प्रतीकों ने उस तार्किक चिंतन को, जो पहले केवल प्रतिभाशाली लोगों के लिए संभव था, छात्रों के लिए भी संभव बना दिया
- प्राकृतिक भाषा अस्पष्ट होती है और उसमें अर्थहीन कथन आसानी से मिल जाते हैं, इसलिए वह त्रुटिरहित तार्किक अभिव्यक्ति के लिए उपयुक्त नहीं है
अगर input/output का एकमात्र तरीका प्राकृतिक भाषा ही होता?
- अगर शुरुआत से ही मशीन को केवल प्राकृतिक भाषा से नियंत्रित किया गया होता, तो अंततः हमें फिर से औपचारिक प्रणाली की ओर लौटने वाली एक 'bootstrap' प्रक्रिया की ज़रूरत पड़ती
- इस प्रक्रिया में शायद हज़ारों साल लगते, और अंततः निष्कर्ष फिर औपचारिक भाषा ही होता
शैक्षिक पतन और 'नई निरक्षरता' की घटना
- पिछले कुछ दशकों में बौद्धिक प्रशिक्षण के कमजोर होने से, बहुत से लोग अपनी मातृभाषा तक को ठीक से संभाल नहीं पाते
- वैज्ञानिक शोधपत्रों, तकनीकी रिपोर्टों और सरकारी दस्तावेज़ों में अर्थहीन भाषा की भरमार इस बात का प्रमाण है
- यह प्रवृत्ति प्राकृतिक भाषा प्रोग्रामिंग की विफलता का पूर्वाभास कराती है
निष्कर्षात्मक अंतर्ज्ञान
- प्राकृतिक भाषा में प्रोग्रामिंग कर सकने वाली मशीन बनाना, उसे उपयोग करने जितना ही कठिन होगा
1 टिप्पणियां
Hacker News राय
कुछ लोगों का मानना है कि LLMs (large language models) का बचाव करना अच्छा लगता है
Hal Abelson का एक पुराना उद्धरण याद आता है
natural language में मानव की मानसिक सीमाओं से आने वाली पाबंदियाँ होती हैं
machine language को एक अनावश्यक रूप से खतरनाक interface के रूप में देखा जाता है
natural language में computer programs generate करने के बजाय, उन्हें सीधे execute करना चाहिए
natural language, rules और commands देने के लिए उपयुक्त नहीं है
किसी specific domain के लिए बनी language, वह precision और clarity देती है जो natural language नहीं दे सकती
Forth, PostScript, Assembly ऐसे 'natural' programming languages हैं जो code execution environment से अच्छी तरह मेल खाते हैं
advanced programming methods, natural language की बजाय programming languages जैसे दिखने लगेंगे
गलतियों का error messages के रूप में दिखना एक बड़ा सुधार है