Wednesday, August 12, 2015

किरात राई की-बोर्ड
alkbp kbhl al-jbrkzR

१.    परिचय:-
              मानव भाषा (Human Language) र प्रविधि (Technology) माझ रहेको भाषिक दूरीलाई समाधान गर्नहेतु विद्वानहरूले हामीमाझ नयाँ  विषय परिचय गराएको पाइन्छ। अर्थात् सहज भाषामा भन्नुपर्दा कम्प्यूटरलाई मानव भाषा सिकाउन प्राकृतिक भाषा प्रशोधन (NLP-Natural Language Processing) को अध्ययन हुनथालेको पाइन्छ। विश्वका विकसित देशहरूले यसको कार्य धेरै अघि बडाइसकेका पाइए तापनि भारतमा केही विश्वविद्यालका भाषाविज्ञान विभाग (Linguistics Department), प्राविधिक संस्थान (Technical Institute) र भाषा संस्थान (Language Institute) हरूमा यस विषयको पठन-पाठन सँगसँगै परियोजनाको कार्य कही वर्षदेखि चलिरहेको थाह पाइन्छ। यस परियोजनामा विशेष गरी भारतीय क्षेत्रीय भाषाहरू (Indian Regional Languages) सँगसँगै अन्य क्षेत्रीय भाषाहरूको समेत् अध्ययन र अनुशन्धान गरिँदैछ। अर्तात् गरिरहेको पाइन्छ। अनि जसको निम्ति केही आधारभूत कुराहरू एकदमै आवश्यक पर्ने हुन्छ। ती हुन्-
              अ.   भाषिक क्षेत्र (linguistic field)- विशिष्ट भाषाको लिपि, व्याकरण, मुद्रित ग्रन्थ (विभिन्न क्षेत्रका) र स्रोत व्यक्ति प्रभृति।
               आ. प्राविधिक क्षेत्र (Technical field)- विशिष्ट भाषाको फन्ट (Font) र की-बोर्ड(Keyboard) प्रभृति।

            उक्त प्रस्तुत का सबै कुरा उपलब्ध छन् भने ती कुराहरूलाई कम्प्यूटरमा लिपिको डिजिटल रूप (युनिकोड फन्ट)  प्रतिस्थापन (Install) गरी की-बोर्डको सहायताले सामग्री प्रविष्टि (Entry) गर्न सकिन्छ।  अनि प्राकृतिक भाषा प्रशोधनको लागि आवश्यक कार्य अग्रसर गराउन सकिन्छ। तर भारतीय क्षेत्रीय भाषा र अन्य सङ्कटपूर्ण भाषाको अनुशन्धानमा भाषिक क्षेत्र सबल रहे पनि प्राविधिक क्षेत्रको दुर्बाल्यताले गर्दा यस क्षेत्रमा चाहे जस्तो कार्य हुन सकेको छैन वा पाइन्न।

२.   की-बोर्ड (keyboard) :-
           दैनन्दिन शैक्षिक शिक्षा सँगसँगै प्राविधिक शिक्षाको पनि हाम्रो समाजमा ध्यान र आकर्षण बढ्दै गएको पाइन्छ। साधारण घरदेखि सहरको महलसम्म कम्प्युटर नभए पनि मोबाइल त हुन्छ नै। त्यसैले की-बोर्डको कुरा वा चर्चा गर्दा नयाँ कुरा वा शब्द सुनेजस्तो आश्चर्य लाग्दैन भन्ने लाग्छ। तर यसलाई परिभाषित गर्न परे वा यसको निर्माण कसरी गरिन्छ भन्ने कुराप्रति भने आश्चर्य र अनभिज्ञता रहेको हुनसक्छ। यसकारण यहाँ यसको परिभाषासँगै की-बोर्डका केही प्रकार र निर्माणबारे चर्चा गरिनेछ।
               यो एउटा कीहरूको प्यानल (Panel) हो जसले कम्प्युटर वा टाइपराइटरलाई सञ्चालन गर्दछ। अथवा यो एउटा कीहरूको प्यानल भएको उपकरण हो जसले कम्प्युटरमा डेटा प्रविष्टि गर्न मदत गर्दछ।
              की-बोर्ड एउटा उपकरण (Device) हो जसमा कीहरूको सेट मिलाएको हुन्छ। जस्तै- पियानो (Piano), अर्गेन (Organ) मा पनि विभिन्न धुन सृष्टि गर्न कीहरूको सेट मिलाइएको हुन्छ। अनि टाइपराइटर र कम्प्युटरमा विभिन्न कीहरूको सेट मिलाइएको हुन्छ जसबाट डेटाको उत्पादन (Output) र प्रविष्टि (Entry) गर्न सकिन्छ।

'A 'keyboard' is a Human Interface Device which is represented as a layout of buttons.' 

                निम्न प्रस्तुत कम्प्युटरको की-बोर्ड स्क्रिनशटले उक्त परिभाषलाई बुझ्न सहयोग पुर्‍याउँछ। यस प्रकार की-बोर्डलाई हामी इन्पुट् डिभाइस (Input device) भनेर जान्ने गर्छौँ। यसैले पनि हो कम्प्युटिङ्गको लागि की-बोर्ड मुख्य इन्पुट डिभाइस भएको पाइन्छ।
                यस्ता की-बोर्ड मोबाइलमा पनि हुनेगर्छ तर मोबाइलमा भएको त्यसकै प्रयोगअनुसार दुई प्रकाले तयार गरिएको हुन्छ। एउटा स्क्रिनको ठिक तल छुन सक्ने(Mechanical-यो हार्डवेअर की-बोर्ड हो।) हुन्छ भने अर्को स्क्रिनमा दबाउँदा विकल्पमा देखिन (Digital- यो सफ्टवेअर की-बोर्ड हो।) आउने हुन्छ। तर ट्याबलेट (Tablet) र एप्पल आइप्याड (Apple Ipad) मा भने त्यसको प्रयोगअनुसार बाह्य (Externa- जसलाई युएसबी/USB क्याबलद्वारा जोर्न सकिन्छ।) र आन्तरिक (Internal- जसलाई भित्र मिलाइएको हुन्छ।) दुई प्रकारले तयार पारिएको हुन्छ। यसैले यसको स्वरूप वा संरचनाको आदारमा की-बोर्डलाई क) सफ्टवेअ र (Software) र ख) हार्डवेअर (Hardware) गरी दुई प्रकार देखाइएको पाइन्छ। सहज भाषामा भन्नु हो भने जुन की-बोर्डलाई छुन सकिन्छ त्यसलाई हार्डवेर भनिन्छ र जुन की-बोर्डलाई छुन सकिँदैन त्यसलाई सफ्टवेर भनिन्छ।  अनि की-बोर्डको  प्रवृत्ति वा प्रयोगको आधारमा थुप्रै प्रकारका की-बोर्ड पाइन्छ। केही यस प्रकारका छ्न-
               स्ट्यान्डर्ड की-बोर्ड (Standard keyboard) जसमा कीका सामान्य सङ्ख्या १०५ रहेको पाइन्छ भने यसको पुरानो खाले की-बोर्डमा ९५-१०३ को अन्तरमा रहेको पाइन्छ।
                एर्गोनमिक की-बोर्ड (Ergonomic keyboard) जसलाई प्रयोगकर्ताहरूका हातका औँलाको थोरै थिचाइमा थोरै समयमा धेरै डेटा प्रविष्टि गर्न सक्ने तरिकाले परिकल्पना गरिएको पाइन्छ।
                     वायरलेस की-बोर्ड (Wireless keyboard) जसलाई तारबिना ब्लुतूथ (Bluetooth), इन्फ्रार्ड (Infrared) अनि रेडियो फ्रिक्वेन्सिको माध्यमबाट प्रयोग गर्न सकिन्छ।
                           कम्प्याक्ट की-बोर्ड (Compact keyboard) जो पातलो हुन्छ र धेरैजसो वर्तमान की-बोर्डको दायाँपट्टि रहने न्युमेरिक की-प्याड(७.की-बोर्डमा कीका प्रकारमा होर्नुहोस्) हुँदैन।
                                 इन्टनेट की-बोर्ड (Internet keyboard) मा इन्टर्नेटको उपयोगिताअनुसार विशिष्ट हट की (hot key) हुने गरेको पाइन्छ।
                 गेमिङ्ग की-बोर्ड (Gaming keyboard) खास गरी ग्याम खेल्नेहरूको निम्ति परिकल्पना गरिएको पाइन्छ।
                  भर्चुअल की-बोर्ड (Virtual keyboard) सफ्टवेअर डिभाइस हो जसले अरू हार्डवेअर की-बोर्डले जस्तै डेटा प्रविष्टि गर्न सकिन्छ।
            यस प्रकार की-बोर्डका परिभाषा र प्रकारबारे संक्षेपमा चर्चा गरे पश्चात् यस लेखको मूल विषयतिर अग्रसर हुन पर्ने हुन्छ। अनि यस लेखको उद्देश्य हार्डवेअर एन्जिनीअर (Hardware engineer)को कार्यभन्दा ठिक विपरित विशेष गरी  सफ्टवेअर एन्जिनीअर (Software engineer)को जस्तो हुने हुनाले यस लेखमा केवल किरात राई की-बोर्ड (Software) कसरी बनाइयो सोबारे चर्चा गरिनेछ। 

३.   किरात राई की-बोर्ड :-
                 यो भर्चुअल की-बोर्ड (Virtual keyboard) हो। वर्तमान भारतमा प्रयोग गरिरहेको इन्स्क्रिप्ट् की-बोर्ड (Inscript keyboard) को आधारमा तयार पारिएको छ। इन्स्क्रिप्ट्, इन्डियन स्क्रिप्ट (Indian Script) को छोटो रूप हो। अनि यो की-बोर्ड क्वर्टी (QWERTY) की-बोर्डको लेआउट (layout) अनुसार तयार गरिएको छ। क्वर्टी (QWERTY) की-बोर्ड वर्तमानमा प्रचलित की-बोर्ड लेआउट् हो जसको ल्याटिन स्क्रिप्ट् (Latin Script) अनुसार परिकल्पना गरिएको छ। अर्थात् ल्याटिन स्क्रिप्ट्को वर्णविन्यास (Orthography/Writing System) अनुसार तयार गरिएको छ।
               भारतीय क्षेत्रीय भाषाहरूको निम्ति तयार गरिएको की-बोर्ड भर्चुअल भएको कारण यसको आफ्नै विशेष्ता छ। वर्णविन्यास भारतीय लिपिकोअलगअलग रहे तापनि की-बोर्ड लेआउट् भने एउटै पाइन्छ। अनि त्यही लेआउट्अनुसार हिन्दी, मराठी, भङ्गला, गुजराती  र कन्नडा प्रभृति की-बोर्ड तयार गरिएको पाइन्छ। यो एउटा भारतीय लिपि वा भारतीय भाषाहरूको निम्ति मानक की-बोर्ड हो भन्न सकिन्छ। यही इन्स्क्रिप्ट् की-बोर्डको आधारमा किरात राई की-बोर्ड तयार गरिएको छ।
              यो की-बोर्ड तयार गर्न प्रथमतः निहित भाषाको युनिकोड फन्ट (Unicode Font) होस् वा नन्‍-युनिकोड फन्ट (Non-Unicode Font) प्राप्य हुनु आवश्यक छ। जसरी लिपिबिना कुनै पनि भाषाको लिखित रूप दिन सम्भव हुँदैन भने फन्टबिना पनि कुनै पनि भाषाको की-बोर्ड बनाउन सम्भव हुँदैन। यहाँ राई भाषाको युनिकोड फन्ट प्राप्य नभए पनि सिक्किमबाट निर्मित नन्युनिकोड फन्टलाई काममा लगाएर किरात राई की-बोर्ड बनाउने जमर्को कसिएको छ। 


राई लिपि

kbhl pbsbnpb


व्यञ्जनवर्ण                                                                                                  स्वरवर्ण
mbhlsb n                                           tbrnsbn


                   ङ                               X         
a      d       F         S      f                                                     h        hb       hl     hu


                                                        
m      s       H         J        E                                                     hr      hrr    hbr     hbrr


               ध                                                                                     अ्     अं     अँ     hY    hT
D       K         R         I                                                               hz         hU        hO           अः          ?


                    न                                                                               मात्रा
p        x        q          c        o                                                          klgbe


                                                                                
n        G        j        v         e                                 b          l         u       r          rr        br       brr


                   
y       k        w         i        A   


     ह 
g        t
   

अयोगवाह

               ?
U        O         Y           T


सङ्ख्या
hldlnwb

१        २        ३         ४        ५         ६       ७         ८       ९         ०

1     2     3     4     5     6     7     8     9     0



यसै लिपिको आधारमा किरात राई की-बोर्ड तयार पारिएको छ।


                यो  की-बोर्ड बनाउँदा सफ्टवेअरमा विशेष गरेर प्रयोगकर्ताको सुविधालाई ध्यानमा राखी तह (Level) मिलाइ अक्षर राख्न पर्ने हुन्छ। खास गरी जत्तिसक्दो व्यवस्थित बनाउन सके प्रयोगकर्ताको लागि उति नै सहज र सुविधा हुन्छ।  तसर्थ यसको निर्माणमा केवल दुई तहमात्र राखिएको छ। शिफ्ट कीसँग (with shift key) र शिफ्ट कीबिना (without shift key)। शिफ्ट कीबिनाको लेआउट्लाई नर्मल लेआउट् (Normal Layout) भनिन्छ। यस लेखमा की-लेआउट्को भिन्नतालाई सजिलो तरिकाले सम्झाउन शिफ्ट की-लेआउट् (+Shift) र नर्मल की-लेआउट्(-Shift) पदावलीको प्रयोग गरिएको छ।
                 अनि अर्को साधारण कुरा के हो भने अङ्ग्रेजीका वर्णमालामा क्यापिटल र स्मल लेटर पाइन्छ तर भारतीय क्षेत्रीय भाषाका वर्णमालामा त्यस्तो भिन्नता पाइन्न। त्यसैले की-लेआउट्मा क्षेत्रीय भाषाको अल्पप्राण (Unaspirated- उच्चारणमा बढी श्‍वास खर्च हुने वर्ण) बराबर अङ्ग्रेजीको स्मल लेटर (Small letter) को चिह्नले प्रतिनिधित्व गरेको छ भने महाप्राण (Aspirated- उच्चारणमा कम श्‍वास खर्च हुने वर्ण) बराबर अङ्ग्रेजीको क्यापिटल लेटर (Capital letter) को चिह्नले प्रतिनिधित्व गरेको छ। त्यसकारण जुन वर्णसँग स्मल लेटरको चिह्न रहेको छ त्यो नर्मल की-लेआउट् हो अनि जुन वर्णसँग क्यापिटल लेटरको चिह्न रहेको छ त्यो शिफ्ट की-लेआउट् हो।   

    ४. नर्मल की-लेआउट् र वर्णका स्थान :-
              नर्मल की-लेआउट् भनेको की-बोर्डमा राखिएका शिफ्टबिनाको लेआउट् हो। अर्थात् की-बोर्डमा रहेका कीहरू थिच्दा सिफ्ट् की को सहयोग लिन पर्दैन। अनि यस लेआउट्मा अल्पप्राण वर्ण वा अक्षरलाई मात्र स्थान दिएको छ। यदि कीका स्थान खाली रहे त्यहाँ विकल्पमा अरू वर्ण वा अक्षरलाई त्यसको प्रवृति हेरेर राखिन्छ। जस्तै- यस नर्मल की-बोर्डको स्क्रिनशट्लाई हेर्न सकिन्छ।

     







नर्मल की-बोर्ड लेआउट् : पहिलो तह।

           नर्मल इन्स्क्रिप्ट् राई की-बोर्ड लेआउट्मा/a/k, /F/i, /m/;, /H/p, /D/, /R/[, /p/l, /q/o, /o/v,/n/h, /j/y, /e/c, र/k/j, /w/n, व/i/b, स/g/m, /t/u, /y/?/b/e, /l/r, /u/t, /br/a, े/r/s, /./>, /-/d, /U/x, /1/1, /2/2, /3/3, /4/4, /5/5, /6/6, /7/7, /8/8, /9/9, /0/प्रभृति अक्षर(Character) र सङ्ख्या(Number)हरू राखिएका छन्।                 

५.  सिफ्ट् की-लेआउट् र वर्णका स्थान :-
           की-बोर्डमा राखिएका जुन कीहरू शिफ्टसँग थिच्न पर्ने हुन्छ त्यसलाई शिफ्ट की-लेआउट् भनिन्छ। अर्थात् की-बोर्डमा रहेका कीहरूलाई शिफ्ट कीसँग एकैसाथ थिच्न पर्ने हुन्छ। अनि त्यही सिफ्ट् कीसँगको लेआउट्लाई शिफ्ट की-लेआउट् भनिएको हो। विशेष गरी यस की-लेआउट्मा महाप्राणी अक्षरलाई स्थान दिएको छ। यसो गर्नाले क्षेत्रीय अक्षरका स्थानहरू छिटो र व्यवस्थित रूपमा याद गर्न सिकारुहरूलाई धेरै मदत पुग्ने हुन्छ। यस कीमा पनि विकल्पमा अरू अक्षर वा चिह्नहरूलाई राख्न सकिन्छ।








शिफ्ट कीसँगको की-बोर्ड लेआउट् : दोस्रो तह।

शिफ्ट की-लेआउट्मा-  /d/K, /S/I, f//U,/s/;, /J/P, ञ/E/],/K/, /I/[, /x/L, /c/O, /G/H, /v/Y, श/A/M प्रभृति अक्षर(Character) र विराम चिह्न (Punctuation) हरू राखिएका छन्।

६.   की-बोर्डमा रहेका कीका प्रकार :-
              की-बोर्ड निर्माणमा लिपिमा भएका वर्णमाला, चिह्नहरू, सङ्ख्या अनि अरू जेजे छन् ती सबैलाई ध्यान दिन पर्ने हुन्छ। खास गरी भारतीय लिपिको आधारमा निर्मित की-बोर्डमा (Indian Script Keyboard, Hardware) मानक की-बोर्ड लेआउट हो जसमा १०४ देखि १०५ वटा कीहरू रहेका हुन्छन्। अनि यही कीहरूलाई तीन प्रकारमा वर्गीकृत गरेको पाइन्छ- 
१.अल्फान्युमेरिक की (Alphanumeric key)- मा वर्णमाला र सङ्ख्या रहेको हुन्छ।
२.पङ्चुएसन की (Punctuation key )- मा विरामादिचिह्नहरू रहेको हुन्छ। अनि
३.स्पेसियल की (Special key)- मा फङ्सन कीहरू (Function keys), कन्ट्रोल कीहरू(Control keys), एरो कीहरू (Arrow keys) अनि क्यप्सलक की (Caps lock key) प्रभृति रहेको हुन्छ।
  ७.की-बोर्डमा कीका प्रकार।

            यी तीन प्रकारका कीहरू की-बोर्डमा पाँच भाग गरेर राखिएको हुन्छ। र ती मध्ये एक भाग मात्रै क्षेत्रीय लिपिको निम्ति प्रयोग गरिन्छ। बाँकी अरू कीहरू जस्ताको तस्तै अरू लिपिको निम्ति प्रयोग गरिन्छ।
         इन्स्क्रिप्ट् की-बोर्ड अनुसार क्षेत्रीय भाषा वा राई की-बोर्ड बनाउँदा सफ्टवेअर (Software) मा रहेको अमूर्त तह (Layer) पाइन्छ। अनि त्यही तहमा अक्षर, विरामादिचिह्न, सङ्ख्या आदि राखेर राई की-बोर्ड तयार गरिएको छ। अमूर्त रहेको तहलाई सफ्ट्वेअरमा कसरी मूर्त बनाउन सकिन्छ भने की-बोर्डका बायाँपट्टि र दायाँपट्टि  शिफ्ट (Shift), कन्ट्रोल (Control) र अल्टर (Alter) कीहरू रहेका हुन्छन्। त्यही कीको माध्यमबाट वा कीलाई थिचेर त्यो तहमा कार्य गर्न सक्ने हुन्छ। अनि त्यही तहको प्रवृतिलाई हेरेर की-बोर्ड लेआउटको नाम राखिएको हुन्छ। जस्तै- नर्मल की-बोर्ड लेआउट् (keys), शिफ्ट की-बोर्ड लेआउट (Shift+Keys) र एक्स्टेन्डेड की-बोर्ड लेआउट् (Shift+Ctrl+Keys)।  

               पहिलो चरणमा राई भाषाको फन्ट (Unicode or Non-Unicode)को आवश्यकता पर्दछ। अनि फन्ट तयार भएपछि  त्यसलाई सफ्टवेअरमा प्रविष्ट गरिन्छ। फन्ट फ्रविष्ट गर्नुको लागि दोस्रो चरणको आवश्यकता पर्दछ।
            दोस्रो चरणमा इन्पुट् मेथड् एडिटरको (Input Method Editor) को आवश्यकता पर्दछ। अनि त्यो आईएमई (IME) जोगाड गरेपछि यसले कुनै पनि डेटा वा फन्टलाई प्रविष्ट गर्न सहमती प्रदान गर्दछ। यो आईएमई अपरेटिङ्ग सिस्टम (Operating System) को तत्त्व हो अथवा अपरेटिङ्ग सिस्टमको अमूर्त भाग हो जसले डेटा प्रविष्ट गर्न सहयोग पुर्‍याउँछ।  त्यसैले प्रयोगकर्ता वा की-बोर्ड बनाउनेले इन्पुट डिभाइस (Input Device) मा नभएको अक्षर र चिह्नहरू प्रविष्ट गर्न सक्छन्। त्यसको लागि तेस्रो चरणको प्रक्रिया जरुरी हुन्छ।

             तेस्रो चरणमा माइक्रोसफ्ट् की-बोर्ड लेआउट् क्रिएटर (MSKLC) को आवश्यकता बढी हुन्छ। यसैको सहयोगद्वारा क्षेत्रीय भाषाको की-बोर्ड बनाउन सहज हुन आएको छ। यसको सेट्अप (Setup) सिस्टममा स्थापना(Install) गरेपछि खाली की-बोर्ड सफ्टवेअरको अन्तरमोहडा(Interface) देखिन्छ। अनि त्यही देखिएको अन्तरमोहडामा राई फन्ट (Rai Fonts) लाई प्रविष्ट गर्न पर्ने हुन्छ। ती फन्टहरूलाई जतासुकै राखेर हुँदैन र व्यवस्थितसँग राख्न वा स्थान दिन कुनै पूर्व की-बोर्ड वा नयाँ व्यवस्थित तरिकाको निर्धारण गर्नु आवश्यक देखिन्छ। त्यसको लागि चौथो चरणको आवश्यकता पर्दछ।
      चौथो चरणमा अङ्ग्रेजीले अप्नाएको की-बोर्ड लेआउट् जस्तै भारतले आप्नाएको इन्स्क्रिप्ट लेआउट्(Inscript Layout) को  आधारमा राई की-बोर्ड लेआउट् तयार पारिएको छ। यहाँ (भारतमा) चलाइरहेको की-बोर्ड सबै भारतीय क्षेत्रीय भाषाहरूको लागि समान छन्। नेपालीको लागि तयार गरिएको की-बोर्ड लेआउटजस्तै मराठी, बङ्गाली, हिन्दी, पन्जाबी प्रभृतिको लागि पनि छ। त्यसले गर्दा यो की-बोर्ड व्यवस्थित छ भन्न सकिन्छ। किनभने एउटै की-बोर्ड लेआउट्मा धेरै भाषाको लिपिलाई मिलाउन सकिन्छ। लिपि भिन्न भिन्नै भए पनि एउटै लेआउट्मा प्रविष्ट गर्न सकिन्छ। त्यसैले पनि हो भारतका विभिन्न लिपिको एउटै लेआउट् छ जसलाई इन्स्क्रिप्ट लेआउट(Inscript Layout) भनिन्छ।  अनि त्यही लेआउट्को आधारमा राई की-बोर्ड तयार गरिएको हो। यस किसिमले चार प्रकारको प्रक्रियापछि पाँचौँ चरणमा हामीले किरात राई की-बोर्डको उत्पादन(Output) पाउन सक्यौँ।
             पाचौँ चरणमा तयार भइसकेको किरात राई की-बोर्डको सेटअप (Setup) फाइल स्थापना (Install) गरेर राई भाषाको कुनै पनि डेटा प्रविष्ट गर्न सकिन्छ वा टङ्कन गर्न सकिन्छ।
                यस प्रकार कुनै पनि भाषाको फन्ट उपलब्ध छ भने हामीले आफ्नो भाषालाई विकासको मार्गतिर अघि बढाउन विशेष गरी कम्प्युटरलाई मानव भाषा सिकाउन सकिन्छ। अनि यसको लागि लगन र जाँगर चाहिन्छ। यो एउटा जाति र भाषाको चिह्नारी पनि हो भन्ने लाग्छ।