🧮 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 में)