What is NLP & Why It Matters
মানুষ কিভাবে কথা বলে, machine কিভাবে বোঝে — সেই যাত্রার শুরু।
কল্পনা করুন — আপনি ChatGPT কে বললেন "আজকের আবহাওয়া কেমন?" — সে কিভাবে বুঝলো? কিভাবে reply লিখলো? এই 'বোঝা' আর 'কথা বলা' এর পেছনের পুরো বিজ্ঞানের নাম NLP — Natural Language Processing।
Natural Language Processing (NLP) হলো Artificial Intelligence এর একটি শাখা, যা computer কে মানুষের ভাষা — text এবং speech — বুঝতে, ব্যাখ্যা করতে এবং উৎপন্ন করতে শেখায়। সহজভাবে: মানুষের ভাষা ↔ মেশিনের ভাষা এর সেতু।
Computer শুধু সংখ্যা বোঝে (0 আর 1)। কিন্তু আমরা কথা বলি বাংলায়, English-এ, যেখানে একই word এর অনেক অর্থ থাকতে পারে, ব্যাকরণ জটিল, এবং context সব বদলে দেয়। NLP এর কাজ হলো এই 'fuzzy' মানব ভাষা কে এমন number এ রূপান্তর করা যা machine process করতে পারে — কিন্তু meaning হারিয়ে না যায়।
# Your very first NLP program
# We'll use NLTK — the classic NLP library
import nltk
from nltk.tokenize import word_tokenize, sent_tokenize
# One-time download
nltk.download("punkt", quiet=True)
nltk.download("punkt_tab", quiet=True)
text = "Hello! Welcome to NLP. Let's understand how machines read language."
# Step 1: split into sentences
sentences = sent_tokenize(text)
print("Sentences:", sentences)
# Step 2: split into words (tokens)
tokens = word_tokenize(text)
print("Tokens:", tokens)
# Step 3: simple stats
print("Total sentences:", len(sentences))
print("Total tokens:", len(tokens))
print("Unique tokens:", len(set(tokens)))উপরের code এ আমরা NLTK library import করেছি। sent_tokenize() একটা paragraph কে sentence এ ভাঙে, আর word_tokenize() প্রতিটা sentence কে word/token এ ভাঙে। এটাই NLP এর সবচেয়ে প্রথম এবং fundamental step — text কে structured units এ ভেঙে আনা।
একটা simple Python script লিখুন যেটা user থেকে একটা paragraph নেবে এবং print করবে: মোট sentence সংখ্যা, মোট word সংখ্যা, unique word সংখ্যা, এবং average sentence length (words/sentence)।