Bag of Words और TF-IDF क्या है? - NLP में टेक्स्ट से नंबर

Convert text to numbers

🧮 Bag of Words और TF-IDF क्या है? - NLP में टेक्स्ट को नंबर में बदलना (हिंदी में)

Natural Language Processing (NLP) में जब हम मशीन को टेक्स्ट समझाना चाहते हैं, तब हमें उस टेक्स्ट को numbers या vectors में बदलना होता है। इसके लिए सबसे बेसिक और पॉपुलर techniques हैं - Bag of Words और TF-IDF।

🔹 Bag of Words (BoW) क्या होता है?

BoW एक टेक्नीक है जिसमें किसी टेक्स्ट में कितनी बार कौन-सा शब्द आया है, इसकी count-based matrix बनाई जाती है। इससे मशीन को यह जानकारी मिलती है कि कौन-कौन से शब्द कितनी बार इस्तेमाल हुए हैं।

from sklearn.feature_extraction.text import CountVectorizer
corpus = ["AI बहुत काम का है", "AI भविष्य है"]
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(corpus)
print(vectorizer.get_feature_names_out())
print(X.toarray())

Output: ['ai', 'काम', 'का', 'बहुत', 'भविष्य', 'है'] → [1, 1, 1, 1, 0, 1]

🔸 TF-IDF क्या है?

Term Frequency-Inverse Document Frequency एक ऐसी technique है जो यह तय करती है कि कोई शब्द कितना unique और महत्वपूर्ण है। Rare शब्दों को अधिक weightage दिया जाता है और common शब्दों को कम।

from sklearn.feature_extraction.text import TfidfVectorizer
corpus = ["AI बहुत काम का है", "AI भविष्य है"]
tfidf = TfidfVectorizer()
X = tfidf.fit_transform(corpus)
print(tfidf.get_feature_names_out())
print(X.toarray())

📊 Bag of Words vs TF-IDF तुलना

विशेषता Bag of Words TF-IDF
गणना Frequency Frequency + Rarity
Weighting सभी शब्द बराबर महत्वपूर्ण शब्दों को ज़्यादा वजन
Output Type Count Matrix TF-IDF Matrix

✅ निष्कर्ष

Bag of Words और TF-IDF NLP में बहुत ही जरूरी feature extraction techniques हैं जो किसी भी टेक्स्ट को numerical रूप में बदलकर मशीन को readable बनाती हैं। TF-IDF ज्यादा smart होता है क्योंकि ये शब्द की importance को ध्यान में रखता है।

🚀 अगले ब्लॉग में: Word Embeddings (Hindi में)