Text Processing Basics
Characters, words, sentences, corpus — text এর atomic units।
একটা বই হাতে নিন। সেটা কী দিয়ে তৈরি? — পৃষ্ঠা। পৃষ্ঠা কী দিয়ে? — অনুচ্ছেদ। অনুচ্ছেদ? — বাক্য। বাক্য? — শব্দ। শব্দ? — অক্ষর। এই 'ভেঙে ভেঙে' দেখার অভ্যাসটাই NLP এর প্রথম superpower।
Text Processing এর Basics মানে হলো — যেকোনো raw text কে এমন কিছু atomic units এ চিনতে পারা যেগুলোর উপর computer কাজ করতে পারে। এই units হলো: Character (অক্ষর), Word (শব্দ), Sentence (বাক্য), Document (পুরো লেখা), এবং Corpus (অনেকগুলো document এর collection)।
ভাবুন আপনি LEGO দিয়ে একটা বাড়ি বানাচ্ছেন। প্রতিটা ছোট block হলো character। কয়েকটা block জোড়া দিয়ে wall হয় — সেটা word। অনেকগুলো wall মিলে room — sentence। অনেক room মিলে বাড়ি — document। আর পুরো একটা শহরের সব বাড়ি — সেটাই corpus। NLP এর সব কাজ শুরু হয় এই hierarchy বোঝা থেকে।
# Understanding text hierarchy with Python
text = """Bangla is a beautiful language. It has rich literature.
Many great writers wrote in Bangla."""
# 1. Characters
chars = list(text)
print("Total characters:", len(chars))
print("Unique characters:", len(set(chars)))
# 2. Words (simple split)
words = text.split()
print("Total words:", len(words))
print("Unique words:", len(set(words)))
# 3. Sentences (split by period)
sentences = [s.strip() for s in text.replace("\n", " ").split(".") if s.strip()]
print("Total sentences:", len(sentences))
# 4. A tiny corpus = list of documents
corpus = [
"I love NLP.",
"NLP powers ChatGPT.",
"Bangla NLP is growing fast.",
]
print("Documents in corpus:", len(corpus))
print("Total words in corpus:", sum(len(doc.split()) for doc in corpus))এই code এ আমরা একটা text কে ৪টা level এ দেখলাম — character, word, sentence, এবং corpus। লক্ষ্য করুন — split() একটা naive technique, এটা শুধু space দিয়ে ভাঙে। বাস্তবে আমাদের আরও smart tokenizer লাগবে (পরের chapter এ দেখব)। কিন্তু এই hierarchy টা মনে রাখা সবচেয়ে জরুরি।
একটা Python script লিখুন যেটা যেকোনো .txt file পড়বে এবং report দিবে: total characters, total words, total sentences, average word length, longest word, এবং top-৫ most frequent words। নিজের লেখা যেকোনো text বা Wikipedia article দিয়ে test করুন।