বাংলা নাচারাল ল্যাঙ্গুয়েজ প্রসেসিং, টোকেনাইজেশন এবং ভেক্টরাইজেশন
বাংলা নাচারাল ল্যাঙ্গুয়েজ প্রসেসিং
মেশিন লার্নিং বা ডিপ লার্নিং মডেলের যেকোন ভাষাকে বুঝতে হলে তাকে শুরুতে মানুষের মতো হাটি হাটি পা পা করে বুঝতে হয়। আমি এখানে শুরুতে অক্ষরের কথা বলবো না কারণ মেশিন সংখ্যা ছাড়া বোঝেনা। তবে, এর জন্য শুরুতে একটা বড় বাক্যকে ভেঙ্গে ছোট ছোট মিনিংফুল শব্দে ভাগ করে নিতে হয়, যাতে একেকটা শব্দের সাথে আরেকটা শব্দের সম্পর্ক বুঝতে পারে। এই যে বড় বড় বাক্যকে ভেঙ্গে ছোট ছোট মিনিংফুল ইউনিটে ভাগ করাকে আমরা বলছি টোকেনাইজেশন।
যেহেতু মেশিন সংখ্যা ছাড়া বোঝেনা, সেখানে এই ছোট ছোট ইউনিটে ভাগ করা শব্দগুলোকে আমরা পাল্টে ফেলব অঙ্কের সংখ্যাতে। এটাকে আমরা বলছি ভেক্টরাইজেশন।
১. টোকেনাইজেশন
২. ভেক্টরাইজেশন
sentences = ['আমি মাঝে মধ্যেই ফিরে যাই পুরানো কিছু ক্লাসিক বইয়ে', 'বিশেষ করে বেসিক ঝালাই করার জন্য']
import nltk
nltk.download('punkt')
[nltk_data] Downloading package punkt to /root/nltk_data...
[nltk_data] Package punkt is already up-to-date!
True
from sklearn.feature_extraction.text import CountVectorizer
# ট্রান্সফরমেশন তৈরি করি
vectorizer = CountVectorizer()
# টোকেনাইজ এবং ভোকাবুলারি তৈরি করি
vectorizer.fit(sentences)
# সামারি দেখি
vectorizer.vocabulary_