না বলা গল্প
দ্বিতীয় পর্ব - পিপীলিকার খুঁটিনাটি

প্রথম বাংলা সার্চ ইঞ্জিন ‘পিপীলিকা’র মেধাসত্ত্ব চুরি এবং ‘শিক্ষক’ ডক্টর রুহুল আমিনের মুখোশ উন্মোচন - দ্বিতীয় পর্ব

বাংলা ভাষার প্রথম সার্চ ইঞ্জিন পিপীলিকার আইপি ডাকাতির পিছনের সত্যতা এক যুগ পর তুলে ধরছি আমরা অরিজিনাল ইনভেন্টর‌ দুজন; চিশতী এবং বুরহান। তৎকালীন লেকচারার রুহুল আমিন সজীব (যে বর্তমানে আমেরিকার ফোর্ডহ্যাম ইউনিভার্সিটিতে কর্মরত ও বাংলাদেশে সরকারী বেসরকারী একাধিক প্রোজেক্টের সাথে এখনও সংশ্লিষ্ট) কীভাবে এই উদ্যোগের সাথে নিজেকে জড়িয়ে নিজেই পুরোটা বাগিয়ে নেওয়ার দুরভিসন্ধী করেছিল ধাপে ধাপে; তার কিছু আলাপ আগের পোস্টে করেছি। ‘শিক্ষক’ রুহুল আমিন সজীবের ও তার সাঙ্গপাঙ্গদের থেকে আমাদের পরবর্তীতে শুনতে হয়েছে; আমাদের ব্রেইনচাইল্ড ‘পিপীলিকা’তে আমরা নাকি শুধু লোগো বানিয়েছি। লজ্জাস্কর। কিন্তু এটির এমনকি নামকরণ থেকে শুরু করে ডেভেলপ করার অসংখ্য রাতের ও ত্যাগের টেকনিকাল জার্নি, এবং তার পরবর্তী আমাদের কাজের হাত ধরে আসা রেকোগনিশন, অর্থ ও সফলতায় আমাদের কনট্রিবিউশন সবই কি অস্বীকার করবে তারা?

পিপীলিকার নামকরণ

ভার্সিটির ৩য় বর্ষে, ২০০৮-এ (বুরহান ও চিশতী) আমরা সার্চ ইঞ্জিন নিয়ে কাজ শুরু করি। প্রথমে ওরাকল ডাটাবেজ দিয়ে একটা প্রজেক্ট বানাই, পিপীলিকা নাম দিয়ে। তানভীর স্যার (খন্দকার ইন্তিনাম উনায়েস) এর আন্ডারে। যেটা ছিল সম্পূর্ণ ব্যক্তিগত প্রজেক্ট। তখনই আমাদের মাথায় ঢুকেছিল সার্চ ইঞ্জিন বানাবো, গুগলের মত না হলেও কাছাকাছি কিছু।

Pipilika Logo

আচ্ছা, রুহুল আমিন সজীব যে বলে ‘পিপীলিকা’ তার, সে কি বলতে পারবে এটার নাম ‘পিপীলিকা’ কেনো রাখা হয়েছিল? সার্চ ইঞ্জিনটা যখন বানাই তখন হটাৎ করে পিপীলিকা নাম দেয়ার বুদ্ধিটা মাথায় আসে বুরহানের। কেনো? কারণ যেমন করে পিঁপড়ার হাত থেকে কোথাও খাবার লুকিয়ে রাখা যায় না, যেভাবেই হোক এসে হাজির হয় পিঁপড়া- একই রকম কন্সেপ্ট ছিল সার্চ ইঞ্জিনে যেখানেই তথ্য থাকবে আমাদের ‘পিপীলিকা’ গিয়ে হাজির হবে। এবং নাম টা হতে হবে বাংলা শব্দ।

৪র্থ বছরের শেষের জাফর ইকবাল স্যার বলেছিলেন কেন এই নাম দিয়েছ? নামটা সুবিধার হয়নি, তখন স্যারকে এই ব্যাখ্যাই দেয়া হয়েছিল। স্যার বলেছিলেন আরেকটা ভালো নাম তারা বের করতে সাহায্য করবেন। কিন্তু ২-৩ বছর পর যখন অফিসিয়ালি উদ্‌বোধন করা হয়, তখন দেখা গেল আমাদের দেওয়া সেই নামটাই আছে। ২০১৩তে শেরাটন হোটেলে উদ্‌ব‌োধনী অনুষ্ঠানে জাফর স্যার স্বীকার করেছিলেন আমাদের দেওয়া ‘পিপীলিকা’ নামের চেয়ে ভালো নাম তারা খুঁজে পাননি। আব্দুল্লাহ আবু সাইয়্যিদ স্যার বলেছিলেন, বাংলা শব্দের ব্যবহার এবং রিলেভেন্ট টেকনোলোজির একটা জিনিসের এত মিশেল কিভাবে সম্ভব হল!

বুরহান কোডিং এর পাশাপাশি টুকিটাকি গ্রাফিক্স ডিজাইন করত শখের বসে। পিপীলিকার মাথা টা একটা ইংরেজি p কেটে বানানো। p এর লেজ কেটে মাঝের অংশ টা ভরাট করে চোখ বানানো উপরে দুইটা এন্টিনা। আসল লোগো ছিল লাল ও কালো, পিপড়ার আসল রঙ দিয়ে বানানো (কমেন্টে দেয়া)। এত বিশাল টীম নিয়ে এতদিনেও তারা অরিজিনাল নাম আর লোগোতে রঙ বদলানো ছাড়া আর কোন ইনোভেশন আনতেও পারে নাই, হাস্যকর !!!!

Pipilika Logo

পিপীলিকার জন্মের ১ বছর পরে রুহুল আমীনের আবির্ভাব

২০০৮ সালের অ্যাকাডেমিক প্রোজেক্ট হিসেবে তানভীর স্যারের কোর্সে ডাটাবেজ দিয়ে সার্চ ইঞ্জিন বানানোর ধারাবাহিকতায়, ৪র্থ বর্ষে ওঠার পর আমরা কাজের সুবিধার জন্য আমাদের গবেষণাকে এগিয়ে নিয়ে ‘সার্চ ইঞ্জিন’কেই রিসার্চ টপিক হিসেবে গ্রহণ করি। প্রথমে বানাই একটি কর্পোরেট সার্চ ইঞ্জিন; এবং তারপরে জেনারেল সার্চ ইঞ্জিনে শিফট করি থিসিসের অংশ হিসেবে। ওদিকে; রুহুল আমিন সজীব (এখন ফোর্ডহ্যাম বিশ্ববিদ্যালয়ে ‘শিক্ষক’) শাবিপ্রবি সিএসই বিভাগে যোগ দেন ২০০৯ সালে। ফার্স্ট ইয়ারের সময় কিছুদিন আমরা তাকে শেষবর্ষের বড়ভাই হিসেবেও পেয়েছিলাম, তাই সজীব ভাই হিসেবেই ডাকতাম। কিছুদিন পরে সজীব ভাই রুমে ডেকে জানায় যে উনিও রিসার্চের জন্য স্টুডেন্ট খুঁজতেছে। তিনি তখন আমাদের বলেন, তিনি কর্মক্ষেত্রে সার্চ ইঞ্জিন নিয়ে কাজ করেছেন। এভাবেই রুহুল আমিন বনে যান আমাদের ৪র্থ বর্ষ থিসিসের সুপারভাইজার। সার্চ ইঞ্জিন কী? এটা বানাতে কী লাগে আর আমরা কী করেছিলাম?

পিপীলিকার খুঁটিনাটি

সার্চ ইঞ্জিন মূলত ইন্টারনেট থেকে প্রয়োজনীয় তথ্য খুঁজে পেতে সাহায্য করে। বাংলার জন্য আলাদাভাবে দরকার পড়েছিল বাংলার মর্ফোলজি এবং ইউনিকোডের ইস্যু তখনও প্রচলিত সার্চ ইঞ্জিন ধরতে পারত না ঠিকমত, তাই ইন্টারনেট থেকে বাংলায় লেখা অনেক কিছু খুঁজে পাওয়া যেত না।
সেই সময়ের প্রযুক্তিতে, আমাদের প্রাথমিক ডিজাইন অনুসারে, সার্চ ইঞ্জিন বানাতে নিচের পয়েন্টগুলোতে কাজ করতে হয়েছে :

  • নলেজ ক্রিয়েট করা
  • ওয়েব ক্রলার
  • ওয়েব পার্সার
  • টেক্সট অ্যানালাইজার, পরে বাংলা সার্চ আনার জন্য বাংলা টেক্সট অ্যানালাইজার
  • ক্যাটাগরাইজেশন এলগোরিদম
  • ডেটা ইন্ডেক্সিং
  • র‍্যাংকিং
  • টেক্সট হাইলাইটিং
  • ওয়েব সার্চার

পরে এর সাথে আরো কিছু জিনিস এড করা হয়েছিল। উপরোক্ত সব জিনিসের সাকসেসফুল এক্সিকিউশন এবং আমাদের নিরলস চেষ্টা আর কষ্টের ফসল হিসেবে আমাদের পিপীলিকা সার্চ ইঞ্জিন সিলেট ডিভিশনাল ফেয়ারে (২০১০ সালে ) এবং ন্যাশনাল কলেজিয়েট সফটওয়্যার কন্টেস্টে (২০১১ সালে) ১ম পুরস্কার পায়। ফিচার হয় আমাদের কাজ নিয়ে। তা না হলে কীসের উপরে ভিত্তি করে জিপিআইটি (গ্রামীণফোন আইটি) ২০১১ সালের অক্টোবরের দিকেই বাংলা সার্চ ইঞ্জিনের ওপর সাস্টের সাথে কাজ করতে আগ্রহ দেখালো? ‘শিক্ষক’ রুহুল আমিনের সিজিপিএ দেখে? কিন্তু আমাদের শুনতে হয় এই পিপীলিকার কোন মেধাসত্ত্ব আমাদের না, বরং রুহুল আমিনের একার। বলিহারী!

মনে হতে পারে; টেকনিকাল ডিটেইল দিয়ে বিরক্ত করছি। তবে এর কারণ আছে। রুহুল আমিন নানান ছলচাতুরি করে আমাদের সকল কনট্রিবিউশন খারিজ করে দিতে চেষ্টা করেছে এই বলে, যে আমরা কোন সার্চ ইঞ্জিন বানাইনি, ওটা ছিল ভিন্ন কিছু। তাই পরবর্তী থেকে পিপীলিকা তার একার নিজের। যদিও প্রথম লঞ্চের সময় সে নিজেই যে বলেছিল পিপীলিকা থিসিস প্রোজেক্টের ফলস্রুতিতে আসা, সেখানেও আমাদের কনট্রিবিউশন নিয়ে ধামাচাপা দিতে চাইলেও কয়টা জিনিস চাপা সে নিজেও দিতে পারেনি। পরবর্তীতে এসব নিয়ে বিস্তর জানাজানি হলে সে বলতে চেষ্টা করেছে ওটা ভিন্ন প্রোজেক্ট ছিল; একটা ডেমো ছিল; আমাদের যোগ্যতা ও স্কিল নিয়েও প্রশ্ন তুলেছে, গালিগালাজ করেছে। কিন্তু আমরা আপনাদের সেই গল্প বলতে চাই যে আমরা কীভাবে বাংলার প্রথম সার্চ ইঞ্জিন বানিয়েছিলাম; যা পুরষ্কৃত হয়েছিল; সমাদৃত হয়েছিল। সেটা সার্চ ইঞ্জিনই ছিল; সে সময়কার যে কেউ সাক্ষী দিতে পারবে, পেপারকাটিং, মেইল থ্রেড, থিসিসের ডকুমেন্ট সবই সাক্ষ্য দিবে- উল্টোটা বলবে শুধু রুহুল আমিন- আর বিভ্রান্ত করবে সকলকে। কারণটা বুঝে নিন। অরিজিনাল ইনভেন্টরদের ভাগিয়ে নিজেই লিড হয়ে গেলে বাকি রাজত্ব তার, কারণ বাকিরা তো এমপ্লয়ি।

২০০৮ থেকে শুরু হওয়া আমাদের যাত্রায় আমরা কাজ করে যাই এগুলো তৈরীর জন্য; যদিও তেমন কোন রিসোর্সই অ্যাভেইলেবল ছিল না। সার্চ ইঞ্জিনের ব্যপারে পাওয়া যেত গুগলের একটি রিসার্চ পেপার (লিঙ্ক কমেন্টে), সেটা থেকে পুরো সিস্টেমের আর্কিটেকচার দাঁড় করানো যাচ্ছিলো না। আর বাংলার জন্য আলাদাভাবে বেশ কিছু চ্যালেঞ্জ তো আছেই। আমরা নিরলস পরিশ্রম করে একে একে সলভ করতে থাকি নানান ফান্ডামেন্টাল ইস্যু।

নলেজ বেইজ

সার্চ ইঞ্জিন বানাতে গিয়ে আমাদের জন্য প্রথম চ্যালেঞ্জ ছিল নলেজ বেইজ তৈরী করা। কারণ তখন বাংলার জন্য কোন সার্চ ইঞ্জিন আমাদের জানামতে ছিল না। সার্চ ইঞ্জিন-এর জন্য আসলে কী করা দরকার, এই ইনফরমেশনগুলোও অ্যাভেইলেভেল ছিল না। পুরা আর্কিটেকচার দাঁড় করানো পরের কথা, কী করতে হবে এইটা বুঝতে বুঝতেই সময় লেগে গেছিল অনেক। মেসের 3G মডেম এর দুর্বল ইন্টারনেট, আর লোডশেডিঙের যন্ত্রণায় আমি আর বুরহান অতিষ্ঠ হয়ে তোষক, বালিশ নিয়ে ভার্সিটির ল্যাবে চলে আসলাম। ল্যাবেই প্রায় ১ বছর ছিলাম। কাজ করতাম সার্চ ইঞ্জিন নিয়ে। নানান বড় বড় সমস্যা সমাধান করতে হয়েছিল শুরুতেই।

তথ্য সংগ্রহ

প্রথম দিকে আমরা শুধু ডেটা সংগ্রহ করি বিভিন্ন ইয়েলো পেইজ বা অনলাইনের বিজনেস ডিরেক্টরি থেকে। তালহা ভাই (২০০৪) একটা ক্রলার লিখেছিলো- ডোমেইন স্পেসেফিক ক্রলার। ২০০৪ ব্যাচের আরো কিছু ভাই তাদের থিসিস/প্রজেক্ট হিসেবে একটা স্পেল চেকার বানায়। এইগুলা সবই আলাদা থিসিস ছিলো, সার্চ ইঞ্জিনের সাথে রিলেটেড না তখন।

ইনডেক্সিং

আমরা প্রথমে শুরু করলাম একটা ইনডেক্সার বানানো, যেটা ইন্টারনেট থেকে ক্রল করা ডেটা থেকে ডেটা পার্স করে ক্লিন ডেটা দিবে। ডেটা ক্রল করার জন্য আমরা তালহা ভাইয়ের (০৪ ব্যাচ) বানানো ক্রলারটা ব্যবহার করতাম। Trial and error এর শেষ ছিলো না। বুরহান কাজ শুরু করলো একটা জেনেরিক পার্সার বানানো। অনেক খাটাখাটনি করে রেডি করলো- ওই মুহুর্তে কেউ এর চেয়ে ভালো কিছু দিতেও পারে নাই, ইভেন আইডিয়াও দিতে পারে নাই। জিনিসটা সহজ ছিলো না- অন্ততঃ আমাদের জন্য।

লুসিনি (Lucene) কাহিনী: (সার্চ ইঞ্জিনে ভাঙা বাংলা জোড়া দেওয়া)

অনেক অনেক কাহিনি করে ইন্ডেক্সার দাঁড় করালাম। ফাইনালি যেটা ক্রল করা ডার্টি ডেটা থেকে আমাদের জেনেরিক পার্সার দিয়ে ডেটা পার্স করে, ক্যাটাগোরাইজেশনের জন্য আমাদের কাস্টম এলগোরিদম রান করে Lucene তে ডেটা সেভ করতে পারত। ৬ /৭ মাস রাত দিন এক করে কাজ করা। যারা ওই সময় ভার্সিটিতে স্টুডেন্ট হিসেবে ছিলো - তারাও ভেরিফাই করতে পারবে। সমস্যা বাধলো Lucene এর জন্য বাংলা অ্যানালাইজার নাই তখনো। অনেক কিছু ভেঙে যায়। চেষ্টা করে ফেইল মেরে সুপারভাইজর সজীব ভাইয়ের কাছেই গেলাম, সে মোটামুটি বেশ কয়েকদিন চেষ্টা করলো, একসাথে বসে Pair Programming ও করলাম, হয় নাই। এর পরে কোন এক রোজার রাতে সেহরির পর জিনিসটা সলভ করলাম, এবং বাংলা লেখা দেখানো সহজ হইল, যেটা ছাড়া বাংলা সার্চ ইঞ্জিনে শুধু ব্রোকেন বাংলাই দেখা যেত। পরে আমি Lucene-তে এটা কন্ট্রিবিউট করার জন্য ওদের জিরা টাইপ ট্র্যাকারে পোস্টও দিয়ে ছিলাম। (লিংক কমেন্টে )

Bangla Spell Correction Bangla Spell Correction

সার্চার এবং ডিস্ট্রিবিউটেড কম্পিউটিং

এর পর একটা সার্চার বানালাম। পাশাপাশি ডিস্ট্রিবিউটেড ইন্ডেক্সিং এরও কাজ শুরু হল। বেশ খাটাখাটি করে ওই সময়ে হ্যাডুপের আলফা ভার্শন দিয়েই ডিস্টিবিঊটেড সিস্টেম কনফিগার করে ফেললাম আমরা সফলভাবে। এটা নিয়ে কাজটা ডিপ লেভেলে নেওয়ার আগেই সজীব ভাই বুরহানকে জেনেরিক পার্সারের একটা প্রজেক্টে সরিয়ে নিয়ে যায়। ঐটাও বুরহান বেশ সময় নিয়ে চিন্তা করে একটা সিস্টেম দাঁড়া করায় ফেলেছিল যেটার ইফিসিয়েন্সি কিছু সাইটে দেখার মতই ছিল। এই কাজ দেখে জাফর স্যার নিজে কিনা থিসিস ভাইভাতে বলছিলেন, “Very Impressive”।

ভার্সিটির ল্যাবের স্লো পিসি, প্রায়ই ব্লু স্ক্রিন খেতে হয়। সেটাতেই চলতেছে এই গল্পে সব এখন পর্যন্ত। শেষে জিনিসটা দাঁড়ালো- পার্সার ডেটা ক্রল করে ১টা প্লেসে রাখে, ইনডেক্সার শিডিউলে রান করে জেনেরিক পার্সার ব্যাবহার করে ডেটা ইনডেক্স করে Lucene তে। আরেকটা সার্চার বানালাম আর ফ্রন্টেন্ড পিএইচপিতে, যেটা Search API দিয়ে ডেটা সার্চ করে র‍্যাংকিং করে শো করে। কোন নিউজ কোন ক্যাটাগরিতে যাবে- সেই ক্যাটাগরাইজেশন এলগোরিদমটাও আমাদের লেখা। এর মাঝে এক ক্রলারটা বাদে বাকি সব আমাদের নিজের বানানো, সব এলগোরিদম লেখা, সব সমস্যা আমাদেরই সলভ করা। পুরো সার্চ ইঞ্জিনে ১ লাইন ও কোড রুহুল আমিন সজীবের লেখা না। তবে পুরোটা সময় সজীব ভাই আমাদের অনেক অনেক উৎসাহ দিয়ে গেছে। কিন্তু কদিন পরেই তার যে চেহারা দেখবো; তা আমরা স্বপ্নেও ভাবিনি।

থিসিসের ছোট ছোট সমস্যাই যখন সলভ হয় না, মনে হতো আঁটকে গেছি, কত শত ট্রায়াল-অ্যান্ড-এরর। টাইম কঞ্জিউমিং এক একটা জিনিস, পুরানো স্লো কম্পিউটার, কেউ নেই কোথাও আটকে গেলে একটু সাহায্য করার (তখন আজকের দিনের মত চ্যাটজিপিটিও নাই; বা অনলাইন ফোরামেও সবকিছু এত গুছানো পাওয়া যেত না)। অনেক অনেক বার আমরা পার্সোনালি হতাশ হয়ে গেছিলাম। কিন্তু একটা স্বপ্ন ছিল, যে বাংলার জন্য একটি সার্চ ইঞ্জিন বানানো যাবে। যেদিন পুরো সিস্টেমটা একসাথে রান করে কাজ করলো, সেইদিন আমাদের যেন ঈদের দিন। কনফিডেন্স অনেকগুন বেড়ে গেল।

আমাদের মনে আছে ফাইনাল থিসিস প্রেজেন্টেশনের দিনের কথা। ওইদিন একটা উৎসবের মত ছিল আমাদের জন্য। এত দিনের কষ্টের ফসলের শোকেসিং ছিলো আমাদের। অনেকে ভীড় করেছিলো আমাদের ডেমো দেখার জন্য। আমাদের ‘পিপীলিকা’ ২০১০ সালে সিলেট ডিভিশনাল আইটি ফেয়ারে পার্টিসিপেট করে এবং ১ম পুরস্কার পায়। মন্ত্রী নিজে মেডেল দিলেন। কম্পিউটার জগৎ (২০১১ সালের অগাস্টে) পত্রিকার কভার পেজে আমাদের কন্ট্রিবিউশনকে স্বীকার করে ‘পিপীলিকা’ নিয়ে বড় ফিচারও এসেছিল। আমি পত্রিকার ছবি এবং ভেতরের নিউজের ছবি সাথে দিয়ে দিলাম। সেই ২০১১র শেষদিকেই ‘গ্রামীণফোন আইটি’ অ্যাপ্রোচ করে ‘পিপীলিকা’কে ফান্ড করার জন্য - দিনে দিনে যা কোটি টাকার প্রোজেক্টে পরিণত হয় সামনের বছরগুলোতে। পাশ করে চাকরিতে গিয়েও (২০১১-১৩) আমরা এখানে সাপোর্ট দিয়ে গেছি অনেকদিন। অনেক লোকজন হায়ারও করা হয় এই প্রোজেক্টে পরে, মানোন্নয়নে। কিন্তু আমাদের ‘পিপীলিকা’ থেকে আমাদেরই সুকৌশলে সকল কিছু থেকে সরিয়ে দেওয়া হয় নানান চক্রান্ত করে।

গর্ব থেকে হৃদয়ে রক্তক্ষরণ

যাহোক, গল্পের ডাউনফলের শুরুও এই সময় থেকেই। কয় বছর পর একদিন দেখি, গোটা শহরটা ঢেকে গেছে বিশাল বিশাল বিলবোর্ডে। বাপরে! অবাক হয়ে ভাবি! অ্যাত্ত বড় লোগো! ঐ যে একটা P এর মাথাটা কেটে জিনিসটা বানিয়েছিলাম, হুবুহ একই রকম রেখে দিয়েছে। অর্ধেক কাটা p এর মাথার উপর বিশাল দুইটা এন্টেনা। হুবুহ যেমনটি বানিয়েছিলাম অতগুলো বছর আগে। প্রত্যেকটা পিক্সেল অনেক অনেক পরিচিত।

Pipilika Billboards

শাবিপ্রবির ইতিহাসে কোনো প্রজেক্ট এত বড় হয়নি। কখনো ভাবিনি আমাদের এই ব্রেইনচাইল্ড একদিন এত বড় হয়ে যাবে, জাতীয় পর্যায়ে এত নাম করবে, সোশাল মিডিয়ায়, আড্ডায় বা গণমাধ্যমে সর্বত্র ‘পিপীলিকা’র জয়গান। খুব কষ্ট লাগে, আবার পরের মুহুর্তেই খুব আনন্দ লাগে। কিন্ত আনন্দটুক মিলিয়ে যায়, যেদিন টিভিতে দেখি আমাদের সেই ‘শিক্ষক’ টকশোতে যাচ্ছেন ‘পিপীলিকা’র প্রতিনিধি হিসেবে; যেখানে তিনি আমাদের দুজনের নামটাও উচ্চারণ করেন না একবারের জন্যেও। শুধু শহরের সব বিশাল বিলবোর্ডে নিজের ব্রেইনচাইল্ডকে প্রথম দৌঁড়াতে দেখে তার সামনে নিজেকে খুব অবমূল্যায়িত মনে হতে থাকে। এর জবাব কি ‘শিক্ষক’ রুহুল আমিন দেবে?