मैं प्रत्येक दस्तावेज़ के लिए पाठ दस्तावेज़ों के शब्द वैक्टर में परिवर्तित कर रहा हूँ। मैं एक TfidfVectorizer और एक HashingVectorizer का उपयोग करके यह कोशिश की है
मैं समझता हूं कि अंकों HashingVectorizerको IDFअंकों की तरह ध्यान में नहीं रखा जाता TfidfVectorizerहै। जिस कारण से मैं अभी भी काम कर रहा हूं HashingVectorizerवह एक बड़ा लचीलापन है जो विशाल डेटासेट के साथ काम करता है, जैसा कि यहां और यहां बताया गया है । (मेरे मूल डेटासेट में 30 मिलियन दस्तावेज हैं)
वर्तमान में, मैं 45339 दस्तावेजों के नमूने के साथ काम कर रहा हूं, इसलिए, मेरे पास एक के साथ TfidfVectorizerभी काम करने की क्षमता है । जब मैं समान 45339 दस्तावेजों पर इन दो वेक्टर का उपयोग करता हूं, तो मुझे जो मैट्रीस मिलते हैं, वे अलग-अलग होते हैं।
hashing = HashingVectorizer() with LSM('corpus.db')) as corpus: hashing_matrix = hashing.fit_transform(corpus) print(hashing_matrix.shape)हैशिंग मैट्रिक्स आकार (45339, 1048576)
tfidf = TfidfVectorizer() with LSM('corpus.db')) as corpus: tfidf_matrix = tfidf.fit_transform(corpus) print(tfidf_matrix.shape)tfidf मैट्रिक्स आकार (45339, 663307)
मैं ए HashingVectorizerऔर ए के बीच के अंतर को बेहतर ढंग से समझना चाहता हूं TfidfVectorizer, और यही कारण है कि ये मैट्रिस अलग-अलग आकारों में हैं - विशेष रूप से शब्दों और शब्दों की संख्या में।