• 1980 के दशक के Mark V. Shaney प्रोग्राम से प्रेरित होकर, लगभग 30 lines of Python code में बनाया गया एक सरल Markov text generator Mark V. Shaney Junior तैयार किया गया
  • यह मॉडल तीन शब्दों (trigram) के आधार पर अगले शब्द की प्रायिकता के साथ भविष्यवाणी करता है, और training data के रूप में 200 से अधिक ब्लॉग पोस्ट्स (लगभग 2 लाख शब्द) का उपयोग करता है
  • जनरेट किए गए वाक्य Lisp, Emacs, गणित, प्रोग्रामिंग जैसे ब्लॉग विषयों के शब्दों को मिलाकर बने अर्थहीन वाक्य (gibberish) के रूप में निकलते हैं
  • मॉडल का order बढ़ाने पर वाक्य अधिक सुसंगत होते हैं, लेकिन 5 या उससे अधिक पर यह मूल पाठ को जस का तस उद्धृत करने लगता है और रचनात्मकता गायब हो जाती है
  • बड़े language models (LLM) के दौर में भी, ऐसे सरल Markov models की संरचनात्मक स्पष्टता भाषा-उत्पादन के सिद्धांतों को समझने के लिए एक अच्छा शुरुआती बिंदु मानी जाती है

Mark V. Shaney Junior प्रोग्राम का अवलोकन

  • Mark V. Shaney Junior 1980 के दशक के Usenet पर सक्रिय एक आभासी उपयोगकर्ता Mark V. Shaney की नकल करने वाला text generator है
    • मूल प्रोग्राम Markov मॉडल का उपयोग करके पोस्ट अपने-आप जनरेट करता था
    • यह implementation उसी विचार का सरल किया गया minimal version है, जिसे GitHub पर public किया गया है
  • पूरा code लगभग 30 lines of Python का है और इसमें efficiency से अधिक simplicity को प्राथमिकता दी गई है
    • Markov मॉडल से पहली बार परिचित होने वाला व्यक्ति भी इसे 20 मिनट के भीतर समझ सकता है

शौक के रूप में प्रयोगात्मक प्रोग्रामिंग

  • लेखक किसी खास समस्या को हल करने के बजाय ideas explore करने के उद्देश्य से programming करना पसंद करता है
    • अलग-अलग state spaces वाले Markov chains पर कई बार प्रयोग किए गए
    • ऐसे experimental code को व्यवस्थित करके GitHub या Codeberg पर साझा किया गया
  • Mark V. Shaney Junior भी ऐसे ही प्रयोगों में से एक है, जिसे थोड़ा निखारकर public किया गया

ब्लॉग डेटा का उपयोग करके text generation

  • मॉडल को पहले Charles Dickens की A Christmas Carol पर train करके test किया गया, फिर
    24 साल के ब्लॉग पोस्ट्स (200 से अधिक, लगभग 2 लाख शब्द) को input data के रूप में इस्तेमाल किया गया
    • comments (लगभग 40 हजार शब्द) को शामिल नहीं किया गया
  • जनरेट किए गए वाक्य programming commands, mathematical terms, editor commands आदि के मिश्रण से बने अतार्किक वाक्य के रूप में निकलते हैं
    • उदाहरण: Emacs commands, Lisp code, और mathematical terms के random संयोजन वाले वाक्य
  • कुछ वाक्य ब्लॉग की अलग-अलग पोस्ट्स से शब्द लेकर अर्थहीन संयोजन बनाते हैं
    • उदाहरण: “Lisp source file” और “self-esteem” अलग पोस्ट्स से लेकर जोड़े गए

Markov गुण और algorithmic structure

  • default setting trigram (3-word) आधारित है, जिसमें
    पहले दो शब्दों को key और तीसरे शब्द को value के रूप में रखने वाली map structure का उपयोग होता है
  • text generation process
    • किसी random शब्द-युग्म का चयन → संभावित अगले शब्दों में से एक को समान प्रायिकता से चुनना
    • नए चुने गए शब्द और पिछले शब्द से नया युग्म बनाकर प्रक्रिया दोहराना
    • आगे कोई शब्द न बचे या 100-word limit तक पहुँचने पर समाप्त करना
  • अगर वही trigram कई बार आता है, तो उसके अगले शब्द list में duplicate रूप में store होते हैं, जिससे
    उपस्थिति आवृत्ति के अनुपात में प्रायिकतापूर्ण चयन होता है
  • यह प्रक्रिया केवल वर्तमान state पर निर्भर probabilistic transition है,
    जिसे सूत्र के रूप में P(Xₙ₊₁ | Xₙ, Xₙ₋₁, …, X₁) = P(Xₙ₊₁ | Xₙ) लिखा गया है
    • यही memoryless विशेषता Markov property का मूल है

अतिरिक्त प्रयोग और model order adjustment

  • default order 2 है और इसे command-line argument से बदला जा सकता है
    • order को 3~4 तक बढ़ाने पर वाक्य अधिक सुसंगत और स्वाभाविक हो जाते हैं
    • उदाहरण: IRC commands और mathematical concepts के मिश्रण से बने अपेक्षाकृत तार्किक वाक्य
  • लेकिन order को 5 तक बढ़ाने पर मूल पाठ की सीधी नकल करने की प्रवृत्ति दिखती है, जिससे
    creative gibberish गायब हो जाता है
  • शुरुआती prompt देकर भी text generate किया जा सकता है
    • उदाहरण: “Finally we” से शुरू होने वाला वाक्य देने पर,
      Emacs, MATLAB, GNU bash आदि के शब्दों से मिश्रित लंबा वाक्य बनता है

सरल मॉडल का महत्व

  • 2025 तक large language models (LLM) मुख्यधारा में हैं, लेकिन
    Markov मॉडल global structure या long-term dependencies को पकड़ नहीं पाते
  • फिर भी, सरल design और implementation की स्पष्टता के कारण
    यह language generation के सिद्धांत सीखने के लिए एक introductory model के रूप में मूल्यवान है
  • लेखक इसे language models का ‘Hello, world’ कहता है

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.