মেশিন কীভাবে হাতে লেখা বাংলা পড়ে?

মেশিন কীভাবে হাতে লেখা বাংলা পড়ে?

 

মেশিন কীভাবে হাতে লেখা বাংলা পড়ে?


আমরা একটা গবেষণা প্রতিযোগিতা আয়োজন করেছিলাম আন্তর্জাতিক লেভেলে, গুগলের সাথে কোল্যাবোরেশনে। Kaggle প্ল্যাটফর্মে আয়োজন করা সেই প্রতিযোগিতায় ২০০০ এর বেশি দেশি বিদেশি দল অংশগ্রহণ করে। কাজ ছিলঃ কৃত্তিমভাবে বুদ্ধিমান এমন কোন কম্পিউটার প্রোগ্রাম লিখতে হবে, যা কিনা আমাদের কালেক্ট করা লাখ লাখ বাংলা হাতের লেখার স্যাম্পল পড়তে পারবে।
তো, জাপানি, কোরিয়ান থেকে শুরু করে ভারত রাশিয়া সবখানের বাঘা বাঘা ডিপ লার্নিং ইঞ্জিনিয়ার-রিসার্চাররা হামলে পড়ল, মেশিনকে বাংলা পড়াতে হবে। তাদের মধ্যে কেউ আবার বিভিন্ন ইউটিউব টিউটোরিয়াল দেখে নিজেরাও একটু শিখে নিলো বাংলা পড়তে - মেশিনকে শিখাতে হলে নিজেদেরও একটু শেখা চাই!
কয়মাস ধরে অনেক শত রকম এপ্রোচের পরে, শেষমেষ সব থেকে কার্যকরী সলিউশন আসলো জাপানি এক গবেষক-ইঞ্জিনিয়ারের কাছ থেকে। সে দেখালো যে হাতে লেখা বাংলা পড়তে না শিখিয়ে, মেশিনকে আগে হাতে লেখা বাংলাকে প্রিন্টেড বাংলা বানিয়ে তারপরে প্রিন্টেড বাংলা পড়াতে শিখলে সে ভাল পড়তে পারে। তবে এটাই একমাত্র না, অসাধারণ সব নতুন নতুন তরিকা এপ্লাই করে এক একজন প্রতিযোগি যখন ফাইনাল সাবমিশন দিলেন, চুল পরিমাণ পার্থক্যই থাকলো এক প্রকার অনেকের মধ্যেই।
এখানে বলে রাখা ভাল, বাংলা পড়া আসলেও অনেক হ্যাপা। এই যেমন ধরেন 'ক'। তার সাথে আ-কার, ই-কার, ঈ-কার এমন করে ১০ রকমের কার হতে পারে, মোট হয় ১১ রকমের বস্তু। ( ক, কা, কি, কী , ... ..., কৌ )
আবার এই প্রত্যেকজনের সাথেই বসতে পারে নানান রকমের ফলা। র ফলা, য-ফলা এরকম। ক্র, ক্রা, ক্রি, ... এভাবে চলতেই থাকে নানান ভ্যারাইটি।
বলা যায়, শুধু 'ক' এরই ৮৮ রকমের রূপ হতে পারে এভাবে।
এর পরে আসে যুক্তবর্ণঃ ক্ত, ক্ট। বাংলায় এরাও আছে শত শত।
সব মিলিয়ে বাংলা এতটাই অসাধারণ একটি ভাষা যে এখানে হাজার হাজার ভিন্ন চিহ্ণ লেখা যায়, যেগুলো বাংলা ভাষাভাষী হিসেবে আমরা সাবলীলভাবে পড়তে পারলেও মেশিনের জন্য যা এক ঝক্কি বটে। ইংরেজিতে যেমন মাত্র ২৬ টা এলফাবেট, তার স্মল ক্যাপিটাল মিলেও মাত্র ৫২ টা জিনিস পড়তে পারলে হয়ে যায়, বাংলা মোটামুটি কাজ চালানোর মত করে পড়তে হলেও পড়া লাগে ৩০০০ এর মত ভিন্ন জিনিস। এর বাইরেও আরও বহু চিহ্ন আপনি লিখতে পারেন, যেগুলো সচরাচর ব্যবহার হয় না। যেমন র্খূ ।
সবশেষে যখন বিশ্বের বিভিন্ন স্থানের এই সকল গবেষক-ইঞ্জিনিয়ারদের সলিউশন নিয়ে আমরা একসাথে বসলাম, তখন বেশকিছু মজাদার জিনিস সামনে আসলো।
প্রথম প্রশ্নঃ সবার প্রোগ্রাম মোটাদাগে কোন কোন চিহ্নগুলোকে একটাকে আরেকটা মনে করে ভুল করে?
এখানে নীচের ছবিটা সেই প্রশ্নের উত্তরই দেয়। দেখা যায়, প্স আর অ কাছাকাছি এই চিত্রে। তারমানে, অনেকের প্রোগ্রামই এই দুইয়ের মাঝে কনফিউজ করেছে। এবং একটু ভাবলে মনে হয়, আসলেই তো, প্স এর প এর মাথা টা আসলেই অ এর ছোট গোল্লার মত। হাতের লেখা তে অনেকেরই এই দুটো একরকম হয়।
এছাড়াও রয়েছে ঋ আর ধ কাছাকাছি দেখতে, বা ধরেন ভ আর জ্ঞ।
এই কনফিউশনের জায়গা গুলো একবার যখন আইডেন্টিফাই করা হয়ে গেছে, পরবর্তি আরও কিছু গবেষণার মাধ্যমে সিস্টেমকে এইগুলোর দিকে যদি মনোযোগ দেওয়ানো যায়, তাহলেই দেখা যাবে মেশিন মানুষের থেকেও ভাল বাংলা পড়তে পারছে, তাও আবার কিনা হাতে লেখা বাংলা। যেখানে রয়েছে প্রাইমারি স্কুলে পড়ুয়া বাচ্চাদের থেকে শুরু করে বিশ্ববিদ্যালয় পড়ুয়া প্রাপ্তবয়স্কদের লেখা।
এই পুরো আয়োজন নিয়ে লেখা আমাদের গবেষণাপত্রটি ইকডার-21 কনফারেন্সে পাবলিশড হয়েছে। আরও কাজ আসছে সামনে আশা করছি।
তো, এইযে একটা ক, তার উপরে কার এবং ফলা চাপিয়ে যে সমন্বিত চিহ্ন তৈরি হচ্ছে, সেটাকে আমরা ডাকছি গ্রাফিম। এবং এই গ্রাফিমের উপর ভর করেই বাংলা সহ এরকম কার ফলা ওয়ালা অনেক ভাষার প্রযুক্তির অনেক কিছু সহজে সমাধান করা যাবে বলে একটা আশা থেকে কাজ করে যাচ্ছি আমরা অনেকে! পেপারটা কেউ পড়তে চাইলে লিংক কমেন্টে দিলাম।
আমরা নিজেরাই আমাদের ভাষার জন্য কাজ করতে হবে। নিজ নিজ জায়গা থেকে। অনেক কঠিন পথ। সকলের সাহায্য চাই, সহযোগিতা চাই। এবং আমি বিশ্বাস করি, ভাষা প্রযুক্তি বিষয়ক বেশ কিছু ভাল উদ্যোগ বর্তমানে বাংলাদেশের সরকারি বেসরকারি অনেক খানেই হচ্ছে, সমন্বিত উদ্যোগে খুব দ্রুত মেশিনের জগতে বাংলার হাঁটাচলার পথ সুগম হতে পারে!
@ষুশ্মিট আষিফ