উইকিসংকলনের জন্য ওসিআর
OCR4Wikisource স্ক্রিপ্ট নির্মাতা তামিল উইকিপিডিয়ান টি. শ্রীনিবাসন।

OCR4Wikisource (https://github.com/tshrinivasan/OCR4wikisource) একটি পাইথন স্ক্রিপ্ট, যার সাহায্যে আপনি গুগলের ওসিআর পরিষেবার মাধ্যমে স্বয়ংক্রিয়ভাবে স্ক্যান পাতার ওসিআর করতে পারবেন। শুধুমাত্র লিনাক্স অপারেটিং সিস্টেম ব্যবহারকারীরা এই সুবিধা পাবেন। উইন্ডোজ অপারেটিং সিস্টেমের জন্য এই সুবিধা এখনো উপলব্ধ হয়নি।

কেন তৈরি করা হল?

সম্পাদনা

বহুদিন পর্য্যন্ত বাংলা ভাষার জন্য মুক্ত লাইসেন্সের সঠিক গুণমানের ওসিআর সফটওয়ার ছিল না। বিভিন্ন প্রতিষ্ঠান এই বিষয়ে অগ্রসর হলেও সফল হননি বা তাঁদের দ্বারা নির্মিত সফটওয়ার মুক্ত করেননি। সেই কারণে ২০১৫ খ্রিস্টাব্দ পর্য্যন্ত উইকিসংকলনের ব্যবহারকারীরা টাইপ করে স্ক্যান পাতা থেকে ইউনিকোড তৈরি করতেন। চাঁদের পাহাড় উপন্যাসের প্রুফরীডিং এই ভাবেই করা হয়। এই ভাবে কাজ করতে প্রচুর শ্রম ও সময় ব্যয় হলেও একসময় এছাড়া কোন উপায় ছিল না।

 
ভিয়েনার আন্তর্জাতিক সম্মেলনে ভারতীয় সম্প্রদায়ের পক্ষ থেকে ভারতীয় ভাষার ওসিআর সমস্যা আলোচনা করা হয় এবং আন্তর্জাতিক উইকিসংকলন সম্প্রদায়ের অন্যতম প্রধান প্রয়োজন হিসেবে গৃহীত হয়।

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

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

২০১৫ খ্রিস্টাব্দের ডিসেম্বর মাসে বিভিন্ন ভারতীয় ভাষার উইকিপিডিয়ান একত্রে এই সমস্যা সমাধানে উদ্যোগী হন। তামিল উইকিপিডিয়ান ও প্রোগ্রামার টি. শ্রীনিবাসন এই সমস্যা সমাধানে এগিয়ে আসেন এবং OCR4Wikisource নামে একটি পাইথন স্ক্রিপ্ট তৈরি করেন। এই স্ক্রিপ্ট নির্মাণে অন্যান্য অবদানকারীদের তালিকা এখানে পাওয়া যাবে। বর্তমানে বাংলা ছাড়াও তামিল, কন্নড়, মারাঠি সহ বিভিন্ন ভারতীয় উইকিসংকলনে এই স্ক্রিপ্ট ব্যবহার করা হয়েছে।

বট অ্যাকাউন্ট ব্যবহার

সম্পাদনা

উইকিসংকলনে এই স্ক্রিপ্ট ব্যবহার করার জন্য অবশ্যই বট অ্যাকাউন্ট তৈরি করুন। নতুন অ্যাকাউন্ট খুলে আপনার পছন্দ মত ব্যবহারকারী নামের শেষে BOT বা বট কথাটি যুক্ত করুন। বট পতাকার জন্য লিপিশালায় আবেদন করুন। এখানে প্রয়োজনীয় সমর্থন জোগাড় করে মেটার এই পাতায় আবেদন করুন। বট অ্যাকাউন্টের স্বীকৃতি পাওয়া গেলে এই সমন্বয় পাতায় আপনার বট অ্যাকাউন্ট নথিভুক্ত করে উইকিসংকলন সম্প্রদায়ের অন্যান্য অবদানকারীদের সাথে সমন্বয়ের ভিত্তিতে গুগল ওসিআর ব্যবহার করুন।

ব্যবহার পদ্ধতি

সম্পাদনা
২০১৬ উইকিসম্মেলন ভারতে এই স্ক্রিপ্ট সম্বন্ধে শ্রীনিবাসনের ভাষণ
২০১৬ উইকিসম্মেলন ভারতে এই স্ক্রিপ্টের ব্যবহার সম্বন্ধে জয়ন্ত নাথ দ্বারা সংগঠিত কর্মশালা

(দ্রষ্টব্য: উইকিপিডিয়ান নাসির খান সৈকতের অনুমতিক্রমে ওনার ব্যক্তিগত ওয়েবসাইট থেকে অনুলিপি করা হল। এই লেখাটি তিনি তাঁর ওয়েবসাইটে CC BY-SA 4.0 লাইসেন্সে মুক্ত করেছেন।)

নিচে উল্লেখিত পদ্ধতি অনুসরণ করে এই স্ক্রিপ্টটি সক্রিয় করা এবং বই আপলোডের কাজে ব্যবহার করা যাবে। এই টুলটি কেবলমা্ত্র লিনাক্স থেকে ব্যবহার করা যাবে। উইন্ডোজ ব্যবহারকারীদের উপযোগী সংস্করণটি এখনো প্রকাশিত হয়নি।

ধাপ ১: OCR4wikisource ডাউনলোড করা

সম্পাদনা

এই গিটহাব লিঙ্ক থেকে Download ZIP বাটনে ক্লিক করলে স্ক্রিপ্টটি ডাউনলোড হবে। অথবা সরাসরি এই লিঙ্কে ক্লিক করলেও ডাউলোড শুরু হবে। এই স্ক্রিপ্টটি সম্প্রতি নিয়মিত আপডেট করা হচ্ছে, তাই ব্যবহার করার সময় সংস্করণ নম্বরটি দেখে নিন। এবং পরবর্তীতে ব্যবহার করার সময় নতুন সংস্করণ প্রকাশিত হলে স্ক্রিপ্টটি আপডেট করতে হবে।

zip ফাইলটি থেকে OCR4wikisource-master ফোল্ডারটি একষ্ট্রাক্ট করে Home ডাইরেক্টরিতে রাখুন।

ধাপ ২: ইনস্টল করা

সম্পাদনা
  • Ctrl+Alt+T সর্টকাট ব্যবহার করে টার্মিনাল চালু করুন।
  • cd OCR4wikisource-master
  • bash ./setup.sh

ধাপ ৩: এপিআই কনফিগার করা

সম্পাদনা

গুগল ড্রাইভ ফাইল আপলোড এবং ডাউনলোডের কাজটি করা হবে এপিআই এর মাধ্যমে। এজন্য নিচের পদ্ধতি অনুযায়ী এপিআই কনফিগার করতে হবে।

  • এই ঠিকানা থেকে নতুন একটি প্রকল্প তৈরী করুন।
  • "Overview" অংশ থেকে দুটি এপিআই সক্রিয় করতে হবে।
    • Drive API
    • Fusion Tables API
  • "Credentials" মেনুর Consent screen" স্ক্রিনে "Product Menu shown to users" অংশটি পূরণ করা বাধ্যতামূলক।
  • এপিআই সক্রিয় করার পর "Credentials" মেনু থেকে নতুন ক্রিডেনশিয়াল তৈরী করতে হবে।
  • Credentials এর ধরণ OAuth client ID নির্বাচন করুন।
  • Application type > Other
  • Name অংশে পছন্দমত নাম নির্ধারণ করতে হবে।
  • তৈরী হয়ে যাওয়ার পরে JSON ফরম্যাটে ডাউনলোড করতে হবে।
  • .json ফাইলটিকে উপরোক্ত OCR4Wikisource-master ফোল্ডারে কপি করুন।

ধাপ ৪: এপিআই সক্রিয় করা

সম্পাদনা
  • এপিআই কী ডাউনলোড করার পরে https://github.com/tienfuc/gdcmdtools ঠিকানা থেকে Google drive command-line tools নামের আরও একটি টুল ডাউনলোড করতে হবে। Home ডাইরেক্টরিতে zip ফাইলটি extract করার পর টুলটি ইনস্টল করতে নীচের কমান্ড দিন
cd ~
cd gdcmdtools-master
sudo python setup.py install
  • এরপর নিচের কমান্ডটি ব্যবহার করতে হবে। client_secret_file name এর স্থানে .json ফাইলের নামটি দিতে হবে। (উদাহরণ client_secret_845321670206-i9nfo44pma8dmrbc0kqflv91dm3krlbl.apps.googleusercontent.com.json)
cd ~
cd OCR4Wikisource-master
gdauth.py client_secret_file name.json
  • টার্মিনালে কমান্ডটি রান করা হলে সেখানে একটি ওয়েব লিঙ্ক দেয়া থাকবে। লিঙ্ক থেকে যে পাতাটি খুলবে সেখানে Allow বাটনে ক্লিক করা হলে টোকেন সহ একটি নতুন পাতা চালু হবে।
  • এবার এই টোকেনটি কপি করে টার্মিনালে পেস্ট করতে হবে এবং পরপর এপিআই সক্রিয় রয়েছে এমন একটি বার্তা দেখানো হবে।

ধাপ ৫: অ্যাপলিকেশন কনফিগার করা

সম্পাদনা

এবার পুনরায় OCR4wikisource-master ডাইরেক্টরিতে config.ini নামের একটি ফাইল রয়েছে। ফাইলের তথ্যগুলো পরিবর্তন করে নিতে হবে।

ধরা যাক, উইকিসংকলনের নির্ঘণ্ট:Testocrbengali.djvu বইটি ব্যবহার করা হবে। এক্ষেত্রে config.ini ফাইলের তথ্যগুলো নিচের মত হতে হবে।

file_url = https://upload.wikimedia.org/wikisource/bn/3/30/Testocrbengali.djvu
columns = 1
wiki_username = আপনার বটের ব্যবহারকারী নাম
wiki_password = বটের পাসওয়ার্ড
wikisource_language_code = bn
keep_temp_folder_in_google_drive = no
edit_summary = বট গুগল ওসিআর ব্যবহার করে লেখা যোগ করেছে

ধাপ ৬: স্ক্রিপ্ট ব্যবহার করা

সম্পাদনা

config.ini ফাইলটি আপডেট করার পরে, নিচের কমান্ডটির মাধ্যমে স্ক্রিপ্টটি ব্যবহার করা যাবে।

python do_ocr.py

এই কমান্ডটির মাধ্যমে পর্যায়ক্রমে এই কাজগুলো সম্পন্ন হবে।

  • নির্ঘণ্ট:Testocrbengali.djvu বইটি স্বয়ংক্রিয়ভাবে ডাউনলোড হবে।
  • DJVU থেকে PDF ফরম্যাটে রূপান্তর হবে।
  • প্রতিটি পাতা আলাদা আলাদা পিডিএফ হিসাবে তৈরী হবে।
  • ফাইলগুলো গুগল ড্রাইভে আপলোড করা হবে।
  • ওসিআর কাজ সম্পন্ন করার পরে, পুনরায় ফাইলগুলো ডাউনলোড করা হবে।

ডাউনলোড করা টেক্সট ফাইলগুলো উইকিসংকলনে আপলোড করতে নীচের কমান্ড দিন।

python mediawiki_uploader.py

আপলোড সম্পন্ন হলে টার্মিনালে একটি বার্তা দেখানো হবে এবং পুনরায় নির্ঘণ্ট:Testocrbengali.djvu পাতায় আপলোড করা ফাইলগুলো প্রুফরিডের উপয়োগী হিসাবে পাওয়া যাবে।

একসাথে একাধিক ফাইলের ওসিআর করা

সম্পাদনা

তামিল উইকিপিডিয়ান রবিশঙ্কর এই স্ক্রিপ্টকে ফর্ক করে ১.৬২ সংস্করণটি তৈরি করেন। এই স্ক্রিপ্টটি স্বয়ংক্রিয়ভাবে হালনাগাদ হয় এবং এই স্ক্রিপ্টের সাহায্যে একই সঙ্গে অনেকগুলি বইয়ের ওসিআর করা সম্ভব হয়। ইনস্টল ও ব্যবহার করার পদ্ধতি পূর্বের মতোই। এই স্ক্রিপ্টের লিঙ্ক https://github.com/ravidreams/OCR4wikisource

ব্যবহার পদ্ধতি

সম্পাদনা

প্রথমে উপরের নিয়মে (ধাপ ১ - ধাপ ৪) ইনস্টল করা সম্পূর্ণ করুন। এরপর https://github.com/ravidreams/OCR4wikisource জিপ আকারে (সরাসরি ডাউনলোড) ডাউনলোড করুন ও তা একষ্ট্রাক্ট (নিষ্কাশন) করুন, এতে আপনি OCR4wikisource-master নামে একটি ফোল্ডার পাবেন (তাঁর আগে উপরের ধাপ ১ সম্পূর্ণ করার সময় একই নামে ইনস্টল হওয়া OCR4wikisource-master ফোল্ডারটি অপসারণ করুন)। এবার কয়েকটি ভিন্ন নামে ফোল্ডারটির একাধিক অনুলিপি (কপি) করুন (যেমন: OCR4wikisource-master1, OCR4wikisource-master2, OCR4wikisource-master3, .... ইত্যাদি)। এবার অনুলিপি করা প্রতিটি ফোল্ডারের config.ini নিচের নিয়মে পরিবর্তন করতে হবে।

file_url = প্রতিটি ''config.ini''-এর জন্য আলাদা আলাদা PDF বা DJVU ফাইলের URL দিন
columns = 1
wiki_username = আপনার বটের ব্যবহারকারী নাম
wiki_password = বটের পাসওয়ার্ড
wikisource_language_code = bn
keep_temp_folder_in_google_drive = no
edit_summary = বট গুগল ওসিআর ব্যবহার করে লেখা যোগ করেছে
delay = 1 

গুরুতপূর্ণ: প্রতিটি ফোল্ডারের config.ini তে delay = ভিন্ন ভিন্ন দিতে হবে। যেমন: OCR4wikisource-master-এ 0, OCR4wikisource-master1-এ 1, OCR4wikisource-master2-এ 2, OCR4wikisource-master3-এ 4 ইত্যাদি।

এবার আবার নতুন করে প্রতিটি ফোল্ডারের config.ini তে যেয়ে file_url = -এর জন্য আলাদা আলাদা URL বসান (যেসব pdf/djvu ফাইলের ওসিআর করতে চান)। URL বসিয়ে config.ini সংরক্ষণ করার পর সেই ফোল্ডারে থাকা অবস্থায় টার্মিনার চালু করুন ও নিচের কমান্ডটি দিন।

python do_ocr.py

(এভাবে প্রতিটি ফোল্ডারের config.ini তে URL বসিয়ে config.ini সংরক্ষণ করার পর সেই ফোল্ডারেই থাকা অবস্থায় টার্মিনার চালু করতে হবে। যার অর্থ ৪টির ওসিআর করতে চাইলে ৪টি টার্মিনার চালু করতে হবে ও প্রতিবার python do_ocr.py কমান্ড দিতে হবে।)

পুরষ্কার

সম্পাদনা
  • সুন্দর রামস্বামী পুরষ্কার (২০১৭) - টি. শ্রীনিবাসনকে প্রদান করা হয়, পুরষ্কারের অর্থমূল্য ১০০০ কানাডিয়ান ডলার।

আরও দেখুন

সম্পাদনা

প্রয়োজনীয় লিঙ্ক

সম্পাদনা